Astuces Forumactif
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Membres connectés récemment
Voir tous les membres

[EDGE] Préfix de sujets

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

Splash
Splash
https://lesforums.caforum.fr

MessageSplash Sam 20 Oct 2018 - 20:04

Hi,

J'ai installé cette astuce : 
https://www.milouze14.com/t26211-toutes-versions-ajouter-des-prefixes-devant-les-titres-des-sujets?highlight=préfix

À l'édition d'un sujet le menu déroulant est positionné systématiquement sur le préfixe du sujet, en publiant le message modifié le préfixe se trouve doublé

Quelle est la solution pour que ce menu soit positionné sur le sélecteur du menu déroulant et non sur le préfixe du sujet à l'édition des messages ?

À bientôt


Dernière édition par Splash le Dim 28 Oct 2018 - 18:39, édité 1 fois
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Dim 21 Oct 2018 - 8:12

Hello Fred,
il vaut mieux pour la version EDGE d'utiliser ce script:



clin oeil
Splash
Splash
https://lesforums.caforum.fr

MessageSplash Dim 21 Oct 2018 - 9:07

Hi Philippe, 

OK

Voici le script que j'ai actuellement :
Code:
$(function () {
    var prefixes = ["phpBB2","phpBB3","punBB","Invision","ModernBB","AwesomeBB","Edge"];
    var prefixesModerateurs = ["Avis Modérateur","Astuce"];
    var prefixesAdministrateurs = ["Avis Administrateur","Tuto","HTML","CSS","JavaScript","Template","Mise à jour"];
    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);
            });
        }
});

Sur le forum il y a des préfixes pour :
- les membres
- les modos
- les admins

Comment modifier le script FAE pour garder mes préfixes disponibles ?
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Dim 21 Oct 2018 - 18:50

Hum,
je ne serais pas le mettre en œuvre Fred,
mon ami Arnaud,  @no_way  
pourra surement remédier à cela  clin oeil
Splash
Splash
https://lesforums.caforum.fr

MessageSplash Dim 21 Oct 2018 - 19:01

Milouze14 a écrit:Hum,
je ne serais pas le mettre en œuvre Fred,
mon ami Arnaud,  @no_way  
pourra surement remédier à cela  clin oeil
Probablement, c'est d'ailleurs lui qui m'a communiqué l'astuce

tape la
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Dim 21 Oct 2018 - 19:11

Vi, c'est un génie et qui plus est, un homme vraiment très sympa clin oeil
Splash
Splash
https://lesforums.caforum.fr

MessageSplash Dim 21 Oct 2018 - 19:12

Je n'en doute pas
avatar
no_way
https://www.qwant.com

Messageno_way Mar 23 Oct 2018 - 20:02

Ola la compagnie ;)

Désolé je ne reçois pas toujours les notifications, serait-il possible d'avoir un compte de test sur ton forum afin que je puisse constater par moi-même le souci ?

Je comprends vite mais 'faut m'expliquer longtemps...
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Mer 24 Oct 2018 - 4:01

Hello Arnaud,
je t'ai envoyé par mp le lien de mon fofo test EDGE,
le script se trouve en tête de liste dans la gestion.
Tu peux le modifier comme tu le souhaites ,
j'ai son petit frère ici clin oeil .

Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Dim 28 Oct 2018 - 6:24

Hello Fred,

en attendant et en t'aidant du script fourni ici:
https://www.milouze14.com/t31744-edge-prefix-de-sujets#603412

Ajoutes ceci dans ta feuille de style:
Code:
option[id^="fa-prefix-item"]{display:none;}

On masque en faite toutes les balises "option"

Ensuite le script qui va donner les droits:
Code:
$(function(){
//ADMIN
if(_userdata["user_level"]==1)
{
  //ON AUTORISE TOUT
$('option[class="fa-prefix-item"]').show();
}
  //MODERATEURS
if(_userdata["user_level"]==2)
{
  //on modifie l'infobulle en fonction des valeur de la balise value
$('select[class="fa-prefix-select"]').attr('title','PHPBB2');
$('option[class="fa-prefix-item"][value="[PHPBB2]"]').show();
}
 
  //LES AUTRES MEMBRES
if((_userdata["user_level"]!=1)&&(_userdata["user_level"]!=2))
{
  //on modifie l'infobulle en fonction des valeur de la balise value
$('select[class="fa-prefix-select"]').attr('title','EDGE');
$('option[class="fa-prefix-item"][value="[EDGE]"]').show();
}
});


