Astuces Forumactif
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Membres connectés récemment
Voir tous les membres

[PHPBB3] Exclure emojione

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

avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Jeu 18 Mar 2021 - 19:16

  • Version du forum :
    PHPBB3
  • Templates modifiés :
    oui
  • Navigateur :
    Firefox
Bonjour à tous les milouziens,

Un petit souci dans un script depuis l'arrivée des emojione

Dans le script suivant que m'a développé Philippe et qui permet de mettre une miniature de la photo postée près de la réponse rapide, serait-il possible d'exclure les emoji pour ne pas qu'il soient considérés comme image.

Code:

//Miniature sur réponse rapide
    $(function(){
    if ($(window).width() > 900)
    {  
    if (_userdata["user_id"] >= (0)){
    if($('a.nav[href^="/f4-"],a.nav[href^="/f1-"],a.nav[href^="/f5-"],a.nav[href^="/f6-"],a.nav[href^="/f19-"]').length)
    {
    var a=$('div[class*="post--"]:first').find('.postbody .content img:not([longdesc]):eq(0)').attr('src');
    if(a)
    {
    //image de fermeture
    var u='https://i.servimg.com/u/f31/19/32/37/01/icon_d10.png';
    var c=$('div[class*="post--"]:first').find('h2.topic-title a[href^="/t"]').text();
    var d=$('.post:eq(0) .inner .postbody p.author a[href^="/u"]').text();
    $('form[id="quick_reply"]').before('<div class="M14_link_Minia"title=" '+c+'   posté par  '+d+' "><img class="M14_img_Minia"src="'+a+'"/><br /><div class="M14_quick_texte"title="Cliquer ici pour une vue agrandie"style="text-align: center;margin-left: -8px;">Cliquer ici pour  agrandir</div></div><br /><div id="M14_quick_img_Minia"><div class="M14_quick_img_close"title="Fermer"><img src="'+u+'"/></div><div id="M14_quick_Minia_big"><img src="'+a+'"title=" '+c+'   posté par  '+d+' "/></div></div>');
    $('.M14_quick_texte').click(function(){
      $('#M14_quick_img_Minia').fadeIn(800);    
    });
    $('.M14_quick_img_close').click(function(){
      $('#M14_quick_img_Minia').fadeOut(800);
    });}};}}});

Le souci est visible ici sur mon forum:
https://photoclic.forum-pro.fr/t23172-peyriac-de-mer#292174

Merc pour votre aide.


Dernière édition par photoclic le Ven 19 Mar 2021 - 16:40, édité 1 fois
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Jeu 18 Mar 2021 - 19:22

Coucou Serge,

hum pit être en modifiant cette ligne:
Code:
var a=$('div[class*="post--"]:first').find('.postbody .content img:not([longdesc]):eq(0)').attr('src');

Par:

Code:
    var a=$('div[class*="post--"]:first').find('.postbody .content img:not([longdesc]):not(.emojione):eq(0)').attr('src');


Par ailleurs, il faudrait que tu me donnes le script de la réponse automatique sur le topic mentionné car en tant qu'invité, j'ai un retour "null" sur le pseudo.

[PHPBB3] Exclure emojione 1253
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Jeu 18 Mar 2021 - 21:35

Bonsoir Philippe,

Alors là, j'ai un truc bizarre.
Sur le message dont je t'avais mis le lien: https://photoclic.forum-pro.fr/t23172-peyriac-de-mer#292174
L'emoji est mis comme un smiley et ta modification fonctionne très bien.
Je ne sais pas comment le membre l'a posté (il n'est pas dans mes smileys).

Mais sur un autre message, l'emoji (mis avec le bouton correspondant Twemoji de l'éditeur) se met comme une image comme ici: https://photoclic.forum-pro.fr/t23140-noir_et_blanc-l-arbre-aux-racines#291903
Et là bien sur, ça ne colle plus  pleure


A oui, bien vu pour la réponse automatique.
Voici le script:
Code:

