Новости >> "; $pg_months = array("Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"); $pg_countrys = array("rus" => "Россия", "ukr" => "Украина", "tur" => "Турция", "mol" => "Молдавия"); $db_query = ""; $db_date_cond = ""; $db_path_cond = ""; $CURRENT_TIMESTAMP=date("YmdHis",mktime()); $pg_redtram_banner_1 = $pg_redtram_banner_1_stencil; $pg_redtram_banner_2 = $pg_redtram_banner_2_stencil; //if (preg_match("{^/news/([:/0-9]+)(\?[-._&=a-z0-9]+)?$}i", $pg_path, $matches) && $matches[1] != "") { if (preg_match("|^/news/(\d{4}(/\d{2}(/\d{2}(/\d{2}(:\d{2}(:\d{2})?)?)?)?)?)?/?$|i", $pg_path, $matches) && $matches[1] != "") { //echo $matches[1]; // только для тестирования $db_date = preg_replace("{[:/]}", "", $matches[1]); $db_date = substr($db_date, 0, 14); $db_date_4sql = str_replace("/","-",$matches[1]); if (substr($db_date_4sql,10,1) == "-") $db_date_4sql = substr($db_date_4sql,0,10)." ".substr($db_date_4sql,11); //debug echo "===".$db_date."===
"; echo "===".$db_date_4sql."===
"; if (strlen($db_date)==14) { //+ sq added 05-Jan-2011. The precise date may be 3-hours or 4-hours shifted from real // To make some 'shifted' links valid this code checks not only precise date, // but date_pub+3 hours and date_pub+4 hours. Of course, overlaps are possible! // it's only workaround! $sq_y = substr($db_date,0,4); $sq_m = substr($db_date,4,2); $sq_d = substr($db_date,6,2); $sq_h = substr($db_date,8,2); $sq_i = substr($db_date,10,2); $sq_s = substr($db_date,12,2); $sq_idate3 = mktime($sq_h,$sq_i,$sq_s,$sq_m,$sq_d,$sq_y) - 3*60*60; $sq_idate4 = mktime($sq_h,$sq_i,$sq_s,$sq_m,$sq_d,$sq_y) - 4*60*60; $sq_date3 = date('YmdHis', $sq_idate3); $sq_date3_4sql = date('Y-m-d H:i:s', $sq_idate3); $sq_date4 = date('YmdHis', $sq_idate4); $sq_date4_4sql = date('Y-m-d H:i:s', $sq_idate4); //debug to see result of timeshifting (upper lines before all page!) // echo "===".$db_date."==="; echo "===".$db_date_4sql."===
"; // echo "===".$sq_date3."==="; echo "===".$sq_date3_4sql."===
"; // echo "===".$sq_date4."==="; echo "===".$sq_date4_4sql."===
"; $db_date_cond = " AND (`r3_text`.`date_pub`='".$db_date_4sql."' OR `r3_text`.`date_pub`='".$sq_date3_4sql."' OR `r3_text`.`date_pub`='".$sq_date4_4sql."')"; //was: $db_date_cond = " AND `r3_text`.`date_pub`='".$db_date_4sql."'"; //- sq added } else $db_date_cond = " AND `r3_text`.`date_pub` LIKE '".$db_date_4sql."%'"; //debug echo "===".$db_date_cond."===
"; } elseif (preg_match("{^/news/([a-f0-9]+)$}i", $pg_path, $matches)) { $db_path_cond = " AND `r3_text`.`text_name` = '".$matches[1]."'"; } elseif (preg_match("{^/news(/[-._a-z0-9]+)+$}i", $pg_path)) { $db_path_cond = " AND CONCAT(`r3_topic`.`path_lat`, `r3_topic`.`topic_name`, '/', `r3_text`.`text_name`) LIKE '".$pg_path."%'"; } //----- changed by L,120930 // $cut_future_date = " AND `r3_text`.`date_pub` < CURRENT_TIMESTAMP"; $cut_future_date = ""; if (isset($_GET["start"])) $db_start = intval($_GET["start"]); elseif (preg_match("{^/news/?$}i", $pg_path)) $db_start = 0; else if(strpos($pg_path,"/start=")>0) $db_start = intval(substr($pg_path,12,strlen($pg_path))); else $db_start = 0; if (isset($_GET["offset"])) $db_offset = intval($_GET["offset"]); else $db_offset = 10; $db_query = "SELECT `r3_text`.`text_id`, `r3_text`.`date_pub`, `r3_text`.`title`, `r3_text`.`text`, `r3_text`.`pict2_ext`, `r3_text`.`pict_alt`," ." `r3_topic`.`topic_name`, `r3_topic`.`title`, `r3_topic`.`kword`, `r3_topic`.`descr` FROM `r3_text`" ." LEFT JOIN `r3_topic` ON `r3_text`.`topic_id` = `r3_topic`.`topic_id`" ." WHERE `r3_text`.`type` = '1'" ." AND `r3_text`.`usr_active` = '1'" .$cut_future_date .$db_date_cond .$db_path_cond ." ORDER BY `r3_text`.`date_ord` DESC" ." LIMIT ".$db_start.", ".$db_offset; $db_query_cnt = "SELECT `r3_text`.`text_id` FROM `r3_text`" ." WHERE `r3_text`.`type` = '1'" ." AND `r3_text`.`usr_active` = '1'" .$cut_future_date .$db_date_cond .$db_path_cond; $db_results_cnt = mysql_query_ext($db_query_cnt); $db_cnt=@mysql_num_rows($db_results_cnt); $db_result = @mysql_query_ext($db_query); if (!$db_result) {echo "

