вопрос
После установки модуля глоссарий обнаружил что в ссылке прописываются лишние символы верхних ковычек " (ссылка имеет вид http://gosudarstvo-chernobyl.com/glossary/dkba/") . Из-за чего в переходе на страницу получается ошибка. Установка выполнена вроде правильно. Подскажите в каком файле проблема?
Вот отрывки кода:
.htaccееss
engine
show.full
Вот отрывки кода:
.htaccееss
# Glossary 2.0
RewriteRule ^glossary(/?)+$ index.php?do=glossary [L]
RewriteRule ^glossary/([^/]+)(/?)+$ index.php?do=glossary&word=$1 [L]
RewriteRule ^glossary/page/([^/]+)(/?)+$ index.php?do=glossary&page=$1 [L]
engine
elseif ($do == 'orderdesc') $nam_e = "Стол заказов";
elseif ($do == 'feedback') $nam_e = $lang['title_feed'];
elseif ($do == 'glossary') $nam_e = "Глоссарий";
elseif ($do == 'lastcomments') $nam_e = $lang['title_last'];
switch ( $do ) {
case "glossary" :
include( ENGINE_DIR."/modules/glossary/glossary.php" );
break;
case "orderdesc":
include ENGINE_DIR . '/modules/orderdesc.php';
break;
show.full
$tpl->set( '{title}', $row['title'] );
// Glossary 2.0
$do = "full_story";
require_once ENGINE_DIR . '/modules/glossary/insert.php';
// Glossary 2.0
if ( preg_match( "#\\{title limit=['\"](.+?)['\"]\\}#i", $tpl->copy_template, $matches ) ) {
$count= intval($matches[1]);
$row['title'] = strip_tags( $row['title'] );
В файле engine/modules/glossary/insert.php нужно поменять местами сткоки 34 и 35, должно получится вот так:
if ( !defined( 'DATALIFEENGINE' ) ) die( "Hacking attempt!" );
if ($do) {
$glossary_sql = $db -> query("SELECT * FROM " . PREFIX . "_glossary");
if ( $db -> num_rows($glossary_sql) ) {
while( $glossary = $db -> get_row($glossary_sql) ) {
if ( $config['allow_alt_url'] ) $glossary_link = $config['http_home_url']."glossary/".$glossary['link']."/";
else $glossary_link = $config['http_home_url']."?do=glossary&word=".$glossary['link'];
$glossary['description'] = preg_replace( "#<!--TBegin(.+?)<!--TEnd-->#is", "", $glossary['description'] );
$glossary['description'] = str_replace( "</p><p>", " ", $glossary['description'] );
$glossary['description'] = strip_tags( $glossary['description'], "<br>" );
$glossary['description'] = trim(str_replace( "<br>", " ", str_replace( "<br />", " ", str_replace( "\n", " ", str_replace( "\r", "", $glossary['description'] ) ) ) ));
//$glossary["word"] = substr( stripslashes ($glossary["word"]), 0,-2 );
// Обработка текста
if (($do != "static") or ($do == "full_story") or ($do == "custom")) {
$row[$do] = preg_replace('/('.$glossary["word"].')/is', '<a href="'.$glossary_link.'" title="'.$glossary['description'].'" id=1>$1</a>', $row[$do]);
$row[$do] = preg_replace('/<a(.*?)href=[^>](.*?)>(.*)<a href=[^>].*? id=1>(.*?)<\/a>(.*?)<\/a>/is', '<a$1href=$2>$3$4$5</a>', $row[$do]);
$row[$do] = preg_replace('/<img(.*?)alt=[^>](.*?)<a href=[^>].*? id=1>(.*?)<\/a>(.*?)\/>/is', '<img$1alt=$2$3$4/>', $row[$do]);
// Обработка доп. полей
if ($do != "custom") $row['xfields'] = preg_replace("'".$glossary['word']."'i", "<a href=\"".$glossary_link."\">".$glossary['word']."</a>", $row['xfields']);
} else {
$template = preg_replace('/('.$glossary["word"].')/is', '<a href="'.$glossary_link.'" title="'.$glossary['description'].'" id=1>$1</a>', $template);
$template = preg_replace('/<a(.*?)href=[^>](.*?)>(.*)<a href=[^>].*? id=1>(.*?)<\/a>(.*?)<\/a>/is', '<a$1href=$2>$3$4$5</a>',$template);
$template = preg_replace('/<img(.*?)alt=[^>](.*?)<a href=[^>].*? id=1>(.*?)<\/a>(.*?)\/>/is', '<img$1alt=$2$3$4/>', $template);
}
}
}
}