COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

Ошибка в файловом менеджере - не загружаются картинки


noVe

Recommended Posts

Здравствуйте,

 

Возникла следующая проблема.

 

После перехода на https в файловом менеджере перестало грузится большая часть картинок.

 

В консоли браузера следующие ошибки 
http://clip2net.com/s/3N7nyNp
http://clip2net.com/s/3N7nCEk
http://c2n.me/3Nd58os

 

MaxyStore 1.5.5.1
  

Скрытый текст

              $.ajax({
                    url: 'index.php?route=common/filemanager/files&token=<?php echo $token; ?>',
                    type: 'post',
                    data: 'directory=' + encodeURIComponent($(NODE).attr('directory')),
                    dataType: 'json',
                    success: function(json) {
                        html = '<div>';
                        
                        if (json.length == 0) {
                        
                            feedback('<?php echo $no_files_found; ?>', 'red');
                            } else {
                            feedback("<?php echo $files_found; ?>" + json.length + "<?php echo $files_count; ?>", 'green');
                            for (i = 0; i < json.length; i++) {
                                name = '';
                                filename = json[i]['filename'];
                                name += truncate(filename, 20);
                                size = json[i]['size']; 
                                html += '<a  file="' + json[i]['file'] + '" style="display: none; float: left;" title="' + filename +'"><span class="fileName">' + name + '</span><span class="fileSize">' + size + '</span><input type="hidden" name="image" value="' + json[i]['file'] + '" /></a>';
                            }            
                        }
                        
                        html += '</div>';
                        
                        $('#column-right').html(html);
                                                
                        $('#column-right a').each(function(index, element) {
                            $.ajax({
                                url: 'index.php?route=common/filemanager/image_manager&token=<?php echo $token; ?>&image=' + encodeURIComponent('data/' + $(element).find('input[name=\'image\']').attr('value')),
                                dataType: 'html',
                                success: function(html) {
                                    $(element).prepend('<img src="' + html + '" title="" style="" /><br />');
                                    
                                    $(element).fadeIn();
                                }
                            });
                        }); 

                    },
                    
                    error: function(xhr, ajaxOptions, thrownError) {
                        alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
                    }
                }); 

 

Скрытый текст

public function files() {
        $json = array();
        
        if (!empty($this->request->post['directory'])) {
            $directory = DIR_IMAGE . 'data/' . str_replace('../', '', $this->request->post['directory']);
        } else {
            $directory = DIR_IMAGE . 'data/';
        }
        
        $allowed = array(
            '.jpg',
            '.jpeg',
            '.png',
            '.gif'
        );
        
        $files = glob(rtrim($directory, '/') . '/*');
        
        if ($files) {
            ob_start();
            foreach ($files as $file) {
                if (is_file($file)) {
                    $ext = strrchr($file, '.');
                } else {
                    $ext = '';
                }    
                
                if (in_array(strtolower($ext), $allowed)) {
                    $size = filesize($file);
        
                    $i = 0;
        
                    $suffix = array(
                        'B',
                        'KB',
                        'MB',
                        'GB',
                        'TB',
                        'PB',
                        'EB',
                        'ZB',
                        'YB'
                    );
        
                    while (($size / 1024) > 1) {
                        $size = $size / 1024;
                        $i++;
                    }
                        
                    $json[] = array(
                        'filename' => basename($file),
                        'file'     => utf8_substr($file, utf8_strlen(DIR_IMAGE . 'data/')),
                        'size'     => round(utf8_substr($size, 0, utf8_strpos($size, '.') + 4), 2) . $suffix[$i]
                    );
                }
            }
            ob_end_clean();
        }
        
        $this->response->setOutput(json_encode($json));    
    }    

 

Скрытый текст

    public function image_manager() {
        $this->load->model('tool/image');
        
        if (isset($this->request->get['image'])) {
            $this->response->setOutput($this->model_tool_image->resize(html_entity_decode($this->request->get['image'], ENT_QUOTES, 'UTF-8'), 50, 50));
        }
    }

 

  


    

 

filemanager.php

filemanager.tpl

Изменено пользователем RHCk
Картинки, логи и код убирайте под спойлер.
Ссылка на комментарий
Поделиться на других сайтах

6 минут назад, WarStyle сказал:

Чудес не бывает) При переходе на https вы трогаете только файл конфига, в нём ищите проблему.

 

Может и чудо :)

 

http://c2n.me/3NgnFv6

http://c2n.me/3NgnJQI

Ссылка на комментарий
Поделиться на других сайтах

1 час назад, noVe сказал:

не помогло

1. Используете ли какой-либо модуль для плавного перехода на HTTPS?

Если нет:

2. В конфигах пропишите HTTPS везде.

3. В админке включите SSL.

4. Добавьте редирект в .htaccess

5. Напишите о результате.

Ссылка на комментарий
Поделиться на других сайтах

2 минуты назад, RHCk сказал:

1. Используете ли какой-либо модуль для плавного перехода на HTTPS?

Если нет:

2. В конфигах пропишите HTTPS везде.

3. В админке включите SSL.

4. Добавьте редирект в .htaccess

5. Напишите о результате.

 

Делал по инструкции на форуме. Поправил responsive (добавил замену контента на https). Включил в админке. Прописал в конфигах. Сделал редирект.

И собственно эта ошибка и вылезла.

Ссылка на комментарий
Поделиться на других сайтах

1 минуту назад, noVe сказал:

эта ошибка и вылезла

В именах файлов картинок не должно быть пробелов.

И лучше, если используется только латинница.

Ссылка на комментарий
Поделиться на других сайтах

3 минуты назад, RHCk сказал:

В именах файлов картинок не должно быть пробелов.

И лучше, если используется только латинница.

Пример картинки с ошибкой

 

image/cache/data/Postelnoe_bele/TAG/ranfors/R9829-50x50.jpg

название корректное

Ссылка на комментарий
Поделиться на других сайтах

2 часа назад, WarStyle сказал:

Чудес не бывает) При переходе на https вы трогаете только файл конфига, в нём ищите проблему.

В БД тоже нужно менять с http на https.

 

36 минут назад, noVe сказал:

 

Делал по инструкции на форуме. Поправил responsive (добавил замену контента на https). Включил в админке. Прописал в конфигах. Сделал редирект.

И собственно эта ошибка и вылезла.

.com.ua на хостинге ukraine.com.ua? Там редирект на хостинге настраивается.

Кэши все почистили?

Ссылка на комментарий
Поделиться на других сайтах

44 минуты назад, WarStyle сказал:

 

Вы это серьезно сейчас?

Сертификат может не полностью работать (ошибка: не полностью защищено) при присутствии ссылок с http на странице. По этому нужно и в БД менять ссылки, если есть они, например, в статьях, описание товара.
 

Ссылка на комментарий
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу