Code

Added session lifetime warning
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 28 Sep 2007 06:07:24 +0000 (06:07 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 28 Sep 2007 06:07:24 +0000 (06:07 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@7429 594d385d-05f5-0310-b6e9-bd551577e9d8

html/index.php
ihtml/themes/default/login.tpl
include/class_config.inc

index e72e2778385b93254273653c720c3cab7e04301e..603db4d6bbfe038ff4600c566f4945959cffa500 100644 (file)
@@ -52,6 +52,13 @@ function displayLogin()
     $smarty->assign ("ssl", "");
   }
 
+  if(!$config->check_session_lifetime()){
+    $smarty->assign ("lifetime", _("Warning").": ".
+                                 _("The session lifetime configured in your gosa.conf doesn't match the php.ini settings."));
+  }else{
+    $smarty->assign ("lifetime", "");
+  }
+
   /* Generate server list */
   $servers= array();
   if (isset($_POST['server'])){
index 1b5b79afdea947b29e5b3ae55713cf2dc294f174..83f48de0e6b479133b0bbdd2d8c90ded204a2c2c 100644 (file)
@@ -31,6 +31,7 @@
            <div style='padding:12px;text-align:center;'>
                {t}Please use your username and your password to log into the site administration system.{/t}<br />
                {if $ssl}<b>{$ssl}</b>{/if}
+               {if $lifetime}<b><font style="color:red";>{$lifetime}</font></b>{/if}
            </div>
   
 
index 036872656097e5a8e376521e14ff64081267e1d1..9e4339de70665980af724772df30c415ed2cafdd 100644 (file)
@@ -791,6 +791,20 @@ class config  {
     return ("");
   }
 
+
+  /* On debian systems the session files are deleted with
+   *  a cronjob, which detects all files older than specified 
+   *  in php.ini:'session.gc_maxlifetime' and removes them.
+   * This function checks if the gosa.conf value matches the range
+   *  defined by session.gc_maxlifetime.
+   */
+  function check_session_lifetime()
+  {
+    $cfg_lifetime = $this->data['MAIN']['SESSION_LIFETIME'];
+    $ini_lifetime = ini_get('session.gc_maxlifetime');
+    $deb_system   = file_exists('/etc/debian_version');
+    return(!($deb_system && ($ini_lifetime < $cfg_lifetime)));  
+  }
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: