Open Journal Systems  3.3.0
PublishSubmissions.inc.php
1 <?php
2 
16 import('lib.pkp.classes.scheduledTask.ScheduledTask');
17 
19 
23  public function getName() {
24  return __('admin.scheduledTask.publishSubmissions');
25  }
26 
30  public function executeActions() {
31  import('classes.submission.Submission'); // import constants
32 
33  $contextIds = Services::get('context')->getIds([
34  'isEnabled' => true,
35  ]);
36  foreach ($contextIds as $contextId) {
37  $submissionsIterator = Services::get('submission')->getMany([
38  'contextId' => $contextId,
39  'status' => STATUS_SCHEDULED,
40  ]);
41  foreach ($submissionsIterator as $submission) {
42  $datePublished = $submission->getCurrentPublication()->getData('datePublished');
43  if ($datePublished && strtotime($datePublished) <= strtotime(Core::getCurrentDate())) {
44  Services::get('publication')->publish($submission->getCurrentPublication());
45  }
46  }
47  }
48 
49  return true;
50  }
51 }
52 
53 
PublishSubmissions\executeActions
executeActions()
Definition: PublishSubmissions.inc.php:30
PublishSubmissions
Class to published submissions scheduled for publication.
Definition: PublishSubmissions.inc.php:18
ScheduledTask
Base class for executing scheduled tasks. All scheduled task classes must extend this class and imple...
Definition: ScheduledTask.inc.php:20
Core\getCurrentDate
static getCurrentDate($ts=null)
Definition: Core.inc.php:63
PublishSubmissions\getName
getName()
Definition: PublishSubmissions.inc.php:23
PKPServices\get
static get($service)
Definition: PKPServices.inc.php:49