/** * * Enter description here ... * * @param Docman_Folder $item * @param $params */ public function visitFolder(&$item, $params = array()) { //delete all sub items before $items = $item->getAllItems(); if (isset($params['parent'])) { $parent = $params['parent']; } else { $parent = $this->_getItemFactory()->getItemFromDb($item->getParentId()); } $one_item_has_not_been_deleted = false; if ($items->size()) { $it =& $items->iterator(); while ($it->valid()) { $o =& $it->current(); $params['parent'] =& $item; if (!$o->accept($this, $params)) { $one_item_has_not_been_deleted = true; } $it->next(); } } if ($one_item_has_not_been_deleted) { $this->response->addFeedback('error', $GLOBALS['Language']->getText('plugin_docman', 'error_delete_notempty', $item->getTitle())); return false; } else { //Mark the folder as deleted; $params['parent'] =& $parent; return $this->_deleteItem($item, $params); } }