preInsert() public method

Empty template method to provide concrete Record classes with the possibility to hook into the saving procedure only when the record is going to be inserted into the data store the first time.
public preInsert ( $event )
Esempio n. 1
0
 public function preInsert($event)
 {
     parent::preInsert($event);
     $this->created_at = date("Y-m-d h:i:s");
     // Get content from TinyMCE
     //        $content = $this->instruction;
     //        $content = preg_replace('/<p[^>]*>/', '', $content); // Remove the start <p> or <p attr="">
     //        $content = preg_replace('/<\/p>/', '<br />', $content); // Replace the end
     //        $this->instruction = $content; // Output content without P tags
 }
Esempio n. 2
0
 public function preInsert($event)
 {
     parent::preInsert($event);
     $this->created_at = date("Y-m-d h:i:s");
 }
Esempio n. 3
0
 /**
  * inserts a record into database
  *
  * @param Doctrine_Record $record   record to be inserted
  * @return boolean
  */
 public function insert(Doctrine_Record $record)
 {
     // listen the onPreInsert event
     $event = new Doctrine_Event($record, Doctrine_Event::RECORD_INSERT);
     $record->preInsert($event);
     $table = $record->getTable();
     $table->getRecordListener()->preInsert($event);
     if (!$event->skipOperation) {
         if ($table->getOption('joinedParents')) {
             // just for bc!
             $this->_insertCTIRecord($table, $record);
             //--
         } else {
             $this->processSingleInsert($record);
         }
     }
     $table->addRecord($record);
     $table->getRecordListener()->postInsert($event);
     $record->postInsert($event);
     return true;
 }
Esempio n. 4
0
 /**
  * inserts a record into database
  *
  * @param Doctrine_Record $record   record to be inserted
  * @return boolean
  */
 public function insert(Doctrine_Record $record)
 {
     // listen the onPreInsert event
     $event = new Doctrine_Event($this, Doctrine_Event::RECORD_INSERT);
     $record->preInsert($event);
     if (!$event->skipOperation) {
         $array = $record->getPrepared();
         if (empty($array)) {
             return false;
         }
         $table = $record->getTable();
         $keys = $table->getPrimaryKeys();
         $seq = $record->getTable()->sequenceName;
         if (!empty($seq)) {
             $id = $this->conn->sequence->nextId($seq);
             $name = $record->getTable()->getIdentifier();
             $array[$name] = $id;
             $record->assignIdentifier($id);
         }
         $this->conn->insert($table->getTableName(), $array);
         if (empty($seq) && count($keys) == 1 && $keys[0] == $table->getIdentifier() && $table->getIdentifierType() != Doctrine::IDENTIFIER_NATURAL) {
             if (strtolower($this->conn->getName()) == 'pgsql') {
                 $seq = $table->getTableName() . '_' . $keys[0];
             }
             $id = $this->conn->sequence->lastInsertId($seq);
             if (!$id) {
                 $id = $table->getMaxIdentifier();
             }
             $record->assignIdentifier($id);
         } else {
             $record->assignIdentifier(true);
         }
     }
     $record->getTable()->addRecord($record);
     $record->postInsert($event);
     return true;
 }
 /**
  * Preinsert hook for transactional activity logging.
  *
  * @param Doctrine_Event $event
  */
 public function preInsert($event)
 {
     parent::preInsert($event);
     AIR2Logger::log($this, 'insert');
 }
Esempio n. 6
0
 /**
  * inserts a record into database
  *
  * @param Doctrine_Record $record   record to be inserted
  * @return boolean
  */
 public function insert(Doctrine_Record $record)
 {
     // listen the onPreInsert event
     $event = new Doctrine_Event($record, Doctrine_Event::RECORD_INSERT);
     $record->preInsert($event);
     $table = $record->getTable();
     $table->getRecordListener()->preInsert($event);
     if (!$event->skipOperation) {
         if ($table->getOption('joinedParents')) {
             $dataSet = $this->formatDataSet($record);
             $component = $table->getComponentName();
             $classes = $table->getOption('joinedParents');
             $classes[] = $component;
             foreach ($classes as $k => $parent) {
                 if ($k === 0) {
                     $rootRecord = new $parent();
                     $rootRecord->merge($dataSet[$parent]);
                     $this->processSingleInsert($rootRecord);
                 } else {
                     foreach ((array) $rootRecord->identifier() as $id => $value) {
                         $dataSet[$parent][$id] = $value;
                     }
                     $this->conn->insert($this->conn->getTable($parent), $dataSet[$parent]);
                 }
             }
         } else {
             $this->processSingleInsert($record);
         }
     }
     $table->addRecord($record);
     $table->getRecordListener()->postInsert($event);
     $record->postInsert($event);
     return true;
 }