]> git.mxchange.org Git - friendica.git/commitdiff
Template Engine with Subdirectory
authorPhilipp <admin@philipp.info>
Sun, 26 Apr 2020 13:45:25 +0000 (15:45 +0200)
committerPhilipp <admin@philipp.info>
Sun, 26 Apr 2020 13:45:25 +0000 (15:45 +0200)
- Use explicit root path for template engine
- Replace "__DIR__" calls in addons with subdirectories
- Fixes local tests, where call is made out of '/' and not '/vagrant/'

src/Core/Renderer.php
src/DI.php
src/Render/FriendicaSmartyEngine.php
src/Render/ITemplateEngine.php

index 98915e70fade30c9d057e272685d436918874719..5ce47ad93107e3747b2f2674cf0866c6d6253971 100644 (file)
@@ -99,19 +99,18 @@ class Renderer
         * Load a given template $s
         *
         * @param string $s    Template to load.
-        * @param string $root Optional.
+        * @param string $subDir Subdirectory (Optional)
         *
         * @return string template.
         * @throws Exception
         */
-       public static function getMarkupTemplate($s, $root = '')
+       public static function getMarkupTemplate($s, $subDir = '')
        {
                $stamp1 = microtime(true);
-               $a = DI::app();
                $t = self::getTemplateEngine();
 
                try {
-                       $template = $t->getTemplateFile($s, $root);
+                       $template = $t->getTemplateFile($s, $subDir);
                } catch (Exception $e) {
                        echo "<pre><b>" . __FUNCTION__ . "</b>: " . $e->getMessage() . "</pre>";
                        exit();
index 39efe2a97bfd35feb41fd1e6be02368ca32a58e2..c89315c0ec98897e532d5eac0837d163eceae43d 100644 (file)
@@ -383,6 +383,14 @@ abstract class DI
                return self::$dice->create(Util\ACLFormatter::class);
        }
 
+       /**
+        * @return string
+        */
+       public static function basePath()
+       {
+               return self::$dice->create('$basepath');
+       }
+
        /**
         * @return Util\DateTimeFormat
         */
index 1e419bcf765d720e7a6775817e1c200c30c20786..6984daa15871e41c4b4079f1eddc3989fec95a61 100644 (file)
@@ -68,16 +68,18 @@ class FriendicaSmartyEngine implements ITemplateEngine
                return $s->parsed($template);
        }
 
-       public function getTemplateFile($file, $root = '')
+       public function getTemplateFile($file, $subDir = '')
        {
                $a = DI::app();
                $template = new FriendicaSmarty();
 
                // Make sure $root ends with a slash /
-               if ($root !== '' && substr($root, -1, 1) !== '/') {
-                       $root = $root . '/';
+               if ($subDir !== '' && substr($subDir, -1, 1) !== '/') {
+                       $subDir = $subDir . '/';
                }
 
+               $root = DI::basePath() . '/' . $subDir;
+
                $theme = $a->getCurrentTheme();
                $filename = $template::SMARTY3_TEMPLATE_FOLDER . '/' . $file;
 
index 456bb268b9d010747261979fe912f3f75be63bf8..b18af69f226b06417640da3388aa36a6c1bea532 100644 (file)
@@ -27,5 +27,5 @@ namespace Friendica\Render;
 interface ITemplateEngine
 {
        public function replaceMacros($s, $v);
-       public function getTemplateFile($file, $root = '');
+       public function getTemplateFile($file, $subDir = '');
 }