Connexion

Récupérer mon mot de passe

Derniers sujets
» histoire du Jour sans fin
par Quad Daniel Hier à 7:38

» *RESOLU*[Edge] Customiser les boutons "Répondre" et "Nouveau sujet"
par Milouze14 Mar 17 Sep 2019 - 15:59

» [TOUTES VERSIONS] Afficher les outils de modération via la liste des sujets
par Splash Dim 15 Sep 2019 - 20:08

» *CORBEILLE*[AwesomeBB] Afficher le texte pour les champs du contact
par Milouze14 Dim 15 Sep 2019 - 19:20

» *RESOLU*[Edge] Ajouter l'année sur les posts
par Milouze14 Dim 15 Sep 2019 - 17:22

» *RESOLU*[Edge] Arrondir les angles du forum
par Milouze14 Sam 14 Sep 2019 - 19:05

» [AwesomeBB]Afficher les boutons " éditer, citer, supprimer, etc ... " sous forme de texte
par Milouze14 Sam 14 Sep 2019 - 7:35

» [Edge]Afficher les boutons " éditer, citer, supprimer, etc ... " sous forme de texte
par Milouze14 Sam 14 Sep 2019 - 6:36

» [ModernBB]Afficher les boutons " éditer, citer, supprimer, etc ... " sous forme de texte
par Milouze14 Sam 14 Sep 2019 - 6:25

» [Invision]Afficher les boutons " éditer, citer, supprimer, etc ... " sous forme de texte
par Milouze14 Sam 14 Sep 2019 - 5:32

» [PhpBB3]Afficher les boutons " éditer, citer, supprimer, etc ... " sous forme de texte
par Milouze14 Sam 14 Sep 2019 - 5:13

» [PunBB]Afficher les boutons " éditer, citer, supprimer, etc ... " sous forme de texte
par Milouze14 Sam 14 Sep 2019 - 4:57

» [PhpBB2]Afficher les boutons " éditer, citer, supprimer, etc ... " sous forme de texte
par Milouze14 Sam 14 Sep 2019 - 4:55

» [EDGE] Afficher/Masquer les catégories avec un effet
par chrisnvidia Ven 13 Sep 2019 - 22:17

» *RESOLU*[AwesomeBB] Afficher le bouton nouveau selon les permissions
par Milouze14 Jeu 12 Sep 2019 - 3:54

» [Toutes versions] Utiliser les variables utilisateur/forum
par fascicularia Jeu 12 Sep 2019 - 3:20

» *RESOLU*[Edge] Afficher les derniers tutoriels en ligne
par Milouze14 Mar 10 Sep 2019 - 11:26

» Règlement de l'entraide Forumactif
par chrisnvidia Lun 9 Sep 2019 - 21:23

» *RESOLU*[ModernBB] Intégrer une boîte défilante d'EmojiOne dans l'éditeur
par Milouze14 Lun 9 Sep 2019 - 19:46

» *RESOLU*[Edge] Afficher les derniers sujets
par Milouze14 Lun 9 Sep 2019 - 11:51

*RESOLU* [EDGE] Préfixes réservés au Staff du forum

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

Splash
Splash
Milouzien

MessageSplash le Lun 8 Oct 2018 - 8:52

Hi,

Suite à ce tuto : https://www.milouze14.com/t26211-toutes-versions-ajouter-des-prefixes-devant-les-titres-des-sujets?highlight=préfixe

J'aimerais bien avoir un script pour réserver une série de préfixes aux admins et modos du forum.
Soit en modifiant celui existant, soit en en ajoutant un autre

Merci bien et bonne journée


Dernière édition par Splash le Mar 9 Oct 2018 - 7:10, édité 1 fois
fascicularia
fascicularia
Milouzien

Messagefascicularia le Lun 8 Oct 2018 - 13:05

Bonjour SPLASH,
Philippe sera absent toute la semaine pour des raisons familiales.
Splash
Splash
Milouzien

MessageSplash le Lun 8 Oct 2018 - 13:40

Merci a toi, rien de grave j’espère...
no_way
no_way
Développeur

