Что нового

Нужно перенести функционал из 16.0 на 14.1 (1 Viewer)

Ravshon

Ravshon

Участник
Регистрация
2 Сен 2021
Сообщения
248
Реакции
352
Приветик)
У DLE ест уменьшенный копия Картинка для доп поля типом: Загружаемое изображение

[xfvalue_thumb_url_X]
[xfvalue_image_url_X]

А для Загружаемая галерея изображений нету такой.
Помогите перенести уже готовый хак версия 16.0 -> 14.1!

1676142475674

Помогите пожалуйста!

Нужно проста сделать 14.1 версия работала!
Вот этот 👇👇👇
[xfvalue_X image="Nr"]
[xfvalue_X image-url="Nr"]
[xfvalue_X image-thumb-url="Nr"] - Главный этот!
[xfvalue_X image-description="Nr"]
[xfgiven_X image="NR"] текст [/xfgiven_X image="NR"]
[xfnotgiven_X image="NR"] Текст [/xfnotgiven_X image="NR"]

Думаю нужно копаться
/engine/modules/show.short.php
/engine/modules/show.custom.php
/engine/modules/show.full.php

(Но это не точно :D ) Проста я там увидел этот Коды!

Не скажите Проста обновите!
Я питался уже но не вишло! Не могу обновить!

За ранее спасибо кто будет Помог!
 
Помогитееее! Плиззз или скажите где нужно копать) и я сам сделаю!
 
тебе тупо нужно выдернуть доп. поле из engine/inc/xfields.php (не точный путь), добавить его везде, где должно использоваться и в самую последнюю очередь - обработчик в новостях
 
тебе тупо нужно выдернуть доп. поле из engine/inc/xfields.php (не точный путь), добавить его везде, где должно использоваться и в самую последнюю очередь - обработчик в новостях
Да проста в 14.1 нету такой функция! [xfvalue_X image-thumb-url="Nr"]
Я уже копаю целый день но еше ничего не вышло 😭
 
Да проста в 14.1 нету такой функция! [xfvalue_X image-thumb-url="Nr"]
Я уже копаю целый день но еше ничего не вышло 😭
так ищи в 16ой версии 🤷‍♂️

вот, ради интереса я сел за комп и открыл engine/modules/show.full.php и по поиску image-thumb-url нашёл этот код
PHP:
                                    if($value[12] AND $path_parts->thumb) {
                                        
                                        $gallery_image[] = "<li><a href=\"{$path_parts->url}\" onclick=\"return hs.expand(this, { slideshowGroup: 'xf_{$row['id']}_{$value[0]}' })\" target=\"_blank\"><img src=\"{$path_parts->thumb}\" alt=\"{$temp_alt}\"></a></li>";
                                        $gallery_single_image['[xfvalue_'.$value[0].' image="'.$xf_image_count.'"]'] = "<a href=\"{$path_parts->url}\" class=\"highslide\" target=\"_blank\"><img class=\"xfieldimage {$value[0]}\" src=\"{$path_parts->thumb}\" alt=\"{$temp_alt}\"></a>";
                                        
                                    } else {
                                        
                                        $gallery_image[] = "<li><img src=\"{$path_parts->url}\" alt=\"{$temp_alt}\"></li>";
                                        $gallery_single_image['[xfvalue_'.$value[0].' image="'.$xf_image_count.'"]'] = "<img class=\"xfieldimage {$value[0]}\" src=\"{$path_parts->url}\" alt=\"{$temp_alt}\">";
                                        
                                    }
                                    
                                        $gallery_single_image['[xfvalue_'.$value[0].' image-description="'.$xf_image_count.'"]'] = $temp_alt;
                                        $gallery_single_image['[xfvalue_'.$value[0].' image-thumb-url="'.$xf_image_count.'"]'] = $path_parts->thumb;
                                        $gallery_single_image['[xfvalue_'.$value[0].' image-url="'.$xf_image_count.'"]'] = $path_parts->url;
                                        
                                        $tpl2->copy_template = str_ireplace( '[xfgiven_'.$value[0].' image="'.$xf_image_count.'"]', "", $tpl2->copy_template );
                                        $tpl2->copy_template = str_ireplace( '[/xfgiven_'.$value[0].' image="'.$xf_image_count.'"]', "", $tpl2->copy_template );
                                        $tpl2->copy_template = preg_replace( "'\\[xfnotgiven_{$preg_safe_name} image=\"{$xf_image_count}\"\\](.*?)\\[/xfnotgiven_{$preg_safe_name} image=\"{$xf_image_count}\"\\]'is", "", $tpl2->copy_template );

                                }
