View file modules/news/news.php

File size: 4.29Kb
<?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)
?>