/** * {@inheritDoc} * @return mixed */ public function process() { if (!$this->resource->checkPolicy('delete')) { return $this->failure($this->modx->lexicon('resource_err_delete')); } $resources = array($this->resource); $ids = array($this->resource->id); $this->modx->invokeEvent('OnBeforeEmptyTrash', array('ids' => &$ids, 'resources' => &$resources)); $this->handleChildren(); /** @var modResourceGroupResource[] $resourceGroupResources */ $resourceGroupResources = $this->resource->getMany('ResourceGroupResources'); /** @var modTemplateVarResource[] $templateVarResources */ $templateVarResources = $this->resource->getMany('TemplateVarResources'); foreach ($resourceGroupResources as $resourceGroupResource) { $resourceGroupResource->remove(); } foreach ($templateVarResources as $templateVarResource) { $templateVarResource->remove(); } $this->modx->removeCollection('CollectionSelection', array('resource' => $this->resource->id)); if ($this->resource->remove() == false) { return $this->failure($this->modx->lexicon('resource_err_delete')); } $this->modx->invokeEvent('OnEmptyTrash', array('num_deleted' => 1, 'resources' => &$resources, 'ids' => &$ids)); $this->logManagerAction(); $skipClearCache = $this->getProperty('skipClearCache', false); if ($skipClearCache == false) { $this->clearCache(); } return $this->success(); }
/** * @param array $ancestors * * @return bool */ public function remove(array $ancestors = array()) { $collection = $this->xpdo->getIterator('TicketThread', array('name' => 'resource-' . $this->id)); /** @var TicketThread $item */ foreach ($collection as $item) { $item->remove(); } /** @var TicketAuthor $profile */ if ($profile = $this->xpdo->getObject('TicketAuthor', $this->get('createdby'))) { $profile->removeAction('ticket', $this->id, $this->get('createdby')); } return parent::remove($ancestors); }
public function tearDown() { parent::tearDown(); $this->thread->remove(); $this->resource->remove(); }
/** * Override remove to remove the associated Quip thread * * {@inheritDoc} * * @param array $ancestors * @return boolean */ public function remove(array $ancestors = array()) { $removed = parent::remove($ancestors); if ($removed) { $quipPath = $this->xpdo->getOption('quip.core_path', null, $this->xpdo->getOption('core_path') . 'components/quip/'); $this->xpdo->addPackage('quip', $quipPath . 'model/'); /** @var quipThread $thread */ $thread = $this->xpdo->getObject('quipThread', array('name' => 'article-b' . $this->get('parent') . '-' . $this->get('id'))); if ($thread) { $thread->remove(); } } return $removed; }