/** * Perform paste operation after cut * * @param Docman_Item $itemToMove Item to move * @param Docman_Folder $newParentItem New parent item * @param PFUser $user User who perform the paste * @param String $ordering Where the item should be paste within the new folder * * @return void */ protected function _doCutPaste($itemToMove, $newParentItem, $user, $ordering) { if ($itemToMove && $newParentItem && $newParentItem->getId() != $itemToMove->getId()) { $item_factory = $this->_getItemFactory(); $old_parent = $item_factory->getItemFromDb($itemToMove->getParentId()); if ($item_factory->setNewParent($itemToMove->getId(), $newParentItem->getId(), $ordering)) { $itemToMove->fireEvent('plugin_docman_event_move', $user, $newParentItem); $hp = Codendi_HTMLPurifier::instance(); $this->_controler->feedback->log('info', $GLOBALS['Language']->getText('plugin_docman', 'info_item_moved', array($itemToMove->getGroupId(), $old_parent->getId(), $hp->purify($old_parent->getTitle(), CODENDI_PURIFIER_CONVERT_HTML), $newParentItem->getId(), $hp->purify($newParentItem->getTitle(), CODENDI_PURIFIER_CONVERT_HTML))), CODENDI_PURIFIER_DISABLED); $item_factory->delCopyPreference(); $item_factory->delCutPreference(); } else { $this->_controler->feedback->log('error', $GLOBALS['Language']->getText('plugin_docman', 'error_item_not_moved')); } } }
/** * Mark item as deleted * * @param Docman_Item $item * * @return void */ function delete($item) { // The event must be processed before the item is deleted $um = UserManager::instance(); $user = $um->getCurrentUser(); $itemParent = $this->getItemFromDb($item->getParentId()); $item->fireEvent('plugin_docman_event_del', $user, $itemParent); // Delete Lock if any $lF = new Docman_LockFactory(); if ($lF->itemIsLocked($item)) { $lF->unlock($item); } $item->setDeleteDate(time()); $this->delCutPreferenceForAllUsers($item->getId()); $this->delCopyPreferenceForAllUsers($item->getId()); $dao = $this->_getItemDao(); $dao->updateFromRow($item->toRow()); $dao->storeDeletedItem($item->getId()); }