Si tu as besoin d'avoir plus d'explications, n'hésites pas Fred.
avatar
no_way
https://www.qwant.com

Messageno_way Dim 28 Oct 2018 - 11:58

Du coup j'ai pris la version edge et l'ai modifiée, désolé pour le temps d'attente:
Code:
/*globals jQuery*/
        /**
         * @name Sistema de Prefixos.
         * @version 1.0
         * @author Luiz
         * @see {@link http://ajuda.forumeiros.com/}
         * @licence MIT
         */
        jQuery(function () {
          'use strict';
        var prefixes = ["phpBB2","phpBB3","punBB","Invision","ModernBB","AwesomeBB","Edge"];
        var prefixesModerateurs = ["Avis Modérateur","Astuce"];
        var prefixesAdministrateurs = ["Avis Administrateur","Tuto","HTML","CSS","JavaScript","Template","Mise à jour"];
        if(_userdata["user_level"]==2){
            prefixes=prefixes.concat(prefixesModerateurs);
        }
        if(_userdata["user_level"]==1){
            prefixes=prefixes.concat(prefixesModerateurs,prefixesAdministrateurs);
        }
          var config = {
prefixes: prefixes,
lang: {all: 'Prefixes'},
        
            engine: {
              /**
              * @name Inicializador.
              * @desc Usado para iniciar o script.
              * @param {object} input - Corresponde ao seletor do input-alvo do script.
              */
              init: function (input) {
                var self = this;
              
                var $input = $(input);
                var $dummy = $('<option>', { 'class': 'fa-prefix-item' });
              
                if (!/^\/post$/g.test(location.pathname) && $input) {
                  return false;
                }
          
                var $select = $('<select>', {
                  'class': 'fa-prefix-select'
                });
        
                $dummy.clone()
                    .text(config.lang.all)
                    .attr('value', '')
                    .attr('selected', true)
                    .appendTo($select)
                ;
          
                $.each(config.prefixes, function (index, prefix) {
                  var option=$dummy.clone();
                  if($input.val().indexOf(prefix)!=-1)option.attr('selected', 'selected');
                  option.text('[' + prefix + ']')
                      .attr('value', '[' + prefix + ']')
                      .attr('id', 'fa-prefix-item-' + index)
                      .appendTo($select)
                  ;
                });
          
                $select
                  .insertBefore($input)
                  .on('change', function () {
                    var $this = $(this);
                    var value = $this.val();
          
                    self.prefix(value, $this.next());
                  })
                ;
              },
            
              /**
              * @name Prefixador.
              * @desc Usada para colocar o prefixo no input.
              * @param {string} value - Corresponde ao prefixo que será colocado.
              * @param {object} input - Corresponde ao seletor do input que será prefixado.
              */
              prefix: function (value, input) {
                var $input = $(input);
        
                if (/^\[.*\]/g.test($input.val())) {
                  $input.val($.trim($input.val().replace(/^\[.*\]/, '')));
                }
        
                $input.val($.trim(value + ' ' + $input.val()));
              
              }
            }
          };
            var $input = $('input[name="subject"]');
            config.engine.init($input);
        });
Splash
Splash
https://lesforums.caforum.fr

MessageSplash Dim 28 Oct 2018 - 14:15

Hi no_way,

Je viens d'essayer ton script mais aucun préfixe n'apparaît devant le titre du sujet  une fois le message publié. Ou alors j'ai oublié quelque chose

 [EDGE] Préfix de sujets 1_tiff12

 [EDGE] Préfix de sujets 2_tiff10
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Dim 28 Oct 2018 - 18:34

Hello Fred,
le script d'Arnaud @no_way est fonctionnel sur mon forum test EDGE.
Il faut voir si tu n'as pas de conflit avec d'autres scripts (hors EDGE)  clin oeil .

Désactives les un par un pour voir
Splash
Splash
https://lesforums.caforum.fr

MessageSplash Dim 28 Oct 2018 - 18:39

Hi Philippe,
Problème résolu pour moi
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Dim 28 Oct 2018 - 18:41

Ok Fred,
tu aurais pu dire pourquoi cela ne fonctionnait pas clin oeil .


-Staff du Forum Milouze14-



  • Hello 
    Sujet résolu et déplacé dans le forum adéquat.

Pour toute information,merci de contacter un Membre du Staff

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