Code

Updated gosaSupportDaemon
[gosa.git] / gosa-core / html / main.php
index 56f5aa89749deaac493cb8287d31667e69116b3e..d6baecbd0a8dc231e4a8d8798e0208676c80ff86 100644 (file)
@@ -24,18 +24,19 @@ $start = microtime();
 /* Basic setup, remove eventually registered sessions */
 require_once ("../include/php_setup.inc");
 require_once ("functions.inc");
-require_once ("functions_FAI.inc");
 
 /* Set header */
 header("Content-type: text/html; charset=UTF-8");
 
 /* Set the text domain as 'messages' */
 $domain = 'messages';
-bindtextdomain($domain, "$BASE_DIR/locale");
+bindtextdomain($domain, LOCALE_DIR);
 textdomain($domain);
 
 /* Remember everything we did after the last click */
 session::start();
+session::set('errorsAlreadyPosted',array());
+session::set('runtime_cache',array());
 session::set('limit_exceeded',FALSE);
 
 if ($_SERVER["REQUEST_METHOD"] == "POST"){
@@ -113,7 +114,7 @@ if(!session::is_set('Last_init_lang')){
 
 /* If last language != current force navi reload */
 $lang= get_browser_language();
-if(session::get('Last_init_lang',$lang)){
+if(session::get('Last_init_lang') != $lang){
   $reload_navigation = true;
 }
 
@@ -133,7 +134,7 @@ $GLOBALS['t_gettext_message_dir'] = $BASE_DIR.'/locale/';
 
 /* Set the text domain as 'messages' */
 $domain = 'messages';
-bindtextdomain($domain, "$BASE_DIR/locale");
+bindtextdomain($domain, LOCALE_DIR);
 textdomain($domain);
 @DEBUG (DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $lang, "Setting language to");
 
@@ -143,10 +144,17 @@ if (!session::is_set('plist')){
   $class_list= get_declared_classes();
   foreach ($class_mapping as $class => $path){
     if (!in_array($class, $class_list)){
+      if (is_readable("$BASE_DIR/$path")){
         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", "<b>update-gosa</b>"), FATAL_ERROR_DIALOG);
+        exit;
+      }
     }
   }
-  
+
   session::set('plist', new pluglist($config, $ui));
 
   /* Load ocMapping into userinfo */
@@ -155,13 +163,16 @@ if (!session::is_set('plist')){
   session::set('ui',$ui);
 }
 $plist= session::get('plist');
-
 /* Check for register globals */
 if (isset($global_check) && $config->data['MAIN']['FORCEGLOBALS'] == 'true'){
-  echo _("FATAL: Register globals is on. GOsa will refuse to login unless this is fixed by an administrator.");
+  msg_dialog::display(
+            _("PHP configuration"),
+            _("FATAL: Register globals is on. GOsa will refuse to login unless this is fixed by an administrator."),
+            FATAL_ERROR_DIALOG);
+
   new log("security","login","",array(),"Register globals is on. For security reasons, this should be turned off.") ;
   session::destroy ();
-  exit ();
+  exit;
 }
 
 /* Check Plugin variable */
@@ -286,7 +297,7 @@ $smarty->assign ("go_help", get_template_path('images/help.png'));
 
 /* reload navigation if language changed*/  
 if($reload_navigation){
-  $plist->menu="";;
+  $plist->menu="";
 }
 $plist->gen_headlines();
 $plist->gen_menu();
@@ -348,7 +359,10 @@ if((isset($config->data['MAIN']['ACCOUNT_EXPIRATION'])) &&
 if (is_file("$plugin_dir/main.inc")){
   require_once ("$plugin_dir/main.inc");
 } else {
-  echo sprintf(_("FATAL: Can't find any plugin definitions for plugin '%s'!"), $plug);
+  msg_dialog::display(
+            _("Plugin"),
+            sprintf(_("FATAL: Can't find any plugin definitions for plugin '%s'!"), $plug),
+            FATAL_ERROR_DIALOG);
   exit();
 }