From b312fbc425f131159848bcb7780758551077972f Mon Sep 17 00:00:00 2001 From: Mafoo Date: Wed, 21 Jun 2017 15:27:05 +0100 Subject: [PATCH] Enhance-Multiple messages display (#2702) Store messages by mood so they can be grouped up change default mood to positive and add a default colour to catch messages with a wrong mood migrate settings so upgrading vs new is consistent --- core/domain_settings/app_defaults.php | 21 +++++++- core/user_settings/app_defaults.php | 21 +++++++- resources/classes/messages.php | 23 ++++---- themes/default/app_config.php | 20 ++++++- themes/default/app_defaults.php | 76 +++++++++++++++++---------- themes/default/css.php | 9 ++-- themes/default/template.php | 3 +- 7 files changed, 119 insertions(+), 54 deletions(-) diff --git a/core/domain_settings/app_defaults.php b/core/domain_settings/app_defaults.php index 7b4ef6cfdb..5b6ce1b028 100644 --- a/core/domain_settings/app_defaults.php +++ b/core/domain_settings/app_defaults.php @@ -24,7 +24,7 @@ Mark J Crane */ -//proccess this only one time +//process this only one time if ($domains_processed == 1) { //set domains with enabled status of empty or null to true $sql = "update v_domains set domain_enabled = 'true' where domain_enabled = '' or domain_enabled is null"; @@ -39,6 +39,23 @@ $db->exec(check_sql($sql)); unset($sql); } + //migrate old domain_settings + $sql = "update v_domain_settings "; + $sql .= "set domain_setting_value = '#fafafa' "; + $sql .= "where domain_setting_subcategory = 'message_default_color' "; + $sql .= "and domain_setting_value = '#ccffcc' "; + $prep_statement = $db->prepare(check_sql($sql)); + if ($prep_statement) { + $prep_statement->execute(); + } + $sql = "update v_domain_settings "; + $sql .= "set domain_setting_value = '#666' "; + $sql .= "where domain_setting_subcategory = 'message_default_background_color' "; + $sql .= "and domain_setting_value = '#004200' "; + $prep_statement = $db->prepare(check_sql($sql)); + if ($prep_statement) { + $prep_statement->execute(); + } + unset($prep_statement, $sql); } - ?> \ No newline at end of file diff --git a/core/user_settings/app_defaults.php b/core/user_settings/app_defaults.php index 70e9d16ab8..d507063361 100644 --- a/core/user_settings/app_defaults.php +++ b/core/user_settings/app_defaults.php @@ -24,7 +24,7 @@ Mark J Crane */ -//proccess this only one time +//process this only one time if ($domains_processed == 1) { //update any users set to legacy languages $language = new text; @@ -35,6 +35,23 @@ $db->exec(check_sql($sql)); unset($sql); } + //migrate old user_settings + $sql = "update v_user_settings "; + $sql .= "set user_setting_value = '#fafafa' "; + $sql .= "where user_setting_subcategory = 'message_default_color' "; + $sql .= "and user_setting_value = '#ccffcc' "; + $prep_statement = $db->prepare(check_sql($sql)); + if ($prep_statement) { + $prep_statement->execute(); + } + $sql = "update v_user_settings "; + $sql .= "set user_setting_value = '#666' "; + $sql .= "where user_setting_subcategory = 'message_default_background_color' "; + $sql .= "and user_setting_value = '#004200' "; + $prep_statement = $db->prepare(check_sql($sql)); + if ($prep_statement) { + $prep_statement->execute(); + } + unset($prep_statement, $sql); } - ?> \ No newline at end of file diff --git a/resources/classes/messages.php b/resources/classes/messages.php index 21e0d482fc..279b545920 100644 --- a/resources/classes/messages.php +++ b/resources/classes/messages.php @@ -29,7 +29,10 @@ if (!class_exists('messages')) { class messages { static function add($message, $mood = NULL, $delay = NULL) { - $_SESSION["messages"][] = array(message => $message, mood => $mood, delay => $delay); + $mood = $mood ?: 'positive'; + $delay = $delay ?: (1000 * (float) $_SESSION['theme']['message_delay']['text']); + $_SESSION["messages"][$mood]['message'][] = $message; + $_SESSION["messages"][$mood]['delay'][] = $delay; } static function html($clear_messages = true, $spacer = "") { @@ -39,26 +42,18 @@ if (!class_exists('messages')) { self::add($_SESSION['message'], $_SESSION['message_mood'], $_SESSION['message_delay']); unset($_SESSION['message'], $_SESSION['message_mood'], $_SESSION['message_delay']); } - if(count($_SESSION['messages']) > 0 ){ - foreach ($_SESSION['messages'] as $message) { - $message_text = addslashes($message['message']); - $message_mood = $message['mood'] ?: 'default'; - $message_delay = $message['delay']; - - $html .= "${spacer}display_message('".str_replace(array("\r\n", "\n", "\r"),'\\n', $message_text)."', '".$message_mood."'"; - if ($message_delay != '') { - $html .= ", '".$message_delay."'"; - } - $html .= ");\n"; + if(count($_SESSION['messages']) > 0 ) { + foreach ($_SESSION['messages'] as $message_mood => $message) { + $message_text = str_replace(array("\r\n", "\n", "\r"),'\\n',addslashes(join('
', $message['message']))); + $message_delay = array_sum($message['delay'])/count($message['delay']); + $html .= "${spacer}display_message('$message_text', '$message_mood', '$message_delay');\n"; } } if($clear_messages) { - unset($_SESSION['message'], $_SESSION['message_mood'], $_SESSION['message_delay']); unset($_SESSION['messages']); } return $html; } - } } diff --git a/themes/default/app_config.php b/themes/default/app_config.php index 17c0a1db66..1ef04cdbf2 100644 --- a/themes/default/app_config.php +++ b/themes/default/app_config.php @@ -138,7 +138,7 @@ $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "message_default_background_color"; $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; - $apps[$x]['default_settings'][$y]['default_setting_value'] = "#ccffcc"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "#fafafa"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the background color for the positive (default) message bar."; $y++; @@ -146,10 +146,26 @@ $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "message_default_color"; $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; - $apps[$x]['default_settings'][$y]['default_setting_value'] = "#004200"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "#666"; $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the text color for the positive (default) message bar text."; $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "6f399020-565d-11e7-907b-a6006ad3dba0"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "message_positive_background_color"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "#ccffcc"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the background color for the positive (positive) message bar."; + $y++; + $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "6f399372-565d-11e7-907b-a6006ad3dba0"; + $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; + $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "message_positive_color"; + $apps[$x]['default_settings'][$y]['default_setting_name'] = "text"; + $apps[$x]['default_settings'][$y]['default_setting_value'] = "#004200"; + $apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true"; + $apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the text color for the positive (positive) message bar text."; + $y++; $apps[$x]['default_settings'][$y]['default_setting_uuid'] = "635387b9-e094-411a-a39c-3055b5cc9347"; $apps[$x]['default_settings'][$y]['default_setting_category'] = "theme"; $apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "message_negative_background_color"; diff --git a/themes/default/app_defaults.php b/themes/default/app_defaults.php index 5d2d61762b..c62bd64b0d 100644 --- a/themes/default/app_defaults.php +++ b/themes/default/app_defaults.php @@ -24,36 +24,54 @@ Mark J Crane */ -if ($domains_processed == 1) { - - //get the background images - $relative_path = PROJECT_PATH.'/themes/default/images/backgrounds'; - $backgrounds = opendir($_SERVER["DOCUMENT_ROOT"].'/'.$relative_path); - unset($array); - $x = 0; - while (false !== ($file = readdir($backgrounds))) { - if ($file != "." AND $file != "..") { - $ext = pathinfo($file, PATHINFO_EXTENSION); - if ($ext == "png" || $ext == "jpg" || $ext == "jpeg" || $ext == "gif") { - $array[$x]['default_setting_category'] = 'theme'; - $array[$x]['default_setting_subcategory'] = 'background_image'; - $array[$x]['default_setting_name'] = 'array'; - $array[$x]['default_setting_value'] = $relative_path.'/'.$file; - $array[$x]['default_setting_enabled'] = 'false'; - $array[$x]['default_setting_description'] = 'Set a relative path or URL within a selected compatible template.'; - $x++; - $array[$x]['default_setting_category'] = 'theme'; - $array[$x]['default_setting_subcategory'] = 'login_background_image'; - $array[$x]['default_setting_name'] = 'array'; - $array[$x]['default_setting_value'] = $relative_path.'/'.$file; - $array[$x]['default_setting_enabled'] = 'false'; - $array[$x]['default_setting_description'] = 'Set a relative path or URL within a selected compatible template.'; - $x++; +//process this only one time + if ($domains_processed == 1) { + + //get the background images + $relative_path = PROJECT_PATH.'/themes/default/images/backgrounds'; + $backgrounds = opendir($_SERVER["DOCUMENT_ROOT"].'/'.$relative_path); + unset($array); + $x = 0; + while (false !== ($file = readdir($backgrounds))) { + if ($file != "." AND $file != "..") { + $ext = pathinfo($file, PATHINFO_EXTENSION); + if ($ext == "png" || $ext == "jpg" || $ext == "jpeg" || $ext == "gif") { + $array[$x]['default_setting_category'] = 'theme'; + $array[$x]['default_setting_subcategory'] = 'background_image'; + $array[$x]['default_setting_name'] = 'array'; + $array[$x]['default_setting_value'] = $relative_path.'/'.$file; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = 'Set a relative path or URL within a selected compatible template.'; + $x++; + $array[$x]['default_setting_category'] = 'theme'; + $array[$x]['default_setting_subcategory'] = 'login_background_image'; + $array[$x]['default_setting_name'] = 'array'; + $array[$x]['default_setting_value'] = $relative_path.'/'.$file; + $array[$x]['default_setting_enabled'] = 'false'; + $array[$x]['default_setting_description'] = 'Set a relative path or URL within a selected compatible template.'; + $x++; + } + if ($x > 300) { break; }; } - if ($x > 300) { break; }; } - } - -} + //migrate old default_settings + $sql = "update v_default_settings "; + $sql .= "set default_setting_value = '#fafafa' "; + $sql .= "where default_setting_subcategory = 'message_default_color' "; + $sql .= "and default_setting_value = '#ccffcc' "; + $prep_statement = $db->prepare(check_sql($sql)); + if ($prep_statement) { + $prep_statement->execute(); + } + $sql = "update v_default_settings "; + $sql .= "set default_setting_value = '#666' "; + $sql .= "where default_setting_subcategory = 'message_default_background_color' "; + $sql .= "and default_setting_value = '#004200' "; + $prep_statement = $db->prepare(check_sql($sql)); + if ($prep_statement) { + $prep_statement->execute(); + } + unset($prep_statement, $sql); + } ?> diff --git a/themes/default/css.php b/themes/default/css.php index ab2b4a7305..10926924fa 100644 --- a/themes/default/css.php +++ b/themes/default/css.php @@ -1412,14 +1412,17 @@ $default_login = ($_REQUEST['login'] == 'default') ? true : false; font-size: 10pt; display: block; border-bottom: solid 1px; - } - - .message_mood_default { color: ; background: ; border-bottom-color: ; } + .message_mood_positive { + color: ; + background: ; + border-bottom-color: ; + } + .message_mood_negative { color: ; background: ; diff --git a/themes/default/template.php b/themes/default/template.php index 2ca262dfa7..fd30ddbd22 100644 --- a/themes/default/template.php +++ b/themes/default/template.php @@ -75,11 +75,10 @@ message_text.click(function() { var object = $(this); object.clearQueue().finish(); - object.css({height: '3em'}); object.animate({height: '0', 'font-size': '0', 'border-bottom-width': '0'}, 1000).animate({opacity: 0}); } ); $("#messages_container").append(message_text); - message_text.animate({height: '3em'}, 500).animate({opacity: 1}, 'fast').delay(delay).animate({height: '0', 'font-size': '0', 'border-bottom-width': '0'}, 1000).animate({opacity: 0}); + message_text.animate({opacity: 1}, 'fast').delay(delay).animate({height: '0', 'font-size': '0', 'border-bottom-width': '0'}, 1000).animate({opacity: 0}); } }