Совпадение? не думаю.
Но, при условии, что в 14ой ветке есть галерея
 
так ищи в 16ой версии 🤷‍♂️

вот, ради интереса я сел за комп и открыл engine/modules/show.full.php и по поиску image-thumb-url нашёл этот код
PHP:
                                    if($value[12] AND $path_parts->thumb) {
                                       
                                        $gallery_image[] = "<li><a href=\"{$path_parts->url}\" onclick=\"return hs.expand(this, { slideshowGroup: 'xf_{$row['id']}_{$value[0]}' })\" target=\"_blank\"><img src=\"{$path_parts->thumb}\" alt=\"{$temp_alt}\"></a></li>";
                                        $gallery_single_image['[xfvalue_'.$value[0].' image="'.$xf_image_count.'"]'] = "<a href=\"{$path_parts->url}\" class=\"highslide\" target=\"_blank\"><img class=\"xfieldimage {$value[0]}\" src=\"{$path_parts->thumb}\" alt=\"{$temp_alt}\"></a>";
                                       
                                    } else {
                                       
                                        $gallery_image[] = "<li><img src=\"{$path_parts->url}\" alt=\"{$temp_alt}\"></li>";
                                        $gallery_single_image['[xfvalue_'.$value[0].' image="'.$xf_image_count.'"]'] = "<img class=\"xfieldimage {$value[0]}\" src=\"{$path_parts->url}\" alt=\"{$temp_alt}\">";
                                       
                                    }
                                   
                                        $gallery_single_image['[xfvalue_'.$value[0].' image-description="'.$xf_image_count.'"]'] = $temp_alt;
                                        $gallery_single_image['[xfvalue_'.$value[0].' image-thumb-url="'.$xf_image_count.'"]'] = $path_parts->thumb;
                                        $gallery_single_image['[xfvalue_'.$value[0].' image-url="'.$xf_image_count.'"]'] = $path_parts->url;
                                       
                                        $tpl2->copy_template = str_ireplace( '[xfgiven_'.$value[0].' image="'.$xf_image_count.'"]', "", $tpl2->copy_template );
                                        $tpl2->copy_template = str_ireplace( '[/xfgiven_'.$value[0].' image="'.$xf_image_count.'"]', "", $tpl2->copy_template );
                                        $tpl2->copy_template = preg_replace( "'\\[xfnotgiven_{$preg_safe_name} image=\"{$xf_image_count}\"\\](.*?)\\[/xfnotgiven_{$preg_safe_name} image=\"{$xf_image_count}\"\\]'is", "", $tpl2->copy_template );

                                }
Совпадение? не думаю.
Но, при условии, что в 14ой ветке есть галерея
я уже это видел я скопировал и вставил это все но не работает все равно
 
я уже это видел я скопировал и вставил это все но не работает все равно
тебе уже в телеграме говорили, если ты не можешь пояснить что делал и где копал, то никто гадать по вселенной не будет. у нас таких экстрасенсов не водится
замени весь код от
PHP:
                            if($value[3] == "imagegalery" AND $xfieldsdata[$value[0]] AND stripos ( $tpl2->copy_template, "[xfvalue_{$value[0]}" ) !== false) {
и до
PHP:
    $tpl2->compile( 'content' );
                
                }
