public function before_update(\Orm\Model $obj)
 {
     if (!$obj->is_changed('comment_count') && !$obj->is_changed('like_count')) {
         return;
     }
     $obj->importance_level = \Timeline\Site_Util::get_importance_level($obj->comment_count, $obj->like_count);
 }
 public function after_update(\Orm\Model $obj)
 {
     if (!($timeline_caches = \Timeline\Model_TimelineCache::get4timeline_id($obj->id))) {
         return;
     }
     foreach ($timeline_caches as $timeline_cache) {
         // is_follow record のみ timeline_cache.id の付け直し
         if ($obj->is_changed('sort_datetime') && $timeline_cache->is_follow) {
             $timeline_cache->delete();
             $timeline_cache->save();
         }
         if ($obj->is_changed('public_flag')) {
             $timeline_cache->public_flag = $obj->public_flag;
         }
         if ($obj->is_changed('comment_count')) {
             $timeline_cache->comment_count = $obj->comment_count;
         }
         if ($obj->is_changed('like_count')) {
             $timeline_cache->like_count = $obj->like_count;
         }
         if ($obj->is_changed('importance_level')) {
             $timeline_cache->importance_level = $obj->importance_level;
         }
         $timeline_cache->save();
     }
 }
Exemple #3
0
 public static function check_properties_updated_without_ignores(\Orm\Model $obj, $ignore_properties)
 {
     if (empty($ignore_properties)) {
         return false;
     }
     $ignore_properties = (array) $ignore_properties;
     $all_properties = \Util_Db::get_columns($obj::get_table_name());
     foreach ($all_properties as $property) {
         if (in_array($property, $ignore_properties)) {
             continue;
         }
         if ($obj->is_changed($property)) {
             return true;
         }
     }
     return false;
 }
 public function before_save(\Orm\Model $obj)
 {
     if ($obj->is_new() or $obj->is_changed()) {
         $obj->{$this->_property} = \Input::real_ip();
     }
 }