X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_msg_dialog.inc;h=6cd25e6d6f4c0bbe45ab5f8e05ac57ed63d30bd4;hb=ae725dfb9dbf8a8765de0c3854329b2e9edf3512;hp=4293414ca1b3c563a5d6a530714407359271da88;hpb=951ff52238278141c5d423bda877eea92c86ce32;p=gosa.git diff --git a/gosa-core/include/class_msg_dialog.inc b/gosa-core/include/class_msg_dialog.inc index 4293414ca..6cd25e6d6 100644 --- a/gosa-core/include/class_msg_dialog.inc +++ b/gosa-core/include/class_msg_dialog.inc @@ -1,10 +1,31 @@ i_ID = preg_replace("/[^0-9]*/","",microtime()); $this->s_Title = $s_title; @@ -42,11 +66,10 @@ class msg_dialog /* Append trace information, only if error messages are enabled */ if( isset($config) && is_object($config) && - isset($config->data['MAIN']['DISPLAYERRORS']) && - preg_match("/^true$/i",$config->data['MAIN']['DISPLAYERRORS'])){ + $config->get_cfg_value("displayerrors") == "true" ){ $this->a_Trace = debug_backtrace(); } - if(!isset($_SESSION['msg_dialogs'])){ + if(!session::is_set('msg_dialogs')){ session::set('msg_dialogs',array()); } if($this->i_Type == FATAL_ERROR_DIALOG){ @@ -54,16 +77,30 @@ class msg_dialog error_reporting(E_ALL); echo $this->execute(); }else{ - $_SESSION['msg_dialogs'][] = $this; + $msg_dialogs = session::get('msg_dialogs'); + $msg_dialogs[] = $this; + session::set('msg_dialogs',$msg_dialogs); } } + session::set('errorsAlreadyPosted',$errorsAlreadyPosted); } + public static function display($s_title,$s_message,$i_type = INFO_DIALOG) { new msg_dialog($s_title,$s_message,$i_type); } + + public static function displayChecks($messages) + { + /* Assemble the message array to a plain string */ + foreach ($messages as $error){ + msg_dialog::display(_("Error"), $error, ERROR_DIALOG); + } + } + + public function get_ID() { return($this->i_ID); @@ -82,7 +119,7 @@ class msg_dialog {t}Error{/t} - Fatal Error - GOsa execution abortet - ".$this->s_Title."
+ ".$this->s_Title."
".$this->s_Message."

"._("Please fix the above error and reload the page.")." @@ -98,7 +135,7 @@ class msg_dialog $smarty->assign("s_Title",$this->s_Title); $smarty->assign("i_ID",$this->i_ID); $smarty->assign("frame",false); - $smarty->assign("JS",$_SESSION['js']); + $smarty->assign("JS",session::global_get('js')); $smarty->assign("IE",preg_match("/MSIE/", $_SERVER['HTTP_USER_AGENT'])); return($smarty->fetch(get_template_path('msg_dialog.tpl'))); } @@ -125,7 +162,7 @@ class msg_dialog # $seen = $_POST['closed_msg_dialogs']; } - if(isset($_SESSION['msg_dialogs']) && is_array($_SESSION['msg_dialogs']) && count($_SESSION['msg_dialogs'])){ + if(session::is_set('msg_dialogs') && is_array(session::get('msg_dialogs')) && count(session::get('msg_dialogs'))){ /* Get frame one */ $smarty = get_smarty(); @@ -133,20 +170,22 @@ class msg_dialog $smarty->assign("IE",preg_match("/MSIE/", $_SERVER['HTTP_USER_AGENT'])); $return = $smarty->fetch(get_template_path('msg_dialog.tpl')); - if(!$_SESSION['js']){ - $dialog = array_pop($_SESSION['msg_dialogs']); + if(!session::global_get('js')){ + $dialog = array_pop(session::get('msg_dialogs')); $return.= $dialog->execute(); }else{ - foreach($_SESSION['msg_dialogs'] as $key => $dialog){ + $msg_dialogs = session::get('msg_dialogs'); + foreach($msg_dialogs as $key => $dialog){ if(preg_match("/".$dialog->get_ID()."/",$seen)){ - unset($_SESSION['msg_dialogs'][$key]); + unset($msg_dialogs[$key]); }else{ $return.= $dialog->execute(); $dialog_ids= $dialog->get_ID().",".$dialog_ids; } - unset($_SESSION['msg_dialogs'][$key]); + unset($msg_dialogs[$key]); } + session::set('msg_dialogs',$msg_dialogs); } $dialog_ids = preg_replace("/,$/","",$dialog_ids); @@ -158,5 +197,6 @@ class msg_dialog } return($return); } + } ?>