Как настроить вывод аватарки в панели управления ModX Revo?

В панели управления есть иконка пользователя. Так вот, когда туда загружаешь картинку, то иконка не выводится. Вернее так, она отображается с ошибкой. В журнале ошибок создается запись:

[2018-09-26 17:45:21] (ERROR @ E:\OSPanel\domains\lp\core\model\phpthumb\modphpthumb.class.php: 144) phpThumb was unable to generate a thumbnail for: E:\OSPanel\domains\lp\core\cache\phpthumb\lp.local__src8316ee7be845a13238eba20a97b23757_par397327b300e2532553c171cb19a456f3_dat0.jpeg
Собственно файла E:\OSPanel\domains\lp\core\cache\phpthumb\lp.local__src8316ee7be845a13238eba20a97b23757_par397327b300e2532553c171cb19a456f3_dat0.jpeg по факту нет, но там ест другие файлы, которые нарезаются с оригинала при нажатии кнопки Сохранить в профиле (если указана картинка аватарки).

В чем может быть ошибка?

Markus
26 сентября 2018, 17:56
modx.pro
809
0

Комментарии: 5

Володя
26 сентября 2018, 18:01
0
возможно вы загружаете аватарку в свой медиасорс, попробуйте создать настройку photo_profile_source и указать в нем id источника.
    Markus
    30 сентября 2018, 19:35
    0
    К сожалению данный вариант не сработал…
      R2m0x94 (Vasily)
      18 марта 2022, 19:11
      0
      Получилось, спасибо. Более детально описал ниже.
      rexen
      04 апреля 2019, 12:51
      0
      Присоединяюсь к вопросу. Та же проблема.
      Указываю jpg-файл, а система генерит в core\cache\phpthumb\
      png-файлы. Но в линке на аватарку на странице админки остаётся
      modx/connectors/system/phpthumb.php?zc=1&h=128&w=128&src=C%3A%2Fwww%2FOSPanel%2Fdomains%2Fmodx%2Fusr%2F128.jpg
        R2m0x94 (Vasily)
        18 марта 2022, 19:10
        0
        Возможное решение:
        Решение не совсем правильное, так как если выгрузить на хостинг ошибка пропадает, зато если разработка ведётся локально, то напрягает, поэтому временно идём в Медиа > Источники файлов, там ставим в графах basePath & baseUrl полный путь с диска до корня, например: E:\OSPanel\domains\site.ru\

        Ошибка пропадает, изображение грузится ОК, но при этом выбор файла не доступен. Удачных разработок и перед выгрузкой на хостинг ставим медиа источник обратно.

        Лирика:
        Конечно времени ездить по файлом почти ни у кого нет core\model\phpthumb\phpthumb.class.php:3474 функция SetCacheFilename(), там есть такой код:
        if ($this->md5s) {
        	// source image MD5 hash provided
        	// do not source image modification date --
        	// cached image will be used even if file was modified or removed
        } elseif (!$this->config_cache_source_filemtime_ignore_remote && preg_match('#^(f|ht)tps?\://#i', $this->src)) {
        	$this->cache_filename .= '_dat'.intval(phpthumb_functions::filedate_remote($this->src));
        } elseif (!$this->config_cache_source_filemtime_ignore_local && $this->src && !$this->rawImageData) {
        	$this->cache_filename .= '_dat'.intval(@filemtime($this->sourceFilename));
        }
        Можно увидеть, что в строке есть функция filemtime(), которая отдаёт 0, почему? Потому, что если убрать ссылку @ от функции, то вы увидите в журнале не корректный путь, который конечно можно перезапрограмировать в этой строке:
        $this->cache_filename .= '_dat'.intval(@filemtime($this->sourceFilename));
        Надеюсь помог, и не забываем про обратный слэш \/

        Скорей всего в новых версиях ModX >= 3 это уже исправят.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        5