Desktop Notifications
This commit is contained in:
@@ -7,8 +7,8 @@
|
|||||||
class Databap extends PhpObject
|
class Databap extends PhpObject
|
||||||
{
|
{
|
||||||
//Common Constants
|
//Common Constants
|
||||||
const VERSION = '1.1.3'; //Versioning: <Main_Version>.<Enhancement_Package>.<Patch>-<Release_Candidate>
|
const VERSION = '1.1.4'; //Versioning: <Main_Version>.<Enhancement_Package>.<Patch>-<Release_Candidate>
|
||||||
const VERSION_DATE = '08/12/2019';
|
const VERSION_DATE = '24/09/2020';
|
||||||
const EXPECTED_PAGE_COOKIE = 'exp_page';
|
const EXPECTED_PAGE_COOKIE = 'exp_page';
|
||||||
const MAIN_SEPARATOR = ' ';
|
const MAIN_SEPARATOR = ' ';
|
||||||
const DATE_FORMAT = 'd/m/Y';
|
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
|
//Init's end
|
||||||
databap.setInitEnd(true);
|
databap.setInitEnd(true);
|
||||||
|
|
||||||
|
//Notification Permission
|
||||||
|
if(!Push.Permission.has()) Push.Permission.request(()=>{}, ()=>{});
|
||||||
};
|
};
|
||||||
|
|
||||||
//On resize
|
//On resize
|
||||||
@@ -825,15 +828,18 @@ function addMessage(message_info, bReset)
|
|||||||
var sUnreadChanName, iUnreadCount;
|
var sUnreadChanName, iUnreadCount;
|
||||||
var bSystemMsg = false;
|
var bSystemMsg = false;
|
||||||
var bImage = false;
|
var bImage = false;
|
||||||
|
var sNotif = '';
|
||||||
|
|
||||||
switch(message_info.msg_class)
|
switch(message_info.msg_class)
|
||||||
{
|
{
|
||||||
case databap.consts.msg_types.user:
|
case databap.consts.msg_types.user:
|
||||||
msg_body = sMsgPrefix+'<span class="text">'+message_info.message+'</span>';
|
msg_body = sMsgPrefix+'<span class="text">'+message_info.message+'</span>';
|
||||||
|
sNotif = message_info.nickname+' : '+message_info.message;
|
||||||
break;
|
break;
|
||||||
case databap.consts.msg_types.news:
|
case databap.consts.msg_types.news:
|
||||||
databap.tmp('get_news', true);
|
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>';
|
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;
|
break;
|
||||||
case databap.consts.msg_types.add.code:
|
case databap.consts.msg_types.add.code:
|
||||||
var url = databap.getInternalLink('code', message_info.message);
|
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);
|
msgTargetUser = message_info.message.substr(1, slicePos - 1);
|
||||||
var msg = message_info.message.slice(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>';
|
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;
|
break;
|
||||||
case databap.consts.msg_types.nick:
|
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>';
|
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>';
|
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>';
|
msg_body = sMsgPrefix+'<span class="text">'+msg+'</span>';
|
||||||
bImage = true;
|
bImage = true;
|
||||||
|
sNotif = message_info.nickname+' a posté une image';
|
||||||
break;
|
break;
|
||||||
case databap.consts.msg_types.reboot:
|
case databap.consts.msg_types.reboot:
|
||||||
if(!bReset)
|
if(!bReset)
|
||||||
@@ -944,6 +952,19 @@ function addMessage(message_info, bReset)
|
|||||||
sUnreadChanName = getChanName(message_info.id_chan);
|
sUnreadChanName = getChanName(message_info.id_chan);
|
||||||
iUnreadCount = (databap.tmp(['unread_msg', sUnreadChanName]) || 0) + 1;
|
iUnreadCount = (databap.tmp(['unread_msg', sUnreadChanName]) || 0) + 1;
|
||||||
databap.tmp(['unread_msg', sUnreadChanName], iUnreadCount);
|
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
|
//Move to bottom if user is typing
|
||||||
@@ -1000,6 +1021,7 @@ function refresh_users()
|
|||||||
databap.tmp(['users', sChankeyName, sSafeNickName], sNickName);
|
databap.tmp(['users', sChankeyName, sSafeNickName], sNickName);
|
||||||
databap.tmp(['users', databap.consts.all_chan_id, sSafeNickName], sNickName);
|
databap.tmp(['users', databap.consts.all_chan_id, sSafeNickName], sNickName);
|
||||||
databap.tmp(['id_users', sNickName], user_info.id_user);
|
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
|
//Append name to user list box
|
||||||
var sProfileLink = databap.getInternalLink('profil', user_info.id_user);
|
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.min.js?v[#]version[#]"></script>
|
||||||
<script type="text/javascript" src="jquery/jquery.mods.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/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/common.js?v[#]version[#]"></script>
|
||||||
<script type="text/javascript" src="jquery/databap.js?v[#]version[#]"></script>
|
<script type="text/javascript" src="jquery/databap.js?v[#]version[#]"></script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|||||||
Reference in New Issue
Block a user