X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=html%2Fmain.php;h=745a2d2d79994fe5407b9a2da70852befaad9113;hb=7dc416a3b6561a8b6b4d8098a31e2acea5481422;hp=7e001e122b95b0735204f821156af82bd56c7cca;hpb=641aa93ac42d70af7c058c58f8c30c0f359a40e7;p=gosa.git diff --git a/html/main.php b/html/main.php index 7e001e122..745a2d2d7 100644 --- a/html/main.php +++ b/html/main.php @@ -29,9 +29,6 @@ require_once ("functions_FAI.inc"); /* Set header */ header("Content-type: text/html; charset=UTF-8"); -/* Find all class files and include them */ -get_dir_list("$BASE_DIR/plugins"); - /* Set the text domain as 'messages' */ $domain = 'messages'; bindtextdomain($domain, "$BASE_DIR/locale"); @@ -79,6 +76,11 @@ if ($_SERVER['REMOTE_ADDR'] != $ui->ip){ } $config= $_SESSION['config']; +/* Enable compressed output */ +if (isset($config->data['MAIN']['COMPRESSED']) && preg_match('/^(true|on)$/i', $config->data['MAIN']['COMPRESSED'])){ + ob_start("ob_gzhandler"); +} + /* Check for invalid sessions */ if(empty($_SESSION['_LAST_PAGE_REQUEST'])){ $_SESSION['_LAST_PAGE_REQUEST']= time(); @@ -125,26 +127,20 @@ 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 */ +$lang= get_browser_language(); +if($_SESSION['Last_init_lang'] != $lang){ + $reload_navigation = true; } +/* Language setup */ +$_SESSION['Last_init_lang'] = $lang; + /* Preset current main base */ if(!isset($_SESSION['CurrentMainBase'])){ $_SESSION['CurrentMainBase']= get_base_from_people($ui->dn); } -$lang.=".UTF-8"; - putenv("LANGUAGE="); putenv("LANG=$lang"); setlocale(LC_ALL, $lang); @@ -159,8 +155,16 @@ textdomain($domain); /* Prepare plugin list */ if (!isset($_SESSION['plist'])){ - $_SESSION['plist']= new pluglist($config, $ui); + /* Initially load all classes */ + $class_list= get_declared_classes(); + foreach ($class_mapping as $class => $path){ + if (!in_array($class, $class_list)){ + require_once("$BASE_DIR/$path"); + } + } + $_SESSION['plist']= new pluglist($config, $ui); + /* Load ocMapping into userinfo */ $tmp= new acl($config, NULL, $ui->dn); $ui->ocMapping= $tmp->ocMapping; @@ -365,7 +369,14 @@ if (is_file("$plugin_dir/main.inc")){ /* Print_out last ErrorMessage repeated string. */ +if(isset($_GET['add'])){ +msg_dialog::display("Error" ,"Kann datei nicht schreiben, bla",ERROR_DIALOG); +msg_dialog::display("Warning" ,"Kann datei nicht schreiben, bla",WARNING_DIALOG); +msg_dialog::display("Info" ,"Kann datei nicht schreiben, bla",INFO_DIALOG); +msg_dialog::display("Confirm" ,"Kann datei nicht schreiben, bla",CONFIRM_DIALOG); +} +$smarty->assign("msg_dialogs", msg_dialog::get_dialogs()); $smarty->assign("contents", $display); /* Assign erros to smarty */ @@ -373,7 +384,7 @@ 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", ""); } @@ -385,10 +396,28 @@ if (isset($_SESSION['errors']) && $_SESSION['errors'] != ""){ $focus.= 'document.forms[0].error_accept.focus();'; $focus.= ''; } + + $focus= ''; + + $smarty->assign("focus", $focus); $display= $header.$smarty->fetch(get_template_path('framework.tpl')); +/* Save dialog filters and selected base in a cookie. + So we may be able to restore the filter an base settings on reload. +*/ +if(isset($config->data['MAIN']['SAVE_FILTER']) && preg_match("/true/",$config->data['MAIN']['SAVE_FILTER'])){ + $cookie_vars = array("MultiDialogFilters","CurrentMainBase"); + foreach($cookie_vars as $var){ + if(isset($_SESSION[$var])){ + @setcookie($var,base64_encode(serialize($_SESSION[$var])),time()+ 60*60*24*30); + } + } +} + /* Show page... */ echo $display; @@ -396,8 +425,5 @@ echo $display; $_SESSION['plist']= $plist; $_SESSION['config']= $config; -/* Echo compilation time */ -//echo "
".get_MicroTimeDiff($start,microtime())."
"; - // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?>