Несколько ошибок с PHP версии 5.3 и выше
Замечено было 2 ошибки в плагине Ajaxfilemanager для TinyMCE при работе на хосте с PHP версии 5.3 и выше.
Первая
перестали отображаться превью залитых картинок с расширением JPG
Исправление
В файле /admin/ajaxfilemanager/inc/class.image.php
в функцию
function _isSupported($filename, $extension, $function, $write = false)
добавить код
if (PHP_VERSION_ID >= 50300 && strtolower($extension) == "jpg") $extension = "JPEG";
Получится вот так:
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; }
Вторая
При загрузке изображений на сервер выскакивало окошко с ошибкой Syntaxerror: unexpected token <, при этом загрузка прекращалась и окошко не обновлялось хотя по сути изображение уже было залито.
Исправление
Находим файл ajax_file_upload.php
И меняем
$manager = new manager($upload->getFilePath(), false);
на
$manager = new manager(dirname($upload->getFilePath()), false);
И третье
Еще такое было в модуле для Joomla «Fatal error: Cannot redeclare name_function() (previously declared in \путь\к\файлу\с\функцией.пыхпых:469) in \путь\к\файлу\с\функцией.пыхпых:654«.
То есть, ошибка дубликата функции с похожим названием, но функция одна.
Лечилось так
if (!function_exists('name_function')) { function name_function() { // любое содержимое } }
Спасибо за внимание 🙂