Connexion

Récupérer mon mot de passe

Derniers sujets
» [AWESOMEBB] Changer la police titre forum
par Milouze14 Mar 2 Juin 2020 - 20:11

» *RESOLU*[PHPBB3] Le fil d'ariane en bas
par Milouze14 Mar 2 Juin 2020 - 20:10

» *RESOLU*[PHPBB3] Bouton chatbox sur barre de notification
par Milouze14 Mar 2 Juin 2020 - 17:59

» *RESOLU*[PHPBB3] Erreur dans template
par Milouze14 Lun 1 Juin 2020 - 15:56

» [PHPBB2] Mettre en résolu via la réponse rapide
par Morane Lun 1 Juin 2020 - 14:28

» *RESOLU*[PHPBB2] Installation Messenger - Template modifié
par Milouze14 Sam 30 Mai 2020 - 20:16

» [PHPBB2] Cacher les infos du profil sous l'avatar, en hover
par Milouze14 Jeu 28 Mai 2020 - 18:54

» [AWESOMEBB] Supprimer le soulignement des liens
par Milouze14 Mer 27 Mai 2020 - 18:28

» *RESOLU*[PHPBB2] Champs du profil en fonction de la couleur de groupe.
par Milouze14 Mar 26 Mai 2020 - 17:54

» [PUNBB] Codage qeel
par Milouze14 Mar 26 Mai 2020 - 17:44

» [TOUTES VERSIONS] Changer les boutons Nouveau MP et Répondre au MP par du texte
par croklivre Lun 25 Mai 2020 - 18:25

» [TOUTES VERSIONS] Faire clignoter les images des nouveaux messages
par croklivre Lun 25 Mai 2020 - 18:17

» [PUNBB] Couleurs des Catégories et des cellules qui ne changent pas de couleurs
par Milouze14 Lun 25 Mai 2020 - 14:47

» [BESTOF] [AWESOMEBB] Modifier le en ligne hors ligne
par Milouze14 Dim 24 Mai 2020 - 5:38

» [AWESOMEBB] Taille de la zone.
par Milouze14 Dim 24 Mai 2020 - 5:38

» [PUNBB] Agencement du profil
par Milouze14 Sam 23 Mai 2020 - 19:06

» *RESOLU*[MODERNBB] Chatbox - Enlever les deux points après le pseudo
par Milouze14 Sam 23 Mai 2020 - 17:26

» *RESOLU*[PHPBB3] Anomalies certains éléments
par Milouze14 Sam 23 Mai 2020 - 16:05

» [AWESOMEBB]Refonte du profil dans un sujet.
par Milouze14 Sam 23 Mai 2020 - 3:31

» [PHPBB2] Alignement du champ masculin/féminin
par Milouze14 Jeu 21 Mai 2020 - 20:24

*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
Membre regretté

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