Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
1TSR4SC11

[Mod] Notificaciones de escritorio

Recommended Posts

Hola a todos.

Hace un tiempo publiqué una modificación para tener notificaciones de escritorio cuando el usuario recibiera una notificación o mensaje nuevo.

 

mod_phpost_desknots1.jpg

 

Aquí les publico la versión hecha 100% from-scratch.

Instalación (si se la quieren ahorrar, pueden descargar los archivos aquí😞

1.-Vamos al archivo /themes/tu tema/js/live.js y buscamos:

// READY
$(document).ready(function(){

2.-Arriba de eso pegamos:

/* EasyNotify (https://github.com/Gabrielr47/easyNotify) (Modificado por Rascii) */
!function(o){o.fn.easyNotify=function(i){var n=o.extend({title:"Notificacion",options:{body:"",icon:"",lang:"es-ES",onClose:"",onClick:"",onError:""}},i);return this.init=function(){var o=this;if("Notification"in window)if("granted"===Notification.permission){var i=new Notification(n.title,n.options);i.onclose=function(){"function"==typeof n.options.onClose&&n.options.onClose()},i.onclick=function(){location.href=n.options.onClick},i.onerror=function(){"function"==typeof n.options.onError&&n.options.onError()}}else"denied"!==Notification.permission&&Notification.requestPermission(function(i){"granted"===i&&o.init()});else alert("Su navegador no acepta las notificaciones de escritorio.")},this.init(),this}}(jQuery);

3.-En el mismo archivo buscamos:

        if(total_notis > 0){
            var live_stream_html = $('#live-stream').html();
            // CARGAMOS
            $('#BeeperBox').html(live_stream_html)
            // MOSTRAMOS
            $('.UIBeeper_Full').fadeIn(1200);
            $('#BeeperBox').slideToggle(1000);

4.- Abajo de eso pegamos:

			/* Notificaciones de escritorio por Rascii */
            $( "#js #LiveUpdate_JsNotify li" ).each(function() {
				var a = $.parseJSON($( this ).html());
                $("#js #easyNotify").easyNotify({title: a.title,options:{body: a.cont,icon: a.image, onClick: a.link}});
            });

5.-Ahora vamos al archivo /themes/tu tema/templates/t.php_files/p.live.stream.tpl y al final de todo el archivo, pegamos:

	<!-- Notificaciones de escritorio por Rascii -->
	<div id="easyNotify"></div>
	<ul id="LiveUpdate_JsNotify" style="display:none">
      <!-- Para: Notificaciones -->
	{foreach from=$tsStream.data item=noti key=id}
	  <li>{ "type": "not", "title": "Nueva Notificación", "cont": "{if $noti.total == 1}{$noti.user}{/if} {$noti.text} {$noti.ltext}", "link": "{$noti.link}", "image": "https://raw.githubusercontent.com/rascii/DesktopNotsPhpostRisus/master/images/mod_phpost_desknots2.jpg" }</li>
	{/foreach}
      <!-- Para: Mensajes -->
	{foreach from=$tsMensajes.data item=mp key=id}
	  <li>{ "type": "msg", "title": "Nuevo Mensaje de {$mp.user_name}", "cont": "{$mp.mp_preview}", "link": "{$tsConfig.url}/mensajes/leer/{$mp.mp_id}", "image": "{$tsConfig.url}/files/avatar/{$mp.mp_from}_50.jpg" }</li>
	{/foreach}
	</ul>

Aquí les recomiendo poner su propia imagen en las notificaciones (Para: Notificaciones), para eso solo cambian el link que puse yo por el de ustedes!

 

Como pudieron observar es una instalación muy simple y un código más robusto!

Tienen que tener Notificaciones LIVE obviamente activadas en el panel de administración para que este mod funcione.

Tienen el repositorio en GitHub por si quieren aportar o dejar sus dudas :D .

Espero que les sirva :) .

Editado por ErrorNaN
Images
  • Me gusta 1
  • Gracias 1

Compartir este post


Enlace al post
Compartir en otros sitios
On 29/5/2018 at 5:30, Rascii dijo:

Hola a todos.

Hace un tiempo publiqué una modificación para tener notificaciones de escritorio cuando el usuario recibiera una notificación o mensaje nuevo.

 

mod_phpost_desknots1.jpg

 

Aquí les publico la versión hecha 100% from-scratch.

Instalación (si se la quieren ahorrar, pueden descargar los archivos aquí):

1.-Vamos al archivo /themes/tu tema/js/live.js y buscamos:

// READY
$(document).ready(function(){

2.-Arriba de eso pegamos:

/* EasyNotify (https://github.com/Gabrielr47/easyNotify) (Modificado por Rascii) */
!function(o){o.fn.easyNotify=function(i){var n=o.extend({title:"Notificacion",options:{body:"",icon:"",lang:"es-ES",onClose:"",onClick:"",onError:""}},i);return this.init=function(){var o=this;if("Notification"in window)if("granted"===Notification.permission){var i=new Notification(n.title,n.options);i.onclose=function(){"function"==typeof n.options.onClose&&n.options.onClose()},i.onclick=function(){location.href=n.options.onClick},i.onerror=function(){"function"==typeof n.options.onError&&n.options.onError()}}else"denied"!==Notification.permission&&Notification.requestPermission(function(i){"granted"===i&&o.init()});else alert("Su navegador no acepta las notificaciones de escritorio.")},this.init(),this}}(jQuery);

3.-En el mismo archivo buscamos:

        if(total_notis > 0){
            var live_stream_html = $('#live-stream').html();
            // CARGAMOS
            $('#BeeperBox').html(live_stream_html)
            // MOSTRAMOS
            $('.UIBeeper_Full').fadeIn(1200);
            $('#BeeperBox').slideToggle(1000);

4.- Abajo de eso pegamos:

			/* Notificaciones de escritorio por Rascii */
            $( "#js #LiveUpdate_JsNotify li" ).each(function() {
				var a = $.parseJSON($( this ).html());
                $("#js #easyNotify").easyNotify({title: a.title,options:{body: a.cont,icon: a.image, onClick: a.link}});
            });

5.-Ahora vamos al archivo /themes/tu tema/templates/t.php_files/p.live.stream.tpl y al final de todo el archivo, pegamos:

	<!-- Notificaciones de escritorio por Rascii -->
	<div id="easyNotify"></div>
	<ul id="LiveUpdate_JsNotify" style="display:none">
      <!-- Para: Notificaciones -->
	{foreach from=$tsStream.data item=noti key=id}
	  <li>{ "type": "not", "title": "Nueva Notificación", "cont": "{if $noti.total == 1}{$noti.user}{/if} {$noti.text} {$noti.ltext}", "link": "{$noti.link}", "image": "https://raw.githubusercontent.com/rascii/DesktopNotsPhpostRisus/master/images/mod_phpost_desknots2.jpg" }</li>
	{/foreach}
      <!-- Para: Mensajes -->
	{foreach from=$tsMensajes.data item=mp key=id}
	  <li>{ "type": "msg", "title": "Nuevo Mensaje de {$mp.user_name}", "cont": "{$mp.mp_preview}", "link": "{$tsConfig.url}/mensajes/leer/{$mp.mp_id}", "image": "{$tsConfig.url}/files/avatar/{$mp.mp_from}_50.jpg" }</li>
	{/foreach}
	</ul>

Aquí les recomiendo poner su propia imagen en las notificaciones (Para: Notificaciones), para eso solo cambian el link que puse yo por el de ustedes!

 

Como pudieron observar es una instalación muy simple y un código más robusto!

Tienen que tener Notificaciones LIVE obviamente activadas en el panel de administración para que este mod funcione.

Tienen el repositorio en GitHub por si quieren aportar o dejar sus dudas :D .

Espero que les sirva :) .

hay algun mod para las notificaciones de escritorio.. cuando se publica post nuevo?

Compartir este post


Enlace al post
Compartir en otros sitios
On 29/5/2018 at 16:53, Rascii dijo:

No sé si existan mensajes públicos...

hola rascii eh probado las notificaciones y la verdad no me funciono.. lo hice con una instalacion nueva.. sin mod.. solamente este mod... reemplace los a rchivos directamente .. pero tengo una duda ... antes habia publicado un mod notificacion de escritorio V 0.5  que contiene otros archivos  m.desknots_checking.tpl  - m.desknots_mps.tpl - m.desknots_nots.tpl  ahora pregunto.. esta ultima version estamos hablando del mismo mod.. mejorado.. o es otro mod...  hay que tener instalado la versino anterior para que funcione?

Compartir este post


Enlace al post
Compartir en otros sitios
On 12/9/2018 at 10:15, Cuarteteros dijo:

hola rascii eh probado las notificaciones y la verdad no me funciono.. lo hice con una instalacion nueva.. sin mod.. solamente este mod... reemplace los a rchivos directamente .. pero tengo una duda ... antes habia publicado un mod notificacion de escritorio V 0.5  que contiene otros archivos  m.desknots_checking.tpl  - m.desknots_mps.tpl - m.desknots_nots.tpl  ahora pregunto.. esta ultima version estamos hablando del mismo mod.. mejorado.. o es otro mod...  hay que tener instalado la versino anterior para que funcione?

Esta es una versión 100% from-scratch (lo dije en el post y significa programar todo desde cero).

no debería de haber problemas instalando los dos creo

Compartir este post


Enlace al post
Compartir en otros sitios

Registra una cuenta o conéctate para comentar

Debes ser un miembro de la comunidad para dejar un comentario

Crear una cuenta

Regístrate en nuestra comunidad. ¡Es fácil!

Registrar una cuenta nueva

Iniciar Sesión

¿Ya tienes cuenta? Conéctate aquí.

Iniciar Sesión

  • Navegando Recientemente   0 miembros

    No registered users viewing this page.

  • Patrocinador



  • ×