deleteIssueTree() 공개 메소드

Delete the entire tree of files belonging to an issue.
public deleteIssueTree ( )
예제 #1
0
파일: IssueDAO.inc.php 프로젝트: bkroll/ojs
 /**
  * Delete issue. Deletes associated issue galleys, cover pages, and published articles.
  * @param $issue object issue
  */
 function deleteObject($issue)
 {
     import('classes.file.PublicFileManager');
     $publicFileManager = new PublicFileManager();
     $coverImage = $issue->getCoverImage();
     if (!empty($coverImage)) {
         $publicFileManager->removeJournalFile($issue->getJournalId(), $coverImage);
     }
     $issueId = $issue->getId();
     // Delete issue-specific ordering if it exists.
     $sectionDao = DAORegistry::getDAO('SectionDAO');
     $sectionDao->deleteCustomSectionOrdering($issueId);
     // Delete published issue galleys and issue files
     $issueGalleyDao = DAORegistry::getDAO('IssueGalleyDAO');
     $issueGalleyDao->deleteByIssueId($issueId);
     $issueFileDao = DAORegistry::getDAO('IssueFileDAO');
     $issueFileDao->deleteByIssueId($issueId);
     import('classes.file.IssueFileManager');
     $issueFileManager = new IssueFileManager($issueId);
     $issueFileManager->deleteIssueTree();
     // Delete published articles
     $publishedArticleDao = DAORegistry::getDAO('PublishedArticleDAO');
     $publishedArticleDao->deletePublishedArticlesByIssueId($issueId);
     // Delete issue settings and issue
     $this->update('DELETE FROM issue_settings WHERE issue_id = ?', (int) $issueId);
     $this->update('DELETE FROM issues WHERE issue_id = ?', (int) $issueId);
     $this->update('DELETE FROM custom_issue_orders WHERE issue_id = ?', (int) $issueId);
     $this->resequenceCustomIssueOrders($issue->getJournalId());
     $this->flushCache();
 }
예제 #2
0
 /**
  * Delete issue. Deletes associated issue galleys, cover pages, and published articles.
  * @param $issue object issue
  */
 function deleteIssue(&$issue)
 {
     import('classes.file.PublicFileManager');
     $publicFileManager = new PublicFileManager();
     if (is_array($issue->getFileName(null))) {
         foreach ($issue->getFileName(null) as $fileName) {
             if ($fileName != '') {
                 $publicFileManager->removeJournalFile($issue->getJournalId(), $fileName);
             }
         }
     }
     if (($fileName = $issue->getStyleFileName()) != '') {
         $publicFileManager->removeJournalFile($issue->getJournalId(), $fileName);
     }
     $issueId = $issue->getId();
     // Delete issue-specific ordering if it exists.
     $sectionDao =& DAORegistry::getDAO('SectionDAO');
     $sectionDao->deleteCustomSectionOrdering($issueId);
     // Delete published issue galleys and issue files
     $issueGalleyDao =& DAORegistry::getDAO('IssueGalleyDAO');
     $issueGalleyDao->deleteGalleysByIssue($issueId);
     $issueFileDao =& DAORegistry::getDAO('IssueFileDAO');
     $issueFileDao->deleteIssueFiles($issueId);
     import('classes.file.IssueFileManager');
     $issueFileManager = new IssueFileManager($issueId);
     $issueFileManager->deleteIssueTree();
     // Delete published articles
     $publishedArticleDao =& DAORegistry::getDAO('PublishedArticleDAO');
     $publishedArticleDao->deletePublishedArticlesByIssueId($issueId);
     // Delete issue settings and issue
     $this->update('DELETE FROM issue_settings WHERE issue_id = ?', (int) $issueId);
     $this->update('DELETE FROM issues WHERE issue_id = ?', (int) $issueId);
     $this->update('DELETE FROM custom_issue_orders WHERE issue_id = ?', (int) $issueId);
     $this->resequenceCustomIssueOrders($issue->getJournalId());
     $this->flushCache();
 }