]> git.mxchange.org Git - core.git/blobdiff - inc/classes/main/decorator/template/class_XmlRewriterTemplateDecorator.php
Added missing methods and removed methods that have already protected access level.
[core.git] / inc / classes / main / decorator / template / class_XmlRewriterTemplateDecorator.php
index c849ef1351eb9f746ccc25d36086179d7ff09eba..e96a111dfc39f670a996c2ffd812ad9df2089c38 100644 (file)
@@ -3,11 +3,11 @@
  * A decorator for XML template engines which rewrites the XML for compacting
  * it.
  *
- * @author             Roland Haeder <webmaster@ship-simu.org>
+ * @author             Roland Haeder <webmaster@shipsimu.org>
  * @version            0.0.0
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009, 2010 Core Developer Team
+ * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Core Developer Team
  * @license            GNU GPL 3.0 or any newer version
- * @link               http://www.ship-simu.org
+ * @link               http://www.shipsimu.org
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -39,7 +39,7 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
         * @param       $innerTemplateInstance  A CompileableTemplate instance
         * @return      $templateInstance       An instance of TemplateEngine
         */
-       public final static function createXmlRewriterTemplateDecorator (CompileableTemplate $innerTemplateInstance) {
+       public static final function createXmlRewriterTemplateDecorator (CompileableTemplate $innerTemplateInstance) {
                // Get a new instance
                $templateInstance = new XmlRewriterTemplateDecorator();
 
@@ -54,10 +54,10 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
         * Settter for variable group
         *
         * @param       $groupName      Name of variable group
-        * @param       $add            Wether add this group
+        * @param       $add            Whether add this group
         * @return      void
         */
-       public function setVariableGroup ($groupName, $add = true) {
+       public function setVariableGroup ($groupName, $add = TRUE) {
                // Call the inner class' method
                $this->getTemplateInstance()->setVariableGroup($groupName, $add);
        }
@@ -74,17 +74,6 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
                $this->getTemplateInstance()->addGroupVariable($var, $value);
        }
 
-       /**
-        * Setter for base path
-        *
-        * @param       $templateBasePath       The relative base path for all templates
-        * @return      void
-        */
-       public final function setTemplateBasePath ($templateBasePath) {
-               // Call the inner class' method
-               $this->getTemplateInstance()->setTemplateBasePath($templateBasePath);
-       }
-
        /**
         * Getter for base path
         *
@@ -105,28 +94,6 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
                return $this->getTemplateInstance()->getGenericBasePath();
        }
 
-       /**
-        * Setter for template extension
-        *
-        * @param       $templateExtension      The file extension for all uncompiled templates
-        * @return      void
-        */
-       public final function setRawTemplateExtension ($templateExtension) {
-               // Call the inner class' method
-               $this->getTemplateInstance()->setRawTemplateExtension($templateExtension);
-       }
-
-       /**
-        * Setter for code template extension
-        *
-        * @param       $codeExtension  The file extension for all uncompiled templates
-        * @return      void
-        */
-       public final function setCodeTemplateExtension ($codeExtension) {
-               // Call the inner class' method
-               $this->getTemplateInstance()->setCodeTemplateExtension($codeExtension);
-       }
-
        /**
         * Getter for template extension
         *
@@ -138,24 +105,24 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
        }
 
        /**
-        * Getter for code-template extension
+        * Getter for given variable group
         *
-        * @return      $codeExtension  The file extension for all code templates
+        * @param       $variableGroup  Variable group to check
+        * @return      $varStack               Found variable group
         */
-       public final function getCodeTemplateExtension () {
+       public function getVarStack ($variableGroup) {
                // Call the inner class' method
-               return $this->getTemplateInstance()->getCodeTemplateExtension();
+               return $this->getTemplateInstance()->getVarStack($variableGroup);
        }
 
        /**
-        * Setter for path of compiled templates
+        * Getter for code-template extension
         *
-        * @param       $compileOutputPath      The local base path for all compiled templates
-        * @return      void
+        * @return      $codeExtension  The file extension for all code templates
         */
-       public final function setCompileOutputPath ($compileOutputPath) {
+       public final function getCodeTemplateExtension () {
                // Call the inner class' method
-               $this->getTemplateInstance()->setCompileOutputPath($compileOutputPath);
+               return $this->getTemplateInstance()->getCodeTemplateExtension();
        }
 
        /**
@@ -176,7 +143,7 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
         * @return      void
         * @throws      EmptyVariableException  If the variable name is left empty
         */
-       public final function assignVariable ($var, $value) {
+       public function assignVariable ($var, $value) {
                // Call the inner class' method
                $this->getTemplateInstance()->assignVariable($var, $value);
        }
@@ -184,45 +151,36 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
        /**
         * Removes a given variable
         *
-        * @param       $var    The variable we are looking for
+        * @param       $variableName   The variable we are looking for
+        * @param       $variableGroup  Name of variable group (default: 'general')
         * @return      void
         */
-       public final function removeVariable ($var) {
-               // Call the inner class' method
-               $this->getTemplateInstance()->removeVariable($var);
-       }
-
-       /**
-        * Getter for compiled templates
-        *
-        * @return      $compiledData   Compiled template data
-        */
-       public final function getCompiledData () {
+       public function removeVariable ($variableName, $variableGroup = 'general') {
                // Call the inner class' method
-               return $this->getTemplateInstance()->getCompiledData();
+               $this->getTemplateInstance()->removeVariable($variableName, $variableGroup);
        }
 
        /**
-        * Load a specified web template into the engine
+        * Load a specified HTML template into the engine
         *
         * @param       $template       The web template we shall load which is located in
         *                                              'html' by default
         * @return      void
         */
-       public function loadWebTemplate ($template) {
+       public function loadHtmlTemplate ($template) {
                // Call the inner class' method
-               $this->getTemplateInstance()->loadWebTemplate($template);
+               $this->getTemplateInstance()->loadHtmlTemplate($template);
        }
 
        /**
         * Assign a given congfiguration variable with a value
         *
-        * @param       $var    The configuration variable we want to assign
+        * @param       $variableName   The configuration variable we want to assign
         * @return      void
         */
-       public function assignConfigVariable ($var) {
+       public function assignConfigVariable ($variableName) {
                // Call the inner class' method
-               $this->getTemplateInstance()->assignConfigVariable($var);
+               $this->getTemplateInstance()->assignConfigVariable($variableName);
        }
 
        /**
@@ -237,6 +195,19 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
                $this->getTemplateInstance()->loadCodeTemplate($template);
        }
 
+       /**
+        * Load a specified email template into the engine for later compilation
+        * with other code/web/email templates.
+        *
+        * @param       $template       The email template we shall load which is
+        *                                              located in "html" by default
+        * @return      void
+        */
+       public function loadEmailTemplate ($template) {
+               // Call the inner class' method
+               $this->getTemplateInstance()->loadEmailTemplate($template);
+       }
+
        /**
         * Compiles configuration place-holders in all variables. This 'walks'
         * through the variable stack 'general'. It interprets all values from that
@@ -244,7 +215,7 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
         *
         * @return      void
         */
-       public final function compileConfigInVariables () {
+       public function compileConfigInVariables () {
                // Call the inner class' method
                $this->getTemplateInstance()->compileConfigInVariables();
        }
@@ -254,7 +225,7 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
         *
         * @return      void
         */
-       public final function compileVariables () {
+       public function compileVariables () {
                // Call the inner class' method
                $this->getTemplateInstance()->compileVariables();
        }
@@ -295,12 +266,12 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
        /**
         * Assigns all the application data with template variables
         *
-        * @param       $appInstance    A manageable application instance
+        * @param       $applicationInstance    A manageable application instance
         * @return      void
         */
-       public function assignApplicationData (ManageableApplication $appInstance) {
+       public function assignApplicationData (ManageableApplication $applicationInstance) {
                // Call the inner class' method
-               $this->getTemplateInstance()->assignApplicationData($appInstance);
+               $this->getTemplateInstance()->assignApplicationData($applicationInstance);
        }
 
        /**
@@ -308,22 +279,32 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
         *
         * @param       $rawCode                        Raw code to compile
         * @param       $setMatchAsCode         Sets $match if readVariable() returns empty result
-        * @return      $rawCode        Compile code with inserted variable value
+        * @return      $rawCode                        Compile code with inserted variable value
         */
-       public function compileRawCode ($rawCode, $setMatchAsCode=false) {
+       public function compileRawCode ($rawCode, $setMatchAsCode = FALSE) {
                return $this->getTemplateInstance()->compileRawCode($rawCode, $setMatchAsCode);
        }
 
        /**
         * Getter for variable group array
         *
-        * @return      $vargroups      All variable groups
+        * @return      $variableGroups         All variable groups
         */
        public final function getVariableGroups () {
                // Call the inner class' method
                return $this->getTemplateInstance()->getVariableGroups();
        }
 
+       /**
+        * Getter for raw template data
+        *
+        * @return      $rawTemplateData        The raw data from the template
+        */
+       public function getRawTemplateData () {
+               // Call the inner class' method
+               return $this->getTemplateInstance()->getRawTemplateData();
+       }
+
        /**
         * Renames a variable in code and in stack
         *
@@ -343,7 +324,7 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
         * @return      void
         * @throws      XmlParserException      If an XML error was found
         */
-       public function renderXmlContent ($content = null) {
+       public function renderXmlContent ($content = NULL) {
                // Call the inner class' method
                $this->getTemplateInstance()->renderXmlContent($content);
        }
@@ -354,17 +335,17 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
         * @param       $languageSupport        New language support setting
         * @return      void
         */
-       public final function enableLanguageSupport ($languageSupport = true) {
+       public function enableLanguageSupport ($languageSupport = TRUE) {
                // Call the inner class' method
                $this->getTemplateInstance()->enableLanguageSupport($languageSupport);
        }
 
        /**
-        * Checks wether language support is enabled
+        * Checks whether language support is enabled
         *
-        * @return      $languageSupport        Wether language support is enabled or disabled
+        * @return      $languageSupport        Whether language support is enabled or disabled
         */
-       public final function isLanguageSupportEnabled () {
+       public function isLanguageSupportEnabled () {
                // Call the inner class' method
                return $this->getTemplateInstance()->isLanguageSupportEnabled();
        }
@@ -375,17 +356,17 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
         * @param       $xmlCompacting  New XML compacting setting
         * @return      void
         */
-       public final function enableXmlCompacting ($xmlCompacting = true) {
+       public function enableXmlCompacting ($xmlCompacting = TRUE) {
                // Call the inner class' method
                $this->getTemplateInstance()->enableXmlCompacting($xmlCompacting);
        }
 
        /**
-        * Checks wether XML compacting is enabled
+        * Checks whether XML compacting is enabled
         *
-        * @return      $xmlCompacting  Wether XML compacting is enabled or disabled
+        * @return      $xmlCompacting  Whether XML compacting is enabled or disabled
         */
-       public final function isXmlCompactingEnabled () {
+       public function isXmlCompactingEnabled () {
                // Call the inner class' method
                return $this->getTemplateInstance()->isXmlCompactingEnabled();
        }
@@ -412,9 +393,9 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
         * @return      void
         * @throws      XmlNodeMismatchException        If current main node mismatches the closing one
         */
-       public function endElement ($resource, $nodeName) {
+       public function finishElement ($resource, $nodeName) {
                // Call the inner class' method
-               $this->getTemplateInstance()->endElement($resource, $nodeName);
+               $this->getTemplateInstance()->finishElement($resource, $nodeName);
        }
 
        /**
@@ -433,11 +414,30 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableT
        /**
         * Removes all comments, tabs and new-line charcters to compact the content
         *
-        * @param       $content        The uncompacted content
-        * @return      $content        The compacted content
+        * @param       $uncompactedContent             The uncompacted content
+        * @return      $compactedContent               The compacted content
+        */
+       public function compactContent ($uncompactedContent) {
+               // Compact it ...
+               $compactedContent = $this->getTemplateInstance()->compactContent($uncompactedContent);
+
+               // ... and return it
+               return $compactedContent;
+       }
+
+       /**
+        * Assigns a lot variables into the stack of currently loaded template.
+        * This method should only be used in very rare circumstances, e.g. when
+        * you have to copy a whole set of variables into the template engine.
+        * Before you use this method, please make sure you have considered all
+        * other possiblities.
+        *
+        * @param       $variables      An array with variables to be assigned
+        * @return      void
         */
-       public function compactContent ($content) {
-               $this->getTemplateInstance()->compactContent($content);
+       public function assignMultipleVariables (array $variables) {
+               // Call the inner class' method but trim the characters before
+               $this->getTemplateInstance()->assignMultipleVariables($variables);
        }
 }