"); ob_start(); if ($name == "end") { ob_end_clean(); } } $lastname=strtolower($name); } */ // получить название шаблона для URL // FNAME - имя файла соответствия адресов и шаблонов // $default_template - используемый шаблон, для неизвестного URL function get_template_for_URL( $FNAME, $URL, $default_template) { // Обработать csv $f=fopen($FNAME,"r") or die("Ошибка!"); //echo $URL; for($i=0; $data=fgetcsv($f, 2048, ";"); $i++) { // if(strncmp ($data[0],$URL,strlen($data[0]))==0) if ( strpos($URL, $data[0]) !== false) { return $data[1]; } } fclose($f); return ($default_template); } // настройка переменных apach ini_set ("session.use_only_cookies", "1"); session_start(); setLocale(LC_ALL, 'russian', 'ru_RU.CP1251'); // при ошибочном запросе перенаправить на главную страницу $fn = getenv("DOCUMENT_ROOT") . getenv("QUERY_STRING"); $pos = strpos ($fn, "?"); if ($pos!==false) $fn = substr($fn, 0, $pos); if (file_exists($fn)==false) { header("Location: http://".$_SERVER['HTTP_HOST']); exit(1); } // подключить библиотеку require (getenv("DOCUMENT_ROOT") . "/matrix/ph_iinterface/mxlib.phl"); require (getenv("DOCUMENT_ROOT") . "/matrix/ph_iinterface/mxsequrity.phl"); require (getenv("DOCUMENT_ROOT") . "/matrix/ph_iinterface/mxforms.phl"); sequrity_load_user_account(); $GLOBALS["PATTERN"] = 0; // установить шаблон страницы по умолчанию $GLOBALS["TITLEHTML"] = "notitle"; $GLOBALS["CONTENTHTML"] = ""; $GLOBALS["KEYWORDS"] = "keywords"; $GLOBALS["DESCRIPTION"] = "description"; $GLOBALS["TEMPLATE_PATH"] = "/"; //Определить имя запрашиваемой страницы $page = getenv("DOCUMENT_ROOT") . "/" . getenv("QUERY_STRING"); $new = dirname($page); //Определить используемый шаблон ($TMPL_name) $TMPL_name=get_template_for_URL( getenv("DOCUMENT_ROOT") . "/url_templates.csv", $new, "1" ); $GLOBALS["TEMPLATE_PATH"] = "/templates/" . $TMPL_name . "/"; block("start"); $DIR=getcwd(); chdir ( $new ); mx_require ( getenv("QUERY_STRING")); chdir ($DIR); block("end"); // Выделить заголовок ($TITLEHTML) из результата if (preg_match ( "/(.*)<\/title>/", $BLOCK["start"], $matches )) $GLOBALS["TITLEHTML"] = $matches[1]; //echo ("Количество блоков".count($BLOCK)."<BR>"); // если всего один блок (т.е. не было разбиения на блоки), то вырезать тело ($CONTENTHTML) из результата if (count($BLOCK)==1) { //echo ("если всего один блок, то вырезать тело<BR>"); if (preg_match ( "/<body[^<]*>(.*)<\/body[^<]*>/", $BLOCK["start"], $matches )) $GLOBALS["CONTENTHTML"] = $matches[1]; else $GLOBALS["CONTENTHTML"] = $BLOCK["start"]; $BLOCK["1"]=$BLOCK["start"]; $BLOCK["start"]=""; } $BLOCK["title"] = $GLOBALS["TITLEHTML"]; //--------------------------------------------------------------------------------------- // Удаление "http:\\" для перехода на https. Для включения в операторе if заменить 0 на 1 //--------------------------------------------------------------------------------------- if (1) { foreach($BLOCK as $k=>$v) { $str = str_replace( "http:", "", $v); $BLOCK[$k] = $str; } } //--------------------------------------------------------------------------------------- // Выделение цветом слов страницы. Для включения в операторе if заменить 0 на 1 //--------------------------------------------------------------------------------------- if (0) { $s=""; foreach($BLOCK as $k=>$v) { $s = $s . $v; } $ar = analyze_words_density($s, 5, 1); $colors = array ("blue", "green", "magenta", "red", "orange"); foreach($BLOCK as $k=>$v) { $str = strtolower($v); foreach($ar as $n=>$word) { $new = "<font style='color:$colors[$n]'>$word</font>"; $str = str_replace($word, $new, $str); } // echo ("lm" . $str); $BLOCK[$k] = $str; } } // Сверстать страницу // Если параметр бланк, то просто загрузить требуемую страницу без шаблонизатора if (isset ($_GET["pattern"])) $GLOBALS["PATTERN"] = $_GET["pattern"]; if (isset ($_GET["blank"]) || isset ($_POST["blank"])) { $GLOBALS["TITLEHTML"] = ""; mx_require ($GLOBALS["TEMPLATE_PATH"] . "/index_blank.php"); } else { mx_require ($GLOBALS["TEMPLATE_PATH"] . "/index.php"); } /* foreach($BLOCK as $k=>$v) { echo ("Name:".$k."Value:".$v."<BR>"); } */ //--------------------------------------------------------------------------------------- // Анализ слов страницы. Для включения в операторе if заменить 0 на 1 //--------------------------------------------------------------------------------------- if (0) { $s=""; foreach($BLOCK as $k=>$v) { $s = $s . $v; } echo ("<table><tr>"); echo ("<td><br>Весь текст -------<br>"); analyze_words_density($s, 20); echo ("</td>"); foreach($BLOCK as $k=>$v) { if (strlen($v)>50) { echo ("<td><br>Блок:".$k." --------<br>"); analyze_words_density($v, 10); echo ("</td>"); } } echo ("</tr></table>"); ?> <br><b>Ваш текст для анализа --------------------------------------------</b> <form action="<?echo getenv("QUERY_STRING")?>" method="POST"> <table width="100%" border="0" cellspacing="2" cellpadding="0"> <tr><td width="150"><textarea name="message" value="message" cols="100" rows="10" wrap="VIRTUAL"><?echo(@$_POST["message"]);?></textarea></td></tr> <tr><td align="left"><input type="submit" name="submit" value=" Анализ " style="background:#cfcfcf;"> </td></tr> </table> </form> <? if (isset($_POST["submit"])) { $ar = analyze_words_density($_POST["message"], 5, 1); $str = strtolower($_POST["message"]); $colors = array ("blue", "green", "magenta", "red", "orange"); foreach($ar as $n=>$word) { $new = "<font style='color:$colors[$n]'>$word</font>"; $str = str_replace($word, $new, $str); } echo ($str); echo ("<br><table><tr><td><br>Введенный текст--------<br><br>"); analyze_words_density($_POST["message"], 20); echo ("</td></tr></table><>"); } } ?>