:]]' AND "; } else {$stop_list = "category IN ('" . implode ( "','", $allow_list ) . "') AND ";} } else $stop_list = ""; if ($user_group[$member_id['user_group']]['allow_short']) $stop_list = ""; $sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, title, category, alt_name, comm_num, allow_comm, allow_main, allow_rate, fixed, rating, news_read, remote_addr, tags FROM " . PREFIX . "_post WHERE {$stop_list}approve AND allow_main" . $where_date . " ORDER BY " . $fixed . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number']; $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE {$stop_list}approve AND allow_main" . $where_date; $sql_news = ""; // ################ Вывод отдельной категории ################# if ($do == "cat" and $category != '' and $subaction == '') { $newsmodule = true; if (! $category_id) $category_id = 'not detected'; if ($allow_list[0] != "all") {if (! $user_group[$member_id['user_group']]['allow_short'] and ! in_array ( $category_id, $allow_list )) $category_id = 'not detected';} $get_cats = get_sub_cats ( $category_id ); if ($cat_info[$category_id]['news_sort'] != "") $news_sort_by = $cat_info[$category_id]['news_sort']; if ($cat_info[$category_id]['news_msort'] != "") $news_direction_by = $cat_info[$category_id]['news_msort']; if ($cat_info[$category_id]['news_number']) $config['news_number'] = $cat_info[$category_id]['news_number']; if ($cstart) { $cstart = $cstart - 1; $cstart = $cstart * $config['news_number']; } $url_page = $config['http_home_url'] . get_url ( $category_id ); $user_query = "do=cat&category=" . $cat_info[$category_id]['alt_name']; if ($config['allow_multi_category']) {$where_category = "category regexp '[[:<:]](" . $get_cats . ")[[:>:]]'"; } else { $get_cats = str_replace ( "|", "','", $get_cats ); $where_category = "category IN ('" . $get_cats . "')"; } if (isset ( $_SESSION['dle_sort_cat'] )) $news_sort_by = $_SESSION['dle_sort_cat']; if (isset ( $_SESSION['dle_direction_cat'] )) $news_direction_by = $_SESSION['dle_direction_cat']; $sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, title, category, alt_name, comm_num, allow_comm, allow_main, allow_rate, fixed, rating, news_read, remote_addr, tags FROM " . PREFIX . "_post WHERE {$where_category} AND approve" . $where_date . " ORDER BY " . $fixed . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number']; $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE {$where_category} AND approve" . $where_date; } elseif ($do == 'lastnews') { // ################ Вывод всех последних новостей ################# if ($cstart) { $cstart = $cstart - 1; $cstart = $cstart * $config['news_number']; } $newsmodule = true; $url_page = $config['http_home_url'] . "lastnews"; $user_query = "do=lastnews"; if (isset ( $_SESSION['dle_sort_lastnews'] )) $news_sort_by = $_SESSION['dle_sort_lastnews']; else $news_sort_by = "date"; if (isset ( $_SESSION['dle_direction_lastnews'] )) $news_direction_by = $_SESSION['dle_direction_lastnews']; else $news_direction_by = "DESC"; $sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, title, category, alt_name, comm_num, allow_comm, allow_main, allow_rate, rating, news_read, approve, remote_addr, tags FROM " . PREFIX . "_post where {$stop_list}approve" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number']; $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post where {$stop_list}approve" . $where_date; } elseif ($do == 'tags') { // ################ Поиск новостей по тегу ################# if ($cstart) { $cstart = $cstart - 1; $cstart = $cstart * $config['news_number']; } $newsmodule = true; $tag = $db->safesql ( htmlspecialchars ( strip_tags ( stripslashes ( trim ( urldecode ( $_GET['tag'] ) ) ) ), ENT_QUOTES ) ); $url_page = $config['http_home_url'] . "tags/" . urlencode ( $tag ); $user_query = "do=tags&tag=" . urlencode ( $tag ); if (isset ( $_SESSION['dle_sort_tags'] )) $news_sort_by = $_SESSION['dle_sort_tags']; if (isset ( $_SESSION['dle_direction_tags'] )) $news_direction_by = $_SESSION['dle_direction_tags']; $db->query ( "SELECT news_id FROM " . PREFIX . "_tags WHERE tag='{$tag}'" ); $tag_array = array (); while ( $row = $db->get_row () ) {$tag_array[] = $row['news_id'];} if (count ( $tag_array )) {$tag_array = "(" . implode ( ",", $tag_array ) . ")"; } else {$tag_array = "('undefined')";} $db->free (); $sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, title, category, alt_name, comm_num, allow_comm, allow_main, allow_rate, rating, news_read, approve, remote_addr, tags FROM " . PREFIX . "_post where {$stop_list}id IN {$tag_array} AND approve" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number']; $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post where {$stop_list}id IN {$tag_array} AND approve" . $where_date; $allow_active_news = true; $tag_array = array (); unset ( $tag_array ); } elseif ($subaction == 'userinfo') { // ################ Вывод профиля пользователя ################# if ($cstart) { $cstart = $cstart - 1; $cstart = $cstart * $config['news_number']; } $url_page = $config['http_home_url'] . "user/" . urlencode ( $user ); $user_query = "subaction=userinfo&user=" . urlencode ( $user ); if ($member_id['name'] == $user or $user_group[$member_id['user_group']]['allow_all_edit']) { if (isset ( $_SESSION['dle_sort_userinfo'] )) $news_sort_by = $_SESSION['dle_sort_userinfo']; if (isset ( $_SESSION['dle_direction_userinfo'] )) $news_direction_by = $_SESSION['dle_direction_userinfo']; $sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, title, category, alt_name, comm_num, allow_comm, allow_main, allow_rate, approve, fixed, rating, news_read, remote_addr, tags FROM " . PREFIX . "_post WHERE autor = '$user' AND approve = '0' ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number']; $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE autor = '$user' AND approve = '0'"; $allow_active_news = false; } else {$allow_active_news = false;} $cache->off(); } elseif ($subaction == 'allnews') { // ################ Вывод всех новостей пользователя ################# if ($cstart) { $cstart = $cstart - 1; $cstart = $cstart * $config['news_number']; } $newsmodule = true; $url_page = $config['http_home_url'] . "user/" . urlencode ( $user ) . "/news"; $user_query = "subaction=allnews&user=" . urlencode ( $user ); if (isset ( $_SESSION['dle_sort_allnews'] )) $news_sort_by = $_SESSION['dle_sort_allnews']; if (isset ( $_SESSION['dle_direction_allnews'] )) $news_direction_by = $_SESSION['dle_direction_allnews']; $sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, title, category, alt_name, comm_num, allow_comm, allow_main, allow_rate, rating, news_read, approve, remote_addr, tags FROM " . PREFIX . "_post where {$stop_list}autor = '$user' AND approve" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number']; $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post where {$stop_list}autor = '$user' AND approve" . $where_date; $allow_active_news = true; //$config['allow_cache'] = false; } elseif ($subaction == 'newposts') { // ################ Вывод непрочитанных новостей ################# if ($cstart) { $cstart = $cstart - 1; $cstart = $cstart * $config['news_number']; } $newsmodule = true; $url_page = $config['http_home_url'] . "newposts"; $user_query = "subaction=newposts"; $thistime = date ( "Y-m-d H:i:s", $_TIME ); if (isset ( $_SESSION['member_lasttime'] )) {$lasttime = date ( "Y-m-d H:i:s", $_SESSION['member_lasttime'] ); } else {$lasttime = date ( "Y-m-d H:i:s", (time () + ($config['date_adjust'] * 60) - (3600 * 4)) );} if (isset ( $_SESSION['dle_sort_newposts'] )) $news_sort_by = $_SESSION['dle_sort_newposts']; if (isset ( $_SESSION['dle_direction_newposts'] )) $news_direction_by = $_SESSION['dle_direction_newposts']; $sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, title, category, alt_name, comm_num, allow_comm, allow_main, allow_rate, rating, news_read, remote_addr, tags FROM " . PREFIX . "_post where {$stop_list}approve AND date between '$lasttime' and '$thistime' order by " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number']; $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post where {$stop_list}approve AND date between '$lasttime' and '$thistime'"; $cache->off(); } else { // ################ Новости на главной ################# if ($year == '' and $month == '' and $day == '') { if ($cstart) { $cstart = $cstart - 1; $cstart = $cstart * $config['news_number']; } $url_page = substr ( $config['http_home_url'], 0, strlen ( $config['http_home_url'] ) - 1 ); $user_query = ""; if (isset ( $_SESSION['dle_sort_main'] )) $news_sort_by = $_SESSION['dle_sort_main']; if (isset ( $_SESSION['dle_direction_main'] )) $news_direction_by = $_SESSION['dle_direction_main']; $sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, title, category, alt_name, comm_num, allow_comm, allow_main, allow_rate, fixed, rating, news_read, remote_addr, tags FROM " . PREFIX . "_post WHERE {$stop_list}approve AND allow_main" . $where_date . " ORDER BY " . $fixed . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number']; $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE {$stop_list}approve AND allow_main" . $where_date; } // ################ Новости за год ################# if ($year != '' and $month == '' and $day == '') { if ($cstart) { $cstart = $cstart - 1; $cstart = $cstart * $config['news_number']; } $newsmodule = true; $url_page = $config['http_home_url'] . $year; $user_query = "year=" . $year; if (isset ( $_SESSION['dle_sort_date'] )) $news_sort_by = $_SESSION['dle_sort_date']; if (isset ( $_SESSION['dle_direction_date'] )) $news_direction_by = $_SESSION['dle_direction_date']; $sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, title, category, alt_name, comm_num, allow_comm, allow_main, allow_rate, rating, news_read, remote_addr, tags FROM " . PREFIX . "_post where {$stop_list}date >= '{$year}-01-01'AND date < '{$year}-01-01' + INTERVAL 1 YEAR AND approve" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number']; $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post where {$stop_list}date >= '{$year}-01-01'AND date < '{$year}-01-01' + INTERVAL 1 YEAR AND approve" . $where_date; } // ################ Новости за месяц ################# if ($year != '' and $month != '' and $day == '') { if ($cstart) { $cstart = $cstart - 1; $cstart = $cstart * $config['news_number']; } $newsmodule = true; $url_page = $config['http_home_url'] . $year . "/" . $month; $user_query = "year=" . $year . "&month=" . $month; if (isset ( $_SESSION['dle_sort_date'] )) $news_sort_by = $_SESSION['dle_sort_date']; if (isset ( $_SESSION['dle_direction_date'] )) $news_direction_by = $_SESSION['dle_direction_date']; $sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, title, category, alt_name, comm_num, allow_comm, allow_main, allow_rate, rating, news_read, remote_addr, tags FROM " . PREFIX . "_post where {$stop_list}date >= '{$year}-{$month}-01'AND date < '{$year}-{$month}-01' + INTERVAL 1 MONTH AND approve" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number']; $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post where {$stop_list}date >= '{$year}-{$month}-01'AND date < '{$year}-{$month}-01' + INTERVAL 1 MONTH AND approve" . $where_date; } // ################ Новости за день ################# if ($year != '' and $month != '' and $day != '' and $subaction == '') { if ($cstart) { $cstart = $cstart - 1; $cstart = $cstart * $config['news_number']; } $newsmodule = true; $url_page = $config['http_home_url'] . $year . "/" . $month . "/" . $day; $user_query = "year=" . $year . "&month=" . $month . "&day=" . $day; if (isset ( $_SESSION['dle_sort_date'] )) $news_sort_by = $_SESSION['dle_sort_date']; if (isset ( $_SESSION['dle_direction_date'] )) $news_direction_by = $_SESSION['dle_direction_date']; $sql_select = "SELECT id, autor, date, short_story, SUBSTRING(full_story, 1, 15) as full_story, title, category, alt_name, comm_num, allow_comm, allow_main, allow_rate, rating, news_read, remote_addr, tags FROM " . PREFIX . "_post where {$stop_list}date >= '{$year}-{$month}-{$day}' AND date < '{$year}-{$month}-{$day}' + INTERVAL 24 HOUR AND approve" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number']; $sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post where {$stop_list}date >= '{$year}-{$month}-{$day}' AND date < '{$year}-{$month}-{$day}' + INTERVAL 24 HOUR AND approve" . $where_date; } // ################ Новость целиком ################# if ($subaction != '' or $newsid) { if (! $newsid) $sql_news = "SELECT id, autor, date, short_story, full_story, title, category, descr, keywords, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, news_read, approve, votes, access, remote_addr, tags, metatitle FROM " . PREFIX . "_post WHERE alt_name ='$news_name' AND date >= '{$year}-{$month}-{$day}' AND date < '{$year}-{$month}-{$day}' + INTERVAL 24 HOUR LIMIT 0,1"; else $sql_news = "SELECT id, autor, date, short_story, full_story, title, category, descr, keywords, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, news_read, approve, votes, access, remote_addr, tags, metatitle FROM " . PREFIX . "_post where id = '$newsid'"; if ($subaction == '') $subaction = "showfull"; }} //Отображение субкатегорий if($category_id){ foreach($cat_info as $c) if($c['parentid']==$category_id) { $cat_menu .= "» ". $c['name'] . "
"; } if ($cat_menu !='') $cat_menu = "
Категории
".$cat_menu."
"; } //!Отображение субкатегорий if ( (intval($_GET['cstart']) == 1) && (strpos($_SERVER['REQUEST_URI'], '/page/1') !== false) ) { $first_page_url = str_replace ( "/page/1", "", $_SERVER['REQUEST_URI'] ); header("HTTP/1.0 301 Moved Permanently"); header("Location: $first_page_url"); die("Redirect"); } if (($subaction == "showfull" or $subaction == "addcomment") and ((! isset ( $category ) or $category == ""))) { if ($_POST['subaction'] == "addcomment") { $allow_add_comment = TRUE; $allow_comments = TRUE; $ajax_adds = false; include_once (SYSTEM_DIR . '/modules/addcomments.php'); } if ($subaction == "showfull") { $allow_comments = TRUE; include_once (SYSTEM_DIR . '/modules/show.full.php'); } } else { if ($subaction == 'userinfo') { $allow_userinfo = TRUE; include_once (SYSTEM_DIR . '/modules/profile.php'); } else { $allow_active_news = TRUE; } //#################################################################################################################### // Просмотр кратких новостей //#################################################################################################################### $_SESSION['referrer'] = $_SERVER['REQUEST_URI']; if ($do == "lastnews") { $cache_prefix = "_lastnews"; } elseif ($subaction == 'allnews') { $cache_prefix = "_allnews_". $user; } elseif ($do == 'tags') { $cache_prefix = "_tagscl_". $tag; } else { $cache_prefix = "_"; if ($month) $cache_prefix .= "month_" . $month; if ($year) $cache_prefix .= "year_" . $year; if ($day) $cache_prefix .= "day_" . $day; if ($category) $cache_prefix .= "category_" . $category; } $cache_prefix .= "_tempate_" . $config['skin']; if ($is_logged and ($user_group[$member_id['user_group']]['allow_edit'] and ! $user_group[$member_id['user_group']]['allow_all_edit'])) $cache->off(); if (isset($_SESSION['dle_no_cache']) AND $_SESSION['dle_no_cache']) $config['allow_cache'] = false; if ($cstart) $cache_id = ($cstart / $config['news_number']) + 1; else $cache_id = "1"; if ($cache_id < 6 and ! isset ( $_POST['login'] )) $active = $cache->open( "news", $cache_id . $cache_prefix, true ); else $active = false; if ($active) { $tpl->result['content'] .= $active; $active = null; } else { include_once (SYSTEM_DIR . '/modules/show.short.php'); if ($config['files_allow'] == "yes"){ if (strpos ( $tpl->result['content'], "[file=" ) !== false) {$tpl->result['content'] = show_file ( $tpl->result['content'], $attachments );} if (strpos ( $tpl->result['content'], "[torrent=" ) !== false) {$tpl->result['content'] = show_torrent ( $tpl->result['content'], $attachments );} } if ($news_found and $cache_id < 6) $cache->save( "news", $tpl->result['content'], $cache_id . $cache_prefix, true ); }}} /* ===================================================== Вывод заголовка страницы ===================================================== */ $titl_e = ''; $nam_e = ''; if ($do == "cat" and $category != '' and $subaction == '') { //решение проблемы с категориями, редирект на верный урл, добавление слеша в конец if( $category_id AND $view_template != "rss") { $re_cat = get_url( $category_id ); if ($re_cat != $_GET['category'] OR substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' ) { $re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) ); $re_url = reset ( $re_url ); header("HTTP/1.0 301 Moved Permanently"); header("Location: {$re_url}{$re_cat}/"); die("Redirect"); } } //решение проблемы с категориями, редирект на верный урл, добавление слеша в конец $metatags['description'] = ($cat_info[$category_id]['descr'] != '') ? $cat_info[$category_id]['descr'] : $metatags['description']; $metatags['keywords'] = ($cat_info[$category_id]['keywords'] != '') ? $cat_info[$category_id]['keywords'] : $metatags['keywords']; if ($cat_info[$category_id]['metatitle'] != '') $metatags['header_title'] = $cat_info[$category_id]['metatitle']; else $nam_e = stripslashes ( $cat_info[$category_id]['name'] ); //$rss_url = $url_page . "/" . "rss.xml"; } elseif ($subaction == "showfull") $rss_url = $config['http_home_url'] . "rss/comments/$newsid/"; elseif ($subaction == 'userinfo')$nam_e = $user; elseif ($subaction == 'allnews') $nam_e = $lang['show_user_news'] . ' ' . $user; elseif ($subaction == 'newposts') $nam_e = $lang['title_new']; elseif ($do == 'stats') $nam_e = $lang['title_stats']; elseif ($do == 'addnews') $nam_e = $lang['title_addnews']; elseif ($do == 'register') $nam_e = $lang['title_register']; elseif ($do == 'favorites') $nam_e = $lang['title_fav']; elseif ($do == 'pm') $nam_e = $lang['title_pm']; elseif ($do == 'feedback') $nam_e = $lang['title_feed']; elseif ($do == 'lastcomments') $nam_e = $lang['title_last']; elseif ($do == 'lostpassword') $nam_e = $lang['title_lost']; elseif ($do == 'search') $nam_e = $lang['title_search']; elseif ($do == 'reputation') $nam_e = 'Репутация » '.$user; elseif ($do == 'static') $titl_e = $static_descr; elseif ($do == 'chat_history') $titl_e = " История сообщений Мини-чата"; elseif ($do == 'tracker') $titl_e = "Список раздач"; elseif ($do == 'lastnews') $nam_e = $lang['last_news']; elseif ($do == 'tags') $nam_e = $tag; elseif ($do == 'newslist') $metatags['title'] = $metatags['titles'].''.$cnt3.''.$cnt5.' » '.$config['home_title']; else { if ($year != '' and $month == '' and $day == '') $nam_e = $lang['title_date'] . ' ' . $year . ' ' . $lang['title_year']; if ($year != '' and $month != '' and $day == '') $nam_e = $lang['title_date'] . ' ' . $r[$month - 1] . ' ' . $year . ' ' . $lang['title_year1']; if ($year != '' and $month != '' and $day != '' and $subaction == '') $nam_e = $lang['title_date'] . ' ' . $day . '.' . $month . '.' . $year; if (($subaction != '' or $newsid != '') and $news_found) $titl_e = $metatags['title']; } if (intval($_GET['cstart']) > 1 ){ $page_extra = ' » '.$lang['news_site'].' '.intval($_GET['cstart']); } else $page_extra = ''; if ($nam_e) { $metatags['title'] = $nam_e . $page_extra . ' » ' . $metatags['title']; $rss_title = $metatags['title']; } elseif ($titl_e) { $metatags['title'] = $titl_e . $page_extra . ' » ' . $config['home_title']; } else $metatags['title'] .= $page_extra; if ( $metatags['header_title'] ) $metatags['title'] = stripslashes($metatags['header_title']) . $page_extra; if (! $rss_url) { $rss_url = $config['http_home_url'] . "rss/"; $rss_title = $config['home_title']; //$rss_url .= $config['http_home_url'] . "comments.xml"; } $metatags = <<{$metatags['title']} \n HTML; if ($config['allow_rss']) $metatags .= << HTML; ?>