diff --git a/interface/lib/classes/tpl.inc.php b/interface/lib/classes/tpl.inc.php index e999ba5bfe4986416e10927b80cfcf6d0dc1fad7..e6a2cfdfb2c8e1463ce0185804f23fcadf915472 100644 --- a/interface/lib/classes/tpl.inc.php +++ b/interface/lib/classes/tpl.inc.php @@ -233,7 +233,7 @@ if (!defined('vlibTemplateClassLoaded')) { public function setVar($k, $v = null, $encode = false) { global $app; - + if (is_array($k)) { foreach($k as $key => $value){ $key = ($this->OPTIONS['CASELESS']) ? strtolower(trim($key)) : trim($key); @@ -917,9 +917,17 @@ if (!defined('vlibTemplateClassLoaded')) { $filename = basename($file); $filepath = dirname($file); - if(isset($_SESSION['s']['module']['name']) && isset($_SESSION['s']['theme'])) { - if(is_file(ISPC_THEMES_PATH.'/'.$_SESSION['s']['theme'].'/templates/'.$_SESSION['s']['module']['name'].'/'.$filename)) { - return ISPC_THEMES_PATH.'/'.$_SESSION['s']['theme'].'/templates/'.$_SESSION['s']['module']['name'].'/'.$filename; + $modulename = false; + + if(isset($_SESSION['s']['module']['name'])) { + $modulename = $_SESSION['s']['module']['name']; + } elseif(strpos($_SERVER['PHP_SELF'], '/login/') === 0) { + $modulename = 'login'; + } + + if($modulename && isset($_SESSION['s']['theme'])) { + if(is_file(ISPC_THEMES_PATH.'/'.$_SESSION['s']['theme'].'/templates/'.$modulename.'/'.$filename)) { + return ISPC_THEMES_PATH.'/'.$_SESSION['s']['theme'].'/templates/'.$modulename.'/'.$filename; } } @@ -1079,12 +1087,12 @@ if (!defined('vlibTemplateClassLoaded')) { private function _parseHook ($name) { global $app; - + if(!$name) return false; - + $module = isset($_SESSION['s']['module']['name']) ? $_SESSION['s']['module']['name'] : ''; $form = isset($app->tform->formDef['name']) ? $app->tform->formDef['name'] : ''; - + $events = array(); if($module) { $events[] = $module . ':' . ($form ? $form : '') . ':' . $name; @@ -1093,9 +1101,9 @@ if (!defined('vlibTemplateClassLoaded')) { $events[] = $name; $events[] = 'on_template_content'; } - + $events = array_unique($events); - + for($e = 0; $e < count($events); $e++) { $tmpresult = $app->plugin->raiseEvent($events[$e], array( 'name' => $name, @@ -1104,10 +1112,10 @@ if (!defined('vlibTemplateClassLoaded')) { ), true); if(!$tmpresult) $tmpresult = ''; else $tmpresult = $this->_getData($tmpresult, false, true); - + $result .= $tmpresult; } - + return $result; } @@ -1225,7 +1233,7 @@ if (!defined('vlibTemplateClassLoaded')) { $wholetag = $args[0]; $openclose = $args[1]; $tag = strtolower($args[2]); - + if ($tag == 'else') return ''; if ($tag == 'tmpl_include') return $wholetag; // ignore tmpl_include tags @@ -1303,10 +1311,10 @@ if (!defined('vlibTemplateClassLoaded')) { if ($this->OPTIONS['ENABLE_PHPINCLUDE']) { return ''; } - + case 'hook': return $this->_parseHook(@$var); - + case 'include': return '_getData($this->_fileSearch(\''.$file.'\'), 1); ?>';