Membres connectés récemment
[EDGE] Préfix de sujets
3 participants
Page 1 sur 1 • Partagez
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
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
Hi Philippe,
OK
Voici le script que j'ai actuellement :
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 ?
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 ?
Hum,
je ne serais pas le mettre en œuvre Fred,
mon ami Arnaud, @no_way
pourra surement remédier à cela
je ne serais pas le mettre en œuvre Fred,
mon ami Arnaud, @no_way
pourra surement remédier à cela
Probablement, c'est d'ailleurs lui qui m'a communiqué l'astuceMilouze14 a écrit:Hum,
je ne serais pas le mettre en œuvre Fred,
mon ami Arnaud, @no_way
pourra surement remédier à cela
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:
On masque en faite toutes les balises "option"
Ensuite le script qui va donner les droits:
Si tu as besoin d'avoir plus d'explications, n'hésites pas 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.
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);
});
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) .
Désactives les un par un pour voir
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) .
Désactives les un par un pour voir
Sujets similaires
Créer un compte ou se connecter pour répondre
Vous devez être membre pour répondre.
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum