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

[MODERNBB]Problème d'affichage d'avatar dans le QEEL


2 participants

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

Feu Ardent
Feu Ardent
http://pacificstar.forumactif.fr/

MessageFeu Ardent Sam 1 Mai 2021 - 16:59

  • Version du forum :
    MODERNBB
  • Templates modifiés :
    oui
  • Navigateur :
    Chrome
Bonjour,

J'avais obtenu un script qui permettait d'afficher les avatars des membres dans le QEEL. Le code fonctionnait à merveille pendant plusieurs mois avant d'arrêter de fonctionner, possiblement suite à une mise à jour FA. Désormais, les images récupérées s'affichent comme ceci:

Code:
<img src="undefined"

Je me demandais si quelqu'un saurait trouver pourquoi le code a arrêté de fonctionner ?

Merci d'avance pour votre aide :)

JS:

Code:
$(function() {
 
  if( my_getcookie('avatars_list') )  {
  var avatars = JSON.parse(my_getcookie('avatars_list')),
      avatars_id = Object.keys(avatars);
 
  $('.qeel_list a').each(function() {
    var th = $(this),
        userid = $(this).attr('href').replace('/u', ''),
        userme = $(this).text();
   
    if(avatars_id.includes( userid )) {
      th.html('<img src="'+ avatars[userid] +'" class="avatar_qeel" alt="'+ userme +'" title="'+ userme +'" />');
    } else {
      $.get( $(this).attr('href'), function(data) {
        var url = $('.left-box img[alt="avatar"]', data).attr('src');
        avatars[userid] = url;
 
        th.html('<img src="'+ url +'" class="avatar_qeel" alt="'+ userme +'" title="'+ userme +'" />');
 
        my_setcookie('avatars_list', JSON.stringify(avatars),0,0);
      });
    }
  });
 
  } else {
  avatars_list = {};
  var count = $('.qeel_list a').length;
 
  $('.qeel_list a').each(function() {
    var th = $(this),
        userid = $(this).attr('href').replace('/u', ''),
        userme = $(this).text();
 
      $.get( $(this).attr('href'), function(data) {
        var url = $('.left-box img[alt="avatar"]', data).attr('src');
        avatars_list[userid] = url;
       
        th.html('<img src="'+ url +'" class="avatar_qeel" alt="'+ userme +'" title="'+ userme +'" />');
       
        my_setcookie('avatars_list', JSON.stringify(avatars_list),0,0);
      });
    });
  }
});

index_body

Code:
<style>
  
  div.qeel_list.un{width: calc(100vw - 10vh)!important; min-height: calc((100vw - 10vh) / 10 - 7px)!important;}
  .qeel_list.un bhvs span{width: calc((100vw - 10vh) / 10 - 7px)!important;}
  .qeel_list.deux bhvs span{width: 100%!important;}
  div.qeel_list.un img.avatar_qeel{width: calc((100vw - 10vh) / 10 - 7px)!important; height: calc((100vw - 10vh) / 10 - 7px)!important;}
  .noone2{width: calc((100vw - 10vh) / 10 - 7px)!important; height: calc((100vw - 10vh) / 10 - 7px)!important;}
  .nooneflag{position: absolute; right: 0px; bottom: 7px; width: 100%; height: calc((100vw - 10vh) / 10 - 7px) !important; white-space: nowrap!important;}
  
  .pass div.qeel_list, bhvs.iconz{width: calc((100% - 14px) / 3)!important;}
  .pass img{width: 100%!important;}
  
  .qeelfond{width: calc(100% + 7px);}
  
  .qeel.un, .qeel.quatre{width: calc(27% - 7px);}
  .qeel.deux, .qeel.trois{width: calc(23% - 7px);}
  
  .txt2{width: calc(100% - 14px);}
  
  .grnew{width: calc(100% - 14px);}
  
@media only screen and (max-width: 1000px) {
  .qeel.un{width: calc(50% - 7px);}
  .qeel.deux, .qeel.trois{width: calc(25% - 7px);}
  .qeel.quatre{width: calc(100% - 7px);}
  .grnew{width: calc(50% - 11px);}  
  .psps{width: calc(50% - 11px)!important;}   
}
  
  .qeel_list.deux bhvs{width: 100%!important;}
  
  bhvs span{width: 100%;}
  
</style>

<div class="panelbody">
  
  
  {JAVASCRIPT}

