submission = $submission; $this->submitterUsers = $submitterUsers; $this->addData([ self::AUTHORS_WITH_AFFILIATION => $this->getAuthorsWithAffiliation(), self::SUBMITTER_NAME => $this->getSubmitterName(), ]); } public static function getDataDescriptions(): array { return array_merge([ parent::getDataDescriptions(), [ self::AUTHORS_WITH_AFFILIATION => __('emailTemplate.variable.authorsWithAffiliation'), self::SUBMITTER_NAME => __('emailTemplate.variable.submitterName'), ] ]); } protected function getSubmitterName(): string { return $this->submitterUsers ->map(fn (User $user) => $user->getFullName()) ->join(__('common.commaListSeparator')); } protected function getAuthorsWithAffiliation(): string { $authors = $this->submission->getCurrentPublication()->getData('authors'); if ($authors->empty()) { return ''; } return $authors ->map(fn (Author $author) => join(__('common.commaListSeparator'), [$author->getFullName(), $author->getLocalizedAffiliation()])) ->join('
'); } }