Connexion

Récupérer mon mot de passe

Derniers sujets
» *RESOLU*[PHPBB2] Ajouter lien message dans titre citation
par Milouze14 Aujourd'hui à 18:44

» *RESOLU*[PHPBB2] WYSIWYG pour citation sur message rapide
par Milouze14 Aujourd'hui à 18:32

» [TOUTES VERSIONS]Ajouter un contenu visible que par les membres ayant répondu.
par dymo Aujourd'hui à 2:10

» *RESOLU*[PHPBB2] Mise en page dans le corps du message uniquement sur le 1er message
par Milouze14 Ven 14 Fév 2020 - 16:25

» [BESTOF] Les photos à partir de l'ID d'un membre
par Milouze14 Ven 14 Fév 2020 - 3:53

» [PHPBB2] Afficher un message en haut de sujet lorsqu'il est verrouillé
par christ77000 Jeu 13 Fév 2020 - 10:01

» [TOUTES VERSIONS]Visualiser le mot de passe
par christ77000 Jeu 13 Fév 2020 - 8:29

» [TOUTES VERSIONS] Recherche de texte dans les templates
par photoclic Mer 12 Fév 2020 - 19:42

» *CORBEILLE*[PHPBB2] Viewtopic_body : Séparer les champs du profil
par Milouze14 Sam 8 Fév 2020 - 6:15

» *CORBEILLE*[PHPBB2] Messenger sur forumactif
par Milouze14 Sam 8 Fév 2020 - 6:14

» *RESOLU*[PHPBB3] Mettre un cadre aux forums des catégories
par Milouze14 Jeu 6 Fév 2020 - 15:06

» *RESOLU*[MODERNBB] Couleur textarea
par Milouze14 Mer 5 Fév 2020 - 18:06

» [TOUTES VERSIONS]Message automatique au déplacemet d'un sujet
par Jackymi Mar 4 Fév 2020 - 8:50

» *RESOLU*[MODERNBB] Barre de navigation sur 2 lignes
par Milouze14 Mar 4 Fév 2020 - 3:47

» *CORBEILLE*[PHPBB2] Message automatique au déplacement d'un sujet
par Milouze14 Dim 2 Fév 2020 - 9:17

» *RESOLU*[MODERNBB] Largeur forum modernBB
par Milouze14 Dim 2 Fév 2020 - 8:13

» *CORBEILLE*[AWESOMEBB] Erreur "429 too many requests nginx"?
par Milouze14 Ven 31 Jan 2020 - 3:52

» *CORBEILLE*[PHPBB2] Profil
par Milouze14 Mer 29 Jan 2020 - 3:51

» *CORBEILLE*[PHPBB2] QUI REGARDE LES POSTS ,?
par Milouze14 Mar 28 Jan 2020 - 3:48

» *CORBEILLE*[PHPBB2] Profil et avatar
par Milouze14 Mar 28 Jan 2020 - 3:45

*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