appName = $AppName; $this->urlGenerator = $urlGenerator; } /** * Return a list of additional templates that the template provider is offering * * @param string $template - mimetype of the template * * @return array */ public function getCustomTemplates($mimetype) : array { $templates = []; $templateFiles = TemplateManager::GetGlobalTemplates($mimetype); foreach ($templateFiles as $templateFile) { $template = new Template( TemplateProvider::class, $templateFile->getId(), $templateFile ); $template->setCustomPreviewUrl($this->urlGenerator->linkToRouteAbsolute($this->appName . ".template.preview", ["fileId" => $templateFile->getId()])); array_push($templates, $template); } return $templates; } /** * Return the file for a given template id * * @param string $templateId - identifier of the template * * @return File */ public function getCustomTemplate($templateId) : File { return TemplateManager::GetTemplate($templateId); } }