нужно оптимизировать изображения на сайте. я уже разобрался как конвертировать Png в JPG и сохранять в поле.
Но я не до конца разобрался как делать конвертирование при загрузке через IMCE Uploader.
Чего я добился для загружаемых в поле Текст картинок:
1. С помощью модуля IMCE Image Style и ImageCache Actions я смог добавить галку tojpg в окно загрузчика картинок Image Uploader и файлы png действительно конвертируются в jpg
но я не смог:
1. изменять расширения файлов с .png на .jpg при загрузке в IMCE Uploader
2. отмечать галку tojpg по умолчанию - то есть чтобы всегда конвертировались файлы
3. скрыть эту галку для не-админ-юзеров, чтобы они не могли загружать png , а всегда сохранялось в jpg
из этих пунктов - первый - мне подсказали так, но работает для одиночной загрузки стандартной:
Рабочий код, переименует загруженный в IMCE файл в .jpg если отмечена галка канвертировать в jpg то есть optimize_image как я понимаю:
<?php/**
* Implements hook_form_FORM_ID_alter().
*/
function mymodule_form_imce_upload_form_alter(&$form, &$form_state, $form_id) {
array_unshift($form['fset_upload']['upload']['#submit'], "mymodule_upload_form_submit");
}
/**
* Change uploaded image extension.
*/
function mymodule_upload_form_submit($form, &$form_state) {
if ($_FILES['files']['type']['imce'] == 'image/png' && $form_state['values']['imce_image_style']['optimize_image'] != '0') {
$_FILES['files']['name']['imce'] = str_replace('.png', '.jpg', $_FILES['files']['name']['imce']);
}
}?>
Теперь мне надо этот код переделать для IMCE Uploader. Подскажите как в IMCE Uploader программно менять расширения загруженных файлов?
Кстати уже достигнутые и вскоре решенные задачи описаны в моем блоге как оптимизировать картинки:
http://tlito.ru/node/51