X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=html%2Fmain.php;h=dc952df2e8348b6cb121647799b9c7cc16e88229;hb=1f2a9f1002febad6ef9e3adeb54cf366c7315d74;hp=6fefa08a2fadc0fa664a4c1939bc291564a003b0;hpb=31e984c561a5f9ef165b7bc705e4764257c5ceca;p=gosa.git diff --git a/html/main.php b/html/main.php index 6fefa08a2..dc952df2e 100644 --- a/html/main.php +++ b/html/main.php @@ -100,7 +100,6 @@ if(empty($_SESSION['_LAST_PAGE_REQUEST'])){ header ("Location: logout.php"); exit; } -// echo "Session was ".$request_time." s inactive"; $_SESSION['_LAST_PAGE_REQUEST'] = time(); } @@ -137,6 +136,7 @@ if ($config->data['MAIN']['LANG'] == ""){ } $lang.=".UTF-8"; + putenv("LANGUAGE="); putenv("LANG=$lang"); setlocale(LC_ALL, $lang); @@ -149,6 +149,11 @@ bindtextdomain($domain, "$BASE_DIR/locale"); textdomain($domain); @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $lang, "Setting language to"); +/* Preset current main base */ +if(!isset($_SESSION['CurrentMainBase'])){ + $_SESSION['CurrentMainBase']= get_base_from_people($ui->dn); +} + /* Prepare plugin list */ if (!isset($_SESSION['plist'])){ $_SESSION['plist']= new pluglist($config, $ui); @@ -157,8 +162,7 @@ $plist= $_SESSION['plist']; /* Check for register globals */ if (isset($global_check) && $config->data['MAIN']['FORCEGLOBALS'] == 'true'){ - print_red (_("Register globals is on. GOsa will refuse to login unless this is fixed by an administrator.")); - echo $_SESSION['errors']; + echo _("FATAL: Register globals is on. GOsa will refuse to login unless this is fixed by an administrator."); gosa_log ("Register globals is on. For security reasons, this should be turned off."); session_destroy (); exit (); @@ -170,8 +174,22 @@ if (isset($_SESSION['plugin_dir'])){ } else { $old_plugin_dir= ""; } + +/* reload navigation if language changed*/ +if($reload_navigation){ + $plist->menu="";; +} +$plist->gen_headlines(); +$plist->gen_menu(); + + if (isset($_GET['plug'])){ $plug= validate($_GET['plug']); + + if(!in_array_ics($plug,$plist->allowed_plug_ids)){ + $plug = key($plist->allowed_plug_ids); + } + $plugin_dir= $plist->get_path($plug); $_SESSION['plugin_dir']= $plugin_dir; if ($plugin_dir == ""){ @@ -240,28 +258,14 @@ if ($_SERVER["REQUEST_METHOD"] == "POST"){ /* Load department list when plugin has changed. That is some kind of compromise between speed and beeing up to date */ if (isset($_GET['reset'])){ - if (!isset($_SESSION['cached_departments'])){ - $config->get_departments(); - $_SESSION['cached_departments']= $config->departments; - } else { - $config->departments= $_SESSION['cached_departments']; - } - $config->make_idepartments (); if (isset($_SESSION['objectinfo'])){ unset ($_SESSION['objectinfo']); } } -/* Install eGOsa hooks, convert _POST to _SESSION['POST'] */ -if(isset($_GET['explorer'])){ - $_SESSION{'eGosa'}=1; -} -if(isset($_SESSION['POST'])){ - $_SERVER["REQUEST_METHOD"] = "POST"; - foreach ($_SESSION['POST'] as $key => $dummy){ - $_POST[$key]=$_SESSION['POST'][$key]; - } - unset($_SESSION['POST']); +/* Place IE workaround */ +if (isset($config->data['MAIN']['IE_PNG_WORKAROUND']) && preg_match("/true/i",$config->data['MAIN']['IE_PNG_WORKAROUND'])){ + $smarty->assign('ieworkaround', 1); } /* show web frontend */ @@ -290,12 +294,6 @@ $smarty->assign ("go_corner", get_template_path('images/go_corner.png')); $smarty->assign ("go_left", get_template_path('images/go_left.png')); $smarty->assign ("go_help", get_template_path('images/help.png')); -/* reload navigation if language changed*/ -if($reload_navigation){ - $plist->menu="";; -} -$plist->gen_headlines(); -$plist->gen_menu(); $smarty->assign ("menu", $plist->menu); $smarty->assign ("plug", "$plug"); @@ -342,15 +340,26 @@ if (isset ($_SESSION['post_cnt'])){ if (is_file("$plugin_dir/main.inc")){ require_once ("$plugin_dir/main.inc"); } else { - print_red(sprintf(_("Can't find any plugin definitions for plugin '%s'!"), $plug)); - echo $_SESSION['errors']; + echo sprintf(_("FATAL: Can't find any plugin definitions for plugin '%s'!"), $plug); exit(); } /* Close div/tables */ -/* Print_out last ErrorMessage repeated string. - */ + /* check if we are using account expiration */ + + 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 == 2){ + gosa_log ("password for user \"$ui->username\" is about to expire"); + print_red(_("Your password is about to expire, please change your password")); + } + } + +/* Print_out last ErrorMessage repeated string. */ print_red(NULL); $smarty->assign("contents", $display); @@ -358,11 +367,22 @@ $smarty->assign("contents", $display); if (isset($_SESSION['errors'])){ $smarty->assign("errors", $_SESSION['errors']); } + if ($error_collector != ""){ - $smarty->assign("php_errors", $error_collector.""); + $smarty->assign("php_errors", preg_replace("/%BUGBODY%/",$error_collector_mailto,$error_collector).""); } else { $smarty->assign("php_errors", ""); } + +/* Set focus to the error button if we've an error message */ +$focus= ""; +if (isset($_SESSION['errors']) && $_SESSION['errors'] != ""){ + $focus= ''; +} +$smarty->assign("focus", $focus); + $display= $header.$smarty->fetch(get_template_path('framework.tpl')); if ((isset($config->data['MAIN']['W3CTEST']) && preg_match('/true/i', $config->data['MAIN']['W3CTEST']))&&(!empty($display))&&(is_callable("tidy_parse_string"))) { @@ -380,8 +400,10 @@ if ((isset($config->data['MAIN']['W3CTEST']) && preg_match('/true/i', $config->d /* Show page... */ echo $display; -/* Save plist */ +/* Save plist and config */ $_SESSION['plist']= $plist; +$_SESSION['config']= $config; + /* Echo compilation time * / $r = split(" ",$start);