diff --git a/README.md b/README.md index 4f70461..09fc642 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ## gallery -# Модуль Галерея v3.26.4 +# Модуль Галерея v3.26.5 ## Данный модуль предназначен для создания различных галерей изображений. @@ -13,6 +13,8 @@ ## Changelog: +26.12.2019 - версия 3.26.5 - Исправлена ошибка загрузки файлов формата .jpeg + 05.09.2019 - версия 3.26.4 - Замена пути загрузки файла browserplus-min.js на локальный. 05.09.2019 - версия 3.26.2 - адаптация для версии ave.cms 3.26 diff --git a/gallery/class/gallery.php b/gallery/class/gallery.php index 09be7ae..8f1d7fa 100644 --- a/gallery/class/gallery.php +++ b/gallery/class/gallery.php @@ -40,7 +40,7 @@ class Gallery * * @var array */ - var $_allowed_type = array('.jpg','jpeg','.jpe','.gif','.png','.avi','.mov','.wmv','.wmf','.mp4'); + var $_allowed_type = array('.jpg','.jpeg','.jpe','.gif','.png','.avi','.mov','.wmv','.wmf','.mp4'); /** * Размер и тип формирования миниатюр @@ -245,6 +245,7 @@ class Gallery { case 'gif': case 'jpg': + case 'jpeg': case 'png': list($width, $height) = getimagesize(BASE_DIR . '/' . $folder . '/' . $row->image_filename); $AVE_Template->assign('w', ($width < 350 ? 350 : ($width > 950 ? 950 : $width+8))); @@ -441,8 +442,8 @@ class Gallery { if ($file != '.' && $file != '..') { - $image_title = substr($file, 0, -4); - $upload_file_ext = strtolower(substr($file, -4)); + $image_title = mb_substr($file, 0, mb_strrpos($file, '.')); + $upload_file_ext = strtolower(mb_substr($file, mb_strrpos($file, '.') + 0)); $upload_filename = prepare_fname($image_title) . $upload_file_ext; while (file_exists($dst_dir . '/' . $upload_filename)) @@ -513,8 +514,8 @@ class Gallery { if ($file != '.' && $file != '..') { - $image_title = substr($file, 0, -4); - $upload_file_ext = strtolower(substr($file, -4)); + $image_title = mb_substr($file, 0, mb_strrpos($file, '.')); + $upload_file_ext = strtolower(mb_substr($file, mb_strrpos($file, '.') + 0)); $upload_filename = prepare_fname($image_title) . $upload_file_ext; while (file_exists($dst_dir . '/' . $upload_filename)) @@ -562,8 +563,11 @@ class Gallery $count_files = sizeof(@$_FILES['file']['tmp_name']); for ($i=0;$i<$count_files;$i++) { - $upload_file_ext = strtolower(substr($_FILES['file']['name'][$i], -4)); - $upload_filename = prepare_fname(substr($_FILES['file']['name'][$i], 0, -4)) . $upload_file_ext; + //$upload_file_ext = strtolower(substr($_FILES['file']['name'][$i], -4)); + $upload_file_ext = strtolower(mb_substr($_FILES['file']['name'][$i], mb_strrpos($_FILES['file']['name'][$i], '.') + 0)); + + //$upload_filename = prepare_fname(substr($_FILES['file']['name'][$i], 0, -4)) . $upload_file_ext; + $upload_filename = prepare_fname(mb_substr($_FILES['file']['name'][$i], 0, mb_strrpos($_FILES['file']['name'][$i], '.'))) . $upload_file_ext; if (!empty($upload_filename)) { @@ -937,7 +941,7 @@ class Gallery case '.wmf': case '.mpg': $type = 'video'; break; case '.jpg': - case 'jpeg': + case '.jpeg': case '.jpe': $type = 'jpg'; break; case '.png': $type = 'png'; break; case '.gif': $type = 'gif'; break;