Есть сайт на Drupal 7, в нем тип материала с полем "файл", куда загружается zip-файл.
Нужно, чтобы при сохранении материала, прикрепленный zip-файл был распакован в определенную директорию сайта.
Что уже есть:
Я создаю правило в Rules "перед сохранением материала", через действия сначала получаю полный адрес прикрепленного файла, записываю его в специальное текстовое поле в ноде, вторым действием разархивирую zip посредством такого php-кода:
==
$zip = new ZipArchive;
$zip->open('[node:field-file-addres]');
$zip->extractTo('public://file_[node:nid]');
$zip->close();
==
Но… Не получается. Папка создается, но архив не распаковывается. Вылетает две ошибки:
Warning: ZipArchive::extractTo() [ziparchive.extractto]: Invalid or unitialized Zip object в функции eval() (строка 3 в файле /home/u8138/domains/shevgeny.com/sites/all/modules/rules/modules/ php.eval.inc(146) : eval()'d code).
Warning: ZipArchive::close() [ziparchive.close]: Invalid or unitialized Zip object в функции eval() (строка 4 в файле /home/u8138/domains/shevgeny.com/sites/all/modules/rules/modules/ php.eval.inc(146) : eval()'d code).
Возможно, поможет функция
api.drupal.org/api/drupal..., но как с ней обращаться понятия не имею.
Нужен четкий, внятный и конкретный исполнитель, который напишет необходимый простейший код. Знающему работы на 2 минуты, остальным просьба не заморачиваться. Бюджет предлагайте сразу.