/** * Updates documents and deletes collections of CollectionRole. * @param Opus_Model_AbstractDb $model */ public function preDelete(Opus_Model_AbstractDb $model) { if ($model->isNewRecord()) { return; } // Update documents, incl. ServerDateModified if ($model instanceof Opus_CollectionRole) { $rootCollection = $model->getRootCollection(); if (!is_null($rootCollection)) { $this->updateDocuments($rootCollection); } } // Delete collections belonging to CollectionRole $collections = Opus_Db_TableGateway::getInstance('Opus_Db_Collections'); $collections->deleteTree($model->getId()); }