Ошибка доступа к базе: " . mysql_error()."
\n"; echo ""; exit;} $pg_tmpl = file_get_contents("inc/tmpl_news_show.html");// шаблон share1 //echo mysql_num_rows($db_result), "
\n"; if (mysql_num_rows($db_result) != 0 && $pg_tmpl != false) { while (list($pg_text_id, $pg_date_pub, $pg_title, $pg_text, $pg_pict2_ext, $pg_pict_alt, $pg_tp_topic_name, $pg_tp_title, $pg_tp_kword, $pg_tp_descr) = mysql_fetch_row($db_result)) { //added - translate "yyyy-mm-dd hh:ii:ss" to "YmdHis" $pg_date_pub = preg_replace("{[:-]}", "", $pg_date_pub); $pg_date_pub = str_replace(" ","",$pg_date_pub); $pg_date_pub = substr($pg_date_pub, 0, 14); $pg_description = $pg_tp_descr; $pg_keywords = $pg_tp_kword; // ссылка редактировать if (isset($_SESSION["us_type"]) && $_SESSION["us_type"] != 3 && $_SESSION["us_type"] != 4) $pg_editor_link = "

Редактировать статью

"; // оформляем ссылку "Комментировать" if (($pg_us_user_id !== NULL && isset($_SESSION["us_id"]) && $pg_us_user_id == $_SESSION["us_id"]) || (isset($_SESSION["us_type"]) && 5 > $_SESSION["us_type"])) $pg_quote_link = "

Комментировать статью(".GetQuotesCount($pg_text_id).")

