コード例 #1
0
 /**
  * 
  * 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);
     }
 }