Messageno_way le Lun 8 Oct 2018 - 15:06

Salut tu peux utiliser _userdata["user_level"] pour différencier le niveau d'accès des membres:
si 0 -> simple membre
si >0 -> admin ou modo
Splash
Splash
Milouzien

MessageSplash le Lun 8 Oct 2018 - 18:17

merci no-way pour l'info mais dans ce script je ne sais ni comment ni où le renseigner

Code:
var prefixes = ["Avis modérateur","Avis membres","html","css"];
    var _pm = false;
    var chk = false;
    function toMenu(a) {
      var htmlpre = '<select style="margin-right:5px" id="prefix" size="1"><option value="">Préfixe</option>';
      for (i in a)
      htmlpre += '<option value="' + a[i] + '">' + a[i] + '</option>';
      htmlpre += '</select>';
      return htmlpre;
    }
    function checkpre(ar, input) {
      for (i in ar) {
          var p = new RegExp("\\" + ar[i], "g");
          var title = input.substr(0, input.indexOf(']'));
          if (p.test(title)) return ar[i];
      }
      return "";
    }
    $(function () {
      if (_pm) chk = /\privmsg/.test(location.href);
      if (/\/post/.test(location.href) || chk) {
          $(toMenu(prefixes)).insertBefore("input[name=subject][type=text]");
          var mw = $("#prefix").width() + 5;
          $("input[name=subject]").css("width", $("input[name=subject]").width() - mw);
          var t = $("[name=subject]").val();
          var cur = checkpre(prefixes, t);
          if (cur != "") {
            $("[value=" + cur + "]").attr("selected", "selected");
            $("input[name=subject]").val(t.replace('[' + cur + ']', '').trim());
          }
          $("input[name=post]").click(function () {
            var sub = $("input[name=subject]").val().trim();
            if (sub != "" && $("#prefix").val() != "")
                $("input[name=subject]").val("[" + $("#prefix").val() + "] " + sub);
          });
      }
    });
no_way
no_way
Développeur

Messageno_way le Lun 8 Oct 2018 - 19:12

Remplace ta ligne var prefixes ... par:
Code:
/*Prefixes pour tous*/
var prefixes = ["Avis membres","html","css"];
/*Prefixes pour moderateurs*/
var prefixesModerateurs = ["Avis modérateur"];
/*Prefixes pour administrateurs*/
var prefixesAdministrateurs = ["Avis administrateur"];

/*Ajout des prefixes selon niveau d'acces*/
if(_userdata["user_level"]==2){
    prefixes=prefixes.concat(prefixesModerateurs);
}
if(_userdata["user_level"]==1){
    prefixes=prefixes.concat(prefixesModerateurs,prefixesAdministrateurs);
}

A toi bien entendu de modifier les préfixes ;)
Splash
Splash
Milouzien

MessageSplash le Lun 8 Oct 2018 - 21:06

Hum, j'ai donc modifié le script ainsi :

Code:
var prefixes = ["phpBB2","phpBB3","punBB","Invision","ModernBB","AwesomeBB","Edge"];
var prefixesModerateurs = ["Avis Modérateur"];
var prefixesAdministrateurs = ["Avis Administrateur","HTML","CSS","JavaScript"];
if(_userdata["user_level"]==2){
    prefixes=prefixes.concat(prefixesModerateurs);
}
if(_userdata["user_level"]==1){
    prefixes=prefixes.concat(prefixesModerateurs,prefixesAdministrateurs);
}
    var _pm = false;
    var chk = false;
    function toMenu(a) {
      var htmlpre = '<select style="margin-right:5px" id="prefix" size="1"><option value="">Préfixe</option>';
      for (i in a)
      htmlpre += '<option value="' + a[i] + '">' + a[i] + '</option>';
      htmlpre += '</select>';
      return htmlpre;
    }
    function checkpre(ar, input) {
      for (i in ar) {
          var p = new RegExp("\\" + ar[i], "g");
          var title = input.substr(0, input.indexOf(']'));
          if (p.test(title)) return ar[i];
      }
      return "";
    }
    $(function () {
      if (_pm) chk = /\privmsg/.test(location.href);
      if (/\/post/.test(location.href) || chk) {
          $(toMenu(prefixes)).insertBefore("input[name=subject][type=text]");
          var mw = $("#prefix").width() + 5;
          $("input[name=subject]").css("width", $("input[name=subject]").width() - mw);
          var t = $("[name=subject]").val();
          var cur = checkpre(prefixes, t);
          if (cur != "") {
            $("[value=" + cur + "]").attr("selected", "selected");
            $("input[name=subject]").val(t.replace('[' + cur + ']', '').trim());
          }
          $("input[name=post]").click(function () {
            var sub = $("input[name=subject]").val().trim();
            if (sub != "" && $("#prefix").val() != "")
                $("input[name=subject]").val("[" + $("#prefix").val() + "] " + sub);
          });
      }
    });

