X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=html%2Findex.php;h=50a3d45a29d5a386e5f97df5c115c5dedce3dc80;hb=45037b88d126d22d0fe9af9b4bd2205b81edce82;hp=0ad4f680014782c7d8eae1c48f9645bf8a5771fc;hpb=41fd4a4b7ce9abec36b49cc8fcc80758bbf1d30c;p=gosa.git diff --git a/html/index.php b/html/index.php index 0ad4f6800..50a3d45a2 100644 --- a/html/index.php +++ b/html/index.php @@ -27,58 +27,65 @@ header("Content-type: text/html; charset=UTF-8"); function displayLogin() { global $smarty,$message,$config,$ssl,$error_collector; - error_reporting(E_ALL); - /* 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); + 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); - /* Displasy SSL mode warning? */ - if ($ssl != "" && $config->data['MAIN']['WARNSSL'] == 'true'){ - $smarty->assign ("ssl", _("Warning").": "._("Session is not encrypted!").""); - } else { - $smarty->assign ("ssl", ""); - } + /* Displasy SSL mode warning? */ + if ($ssl != "" && $config->data['MAIN']['WARNSSL'] == 'true'){ + $smarty->assign ("ssl", _("Warning").": "._("Session is not encrypted!").""); + } 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.""); - } 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.""); + } 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(); } @@ -130,6 +137,11 @@ if ($_SERVER["REQUEST_METHOD"] != "POST"){ @DEBUG (DEBUG_CONFIG, __LINE__, __FUNCTION__, __FILE__, $config->data, "config"); } +/* Enable compressed output */ +if (isset($config->data['MAIN']['COMPRESSED']) && preg_match('/^(true|on)$/i', $config->data['MAIN']['COMPRESSED'])){ + ob_start("ob_gzhandler"); +} + /* Set template compile directory */ if (isset ($config->data['MAIN']['COMPILE'])){ $smarty->compile_dir= $config->data['MAIN']['COMPILE']; @@ -140,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(); } @@ -149,12 +161,7 @@ if (!(is_dir($smarty->compile_dir) && is_writable($smarty->compile_dir))){ clean_smarty_compile_dir($smarty->compile_dir); /* Language setup */ -if ($config->data['MAIN']['LANG'] == ""){ - $lang= get_browser_language(); -} else { - $lang= $config->data['MAIN']['LANG']; -} -$lang.=".UTF-8"; +$lang= get_browser_language(); putenv("LANGUAGE="); putenv("LANG=$lang"); setlocale(LC_ALL, $lang); @@ -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!"); @@ -285,10 +292,28 @@ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['login'])){ $_SESSION['PHP4COMPATIBLE']= TRUE; } + /* 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","plug"); + foreach($cookie_vars as $var){ + if(isset($_COOKIE[$var])){ + $_SESSION[$var] = unserialize(base64_decode($_COOKIE[$var])); + }elseif(isset($HTTP_COOKIE_VARS[$var])){ + $_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){ @@ -296,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&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&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."&global_check=1"); + }else{ header ("Location: main.php?global_check=1"); - exit; } + exit; } } }