Connexion

Récupérer mon mot de passe

Derniers sujets
» [PhpBB2] Ouverture d'une balise object ou iframe au clic sur un bouton
par fascicularia Aujourd'hui à 12:27

» [PhpBB2] Effet transition icône du forum
par petitefeuille Aujourd'hui à 11:20

» [Edge] Page html
par msfeettoes Aujourd'hui à 9:24

» *RESOLU*[PhpBB3] Miniature agrandie sur réponse rapide
par Milouze14 Hier à 15:19

» [PhpBB2] positionnement css
par Milouze14 Lun 18 Nov 2019 - 17:50

» histoire du Jour sans fin
par Quad Daniel Lun 18 Nov 2019 - 7:28

» *RESOLU*[PhpBB2] Notifications Push
par Milouze14 Lun 18 Nov 2019 - 6:06

» *RESOLU*[PhpBB2] Modifier la toolbar
par Milouze14 Lun 18 Nov 2019 - 6:03

» [PHPBB2] Menu Rechercher en haut à gauche effet survol
par HardRock Sam 16 Nov 2019 - 21:23

» *RESOLU*[PhpBB3] Couleur de lien dans les messages
par Milouze14 Sam 16 Nov 2019 - 19:04

» *CORBEILLE*[PhpBB2] avertissement lors de la publication d'un email 2 le retour
par Milouze14 Sam 16 Nov 2019 - 7:16

» [PhpBB2]Module de connexion type forumactif
par petitefeuille Jeu 14 Nov 2019 - 13:12

» Règlement de l'entraide Forumactif
par msfeettoes Mer 13 Nov 2019 - 17:28

» *RESOLU*[PhpBB3] Retirer bouton contact aux invités
par Milouze14 Mer 13 Nov 2019 - 15:59

» [PhpBB2] Avertissement lors de la publication d'un email
par Milouze14 Mer 13 Nov 2019 - 3:53

» *RESOLU*[PhpBB2] Annonce Google décalée
par Milouze14 Lun 11 Nov 2019 - 21:08

» [PhpBB2] Ajouter à vos favoris
par Milouze14 Lun 11 Nov 2019 - 18:22

» [PhpBB2] Changer le nom d'un groupe
par petitefeuille Lun 11 Nov 2019 - 15:53

» *RESOLU*[Edge] Bannière defilante
par Milouze14 Lun 11 Nov 2019 - 8:57

» *RESOLU*[PhpBB3] Bouton uniquement sur premier post
par Milouze14 Dim 10 Nov 2019 - 19:19

*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