Имеем Joomla RE 12 + VM13a. VM был обновлен с версии 1.0.9. После обновления версии VM при создании нового товара или изменении изображения для товара маленькая картинка товара в магазине видна нормально, а большая не видна - только рамка от нее. При просмотре свойств файла большой картинки на хостинге выясняется, что CHMOD почему-то не 644, а 600. Раньше такого не было. Как исправить? (не CHMOD - его то я и меняю руками через FTP, а чтобы файл картинки на хост заливался нормально) Спасибо.
Ответ: CHMOD Value = 600 для увеличенных изображений в VM искать такую конструкцию: if (!file_exists($curdir.$load_name)) { if (!empty($load_name)) { if (move_uploaded_file($_FILES['load']['tmp_name'], $curdir.$load_name)) { echo "<center><font color='green'><b>Загрузка файла успешно завершена.</b></font></center>"; chmod($curdir.$load_name, 0644); // установка разрешений на файл } else echo "<center><font color='red'><b>Ошибка при загрузке файла. Попробуйте снова.</b></font></center>"; } } Правда не совсем такую, эту я сам писал для своего сайта, видимо chmod устанавливается по умолчанию, а надо явно в скрипте прописать. Добавлено через 10 минут Накопал в настройках жумлы: в глобальной конфигурации на вкладке сервер есть пункт "Создание файлов:" там щелкнуть на "Установить CHMOD для новых файлов как:" и установить нужные права.
Ответ: CHMOD Value = 600 для увеличенных изображений в VM То-то и странно, что эта настройка у меня не влияет на происходящее. Права на файлы устанавливаются все равно равными 600. Заметил также что и при заливке картинок через написание статьи происходит та же беда - они не видны. А конструкцию где искать? В каком файле? Спасибо.
Ответ: CHMOD Value = 600 для увеличенных изображений в VM Видимо где-то в Марте, эта конструкция от моей самописной cms-ки, в жумле не копался.
Ответ: CHMOD Value = 600 для увеличенных изображений в VM В файле ../administrator/components/com_virtuemart/classes/ps_main.php надо найти строку 287 и добавить Код (PHP): @chmod($exec['param2'],0644); чтобы было так: Код (PHP): if ($ret == false) { $vmLogger->err ( 'The following image update command failed: '. $exec['command'] ); return false; } else { $vmLogger->debug( 'Successfully processed image command: '.$exec['command'] ); @chmod($exec['param2'],0644); // <- строка 287 } } $d["image_commands"] = array(); } return true; Найденно при помощи гугла здесь
Ответ: CHMOD Value = 600 для увеличенных изображений в VM Спасибо огромное! Все сработало! Только у меня это строка № 282