111 lines
4.3 KiB
PHP
111 lines
4.3 KiB
PHP
<?
|
|
if(!defined('DATALIFEENGINE')){die("Hacking attempt!");}
|
|
|
|
$word = 40;
|
|
$limit = $config['newslist_num'];
|
|
|
|
if (isset ( $_SESSION['dle_sort_newslist'] )) $news_sort_by = $_SESSION['dle_sort_newslist']; else $news_sort_by = $config['news_sort'];
|
|
if (isset ( $_SESSION['dle_direction_newslist'] )) $news_direction_by = $_SESSION['dle_direction_newslist']; else $news_direction_by = $config['news_msort'];
|
|
|
|
if (isset ( $_REQUEST['category'] )) {
|
|
if (substr ( $_GET['category'], - 1, 1 ) == '/') $_GET['category'] = substr ( $_GET['category'], 0, - 1 );
|
|
$category = explode ( '/', $_GET['category'] );
|
|
$category = end ( $category );
|
|
$category = $db->safesql ( strip_tags ( $category ) );
|
|
$link_cat = $category ."/";
|
|
} else $category = '';
|
|
|
|
$news_query = "WHERE approve='1' AND allow_main = '1'";
|
|
$cat_news_number = "WHERE approve='1' AND allow_main = '1'";
|
|
|
|
if($category){$cat_name = "WHERE alt_name='".$category."'";}
|
|
|
|
$result_category = $db->query("SELECT name,alt_name,id,descr,keywords FROM ".PREFIX."_category $cat_name");
|
|
$name_category = $db->get_row($result_category);
|
|
|
|
$meta_description = stripslashes($name_category['descr']);
|
|
$meta_keywords = stripslashes($name_category['keywords']);
|
|
|
|
if($category){
|
|
$cat = get_sub_cats( $name_category['id'] );
|
|
$cat_news_number = "WHERE `category` regexp '[[:<:]]({$cat})[[:>:]]' AND approve='1'";
|
|
$news_query = "WHERE `category` regexp '[[:<:]]({$cat})[[:>:]]' AND approve='1'";
|
|
}
|
|
|
|
/* Äåëàåì çàïðîñ íà ïîäñ÷¸ò êîëè÷åñòâà íîâîñòåé */
|
|
$sql_page = "SELECT COUNT(*) as count FROM " . PREFIX . "_post $cat_news_number ORDER BY $news_sort_by $news_direction_by";
|
|
$temp = $db->super_query($sql_page);
|
|
$posts = $temp['count'];
|
|
|
|
if($posts > 0){
|
|
$page = intval( $_REQUEST['page'] );
|
|
$total = intval( ( ( $posts - 1 ) / $limit ) + 1 );
|
|
if( $page <= 0 ) $page = 1;
|
|
if( $page > $total ) $page = $total;
|
|
$start = $page * $limit - $limit;
|
|
$i = $start;
|
|
|
|
$result = $db->query("SELECT id,autor,title,category,alt_name,date,comm_num,rating,news_read FROM ".PREFIX."_post $news_query ORDER BY $news_sort_by $news_direction_by LIMIT " . $start . "," . $limit);
|
|
$tpl->load_template('newslist/newslist.tpl');
|
|
|
|
while($row = $db->get_row($result)){
|
|
$i++;
|
|
|
|
if (strlen($row['title']) > $word) $title = stripcslashes(substr ($row['title'], 0, $word))." ..."; else $title = stripcslashes($row['title']);
|
|
$date_news = strtotime($row['date']);
|
|
$link = $config['http_home_url'].$row['id']."-".$row['alt_name'].".html";
|
|
|
|
$date = date("d.m.Y",strtotime($row['date']));
|
|
$tpl->set("{date}", $date);
|
|
|
|
$tpl->set('{spoiler}',"<img style=\"cursor: pointer;\" src=\"/templates/{$config['skin']}/images/newslist_plus.gif\" onclick=\"newslist('".$row['id']."', 'plus'); return false;\" align=\"absmiddle\" border=\"0\" title=\"Ïîêàçàòü êðàòêîå ñîäåðæàíèå ñòàòüè\"></div>");
|
|
$tpl->set('{story}','');
|
|
|
|
$metatags['titles'] = "Âñå íîâîñòè » ".$name_category['name'];
|
|
|
|
$tpl->copy_template = "<div id=\"news-id-".$row['id']."\">".$tpl->copy_template."</div>";
|
|
$tpl->set_block("'\\[ajax\\](.*?)\\[/ajax\\]'si","");
|
|
$tpl->set("[not-ajax]", "");
|
|
$tpl->set("[/not-ajax]", "");
|
|
|
|
$set = array(
|
|
'{link}' => $link,
|
|
'{rating}' => $row['rating'],
|
|
'{title}' => $title,
|
|
'{coments}' => $row['comm_num'],
|
|
'{prosmotr}' => $row['news_read'],
|
|
'{author}' => "<a href=\"/user/".$row['autor']."/\">".stripcslashes($row['autor'])."</a>",
|
|
'{id}' => $row['id'],
|
|
);
|
|
|
|
$tpl->set('', $set);
|
|
$tpl->compile('fileslist');
|
|
}
|
|
$list = $tpl->result['fileslist'];
|
|
$tpl->load_template('newslist/main.tpl');
|
|
$tpl->set('{list}', $list);
|
|
$tpl->set('[newslist]','');
|
|
$tpl->set('[/newslist]','');
|
|
|
|
$tpl->set ( '{sort}', news_sort ( $do ) );
|
|
$tpl->set('{description}', "Ïðîñìîòð êàòåãîðèè: ".$name_category['name']);
|
|
|
|
/* Óêàçûâàåì ÷òî âñ¸ ýòî íóæíî ãðóçèòü â òåã {content} â main.tpl */
|
|
$tpl->set_block("'\[allcat\](.*?)\[/allcat\]'si","");
|
|
$tpl->compile('content');
|
|
$tpl->clear();
|
|
|
|
$nav = "/newslist/".$link_cat."page/{page}/";
|
|
CreateNavigation( $nav, $page, $total );
|
|
|
|
$db->free();
|
|
}else{
|
|
$tpl->load_template('info.tpl');
|
|
$metatags['titles'] = "Âñå íîâîñòè » Êàòåãîðèÿ ïóñòà";
|
|
$tpl->set('{error}', "Ê ñîæàëåíèþ ýòà êàòåãîðèÿ åù¸ íå èìååò íè îäíó ñòàòüþ, ïîïðîáóéòå çàéòè ïîçæå.");
|
|
$tpl->set('{title}', "Êàòåãîðèÿ ïóñòà");
|
|
$tpl->compile('content');
|
|
$tpl->clear();
|
|
}
|
|
?>
|