예제 #1
0
 public static function _init()
 {
     static::$_properties['type']['validation']['in_array'][] = \Config::get('timeline.types');
     static::$_properties['foreign_table']['validation']['in_array'][] = Site_Util::get_accept_timeline_foreign_tables();
     static::$_properties['public_flag']['form'] = \Site_Form::get_public_flag_configs();
     static::$_properties['public_flag']['validation']['in_array'][] = \Site_Util::get_public_flags();
     if (is_enabled('notice')) {
         static::$_observers['MyOrm\\Observer_InsertNotice'] = array('events' => array('after_insert'), 'update_properties' => array('foreign_table' => array('timeline' => 'value'), 'foreign_id' => array('id' => 'property'), 'type_key' => array('create' => 'value'), 'member_id_from' => array('member_id' => 'property')));
         static::$_observers['MyOrm\\Observer_DeleteNotice'] = array('events' => array('before_delete'), 'conditions' => array('foreign_table' => array('timeline' => 'value'), 'foreign_id' => array('id' => 'property')));
     }
     if (\Config::get('timeline.articles.cache.is_use')) {
         // 更新・削除時に timeline の cache を削除
         static::$_observers['MyOrm\\Observer_UpdateTimeline'] = array('events' => array('after_update'), 'check_changed' => array('check_properties' => array('body', 'source', 'source_uri', 'public_flag', 'sort_datetime' => array('ignore_property' => 'comment_count'))));
         static::$_observers['MyOrm\\Observer_DeleteTimeline'] = array('events' => array('before_delete'));
     }
     if (\Config::get('timeline.importanceLevel.isEnabled')) {
         // 更新時に timeline の importance_level を更新
         static::$_observers['MyOrm\\Observer_UpdateTimelineImportanceLevel'] = array('events' => array('before_update'));
     }
 }