Depuis je rencontre une erreur sur le forum :

*RESOLU* [EDGE] Préfixes réservés au Staff du forum Error_10

Ce javascript n'existe pas dans mes codes enregistrés 

Et le choix de préfixes n'est plus disponible en ouvrant un sujet :

*RESOLU* [EDGE] Préfixes réservés au Staff du forum Sujet_10
no_way
no_way
Développeur

Messageno_way le Mar 9 Oct 2018 - 4:16

Ah je comprends pourquoi, généralement on synchronise l’exécution du script avec le DOM remplace ton script par celui-ci afin de corriger ça:
Code:
$(function () {
    var prefixes = ["phpBB2","phpBB3","punBB","Invision","ModernBB","AwesomeBB","Edge"];
    var prefixesModerateurs = ["Avis Modérateur"];
    var prefixesAdministrateurs = ["Avis Administrateur","HTML","CSS","JavaScript"];
    if(_userdata["user_level"]==2){
        prefixes=prefixes.concat(prefixesModerateurs);
    }
    if(_userdata["user_level"]==1){
        prefixes=prefixes.concat(prefixesModerateurs,prefixesAdministrateurs);
    }
    var _pm = false;
    var chk = false;
    function toMenu(a) {
        var htmlpre = '<select style="margin-right:5px" id="prefix" size="1"><option value="">Préfixe</option>';
        for (i in a)
          htmlpre += '<option value="' + a[i] + '">' + a[i] + '</option>';
          htmlpre += '</select>';
          return htmlpre;
    }
    function checkpre(ar, input) {
        for (i in ar) {
            var p = new RegExp("\\" + ar[i], "g");
            var title = input.substr(0, input.indexOf(']'));
            if (p.test(title)) return ar[i];
        }
        return "";
    }
    /**/
    if (_pm) chk = /\privmsg/.test(location.href);
    if (/\/post/.test(location.href) || chk) {
        $(toMenu(prefixes)).insertBefore("input[name=subject][type=text]");
        var mw = $("#prefix").width() + 5;
        $("input[name=subject]").css("width", $("input[name=subject]").width() - mw);
        var t = $("[name=subject]").val();
        var cur = checkpre(prefixes, t);
        if (cur != "") {
            $("[value=" + cur + "]").attr("selected", "selected");
            $("input[name=subject]").val(t.replace('[' + cur + ']', '').trim());
        }
        $("input[name=post]").click(function () {
            var sub = $("input[name=subject]").val().trim();
            if (sub != "" && $("#prefix").val() != "")
                $("input[name=subject]").val("[" + $("#prefix").val() + "] " + sub);
            });
        }
});
Je n'ai pas essayé ce code car je dois partir de suite au boulot, je te laisse tout de même essayer.
Splash
Splash
Milouzien

MessageSplash le Mar 9 Oct 2018 - 7:09

@no_way a écrit:Ah je comprends pourquoi, généralement on synchronise l’exécution du script avec le DOM...
Donc ça c'est ce que tu appelles le DOM ?

Code:
$(function () {

Tout est OK pour moi, merci de ton aide no_way
Jackymi
Jackymi
Milouzien

MessageJackymi le Mar 9 Oct 2018 - 12:50


Coucou

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