Изменение папки для входящих файлов — различия между версиями
Материал из Umicms
Alexei (обсуждение | вклад) (Новая страница: «'''Актуально для версии 2.9.6''' Задача - изменить папку для файлов, отправляемых пользователе…») |
Alexei (обсуждение | вклад) |
||
Строка 14: | Строка 14: | ||
public function changeFileDirectory(umiEventPoint $event) { | public function changeFileDirectory(umiEventPoint $event) { | ||
− | + | $message_id = $event->getParam('message_id'); | |
− | + | $file = umiObjectsCollection::getInstance()->getObject($message_id)->getValue('fajl'); | |
− | + | $old_path = $file->getFilePath(); | |
− | + | $file_name = $file->getFileName(); | |
− | + | rename($old_path, "./files/webforms/$file_name"); | |
− | + | return true; | |
− | + | } | |
</source> | </source> | ||
Версия 11:53, 25 мая 2014
Актуально для версии 2.9.6
Задача - изменить папку для файлов, отправляемых пользователем через обратную связь. Изначально они попадают в /files, где куча других файлов, и это не всегда удобно.
Для начала создайте файл events.php в classes/moduls/webforms/ с содержанием
<?php
new UmiEventListener("webforms_post", "webforms", "changeFileDirectory");
?>
Теперь в файле classes/moduls/webforms/__custom.php после слов //TODO: Write here your own macroses вставьте следующий код
public function changeFileDirectory(umiEventPoint $event) {
$message_id = $event->getParam('message_id');
$file = umiObjectsCollection::getInstance()->getObject($message_id)->getValue('fajl');
$old_path = $file->getFilePath();
$file_name = $file->getFileName();
rename($old_path, "./files/webforms/$file_name");
return true;
}
Теперь все файлы, отправленные через форму обратной связи, будут загружены в папку /files/webforms/ . Данную папку необходимо создать самостоятельно.