плагин xf request

iccup
На сайте с 01.05.2016
Offline
195
174

Есть плагин для DLE известный как xFRequest : вывод текста на странице доп.полей. Автор его PunPun, он бесплатный.

Проблема в том, что этот код выдает значение допполя в нижнем регистре букв. Мне бы хотелось чтобы регистр оставался неизменным. Что надо подправить?

<?PHP
// Code by PunPun - https://punpun.name/
// 05:26 19.06.2017
if("utf-8" == strtolower($config['charset']))
        $utf8 = "u";
if($dle_module == "xfsearch") {

        $xf_value = trim(strip_tags(stripslashes($_GET['xf'])));
        $xf_name = false;
        if($config['version_id'] >= '11.0') {

                if(dle_substr($xf_value, - 1, 1, $config['charset']) == '/')
                        $xf_value = dle_substr($xf_value, 0, -1, $config['charset']);

                $xf_value = explode("/", $xf_value);

                if(count($xf_value) == 2) {
                        $xf_name = trim(array_shift($xf_value));
                        $xf_value = trim(end($xf_value));
                }
                else
                        $xf_value = trim(array_shift($xf_value));
        }

        $not_duplicate = false;

        $tpl->result['main'] = preg_replace_callback(
                "#\\[xf-request=(.+?)(;(.+?))?\\](.*?)\\[/xf-request\\]#{$utf8}mis",
                function($matches) use ($config, $xf_name, $xf_value, &$not_duplicate) {

                        if($config['version_id'] >= '11.0' && $xf_name) {

                                if($xf_name == trim($matches[1]) && $xf_value == trim($matches[3])) {
                                        $not_duplicate = true;
                                        return $matches[4];
                                }
                                elseif($xf_name == trim($matches[1]) && !$matches[3]) {
                                        if(!$not_duplicate)
                                                return str_ireplace("{value}", $xf_value, $matches[4]);
                                }
                        }
                        elseif($xf_value == trim($matches[3]))
                                return $matches[4];

                },
                $tpl->result['main']
        );
}
$tpl->result['main'] = preg_replace(
        "#\\[xf-request=(.+?)(;(.+?))?\\](.*?)\\[/xf-request\\]#{$utf8}mis",
        "",
        $tpl->result['main']
);
?>


kimsufi.com ( https://www.kimsufi.com ) очень дешевые и качественные дедики https://clck.ru/gvF9p - антибот, использую уже 3 года.
LEOnidUKG
На сайте с 25.11.2006
Offline
1745
#1
А в системе он сохраняется как вам надо? Это точно? 
✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
iccup
На сайте с 01.05.2016
Offline
195
#2
LEOnidUKG #:
А в системе он сохраняется как вам надо? Это точно? 

а он не сохраняется, я так понял скрипт каждый раз обращается в базу данных, подключается он в шаблоне так -

[xf-request=tagname]{value}[/xf-request]

А в самой базе данных значение  tagvalue с прописной буквы. Структура таблицы dle_xfsearch такая (столбцы): id     news_id     tagname     tagvalue

iccup
На сайте с 01.05.2016
Offline
195
#3
Похоже какой-то глюк самого движка, ибо на некоторых вариантах все нормально срабатывает, а где-то только нижний регистр выдает.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий