X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=html%2Findex.php;h=c33e7bbcd51c8dd10d7c658ff7ef9b39166db3a0;hb=0b71c1a58fe60b264fea22fe673c1881f8fafa17;hp=16e0c94beed5f4894395637e31082c630b3286d4;hpb=8f22c32dd778e20d5df1eaf7bf6a81412ac493b7;p=gosa.git diff --git a/html/index.php b/html/index.php index 16e0c94be..c33e7bbcd 100644 --- a/html/index.php +++ b/html/index.php @@ -75,16 +75,20 @@ function displayLogin() $smarty->assign("php_errors", ""); } - $smarty->display (get_template_path('headers.tpl')); + $smarty->display(get_template_path('headers.tpl')); $smarty->display(get_template_path('login.tpl')); exit(); } +session_start(); +/* Destroy old session if exists. + Else you will get your old session back, if you not logged out correctly. */ +if(is_array($_SESSION) && count($_SESSION)){ + session_destroy(); + session_start(); +} -/* Set error handler to own one, initialize time calculation - and start session. */ -session_start (); $username= ""; /* Reset errors */ @@ -93,7 +97,7 @@ $_SESSION['errorsAlreadyPosted']= array(); $_SESSION['LastError'] = ""; /* Check if we need to run setup */ -if (!file_exists(CONFIG_DIR."/gosa.conf")){ +if (!file_exists(CONFIG_DIR."/".CONFIG_FILE)){ header("location:setup.php"); exit(); } @@ -108,14 +112,14 @@ if(isset($_POST['javascript']) && $_POST['javascript'] == "true") { $_SESSION['js']= FALSE; } -/* Check if gosa.conf is accessible */ -if (!is_readable(CONFIG_DIR."/gosa.conf")){ - echo sprintf(_("GOsa configuration %s/gosa.conf is not readable. Aborted."), CONFIG_DIR); +/* Check if 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); exit(); } /* Parse configuration file */ -$config= new config(CONFIG_DIR."/gosa.conf", $BASE_DIR); +$config= new config(CONFIG_DIR."/".CONFIG_FILE, $BASE_DIR); $_SESSION['DEBUGLEVEL']= $config->data['MAIN']['DEBUGLEVEL']; if ($_SERVER["REQUEST_METHOD"] != "POST"){ @DEBUG (DEBUG_CONFIG, __LINE__, __FUNCTION__, __FILE__, $config->data, "config"); @@ -210,20 +214,29 @@ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['login'])){ $config->data['MAIN']['SCHEMA_CHECK'] = "true"; } if(isset($config->data['MAIN']['SCHEMA_CHECK'])&&preg_match("/true/i",$config->data['MAIN']['SCHEMA_CHECK'])){ - require_once("functions_setup.inc"); - if(!is_schema_readable($config->current['SERVER'],$config->current['ADMIN'],$config->current['PASSWORD'])){ + $recursive = (isset($config->current['RECURSIVE']) && $config->current['RECURSIVE'] == "true"); + $tls = (isset($config->current['TLS']) && $config->current['TLS'] == "true"); + + if(!count($ldap->get_objectclasses())){ + print_red(_("GOsa cannot retrieve information about the installed schema files. Please make sure, that this is possible.")); - $smarty->display(get_template_path('headers.tpl')); - echo "".$_SESSION['errors'].""; + displayLogin(); exit(); }else{ - $str = (schema_check($config->current['SERVER'],$config->current['ADMIN'],$config->current['PASSWORD'],0,TRUE)); + + $cfg = array(); + $cfg['admin'] = $config->current['ADMIN']; + $cfg['password'] = $config->current['PASSWORD']; + $cfg['connection']= $config->current['SERVER']; + $cfg['tls'] = $tls; + + $str = check_schema($cfg,isset($config->current['RFC2307BIS']) && preg_match("/(true|yes|on|1)/i",$config->current['RFC2307BIS'])); + $checkarr = array(); foreach($str as $tr){ - if(isset($tr['needonstartup'])){ - print_red($tr['msg']."
"._("Your ldap setup contains old schema definitions. Please re-run the setup.")); - $smarty->display(get_template_path('headers.tpl')); - echo "".$_SESSION['errors'].""; + if(isset($tr['IS_MUST_HAVE']) && !$tr['STATUS']){ + print_red($tr['MSG']."
"._("Your ldap setup contains old schema definitions. Please re-run the setup.")); + displayLogin(); exit(); } } @@ -257,7 +270,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['login'])){ /* Login as user, initialize user ACL's */ $ui= ldap_login_user($username, $_POST["password"]); - if ($ui === NULL || $ui == 0){ + if ($ui === NULL || !$ui ){ $message= _("Please check the username/password combination."); $smarty->assign ('nextfield', 'password'); gosa_log ("Authentication failed for user \"$username\""); @@ -275,6 +288,11 @@ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['login'])){ $config->make_idepartments(); $_SESSION['config']= $config; + /* Take care about zend.ze1_compatiblity_mode */ + if (ini_get("zend.ze1_compatibility_mode") != 0){ + $_SESSION['PHP4COMPATIBLE']= TRUE; + } + /* are we using accountexpiration */ if((isset($config->data['MAIN']['ACCOUNT_EXPIRATION'])) && preg_match('/true/i', $config->data['MAIN']['ACCOUNT_EXPIRATION'])){ @@ -328,13 +346,13 @@ $smarty->assign ("message", $message); /* Displasy SSL mode warning? */ if ($ssl != "" && $config->data['MAIN']['WARNSSL'] == 'true'){ - $smarty->assign ("ssl", ""._("Warning").": "._("Session will not be encrypted.")." "._("Enter SSL session")."!"); + $smarty->assign ("ssl", ""._("Warning").":<\/b> "._("Session will not be encrypted.")." "._("Enter SSL session")."<\/b>!"); } else { $smarty->assign ("ssl", ""); } /* Translation of cookie-warning. Whether to display it, is determined by JavaScript */ -$smarty->assign ("cookies", ""._("Warning").": "._("Your browser has cookies disabled. Please enable cookies and reload this page before logging in!")); +$smarty->assign ("cookies", ""._("Warning").":<\/b> "._("Your browser has cookies disabled. Please enable cookies and reload this page before logging in!")); /* Generate server list */ @@ -351,7 +369,6 @@ $smarty->assign ("server_options", $servers); $smarty->assign ("server_id", $selected); /* show login screen */ -$smarty->display (get_template_path('headers.tpl')); $smarty->assign ("PHPSESSID", session_id()); if (isset($_SESSION['errors'])){ $smarty->assign("errors", $_SESSION['errors']);