<!-- BEGIN switch_user_login_form_header -->
<div class="panel">
   <form action="{S_LOGIN_ACTION}" method="post" name="form_login">
      <div class="user_login_form center">
         <input placeholder="{L_USERNAME}" class="inputbox fl_username" type="text" size="10" name="username" />
         <input placeholder="{L_PASSWORD}" class="inputbox fl_password" type="password" size="10" name="password" />
         <br />
         <label>{L_AUTO_LOGIN}: <input class="radio" type="checkbox" name="autologin" {AUTOLOGIN_CHECKED} /></label>
         {S_HIDDEN_FIELDS}<input class="mainoption button1" type="submit" name="login" value="{L_LOGIN}" />
            <!-- BEGIN switch_social_login -->
            <div class="social_btn">
                <!-- BEGIN fb_connect -->
                <div class="fb-login-button"></div>
                <!-- END fb_connect -->
                <!-- BEGIN topicit_connect -->
                <div class="ti-connect"></div>
                <!-- END topicit_connect -->
            </div>
            <!-- END switch_social_login -->
      </div>
   </form>
</div>
<!-- END switch_user_login_form_header -->

<!-- BEGIN message_admin_index -->
   <div class="panelxdd">
      <!-- BEGIN message_admin_titre -->
         <div class="h3">{message_admin_index.message_admin_titre.MES_TITRE}</div>
      <!-- END message_admin_titre -->

      <!-- BEGIN message_admin_txt -->
         <div class="mes-txt">{message_admin_index.message_admin_txt.MES_TXT}</div>
      <!-- END message_admin_txt -->
   </div>
<!-- END message_admin_index -->

  <div class="cbtop">{CHATBOX_TOP}</div>

{BOARD_INDEX}

  
  <!-- BEGIN disable_viewonline -->
  
<div class="qeel_list un">
   <div style=" padding-left: 3.5px; padding-right: 3.5px; height: 45px; max-height: 15vh!important; position: relative; margin-bottom: calc(2vh - 3.5px)!important;"><img src="https://images2.imgbox.com/14/c6/lAySz7UH_o.png" style="height: 45px; max-height: 15vh!important; " /><div class="lienspa right">Passagers actuellement en excursion</div></div>
   
{LOGGED_IN_USER_LIST}
     <div class="nooneflag"><div class="noone2"></div><div class="noone2"></div><div class="noone2"></div><div class="noone2"></div><div class="noone2"></div><div class="noone2"></div><div class="noone2"></div><div class="noone2"></div><div class="noone2"></div><div class="noone2"></div></div>
  </div>     
  
  </div>

<div style=" padding-left: 3.5px; padding-right: 3.5px; height: 45px; max-height: 15vh!important; position: relative; margin-bottom: calc(2vh - 3.5px)!important;"><img src="https://images2.imgbox.com/98/f2/q7eToY8s_o.png" style="height: 45px; max-height: 15vh!important; " /><div class="lienspa right">Tout savoir sur le Pacific Star</div></div>


<div class="qeelfond">
  
 <div class="qeel un"><div class="txt">
                                          <ti1>OUR PASSENGERS</ti1>
                                          <div class="txt2">
                                            
                                            <div class="pass"><div class="qeel_list deux">{NEWEST_USER}</div><bhvs class="iconz"><a href="/u22" target=_blank><img src="https://images2.imgbox.com/9f/ae/shUgQJMw_o.png"><span>Membre du mois<br />Leilani Salazar</span></a></bhvs><bhvs class="iconz"><a href="/u17" target=_blank><img src="https://images2.imgbox.com/4f/96/KN29PDYE_o.png"><span>Membre du mois<br />Amethyst García</span></a></bhvs>
  EN VOGUE EN CE MOMENT</div>                
  
  
                                              {TOTAL_USERS_ONLINE}. {RECORD_USERS}.

      <br />

      {L_WHOSBIRTHDAY_TODAY}
</div>
                  </div></div>
   
   
  <div class="qeel deux"><div class="groupes un" style="background-image: url('https://images2.imgbox.com/0d/57/1zBZ4228_o.png'), url('https://images2.imgbox.com/37/9b/k0uYcpva_o.png');"></div><div class="groupes deux" style="background-image: url('https://images2.imgbox.com/d0/91/GVB49hGS_o.png'), url('https://images2.imgbox.com/37/9b/k0uYcpva_o.png');"></div></div>
  <div class="qeel trois"><div class="groupes trois" style="background-image: url('https://images2.imgbox.com/7e/db/qvix8kLt_o.png'), url('https://images2.imgbox.com/37/9b/k0uYcpva_o.png');"></div><div class="groupes quatre" style="background-image: url('https://images2.imgbox.com/d4/06/HjXDJhXO_o.png'), url('https://images2.imgbox.com/37/9b/k0uYcpva_o.png');"></div></div>
   
  <div class="qeel quatre"><div class="txt">
                                          <ti1>IMPORTANT INFORMATION</ti1>
    <div class="txt2"><div class="grnew"><a href="http://ploucdessables.forumactif.com/g2-non-players" class="pnj" target=_blank>Non-players</a>
      <a href="http://ploucdessables.forumactif.com/g3-pacific-star-crew" class="crew" target=_blank>Pacific Star Crew</a>
      <a href="http://ploucdessables.forumactif.com/g4-pacific-star-passengers" class="passen" target=_blank>Pacific Star Passengers</a>
      <a href="http://ploucdessables.forumactif.com/g5-citizens-of-miami" class="miami" target=_blank>Miami</a>
      <a href="https://pacificstar.forumactif.com/g7-citizens-of-reykjavik" class="reykjavik" target=_blank>Reykjavík</a>
      <a href="https://pacificstar.forumactif.com/g9-citizens-of-brest" class="brest" target=_blank>Brest</a>
      </div>
    
      <div class="psps"><b>Pacific Star</b>, ouvert le 05–10–2018, est un forum RPG de type croisière. L'intégralité du travail présenté appartient à ses fondateurs, à savoir <i>Feu Ardent</i>, <i>morsmordre</i>, <i>redpix</i> & <i>HOODWINK</i>. Toute reproduction totale ou partielle du forum et de son contenu est strictement proscrite.</div>
                                              
                                              </div>
                  </div></div>
  
