Open Monograph Press  3.3.0
PublicationFormatService.inc.php
1 <?php
14 namespace APP\Services;
15 
16 use \Application;
17 use \Services;
18 use \DAORegistry;
19 
21 
29  public function deleteFormat($publicationFormat, $submission, $context) {
30 
31  Application::getRepresentationDAO()->deleteById($publicationFormat->getId());
32 
33  // Delete publication format metadata
34  $metadataDaos = ['IdentificationCodeDAO', 'MarketDAO', 'PublicationDateDAO', 'SalesRightsDAO'];
35  foreach ($metadataDaos as $metadataDao) {
36  $result = DAORegistry::getDAO($metadataDao)->getByPublicationFormatId($publicationFormat->getId());
37  while (!$result->eof()) {
38  $object = $result->next();
39  DAORegistry::getDAO($metadataDao)->deleteObject($object);
40  }
41  }
42 
43  // Create a tombstone for this publication format.
44  import('classes.publicationFormat.PublicationFormatTombstoneManager');
45  $publicationFormatTombstoneMgr = new \PublicationFormatTombstoneManager();
46  $publicationFormatTombstoneMgr->insertTombstoneByPublicationFormat($publicationFormat, $context);
47 
48  // Log the deletion of the format.
49  import('lib.pkp.classes.log.SubmissionLog');
50  import('classes.log.SubmissionEventLogEntry');
51  \SubmissionLog::logEvent(Application::get()->getRequest(), $submission, SUBMISSION_LOG_PUBLICATION_FORMAT_REMOVE, 'submission.event.publicationFormatRemoved', array('formatName' => $publicationFormat->getLocalizedName()));
52  }
53 }
Application\getRepresentationDAO
static getRepresentationDAO()
Definition: Application.inc.php:160
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
SubmissionLog\logEvent
static logEvent($request, $submission, $eventType, $messageKey, $params=array())
Definition: SubmissionLog.inc.php:34
APP\Services\PublicationFormatService
Definition: PublicationFormatService.inc.php:20
APP\Services
Definition: ContextService.inc.php:15
APP\Services\PublicationFormatService\deleteFormat
deleteFormat($publicationFormat, $submission, $context)
Definition: PublicationFormatService.inc.php:29
PKPApplication\get
static get()
Definition: PKPApplication.inc.php:235