<?php
//////////////////////////////////////////////////////////////////////////////////////////////
// //
// ---------- WAP-engine ---------- //
// //
// Автор : CHUMA //
// e-mail : [email protected] //
// Site : http:// //
// WAP : http:// //
// ICQ : 111-75-74 //
// //
//////////////////////////////////////////////////////////////////////////////////////////////
// ВЫ НЕ ИМЕЕТЕ ПРАВО ИЗМЕНЯТЬ КОД СКРИПТА ДЛЯ ДАЛЬНЕЙШЕГО РАСПРОСТРАНЕНИЯ //
//////////////////////////////////////////////////////////////////////////////////////////////
Error_Reporting(E_ALL & ~E_NOTICE);
Error_Reporting (ERROR | WARNING);
extract($HTTP_GET_VARS);
extract($HTTP_POST_VARS);
extract($HTTP_COOKIE_VARS);
extract($HTTP_SERVER_VARS);
extract($HTTP_SESSION_VARS);
session_name('SESID');
session_start();
require ('../../config.php'); //Подключаем настройки сайта. (config.php)
require ('../../themes/'.$themes.'.php'); //Вставляем скин сайта.
echo "<center>Новости</center>";
$num_sep = 10; // кол-во записей на страницу
$file_data = '../../data/news.txt';
// Функция вывода навигации по страницам //
function nav_page(
$count, // Общее кол-во страниц
$num_page, // Номер текущей страницы
$url // Какой URL для ссылки на страницу (к нему добавляется номер страницы)
) {
$page_nav = 1; // сколько страниц выводить одновременно
$begin_loop = 1; // начальное значение в цикле
$end_loop=$count; // конечное значение в цикле
echo '<div align="center">Страниц ('.$count.'):';
if ($num_page > $count or $num_page < 1) $num_page = 1; // Проверка на корректность номера текущей страницы
// Далее в функции идёт сам вывод навигации, получено здесь всё опытным путём
if ($num_page>$page_nav) {
echo "<a href=\"$url".($page_nav*(floor($num_page/$page_nav)-($num_page%$page_nav==0 ? 1: 0)))."\">назад</a>";
$begin_loop=$page_nav*(floor($num_page/$page_nav)-($num_page%$page_nav==0 ? 1: 0))+1;
}
echo " | ";
if ($count>$page_nav*(floor($num_page/$page_nav)-($num_page%$page_nav==0 ? 1: 0)+1)) {
echo "<a href=\"$url".($page_nav*ceil($num_page/$page_nav) + 1)."\">дальше</a>";
}
echo "</div>\n";
}
$f = file($file_data); // заносим строки файла с новостями в массив
$count = count($f); // кол-во новостей
// если кол-во новостей больше чем мы должны выводить на страницу, то выводим навигацию по страницам
if ($count>$num_sep) nav_page(ceil($count/$num_sep),(isset($HTTP_GET_VARS['page']) ? $HTTP_GET_VARS['page']: 1),"news.php?page=");
// Здесь ищем номер страницы которую надо вывести (передаётся через URL page=...)
$num_page=1;
if (isset($HTTP_GET_VARS['page'])) {
if (($HTTP_GET_VARS['page']>0) and ($HTTP_GET_VARS['page']<=ceil($count/$num_sep))) $num_page=$HTTP_GET_VARS['page'];
}
// В зависимости от страницы выводим нужные новости
for ( $i=($num_page-1)*$num_sep; $i<=(($num_page*$num_sep<$count) ? $num_page*$num_sep-1: $count-1); $i++) {
list($date,$news)=split(" ",$f[$i],2);
echo '<div class=b><i>Дата: '.$date.'<br>Новость:</i> '.$news.'<br></div>';
} // for
// если кол-во новостей больше чем мы должны выводить на страницу, то выводим навигацию по страницам
if ($count>$num_sep) nav_page(ceil($count/$num_sep),(isset($HTTP_GET_VARS['page']) ? $HTTP_GET_VARS['page']: 1),"news.php?page=");
echo '<hr>Всего новостей: <b>'.$count.'</b>';
require ('../../templates/foot.php'); //Вставляем низ сайта. (templates/foot.php)
?>