X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=html%2Fmain.php;h=3eb9acca9018e381244149093d967b2cfc044607;hb=92f7db328cc05c8272cb694f79c4f60219a01351;hp=160017b6b9e3cd3bb5cd71227a3652d1fab4f904;hpb=ff232c758489cc329ba2cac686d4f1b18ed9dc1e;p=gosa.git diff --git a/html/main.php b/html/main.php index 160017b6b..3eb9acca9 100644 --- a/html/main.php +++ b/html/main.php @@ -47,6 +47,8 @@ ini_set("session.gc_maxlifetime",24*60*60); /* Remember everything we did after the last click */ session_start (); +$_SESSION['limit_exceeded'] =FALSE; + if ($_SERVER["REQUEST_METHOD"] == "POST"){ @DEBUG (DEBUG_POST, __LINE__, __FUNCTION__, __FILE__, $_POST, "_POST"); } @@ -98,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(); } @@ -121,20 +122,13 @@ if((!isset($_SESSION['Last_init_lang']))){ $_SESSION['Last_init_lang'] = get_browser_language(); } -/* Language setup */ -if ($config->data['MAIN']['LANG'] == ""){ - - /* If last language != current force navi reload */ - if($_SESSION['Last_init_lang'] != get_browser_language()){ - $reload_navigation = true; - } - $lang= get_browser_language(); - $_SESSION['Last_init_lang'] = $lang; -} else { - $lang= $config->data['MAIN']['LANG']; +/* If last language != current force navi reload */ +if($_SESSION['Last_init_lang'] != get_browser_language()){ + $reload_navigation = true; } +$lang= get_browser_language(); +$_SESSION['Last_init_lang'] = $lang; -$lang.=".UTF-8"; putenv("LANGUAGE="); putenv("LANG=$lang"); setlocale(LC_ALL, $lang); @@ -147,6 +141,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); @@ -155,8 +154,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 (); @@ -168,8 +166,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 == ""){ @@ -238,28 +250,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 */ @@ -288,12 +286,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"); @@ -340,15 +332,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); @@ -356,11 +359,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"))) { @@ -378,8 +392,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);