Изменение папки для входящих файлов

Материал из Umicms
Версия от 11:51, 25 мая 2014; Alexei (обсуждение | вклад) (Новая страница: «'''Актуально для версии 2.9.6''' Задача - изменить папку для файлов, отправляемых пользователе…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Актуально для версии 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/ . Данную папку необходимо создать самостоятельно.