исправляем двойной слеш // в url Главной страницы , при выводе ее Админтизером

This commit is contained in:
2025-11-24 16:22:05 +05:00
parent 2658923dfd
commit 245c667ccb
3 changed files with 47 additions and 5 deletions

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);