include_once('../admin/config.inc.php');
$add = '';
if(!isset($id)) $id = '';
if(!isset($page) || !ereg("^[0-9]+$", $page)) $page = 1;
if(!isset($type) || !ereg("^[0-9]$", $type)) $type = 20;
if(!isset($datefinish)) $datefinish='';
if(!isset($datestart)) $datestart='';
if(!isset($search) || ereg("'", $search)) $search='';
if(!isset($_SESSION['NewsPerPage'])) $_SESSION['NewsPerPage'] = 20;
if($id && !ereg("^[0-9]+$", $id)) {
include($_SERVER['DOCUMENT_ROOT'].'/templates/error_not_found.php');
exit();
}
// patch
error_reporting(0);
if ($_GET['lang'] != $_SESSION['prev_lang']) {
$page = 1;
$_SESSION['prev_lang'] = $_GET['lang'];
}
// }]]
// Show one news
if($id) {
$query = "SELECT `News`.`ID`, `News`.`Title".LANGF."`, `News`.`FullText".LANGF."`, `News`.`DateTS`, `News`.`AuthorID`, `News`.`TypeNews`, `News`.`TypeID`, `News`.`File`, `News`.`Show`, `News`.`Hidden`, `vb_userfield`.`".UF_NAME."` FROM `News` LEFT JOIN `vb_userfield` ON `vb_userfield`.`userid`=`News`.`AuthorID` WHERE `News`.`ID`=$id AND `Title".LANGF."`!='' ";
$main=$db->select($query);
if(!$main[0] || !$main['Show']) {
include($_SERVER['DOCUMENT_ROOT'].'/templates/error_not_found.php');
exit();
}
if($main['Hidden'] && !$db->return_access_group(10)) {
include($_SERVER['DOCUMENT_ROOT'].'/templates/hidden_zone.php');
exit();
}
} else {
// News list
if($db->return_access_group(array(0,6,9))) {
//echo "";
$g_add_navigation = '
| | ' .
l('Добавить новость', '/cms/news.php?action=edit&new=true&lang='.LANG.'&type='.$type) .
' | | | ' .
l('Все новости', '/cms/news.php?action=show') . ' | ';
}
if(!isset($perpage)) $perpage = '';
if(ereg("^[0-9]+$", $perpage)) {
$_SESSION['NewsPerPage']=$perpage;
$limit=$perpage;
} elseif($_SESSION['NewsPerPage']) {
$limit=$_SESSION['NewsPerPage'];
} else {
$_SESSION['NewsPerPage']=20;
$limit=20;
}
$perpage = $limit;
if($search) {
$add=" AND (`Title".LANGF."` LIKE '%$search%' OR `ShortText".LANGF."` LIKE '%$search%' OR `FullText".LANGF."` LIKE '%$search%') ";
}
if(ereg("^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{4})$", $datestart, $tmp)) {
$add.=" AND `DateTS` > ".mktime(0, 0, 0, $tmp[2], $tmp[1]-1, $tmp[3]);
} else $datestart='';
if(ereg("^([0-9]{1,2})\.([0-9]{1,2}).([0-9]{4})$", $datefinish, $tmp)) {
$add.=" AND `DateTS` < ".mktime(0, 0, 0, $tmp[2], $tmp[1], $tmp[3]);
} else $datefinish='';
if(ereg("^[0-9]$", $type)) $add.=" AND `TypeNews`=$type"; else $type=20;
$page_li = ($add ? "/-/" : "/".LANG."/news/page/-/.htm");
if(!$db->return_access_group(10)) $add.=" AND `Hidden`='0'";
$query = "SELECT COUNT(`ID`) FROM `News` WHERE `Show`='1' AND `Title".LANGF."`!='' $add";
$count = $db->select($query);
$query = "SELECT `ID`, `DateTS`, `Title".LANGF."`, `ShortText".LANGF."`, `TypeNews`, `File` FROM `News` WHERE `Show`='1' AND `Title".LANGF."`!='' $add ORDER BY `DateTS` DESC LIMIT ".(($page-1)*$limit).','.$limit;
$db->query($query);
$news_list = array();
if ($db->num_rows())
while($tmp=$db->row())
$news_list[] = $tmp;
// $db->query(preg_replace("/LIMIT.*/", "", $query));
// $_SESSION['total_news'] = $db->num_rows();
}
/* CONTENT OUTPUT */
if(!function_exists('get_page_title_html')) {
function get_page_title_html() {
global $id, $main;
return ($id ? $main[1] : t('Новости и объявления'));
}
}
if(!function_exists('get_content_html')) {
function get_content_html() {
global $db, $id, $search, $datestart, $datefinish, $typeNews, $page, $perpage, $limit, $add, $type, $count, $main, $news_list;
// Show news list
if(!$id) {
?>