/** * Create packages for any deposits that don't have any or have been updated */ function _processNeedPackaging(&$journal) { $depositDao =& DAORegistry::getDAO('DepositDAO'); $depositQueue =& $depositDao->getNeedPackaging($journal->getId()); $fileManager = new JournalFileManager($journal); $plnDir = $fileManager->filesDir . PLN_PLUGIN_ARCHIVE_FOLDER; // make sure the pln work directory exists // TOOD: use FileManager calls instead of PHP ones where possible if ($fileManager->fileExists($plnDir, 'dir') !== true) { $fileManager->mkdirtree($plnDir); } // loop though all of the deposits that need packaging while ($deposit =& $depositQueue->next()) { $depositPackage = new DepositPackage($deposit, $this); $depositPackage->packageDeposit(); unset($deposit); } }