diff --git a/module/message/config.php b/module/message/config.php
index 83c8f3826f..abe29d34c1 100644
--- a/module/message/config.php
+++ b/module/message/config.php
@@ -49,6 +49,6 @@ $config->message->browser = new stdclass();
$config->message->browser->turnon = 1;
$config->message->browser->pollTime = 300;
$config->message->browser->minPollTime = 30;
-$config->message->browser->show = 1;
+$config->message->browser->show = 0;
$config->message->browser->count = 1;
$config->message->browser->maxDays = 30;
diff --git a/module/message/js/ajaxgetdropmenu.ui.js b/module/message/js/ajaxgetdropmenu.ui.js
index 6019a6a0ab..3c64f2e9b4 100644
--- a/module/message/js/ajaxgetdropmenu.ui.js
+++ b/module/message/js/ajaxgetdropmenu.ui.js
@@ -1,6 +1,6 @@
-window.markRead = function(e)
+window.markRead = function(obj)
{
- let $this = $(e.target);
+ let $this = $(obj);
if(!$this.hasClass('message-item')) $this = $this.closest('.message-item');
let isUnread = $this.hasClass('unread');
if(!isUnread) return;
@@ -14,9 +14,9 @@ window.markRead = function(e)
/* Rerender unread count. */
$('messageTabs #unread-messages.tab-pane').find('.message-item[data-id="' + messageID + '"]').addClass('hidden');
renderMessage();
-}
+};
-window.markAllRead = function(e)
+window.markAllRead = function()
{
let $messageItem = $('#messageTabs .message-item.unread');
$messageItem.find('.label-dot.danger').removeClass('danger').addClass('gray');
@@ -24,25 +24,19 @@ window.markAllRead = function(e)
$('#messageTabs #unread-messages.tab-pane .message-item').addClass('hidden');
$.get($.createLink('message', 'ajaxMarkRead', "id=all"));
renderMessage();
-}
+};
-window.clearRead = function(e)
+window.clearRead = function()
{
- let result = confirm(confirmClearLang);
- if(!result) return;
-
let $messageItem = $('#messageTabs .message-item:not(.unread)');
$messageItem.addClass('hidden');
$.get($.createLink('message', 'ajaxDelete', "id=allread"));
renderMessage();
-}
+};
-window.deleteMessage = function(e)
+window.deleteMessage = function(obj)
{
- let result = confirm(confirmDeleteLang);
- if(!result) return;
-
- let $this = $(e.target);
+ let $this = $(obj);
if(!$this.hasClass('message-item')) $this = $this.closest('.message-item');
let messageID = $this.data("id");
@@ -52,18 +46,25 @@ window.deleteMessage = function(e)
/* Rerender unread count. */
renderMessage();
-}
+};
+
+window.clickMessage = function(obj)
+{
+ let $obj = $(obj);
+ let url = $obj.attr('data-url').replace(/\?onlybody=yes/g, '').replace(/\&onlybody=yes/g, '');
+ markRead(obj);
+ $('#header #messageBar').trigger('click');
+ $.apps.openApp(url);
+ rederMessage();
+};
window.renderMessage = function()
{
- let $unreadTab = $('#messageTabs #unread-messages.tab-pane');
+ let $unreadTab = $('#messageTabs #unread-messages.tab-pane');
let unreadCount = $unreadTab.find('.message-item.unread').length;
- let $messageBarDot = $('#messageBar .label-dot.danger');
- $('[href="#unread-messages"] span').html(unreadLangTempate.replace(/%s/, unreadCount));
- if($messageBarDot.html()) $messageBarDot.html(unreadCount);
+ if(typeof(unreadLangTempate) != 'undefined') $('[href="#unread-messages"] span').html(unreadLangTempate.replace(/%s/, unreadCount));
if(unreadCount == 0)
{
- $messageBarDot.remove();
$unreadTab.find('ul').addClass('hidden');
if($unreadTab.find('.nodata').length == 0) $unreadTab.append("
" + noDataLang + "
");
}
@@ -75,4 +76,8 @@ window.renderMessage = function()
$allTab.find('ul').addClass('hidden');
if($allTab.find('.nodata').length == 0) $allTab.append("" + noDataLang + "
");
}
-}
+
+ updateAllDot(showCount);
+};
+
+$(function(){ updateAllDot(showCount); });
diff --git a/module/message/js/common.ui.js b/module/message/js/common.ui.js
new file mode 100644
index 0000000000..bb6ed211e5
--- /dev/null
+++ b/module/message/js/common.ui.js
@@ -0,0 +1,12 @@
+window.updateAllDot = function(showCount)
+{
+ let $unreadTab = $('#messageTabs #unread-messages.tab-pane');
+ let unreadCount = $unreadTab.find('.message-item.unread').length;
+ let dotHtml = '' + (showCount != '0' ? unreadCount : '') + '';
+ parent.$('#apps .app-container').each(function()
+ {
+ let $iframeMessageBar = $(this).find('iframe').contents().find('#messageBar');
+ $iframeMessageBar.find('.label-dot.danger').remove();
+ if(unreadCount) $iframeMessageBar.append(dotHtml);
+ });
+};
diff --git a/module/message/lang/de.php b/module/message/lang/de.php
index 7941e4970a..97d896a89e 100644
--- a/module/message/lang/de.php
+++ b/module/message/lang/de.php
@@ -31,10 +31,8 @@ $lang->message->timeLabel['minute'] = '%s minute ago';
$lang->message->timeLabel['hour'] = '1 hour ago';
$lang->message->notice = new stdclass();
-$lang->message->notice->confirmDelete = "Are you sure you want to delete this message?";
-$lang->message->notice->confirmClear = "Are you sure you want to clear the read messages?";
-$lang->message->notice->allMarkRead = 'One-click read';
-$lang->message->notice->clearRead = 'Clear read';
+$lang->message->notice->allMarkRead = 'One-click read';
+$lang->message->notice->clearRead = 'Clear read';
$lang->message->label = new stdclass();
$lang->message->label->created = 'create';
diff --git a/module/message/lang/en.php b/module/message/lang/en.php
index b299a38202..805bd6a8c7 100644
--- a/module/message/lang/en.php
+++ b/module/message/lang/en.php
@@ -31,10 +31,8 @@ $lang->message->timeLabel['minute'] = '%s minute ago';
$lang->message->timeLabel['hour'] = '1 hour ago';
$lang->message->notice = new stdclass();
-$lang->message->notice->confirmDelete = "Are you sure you want to delete this message?";
-$lang->message->notice->confirmClear = "Are you sure you want to clear the read messages?";
-$lang->message->notice->allMarkRead = 'One-click read';
-$lang->message->notice->clearRead = 'Clear read';
+$lang->message->notice->allMarkRead = 'One-click read';
+$lang->message->notice->clearRead = 'Clear read';
$lang->message->label = new stdclass();
$lang->message->label->created = 'create';
diff --git a/module/message/lang/fr.php b/module/message/lang/fr.php
index eb329576b6..e707b99368 100644
--- a/module/message/lang/fr.php
+++ b/module/message/lang/fr.php
@@ -31,10 +31,8 @@ $lang->message->timeLabel['minute'] = '%s minute ago';
$lang->message->timeLabel['hour'] = '1 hour ago';
$lang->message->notice = new stdclass();
-$lang->message->notice->confirmDelete = "Are you sure you want to delete this message?";
-$lang->message->notice->confirmClear = "Are you sure you want to clear the read messages?";
-$lang->message->notice->allMarkRead = 'One-click read';
-$lang->message->notice->clearRead = 'Clear read';
+$lang->message->notice->allMarkRead = 'One-click read';
+$lang->message->notice->clearRead = 'Clear read';
$lang->message->label = new stdclass();
$lang->message->label->created = 'create';
diff --git a/module/message/lang/zh-cn.php b/module/message/lang/zh-cn.php
index 516f64f2c5..9aa5da073f 100644
--- a/module/message/lang/zh-cn.php
+++ b/module/message/lang/zh-cn.php
@@ -31,10 +31,8 @@ $lang->message->timeLabel['minute'] = '%s分钟前';
$lang->message->timeLabel['hour'] = '1小时前';
$lang->message->notice = new stdclass();
-$lang->message->notice->confirmDelete = "您确定要删除该条消息吗?";
-$lang->message->notice->confirmClear = "您确定要清空已读消息吗?";
-$lang->message->notice->allMarkRead = '一键已读';
-$lang->message->notice->clearRead = '清空已读';
+$lang->message->notice->allMarkRead = '一键已读';
+$lang->message->notice->clearRead = '清空已读';
$lang->message->label = new stdclass();
$lang->message->label->created = '创建';
diff --git a/module/message/ui/ajaxgetdropmenu.html.php b/module/message/ui/ajaxgetdropmenu.html.php
index 22f8ff6399..dcdd54ebac 100644
--- a/module/message/ui/ajaxgetdropmenu.html.php
+++ b/module/message/ui/ajaxgetdropmenu.html.php
@@ -14,8 +14,7 @@ namespace zin;
jsVar('unreadLangTempate', $lang->message->unread);
jsVar('noDataLang', $lang->noData);
-jsVar('confirmDeleteLang', $lang->message->notice->confirmDelete);
-jsVar('confirmClearLang', $lang->message->notice->confirmClear);
+jsVar('showCount', $config->message->browser->count);
$buildMessageList = function($messageGroup) use ($lang)
{
@@ -36,6 +35,12 @@ $buildMessageList = function($messageGroup) use ($lang)
if($secondDiff >= 3600) $time = $lang->message->timeLabel['hour'];
if($secondDiff > 5400) $time = substr($message->createdDate, 5, 11);
+ preg_match_all("/data, $out);
+ $link = count($out[1]) ? $out[1][0] : '';
+ $content = str_replace("data);
+ $content = preg_replace("/data-app='([^\']+)'/", '', $content);
+ $content = preg_replace("/(\?|\&)onlybody=yes'/", '', $content);
+
$itemList[] = h::li
(
setClass('message-item border rounded-lg p-2 mt-2' . ($isUnread ? ' unread' : '')),
@@ -46,7 +51,7 @@ $buildMessageList = function($messageGroup) use ($lang)
cell(label(setClass("label-dot {$dotColor} mr-2")), $lang->message->browser),
cell($time, icon(setClass('ml-2 cursor-pointer delete-message-btn'), 'close'))
),
- div(setClass('pt-1'), html($message->data))
+ div(setClass('pt-1'), html($content))
);
}
$dateList[] = h::li(h::ul(setClass('list-unstyled'), $itemList));
@@ -59,8 +64,8 @@ tabs
setID('messageTabs'),
setClass('text-black pt-1 px-5 pb-5 relative'),
set::style(array('width' => '400px', 'background-color' => '#fff')),
- on::click('.delete-message-btn', 'deleteMessage'),
- on::click('.message-item', 'markRead'),
+ on::click('.delete-message-btn', 'deleteMessage(e.target)'),
+ on::click('.message-item', 'markRead(e.target)'),
on::click('.clearRead', 'clearRead'),
on::click('.allMarkRead', 'markAllRead'),
div