Автор Тема: Ajaxfilemanager не работает с PHP версии выше 5.3 Как исправить?  (Прочитано 2367 раз)

09 Июнь 2013, 17:35:45
  • Фрилансер
  • *
  • Сообщений: 181
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
У меня Prestashop 1.5.4.1.  Ajaxfilemanager  стоит последней версии 1.1.

Выяснилось, что Ajaxfilemanager не работает с PHP версии выше 5.3. Долго мучался, почему не показывает превью JPG-файлов при их вставке в tinyMCE с помощью Ajaxfilemanager. Потом нашел статью, что проблема с версией PHP. Действительно, если откатиться на PHP 5.2.17 все работает.

Описание проблемы и вроде бы решение нашел в комментариях к статье в посте  WebMan от 18 марта 2013 в 00:40 здесь:

http://www.instantcms.ru/blogs/all-instant-cms/ajax-file-image-manager-plugin-fckeditor.html

Но у меня не заработало. Подскажите, может быть в их коде какая-то ошибка. Какой код и где надо править, чтобы заработало для Prestashop?
09 Июнь 2013, 18:39:41
Ответ #1
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102503
  • Репутация: +34219/-0
    • Просмотр профиля
В prestashop 1.5.4.1. используется по умолчанию редактор TinyMCE.
Вставка, загрузка, предосмотр изображений работает без проблем с PHP 5.3 и выше (проверено на многих сайтах).
Указанная ссылка при использовании редактора  FCKeditor.
09 Июнь 2013, 19:05:13
Ответ #2
  • Фрилансер
  • *
  • Сообщений: 181
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Да у меня tinyMCE и Prestashop 1.5.4.1/ Я работаю на локальном сервер OpenServer. Когда в когфигурации выставляешь использование PHP 5.3 или 5.4 - точно не помню, то ПРЕВЬЮ именно JPG файлов не работает. PNG и GIF показывает.

Когда включаешь PHP 5.2.17 все работает нормально. Эту проблему с Ajaxmanager описывали еще на других сайтах - сейчас не могу найти ссылки. На форум этого модуля зайти не смог, т.к. автор поставил какую-то программисткую капчу. Для регистрации надо ввести, результат выдаваемый каким-то программным кодом.

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

Виктор, пожалуйста, проверьте еще раз, показывает ли у вас Ajaxmanager превью именно JPG файлов - для уверенности - на PHP 5.4. О предварительном удалении кэша тумбов говорить не буду :)
09 Июнь 2013, 21:32:47
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
В Ajaxmanager в окне загрузки файлов кликните на любой файл картинки, откроется модальное окно с листалкой картинок. Так можно увидеть миниатуры загруженных картинок. Работает на php 5.2 и выше.
Если вы хотите влючить View In:  Thumbnails (просмотр превьюшек в самом окне менеджера для php5.3 и выше), добавьте код
if (PHP_VERSION_ID >= 50300 && strtolower($extension) == "jpg") $extension = "JPEG";в файл
/admin/ajaxfilemanager/inc/class.image.php
в функцию
function _isSupported($filename, $extension, $function, $write = false)
{
        // добавить вот этот код
if (PHP_VERSION_ID >= 50300 && strtolower($extension) == "jpg") $extension = "JPEG";

        $giftype = ($write) ? ' Create Support' : ' Read Support';
        $support = strtoupper($extension) . ($extension == 'gif' ? $giftype : ' Support');

        if (!isset($this->gdInfo[$support]) || $this->gdInfo[$support] == false) {
            $request = ($write) ? 'saving' : 'reading';
            $this->_debug("Support for $request the file type '$extension' cannot be found.");
            return false;
        }
        if (!function_exists($function)) {
            $request = ($write) ? 'save' : 'read';
            $this->_debug("The '$function' function required to $request the '$filename' file cannot be found.");
            return false;
        }

        return true;
}
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
10 Июнь 2013, 11:56:51
Ответ #4
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102503
  • Репутация: +34219/-0
    • Просмотр профиля
У меня Ajaxmanager работает нормально на следующей конфигурации: Prestashop 1.5.4 на веб. сервере Apache, PHP 5.3
Но сервер собран и сконф. под мои требования. Сборка Prestashop частично с SVN плюс собственные наработки.
При переходе на php 5.4 проблемы не должны проявиться (пока не тестировал), судя по различиям в версиях php 5.3 и 5.4.
При установки коробочной версиии Prestashop возможны проблемы. Например, если сравнивать php 5.2 и php 5.3.1 , то в библиотеке GD в gd_info() JPG Support изменено на JPEG Support. Нужно будет находить использование таких функций в движке prestashop и вносить изменения.
Попробывал метод от PrestaMan, на коробочной чистой версии prestashop 1.5.4, работает.

12 Июнь 2013, 16:48:01
Ответ #5
  • Фрилансер
  • *
  • Сообщений: 181
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Проверил еще раз. Метод от PrestaMan работает на PHP 5.3.23, но не работает для PHP 5.4.13. Превьюшки для gif и png показываются, а для JPG нет.

Кстати, на PHP 5.4.13 перестают нормально работать плагины редактора tinyMCE: MC File Manager версии 3.1.0.5 и MC Image Manager версии 3.1.0.4.

Интерфейс MC File Manager поплыл, т.е. появились непереведенные стринги языковых файлов. Перейти из MC File Manager в Imagу Manager не удалось. MC File Manager перестал показывать папки и файлы картинок вобще.

Возвращаешься на PHP 5.3.23 и эти плагины опять работают.
12 Июнь 2013, 23:50:57
Ответ #6
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Уже есть бета версии загрузчиков файлов для разных редакторов. Так как php 5.4 не очень распространен на хостингах, то и переделывать что-то под него не спешат.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
03 Декабрь 2014, 22:01:21
Ответ #7
  • Новичок
  • *
  • Сообщений: 1
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
в связи с тем, что в гугле при проблеме превьюшек jpg нашел вас. решение которое помогло мне думаю оставить тут.
файл
/ajaxfilemanager/inc/class.image.php
сделал так
function showImage

              case 'jpg':
                $func($this->_imgFinal);
                break;