"; else $pg_quote_link = " "; // картинка $og_image_url = ''; if ($pg_pict2_ext !== NULL) { $pg_pict = "\"".$pg_pict_alt."\""; $pg_pict_off = ""; $og_image_url = 'http://rossia3.ru/pic/'.$pg_text_id.'_2.'.$pg_pict2_ext; } // дата и время if (intval(substr($pg_date_pub, 10, 2)) == 0 && intval(substr($pg_date_pub, 8, 2)) == 0) { $pg_date = substr($pg_date_pub, 6, 2).".".substr($pg_date_pub, 4, 2).".".substr($pg_date_pub, 2, 2); $pg_time = " [00:00]"; } elseif (intval(substr($pg_date_pub, 10, 2)) == 0) { $pg_date = substr($pg_date_pub, 6, 2).".".substr($pg_date_pub, 4, 2).".".substr($pg_date_pub, 2, 2); $pg_time = " [".intval(substr($pg_date_pub, 8, 2)).":00]"; } else { $pg_date = substr($pg_date_pub, 6, 2).".".substr($pg_date_pub, 4, 2).".".substr($pg_date_pub, 2, 2); $pg_time = " [".intval(substr($pg_date_pub, 8, 2)).":".substr($pg_date_pub, 10, 2)."]"; } /* AAE Comment:$pg_time*/ // подготовка к выводу $pg_tp_title = cyr_case_ch($pg_tp_title, 1); if (mysql_num_rows($db_result) == 1 || strlen($db_date) > 11) { // вывод статьи целиком if ($pg_pict2_ext !== NULL) $pg_pict = "
".$pg_pict; $pg_comm2_on = ""; $pg_text_full = "_full"; //added 091210 $pg_text = $sape_context->replace_in_text_segment($pg_text); // OG metas for socnets $title_clean = trim(strip_tags($pg_title)); $title_clean = str_replace('"','"',$pg_title); $desq_clean = substr(trim(strip_tags($pg_text)), 0, 128).'...'; $meta_og_title = ''."\n"; $meta_og_image = ''; $meta_og_description = $desq_clean ? (''."\n") : ''; } else { // путь новости вида /news/2005/06/21/15:45 $pg_path = "/news/".substr($pg_date_pub, 0, 4)."/".substr($pg_date_pub, 4, 2)."/".substr($pg_date_pub, 6, 2)."/".substr($pg_date_pub, 8, 2).":".substr($pg_date_pub, 10, 2).":".substr($pg_date_pub, 12, 2); if ($pg_pict2_ext !== NULL) $pg_pict = "
".$pg_pict.""; // сокращённый текст $pg_text = preg_replace("{]+>}i", " ", $pg_text); // Убираем все теги по всему тексту $pg_text = preg_replace("{^( |\s)*}si", " ", $pg_text); // В начале текста могу оказаться пробелы или " " $pg_text2_cut = 300; // Кол-во символов в строке $re_text_cut = "{[.,:;]?(\s\S{1,4})*\s\S*$}s"; // Рег. Выр. для удаления последнего солва, предлога и знаков препинания $pg_text = preg_replace($re_text_cut, " ...", substr($pg_text, 0, $pg_text2_cut)); $pg_text = "".$pg_text.""; } // шаблонг блока $pg_part = prepare_toeval($pg_tmpl); eval("\$pg_part = \"$pg_part\";"); $pg_cent_col .= $pg_part; //вставим 3 последних коммента $db_query_q = "SELECT `r3_users`.`tirl`, `r3_users`.`user_id`, `r3_users`.`login`, `r3_text`.`text_id`," ." `r3_text`.`text`, `r3_text`.`nik`, `r3_users`.`fio`, `r3_text`.`title`" ." FROM `r3_text`" ." LEFT JOIN `r3_users` ON `r3_text`.`user_id` = `r3_users`.`user_id`" ." WHERE `r3_text`.`topic_id` = '".$pg_text_id."' AND `r3_text`.`type`=10 ORDER BY `date_ord` DESC LIMIT 0,3"; $db_result_q = mysql_query_ext($db_query_q); if(mysql_num_rows($db_result_q) > 0) { $pg_quotes.=""; while( list($pg_q_tirline, $pg_q_user, $pg_q_username, $pg_q_id, $pg_q_text, $pg_q_nik, $pg_q_fio, $pg_q_title) = mysql_fetch_row($db_result_q)) { $pg_quotes.="\r\n
"; $fm_userpic = "/img/none.gif"; $fm_alt = "Картинки нет"; if (file_exists($_SERVER['DOCUMENT_ROOT']."/userpic/".$pg_q_username.".gif")) $fm_userpic = "/userpic/".$pg_q_username.".gif"; elseif (file_exists($_SERVER['DOCUMENT_ROOT']."/userpic/".$pg_q_username.".jpg")) $fm_userpic = "/userpic/".$pg_q_username.".jpg"; elseif (file_exists($_SERVER['DOCUMENT_ROOT']."/userpic/".$pg_q_username.".jpeg")) $fm_userpic = "/userpic/".$pg_q_username.".jpeg"; elseif (file_exists($_SERVER['DOCUMENT_ROOT']."/userpic/".$pg_q_username.".png")) $fm_userpic = "/userpic/".$pg_q_username.".png"; elseif (file_exists($_SERVER['DOCUMENT_ROOT']."/userpic/".$pg_q_username.".bmp")) $fm_userpic = "/userpic/".$pg_q_username.".bmp"; $pg_quotes_add=""; //а вот сюда положим ссылку если смотрит админ или автор if (($pg_us_user_id !== NULL && isset($_SESSION["us_id"]) && $pg_us_user_id == $_SESSION["us_id"]) || (isset($_SESSION["us_type"]) && 3 > $_SESSION["us_type"]) || ($_SESSION["us_id"]==$pg_q_user)) $pg_quotes_add.="редактировать удалить "; //но ссылка "комментировать" будет для всех кому можно if (isset($_SESSION["us_type"]) && (5 > $_SESSION["us_type"])) $pg_quotes_add.="комментировать(".GetQuotesCount($pg_q_id).")"; $l_imgorname="\"$pg_q_fio\""; $re_text_cut = "{[.,:;]?(\s\S{1,4})*\s\S*$}s"; // Рег. Выр. для удаления последнего солва, предлога и знаков препинания $pg_q_text = preg_replace($re_text_cut, " ...", substr(strip_tags($pg_q_text),0,130)); $pg_quotes.="
$l_imgorname"; if(strlen($pg_quotes_add)>2) $pg_quotes.="
$pg_q_fio
$pg_quotes_add
"; else $pg_quotes.="
$pg_q_fio
"; $pg_quotes.="
"; $pg_quotes.="
"; } } $pg_cent_col .= $pg_quotes; $pg_quotes=""; } if($db_cnt>10) { $pg_navlink=""; if($db_start>40)$pg_navlink.=" ... "; for($i=(($db_start>40)?($db_start-40):0);$i<((($db_start+60)>$db_cnt)?$db_cnt:($db_start+60));$i+=10) { if($i==$db_start) $pg_navlink.="[".(intval($i/10)+1)."] "; else $pg_navlink.="".(intval($i/10)+1)." "; } if(($db_start+60)<$db_cnt)$pg_navlink.=" ... "; $pg_cent_col .= "

