Система оповещения о личных сообщениях v.4.0
© Romych, Alex_63
Автор: Alex_63, Romych
Платформа: MyBB
Отличия от предыдущей версии:
- Окно оповещений открывается только при первом получении нового сообщения,
при последующих обновлениях / переходах - сворачивается и не беспокоит.
Чтобы его развернуть, нужно навести курсор на надпись "Новые сообщения" (скриншот => http://s7.uploads.ru/1Y0Z4.png )
- Звуковое уведомление также срабатывает только при первом открытии (когда раскрывается список ЛС в уведомлении)
- Изменен стиль окошка уведомлений, добавлен ник отправителя
- Длина выводимого названия личного сообщения ограничивается 40 символами
- В уведомлении выводятся 5 последних непрочитанных ЛС
- Цифра новых сообщений выводится в виде красного маркера, привлекающего внимание юзера (см. скриншот вверху сообщения)
В HTML низ:
<!-- Система оповещений о личных сообщениях v.4, / Romych, Alex_63 --> <link rel="stylesheet" type="text/css" href="https://forumstatic.ru/files/0015/c4/3f/69516.css"/> <script type="text/javascript" src="https://forumstatic.ru/files/0015/c4/3f/69514.js"></script>
Система оповещения о личных сообщениях v.3.5
© Romych
Автор: Romych
Платформа: MyBB
в html-верх или свой стиль (без тегов <style>):
<style type="text/css"> /* стиль основного блока jGrowl для почтового уведомления */ .jGrowl .messag_theme { font-size: 10px; width: auto; background: rgba(76,76,76,1); background: -moz-linear-gradient(top, rgba(76,76,76,1) 0%, rgba(44,44,44,1) 0%, rgba(89,89,89,0.99) 12%, rgba(102,102,102,0.98) 25%, rgba(71,71,71,0.96) 39%, rgba(0,0,0,0.95) 51%, rgba(17,17,17,0.94) 60%, rgba(43,43,43,0.92) 76%, rgba(28,28,28,0.91) 91%, rgba(19,19,19,0.9) 100%); background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(76,76,76,1)), color-stop(0%, rgba(44,44,44,1)), color-stop(12%, rgba(89,89,89,0.99)), color-stop(25%, rgba(102,102,102,0.98)), color-stop(39%, rgba(71,71,71,0.96)), color-stop(51%, rgba(0,0,0,0.95)), color-stop(60%, rgba(17,17,17,0.94)), color-stop(76%, rgba(43,43,43,0.92)), color-stop(91%, rgba(28,28,28,0.91)), color-stop(100%, rgba(19,19,19,0.9))); background: -webkit-linear-gradient(top, rgba(76,76,76,1) 0%, rgba(44,44,44,1) 0%, rgba(89,89,89,0.99) 12%, rgba(102,102,102,0.98) 25%, rgba(71,71,71,0.96) 39%, rgba(0,0,0,0.95) 51%, rgba(17,17,17,0.94) 60%, rgba(43,43,43,0.92) 76%, rgba(28,28,28,0.91) 91%, rgba(19,19,19,0.9) 100%); background: -o-linear-gradient(top, rgba(76,76,76,1) 0%, rgba(44,44,44,1) 0%, rgba(89,89,89,0.99) 12%, rgba(102,102,102,0.98) 25%, rgba(71,71,71,0.96) 39%, rgba(0,0,0,0.95) 51%, rgba(17,17,17,0.94) 60%, rgba(43,43,43,0.92) 76%, rgba(28,28,28,0.91) 91%, rgba(19,19,19,0.9) 100%); background: -ms-linear-gradient(top, rgba(76,76,76,1) 0%, rgba(44,44,44,1) 0%, rgba(89,89,89,0.99) 12%, rgba(102,102,102,0.98) 25%, rgba(71,71,71,0.96) 39%, rgba(0,0,0,0.95) 51%, rgba(17,17,17,0.94) 60%, rgba(43,43,43,0.92) 76%, rgba(28,28,28,0.91) 91%, rgba(19,19,19,0.9) 100%); background: linear-gradient(to bottom, rgba(76,76,76,1) 0%, rgba(44,44,44,1) 0%, rgba(89,89,89,0.99) 12%, rgba(102,102,102,0.98) 25%, rgba(71,71,71,0.96) 39%, rgba(0,0,0,0.95) 51%, rgba(17,17,17,0.94) 60%, rgba(43,43,43,0.92) 76%, rgba(28,28,28,0.91) 91%, rgba(19,19,19,0.9) 100%); } /* стиль шапки блока с приветствием */ .styl1 { background: rgba(56,154,220,1); background: -moz-linear-gradient(top, rgba(56,154,220,1) 0%, rgba(56,154,220,1) 50%, rgba(36,126,229,1) 100%); background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(56,154,220,1)), color-stop(50%, rgba(56,154,220,1)), color-stop(100%, rgba(36,126,229,1))); background: -webkit-linear-gradient(top, rgba(56,154,220,1) 0%, rgba(56,154,220,1) 50%, rgba(36,126,229,1) 100%); background: -o-linear-gradient(top, rgba(56,154,220,1) 0%, rgba(56,154,220,1) 50%, rgba(36,126,229,1) 100%); background: -ms-linear-gradient(top, rgba(56,154,220,1) 0%, rgba(56,154,220,1) 50%, rgba(36,126,229,1) 100%); background: linear-gradient(to bottom, rgba(56,154,220,1) 0%, rgba(56,154,220,1) 50%, rgba(36,126,229,1) 100%); color: #fff; border-radius: 5px 5px 0 0; font-size: 1.25em; padding: 0.5em 1em 0.5em 1em; } /* стиль блока с ссылками на почтовые сообщения */ .styl2 { padding: 5px; margin-top: -10px; text-align: center; border-radius: 0 0 5px 5px; background: rgba(240,240,240,1); background: -moz-linear-gradient(left, rgba(240,240,240,1) 0%, rgba(230,230,230,0.8) 47%, rgba(222,222,222,0.8) 100%); background: -webkit-gradient(left top, right top, color-stop(0%, rgba(240,240,240,1)), color-stop(47%, rgba(230,230,230,0.8)), color-stop(100%, rgba(222,222,222,0.8))); background: -webkit-linear-gradient(left, rgba(240,240,240,1) 0%, rgba(230,230,230,0.8) 47%, rgba(222,222,222,0.8) 100%); background: -o-linear-gradient(left, rgba(240,240,240,1) 0%, rgba(230,230,230,0.8) 47%, rgba(222,222,222,0.8) 100%); background: -ms-linear-gradient(left, rgba(240,240,240,1) 0%, rgba(230,230,230,0.8) 47%, rgba(222,222,222,0.8) 100%); background: linear-gradient(to right, rgba(240,240,240,1) 0%, rgba(230,230,230,0.8) 47%, rgba(222,222,222,0.8) 100%); } /* стиль кнопки закрытия */ .styl3 { background: #3498db; background: -webkit-linear-gradient(top, #3498db, #2f5a75); background: -moz-linear-gradient(top, #3498db, #2f5a75); background: -ms-linear-gradient(top, #3498db, #2f5a75); background: -o-linear-gradient(top, #3498db, #2f5a75); background: linear-gradient(to bottom, #3498db, #2f5a75); -webkit-border-radius: 28; -moz-border-radius: 28; border-radius: 28px; border: none; font-family: Arial; color: #ffffff; cursor:pointer; font-size: 14px; padding: 2px 5px; } .styl3:hover { background: #3cb0fd; background: -webkit-linear-gradient(top, #3cb0fd, #3498db); background: -moz-linear-gradient(top, #3cb0fd, #3498db); background: -ms-linear-gradient(top, #3cb0fd, #3498db); background: -o-linear-gradient(top, #3cb0fd, #3498db); background: linear-gradient(to bottom, #3cb0fd, #3498db); cursor:pointer; } #messanger1 img { transition-duration: 0.8s; transition-property: transform;; } #messanger1 img:hover { -webkit-transform: scaleX(-1); transform: scaleX(-1); } </style>
в html-низ:
<!--Система оповещения о личных сообщениях v.3.5--> <script type="text/javascript"> $(function(){ var audio = new Audio('http://ringon.ru/uploads/mp3-090/3773____Viber--Ringo.mp3'); //ссылка на аудиофайл приветствия mp3 var mesto = 'bottom-right'; //позиция блока на экране - top-left, top-right, bottom-left, bottom-right, center var mess_id,tmp=[],QMess,QLink,Qautor,QProf,kar,unical;if((document.getElementById("navpm").innerHTML.indexOf("(")!=-1)&&(document.URL.indexOf("messages.php")==-1)) {$.jGrowl('<div id="messanger1"><h2 class="styl1"><span>Привет, <strong>'+UserLogin+'</strong><br /></span><img style="border: 2px solid #696969;border-radius: 9em;margin-top: -20px;" align="right" src="'+UserAvatar+'" alt=""><span>У Вас новое сообщение от:</span></h2><div class="styl2"><table id="pisma"></table><br /><button id="closet" class="styl3" title="Закрыть как прочтённые" onclick="pocht()"> Отмена </button></div></div>',{position:mesto,sticky:!0,theme:'messag_theme'});$('#messanger1').append(audio);audio.play();$.ajax({type:'GET',url:'messages.php',contentType:'text/html',success:function(data){unical=$(data).find('#messages').attr('action').split('&code=')[1];$(data).find('tr.icon').each(function() {QMess=$(this).find('.tclcon a').text();QLink=$(this).find('.tclcon a').attr('href');Qautor=$(this).find('.tc2 a').text();QProf=$(this).find('.tc2 a').attr('href');mess_id=QProf.replace(/http:\/\/(.*?)\.(\w{2,4})\/profile\.php\?id=/g,'');if($.inArray(mess_id,tmp)===-1){tmp.push(mess_id)};kar='<tr><td style="text-align:left;"><a target="_blank" class="mess" href="'+QProf+'" style="text-decoration:none;" title="'+Qautor+'"><img class="atr" style="border:1px solid #696969;border-radius: 9em;margin: 3px 0 -2px 5px;" width="28" height="28" alt="'+Qautor+'" src=""></a> - <a class="mess" target="_blank" onclick="hod()" href="'+QLink+'" title="Ссылка на сообщение">'+QMess+'</a><br /></td></tr>';$('#pisma').append(kar);});$.getJSON('/api.php?method=users.get&user_id='+tmp+'&fields=avatar,username',function(json) {var x=json.response.users;for(var i in x){var v=x[i];var ava=v.avatar;if(!ava){ava='https://forumstatic.ru/files/0000/14/1c/20038.jpg';}$('.atr[alt="'+v.username+'"]').attr('src',ava);}});}});window.hod=function(){$('.messag_theme .jGrowl-close').trigger('click');};window.pocht=function(){$.post('/messages.php?box=0&p=1&code='+unical+'&action=markread');$('#navpm a span:contains("Сообщения")').text('Сообщения');hod();};} }); </script> <!--Конец-->
Система оповещения о личных сообщениях v.3.2
© Romych, модификация от Alex_63
Поправлен для работы совместно со скриптом "Скрипт замены слов в панели навигации своим cловом или картинкой"
Автор: Alex_63, Romych
Платформа: MyBB
В HTML низ (Выше скрипта замены слов в меню навигации картинками)
<!-- Cистема оповещения о личных сообщениях v.3.2 © Romych, мод. Alex_63 -->
<script type="text/javascript">
var msgAlert ={};
msgAlert.audio = new Audio('http://getfile.dokpub.com/yandex/get/https://yadi.sk/d/RYo8TSLbmB7G6'); //ссылка на аудиофайл приветствия mp3
msgAlert.st1 = 'position: fixed; right: 10%; top: 65%; opacity: 0.9; width: 320px; height: auto;z-index: 100;'; //стиль основного блока
msgAlert.st2 = 'background-color: #876337; color: #FDBA01; padding: 10px 1em 20px 1em; border-radius: 8px 8px 0 0;'; //стиль шапки блока с приветствием
msgAlert.st3 = 'text-decoration: none;background-color: #876337; color: #FDBA01; border-style: none; font-size: 14px; font-weight: bold;'; // стиль кнопки закрытия
msgAlert.nav_imG = 1; //Добавлять картинку - индикатор в пункт меню "Сообщения" ? 0 - нет, 1 - да
</script><style>#messanger1 .container{border-radius:0 0 10px 10px}</style>
<script type="text/javascript" src="https://forumstatic.ru/files/0016/0b/c8/43384.js"></script>
<!-- //End//- Cистема оповещения о личных сообщениях -->