/** * Performs the work of inserting or updating the row in the database. * * If the object is new, it inserts it; otherwise an update is performed. * All related objects are also updated in this method. * * @param PropelPDO $con * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. * @throws PropelException * @see save() */ protected function doSave(PropelPDO $con) { $affectedRows = 0; // initialize var to track total num of affected rows if (!$this->alreadyInSave) { $this->alreadyInSave = true; // We call the save method on the following object(s) if they // were passed to this object by their coresponding set // method. This object relates to these object(s) by a // foreign key reference. if ($this->aSystemEvent !== null) { if ($this->aSystemEvent->isModified() || $this->aSystemEvent->isNew()) { $affectedRows += $this->aSystemEvent->save($con); } $this->setSystemEvent($this->aSystemEvent); } if ($this->aUser !== null) { if ($this->aUser->isModified() || $this->aUser->isNew()) { $affectedRows += $this->aUser->save($con); } $this->setUser($this->aUser); } if ($this->isNew() || $this->isModified()) { // persist changes if ($this->isNew()) { $this->doInsert($con); } else { $this->doUpdate($con); } $affectedRows += 1; $this->resetModified(); } if ($this->systemEventInstanceMessagesScheduledForDeletion !== null) { if (!$this->systemEventInstanceMessagesScheduledForDeletion->isEmpty()) { SystemEventInstanceMessageQuery::create()->filterByPrimaryKeys($this->systemEventInstanceMessagesScheduledForDeletion->getPrimaryKeys(false))->delete($con); $this->systemEventInstanceMessagesScheduledForDeletion = null; } } if ($this->collSystemEventInstanceMessages !== null) { foreach ($this->collSystemEventInstanceMessages as $referrerFK) { if (!$referrerFK->isDeleted()) { $affectedRows += $referrerFK->save($con); } } } $this->alreadyInSave = false; } return $affectedRows; }
public function processAddedEvent(Event $event) { $logEvent = new \SystemEvent(); $logEvent->user_id = 0; if (\Auth::check()) { $logEvent->user_id = \Auth::user()->id; } if (property_exists($event, 'eventName')) { $logEvent->event_name = $event->eventName; } else { $logEvent->event_name = get_class($event); } $logEvent->event_data = $event; if (isset($_SERVER['REMOTE_ADDR'])) { $logEvent->client_ip = $_SERVER['REMOTE_ADDR']; } else { $logEvent->client_ip = '::1'; } if ($this->getContext()->hasSourceEvent()) { $sourceSystemEvent = $this->getContext()->getSourceEvent(); $logEvent->sourceEvent()->associate($sourceSystemEvent); } $logEvent->source = 'front'; if (\Request::is('cms*')) { $logEvent->source = 'cms'; } else { if (\Request::is('api')) { $logEvent->source = 'api'; } } $logEvent->save(); $this->getContext()->setSourceEvent($logEvent); }