Code

Don't not try to resize lists that can't be resized.
[gosa.git] / html / index.php
index 6886f908b3ee7f542aca3056db347420e9ebda83..50a3d45a29d5a386e5f97df5c115c5dedce3dc80 100644 (file)
@@ -28,57 +28,64 @@ function displayLogin()
 {
   global $smarty,$message,$config,$ssl,$error_collector;
   error_reporting(E_ALL | E_STRICT);
-    /* Fill template with required values */
-    $username = "";
-    if(isset($_POST["username"])){
-      $username= $_POST["username"];
-    }
-    $smarty->assign ('date', gmdate("D, d M Y H:i:s"));
-    $smarty->assign ('username', $username);
-    $smarty->assign ('personal_img', get_template_path('images/personal.png'));
-    $smarty->assign ('password_img', get_template_path('images/password.png'));
-    $smarty->assign ('directory_img', get_template_path('images/ldapserver.png'));
-
-    /* Some error to display? */
-    if (!isset($message)){
-      $message= "";
-    }
-    $smarty->assign ("message", $message);
+  /* Fill template with required values */
+  $username = "";
+  if(isset($_POST["username"])){
+    $username= $_POST["username"];
+  }
+  $smarty->assign ('date', gmdate("D, d M Y H:i:s"));
+  $smarty->assign ('username', $username);
+  $smarty->assign ('personal_img', get_template_path('images/personal.png'));
+  $smarty->assign ('password_img', get_template_path('images/password.png'));
+  $smarty->assign ('directory_img', get_template_path('images/ldapserver.png'));
+
+  /* Some error to display? */
+  if (!isset($message)){
+    $message= "";
+  }
+  $smarty->assign ("message", $message);
 
-    /* Displasy SSL mode warning? */
-    if ($ssl != "" && $config->data['MAIN']['WARNSSL'] == 'true'){
-      $smarty->assign ("ssl", _("Warning").": <a style=\"color:red;\" href=\"$ssl\">"._("Session is not encrypted!")."</a>");
-    } else {
-      $smarty->assign ("ssl", "");
-    }
+  /* Displasy SSL mode warning? */
+  if ($ssl != "" && $config->data['MAIN']['WARNSSL'] == 'true'){
+    $smarty->assign ("ssl", _("Warning").": <a style=\"color:red;\" href=\"$ssl\">"._("Session is not encrypted!")."</a>");
+  } else {
+    $smarty->assign ("ssl", "");
+  }
 
-    /* Generate server list */
-    $servers= array();
-    if (isset($_POST['server'])){
-      $selected= validate($_POST['server']);
-    } else {
-      $selected= $config->data['MAIN']['DEFAULT'];
-    }
-    foreach ($config->data['LOCATIONS'] as $key => $ignored){
-      $servers[$key]= $key;
-    }
-    $smarty->assign ("server_options", $servers);
-    $smarty->assign ("server_id", $selected);
+  if(!$config->check_session_lifetime()){
+    $smarty->assign ("lifetime", _("Warning").": ".
+                                 _("The session lifetime configured in your gosa.conf will be overridden by php.ini settings."));
+  }else{
+    $smarty->assign ("lifetime", "");
+  }
 
-    /* show login screen */
-    $smarty->assign ("PHPSESSID", session_id());
-    if (isset($_SESSION['errors'])){
-      $smarty->assign("errors", $_SESSION['errors']);
-    }
-    if ($error_collector != ""){
-      $smarty->assign("php_errors", $error_collector."</div>");
-    } else {
-      $smarty->assign("php_errors", "");
-    }
+  /* Generate server list */
+  $servers= array();
+  if (isset($_POST['server'])){
+    $selected= validate($_POST['server']);
+  } else {
+    $selected= $config->data['MAIN']['DEFAULT'];
+  }
+  foreach ($config->data['LOCATIONS'] as $key => $ignored){
+    $servers[$key]= $key;
+  }
+  $smarty->assign ("server_options", $servers);
+  $smarty->assign ("server_id", $selected);
 
-    $smarty->display (get_template_path('headers.tpl'));
-    $smarty->display(get_template_path('login.tpl'));
-    exit();
+  /* show login screen */
+  $smarty->assign ("PHPSESSID", session_id());
+  if (isset($_SESSION['errors'])){
+    $smarty->assign("errors", $_SESSION['errors']);
+  }
+  if ($error_collector != ""){
+    $smarty->assign("php_errors", $error_collector."</div>");
+  } else {
+    $smarty->assign("php_errors", "");
+  }
+
+  $smarty->display (get_template_path('headers.tpl'));
+  $smarty->display(get_template_path('login.tpl'));
+  exit();
 }
 
 
