/** * @public */ public function insert(&$obj, $force = false) { $fieldType = $obj->getFieldType(); if ($obj->isNew()) { $sql = 'ALTER TABLE %s ADD `' . $obj->get('field_name') . '` ' . $fieldType->getTableQuery($obj->get('field_type')); $this->_alterPage($sql); $this->_alterRevision($sql); } else { $oldObj =& $this->get($obj->get('definition_id')); if ($oldObj->get('field_name') != $obj->get('field_name')) { $sql = 'ALTER TABLE $s CHANGE `' . $oldObj->get('field_name') . '` `' . $obj->get('field_name') . '` ' . $fieldType->getTableQuery($this->get('field_type')); $this->_alterPage($sql); $this->_alterRevision($sql); } } return parent::insert($obj, $force); }
public function insert(&$obj, $force = false) { $ret = true; if ($obj->isNew() || $obj->get('status') === Lenum_Status::PUBLISHED) { $ret = parent::insert($obj, $force); } if ($ret === false) { return false; } //update revision $revision = Xcck_Utils::setupRevisionByPage($obj); $handler = Legacy_Utils::getModuleHandler('revision', $this->getDirname()); $ret = $handler->insert($revision, $force); return $ret; }