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(); } }
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(); } }