示例#1
0
 function perform_action($oEntity)
 {
     // TODO find a way to do bulk email
     $exportCode = $_SESSION['exportcode'];
     $this->oZip = ZipFolder::get($exportCode);
     $oQueue = new DownloadQueue();
     $config = KTConfig::getSingleton();
     $useQueue = $config->get('export/useDownloadQueue');
     if (is_a($oEntity, 'Document')) {
         $oDocument = $oEntity;
         if ($oDocument->isSymbolicLink()) {
             $oDocument->switchToLinkedCore();
         }
         if ($useQueue) {
             DownloadQueue::addItem($this->sExportCode, $this->oFolder->getId(), $oDocument->iId, 'document');
         } else {
             $oQueue->addDocument($this->oZip, $oDocument->iId);
         }
     } else {
         if (is_a($oEntity, 'Folder')) {
             $aDocuments = array();
             $oFolder = $oEntity;
             if ($oFolder->isSymbolicLink()) {
                 $oFolder = $oFolder->getLinkedFolder();
             }
             $sFolderId = $oFolder->getId();
             if ($useQueue) {
                 DownloadQueue::addItem($this->sExportCode, $this->oFolder->getId(), $sFolderId, 'folder');
             } else {
                 $oQueue->addFolder($this->oZip, $sFolderId);
             }
         }
     }
     return "DownloadDocument";
 }