@@ -88,7 +95,7 @@ function displayLogin()
 session_start ();
 
 /* Destroy old session if exists. 
-    Else you will get your old session back, if you not logged out correctly. */
+   Else you will get your old session back, if you not logged out correctly. */
 if(is_array($_SESSION) && count($_SESSION)){
   session_destroy();
   session_start();
@@ -119,7 +126,7 @@ if(isset($_POST['javascript']) && $_POST['javascript'] == "true") {
 
 /* Check if gosa.conf (.CONFIG_FILE) is accessible */
 if (!is_readable(CONFIG_DIR."/".CONFIG_FILE)){
-  echo sprintf(_("GOsa configuration %s/%s is not readable. Aborted."), CONFIG_DIR,CONFIG_FILE);
+  msg_dialog::display(_("Configuration accessibility"),sprintf(_("GOsa configuration %s/%s is not readable. Aborted."), CONFIG_DIR,CONFIG_FILE),FATAL_ERROR_DIALOG);
   exit();
 }
 
@@ -145,8 +152,8 @@ $smarty->assign ('nextfield', 'username');
 
 /* Check for compile directory */
 if (!(is_dir($smarty->compile_dir) && is_writable($smarty->compile_dir))){
-  echo sprintf(_("Directory '%s' specified as compile directory is not accessible!"),
-        $smarty->compile_dir);
+  msg_dialog::display(_("Smarty"),sprintf(_("Directory '%s' specified as compile directory is not accessible!"),
+    $smarty->compile_dir),FATAL_ERROR_DIALOG);
   exit();
 }
 
@@ -253,7 +260,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['login'])){
 
   /* Check for valid input */
   $username= $_POST["username"];
-  if (!ereg("^[A-Za-z0-9_.-]+$", $username)){
+  if (!ereg("^[@A-Za-z0-9_.-]+$", $username)){
     $message= _("Please specify a valid username!");
   } elseif (mb_strlen($_POST["password"], 'UTF-8') == 0){
     $message= _("Please specify your password!");
@@ -288,7 +295,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['login'])){
       /* Restore filter settings from cookie, if available 
        */
       if(isset($config->data['MAIN']['SAVE_FILTER']) && preg_match("/true/",$config->data['MAIN']['SAVE_FILTER'])){
-        $cookie_vars= array("MultiDialogFilters","CurrentMainBase");
+        $cookie_vars= array("MultiDialogFilters","CurrentMainBase","plug");
         foreach($cookie_vars as $var){
           if(isset($_COOKIE[$var])){
             $_SESSION[$var] = unserialize(base64_decode($_COOKIE[$var]));
@@ -296,12 +303,17 @@ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['login'])){
             $_SESSION[$var] = unserialize(base64_decode($HTTP_COOKIE_VARS[$var]));
           }
         }
+        if(isset($_COOKIE['plug'])){
+          $plug = $_COOKIE['plug'];
+        }elseif($HTTP_COOKIE_VARS['plug']){
+          $plug = $HTTP_COOKIE_VARS['plug'];
+        }
       }
 
       /* are we using accountexpiration */
       if((isset($config->data['MAIN']['ACCOUNT_EXPIRATION'])) && 
           preg_match('/true/i', $config->data['MAIN']['ACCOUNT_EXPIRATION'])){
-      
+
         $expired= ldap_expired_account($config, $ui->dn, $ui->username);
 
         if ($expired == 1){
@@ -309,28 +321,26 @@ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['login'])){
           $smarty->assign ('nextfield', 'password');
           new log("security","login","",array(),"Account for user \"$username\" has expired") ;
         } elseif ($expired == 3){
-            $plist= new pluglist($config, $ui);
-            foreach ($plist->dirlist as $key => $value){
-              if (preg_match("/\bpassword\b/i",$value)){
-                $plug=$key;
-                new log("security","login","",array(),"User \"$username\" password forced to change") ;
-                header ("Location: main.php?plug=$plug&amp;reset=1");
-                exit;
-              }
+          $plist= new pluglist($config, $ui);
+          foreach ($plist->dirlist as $key => $value){
+            if (preg_match("/\bpassword\b/i",$value)){
+              $plug=$key;
+              new log("security","login","",array(),"User \"$username\" password forced to change") ;
+              header ("Location: main.php?plug=$plug&amp;reset=1");
+              exit;
             }
           }
-
-        /* Not account expired or password forced change go to main page */
-        new log("security","login","",array(),"User \"$username\" logged in successfully") ;
-        header ("Location: main.php?global_check=1");
-        exit;
-        
-      } else {
-        /* Go to main page */
-        new log("security","login","",array(),"User \"$username\" logged in successfully") ;
+        }
+      }
+      /* Not account expired or password forced change go to main page */
+      new log("security","login","",array(),"User \"$username\" logged in successfully") ;
+      $plist= new pluglist($config, $ui);
+      if(isset($plug) && isset($plist->dirlist[$plug])){
+        header ("Location: main.php?plug=".$plug."&amp;global_check=1");
+      }else{
         header ("Location: main.php?global_check=1");
-        exit;
       }
+      exit;
     }
   }
 }