Страница доступна только для зарегистрированных пользователей

"; } if($f_item[content_hidden] && $_SESSION["usr_log_in"]){ $page_content = $f_item[content_hidden]; } // if($f_item[hidden]==1 && $_SESSION["usr_log_in"]!=""){ // $page_content = $f_item[content_hidden]; // } } //////////////////////////////////////// header("Last-Modified: ".gmdate('D, M d Y H:i:s',$date_update)." GMT"); // header("Last-Modified: Sat, Oct 07 2006 07:40:05 GMT"); /////////////////////////////////////////////////////////////////////////////////////// // выбор шаблона /////////////////////////////////////////////////////////////////////////////////////// $r_template = mysql_query("SELECT * FROM templates WHERE id='".mysql_real_escape_string($page_template_number)."'"); $f_template = mysql_fetch_array($r_template); /////////////////////////////////////////////////////////////////////////////////////// $template_source = $f_template[template_text]; /* dr.Beep, 29.07: Я решал проблему вложенности блоков принципиально иначе: реализовал неограниченный уровень вложенности. Выглядело это примерно так: */ /* //------------- code -------------- while (preg_match_all("/%%(.+)%%/",$template_source,$patterns) > 0){ foreach($patterns[1] as $text){ $r_replacement = mysql_query("SELECT * FROM text_blocks WHERE caption='".$text."' ;"); if(mysql_num_rows($r_replacement)){ $f_replacement = mysql_fetch_array($r_replacement); $template_source = preg_replace("/%%".$text."%%/",$f_replacement[content],$template_source); }else{ $template_source = preg_replace("/%%".$text."%%/","%%".$text."%%",$template_source); } } } //------------------------------------ */ ################################################## ## замена ТЕКСТОВЫХ БЛОКОВ первого уровня preg_match_all("/%%(.+)%%/",$template_source,$patterns); foreach($patterns[1] as $text){ $r_replacement = mysql_query("SELECT * FROM text_blocks WHERE caption='$text'"); if($f_replacement = mysql_fetch_array($r_replacement)){ $template_source = preg_replace("/%%".$text."%%/",$f_replacement[content],$template_source); } } ################################################## ################################################## ## замена ТЕКСТОВЫХ БЛОКОВ второго уровня preg_match_all("/%%(.+)%%/",$template_source,$patterns); foreach($patterns[1] as $text){ $r_replacement = mysql_query("SELECT * FROM text_blocks WHERE caption='$text'"); if($f_replacement = mysql_fetch_array($r_replacement)){ $template_source = preg_replace("/%%".$text."%%/",$f_replacement[content],$template_source); } } ################################################## ################################################## ## замена ТЕКСТОВЫХ БЛОКОВ третьего уровня preg_match_all("/%%(.+)%%/",$template_source,$patterns); foreach($patterns[1] as $text){ $r_replacement = mysql_query("SELECT * FROM text_blocks WHERE caption='$text'"); if($f_replacement = mysql_fetch_array($r_replacement)){ $template_source = preg_replace("/%%".$text."%%/",$f_replacement[content],$template_source); } } ################################################## /////////////////////////////////////////////////////////////////////////////////////////////// ///// 2010.03.20 ///// замена ИНФОБЛОКОК прикрепленных к СТРАНИЦЫ --- для первого уровня вложенности /////////////////////////////////////////////////////////////////////////////////////////////// preg_match_all("/%%(.+)%%/",$template_source,$patterns); foreach($patterns[1] as $text){ $r_replacement = mysql_query("SELECT * FROM pages_iblocks WHERE pageID='".mysql_real_escape_string($page_id)."' AND varName LIKE '$text' "); if($f_replacement = mysql_fetch_array($r_replacement)){ $template_source = preg_replace("/%%".$text."%%/",$f_replacement[content],$template_source); }else{ // если уже не находим вообще никаких ЗАМЕН для ВКЛЮЧАЕМОЙ ОБЛАСТИ %%...%%, то удаляем её, чтобы она не отображатась в тексте шаблона $template_source = preg_replace("/%%".$text."%%/","",$template_source); } } /////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////// ///// 2013.03.12 ///// замена ИНФОБЛОКОК прикрепленных к СТРАНИЦЫ в контенте из БЛОКОВ СТРАНИЦЫ /////////////////////////////////////////////////////////////////////////////////////////////// preg_match_all("/%%(.+)%%/",$page_content,$patterns); foreach($patterns[1] as $text){ ///// ищем ИНФОБЛОКОК из контента в ТЕКСТОВЫХ БЛОКАХ СТРАНИЦЫ $r_replacement = mysql_query("SELECT * FROM pages_iblocks WHERE pageID='".mysql_real_escape_string($page_id)."' AND varName LIKE '$text' ;"); if($f_replacement = mysql_fetch_array($r_replacement)){ $page_content = preg_replace("/%%".$text."%%/",$f_replacement[content],$page_content); }else{ ///// ищем ИНФОБЛОКОК из контента в ТЕКСТОВЫХ БЛОКАХ САЙТА $r_replacement = mysql_query("SELECT * FROM text_blocks WHERE caption='$text' ;"); if($f_replacement = mysql_fetch_array($r_replacement)){ $page_content = preg_replace("/%%".$text."%%/", $f_replacement[content], $page_content); }else{ // если уже не находим вообще никаких ЗАМЕН для ВКЛЮЧАЕМОЙ ОБЛАСТИ %%...%%, то удаляем её, чтобы она не отображатась в тексте шаблона $page_content = preg_replace("/%%".$text."%%/", "", $page_content); } } } /////////////////////////////////////////////////////////////////////////////////////////////// ################################################## ///// 2014.01.20 ## замена ТЕКСТОВЫХ БЛОКОВ ################################################## preg_match_all("/%%(.+)%%/",$template_source,$patterns); foreach($patterns[1] as $text){ $r_replacement = mysql_query("SELECT * FROM text_blocks WHERE caption='$text'"); if($f_replacement = mysql_fetch_array($r_replacement)){ $template_source = preg_replace("/%%".$text."%%/",$f_replacement[content],$template_source); } } ################################################## //------------------------------------------------------------------------------- // строим инфоблоки и вставляем в них текстовые блоки по необходимости $infoblocks = mysql_query("SELECT * FROM pages_iblocks WHERE pageID='".mysql_real_escape_string($page_id)."' ;"); while ($block = mysql_fetch_array($infoblocks)){ ${$block["varName"]} = $block["content"]; preg_match_all("/%%(.+)%%/", $block["varName"],$patterns); foreach($patterns[1] as $text){ $r_replacement = mysql_query("SELECT * FROM text_blocks WHERE caption='".$text."' ;"); $f_replacement = mysql_fetch_array($r_replacement); $$block["varName"] = preg_replace("/%%".$text."%%/",$f_replacement[content], $$block["varName"]); } } //------------------------------------------------------------------------------- eval("?>".$template_source."