на
PHP:
if($value[3] == "imagegalery" AND $xfieldsdata[$value[0]] AND stripos ( $tpl2->copy_template, "[xfvalue_{$value[0]}" ) !== false) {
                                
                                $fieldvalue_arr = explode(',', $xfieldsdata[$value[0]]);
                                $gallery_image = array();
                                $gallery_single_image = array();
                                $xf_image_count = 0;
                                
                                foreach ($fieldvalue_arr as $temp_value) {
                                    
                                    $xf_image_count ++;
                                    
                                    $temp_value = trim($temp_value);
                            
                                    if($temp_value == "") continue;
                                    
                                    $temp_array = explode('|', $temp_value);
                                    
                                    if (count($temp_array) == 1 OR count($temp_array) == 5 ){
                                            
                                        $temp_alt = '';
                                        $temp_value = implode('|', $temp_array );
                                            
                                    } else {
                                            
                                        $temp_alt = $temp_array[0];
                                        $temp_alt = str_replace( "&amp;#44;", "&#44;", $temp_alt );
                                        $temp_alt = str_replace( "&amp;#124;", "&#124;", $temp_alt );
                                        
                                        unset($temp_array[0]);
                                        $temp_value =  implode('|', $temp_array );
                                            
                                    }
                
                                    $path_parts = get_uploaded_image_info($temp_value);
                                
                                    if($value[12] AND $path_parts->thumb) {
                                        
                                        $gallery_image[] = "<li><a href=\"{$path_parts->url}\" onclick=\"return hs.expand(this, { slideshowGroup: 'xf_{$row['id']}_{$value[0]}' })\" target=\"_blank\"><img src=\"{$path_parts->thumb}\" alt=\"{$temp_alt}\"></a></li>";
                                        $gallery_single_image['[xfvalue_'.$value[0].' image="'.$xf_image_count.'"]'] = "<a href=\"{$path_parts->url}\" class=\"highslide\" target=\"_blank\"><img class=\"xfieldimage {$value[0]}\" src=\"{$path_parts->thumb}\" alt=\"{$temp_alt}\"></a>";
                                        
                                    } else {
                                        
                                        $gallery_image[] = "<li><img src=\"{$path_parts->url}\" alt=\"{$temp_alt}\"></li>";
                                        $gallery_single_image['[xfvalue_'.$value[0].' image="'.$xf_image_count.'"]'] = "<img class=\"xfieldimage {$value[0]}\" src=\"{$path_parts->url}\" alt=\"{$temp_alt}\">";
                                        
                                    }
                                    
                                        $gallery_single_image['[xfvalue_'.$value[0].' image-description="'.$xf_image_count.'"]'] = $temp_alt;
                                        $gallery_single_image['[xfvalue_'.$value[0].' image-thumb-url="'.$xf_image_count.'"]'] = $path_parts->thumb;
                                        $gallery_single_image['[xfvalue_'.$value[0].' image-url="'.$xf_image_count.'"]'] = $path_parts->url;
                                        
                                        $tpl2->copy_template = str_ireplace( '[xfgiven_'.$value[0].' image="'.$xf_image_count.'"]', "", $tpl2->copy_template );
                                        $tpl2->copy_template = str_ireplace( '[/xfgiven_'.$value[0].' image="'.$xf_image_count.'"]', "", $tpl2->copy_template );
                                        $tpl2->copy_template = preg_replace( "'\\[xfnotgiven_{$preg_safe_name} image=\"{$xf_image_count}\"\\](.*?)\\[/xfnotgiven_{$preg_safe_name} image=\"{$xf_image_count}\"\\]'is", "", $tpl2->copy_template );

                                }
                                
                                if(count($gallery_single_image) ) {
                                    foreach($gallery_single_image as $temp_key => $temp_value) $tpl2->set( $temp_key, $temp_value);
                                }
                                
                                $xfieldsdata[$value[0]] = "<ul class=\"xfieldimagegallery {$value[0]}\">".implode($gallery_image)."</ul>";
                                
                            }
                            
                            $tpl2->copy_template = preg_replace( "'\\[xfgiven_{$preg_safe_name} image=\"(\d+)\"\\](.*?)\\[/xfgiven_{$preg_safe_name} image=\"(\d+)\"\\]'is", "", $tpl2->copy_template );
                            $tpl2->copy_template = preg_replace( "'\\[xfnotgiven_{$preg_safe_name} image=\"(\d+)\"\\]'i", "", $tpl2->copy_template );
                            $tpl2->copy_template = preg_replace( "'\\[/xfnotgiven_{$preg_safe_name} image=\"(\d+)\"\\]'i", "", $tpl2->copy_template );
                
                            if ($config['image_lazy'] AND $view_template != "print" ) $xfieldsdata[$value[0]] = preg_replace_callback ( "#<(img|iframe)(.+?)>#i", "enable_lazyload", $xfieldsdata[$value[0]] );

                            $tpl2->set( "[xfvalue_{$value[0]}]", $xfieldsdata[$value[0]] );
            
                            if ( preg_match( "#\\[xfvalue_{$preg_safe_name} limit=['\"](.+?)['\"]\\]#i", $tpl2->copy_template, $matches ) ) {
                                $tpl2->set( $matches[0], clear_content($xfieldsdata[$value[0]], $matches[1]) );
                            }

                        }
                    }

                    $tpl2->compile( 'content' );
                
                }

не забывай, что в полной новости этот код дублируется. и кеш не забудь почистить
 
Я питался уже но не вишло! Не могу обновить!
отключай все плагины, проверяй свой htaccess на собственные правки, заливай новую версию. если никаких проблем нет, то значит виноваты плагины. проверяй сайт подключая плагины один за другим
 

Пользователи, просматривающие данную тему

Верх