X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fsmarty%2Fsysplugins%2Fsmarty_internal_data.php;h=167262694bf70bc216244217cbafb6f45c0e2ba3;hb=28ce879b21b9582fff94abe70463f3384b276882;hp=5baf3b76dc719817a32f4c1ac1fecb2972a50b48;hpb=3dfb9b34b34ba455fb276f2e4f52f810ed6752b7;p=gosa.git diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_data.php b/gosa-core/include/smarty/sysplugins/smarty_internal_data.php index 5baf3b76d..167262694 100644 --- a/gosa-core/include/smarty/sysplugins/smarty_internal_data.php +++ b/gosa-core/include/smarty/sysplugins/smarty_internal_data.php @@ -1,55 +1,29 @@ tpl_vars[$tpl_var] = new Smarty_variable($value, $nocache); } } - - return $this; } - /** * assigns a global Smarty variable * * @param string $varname the global variable name - * @param mixed $value the value to assign + * @param mixed $value the value to assign * @param boolean $nocache if true any output of this variable will be not cached - * @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining */ public function assignGlobal($varname, $value = null, $nocache = false) { if ($varname != '') { Smarty::$global_tpl_vars[$varname] = new Smarty_variable($value, $nocache); } - - return $this; } /** * assigns values to template variables by reference @@ -90,7 +58,6 @@ class Smarty_Internal_Data { * @param string $tpl_var the template variable name * @param mixed $ &$value the referenced value to assign * @param boolean $nocache if true any output of this variable will be not cached - * @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining */ public function assignByRef($tpl_var, &$value, $nocache = false) { @@ -98,18 +65,27 @@ class Smarty_Internal_Data { $this->tpl_vars[$tpl_var] = new Smarty_variable(null, $nocache); $this->tpl_vars[$tpl_var]->value = &$value; } - - return $this; } + /** + * wrapper function for Smarty 2 BC + * + * @param string $tpl_var the template variable name + * @param mixed $ &$value the referenced value to assign + */ + public function assign_by_ref($tpl_var, &$value) + { + if($this->smarty->deprecation_notices) + trigger_error("function call 'assign_by_ref' is unknown or deprecated, use 'assignByRef'", E_USER_NOTICE); + $this->assignByRef($tpl_var, $value); + } /** * 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 flag if array elements shall be merged + * @param array $ |string $tpl_var the template variable name(s) + * @param mixed $value the value to append + * @param boolean $merge flag if array elements shall be merged * @param boolean $nocache if true any output of this variable will be not cached - * @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining */ public function append($tpl_var, $value = null, $merge = false, $nocache = false) { @@ -159,17 +135,14 @@ class Smarty_Internal_Data { } } } - - return $this; } /** * 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 flag if array elements shall be merged - * @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining + * @param mixed $ &$value the referenced value to append + * @param boolean $merge flag if array elements shall be merged */ public function appendByRef($tpl_var, &$value, $merge = false) { @@ -177,7 +150,7 @@ class Smarty_Internal_Data { if (!isset($this->tpl_vars[$tpl_var])) { $this->tpl_vars[$tpl_var] = new Smarty_variable(); } - if (!is_array($this->tpl_vars[$tpl_var]->value)) { + if (!@is_array($this->tpl_vars[$tpl_var]->value)) { settype($this->tpl_vars[$tpl_var]->value, 'array'); } if ($merge && is_array($value)) { @@ -188,19 +161,27 @@ class Smarty_Internal_Data { $this->tpl_vars[$tpl_var]->value[] = &$value; } } - - return $this; } + /** + * + * @param string $tpl_var the template variable name + * @param mixed $ &$value the referenced value to append + * @param boolean $merge flag if array elements shall be merged + */ + public function append_by_ref($tpl_var, &$value, $merge = false) + { + if($this->smarty->deprecation_notices) + trigger_error("function call 'append_by_ref' is unknown or deprecated, use 'appendByRef'", E_USER_NOTICE); + $this->appendByRef($tpl_var, $value, $merge); + } /** * Returns a single or all template variables * - * @param string $varname variable name or null - * @param string $_ptr optional pointer to data object - * @param boolean $search_parents include parent templates? + * @param string $varname variable name or null * @return string variable value or or array of variables */ - public function getTemplateVars($varname = null, $_ptr = null, $search_parents = true) + function getTemplateVars($varname = null, $_ptr = null, $search_parents = true) { if (isset($varname)) { $_var = $this->getVariable($varname, $_ptr, $search_parents, false); @@ -240,8 +221,7 @@ class Smarty_Internal_Data { /** * clear the given assigned template variable. * - * @param string|array $tpl_var the template variable(s) to clear - * @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining + * @param string $ |array $tpl_var the template variable(s) to clear */ public function clearAssign($tpl_var) { @@ -252,51 +232,45 @@ class Smarty_Internal_Data { } else { unset($this->tpl_vars[$tpl_var]); } - - return $this; } /** * clear all the assigned template variables. - * @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining */ public function clearAllAssign() { $this->tpl_vars = array(); - return $this; } /** * load a config file, optionally load just selected sections * * @param string $config_file filename - * @param mixed $sections array of section names, single section or null - * @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining + * @param mixed $sections array of section names, single section or null */ public function configLoad($config_file, $sections = null) { // load Config class $config = new Smarty_Internal_Config($config_file, $this->smarty, $this); $config->loadConfigVars($sections); - return $this; } /** * gets the object of a Smarty variable * - * @param string $variable the name of the Smarty variable - * @param object $_ptr optional pointer to data object + * @param string $variable the name of the Smarty variable + * @param object $_ptr optional pointer to data object * @param boolean $search_parents search also in parent data * @return object the object of the variable */ - public function getVariable($variable, $_ptr = null, $search_parents = true, $error_enable = true) + public function getVariable($_variable, $_ptr = null, $search_parents = true, $error_enable = true) { if ($_ptr === null) { $_ptr = $this; } while ($_ptr !== null) { - if (isset($_ptr->tpl_vars[$variable])) { + if (isset($_ptr->tpl_vars[$_variable])) { // found it, return it - return $_ptr->tpl_vars[$variable]; + return $_ptr->tpl_vars[$_variable]; } // not found, try at parent if ($search_parents) { @@ -305,39 +279,44 @@ class Smarty_Internal_Data { $_ptr = null; } } - if (isset(Smarty::$global_tpl_vars[$variable])) { + if (isset(Smarty::$global_tpl_vars[$_variable])) { // found it, return it - return Smarty::$global_tpl_vars[$variable]; + return Smarty::$global_tpl_vars[$_variable]; } if ($this->smarty->error_unassigned && $error_enable) { - // force a notice - $x = $$variable; + throw new SmartyException('Undefined Smarty variable "' . $_variable . '"'); + } else { + if ($error_enable) { + // force a notice + $x = $$_variable; + } + return new Undefined_Smarty_Variable; } - return new Undefined_Smarty_Variable; } - /** * gets a config variable * * @param string $variable the name of the config variable * @return mixed the value of the config variable */ - public function getConfigVariable($variable, $error_enable = true) + public function getConfigVariable($_variable) { $_ptr = $this; while ($_ptr !== null) { - if (isset($_ptr->config_vars[$variable])) { + if (isset($_ptr->config_vars[$_variable])) { // found it, return it - return $_ptr->config_vars[$variable]; + return $_ptr->config_vars[$_variable]; } // not found, try at parent $_ptr = $_ptr->parent; } - if ($this->smarty->error_unassigned && $error_enable) { - // force a notice - $x = $$variable; + if ($this->smarty->error_unassigned) { + throw new SmartyException('Undefined config variable "' . $_variable . '"'); + } else { + // force a notice + $x = $$_variable; + return null; } - return null; } /** @@ -349,8 +328,7 @@ class Smarty_Internal_Data { public function getStreamVariable($variable) { $_result = ''; - $fp = fopen($variable, 'r+'); - if ($fp) { + if ($fp = fopen($variable, 'r+')) { while (!feof($fp) && ($current_line = fgets($fp)) !== false ) { $_result .= $current_line; } @@ -371,27 +349,28 @@ class Smarty_Internal_Data { * @param string $varname variable name or null * @return string variable value or or array of variables */ - public function getConfigVars($varname = null, $search_parents = true) + function getConfigVars($varname = null, $search_parents = true) { + // var_dump($this); $_ptr = $this; $var_array = array(); while ($_ptr !== null) { - if (isset($varname)) { - if (isset($_ptr->config_vars[$varname])) { - return $_ptr->config_vars[$varname]; + if (isset($varname)) { + if (isset($_ptr->config_vars[$varname])) { + return $_ptr->config_vars[$varname]; } } else { - $var_array = array_merge($_ptr->config_vars, $var_array); - } + $var_array = array_merge($_ptr->config_vars, $var_array); + } // not found, try at parent if ($search_parents) { $_ptr = $_ptr->parent; } else { $_ptr = null; } - } + } if (isset($varname)) { - return ''; + return ''; } else { return $var_array; } @@ -401,16 +380,16 @@ class Smarty_Internal_Data { * Deassigns a single or all config variables * * @param string $varname variable name or null - * @return Smarty_Internal_Data current Smarty_Internal_Data (or Smarty or Smarty_Internal_Template) instance for chaining */ - public function clearConfig($varname = null) + function clearConfig($varname = null) { if (isset($varname)) { unset($this->config_vars[$varname]); + return; } else { $this->config_vars = array(); + return; } - return $this; } } @@ -420,23 +399,19 @@ class Smarty_Internal_Data { * * The Smarty data object will hold Smarty variables in the current scope * - * @package Smarty - * @subpackage Template + * @param object $parent tpl_vars next higher level of Smarty variables */ class Smarty_Data extends Smarty_Internal_Data { - - /** - * Smarty object - * - * @var Smarty - */ + // array of variable objects + public $tpl_vars = array(); + // back pointer to parent object + public $parent = null; + // config vars + public $config_vars = array(); + // Smarty object public $smarty = null; - /** * create Smarty data object - * - * @param Smarty|array $_parent parent template - * @param Smarty $smarty global smarty instance */ public function __construct ($_parent = null, $smarty = null) { @@ -453,81 +428,45 @@ class Smarty_Data extends Smarty_Internal_Data { throw new SmartyException("Wrong type for template variables"); } } - } - /** * class for the Smarty variable object * * This class defines the Smarty variable object - * - * @package Smarty - * @subpackage Template */ class Smarty_Variable { - - /** - * template variable - * - * @var mixed - */ - public $value = null; - /** - * if true any output of this variable will be not cached - * - * @var boolean - */ - public $nocache = false; - /** - * the scope the variable will have (local,parent or root) - * - * @var int - */ - public $scope = Smarty::SCOPE_LOCAL; - + // template variable + public $value; + public $nocache; + public $scope; /** * create Smarty variable object * - * @param mixed $value the value to assign + * @param mixed $value the value to assign * @param boolean $nocache if true any output of this variable will be not cached - * @param int $scope the scope the variable will have (local,parent or root) + * @param boolean $scope the scope the variable will have (local,parent or root) */ - public function __construct($value = null, $nocache = false, $scope = Smarty::SCOPE_LOCAL) + public function __construct ($value = null, $nocache = false, $scope = Smarty::SCOPE_LOCAL) { $this->value = $value; $this->nocache = $nocache; $this->scope = $scope; } - /** - * <> String conversion - * - * @return string - */ - public function __toString() + public function __toString () { - return (string) $this->value; + return $this->value; } - } /** * class for undefined variable object * * This class defines an object for undefined variable handling - * - * @package Smarty - * @subpackage Template */ class Undefined_Smarty_Variable { - - /** - * Returns FALSE for 'nocache' and NULL otherwise. - * - * @param string $name - * @return bool - */ - public function __get($name) + // return always false + public function __get ($name) { if ($name == 'nocache') { return false; @@ -535,17 +474,6 @@ class Undefined_Smarty_Variable { return null; } } - - /** - * Always returns an empty string. - * - * @return string - */ - public function __toString() - { - return ""; - } - } ?> \ No newline at end of file