/** * Perform paste operation after a copy * * @param Docman_Item $itemToPaste Item to paste * @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 * @param Boolean $importMd Do we need to import metadata from another project * @param String $dataRoot Where the docman data stand on hard drive * * @return void */ protected function _doCopyPaste($itemToPaste, $newParentItem, $user, $ordering, $importMd, $dataRoot) { $srcMdFactory = new Docman_MetadataFactory($itemToPaste->getGroupId()); // Import metadata if asked if ($importMd) { $srcMdFactory->exportMetadata($newParentItem->getGroupId()); } // Get mapping between the 2 definitions $mdMapping = array(); $srcMdFactory->getMetadataMapping($newParentItem->getGroupId(), $mdMapping); // Permissions if ($itemToPaste->getGroupId() != $newParentItem->getGroupId()) { $ugroupsMapping = false; } else { $ugroupsMapping = true; } // // Action $itemFactory = $this->_getItemFactory(); $item_mapping = $itemFactory->cloneItems($itemToPaste->getGroupId(), $newParentItem->getGroupId(), $user, $mdMapping, $ugroupsMapping, $dataRoot, $itemToPaste->getId(), $newParentItem->getId(), $ordering); $event_manager = EventManager::instance(); $event_manager->processEvent(PLUGIN_DOCMAN_EVENT_COPY, array('item' => $itemFactory->getItemFromDb($item_mapping[$itemToPaste->getId()]))); $itemFactory->delCopyPreference(); $itemFactory->delCutPreference(); }
/** * Perform paste operation after a copy * * @param Docman_Item $itemToPaste Item to paste * @param Docman_Folder $newParentItem New parent item * @param User $user User who perform the paste * @param String $ordering Where the item should be paste within the new folder * @param Boolean $importMd Do we need to import metadata from another project * @param String $dataRoot Where the docman data stand on hard drive * * @return void */ protected function _doCopyPaste($itemToPaste, $newParentItem, $user, $ordering, $importMd, $dataRoot) { $srcMdFactory = new Docman_MetadataFactory($itemToPaste->getGroupId()); // Import metadata if asked if ($importMd) { $srcMdFactory->exportMetadata($newParentItem->getGroupId()); } // Get mapping between the 2 definitions $mdMapping = array(); $srcMdFactory->getMetadataMapping($newParentItem->getGroupId(), $mdMapping); // Permissions if ($itemToPaste->getGroupId() != $newParentItem->getGroupId()) { $ugroupsMapping = false; } else { $ugroupsMapping = true; } // // Action $itemFactory = $this->_getItemFactory(); $itemFactory->cloneItems($itemToPaste->getGroupId(), $newParentItem->getGroupId(), $user, $mdMapping, $ugroupsMapping, $dataRoot, $itemToPaste->getId(), $newParentItem->getId(), $ordering); $itemFactory->delCopyPreference(); $itemFactory->delCutPreference(); }