From 620df024f3d8960a89eb4ed71d3ea61e2b9aa3db Mon Sep 17 00:00:00 2001 From: quentusrex <quentusrex@ispconfig3> Date: Thu, 30 Oct 2008 13:59:40 -0400 Subject: [PATCH] Now a client can view e-mail filters created by admin, but the client can't edit them. The client can submit a change, but it isn't input in the database, nor is the client told that the changes aren't made. --- interface/lib/app.inc.php | 42 +++++++++++++++++++++++++++--------------- 1 files changed, 27 insertions(+), 15 deletions(-) diff --git a/interface/lib/app.inc.php b/interface/lib/app.inc.php index e79c45c..46a9114 100644 --- a/interface/lib/app.inc.php +++ b/interface/lib/app.inc.php @@ -53,25 +53,29 @@ $this->load('db_'.$this->_conf['db_type']); $this->db = new db; } + + //* Start the session if($this->_conf['start_session'] == true) { session_start(); - //* Initialise vars if session is not set - if( !isset($_SESSION['s']['id']) ){ - $_SESSION['s'] = array( 'id' => session_id(), - 'theme' => $this->_conf['theme'], - 'language' => $this->_conf['language'] - ); - } + + //* Initialize session variables + if(!isset($_SESSION['s']['id']) ) $_SESSION['s']['id'] = session_id(); + if(empty($_SESSION['s']['theme'])) $_SESSION['s']['theme'] = $conf['theme']; + if(empty($_SESSION['s']['language'])) $_SESSION['s']['language'] = $conf['language']; } + + $this->uses('auth'); } public function uses($classes) { - $cl = explode(', ',$classes); + $cl = explode(',', $classes); if(is_array($cl)) { foreach($cl as $classname){ + $classname = trim($classname); + //* Class is not loaded so load it if(!array_key_exists($classname, $this->_loaded_classes)){ - require_once($this->_conf['classpath'] . '/'.$classname.'.inc.php'); + include_once(ISPC_CLASS_PATH."/$classname.inc.php"); $this->$classname = new $classname(); $this->_loaded_classes[$classname] = true; } @@ -84,7 +88,8 @@ $fl = explode(',', $files); if(is_array($fl)) { foreach($fl as $file){ - include_once($this->_conf['classpath'] . '/'.$file.'.inc.php'); + $file = trim($file); + include_once(ISPC_CLASS_PATH."/$file.inc.php"); } } } @@ -124,7 +129,7 @@ <table width="100%" border="0" cellspacing="0" cellpadding="2"> <tr> <td class="error"><b>Error:</b><br>'.$msg; - if($next_link != "") $msg .= '<a href="'.$next_link.'">Next</a><br>'; + if($next_link != '') $msg .= '<a href="'.$next_link.'">Next</a><br>'; $msg .= '</td> </tr> </table> @@ -142,8 +147,9 @@ { if($this->_language_inc != 1) { //* loading global and module Wordbook - @include_once($this->_conf['rootpath'].'/lib/lang/'.$_SESSION['s']['language'].'.lng'); - @include_once($this->_conf['rootpath'].'/web/'.$_SESSION['s']['module']['name'].'/lib/lang/'.$_SESSION['s']['language'].'.lng'); + // TODO: this need to be made clearer somehow - pedro + @include_once(ISPC_ROOT_PATH.'/lib/lang/'.$_SESSION['s']['language'].'.lng'); + @include_once(ISPC_ROOT_PATH.'/web/'.$_SESSION['s']['module']['name'].'/lib/lang/'.$_SESSION['s']['language'].'.lng'); $this->_wb = $wb; $this->_language_inc = 1; } @@ -158,17 +164,23 @@ $this->tpl->setVar('theme', $_SESSION['s']['theme']); $this->tpl->setVar('phpsessid', session_id()); $this->tpl->setVar('html_content_encoding', $this->_conf['html_content_encoding']); - if($this->_conf['logo'] != '' && @is_file($this->_conf['logo'])){ + if(isset($this->_conf['logo']) && $this->_conf['logo'] != '' && @is_file($this->_conf['logo'])){ $this->tpl->setVar('logo', '<img src="'.$this->_conf['logo'].'" border="0" alt="">'); } else { $this->tpl->setVar('logo', ' '); } $this->tpl->setVar('app_title', $this->_conf['app_title']); $this->tpl->setVar('delete_confirmation', $this->lng('delete_confirmation')); - $this->tpl->setVar('app_module', $_SESSION['s']['module']['name']); + //print_r($_SESSION); + if(isset($_SESSION['s']['module']['name'])) { + $this->tpl->setVar('app_module', $_SESSION['s']['module']['name']); + } if(isset($_SESSION['s']['user']) && $_SESSION['s']['user']['typ'] == 'admin') { $this->tpl->setVar('is_admin', 1); } + if(isset($_SESSION['s']['user']) && $this->auth->has_clients($_SESSION['s']['user']['userid'])) { + $this->tpl->setVar('is_reseller', 1); + } } } // end class -- Gitblit v1.9.1