Desktop Notifications
This commit is contained in:
@@ -7,8 +7,8 @@
|
||||
class Databap extends PhpObject
|
||||
{
|
||||
//Common Constants
|
||||
const VERSION = '1.1.3'; //Versioning: <Main_Version>.<Enhancement_Package>.<Patch>-<Release_Candidate>
|
||||
const VERSION_DATE = '08/12/2019';
|
||||
const VERSION = '1.1.4'; //Versioning: <Main_Version>.<Enhancement_Package>.<Patch>-<Release_Candidate>
|
||||
const VERSION_DATE = '24/09/2020';
|
||||
const EXPECTED_PAGE_COOKIE = 'exp_page';
|
||||
const MAIN_SEPARATOR = ' ';
|
||||
const DATE_FORMAT = 'd/m/Y';
|
||||
|
||||
39
jquery/push.min.js
vendored
Normal file
39
jquery/push.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
jquery/push.min.js.map
Normal file
1
jquery/push.min.js.map
Normal file
File diff suppressed because one or more lines are too long
@@ -124,6 +124,9 @@ databap.pageInit = function()
|
||||
|
||||
//Init's end
|
||||
databap.setInitEnd(true);
|
||||
|
||||
//Notification Permission
|
||||
if(!Push.Permission.has()) Push.Permission.request(()=>{}, ()=>{});
|
||||
};
|
||||
|
||||
//On resize
|
||||
@@ -825,15 +828,18 @@ function addMessage(message_info, bReset)
|
||||
var sUnreadChanName, iUnreadCount;
|
||||
var bSystemMsg = false;
|
||||
var bImage = false;
|
||||
var sNotif = '';
|
||||
|
||||
switch(message_info.msg_class)
|
||||
{
|
||||
case databap.consts.msg_types.user:
|
||||
msg_body = sMsgPrefix+'<span class="text">'+message_info.message+'</span>';
|
||||
sNotif = message_info.nickname+' : '+message_info.message;
|
||||
break;
|
||||
case databap.consts.msg_types.news:
|
||||
databap.tmp('get_news', true);
|
||||
msg_body = '<span class="text action">'+message_info.nickname+' a une news : <span class="news"><i class="fa fa-30 fa-c-news"></i> '+message_info.message+' <i class="fa fa-30 fa-c-news"></i></span></span>';
|
||||
sNotif = message_info.nickname+' a une news : '+message_info.message;
|
||||
break;
|
||||
case databap.consts.msg_types.add.code:
|
||||
var url = databap.getInternalLink('code', message_info.message);
|
||||
@@ -859,6 +865,7 @@ function addMessage(message_info, bReset)
|
||||
msgTargetUser = message_info.message.substr(1, slicePos - 1);
|
||||
var msg = message_info.message.slice(slicePos + 1);
|
||||
msg_body = '<a class="user clickable" title="Ecrire un PM à '+message_info.nickname+'">'+message_info.nickname+'</a><span class="console"> <span class="highlight">@'+msgTargetUser+'</span>></span><span class="text">'+msg+'</span>';
|
||||
sNotif = message_info.nickname+' @'+msgTargetUser+' : '+msg;
|
||||
break;
|
||||
case databap.consts.msg_types.nick:
|
||||
msg_body = '<span class="text">'+message_info.message+' (<a href="'+databap.getInternalLink('profil', message_info.id_user)+'" target="_blank"><i class="fa fa-c-profile fa-inline"></i>'+message_info.name+'</a>)</span>';
|
||||
@@ -875,6 +882,7 @@ function addMessage(message_info, bReset)
|
||||
var msg = '<a href="'+message_info.message.url+'" target="_blank" title="'+message_info.message.title+'"><img src="'+message_info.message.url_img+'" width="'+message_info.message.width+'" height="'+message_info.message.height+'" class="proxy" /></a>';
|
||||
msg_body = sMsgPrefix+'<span class="text">'+msg+'</span>';
|
||||
bImage = true;
|
||||
sNotif = message_info.nickname+' a posté une image';
|
||||
break;
|
||||
case databap.consts.msg_types.reboot:
|
||||
if(!bReset)
|
||||
@@ -944,6 +952,19 @@ function addMessage(message_info, bReset)
|
||||
sUnreadChanName = getChanName(message_info.id_chan);
|
||||
iUnreadCount = (databap.tmp(['unread_msg', sUnreadChanName]) || 0) + 1;
|
||||
databap.tmp(['unread_msg', sUnreadChanName], iUnreadCount);
|
||||
|
||||
//Desktop Notification
|
||||
if(!databap.vars.focus && sNotif != '' && Push.Permission.has()) {
|
||||
Push.create('Databap - '+message_info.nickname, {
|
||||
body: sNotif,
|
||||
icon: databap.consts.app_image_folder+(databap.tmp(['logos', message_info.id_user]) || 'logo_25.png'),
|
||||
timeout: 4000,
|
||||
onClick: function () {
|
||||
window.focus();
|
||||
this.close();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//Move to bottom if user is typing
|
||||
@@ -1000,6 +1021,7 @@ function refresh_users()
|
||||
databap.tmp(['users', sChankeyName, sSafeNickName], sNickName);
|
||||
databap.tmp(['users', databap.consts.all_chan_id, sSafeNickName], sNickName);
|
||||
databap.tmp(['id_users', sNickName], user_info.id_user);
|
||||
databap.tmp(['logos', user_info.id_user], user_info.logo);
|
||||
|
||||
//Append name to user list box
|
||||
var sProfileLink = databap.getInternalLink('profil', user_info.id_user);
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
<script type="text/javascript" src="jquery/jquery.min.js?v[#]version[#]"></script>
|
||||
<script type="text/javascript" src="jquery/jquery.mods.js?v[#]version[#]"></script>
|
||||
<script type="text/javascript" src="jquery/fileuploader.js?v[#]version[#]"></script>
|
||||
<script type="text/javascript" src="jquery/push.min.js?v[#]version[#]"></script>
|
||||
<script type="text/javascript" src="jquery/common.js?v[#]version[#]"></script>
|
||||
<script type="text/javascript" src="jquery/databap.js?v[#]version[#]"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
Reference in New Issue
Block a user