Gc\Script\Model::save PHP Method

save() public method

Save script model
public save ( ) : integer
return integer
    public function save()
    {
        $this->events()->trigger(__CLASS__, 'before.save', $this);
        $arraySave = array('name' => $this->getName(), 'identifier' => $this->getIdentifier(), 'description' => $this->getDescription(), 'updated_at' => new Expression('NOW()'));
        try {
            if ($this->getId() == null) {
                $arraySave['created_at'] = new Expression('NOW()');
                $this->insert($arraySave);
                $this->setId($this->getLastInsertId());
            } else {
                $this->update($arraySave, array('id' => (int) $this->getId()));
            }
            $oldFilename = sprintf(GC_TEMPLATE_PATH . '/script/%s.phtml', $this->getOrigData('identifier'));
            if (file_exists($oldFilename)) {
                unlink($oldFilename);
            }
            file_put_contents($this->getFilePath(), $this->getData('content'));
            $this->events()->trigger(__CLASS__, 'after.save', $this);
            return $this->getId();
        } catch (\Exception $e) {
            $this->events()->trigger(__CLASS__, 'after.save.failed', $this);
            throw new \Gc\Exception($e->getMessage(), $e->getCode(), $e);
        }
    }

Usage Example

Beispiel #1
0
 /**
  * Sets up the fixture, for example, opens a network connection.
  * This method is called before a test is executed.
  *
  * @return void
  */
 protected function setUp()
 {
     $this->script = ScriptModel::fromArray(array('name' => 'Script name', 'identifier' => 'script-identifier', 'description' => 'Script description', 'content' => 'script Content'));
     $this->script->save();
     $serviceManager = Registry::get('Application')->getServiceManager();
     $this->object = new Script($serviceManager);
     $serviceManager->setAllowOverride(true);
     $serviceManager->setService('currentDocument', DocumentModel::fromArray(array('id' => 1)));
     $serviceManager->setAllowOverride(false);
 }
All Usage Examples Of Gc\Script\Model::save