Un code pour signaler un nouveau message !

2 participants

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu Un code pour signaler un nouveau message !

Message par Naflin Mer 20 Fév 2013 - 17:10

Bonjour les gens !

Voilà, sur mon forum, j'ai bidouillé une barre de navigation un peu spéciale >>voyez<<
Il s'agit d'un widget un peu bidouillé qui s'affiche pour les invités, un autre qui s'affiche pour ceux qui sont connectés.
Je trouve que ça a la classe, à un petit détail près : la notification des nouveaux messages.
Est-il possible de créer un widget qui ne s'affiche que quand on a reçu un mp ? Ou bien dont le contenu se modifie dans ce cas ?
J'avoue, je ne suis pas très doué en css ou html, je n'en suis encore qu'à piocher des bouts de code créés par d'autres et les bidouiller un peu pour voir ce que ça donne (souvent des bugs ou des erreurs particulièrement moches ...) donc si ce que je cherche est possible, merci de me l'expliquer le plus simplement possib'

Merci de votre temps et votre aide !

PS : ce message est déjà passé, et a été verrouillé sans avoir reçu de réponses. Si c'est par ce que ce que je cherche est trop spécifique, je cherche n'importe quelle méthode pour signaler qu'un nouveau message a été reçu. Pour le moment, j'ai simplement mit le bouton "nouveau message" qui apparait tout seul (vu que j'ai fait disparaitre les autres boutons de la barre de navigation d'origine).
Et les pop-ups ... Eh bien ils sont très souvent bloqués par des programmes conçus pour empêcher les pop-ups publicitaires !


Dernière édition par Naflin le Sam 23 Fév 2013 - 16:02, édité 1 fois
avatar

Naflin
***

Masculin
Messages : 105
Inscrit(e) le : 01/11/2006

http://test-naf.actifforum.com/
Naflin a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Un code pour signaler un nouveau message !

Message par Wave Mer 20 Fév 2013 - 17:21

Bonjour,

Ce script permet d'afficher une image qui envoie vers la boite à MP dès qu'un nouveau MP arrive.
Vous pouvez changer l'adresse de l'image à la ligne 13

Code:
function cook_no_new_message() {
  my_setcookie("new_message", -new Date, 1, 0);
  no_new_message()
}
function no_new_message() {
  $("#new_message").remove()
}
function cook_new_message() {
  my_setcookie("new_message", +new Date, 1, 0);
  new_message()
}
function new_message() {
  $("body").append('<div id="new_message" style="position:fixed;bottom:0;right:0"><a href="/privmsg?folder=inbox" target="_blank" onClick="cook_no_new_message();return true;"><img src="http://2img.net/i/fa/admin/icones/big_ico/boite_email.png"/></a></div>')
}
function new_message_update() {
  var dnew_message = my_getcookie("new_message");
  var enew_message = dnew_message > 0;
  if($("#new_message").length > 0 == enew_message) {
    if(!enew_message) {
      dnew_message *= -1
    }
    if(dnew_message < +new Date - 1E3 * 60) {
      $.get("http://" + document.location.host + "/privmsg?mode=newpm", function(data) {
        if(!data.match("No new private messages are waiting for you") != enew_message) {
          if(enew_message) {
            cook_no_new_message()
          }else {
            cook_new_message()
          }
        }
      })
    }
  }else {
    if(enew_message) {
      new_message()
    }else {
      no_new_message()
    }
  }
}
$(function() {
  if(!$("#logout").length) {
    return
  }
  if($("#i_icon_mini_new_message").length) {
    cook_new_message()
  }else {
    cook_no_new_message()
  }
  setInterval("new_message_update()", 5E3)
});

Cordialement,
Wave

Wave
*****

Masculin
Messages : 567
Inscrit(e) le : 04/12/2011

Wave a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Un code pour signaler un nouveau message !

Message par Naflin Mer 20 Fév 2013 - 19:06

Merci beaucoup de ton aide Flo-73 ... Mais ...
Je comprends rien Mince

Où est-ce que je met ce script ? Qi'est-ce que je peux/dois ajouter dedans ?

Ma barre de navigation est dans un widget, et a ce code :

Code:
<div style="width: 1000px; height: 50px; position: fixed; top: 0%; left: 0%;">
<a href="/faq"><img src="http://img547.imageshack.us/img547/2928/faqn.png"></a><a href="/calendar"><img src="http://img585.imageshack.us/img585/377/calendrierx.png"></a><a href="/search"><img src="http://img801.imageshack.us/img801/5290/chercherhx.png"></a><a href="/groups"><img src="http://img801.imageshack.us/img801/3910/groupesk.png"></a><a href="/memberlist"><img src="http://img716.imageshack.us/img716/2930/membresvp.png"></a><a href="/privmsg?folder=inbox"><img src="http://img716.imageshack.us/img716/6785/messageriec.png"></a><a href="/profile?mode=editprofile"><img src="http://img571.imageshack.us/img571/1695/profilbm.png"></a><a href="/login?logout"><img src="http://img801.imageshack.us/img801/5755/dcov.png"></a><img src="http://img571.imageshack.us/img571/4010/sanstitre1qi.png"></div>

