/** * Replace place holders in the template with respective content. * * @param string $template Message template. * @param subscription $subscription subscription instance * @param \stdclass $eventobj Event data * @param \context $context context object * * @return mixed final template string. */ protected function replace_placeholders($template, subscription $subscription, $eventobj, $context) { $template = str_replace('{link}', $eventobj->link, $template); if ($eventobj->contextlevel == CONTEXT_MODULE && !empty($eventobj->contextinstanceid) && strpos($template, '{modulelink}') !== false) { $cm = get_fast_modinfo($eventobj->courseid)->get_cm($eventobj->contextinstanceid); $modulelink = $cm->url; $template = str_replace('{modulelink}', $modulelink, $template); } $template = str_replace('{rulename}', $subscription->get_name($context), $template); $template = str_replace('{description}', $subscription->get_description($context), $template); $template = str_replace('{eventname}', $subscription->get_event_name(), $template); return $template; }