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
This commit is contained in:
Mafoo
2017-06-21 08:27:05 -06:00
committed by FusionPBX
parent c5cfffb05a
commit 2575da1a06
7 changed files with 119 additions and 54 deletions
+9 -14
View File
@@ -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('<br/>', $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;
}
}
}