context = $context; } /** * Add a {$outstandingTasks} variable * * @TODO docblock params */ public function setOutstandingTasks(array $outstanding, array $submissions, int $numberOfSubmissions): self { $outstandingTasks = []; foreach ($outstanding as $submissionId => $task) { /** @var Submission $submission */ $submission = $submissions[$submissionId]; /** @var Publication $publication */ $publication = $submission->getCurrentPublication(); $url = Application::get()->getRequest()->getDispatcher()->url( Application::get()->getRequest(), Application::ROUTE_PAGE, $this->context->getPath(), 'workflow', 'access', $submission->getId() ); $outstandingTasks[] = ' ⬤ ' . $task . '
' . $submission->getId() . ' — ' . htmlspecialchars($publication->getShortAuthorString()) . ' — ' . htmlspecialchars($publication->getLocalizedFullTitle(null, 'html')) . '

'; } $this->addData([ self::OUTSTANDING_TASKS => '' . join('', $outstandingTasks) . '
', self::NUMBER_OF_SUBMISSIONS => $numberOfSubmissions, ]); return $this; } /** * @copydoc Mailable::getDataDescriptions() */ public static function getDataDescriptions(): array { $variables = parent::getDataDescriptions(); $variables[static::OUTSTANDING_TASKS] = __('emailTemplate.variable.editorialReminder.outstandingTasks'); $variables[static::NUMBER_OF_SUBMISSIONS] = __('emailTemplate.variable.editorialReminder.numberOfSubmissions'); return $variables; } /** * Adds a footer with unsubscribe link */ protected function addFooter(string $locale): Mailable { $this->setupUnsubscribeFooter($locale, $this->context, 'emails.footer.unsubscribe.automated'); return $this; } }