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

[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 Rascii
Images
  • Me gusta 1
  • Gracias 1

Compartir este post


Enlace al post
Compartir en otros sitios
hace 6 horas, isback dijo:

Duda, esto solo es para los menajes privados? 

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

  • Downvote 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


  • Navegando Recientemente   0 miembros

    No registered users viewing this page.

  • Patrocinador



  • ×