X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCore%2FRenderer.php;h=7f11f3f8e2a5ccd945692975675995711a04552e;hb=5704a433f00887b35fe866af6b161b096b27f9d9;hp=24f00341733530a24d097a1a1bf01f00049bda94;hpb=afb882048efa8c4b2914a6b054b129dee57061ef;p=friendica.git diff --git a/src/Core/Renderer.php b/src/Core/Renderer.php index 24f0034173..7f11f3f8e2 100644 --- a/src/Core/Renderer.php +++ b/src/Core/Renderer.php @@ -1,6 +1,6 @@ '', - 'videowidth' => 425, - 'videoheight' => 350, - 'force_max_items' => 0, - 'stylesheet' => '', + 'videowidth' => 425, + 'videoheight' => 350, + 'stylesheet' => '', 'template_engine' => 'smarty3', ]; private static $ldelim = [ 'internal' => '', - 'smarty3' => '{{' + 'smarty3' => '{{' ]; private static $rdelim = [ 'internal' => '', - 'smarty3' => '}}' + 'smarty3' => '}}' ]; /** @@ -71,14 +69,14 @@ class Renderer * @param string $template * @param array $vars * @return string - * @throws InternalServerErrorException + * @throws ServiceUnavailableException */ - public static function replaceMacros(string $template, array $vars = []) + public static function replaceMacros(string $template, array $vars = []): string { - $stamp1 = microtime(true); + DI::profiler()->startRecording('rendering'); // pass $baseurl to all templates if it isn't set - $vars = array_merge(['$baseurl' => DI::baseUrl()->get(), '$APP' => DI::app()], $vars); + $vars = array_merge(['$baseurl' => DI::baseUrl(), '$APP' => DI::app()], $vars); $t = self::getTemplateEngine(); @@ -86,13 +84,13 @@ class Renderer $output = $t->replaceMacros($template, $vars); } catch (Exception $e) { DI::logger()->critical($e->getMessage(), ['template' => $template, 'vars' => $vars]); - $message = is_site_admin() ? + $message = DI::app()->isSiteAdmin() ? $e->getMessage() : DI::l10n()->t('Friendica can\'t display this page at the moment, please contact the administrator.'); - throw new InternalServerErrorException($message); + throw new ServiceUnavailableException($message); } - DI::profiler()->saveTimestamp($stamp1, "rendering"); + DI::profiler()->stopRecording(); return $output; } @@ -103,25 +101,25 @@ class Renderer * @param string $file Template to load. * @param string $subDir Subdirectory (Optional) * - * @return string template. - * @throws InternalServerErrorException + * @return string Template + * @throws ServiceUnavailableException */ - public static function getMarkupTemplate($file, $subDir = '') + public static function getMarkupTemplate(string $file, string $subDir = ''): string { - $stamp1 = microtime(true); + DI::profiler()->startRecording('file'); $t = self::getTemplateEngine(); try { $template = $t->getTemplateFile($file, $subDir); } catch (Exception $e) { DI::logger()->critical($e->getMessage(), ['file' => $file, 'subDir' => $subDir]); - $message = is_site_admin() ? + $message = DI::app()->isSiteAdmin() ? $e->getMessage() : DI::l10n()->t('Friendica can\'t display this page at the moment, please contact the administrator.'); - throw new InternalServerErrorException($message); + throw new ServiceUnavailableException($message); } - DI::profiler()->saveTimestamp($stamp1, "file"); + DI::profiler()->stopRecording(); return $template; } @@ -130,9 +128,11 @@ class Renderer * Register template engine class * * @param string $class - * @throws InternalServerErrorException + * + * @return void + * @throws ServiceUnavailableException */ - public static function registerTemplateEngine($class) + public static function registerTemplateEngine(string $class) { $v = get_class_vars($class); @@ -142,10 +142,10 @@ class Renderer } else { $admin_message = DI::l10n()->t('template engine cannot be registered without a name.'); DI::logger()->critical($admin_message, ['class' => $class]); - $message = is_site_admin() ? + $message = DI::app()->isSiteAdmin() ? $admin_message : DI::l10n()->t('Friendica can\'t display this page at the moment, please contact the administrator.'); - throw new InternalServerErrorException($message); + throw new ServiceUnavailableException($message); } } @@ -156,9 +156,9 @@ class Renderer * or default * * @return TemplateEngine Template Engine instance - * @throws InternalServerErrorException + * @throws ServiceUnavailableException */ - public static function getTemplateEngine() + public static function getTemplateEngine(): TemplateEngine { $template_engine = (self::$theme['template_engine'] ?? '') ?: 'smarty3'; @@ -168,7 +168,7 @@ class Renderer } else { $a = DI::app(); $class = self::$template_engines[$template_engine]; - $obj = new $class($a->getCurrentTheme(), $a->theme_info); + $obj = new $class($a->getCurrentTheme(), $a->getThemeInfo()); self::$template_engine_instance[$template_engine] = $obj; return $obj; } @@ -176,10 +176,10 @@ class Renderer $admin_message = DI::l10n()->t('template engine is not registered!'); DI::logger()->critical($admin_message, ['template_engine' => $template_engine]); - $message = is_site_admin() ? + $message = DI::app()->isSiteAdmin() ? $admin_message : DI::l10n()->t('Friendica can\'t display this page at the moment, please contact the administrator.'); - throw new InternalServerErrorException($message); + throw new ServiceUnavailableException($message); } /** @@ -187,7 +187,7 @@ class Renderer * * @return string the active template engine */ - public static function getActiveTemplateEngine() + public static function getActiveTemplateEngine(): string { return self::$theme['template_engine']; } @@ -196,8 +196,10 @@ class Renderer * sets the active template engine * * @param string $engine the template engine (default is Smarty3) + * + * @return void */ - public static function setActiveTemplateEngine($engine = 'smarty3') + public static function setActiveTemplateEngine(string $engine = 'smarty3') { self::$theme['template_engine'] = $engine; } @@ -213,7 +215,7 @@ class Renderer * * @return string the right delimiter */ - public static function getTemplateLeftDelimiter($engine = 'smarty3') + public static function getTemplateLeftDelimiter(string $engine = 'smarty3'): string { return self::$ldelim[$engine]; } @@ -229,7 +231,7 @@ class Renderer * * @return string the left delimiter */ - public static function getTemplateRightDelimiter($engine = 'smarty3') + public static function getTemplateRightDelimiter(string $engine = 'smarty3'): string { return self::$rdelim[$engine]; }