</div>





   
   
 <div class="qeel_list un">
   <div style=" padding-left: 3.5px; padding-right: 3.5px; height: 45px; max-height: 15vh!important; position: relative; margin-bottom: calc(2vh - 3.5px)!important;"><img src="https://images2.imgbox.com/44/8e/njaPNWso_o.png" style="height: 45px; max-height: 15vh!important; " /><div class="lienspa right">Passagers à bord dans les dernières 24 heures</div></div>
 
{L_ONLINE_USERS}
      {L_CONNECTED_MEMBERS}
       <div class="nooneflag"><div class="noone2"></div><div class="noone2"></div><div class="noone2"></div><div class="noone2"></div><div class="noone2"></div><div class="noone2"></div><div class="noone2"></div><div class="noone2"></div><div class="noone2"></div><div class="noone2"></div></div></div>
  
   <!-- END disable_viewonline -->


{CHATBOX_BOTTOM}

<!-- BEGIN switch_user_login_form_footer -->
<div class="panel">
   <form action="{S_LOGIN_ACTION}" method="post" name="form_login">
      <div class="user_login_form center">
         <input placeholder="{L_USERNAME}" class="inputbox fl_username" type="text" size="10" name="username" />
         <input placeholder="{L_PASSWORD}" class="inputbox fl_password" type="password" size="10" name="password" />
         <br />
         <label>{L_AUTO_LOGIN}: <input class="radio" type="checkbox" name="autologin" {AUTOLOGIN_CHECKED} /></label>
         {S_HIDDEN_FIELDS}<input class="mainoption button1" type="submit" name="login" value="{L_LOGIN}" />
         <!-- BEGIN switch_social_login -->
            <div class="social_btn">
                <!-- BEGIN fb_connect -->
                <div class="fb-login-button"></div>
                <!-- END fb_connect -->
                <!-- BEGIN topicit_connect -->
                <div class="ti-connect"></div>
                <!-- END topicit_connect -->
            </div>
            <!-- END switch_social_login -->
      </div>
   </form>
</div>
<!-- END switch_user_login_form_footer -->


{AUTO_DST}
  
  
</div>

Lien du forum: https://pacificstar.forumactif.com/

Astuce originale: https://forum.forumactif.com/t397636-avatars-des-utilisateurs-connectes-dans-le-qui-est-en-ligne


Dernière édition par Feu Ardent le Sam 1 Mai 2021 - 18:34, édité 1 fois
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Sam 1 Mai 2021 - 17:58

Hello Franck,
tu as eus un avertissement suite à ce topic non suivi:
https://www.milouze14.com/t32481-corbeilleawesomebb-erreur-429-too-many-requests-nginx#618070

Merci de cocher ton sujet en résolu en haut de ton message initial.


