/** * Orm notifier method for logging DB create, update, and delete queries * * @param Orm\Model $model The model performing the query * @param string $event The event name from * @link http://fuelphp.com/docs/packages/orm/observers/creating.html#/event_names */ public static function orm_notify(Orm\Model $model, $event) { /* * Grab before and after data (get_data() must be on every model that creates, updates, and deletes, * so this code is intended to fail when it isn't present.) */ $tokens = array(); switch ($event) { case 'after_insert': $tokens = $model->get_data(); $message = 'Added a row through model ' . get_class($model); break; case 'after_update': $tokens = $model->get_data(); $message = 'Updated a row through model ' . get_class($model); break; case 'after_delete': $tokens = $model->get_data(); $message = 'Deleted a row through model ' . get_class($model); break; } // If we're tracking the event in progress, log it. if (!empty($tokens)) { static::logger('INFO', 'SQL:' . $event, $message, __METHOD__, $tokens); } }
function performItemDeletion(Orm\Model $item, $successUrl) { $id = $item->get('id'); $item->delete(); $this->deleteImageFolder($id); $session = Session::instance(); $session->set($this->deletedKey, true); // Re-loads the page on success Response::redirect($successUrl); }
/** * Update the parent count to the number of matching elements * * @param Model Model object subject of this observer method */ public function after_insert(Orm\Model $model) { $destination_model = new $this->_destination_model(); $where = array($this->_foreign_key => $model->{$this->_foreign_key}); $where_clause = array_merge($where, $this->_where); $count = $model->count(array('where' => $where_clause)); $result = $destination_model::find($model->{$this->_foreign_key}); $result->set($this->_count_field, $count); $result->save(); }
/** * Save - Set observer vars before save * * @param mixed Cascade options, see Orm\Model::save() * @return bool True on success, else false */ public function save($cascade = null) { Orm\Observer_CreatedAt::$mysql_timestamp = true; Orm\Observer_UpdatedAt::$mysql_timestamp = true; return parent::save($cascade); }
/** * Save - Set observer vars before save * * @param mixed Cascade options, see Orm\Model::save() * @return bool True on success, else false */ public function save($cascade = null) { Orm\Observer_Slug::$source = 'tag'; return parent::save($cascade); }