Et ce genre de bidouillage est le summum de ce que je sais faire en html ...
avatar

Naflin
***

Masculin
Messages : 105
Inscrit(e) le : 01/11/2006

http://test-naf.actifforum.com/
Naflin a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Un code pour signaler un nouveau message !

Message par Wave Mer 20 Fév 2013 - 19:10

Re,

Il faut le mettre dans les codes Javascript: PA > modules > HTML & javascripts > Gestion des codes javascripts > créer un nouveau code

Sinon dites moi ce que vous voulez qu'il se passe quand il y a un nouveau MP, je vous le code
Wave

Wave
*****

Masculin
Messages : 567
Inscrit(e) le : 04/12/2011

Wave a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Un code pour signaler un nouveau message !

Message par Naflin Mer 20 Fév 2013 - 19:28

Ce serait vraiment super !

Comme je l'ai dit plus haut, la barre de navigation est faite "main" c'est à dire que ce n'est pas celle du forum, mais qu'elle figure dans un widget, dont j'ai donné le code dans le message précédent.

Je voudrais que dans cette barre, si on a des messages dans sa boite mail, au lieu qu'il y ait l'image
https://2img.net/r/ihimizer/img716/6785/messageriec.png

Qu'il y ait à la place
https://2img.net/r/ihimizer/img534/2643/newmail.png

Voilà ...