Alors pour ton soucis,
le script recherche les lien de pseudo dans :
Code:
  $('#qeel_list a').each(function() {

Alors que ton template ne contient pas cet Id:

Testes ceci:
Cherches :
Code:
<!-- BEGIN disable_viewonline -->
Juste après déposes ceci:
Code:
 <div id="qeel_list">

Plus bas recherches ceci:
Code:

<!-- END disable_viewonline -->


Juste avant déposes ceci:
Code:
  </div>


Dernière édition par Milouze14 le Sam 1 Mai 2021 - 18:12, édité 1 fois
Feu Ardent
Feu Ardent
http://pacificstar.forumactif.fr/

MessageFeu Ardent Sam 1 Mai 2021 - 18:03

@Milouze14 oui j'ai bien vu, j'avais eu des soucis de santé, mes excuses !

Pour le script, j'ai fourni le mauvais script, mes excuses, voici le bon:

Code:
$(function() {
 
  if( my_getcookie('avatars_list') )  {
  var avatars = JSON.parse(my_getcookie('avatars_list')),
      avatars_id = Object.keys(avatars);
 
  $('.qeel_list a').each(function() {
    var th = $(this),
        userid = $(this).attr('href').replace('/u', ''),
        userme = $(this).text();
 
    if(avatars_id.includes( userid )) {
      th.html('<bhvs><img src="'+ avatars[userid] +'" class="avatar_qeel" alt="'+ userme +'" title="'+ userme +'" /><span>'+ userme +'</span></bhvs>');
    } else {
      $.get( $(this).attr('href'), function(data) {
        var url = $('.left-box img[alt="avatar"]', data).attr('src');
        avatars[userid] = url;
 
        th.html('<bhvs><img src="'+ url +'" class="avatar_qeel" alt="'+ userme +'" title="'+ userme +'" /><span>'+ userme +'</span></bhvs>');
 
        my_setcookie('avatars_list', JSON.stringify(avatars),0,0);
      });
    }
  });
 
  } else {
  avatars_list = {};
  var count = $('.qeel_list a').length;
 
  $('.qeel_list a').each(function() {
    var th = $(this),
        userid = $(this).attr('href').replace('/u', ''),
        userme = $(this).text();
 
      $.get( $(this).attr('href'), function(data) {
        var url = $('.left-box img[alt="avatar"]', data).attr('src');
        avatars_list[userid] = url;
     
        th.html('<bhvs><img src="'+ url +'" class="avatar_qeel" alt="'+ userme +'" title="'+ userme +'" /><span>'+ userme +'</span></bhvs>');
     
        my_setcookie('avatars_list', JSON.stringify(avatars_list),0,0);
      });
    });
  }
});

Dans tous les cas, j'ai ajouté la ligne que tu as proposée dans le template, comme tu peux le voir sur le lien cela ne fonctionne cependant toujours pas :/ Aurais-tu d'autres idées de solutions ? Merci d'avance !
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Sam 1 Mai 2021 - 18:06

Ok pour l'absence, je vais supprimer l'avertissement.

Tu n'as pas cumulé les deux scripts par hasard ?

Sur ton fofo, tu as toujours le profil simple ou avancé ?

J'ai trouvé la cause, c'est juste le alt de l'image du profil du membre qui n'était plus d'actualité:
Remplaces le script par celui-ci:
Code:
$(function() {
    
      if( my_getcookie('avatars_list') )  {
      var avatars = JSON.parse(my_getcookie('avatars_list')),
          avatars_id = Object.keys(avatars);
    
      $('#qeel_list a').each(function() {
        var th = $(this),
            userid = $(this).attr('href').replace('/u', ''),
            userme = $(this).text();
    
        if(avatars_id.includes( userid )) {
          th.html('<bhvs><img src="'+ avatars[userid] +'" class="avatar_qeel" alt="'+ userme +'" title="'+ userme +'" /><span>'+ userme +'</span></bhvs>');
        } else {
          $.get( $(this).attr('href'), function(data) {
            var url = $('.left-box img:first', data).attr('src');
            avatars[userid] = url;
    
            th.html('<bhvs><img src="'+ url +'" class="avatar_qeel" alt="'+ userme +'" title="'+ userme +'" /><span>'+ userme +'</span></bhvs>');
    
            my_setcookie('avatars_list', JSON.stringify(avatars),0,0);
          });
        }
      });
    
      } else {
      avatars_list = {};
      var count = $('#qeel_list a').length;
    
      $('#qeel_list a').each(function() {
        var th = $(this),
            userid = $(this).attr('href').replace('/u', ''),
            userme = $(this).text();
    
          $.get( $(this).attr('href'), function(data) {
            var url = $('.left-box img:first', data).attr('src');
            avatars_list[userid] = url;
        
            th.html('<bhvs><img src="'+ url +'" class="avatar_qeel" alt="'+ userme +'" title="'+ userme +'" /><span>'+ userme +'</span></bhvs>');
        
            my_setcookie('avatars_list', JSON.stringify(avatars_list),0,0);
          });
        });
      }
    });
Feu Ardent
Feu Ardent
http://pacificstar.forumactif.fr/

MessageFeu Ardent Sam 1 Mai 2021 - 18:32

@Milouze14 merci de ta compréhension et de ta réactivité !

Je n'ai pas cumulé les deux scripts et je reste bien en profil simple ; merci pour ta solution qui fonctionne parfaitement !

Sujet résolu du coup, quelle efficacité !
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Sam 1 Mai 2021 - 18:33

Super alors,
penses a cliquer en haut de ton message initial pour mettre ton sujet en résolu.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Sam 1 Mai 2021 - 18:34


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