Code

msgPool
[gosa.git] / gosa-core / html / index.php
index e4cf86c7c9fa2a422d7e4c0e5fe1963deefd08b7..238c74b956136b32a5fccecb6c5d50b35d9dbfcc 100644 (file)
@@ -1,21 +1,23 @@
 <?php
 /*
-   This code is part of GOsa (https://gosa.gonicus.de)
-   Copyright (C) 2003-2005  Cajus Pollmeier
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * This code is part of GOsa (http://www.gosa-project.org)
+ * Copyright (C) 2003-2008 GONICUS GmbH
+ * 
+ * ID: $$Id$$
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
 /* Load required includes */
@@ -24,6 +26,11 @@ require_once ("functions.inc");
 require_once ("class_log.inc");
 header("Content-type: text/html; charset=UTF-8");
 
+
+/**
+ * Display the login page and exit().
+ *
+ */
 function displayLogin()
 {
   global $smarty,$message,$config,$ssl,$error_collector;
@@ -82,7 +89,7 @@ function displayLogin()
   } else {
     $smarty->assign("php_errors", "");
   }
-
+  $smarty->assign("msg_dialogs", msg_dialog::get_dialogs());
   $smarty->display (get_template_path('headers.tpl'));
   $smarty->display(get_template_path('login.tpl'));
   exit();
@@ -90,6 +97,10 @@ function displayLogin()
 
 
 
+/*****************************************************************************
+ *                               M   A   I   N                               *
+ *****************************************************************************/
+
 /* Set error handler to own one, initialize time calculation
    and start session. */
 session::start();
@@ -203,20 +214,20 @@ if ($config->data['MAIN']['FORCESSL'] == 'true' && $ssl != ''){
 $htaccess_authenticated= FALSE;
 if (isset($config->data['MAIN']['HTACCESS_AUTH']) && preg_match('/^(yes|true)$/i', $config->data['MAIN']['HTACCESS_AUTH'])){
   if (!isset($_SERVER['REMOTE_USER'])){
-    msg_dialog::display(_("Configuration error"), _("There is a problem with the authentication setup!"), ERROR_DIALOG);
-    display_error_page();
+    msg_dialog::display(_("Configuration error"), _("There is a problem with the authentication setup!"), FATAL_ERROR_DIALOG);
+    exit;
   }
 
   $tmp= process_htaccess($_SERVER['REMOTE_USER'], isset($_SERVER['KRB5CCNAME']));
   $username= $tmp['username'];
   $server= $tmp['server'];
   if ($username == ""){
-    msg_dialog::display(_("Error"), _("Cannot find a valid user for the current authentication setup!"), ERROR_DIALOG);
-    display_error_page();
+    msg_dialog::display(_("Error"), _("Cannot find a valid user for the current authentication setup!"), FATAL_ERROR_DIALOG);
+    exit;
   }
   if ($server == ""){
-    msg_dialog::display(_("Error"), _("User information is not uniq accross the configured LDAP trees!"), ERROR_DIALOG);
-    display_error_page();
+    msg_dialog::display(_("Error"), _("User information is not unique accross the configured LDAP trees!"), FATAL_ERROR_DIALOG);
+    exit;
   }
 
   $htaccess_authenticated= TRUE;
@@ -241,7 +252,7 @@ if (($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['login'])) || $htacces
   /* Admin-logon and verify */
   $ldap = $config->get_ldap_link();
   if (is_null($ldap) || (is_int($ldap) && $ldap == 0)){
-    msg_dialog::display(_("LDAP error"), _("Can't bind to LDAP. Please contact the system administrator."), ERROR_DIALOG);
+    msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, 0, get_class()));
     displayLogin();
     exit();
   }
@@ -304,8 +315,8 @@ if (($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['login'])) || $htacces
     if ($htaccess_authenticated){
       $ui= ldap_login_user_htaccess($username);
       if ($ui === NULL || !$ui){
-        msg_dialog::display(_("Authentication error"), _("Cannot retrieve user information for htaccess authentication!"), ERROR_DIALOG);
-        display_error_page();
+        msg_dialog::display(_("Authentication error"), _("Cannot retrieve user information for htaccess authentication!"), FATAL_ERROR_DIALOG);
+        exit;
       }
     } else {
       $ui= ldap_login_user($username, $_POST["password"]);
@@ -413,7 +424,6 @@ if ($ssl != "" && $config->data['MAIN']['WARNSSL'] == 'true'){
 /* Translation of cookie-warning. Whether to display it, is determined by JavaScript */
 $smarty->assign ("cookies", "<b>"._("Warning").":<\/b> "._("Your browser has cookies disabled. Please enable cookies and reload this page before logging in!"));
 
-
 /* Generate server list */
 $servers= array();
 if (isset($_POST['server'])){