diff --git a/functions/func.parserequest.php b/functions/func.parserequest.php index fb6cadc..197396f 100644 --- a/functions/func.parserequest.php +++ b/functions/func.parserequest.php @@ -543,6 +543,17 @@ function showrequestelement ($mixed, $template = '', $tparams = '', $req_item_nu } else { $item = preg_replace('/\[tparam:([0-9]+)\]/', '', $item); } + + // ИСПРАВЛЕНИЕ ДВОЙНОГО СЛЭША (//) ДЛЯ ГЛАВНОЙ СТРАНИЦЫ + // Если это Главная страница (Id=1), и ссылка была сгенерирована как '//', + // принудительно заменяем ее на '/'. + if ($row->Id == 1 && $link == '//') { + $link = '/'; + } + // Также универсально очищаем любые двойные слэши в начале строки, если они возникли. + else if (substr($link, 0, 2) === '//') { + $link = substr($link, 1); + } $item = str_replace('[tag:domain]', getSiteUrl(), $item); $item = str_replace('[tag:link]', $link, $item); diff --git a/inc/query_variants/original_files/functions/func.parserequest.php b/inc/query_variants/original_files/functions/func.parserequest.php index e6ebaef..aa22e93 100644 --- a/inc/query_variants/original_files/functions/func.parserequest.php +++ b/inc/query_variants/original_files/functions/func.parserequest.php @@ -358,6 +358,14 @@ } +// Функция получения уникальных параметров для каждого тизера + function f_params_of_teaser ($id_param_array,$num) + { + global $params_of_teaser; + return $params_of_teaser[$id_param_array][$num]; + } + + // Функция получения элемента запроса function showrequestelement ($mixed, $template = '', $tparams = '') { @@ -388,10 +396,10 @@ if ($tparams != '') { - $tparams_id = $row->Id . md5($tparams); // Создаем уникальный id для каждого набора параметров - $params_of_teaser[$tparams_id] = []; // Для отмены лишних ворнингов - $tparams = trim($tparams,'[]:'); // Удаляем: слева ':[', справа ']' - $params_of_teaser[$tparams_id] = explode('|',$tparams); // Заносим параметры в массив уникального id + $tparams_id = $row->Id . md5($tparams); // Создаем уникальный id для каждого набора параметров + $params_of_teaser[$tparams_id] = []; // Для отмены лишних ворнингов + $tparams = trim($tparams,'[]:'); // Удаляем: слева ':[', справа ']' + $params_of_teaser[$tparams_id] = explode('|',$tparams); // Заносим параметры в массив уникального id } $sql = " @@ -550,7 +558,7 @@ $item = preg_replace('/\[tparam:([0-9]+)\]/', '', $item); } - // Блок для проверки передачи параметров тизеру + // Блок для проверки передачи параметров тизеру (закомментирован) /* if (count($params_of_teaser[$tparams_id])) { @@ -563,6 +571,18 @@ $item = str_replace('[tag:domain]', getSiteUrl(), $item); $link = rewrite_link('index.php?id=' . $row->Id . '&doc=' . (empty($row->document_alias) ? prepare_url($row->document_title) : $row->document_alias)); + + // ИСПРАВЛЕНИЕ ДВОЙНОГО СЛЭША (//) + // Если это Главная страница (Id=1), и ссылка была сгенерирована как '//', + // принудительно заменяем ее на '/'. + if ($row->Id == 1 && $link == '//') { + $link = '/'; + } + // Также универсально очищаем любые двойные слэши в начале строки, если они возникли. + else if (substr($link, 0, 2) === '//') { + $link = substr($link, 1); + } + $item = str_replace('[tag:link]', $link, $item); $item = str_replace('[tag:docid]', $row->Id, $item); $item = str_replace('[tag:itemid]', $row->Id, $item); diff --git a/inc/query_variants/safe_files/functions/func.parserequest.php b/inc/query_variants/safe_files/functions/func.parserequest.php index fb6cadc..197396f 100644 --- a/inc/query_variants/safe_files/functions/func.parserequest.php +++ b/inc/query_variants/safe_files/functions/func.parserequest.php @@ -543,6 +543,17 @@ function showrequestelement ($mixed, $template = '', $tparams = '', $req_item_nu } else { $item = preg_replace('/\[tparam:([0-9]+)\]/', '', $item); } + + // ИСПРАВЛЕНИЕ ДВОЙНОГО СЛЭША (//) ДЛЯ ГЛАВНОЙ СТРАНИЦЫ + // Если это Главная страница (Id=1), и ссылка была сгенерирована как '//', + // принудительно заменяем ее на '/'. + if ($row->Id == 1 && $link == '//') { + $link = '/'; + } + // Также универсально очищаем любые двойные слэши в начале строки, если они возникли. + else if (substr($link, 0, 2) === '//') { + $link = substr($link, 1); + } $item = str_replace('[tag:domain]', getSiteUrl(), $item); $item = str_replace('[tag:link]', $link, $item);