/** * Overrides xPDOObject::save to cache the actionMap. * * {@inheritdoc} */ public function remove(array $ancestors = array()) { $removed = parent::remove($ancestors); if ($removed && empty($this->xpdo->config[xPDO::OPT_SETUP])) { $this->rebuildCache(); } return $removed; }
/** * Overrides xPDOObject::remove to fire modX-specific events * * {@inheritDoc} */ public function remove(array $ancestors = array()) { if ($this->xpdo instanceof modX) { $this->xpdo->invokeEvent('OnBeforeResourceGroupRemove', array('resourceGroup' => &$this, 'ancestors' => $ancestors)); } $removed = parent::remove($ancestors); if ($this->xpdo instanceof modX) { $this->xpdo->invokeEvent('OnResourceGroupRemove', array('resourceGroup' => &$this, 'ancestors' => $ancestors)); } return $removed; }
/** * Overrides xPDOObject::remove to reset all Element categories back to 0 * and fire modX-specific events. * * {@inheritDoc} */ public function remove(array $ancestors = array()) { if ($this->xpdo instanceof modX) { $this->xpdo->invokeEvent('OnCategoryBeforeRemove', array('category' => &$this, 'ancestors' => $ancestors)); } $removed = parent::remove($ancestors); if ($removed && $this->xpdo instanceof modX) { $elementClasses = array('modChunk', 'modPlugin', 'modSnippet', 'modTemplate', 'modTemplateVar'); foreach ($elementClasses as $classKey) { $elements = $this->xpdo->getCollection($classKey, array('category' => $this->get('id'))); foreach ($elements as $element) { $element->set('category', 0); $element->save(); } } $this->xpdo->invokeEvent('OnCategoryRemove', array('category' => &$this, 'ancestors' => $ancestors)); } return $removed; }
/** * Overrides xPDOObject::remove to remove all Property Sets that are related * to this object. * * {@inheritdoc} */ public function remove(array $ancestors = array()) { $this->xpdo->removeCollection('modElementPropertySet', array('element' => $this->get('id'), 'element_class' => $this->_class)); $result = parent::remove($ancestors); return $result; }