protected function get_timeline(\Orm\Model $obj) { $query = \Timeline\Model_Timeline::query(); foreach ($this->_timeline_relations as $property_to => $froms) { foreach ($froms as $value_from => $type) { $value = \Site_Model::get_value_for_observer_setting($obj, $value_from, $type); $query = $query->where($property_to, $value); } } return $query->get_one(); }
private function set_optional_value($self_obj) { if (empty($this->_optional_updates)) { return; } foreach ($this->_optional_updates as $property_to => $froms) { foreach ($froms as $value_from => $type) { $value = \Site_Model::get_value_for_observer_setting($self_obj, $value_from, $type); $this->update_model->{$property_to} = $value; } } }
private function execute($obj) { $models = \Site_Model::get4relation($this->_model_to, $this->_conditions, $obj); foreach ($models as $model) { $params = array(); if (!empty($this->_execute_func['params'])) { foreach ($this->_execute_func['params'] as $value_from => $type) { $params[] = \Site_Model::get_value_for_observer_setting($model, $value_from, $type); } } call_user_func_array($this->_execute_func['method'], $params); } }
private function execute($obj) { $models = \Site_Model::get4relation($this->_model_to, $this->_conditions, $obj); foreach ($models as $model) { foreach ($this->_update_properties as $property_to => $froms) { if (!is_array($froms)) { $model->{$froms} = $obj->{$froms}; } else { foreach ($froms as $value_from => $type) { $value = \Site_Model::get_value_for_observer_setting($obj, $value_from, $type); $model->{$property_to} = $value; } } } if (!$model->is_changed()) { continue; } $model->save(); } }
private function get_datetime_from_relational_model($obj) { if (!($relational_model = $this->get_relational_model($obj, $this->_model_from))) { return false; } if (!class_exists($relational_model)) { return false; } $model_from = get_real_class($this->relational_model); $query = $model_from::query(); foreach ($this->_conditions as $property_to => $froms) { foreach ($froms as $value_from => $type) { $value = \Site_Model::get_value_for_observer_setting($obj, $value_from, $type); $query->where($property_to, $value); } } $model = $query->get_one(); if (empty($model->{$this->_copy_property})) { return false; } return $model->{$this->_copy_property}; }
private function get_variables($obj) { foreach ($this->_update_properties as $property_to => $froms) { if (!is_array($froms)) { ${$property_to} = $obj->{$froms}; } else { foreach ($froms as $value_from => $type) { ${$property_to} = \Site_Model::get_value_for_observer_setting($obj, $value_from, $type); } } } if (!isset($member_id_to)) { $member_id_to = 0; } return array($foreign_table, $foreign_id, $member_id_to, $member_id_from, $type_key); }
public static function get4relation($model_to, array $conditions, \Orm\Model $model_obj_from) { if (!class_exists($model_to)) { throw new \FuelException('Class not found : ' . $model_to); } $model_to = get_real_class($model_to); $query = $model_to::query(); foreach ($conditions as $property_to => $froms) { foreach ($froms as $value_from => $type) { $query->where($property_to, \Site_Model::get_value_for_observer_setting($model_obj_from, $value_from, $type)); } } return $query->get(); }