/**
  * 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();
 }
Beispiel #4
0
 /**
  * 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);
 }
Beispiel #5
0
 /**
  * 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);
 }