//Poste un message automatique quand une photo est postée sur sujets
$(function() {
        if($('a.nav[href^="/f4-"]').length||$('a.nav[href^="/f5-"]').length||$('a.nav[href^="/f6-"]').length) {
        var u=$('p.author').length;
        if(u==1)
        {
            var o = {
            post: $('div[id^="p"].post:eq(0)'),  
          
            auteur: $('p.author:first a[href^="/u"]').html(),
            link: $('p.author:first a[href^="/u"]').attr('href'),
            sujet: $('h1.page-title').text(),
            annonce: "La team du Clic",
     //       staff: "Tu peux aussi cliquer ici pour"+"&nbsp;",
            avatar: 'https://i.servimg.com/u/f31/19/32/37/01/indexr14.png',
            contenu: "L'équipe du clic te remercie pour ce post et pour tes commentaires."
            };
            
 $(o.post).after('<div id="" class="post row2 online  style="">
    <div class="inner"><span class="corners-top"><span></span></span>
    <div style="position: relative; top: -30px; width: 1px;" id=""></div>
    <div class="postbody">
    <h2 class="topic-title"></h2>
    <div class="clearfix"></div>
    <div style="display:none"></div>
    <div id="M14_postbody"class="content clearfix"><br />Hello <a class="M14_Auteur"href='+o.link+'>'+o.auteur+'</a>,<br/><br/>
        '+o.contenu+'<br /><br />
  //      '+o.staff+'<a href="http://www.root-top.com/topsite/royalepub/in.php?ID=70" target="_blank">Voter pour le forum<img src="https://i.servimg.com/u/f58/18/97/96/21/20820911.gif"style="margin-left:375px;margin-top: -21px;"></a>
                        </div>
    </div><div class="postprofile"">
    <!--div class="online2"></div-->
 <dl><dt> <center><span class="name">'+o.annonce+'</span></center><br />
    <center><img class="M14_Avatar"src='+o.avatar+'>  </center><br />
    </dt><dd></dd>
    <dd><br></dd>
    <dd></dd></dl></div><div class="clear"></div>
 <p class="right"><a href="#top"><img class="sprite-arrow_prosilver_up" src="https://2img.net/i/fa/empty.gif" alt="Revenir en haut"></a> <a href="#bottom"><img class="sprite-arrow_prosilver_down" src="https://2img.net/i/fa/empty.gif" alt="Aller en bas"></a></p><span class="corners-bottom"><span></span></span></div></div>');
    if($('o.author:first:contains("Invité")').length)
    {$('a.M14_Auteur').removeAttr('href').text('Invité');
              };
          }
        };
            });

je t'ai mis en admin en cas de besoin.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Ven 19 Mar 2021 - 6:21

Coucou Serge,
alors je reviens de ton fofo et les emojis sont activés via ton P.A :
Voir l'annonce:
https://forum.forumactif.com/t405022-nouveaute-les-emoji-integres-dans-l-editeur#3377353

Et tu dois aussi avoir le script dans la gestion donc doublon.
Voilà pourquoi tu as deux types distinct.

Tu as aussi la barre de recherche:
https://forum.forumactif.com/t405040-ajouter-une-barre-de-recherche-d-emojis#3377506

Pour prendre en charge ce smileys:

Ceci devrait fonctionner:

Code:
var a=$('div[class*="post--"]:first').find('.postbody .content img:not([src*="twemoji"]):not([longdesc]):not(.emojione):eq(0)').attr('src');


Pour la réponse automatique,
le lien du pseudo n'est pas disponible pour les invités Serge.

J'ai donc remplacé le lien (balise a) du pseudo par une (balise span) :

Remplaces donc le script par celui-ci:
Code:
//Poste un message automatique quand une photo est postée sur sujets
    $(function() {
            if($('a.nav[href^="/f4-"]').length||$('a.nav[href^="/f5-"]').length||$('a.nav[href^="/f6-"]').length) {
            var u=$('p.author').length;
            if(u==1)
            {
                var o = {
                post: $('div[id^="p"].post:eq(0)'),  
              
                auteur: $('p.author:first span').text(),
                color: $('p.author:first span').css('color'),
                sujet: $('h1.page-title').text(),
                annonce: "La team du Clic",
         //       staff: "Tu peux aussi cliquer ici pour"+"&nbsp;",
                avatar: 'https://i.servimg.com/u/f31/19/32/37/01/indexr14.png',
                contenu: "L'équipe du clic te remercie pour ce post et pour tes commentaires."
                };
                
     $(o.post).after('<div id="" class="post row2 online  style="">
        <div class="inner"><span class="corners-top"><span></span></span>
        <div style="position: relative; top: -30px; width: 1px;" id=""></div>
        <div class="postbody">
        <h2 class="topic-title"></h2>
        <div class="clearfix"></div>
        <div style="display:none"></div>
                     <div id="M14_postbody"class="content clearfix"><br />Hello <span class="M14_Auteur" style="color:'+o.color+';margin-left:5px;">'+o.auteur+'</span>,<br/><br/>
            '+o.contenu+'<br /><br />
      //      '+o.staff+'<a href="http://www.root-top.com/topsite/royalepub/in.php?ID=70" target="_blank">Voter pour le forum<img src="https://i.servimg.com/u/f58/18/97/96/21/20820911.gif"style="margin-left:375px;margin-top: -21px;"></a>
                            </div>
        </div><div class="postprofile"">
        <!--div class="online2"></div-->
     <dl><dt> <center><span class="name">'+o.annonce+'</span></center><br />
        <center><img class="M14_Avatar"src='+o.avatar+'>  </center><br />
        </dt><dd></dd>
        <dd><br></dd>
        <dd></dd></dl></div><div class="clear"></div>
     <p class="right"><a href="#top"><img class="sprite-arrow_prosilver_up" src="https://2img.net/i/fa/empty.gif" alt="Revenir en haut"></a> <a href="#bottom"><img class="sprite-arrow_prosilver_down" src="https://2img.net/i/fa/empty.gif" alt="Aller en bas"></a></p><span class="corners-bottom"><span></span></span></div></div>');
        if($('o.author:first:contains("Invité")').length)
        {$('span.M14_Auteur').text('Invité');
                  };
              }
            };
                });

Comme j'avais accès à ton P.A,
j'ai donc remplacé ce script (inopérant):
Dans ==> Javascript 5 ttes pages (Ex rang Restriction)

Code:
//Recherche sur smileys ttes pages
$(function() {              
          'DEVELOPED BY ANGE TUTEUR';
          'NO DISTRIBUTION WITHOUT CONSENT OF THE AUTHOR';
          'ORIGIN : https://fmdesign.forumotion.com/';
        
          // load handler for iframes
          function fa_emoji_search () {
            var search = $('<input/>').attr({
              placeholder : 'Rechercher...',
              class : 'fa_emoji_search inputbox',
              name : 'emoji_search',
              type : 'text'
            }).keyup(function() {
              var emoji = $(this).closest('body').find('img'),
                  val = this.value.toLowerCase(),
                  i = 0,
                  j = emoji.length;
              // loop through each emoji to see if any match the input
              for (; i < j; i++) {
                if (val) {
                  if (emoji[i].title.toLowerCase().indexOf(val) != -1 || emoji[i].alt.toLowerCase().indexOf(val) != -1) {
                    emoji[i].style.display = '';
                  } else if (emoji[i].style.display != 'none') {
                    emoji[i].style.display = 'none';
                  }
                } else {
                  emoji[i].style.display = '';
                }
              }
            })[0],
            style = $('<style type="text/css">.fa_emoji_search { width:80% !important; margin:6px 0 !important; } .smiley-element, .row1 { font-size:0; } .smiley-element img, .row1 img { margin:3px; } #sceditor_smilies #smilies_header { height:auto; } form[name="smilies_categ"] { text-align:center; }</style>')[0],
            frag = document.createDocumentFragment(),
            body = $(this).contents().find('body')[0];
        
            if (body) {
              frag.appendChild(style);
              frag.appendChild(search);
              body.querySelector('form[name="smilies_categ"]').appendChild(frag);
            }
          };
        
          // add load handlers for each iframe
          $(function() {
            var button = $('.sceditor-button-emoticon')[0];
        
            if (button) {
              button.onclick = function() {
                document.getElementById('quickEmojInternal').onload = fa_emoji_search;
                this.onclick = null;
              };
            }
        
            $('iframe[src^="/smilies"]').load(fa_emoji_search);
          });  
        });
  

Par celui-ci:
https://forum.forumactif.com/t405040-ajouter-une-barre-de-recherche-d-emojis#3377506

Voir le résultat sur la réponse rapide sur ton fofo:

https://photoclic.forum-pro.fr/t23173-paysages-essai#quickreply

Il faudra peut être revoir la css :

Code:
/*Correction sur la boite de dialogue de l editeur*/
.sceditor-dropdown:not(.sceditor-emoticon),.sceditor-dropdown:not(.sceditor-dropdown.sceditor-gifactif) {
   margin-top: -87px !important;
}
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Ven 19 Mar 2021 - 14:13

Bonjour Philippe,

Un grand merci pour tout ce travail.

Pour les emoji tout est OK  super


Pour la réponse automatique, je n'ai plus le null, mais le nom de l'auteur est suivi de la date et l'heure:

[PHPBB3] Exclure emojione Captu175

Je ne sais pas s'il est possible d'isoler l'auteur.
Dans le cas contraire, peut-être exclure ce message automatique aux invités.
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Ven 19 Mar 2021 - 14:20

Re Phil,

je viens d'essayer en remplaçant le .text par .html ici:
Code:
auteur: $('p.author:first span').html(),

Cela semble fonctionner. Mais je ne sais pas si la syntaxe est correcte et compatible avec le reste du code.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Ven 19 Mar 2021 - 16:06

Re Serge,

ceci serait plus approprié:
Code:
auteur: $('p.author:first span strong').text(),

Alors en tant qu'invité:
Le visuel:

[PHPBB3] Exclure emojione 1256

Et connecté,on ne voit plus le pseudo!!!!!

[PHPBB3] Exclure emojione 2100


Dernière édition par Milouze14 le Ven 19 Mar 2021 - 16:30, édité 1 fois
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Ven 19 Mar 2021 - 16:23

Re Phil,

Oui, le visuel est bien ainsi, et pas vraiment logique en effet, le nom de l'auteur ne devrait pas apparaitre non plus en tant qu'invité sur le 1ier post.


Merci pour ton code plus approprié.

En le mettant en place ça a planté le fofo.
En fait à la fin de ton code tu as .textl().
Je croyais que c'était une nouvelle instruction que je ne connaissais pas.
Puis j'ai compris que c'était une coquille MdR

Bon, c'est tout bon à présent. Un grand merci à toi l'ami tape la
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Ven 19 Mar 2021 - 16:27

Ah mince, je viens de voir que le gif animé se met dans la miniature en bas ici:

https://photoclic.forum-pro.fr/t23176-panoramas-essssaiiiiiiiiiiiiiiiiiii#292213

Surement un truc à rajouter ici:
Code:
var a=$('div[class*="post--"]:first').find('.postbody .content img:not([src*="twemoji"]):not([longdesc]):not(.emojione):eq(0)').attr('src');
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Ven 19 Mar 2021 - 16:34

Oups, j'ai corrigé mon erreur désolé Serge.
Effectivement tout est bon désormais pour la réponse rapide .

Alors pour prendre en compte aussi ce genre de gif :
Remplaces par:
Code:
  var a=$('div[class*="post--"]:first').find('.postbody .content img:not([src*="twemoji"]):not([src*="giphy.com"]):not([longdesc]):not(.emojione):eq(0)').attr('src');
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Ven 19 Mar 2021 - 16:39

Pas grave ta coquille Phil, mois j'en fais tellement que j'ai plein d'œufs pour une omelette.:-)

Cette fois c'est tout bon Philippe.

Un énorme Merci pour l'aide  pour ton aide.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Lun 22 Mar 2021 - 16:29

Hello


Sujet résolu et déplacé dans le forum adéquate

A bientôt pour une prochaine demande clin oeil

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

Créer un compte ou se connecter pour répondre

Vous devez être membre pour répondre.

S'enregistrer

Rejoignez notre communauté ! C'est facile !


S'enregistrer

Connexion

Vous êtes déjà membre ? Aucun soucis, cliquez ici pour vous connecter.


Connexion

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