X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Fhtml%2Fmain.php;h=2ea2668a21bc692425edd6036d589a10c389d8e0;hb=5c2d01aab3c13cca9f03b4983a3a00b4ea47ae51;hp=a5d9c2a7491ff45b55df92e0a46cf8e13719ae30;hpb=f4b36811e51e7099204672c829e0a8c3fa3ddec7;p=gosa.git diff --git a/gosa-core/html/main.php b/gosa-core/html/main.php index a5d9c2a74..2ea2668a2 100644 --- a/gosa-core/html/main.php +++ b/gosa-core/html/main.php @@ -41,6 +41,8 @@ session::set('errorsAlreadyPosted',array()); session::global_set('runtime_cache',array()); session::set('limit_exceeded',FALSE); +pathNavigator::clear(); + if ($_SERVER["REQUEST_METHOD"] == "POST"){ @DEBUG (DEBUG_POST, __LINE__, __FUNCTION__, __FILE__, $_POST, "_POST"); } @@ -62,9 +64,10 @@ if ($_SERVER['REMOTE_ADDR'] != $ui->ip){ } $config= session::global_get('config'); $config->check_and_reload(); +$config->configRegistry->reload(); /* Enable compressed output */ -if ($config->get_cfg_value("sendCompressedOutput") == "true"){ +if ($config->get_cfg_value("core","sendCompressedOutput") == "true"){ ob_start("ob_gzhandler"); } @@ -74,7 +77,7 @@ if(session::global_get('_LAST_PAGE_REQUEST') == ""){ }else{ /* check GOsa.conf for defined session lifetime */ - $max_life= $config->get_cfg_value("sessionLifetime", 60*60*2); + $max_life= $config->get_cfg_value("core","sessionLifetime"); /* get time difference between last page reload */ $request_time = (time()- session::global_get('_LAST_PAGE_REQUEST')); @@ -95,7 +98,8 @@ if(session::global_get('_LAST_PAGE_REQUEST') == ""){ @DEBUG (DEBUG_CONFIG, __LINE__, __FUNCTION__, __FILE__, $config->data, "config"); /* Set template compile directory */ -$smarty->compile_dir= $config->get_cfg_value("templateCompileDirectory", '/var/spool/gosa'); +$smarty->compile_dir= $config->get_cfg_value("core","templateCompileDirectory", '/var/spool/gosa'); +$smarty->error_unassigned= true; /* Set default */ $reload_navigation = false; @@ -145,8 +149,8 @@ if (!session::global_is_set('plist')){ require_once("$BASE_DIR/$path"); } else { msg_dialog::display(_("Fatal error"), - sprintf(_("Cannot locate file '%s' - please run '%s' to fix this"), - "$BASE_DIR/$path", "update-gosa"), FATAL_ERROR_DIALOG); + sprintf(_("Cannot locate file %s - please run %s to fix this"), + bold("$BASE_DIR/$path"), bold("update-gosa")), FATAL_ERROR_DIALOG); exit; } } @@ -162,10 +166,10 @@ if (!session::global_is_set('plist')){ $plist= session::global_get('plist'); /* Check for register globals */ -if (isset($global_check) && $config->get_cfg_value("forceglobals") == "true"){ +if (isset($global_check) && $config->get_cfg_value("core","forceglobals") == "true"){ msg_dialog::display( _("PHP configuration"), - _("FATAL: Register globals is on. GOsa will refuse to login unless this is fixed by an administrator."), + _("FATAL: Register globals is active. Please fix this in order to continue."), FATAL_ERROR_DIALOG); new log("security","login","",array(),"Register globals is on. For security reasons, this should be turned off.") ; @@ -195,23 +199,29 @@ if (isset($_GET['plug']) && $plist->plugin_access_allowed($_GET['plug'])){ $plugin_dir= "$BASE_DIR/plugins/generic/welcome"; } -/* Check if we need to delete a lock */ -$cleanup = FALSE; -if ($old_plugin_dir != $plugin_dir && $old_plugin_dir != "" || isset($_POST['delete_lock'])){ +/* Handle plugin locks. + - Remove the plugin from session if we switched to another. (cleanup) + - Remove all created locks if "reset" was posted. + - Remove all created locks if we switched to another plugin. +*/ +$cleanup = FALSE; +$remove_lock= FALSE; + +/* Check if we have changed the selected plugin +*/ +if($old_plugin_dir != $plugin_dir && $old_plugin_dir != ""){ if (is_file("$old_plugin_dir/main.inc")){ - if(isset($_POST['delete_lock'])){ - $remove_lock= true; - } - if($old_plugin_dir != $plugin_dir && $old_plugin_dir != ""){ - $cleanup= true; - } - $display = ""; - require_once ("$old_plugin_dir/main.inc"); - $display = ""; + $cleanup = $remove_lock = TRUE; + require ("$old_plugin_dir/main.inc"); + $cleanup = $remove_lock = FALSE; } +}else // elseif + +/* Reset was posted, remove all created locks for the current plugin +*/ +if((isset($_GET['reset']) && $_GET['reset'] == 1) || isset($_POST['delete_lock'])){ + $remove_lock = TRUE; } -$remove_lock= false; -$cleanup= false; /* Check for sizelimits */ eval_sizelimit(); @@ -259,8 +269,12 @@ if (isset($_GET['reset'])){ } /* show web frontend */ +$smarty->assign ("title","GOsa"); +$smarty->assign ("logo", image(get_template_path("images/logo.png"))); +$smarty->assign ("logoutimage", get_template_path("images/btn-logout.png")); $smarty->assign ("date", date("l, dS F Y H:i:s O")); -$smarty->assign ("must", "*"); +$smarty->assign ("lang", preg_replace('/_.*$/', '', $lang)); +$smarty->assign ("must", "*"); if (isset($plug)){ $plug= "?plug=$plug"; } else { @@ -275,9 +289,9 @@ if (session::global_get('js')==FALSE){ } if($ui->ignore_acl_for_current_user()){ - $smarty->assign ("username", ""._("User ACL checks disabled")." ".$ui->username); + $smarty->assign ("loggedin", ""._("ACLs are disabled")." ".sprintf(_("You're logged in as %s"), "".$ui->cn." [".$ui->username."]")); }else{ - $smarty->assign ("username", $ui->username); + $smarty->assign ("loggedin", sprintf(_("You're logged in as %s"), "".$ui->cn." [".$ui->username."]")); } $smarty->assign ("go_logo", get_template_path('images/go_logo.png')); $smarty->assign ("go_base", get_template_path('images/dtree.png')); @@ -292,29 +306,35 @@ $smarty->assign ("go_help", get_template_path('images/help.png')); if($reload_navigation){ $plist->menu=""; } -$plist->gen_headlines(); -$plist->gen_menu(); -$smarty->assign ("menu", $plist->menu); +$smarty->assign ("menu", $plist->gen_menu()); $smarty->assign ("plug", "$plug"); -$header= "".$smarty->fetch(get_template_path('headers.tpl')); /* React on clicks */ if ($_SERVER["REQUEST_METHOD"] == "POST"){ if (isset($_POST['delete_lock']) || isset($_POST['open_readonly'])){ /* Set old Post data */ - if(session::global_is_set('LOCK_VARS_USED')){ - foreach(session::global_get('LOCK_VARS_USED') as $name => $value){ + if(session::global_is_set('LOCK_VARS_USED_GET')){ + foreach(session::global_get('LOCK_VARS_USED_GET') as $name => $value){ $_GET[$name] = $value; + } + } + if(session::global_is_set('LOCK_VARS_USED_POST')){ + foreach(session::global_get('LOCK_VARS_USED_POST') as $name => $value){ $_POST[$name] = $value; } } + if(session::global_is_set('LOCK_VARS_USED_REQUEST')){ + foreach(session::global_get('LOCK_VARS_USED_REQUEST') as $name => $value){ + $_REQUEST[$name] = $value; + } + } } } /* check if we are using account expiration */ -if ($config->get_cfg_value("handleExpiredAccounts") == "true"){ +if ($config->get_cfg_value("core","handleExpiredAccounts") == "true"){ $expired= ldap_expired_account($config, $ui->dn, $ui->username); if ($expired == 2){ @@ -325,18 +345,20 @@ if ($config->get_cfg_value("handleExpiredAccounts") == "true"){ /* Load plugin */ if (is_file("$plugin_dir/main.inc")){ + $display =""; require ("$plugin_dir/main.inc"); } else { msg_dialog::display( - _("Plugin"), - sprintf(_("FATAL: Cannot find any plugin definitions for plugin '%s'!"), $plug), - FATAL_ERROR_DIALOG); + _("Plugin"), + sprintf(_("FATAL: Cannot find any plugin definitions for plugin %s!"), bold($plug)), + FATAL_ERROR_DIALOG); exit(); } /* Print_out last ErrorMessage repeated string. */ $smarty->assign("msg_dialogs", msg_dialog::get_dialogs()); +$smarty->assign ("pathMenu", $plist->genPathMenu()); $smarty->assign("contents", $display); /* If there's some post, take a look if everything is there... */ @@ -390,7 +412,8 @@ if (isset($_POST['_channel_'])){ $smarty->assign("channel", ""); } -$display= $header.$smarty->fetch(get_template_path('framework.tpl')); +$display= "".$smarty->fetch(get_template_path('headers.tpl')). + $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. @@ -404,7 +427,7 @@ if(isset($_COOKIE['GOsa_Filter_Settings'])){ } /* Save filters? */ -if($config->get_cfg_value("storeFilterSettings") == "true"){ +if($config->get_cfg_value("core","storeFilterSettings") == "true"){ $cookie_vars = array("MultiDialogFilters","CurrentMainBase"); foreach($cookie_vars as $var){ if(session::global_is_set($var)){