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"; }