getApp() !== Application::APP_ID) { throw new \InvalidArgumentException('Wrong app'); } $this->definitions->definitions['sign-request'] = [ 'author' => 'LibreSign', 'since' => '28.0.0', 'parameters' => [ 'id' => [ 'since' => '28.0.0', 'required' => true, 'description' => 'The id of SignRequest object', 'example' => '12345', ], 'name' => [ 'since' => '28.0.0', 'required' => true, 'description' => 'The display name of signer', 'example' => 'John Doe', ], ], ]; if ($this->activityManager->getRequirePNG()) { $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath(Application::APP_ID, 'app-dark.png'))); } else { $event->setIcon($this->url->getAbsoluteURL($this->url->imagePath(Application::APP_ID, 'app-dark.svg'))); } if (in_array($event->getSubject(), ['new_sign_request', 'update_sign_request'])) { $l = $this->languageFactory->get(Application::APP_ID, $language); $parameters = $event->getSubjectParameters(); $subject = $this->getParsedSubject($l, $event->getSubject()); $event->setParsedSubject( str_replace( ['{from}', '{file}'], [ $parameters['from']['name'], $parameters['file']['name'], ], $subject )) ->setRichSubject($subject, $parameters); } return $event; } private function getParsedSubject($l, $subject) { if ($subject === 'new_sign_request') { return $l->t('{from} requested your signature on {file}'); } elseif ($subject === 'update_sign_request') { return $l->t('{from} made changes on {file}'); } } }