(et si je peux carrément abuser, qu'il y ait
https://2img.net/r/ihimizer/img822/1371/1newmail.png
Quand il y a 1 message dans la boite
https://2img.net/r/ihimizer/img202/6128/2newmail.png
Quand il y en a 2
https://2img.net/r/ihimizer/img845/4613/3newmail.png
Quand il y en a 3
https://2img.net/r/ihimizer/img534/2643/newmail.png
Quand il y en a plus ...

Mais c'est totalement optionnel)

Merci beaucoup
avatar

Naflin
***

Masculin
Messages : 105
Inscrit(e) le : 01/11/2006

http://test-naf.actifforum.com/
Naflin a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Un code pour signaler un nouveau message !

Message par Wave Mer 20 Fév 2013 - 20:12

Bonsoir,

J'ai fait le code:

Code:
<script type="text/javascript">function cook_no_new_message() {
  my_setcookie("new_message", -new Date, 1, 0);
  no_new_message()
}
function no_new_message() {
  $("#message_nb").append('<div id="no_new_message" ><a href="/privmsg?folder=inbox" target="_blank"><img src="http://img534.imageshack.us/img534/2643/newmail.png"/></a></div>')
}
function cook_new_message() {
  my_setcookie("new_message", +new Date, 1, 0);
  new_message()
}
function new_message() {
  $("#message_nb").append('<div id="new_message"><a href="/privmsg?folder=inbox" target="_blank" onClick="cook_no_new_message();return true;"><img src="http://img716.imageshack.us/img716/6785/messageriec.png"/></a></div>')
}
function new_message_update() {
  var dnew_message = my_getcookie("new_message");
  var enew_message = dnew_message > 0;
  if($("#new_message").length > 0 == enew_message) {
    if(!enew_message) {
      dnew_message *= -1
    }
    if(dnew_message < +new Date - 1E3 * 60) {
      $.get("http://" + document.location.host + "/privmsg?mode=newpm", function(data) {
        if(!data.match("No new private messages are waiting for you") != enew_message) {
          if(enew_message) {
            cook_no_new_message()
          }else {
            cook_new_message()
          }
        }
      })
    }
  }else {
    if(enew_message) {
      new_message()
    }else {
      no_new_message()
    }
  }
}
$(function() {
  if(!$("#logout").length) {
    return
  }
  if($("#i_icon_mini_new_message").length) {
    cook_new_message()
  }else {
    cook_no_new_message()
  }
  setInterval("new_message_update()", 5E3)
});</script>
<div style="width: 1000px; height: 50px; position: fixed; top: 0%; left: 0%;"><a href="/faq"><img src="http://img547.imageshack.us/img547/2928/faqn.png"></a><a href="/calendar"><img src="http://img585.imageshack.us/img585/377/calendrierx.png"></a><a href="/search"><img src="http://img801.imageshack.us/img801/5290/chercherhx.png"></a><a href="/groups"><img src="http://img801.imageshack.us/img801/3910/groupesk.png"></a><a href="/memberlist"><img src="http://img716.imageshack.us/img716/2930/membresvp.png"></a><span id="message_nb"></span><a href="/profile?mode=editprofile"><img src="http://img571.imageshack.us/img571/1695/profilbm.png"></a><a href="/login?logout"><img src="http://img801.imageshack.us/img801/5755/dcov.png"></a><img src="http://img571.imageshack.us/img571/4010/sanstitre1qi.png"></div>

C'est toute la barre de navigation (avec liens de déco et messagerie)
Wave

Wave
*****

Masculin
Messages : 567
Inscrit(e) le : 04/12/2011

Wave a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Un code pour signaler un nouveau message !

Message par Naflin Mer 20 Fév 2013 - 20:49

... Ça ne fonctionne pas ...
La barre s'affiche, mais plus le bouton de messagerie. Qu'il y ait ou non de nouveaux messages ...

J'ai copié-collé ton code dans le widget ... Y a t'il une manipulation supplémentaire à faire ?
avatar

Naflin
***

Masculin
Messages : 105
Inscrit(e) le : 01/11/2006

http://test-naf.actifforum.com/
Naflin a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Un code pour signaler un nouveau message !

Message par Wave Mer 20 Fév 2013 - 20:50

Non, j'ai du faire une erreur, je vais corriger cela Sad
Wave

Wave
*****

Masculin
Messages : 567
Inscrit(e) le : 04/12/2011

Wave a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Un code pour signaler un nouveau message !

Message par Wave Jeu 21 Fév 2013 - 17:17

Re,

J'ai corrigé et testé normalement tout devrait fonctionner correctement Smile :

Code à mettre dans les Javascripts sur toutes les pages:

Code:
jQuery(document).ready(function () {
    if(!$("#i_icon_mini_new_message").length) return;
    jQuery('#message_nb').append('<div id="new_message" style="display:inline"><a href="/privmsg?folder=inbox" target="_blank"><img src="http://img534.imageshack.us/img534/2643/newmail.png"/></a></div>')
});
jQuery(document).ready(function () {
    if($("#i_icon_mini_new_message").length) return;
    jQuery('#message_nb').append('<div id="no_new_message" style="display:inline"><a href="/privmsg?folder=inbox" target="_blank" onClick="cook_no_new_message();return true;"><img src="http://img716.imageshack.us/img716/6785/messageriec.png"/></a></div>')
});

Et celui du module:

Code:
<div style="width: 1000px; height: 50px; position: fixed; top: 0%; left: 0%;"><a href="/faq"><img src="http://img547.imageshack.us/img547/2928/faqn.png"></a><a href="/calendar"><img src="http://img585.imageshack.us/img585/377/calendrierx.png"></a><a href="/search"><img src="http://img801.imageshack.us/img801/5290/chercherhx.png"></a><a href="/groups"><img src="http://img801.imageshack.us/img801/3910/groupesk.png"></a><a href="/memberlist"><img src="http://img716.imageshack.us/img716/2930/membresvp.png"></a><span id="message_nb"></span><a href="/profile?mode=editprofile"><img src="http://img571.imageshack.us/img571/1695/profilbm.png"></a><a href="/login?logout"><img src="http://img801.imageshack.us/img801/5755/dcov.png"></a><img src="http://img571.imageshack.us/img571/4010/sanstitre1qi.png"></div>


Dernière édition par Flo-73 le Sam 23 Fév 2013 - 15:40, édité 2 fois
Wave

Wave
*****

Masculin
Messages : 567
Inscrit(e) le : 04/12/2011

Wave a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Un code pour signaler un nouveau message !

Message par Naflin Jeu 21 Fév 2013 - 21:06

Wahou (j'essaie de comprendre ce code, mais c'est largement au dessus de mes capacités ...)

Juste une question : comment mettre le premier code dans toutes les pages ?
avatar

Naflin
***

Masculin
Messages : 105
Inscrit(e) le : 01/11/2006

http://test-naf.actifforum.com/
Naflin a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Un code pour signaler un nouveau message !

Message par Wave Jeu 21 Fév 2013 - 21:40

PA ›› Modules ›› Gestions des codes Javascript ›› Nouveau Ajout
Un code pour signaler un nouveau message ! 1361479169
Wave

Wave
*****

Masculin
Messages : 567
Inscrit(e) le : 04/12/2011

Wave a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Un code pour signaler un nouveau message !

Message par Naflin Jeu 21 Fév 2013 - 23:12

... Ca ne fonctionne pas ...

=> J'ai mit le premier bloc de code dans la partie Javascript, dans une partie que j'ai appelé "Mail". J'ai coché la case "pour toutes les pages" et j'ai activé le javascript sur le forum.

=> J'ai mit le second bloc de code dans mon widget.

=> Ça m'affiche la barre de navigation telle que l'initiale. A ceci près que quand on clique sur "Messagerie", la messagerie s'ouvre dans un nouvel onglet.

=> Qu'il y ait, ou non de nouveaux messages dans la messagerie, l'icône reste la même.

J'ai cafouillé quelque part dans la mise en place du truc ?
avatar

Naflin
***

Masculin
Messages : 105
Inscrit(e) le : 01/11/2006

http://test-naf.actifforum.com/
Naflin a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Un code pour signaler un nouveau message !

Message par Wave Ven 22 Fév 2013 - 6:22

Quelle est la version de votre forum ?
Wave

Wave
*****

Masculin
Messages : 567
Inscrit(e) le : 04/12/2011

Wave a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Un code pour signaler un nouveau message !

Message par Naflin Ven 22 Fév 2013 - 9:20

PhPbb 2
avatar

Naflin
***

Masculin
Messages : 105
Inscrit(e) le : 01/11/2006

http://test-naf.actifforum.com/
Naflin a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Un code pour signaler un nouveau message !

Message par Wave Ven 22 Fév 2013 - 17:32

Re,

Je me suis inscrit sur le forum et quand j'ai un MP j'ai bien l'image de nouveau MP:

Un code pour signaler un nouveau message ! 1361550492

Sinon j'ai l'icone normale:

Un code pour signaler un nouveau message ! 1361550708
Wave

Wave
*****

Masculin
Messages : 567
Inscrit(e) le : 04/12/2011

Wave a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Un code pour signaler un nouveau message !

Message par Naflin Sam 23 Fév 2013 - 15:22

Ah ? Étrange ... Quand je m'en suis envoyé, je n'avais rien d'affiché .. Mais à présent, oui, ça marche parfaitement.

Merci beaucoup, vraiment.

(petit détail, comment faire pour que le lien vers la messagerie ne s'ouvre pas dans un nouvel onglet ?)
avatar

Naflin
***

Masculin
Messages : 105
Inscrit(e) le : 01/11/2006

http://test-naf.actifforum.com/
Naflin a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Un code pour signaler un nouveau message !

Message par Wave Sam 23 Fév 2013 - 15:29

Remplacez votre Javascript actuel par celui-ci:

Code:
jQuery(document).ready(function () {
    if(!$("#i_icon_mini_new_message").length) return;
    jQuery('#message_nb').append('<div id="new_message" style="display:inline"><a href="/privmsg?folder=inbox"><img src="http://img534.imageshack.us/img534/2643/newmail.png"/></a></div>')
});
jQuery(document).ready(function () {
    if($("#i_icon_mini_message").length) return;
    jQuery('#message_nb').append('<div id="no_new_message" style="display:inline"><a href="/privmsg?folder=inbox" onClick="cook_no_new_message();return true;"><img src="http://img716.imageshack.us/img716/6785/messageriec.png"/></a></div>')
});
Wave

Wave
*****

Masculin
Messages : 567
Inscrit(e) le : 04/12/2011

Wave a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Un code pour signaler un nouveau message !

Message par Naflin Sam 23 Fév 2013 - 15:39

Ca me met deux fois le bouton de messagerie, une première qui varie en fonction des messages et une seconde qui ne varie pas.
avatar

Naflin
***

Masculin
Messages : 105
Inscrit(e) le : 01/11/2006

http://test-naf.actifforum.com/
Naflin a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Un code pour signaler un nouveau message !

Message par Wave Sam 23 Fév 2013 - 15:41

C'est normal je me suis trompé en modifiant le code ::betise::

Voici le bon:

Code:
jQuery(document).ready(function () {
    if(!$("#i_icon_mini_new_message").length) return;
    jQuery('#message_nb').append('<div id="new_message" style="display:inline"><a href="/privmsg?folder=inbox"><img src="http://img534.imageshack.us/img534/2643/newmail.png"/></a></div>')
});
jQuery(document).ready(function () {
    if($("#i_icon_mini_new_message").length) return;
    jQuery('#message_nb').append('<div id="no_new_message" style="display:inline"><a href="/privmsg?folder=inbox" onClick="cook_no_new_message();return true;"><img src="http://img716.imageshack.us/img716/6785/messageriec.png"/></a></div>')
});
Wave

Wave
*****

Masculin
Messages : 567
Inscrit(e) le : 04/12/2011

Wave a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Un code pour signaler un nouveau message !

Message par Naflin Sam 23 Fév 2013 - 16:02

Ca marche ! C'est parfait ! Mille mercis !
avatar

Naflin
***

Masculin
Messages : 105
Inscrit(e) le : 01/11/2006

http://test-naf.actifforum.com/
Naflin a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum