/** * Override the doSave function to do some custom tweaks. * @param PropelPDO $con */ protected function doSave(PropelPDO $con) { if (!$this->getSlot()->isEditable() && $this->getPageId() == $this->getSlot()->getPageId()) { $slotConfigs = sfPlopSlotConfigPeer::retrieveDescendants($this->getSlotId(), $this->getPageId()); if ($slotConfigs) { foreach ($slotConfigs as $slotConfig) { if ($slotConfig->getId() != $this->getId()) { $slotConfig->delete(); } } } } $this->getPage()->setUpdatedAt(time()); $this->getPage()->save(); return parent::doSave($con); }
/** * Override the doSave function to do some custom tweaks. * @param PropelPDO $con */ protected function doSave(PropelPDO $con) { if (!$this->getPage()->isTemplate() && $this->isEditable() && !$this->getPage()->getTemplate()->hasSlotArea()) { $this->setIsEditable(false); } if (!$this->isNew() && !$this->isEditable()) { foreach (sfPlopSlotConfigPeer::retrieveDescendants($this->getId(), $this->getPageId()) as $slotConfig) { if ($slotConfig->getSlotId() != $this->getId()) { $slotConfig->delete(); } } } $this->getPage()->setUpdatedAt(time()); $this->getPage()->save(); return parent::doSave($con); }