Модуль «Files»

Применение модуля и вопросы по использованию
Быстрый переход:
Алексей

Алексей

Administrator
#10473   09 февраля 2018 18:47

Все модели, унаследованые от ActiveRecord имеют методы beforeInsert(), beforeUpdate(), beforeSave(), beforeDelete(), afterInsert(), afterUpdate(), afterSave(), afterDelete(), которые вызываются соответсвенно до и после наступления соотвествующего события.
Эти методы генерируют соответсвующие собятия и имеют хуки.

Имя хука получается так:
 

model::class.'.'.model::EVENT_AFTER_SAVE

см. \Som_Model_ActiveRecord::afterSave() (lib/Som/Model/ActiveRecord.php line:782)

В Вашем случае, наверное лучше использовать afterSave() у модели файла, чтобы перехватывать как добавление новых, так и обновление существующих картинок.

Хук:

files_model_File.afterSave

Сделайте ему обработчик, который будет проверять:
поле 'file_source' для страниц всегда равно 'page'
поле 'file_item'   это id страницы которой принадлежит этот файл

Далее все просто, если текущий пользователь не имеет права на автоутверждеие страниц, то страницу с этим ID отправить на модерацию.

Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!