Source for file PHP_Template.class.php
Documentation is available at PHP_Template.class.php
-   * Copyright 2003, Paul James 
-   * This file contains some methods from the Smarty templating engine version 
-   * The SquirrelMail (Foowd) template implementation. 
-   * Derived from the foowd template implementation and adapted 
-   * @copyright 2005-2020 The SquirrelMail Project Team 
-   * @license http://opensource.org/licenses/gpl-license.php GNU Public License 
-   * @version $Id: PHP_Template.class.php 14845 2020-01-07 08:09:34Z pdontthink $ 
-   * The SquirrelMail PHP Template class.  Extends the base 
-   * Template class for use with PHP template pages. 
-   * @author Monte Ohrt <monte at ispi.net> 
-   * @author Andrei Zmievski <andrei at php.net> 
-   * @author Paul Lesniewski <paul at squirrelmail.org> 
-       * The templates values array 
-       * Please do not call directly.  Use Template::construct_template(). 
-       * @param string $template_id the template ID 
- //FIXME: find a way to test that this is ONLY ever called  
- //       from parent's construct_template() method (I doubt it 
- //       is worth the trouble to parse the current stack trace) 
- //            trigger_error('Please do not use default PHP_Template() constructor.  Instead, use Template::construct_template().', E_USER_ERROR); 
-       * Assigns values to template variables 
-       * @param array|string$tpl_var the template variable name(s) 
-       * @param mixed $value the value to assign 
- FIXME: Proposed idea to add a parameter here that turns variable  
-        encoding on, so that we can make sure output is always 
-        run through something like sm_encode_html_special_chars() (maybe even nl2br()?) 
-     function assign($tpl_var, $value - =  NULL) {
 
-             foreach ($tpl_var as $key - =>  $val)
 
-             $this->values[$tpl_var] - =  $value;
 
-       * Assigns values to template variables by reference 
-       * @param string $tpl_var the template variable name 
-       * @param mixed $value the referenced value to assign 
- FIXME: Proposed idea to add a parameter here that turns variable  
-        encoding on, so that we can make sure output is always 
-        run through something like sm_encode_html_special_chars() (maybe even nl2br()?) 
-             $this->values[$tpl_var] - =  &$value;
 
-       * Clears the values of all assigned varaiables. 
-       * Returns assigned variable value(s). 
-       * @param string $varname If given, the value of that variable 
-       *                         is returned, assuming it has been 
-       *                         previously assigned.  If not specified 
-       *                         an array of all assigned variables is 
-       * @return mixed Desired single variable value or list of all 
-       *                assigned variable values. 
-         // just looking for one value 
-             if (!empty($this->values[$varname])) 
-                 return $this->values[$varname]; 
- // FIXME: this OK?  What does Smarty do? 
-         // return all variable values 
-       * Appends values to template variables 
-       * @param array|string$tpl_var the template variable name(s) 
-       * @param mixed $value the value to append 
-       * @param boolean $merge when $value is given as an array, 
-       *                        this indicates whether or not that 
-       *                        array itself should be appended as 
-       *                        a new template variable value or if 
-       *                        that array's values should be merged 
-       *                        into the existing array of template 
- FIXME: Proposed idea to add a parameter here that turns variable  
-        encoding on, so that we can make sure output is always 
-        run through something like sm_encode_html_special_chars() (maybe even nl2br()?) 
-     function append($tpl_var, $value - =  NULL, $merge- =  FALSE)
 
-             foreach ($tpl_var as $_key - =>  $_val)
 
-                         // FIXME: Tentative testing seems to indicate that 
-                         //        this does not mirror Smarty behavior; Smarty 
-                         //        seems to append the full array as a new element 
-                         //        instead of merging, so this behavior is technically 
-                         //        more "correct", but Smarty seems to differ 
-                         foreach($_val as $_mkey - =>  $_mval)
 
-                             $this->values[$_key][$_mkey] - =  $_mval;
 
-                         $this->values[$_key][] - =  $_val;
 
-             if ($tpl_var - !=  ''- && isset ($value))
 
-                     foreach($value as $_mkey - =>  $_mval)
 
-                         $this->values[$tpl_var][$_mkey] - =  $_mval;
 
-                     $this->values[$tpl_var][] - =  $value;
 
-       * Appends values to template variables by reference 
-       * @param string $tpl_var the template variable name 
-       * @param mixed $value the referenced value to append 
-       * @param boolean $merge when $value is given as an array, 
-       *                        this indicates whether or not that 
-       *                        array itself should be appended as 
-       *                        a new template variable value or if 
-       *                        that array's values should be merged 
-       *                        into the existing array of template 
- FIXME: Proposed idea to add a parameter here that turns variable  
-        encoding on, so that we can make sure output is always 
-        run through something like sm_encode_html_special_chars() (maybe even nl2br()?) 
-         if ($tpl_var - !=  ''- && isset ($value))
 
-                 foreach($value as $_key - =>  $_val)
 
-                     $this->values[$tpl_var][$_key] - =  &$value[$_key];
 
-               $this->values[$tpl_var][] - =  &$value;
 
-       * Applys the template and generates final output destined 
-       * @param string $filepath The full file path to the template to be applied 
-       * @return string The output for the given template 
-         // place values array directly in scope 
-         // ($t?  let's try to be more verbose please :-) ) 
 
	
		Documentation generated on Mon, 13 Jan 2020 04:23:21 +0100 by phpDocumentor 1.4.3