Страницы: $pg_navlink

"; } } else { $pg_cent_col = "

Новостей нет

"; http_response_code(404); } if (mysql_num_rows($db_result) != 0) { // путь, название рубрики и т.д. echo " "; // навигация по годам, месяцам, дня и цепочка обратной навигации $pg_nav_line = "Новости"; //strlen($db_date) switch (strlen($db_date)) { case 0: $db_period = "'1', '4'";// годы $pg_period_path = "/news/"; break; case 4: $db_period = "'5', '2'";// месяцы $pg_period_path = "/news/".substr($db_date, 0, 4)."/"; $pg_nav_line .= " >> ".substr($db_date, 0, 4).""; break; case 6: case 8: case 10: case 12: case 14: $db_date_cond = " AND `r3_text`.`date_pub` LIKE '".substr($db_date, 0, 6)."%'"; $db_period = "'7', '2'";// дни $pg_period_path = "/news/".substr($db_date, 0, 4)."/".substr($db_date, 4, 2)."/"; $pg_nav_line .= " >> ".substr($db_date, 0, 4)." >> ".$pg_months[intval(substr($db_date, 4, 2))-1].""; break; default: $db_period = "'1', '4'";// годы $pg_period_path = "/news/".substr($db_date, 0, 4)."/"; } $db_query = "SELECT SUBSTRING(`date_pub`, ".$db_period.") AS `period`, COUNT(`text_id`) FROM `r3_text`" ." WHERE `type` = '1' AND `usr_active` = '1' AND `date_pub` < CURRENT_TIMESTAMP".$db_date_cond ." GROUP BY `period` ORDER BY `period`"; $db_res=mysql_query_ext($db_query); $pg_tp_list_tmpl = file_get_contents("inc/tmpl_topic_item.html"); if (!$db_res) echo "

Ошибка доступа к базе: " . mysql_error()."
\n"; elseif ($pg_tp_list_tmpl != false && mysql_num_rows($db_res) > 0) { while (list($pg_tp_name, $pg_tp_path) = mysql_fetch_row($db_res)) { $pg_tp_path = $pg_period_path.$pg_tp_name."/"; if (strlen($db_date) == 4) $pg_tp_name = $pg_months[intval($pg_tp_name)-1]; $pg_tp_item = prepare_toeval($pg_tp_list_tmpl); eval("\$pg_tp_item = \"$pg_tp_item\";"); $pg_tp_list .= $pg_tp_item; } } else {$pg_comm2_on = "";} } else { $pg_cent_col = "

Новостей нет

"; http_response_code(404); } // вывод $pg_tp_title = "НОВОСТИ"; $pg_header = file_get_contents("inc/tmpl_topic_show.html"); $pg_header = prepare_toeval($pg_header); eval("\$pg_header = \"$pg_header\";"); $pg_cent_col = $pg_header.$pg_cent_col; ?> Нет такого материала на сайте