View file modules/news/news.php

File size: 4.16Kb
<?php
##############################
##	     WAP-ENGINE 	    ##
##############################
##						    ##
## Автор : CHUMA			##
## e-mail : [email protected]		##
## WAP : http://wapeng.info ##
## ICQ : 13-14-11			##
##                        	##
##############################
##  ВЫ НЕ ИМЕЕТЕ ПРАВО      ##
##  ИЗМЕНЯТЬ КОД СКРИПТА    ##
##  ДЛЯ ДАЛЬНЕЙШЕГО         ##
##  РАСПРОСТРАНЕНИЯ         ##
##############################
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 = $kolnews; // кол-во записей на страницу
$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 />[<a href="adminkom.php?act=newsdel&str='.$i.'">удалить новость</a>]<hr />';
echo "<a href=\"kom.php?id=$date\">Коментарии</a></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 />Всего новостей: '.$count.'';

require ('../../templates/foot.php'); //Вставляем низ сайта. (templates/foot.php)
?>