Галерея в minishop2 некорректно загружает картинки

Добрый день!

Не могу понять, что не так — добавляю фото к товару, а оно грузится без расширения. То есть, был файл image125.jpg, а загрузился и стал image125jpg, а у превьюшек имена image125jpg.jpg.

Подскажите, хотя бы куда копать, пожалуйста.

Версия php 5.3

UPD. Изменил версию php на 5.4 — все так же.
Сергей Уцын
16 февраля 2014, 09:23
modx.pro
1
2 004
0

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

Василий Наумкин
16 февраля 2014, 15:20
0
Не знаю, куда копать. У меня такой проблемы нет и больше никто не писал.
    Сергей Уцын
    18 февраля 2014, 15:11
    0
    Если в процессоре mgr/gallery/upload.class.php на 62 строчке дописать расширение, то, все нормально работает:
    $filename = !empty($properties['imageNameType']) && $properties['imageNameType']['value'] == 'friendly'
              ? $this->product->cleanAlias($data['name']) . '.' . $extension
              : $hash . '.' . $extension;
    Это у меня одного такой глюк? Может, хостинг менять надо?
      Василий Наумкин
      18 февраля 2014, 15:32
      0
      А кто у тебя отвечает за генерацию алиасов ресурсов? Видимо, он и съедает расширение.
        Сергей Уцын
        18 февраля 2014, 15:49
        0
        По идее, такая ошибка должна у всех возникать. Сейчас в процессоре записано так:
        ...
        $filename = !empty($properties['imageNameType']) && $properties['imageNameType']['value'] == 'friendly'
                  ? $this->product->cleanAlias($data['name'])
                  : $hash . '.' . $extension;
        ...
        // $data['name'] = 'image125.jpg'
        Соответственно, cleanAlias() возвращает image125jpg. Если бы было так:
        ...
        $tmp = explode('.',$data['name']);
        $extension = array_pop($tmp);
        ...
        $filename = !empty($properties['imageNameType']) && $properties['imageNameType']['value'] == 'friendly'
                  ? $this->product->cleanAlias(implode('.', $tmp)) . '.' . $extension
                  : $hash . '.' . $extension;
        ...
        тогда $filename был бы верным — image125.jpg

        Или я что-то не так понимаю?
          Василий Наумкин
          18 февраля 2014, 16:06
          0
          cleanAlias генерирует безопасный псевдоним ресурса согласно системных настроек.

          Если ты запретил в настройках использовании точки — то её и не будет. По умолчанию, она разрешена, и ошибок ни у кого нет.

          Возможно, мне стоит добавить дополнительную проверку на такой случай. А пока просто проверь свои системные настройки генерации friendly urls.
            Сергей Уцын
            18 февраля 2014, 16:12
            +1
            Да, точно. Действительно, запретил в настройках точку и запятую в алиасах и забыл об этом)) Теперь все понятно.

            Спасибо.
    Илья Ершов
    18 февраля 2014, 15:52
    0
    У меня тоже проблема с галерей встроенной в miniShop — новые картинки добавляемые к товарам кидает в корень сайта на диске…

    В скриншоте папки с номерами ресурсов.
    clip2net.com/s/6QM37Y

    Все остальные ресурсы, загружены через скрипт импорта, через процессоры, поэтому лежат где надо.

    Думал где-то настройку пропустил, проверил, понял, что такой настройки нет…

      Илья Ершов
      18 февраля 2014, 15:57
      0
      Уточняю, понял причину.

      clip2net.com/s/6QMhj2

      Происходит, потому что в качестве источника файлов по умолчанию на странице Галереи стоит «Filemanager»… Как-то это умолчание можно поменять?..

      Странно, нужная настройка установлена, но не работает…
      clip2net.com/s/6QMmbM
        Василий Наумкин
        18 февраля 2014, 16:04
        0
        Обновись — поправлено в предпоследней версии.
          Илья Ершов
          18 февраля 2014, 16:06
          0
          Ага, спасибо.
            Илья Ершов
            18 февраля 2014, 16:26
            0
            Обновил, но поле выбора источника файлов упорно не хочет подгружать значение по умолчанию.
            clip2net.com/s/6QNcAb

            Если выбирать в ручную, то картинки загружаются куда надо и всё ОК.
            Но говорить клиенту, что надо каждый раз туда тыкать — не комильфо…

            Как можно исправить проблему?
      Илья Ершов
      18 февраля 2014, 16:04
      0
      А по поводу Топика «То есть, был файл image125.jpg, а загрузился и стал image125jpg» — очевидно, что ошибка в регулярных выражениях. Моё мнение: либо с модулем что-то не так, либо был изменён шаблон поиска, может быть где-то в настройках…
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      14