$count_rows = count_news(); //общее кол-во новостей $pages_count = ceil($count_rows / $perpage); //кол-во страниц, частное от деления. ceil -округляет if (!$pages_count) { $pages_count = 1; } //проверяем чтоб общее кол-во страниц не было < 1, еслипользователь введет несуществующую категорию. //минимум 1 страница должна быть if ($page > $pages_count) { $page = $pages_count; } //если пользователь в адресную строку введет число большее чем реальное кол-во страниц $start_position = ($page - 1) * $perpage; //начальная позиция вывода товара (для запроса) $all_news = get_all_news($start_position, $perpage); break; case 'informer': //текстинформера ссылки $informer_id = abs((int) $_GET['informer_id']); $text_informer = get_text_informer($informer_id); break; case 'cat': // товары $category = abs((int) $_GET['category']); //получаем из адресной строки /* параметры для сортировки */ //массив параметров сортировки //ключи - то, что передаем GET-параметром //значения - то что показ пользователю, и часть SQL запроса, который передаем в модель $order_p = array('pricea' => array('от дешевых к дорогим', 'price ASC'), 'priced' => array('от дорогих к дешевым', 'price DESC'), 'datea' => array('по дате - с первых', 'date ASC'), 'dated' => array('последние добавленные', 'date DESC'), 'namea' => array('от А до Я', 'name ASC'), 'named' => array('от Я до А', 'name DESC'));
} ?> </optgroup> </select> <label>Select with option filtering</label> </div> <?php break; //case of files case '4': ?> <div class="form-group"> <select class="form-control select2-list" data-placeholder="Select an item"> <optgroup label="Active new articles"> <?php foreach(get_all_news() as $row){ ?> <option value="<?=$row['id']?>"><?=$row['title']?></option> <?php } ?> </optgroup> </select> <label>Select with option filtering</label> </div> <?php break; //case of events case '5': ?> <div class="form-group">
function url_action_news($tools, $get, $post) { if (!$tools->logged_in()) { $tools->page_not_found(); } $pd = array(); $feed_id = 0; $dsp_page = 'news'; $news_title = false; $url = false; $title = false; $news_limit = 10; $added = false; $format = false; $limit = 10; $pd['filter_opts'] = array('None', 'Filtered HTML', 'Text Only'); $feeds = $tools->get_setting('news_feeds'); $feed_filter = $tools->get_setting('feed_filter'); $feed_ttl = $tools->get_setting('feed_ttl'); if (isset($get['manage_news'])) { $dsp_page = 'manage'; if (isset($post['add_feed']) || isset($post['update_feed'])) { if (isset($post['feed_url'])) { $url = trim($post['feed_url']); } if (isset($post['feed_title'])) { $title = trim($post['feed_title']); } if (isset($post['feed_limit'])) { $limit = (int) $post['feed_limit']; } if (isset($post['feed_type']) && in_array($post['feed_type'], array('rss', 'atom'))) { $format = $post['feed_type']; } if ($url && $title && $limit && $format) { /* check feed here */ $news_check = get_feed($tools, $url, $format, $limit, 0, $feed_ttl); if (count($news_check) > 1) { $vals = array($title, $url, $limit, $format); $cache = hm_new('cache'); if (isset($post['update_feed'])) { if (isset($post['feed_id']) && isset($feeds[$post['feed_id']])) { $feeds[$post['feed_id']] = $vals; $tools->save_setting('news_feeds', $feeds); $tools->send_notice('News Source Updated'); $cache->save_feed($feed_id, $news_check); } } else { $feeds[] = $vals; $cache->save_feed(count($feeds) - 1, $news_check); $tools->save_setting('news_feeds', $feeds); $tools->send_notice('News Source Added'); $title = ''; $added = true; $url = ''; $limit = 10; $format = 'rss'; } } else { $tools->send_notice('Could not get news from that Feed URL'); } } else { $tools->send_notice('All fields are required'); } } elseif (isset($post['update_news_options'])) { if (isset($post['feed_ttl'])) { $feed_ttl = (int) $post['feed_ttl']; } else { $feed_ttl = 300; } if (isset($post['feed_filter'])) { $feed_filter = (int) $post['feed_filter']; } else { $feed_filter = 1; } $tools->save_setting('feed_filter', $feed_filter); $tools->save_setting('feed_ttl', $feed_ttl); $tools->send_notice('News Options Updated'); } elseif (isset($post['delete_feed'])) { if (isset($get['feed'])) { if (isset($feeds[$get['feed']])) { unset($feeds[$get['feed']]); $tools->save_setting('news_feeds', $feeds); unset($get['feed']); $tools->send_notice('Source Deleted'); } } } if (isset($get['feed']) && !$added) { if (isset($feeds[$get['feed']])) { $dsp_page = 'edit'; $url = $feeds[$get['feed']][1]; $title = $feeds[$get['feed']][0]; $limit = $feeds[$get['feed']][2]; $format = $feeds[$get['feed']][3]; $feed_id = $get['feed']; } } } else { if (isset($get['feed'])) { if ($get['feed'] == -1) { $news_title = 'All News'; $format = 'rss'; $pd['news'] = get_all_news($feeds, $tools, $feed_ttl); $news_limit = 50; $feed_id = -1; } elseif (isset($feeds[$get['feed']])) { $news_title = $feeds[$get['feed']][0]; $format = $feeds[$get['feed']][3]; $feed_id = $get['feed']; $pd['news'] = get_feed($tools, $feeds[$get['feed']][1], $feeds[$get['feed']][3], $feeds[$get['feed']][2], $feed_id, $feed_ttl); } } } $pd['feeds'] = $feeds; $pd['news_title'] = $news_title; $pd['news_limit'] = $news_limit; $pd['dsp_page'] = $dsp_page; $pd['limit'] = $limit; $pd['url'] = $url; $pd['feed_filter'] = $feed_filter; $pd['feed_ttl'] = $feed_ttl; $pd['feed_id'] = $feed_id; $pd['title'] = $title; $pd['format'] = $format; $tools->set_title('News'); return $pd; }
} $count_rows = count_news(); // общее кол-во новостей $pages_count = ceil($count_rows / PERPAGE_NEW); // кол-во страниц if (!$pages_count) { $pages_count = 1; } // минимум 1 страница if ($page > $pages_count) { $page = $pages_count; } // если запрошенная страница больше максимума $start_pos = ($page - 1) * PERPAGE_NEW; // начальная позиция для запроса $all_news = get_all_news($start_pos, PERPAGE_NEW); break; case 'add_news': if ($_POST) { if (add_news()) { header("Location: ?view=news"); } else { redirect(); } } break; case 'edit_news': $news_id = (int) $_GET['news_id']; $get_news = get_news($news_id); if ($_POST) { if (edit_news($news_id)) {
} else { $page = 1; } $count_rows = count_news(); // общее кол-во новостей $pages_count = ceil($count_rows / $perpage); // кол-во страниц if (!$pages_count) { $pages_count = 1; } // минимум 1 страница if ($page > $pages_count) { $page = $pages_count; } // если запрошенная страница больше максимума $start_pos = ($page - 1) * $perpage; // начальная позиция для запроса $all_news = get_all_news($start_pos, $perpage); break; case 'informer': // текст информера $informer_id = abs((int) $_GET['informer_id']); $text_informer = get_text_informer($informer_id); break; default: // если из адресной строки получено имя несуществующего вида $view = 'hits'; $eyestoppers = eyestopper('hits'); } // подключени вида require_once TEMPLATE . 'index.php';
break; case 'on': $order_by = 'date'; break; case 'stt': $order_by = 'status'; break; default: $order_by = 'news_id'; break; } // END Switch } else { $order_by = 'news_id'; } $result = get_all_news($order_by); if (mysqli_num_rows($result) > 0) { while ($news = mysqli_fetch_array($result, MYSQLI_ASSOC)) { if ($news['status'] == 0) { $active = "<a class='btn-action fa fa-remove' href='#' style='text-decoration: none' onClick='change_status_news({$news['news_id']},{$news['status']})'></a>"; } else { $active = "<a class='btn-action fa fa-check' href='#' style='text-decoration: none' onClick='change_status_news({$news['news_id']},{$news['status']})' ></a>"; } ?> <tr> <td style='text-align:right' ><?php echo $news['news_id']; ?> </td> <td style='text-align:left'><?php echo $news['type_name'];