Replace subject parameters in plain subject string as well

Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
Julius Härtl
2018-11-07 20:38:26 +01:00
parent 924d4bd01f
commit 2b74da9d30
3 changed files with 37 additions and 9 deletions

View File

@@ -127,13 +127,28 @@ class DeckProvider implements IProvider {
try {
$subject = $this->activityManager->getActivityFormat($subjectIdentifier, $subjectParams, $ownActivity);
$event->setParsedSubject($subject);
$event->setRichSubject($subject, $params);
$this->setSubjects($event, $subject, $params);
} catch (\Exception $e) {
}
return $event;
}
/**
* @param IEvent $event
* @param string $subject
* @param array $parameters
*/
protected function setSubjects(IEvent $event, $subject, array $parameters) {
$placeholders = $replacements = [];
foreach ($parameters as $placeholder => $parameter) {
$placeholders[] = '{' . $placeholder . '}';
$replacements[] = $parameter['name'];
}
$event->setParsedSubject(str_replace($placeholders, $replacements, $subject))
->setRichSubject($subject, $parameters);
}
private function getIcon(IEvent $event) {
$event->setIcon($this->urlGenerator->imagePath('deck', 'deck-dark.svg'));
if (strpos($event->getSubject(), '_update') !== false) {