/**
  * Register template functions defined by template
  *
  * @param \Smarty|\Smarty_Internal_Template|\Smarty_Internal_TemplateBase $obj
  * @param  array                                                          $tplFunctions source information array of template functions defined in template
  * @param bool                                                            $override     if true replace existing functions with same name
  */
 public function registerTplFunctions(Smarty_Internal_TemplateBase $obj, $tplFunctions, $override = true)
 {
     $obj->tplFunctions = $override ? array_merge($obj->tplFunctions, $tplFunctions) : array_merge($tplFunctions, $obj->tplFunctions);
     // make sure that the template functions are known in parent templates
     if ($obj->_isSubTpl()) {
         $obj->smarty->ext->_tplFunction->registerTplFunctions($obj->parent, $tplFunctions, false);
     } else {
         $obj->smarty->tplFunctions = $override ? array_merge($obj->smarty->tplFunctions, $tplFunctions) : array_merge($tplFunctions, $obj->smarty->tplFunctions);
     }
 }