Script de catégories en onglets et forums invisibles

2 participants

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

Script de catégories en onglets et forums invisibles Empty Script de catégories en onglets et forums invisibles

Message par Bazalto Ven 13 Nov 2020 - 12:51

Détails techniques

Version du forum : ModernBB
Poste occupé : Fondateur
Navigateur(s) concerné(s) : Autre
Personnes concernées par le problème : Tous les utilisateurs
Problème apparu depuis : Depuis la première utilisation du script
Lien du forum : https://continentem.forumactif.com/

Description du problème

Bonjour,

Avant de raconter mon histoire, je vous donne d'emblée le topic ou j'ai trouvé le script: https://forum.forumactif.com/t373120-categorie-par-onglet

Ainsi que le script incriminé tel qu'il est actuellement sur mon forum (la partie css est sur l'autre topic):

Code:
$(function(){
 
  /* variable temporaire */
  var t;
 
  /* liste des onglets avec les catégories en faisant partie */
  var onglets=  [
      ["Voir tout",[0,1,2,3,4,5,6,7,8,9,10]],
                          ["Partie MJ",[0,1,2,4]],
                          ["Règlement",[3]],
      ["Xenovox",[4]],
                          ["Kaer Morhen",[5]],
                          ["Le Continent",[6]]
                 ];
 
  /* fonction pour sélectionner un onglet d'après une string s */
  var getOnglet= function(s) {
      var j;
      for(j=0;j<onglets.length;j++)
        if(JSON.stringify(onglets[j])==s) return onglets[j];
      return !1;
  };
 
  /* fonction pour voir si un index de catégorie i est dans un onglet d */
  var inOnglets= function(d,i) {
      var j;
      for(j=0;j<d[1].length;j++)
        if(d[1][j]==i) return !0;
      return !1;
  };
 
  /* onglet sélectionné par défaut */
  var songlet= onglets[0];
  /* est-ce que l'onglet sélectionné est sauvegardé d'un affichage de l'index à l'autre */
  var save= true;
  /* temps pour slider en ms */
  var timeslide= 300;
 
  /* récupération de l'onglet sauvé d'une autre fois */
  if(save && window.localStorage)
      if(t=localStorage.getItem("onglets"))
        if(t=getOnglet(t))
            songlet= t;
 
  /* entoure les catégories d'un <div class="cat-table" /> */
  $("dd.dterm").closest("div.forabg").wrap('<div class="cat-table" />');
 
  /* affichage de l'onglet en cours */
  $(".cat-table").filter(function(index) {
    return !inOnglets(songlet,index);
  }).hide();
 
  /* ajout du div des onglets */
  $(".cat-table:first").before('<div id="cat-onglets"></div>');
 
  /* ajout des onglets dans le div */
  for(t=0;t<onglets.length;t++)
  {
      $("#cat-onglets").append('<div class="co-item'+(onglets[t]==songlet?' co-actif':'')+'">'+onglets[t][0]+'</div>');
  }
 
  /* clic sur un onglet */
  $("#cat-onglets .co-item").click(function(){
      $("#cat-onglets .co-actif").removeClass("co-actif");
      $(this).addClass("co-actif");
      var o= onglets[$("#cat-onglets .co-item").index(this)];
      $(".cat-table").not($(".cat-table").filter(function(index) {
        return inOnglets(o,index);
      }).slideDown(timeslide)).slideUp(timeslide);
      if(save && window.localStorage) localStorage.setItem("onglets",JSON.stringify(o));
  });
 
});

En vue d'une refonte graphique de notre forum, mes collègues et moi avons décidé de mettre en place un script qui rangerait certaines catégories en onglets. Ce dernier marche bien, dans le sens ou il fait ce qu'il doit faire, néanmoins et c'est là le cœur du problème le script récupère le nom des catégories qu'il voit sur la page d'accueil et les range en fonction de ce qu'on lui a ordonné de faire.

Jusque là tout semble normal, sauf que notre forum étant un forum RPG nos premiers forums sont en réalité cachés aux yeux de tous sauf des admins (afin d'y ranger des archives, les fiches de personnages, notre lore etc, bref). En résulte un problème somme toute fâcheux que vous pourrez constater en allant sur notre forum: n'importe qui, invité ou pas, voit l'onglet Partie MJ (ce qui n'est pas souhaitable), mais surtout le script range la première catégorie vue par la personne dans les onglets. Cela signifie que les onglets sont décalés selon les permissions que chacun a ou n'a pas. Très concrètement un invité voit dans "Partie MJ" le règlement et le forum Kaer Morhen.

L'objet de ma demande est donc de trouver une solution à ce problème, j'ignore comment il pourrait être résolu tout en gardant l'organisation actuelle du forum cependant. Le problème majeur étant que le script affiche ce que le membre voit alors que l'organisation réelle du forum est différente pour d'autre, et cette disparité fait naître le problème.

Une solution que j'ai trouvée serait de mettre les Catégories cachées aux non admins tout en bas  afin que le décalage soit inexistant, cependant les gens verront toujours l'onglet, et dans ce cas là, la solution serait d'ajouter un bout de code pour signifier au script de n'afficher un onglet défini que si le membre est dans un groupe défini. Je ne sais pas comment coder ça donc j'en appelle encore à vous pour ce faire.

Je pense avoir tout dit, merci d'avance pour avoir pris le temps de me lire, et double merci d'avance à ceux qui se pencheront sur mon problème qui me rend fort pantois.
Bazalto

Bazalto
Nouveau membre

Messages : 1
Inscrit(e) le : 13/11/2020

https://continentem.forumactif.com/
Bazalto a été remercié(e) par l'auteur de ce sujet.

Script de catégories en onglets et forums invisibles Empty Re: Script de catégories en onglets et forums invisibles

Message par Chacha Jeu 19 Nov 2020 - 15:46

Script de catégories en onglets et forums invisibles 4qhGdLE
Bienvenue sur le forum de support de Forumactif

Puisque vous êtes nouveau, voici quelques sujets susceptibles de vous intéresser :
N'hésitez pas à ouvrir un nouveau sujet si vous ne trouvez pas votre réponse.
Script de catégories en onglets et forums invisibles UmaslZ4Bonjour,

Attention, cela fait 6 jours que nous n'avons pas de nouvelles concernant votre demande, si vous ne voulez pas voir votre sujet déplacé à la corbeille, merci de poster dans les 24h qui suivent ce message.

Si votre sujet est résolu, merci d'éditer votre premier message et de cocher l'icône « résolu »
Chacha

Chacha
Modéractif
Modéractif

Masculin
Messages : 69301
Inscrit(e) le : 21/08/2010

https://forum.forumactif.com/
Chacha a été remercié(e) par l'auteur de ce sujet.

Script de catégories en onglets et forums invisibles Empty Re: Script de catégories en onglets et forums invisibles

Message par Chacha Ven 20 Nov 2020 - 9:51

Script de catégories en onglets et forums invisibles 8djze9qBonjour,

Nous n'avons plus de nouvelle de l'auteur de ce sujet depuis plus de 7 jours. Nous considérons donc ce problème comme résolu ou abandonné. La prochaine fois, merci de nous tenir au courant de l'évolution de votre problème, ou pensez à faire un UP régulièrement !

Ce sujet est déplacé à la corbeille, merci d'ouvrir un nouveau sujet si nécessaire, en respectant les Règles générales du forum.
Chacha

Chacha
Modéractif
Modéractif

Masculin
Messages : 69301
Inscrit(e) le : 21/08/2010

https://forum.forumactif.com/
Chacha 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