]> 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 90126f8fd02a264ad204806ff4de84cf6e1301eb..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 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) {
+       public function removeVariable ($variableName, $variableGroup = 'general') {
                // Call the inner class' method
-               $this->getTemplateInstance()->removeVariable($var);
+               $this->getTemplateInstance()->removeVariable($variableName, $variableGroup);
        }
 
        /**
-        * Getter for compiled templates
-        *
-        * @return      $compiledData   Compiled template data
-        */
-       public final function getCompiledData () {
-               // Call the inner class' method
-               return $this->getTemplateInstance()->getCompiledData();
-       }
-
-       /**
-        * 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,20 +356,89 @@ 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();
        }
+
+       /**
+        * Handles the start element of an XML resource
+        *
+        * @param       $resource               XML parser resource (currently ignored)
+        * @param       $element                The element we shall handle
+        * @param       $attributes             All attributes
+        * @return      void
+        * @throws      InvalidXmlNodeException         If an unknown/invalid XML node name was found
+        */
+       public function startElement ($resource, $element, array $attributes) {
+               // Call the inner class' method
+               $this->getTemplateInstance()->startElement($resource, $element, $attributes);
+       }
+
+       /**
+        * Ends the main or sub node by sending out the gathered data
+        *
+        * @param       $resource       An XML resource pointer (currently ignored)
+        * @param       $nodeName       Name of the node we want to finish
+        * @return      void
+        * @throws      XmlNodeMismatchException        If current main node mismatches the closing one
+        */
+       public function finishElement ($resource, $nodeName) {
+               // Call the inner class' method
+               $this->getTemplateInstance()->finishElement($resource, $nodeName);
+       }
+
+       /**
+        * Currently not used
+        *
+        * @param       $resource               XML parser resource (currently ignored)
+        * @param       $characters             Characters to handle
+        * @return      void
+        * @todo        Find something useful with this!
+        */
+       public function characterHandler ($resource, $characters) {
+               // Call the inner class' method but trim the characters before
+               $this->getTemplateInstance()->characterHandler($resource, trim($characters));
+       }
+
+       /**
+        * Removes all comments, tabs and new-line charcters to compact the 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 assignMultipleVariables (array $variables) {
+               // Call the inner class' method but trim the characters before
+               $this->getTemplateInstance()->assignMultipleVariables($variables);
+       }
 }
 
 // [EOF]