Code

Fixed stats handling
[gosa.git] / gosa-core / html / logout.php
index d5ef67d4af9902a5d05488eed40293c94df3ec84..c9ed421b62a3ddbd79671fa568f2e819ba8e6367 100644 (file)
@@ -45,12 +45,16 @@ if(session::global_is_set('ui')){
 }
 
 /* Language setup */
-if ((!isset($config)) || $config->get_cfg_value("language") == ""){
+if ((!isset($config)) || $config->get_cfg_value("core","language") == ""){
   $lang= get_browser_language();
 } else {
-  $lang= $config->get_cfg_value("language");
+  $lang= $config->get_cfg_value("core","language");
 }
 
+// Try to keep track of logouts, this will fail if our session has already expired. 
+// Nothing will be logged if config isn't present anymore.
+stats::log('global', 'global', array(),  $action = 'logout', $amount = 1, 0);
+
 putenv("LANGUAGE=");
 putenv("LANG=$lang");
 setlocale(LC_ALL, $lang);
@@ -65,22 +69,29 @@ textdomain($domain);
 /* Create smarty & Set template compile directory */
 $smarty= new smarty();
 if (isset($config)){
-       $smarty->compile_dir= $config->get_cfg_value("compile", '/var/spool/gosa/');
+       $smarty->compile_dir= $config->get_cfg_value("core","templateCompileDirectory");
 } else {
        $smarty->compile_dir= '/var/spool/gosa/';
 }
+
+if(!is_writeable($smarty->compile_dir)){
+
+    header('location: index.php');
+    exit();
+}
+
+$smarty->assign ("title","GOsa");
     
 /* If GET request is posted, the logout was forced by pressing the link */
-if (isset($_GET['request'])){
+if (isset($_POST['forcedlogout']) || isset($_GET['forcedlogout'])){
   
   /* destroy old session */
   session::destroy ();
   
   /* If we're not using htaccess authentication, just redirect... */
-  if (isset($config) && $config->get_cfg_value("htaccessAuthentication") == "true"){
+  if (isset($config) && $config->get_cfg_value("core","htaccessAuthentication") == "true"){
 
     /* Else notice that the user has to close the browser... */
-    $smarty->assign("iePngWorkaround", FALSE);
     $smarty->display (get_template_path('headers.tpl'));
     $smarty->display (get_template_path('logout-close.tpl'));
     exit;
@@ -91,6 +102,7 @@ if (isset($_GET['request'])){
 
 }else{  // The logout wasn't forced, so the session is invalid 
   
+
   $smarty->display (get_template_path('headers.tpl'));
   $smarty->display (get_template_path('logout.tpl'));
   exit;