X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=html%2Fmain.php;h=50a3e87cf72b4cee54dd97a03541ff53e8afe51e;hb=bf781db3d9f73f8bd555ce039f659ca7ee3adf54;hp=2a25aa99be64dcdae1296069e9972bfd6e6f1321;hpb=270df98dac38afb3b1fdb57478c803286866a00e;p=gosa.git diff --git a/html/main.php b/html/main.php index 2a25aa99b..50a3e87cf 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"); @@ -65,11 +62,6 @@ if (!isset($_SESSION['config'])){ exit; } -/* Reset errors */ -$_SESSION['errors'] = ""; -$_SESSION['errorsAlreadyPosted']= array(); -$_SESSION['LastError'] = ""; - /* Check for uniqe ip address */ $ui= $_SESSION["ui"]; if ($_SERVER['REMOTE_ADDR'] != $ui->ip){ @@ -78,6 +70,12 @@ if ($_SERVER['REMOTE_ADDR'] != $ui->ip){ exit; } $config= $_SESSION['config']; +$config->check_and_reload(); + +/* 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'])){ @@ -153,8 +151,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; @@ -359,7 +365,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 */ @@ -379,19 +392,38 @@ 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); + } + } + if(isset($_GET['plug'])){ + @setcookie("plug", $_GET['plug'],time()+ 60*60*24*30); + } +} + /* Show page... */ echo $display; /* Save plist and config */ $_SESSION['plist']= $plist; $_SESSION['config']= $config; - -/* Echo compilation time */ -//echo "
".get_MicroTimeDiff($start,microtime())."
"; +$_SESSION['errorsAlreadyPosted']= array(); // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?>