Membres connectés récemment
[PhpBB3] Préfixes sur titre limité à une catégorie
2 participants
Page 1 sur 2 • Partagez
Page 1 sur 2 • 1, 2
- Version du forum :PhpBB3
- Templates modifiés :oui
- Navigateur :Firefox
Bonjour,
J'utilise ce script des prefixes peaufiné par Philippe sur les titres de sujets.
Serait-il possible de n'activer ce script que sur la catégorie "Les photos du clic"
Si cela est possible, serait-il possibleaussi d'obliger le membre à renseigner ce champ avec l'une des lignes du menu déroulant.
Et si le membre veut envoyer son message avec ce champ vide, avoir un message l'informant que ce champ est obligatoire.
Merci pour votre aide.
Le script utilisé:
J'utilise ce script des prefixes peaufiné par Philippe sur les titres de sujets.
Serait-il possible de n'activer ce script que sur la catégorie "Les photos du clic"
Si cela est possible, serait-il possibleaussi d'obliger le membre à renseigner ce champ avec l'une des lignes du menu déroulant.
Et si le membre veut envoyer son message avec ce champ vide, avoir un message l'informant que ce champ est obligatoire.
Merci pour votre aide.
Le script utilisé:
- Code:
//Préfixes sur titres nouveaux sujets ttes pages
var prefixes = ["Paysages","Panoramas","Portraits","Instants_de_vie_et_rue","Studio","Petite_série","Nu_Charme","Concerts_et_spectacles","Animaux","Noir_et_Blanc","Flore","Macro_et_Proxy","Urbex_Engins_et_véhicules","Architecture_et_Graphisme","Sport","Inclassables"];
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)&&!$('form[name="post_ads"]').length || 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 texta=$('#text_editor_textarea').sceditor("instance").val();
var sub = $("input[name=subject]").val().trim();
if (sub != "" && $("#prefix").val() != "")
$("input[name=subject]").val("[" + $("#prefix").val() + "] " + sub);
var test=$("#prefix").val();
if(test)
{
$('#text_editor_textarea').sceditor("instance").val(''+texta+'\n#'+test+'');
}
});
}
});
Hello Serge,
Franchement, je ne pense pas que cela soit possible, mais qui sait!!!!Si cela est possible, serait-il possible d'obliger le membre à renseigner ce champ avec l'une des lignes du menu.
Et si le membre veut envoyer son message avec ce champ vise, avoir un message l'inforamt que ce champ est obligatoire.
J'avais vu ce post il y a un moment:
https://forum.forumactif.com/t370254-prefixe-dans-les-sujets-critere-obligatoire-a-remplir-avant-de-poster
Je ne sais pas si ça peut aider.
Désolé pour le double post.
https://forum.forumactif.com/t370254-prefixe-dans-les-sujets-critere-obligatoire-a-remplir-avant-de-poster
Je ne sais pas si ça peut aider.
Désolé pour le double post.
Bon ben en faite, le script sur le lien donné doit fonctionner juste sur la catégorie demandée Serge:
Les forums 1,4,5,6 et 19
Les forums 1,4,5,6 et 19
- Code:
location.pathname == "/post" && $(function() {
var tags = {
1: ["Paysages","Panoramas","Portraits","Instants_de_vie_et_rue","Studio","Petite_série","Nu_Charme","Concerts_et_spectacles","Animaux","Noir_et_Blanc","Flore","Macro_et_Proxy","Urbex_Engins_et_véhicules","Architecture_et_Graphisme","Sport","Inclassables"],
4: ["Paysages","Panoramas","Portraits","Instants_de_vie_et_rue","Studio","Petite_série","Nu_Charme","Concerts_et_spectacles","Animaux","Noir_et_Blanc","Flore","Macro_et_Proxy","Urbex_Engins_et_véhicules","Architecture_et_Graphisme","Sport","Inclassables"],
5: ["Paysages","Panoramas","Portraits","Instants_de_vie_et_rue","Studio","Petite_série","Nu_Charme","Concerts_et_spectacles","Animaux","Noir_et_Blanc","Flore","Macro_et_Proxy","Urbex_Engins_et_véhicules","Architecture_et_Graphisme","Sport","Inclassables"],
6: ["Paysages","Panoramas","Portraits","Instants_de_vie_et_rue","Studio","Petite_série","Nu_Charme","Concerts_et_spectacles","Animaux","Noir_et_Blanc","Flore","Macro_et_Proxy","Urbex_Engins_et_véhicules","Architecture_et_Graphisme","Sport","Inclassables"],
19: ["Paysages","Panoramas","Portraits","Instants_de_vie_et_rue","Studio","Petite_série","Nu_Charme","Concerts_et_spectacles","Animaux","Noir_et_Blanc","Flore","Macro_et_Proxy","Urbex_Engins_et_véhicules","Architecture_et_Graphisme","Sport","Inclassables"]
};
var dont_add_space_if = /^[\s\[]/;
var f = $('form[method="post"] input[name="f"]');
if (f.length == 0) return;
tags = tags[f.val()];
if (!tags) return;
var s = $("<select><option></option><option>" + tags.join("</option><option>") + "</option></select>").insertAfter('form[method="post"] input[name="subject"]').change(function() {
var v = this.value,
a = 1,
t = $(this).prev().val();
if (t.indexOf(v) != -1) a = 0;
$("option", this).each(function() {
t = t.replace($(this).val(), "")
});
if (a) t = v + (dont_add_space_if.test(t) ? "" : " ") +
t;
$(this).css('border', 'initial');
$(this).prev().val(t);
this.selectedIndex = 0;
return false
});
s.closest('form').on('submit', function(){
var v = $("input[name='subject']", this).val();
for(var i= 0; i<tags.length; i++)
if(v.indexOf(tags[i]) != -1)
return true;
alert("Il faut choisir un tag ;)");
$("html, body").animate({scrollTop:s.offset().top-$(window).height()/2}, '500', 'swing');
s.css('border', '3px dashed red');
return false;
});
});
Je ne saisis pas trop ta question, mais j'ai repris le script de ce message:
https://www.milouze14.com/t32377-phpbb3-prefixes-sur-titre-limite-a-une-categorie#616168
En mentionnant les forums figurant dans la catégorie "Les photos du clic",
c'est à dire les forums 1,4,5,6 et 19
https://www.milouze14.com/t32377-phpbb3-prefixes-sur-titre-limite-a-une-categorie#616168
En mentionnant les forums figurant dans la catégorie "Les photos du clic",
c'est à dire les forums 1,4,5,6 et 19
Oui, j'ai bien compris Philippe, mais il est différent au niveau fonctionnement:
. La case préfixe est à droite du titre et non à gauche
. Le préfixe ajouté n'est pas entre crochets
. Et tu m'avais rajouté en début de semaine la géniale fonction supplémentaire qui ajoute le préfixe en bas du message sous forme de tag.
. La case préfixe est à droite du titre et non à gauche
. Le préfixe ajouté n'est pas entre crochets
. Et tu m'avais rajouté en début de semaine la géniale fonction supplémentaire qui ajoute le préfixe en bas du message sous forme de tag.
Voici le script sans le tag pour l'instant:
- Code:
location.pathname == "/post" && $(function() {
var tags = {
1: ["[Paysages]","[Panoramas]","[Portraits]","[Instants_de_vie_et_rue]","[Studio]","[Petite_série]","[Nu_Charme]","[Concerts_et_spectacles]","[Animaux]","[Noir_et_Blanc]","[Flore]","[Macro_et_Proxy]","[Urbex_Engins_et_véhicules]","[Architecture_et_Graphisme]","[Sport]","[Inclassables]"],
4: ["[Paysages]","[Panoramas]","[Portraits]","[Instants_de_vie_et_rue]","[Studio]","[Petite_série]","[Nu_Charme]","[Concerts_et_spectacles]","[Animaux]","[Noir_et_Blanc]","[Flore]","[Macro_et_Proxy]","[Urbex_Engins_et_véhicules]","[Architecture_et_Graphisme]","[Sport]","[Inclassables]"],
5: ["[Paysages]","[Panoramas]","[Portraits]","[Instants_de_vie_et_rue]","[Studio]","[Petite_série]","[Nu_Charme]","[Concerts_et_spectacles]","[Animaux]","[Noir_et_Blanc]","[Flore]","[Macro_et_Proxy]","[Urbex_Engins_et_véhicules]","[Architecture_et_Graphisme]","[Sport]","[Inclassables]"],
6: ["[Paysages]","[Panoramas]","[Portraits]","[Instants_de_vie_et_rue]","[Studio]","[Petite_série]","[Nu_Charme]","[Concerts_et_spectacles]","[Animaux]","[Noir_et_Blanc]","[Flore]","[Macro_et_Proxy]","[Urbex_Engins_et_véhicules]","[Architecture_et_Graphisme]","[Sport]","[Inclassables]"],
19: ["[Paysages]","[Panoramas]","[Portraits]","[Instants_de_vie_et_rue]","[Studio]","[Petite_série]","[Nu_Charme]","[Concerts_et_spectacles]","[Animaux]","[Noir_et_Blanc]","[Flore]","[Macro_et_Proxy]","[Urbex_Engins_et_véhicules]","[Architecture_et_Graphisme]","[Sport]","[Inclassables]"]
};
var dont_add_space_if = /^[\s\[]/;
var f = $('form[method="post"] input[name="f"]');
if (f.length == 0) return;
tags = tags[f.val()];
if (!tags) return;
var s = $("<select><option></option><option>" + tags.join("</option><option>") + "</option></select>").insertBefore('form[method="post"] input[name="subject"]').change(function() {
var v = this.value,
a = 1,
t = $(this).prev().val();
if (t.indexOf(v) != -1) a = 0;
$("option", this).each(function() {
t = t.replace($(this).val(), "")
});
if (a) t = v + (dont_add_space_if.test(t) ? "" : " ") +
t;
$(this).css('border', 'initial');
$(this).prev().val(t);
this.selectedIndex = 0;
return false
});
s.closest('form').on('submit', function(){
var v = $("input[name='subject']", this).val();
for(var i= 0; i<tags.length; i++)
if(v.indexOf(tags[i]) != -1)
return true;
alert("Il faut choisir un tag ;)");
$("html, body").animate({scrollTop:s.offset().top-$(window).height()/2}, '500', 'swing');
s.css('border', '3px dashed red');
return false;
});
});
Je regarde pour le tag demain matin Serge.
Re Phil,
Alors, le menu est bien à gauche du titre et on a bien les crochets.
Mais ce serait bien si le script fonctionne comme le précédent.
. Manque les couleurs dans le menu déroulant. Faudrait ajouter id="prefix" au select pour que le css agisse.
.Sur ton dernier script en l'état, il manque le titre "Préfixe" en tête du menu (quand le menu n'est pas déroulé),
. Il y a un petit bug car quand on ne choisi pas de préfixe, on a bien la fenêtre avec le message "il faut choisir un tag" mais on a aussi ce message quand on en choisi un.
Il n'y a pas ce problème sur le script FA avant ta reprise),
Je ne sais pas s'il est possible d'ajouter un style à cette fenêtre: couleur de police et fond.
. Quand on édite un message, on n'a plus le menu préfixe pour en ajouter un s'il n'y en a pas ou pour le changer; c'était le cas avant.
Et puis ta cerise, l'ajout du tag en bas de message.
Il ne faut pas que dans le tag ajouté se retrouvent les crochets :-)
Encore un exercice complexe que je te demande là
Merci pour ton travail.
Je ne pense pas pouvoir repasser avant demain soir, donc pas d'urgence Phil.
Alors, le menu est bien à gauche du titre et on a bien les crochets.
Mais ce serait bien si le script fonctionne comme le précédent.
. Manque les couleurs dans le menu déroulant. Faudrait ajouter id="prefix" au select pour que le css agisse.
.Sur ton dernier script en l'état, il manque le titre "Préfixe" en tête du menu (quand le menu n'est pas déroulé),
. Il y a un petit bug car quand on ne choisi pas de préfixe, on a bien la fenêtre avec le message "il faut choisir un tag" mais on a aussi ce message quand on en choisi un.
Il n'y a pas ce problème sur le script FA avant ta reprise),
Je ne sais pas s'il est possible d'ajouter un style à cette fenêtre: couleur de police et fond.
. Quand on édite un message, on n'a plus le menu préfixe pour en ajouter un s'il n'y en a pas ou pour le changer; c'était le cas avant.
Et puis ta cerise, l'ajout du tag en bas de message.
Il ne faut pas que dans le tag ajouté se retrouvent les crochets :-)
Encore un exercice complexe que je te demande là
Merci pour ton travail.
Je ne pense pas pouvoir repasser avant demain soir, donc pas d'urgence Phil.
Coucou Serge,
alors voilà une compilation des deux scripts:
On autorise seulement sur les forums:1,4,5,6 et 19
Si le préfixe n'est pas sélectionné, le membre aura cette alerte:
"Il faut choisir un tag".
que tu retrouveras sous cette forme dans le script:
En images:
Si on ne sélectionnes pas le sélect et que l'on cliques sur envoyer:
Puis une petite animation remontera vers le select avec une bordure rouge que tu
pourras modifier dans le script ici:
Et voilou mon ami.
alors voilà une compilation des deux scripts:
- Code:
location.pathname=="/post" && /^\?f=(1|4|5|6|19)&mode=newtopic$/.test(location.search) && $(function(){
//Préfixes sur titres nouveaux sujets ttes pages
var prefixes = ["Paysages","Panoramas","Portraits","Instants_de_vie_et_rue","Studio","Petite_série","Nu_Charme","Concerts_et_spectacles","Animaux","Noir_et_Blanc","Flore","Macro_et_Proxy","Urbex_Engins_et_véhicules","Architecture_et_Graphisme","Sport","Inclassables"];
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)&&!$('form[name="post_ads"]').length || 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 s=$('select#prefix');
if ($('select#prefix').val().length == 0) {
alert("Il faut choisir un tag");
$("html, body").animate({scrollTop:s.offset().top-$(window).height()/2}, '500', 'swing');
$('select#prefix').css('border', '3px dashed red');
return false;
}
var texta=$('#text_editor_textarea').sceditor("instance").val();
var sub = $("input[name=subject]").val().trim();
if (sub != "" && $("#prefix").val() != "")
$("input[name=subject]").val("[" + $("#prefix").val() + "] " + sub);
var test=$("#prefix").val();
if(test)
{
$('#text_editor_textarea').sceditor("instance").val(''+texta+'\n#'+test+'');
}
});
}
});
});
On autorise seulement sur les forums:1,4,5,6 et 19
- Code:
location.pathname=="/post" && /^\?f=(1|4|5|6|19)&mode=newtopic$/.test(location.search) && $(function(){
Si le préfixe n'est pas sélectionné, le membre aura cette alerte:
"Il faut choisir un tag".
que tu retrouveras sous cette forme dans le script:
- Code:
alert("Il faut choisir un tag");
En images:
Si on ne sélectionnes pas le sélect et que l'on cliques sur envoyer:
Puis une petite animation remontera vers le select avec une bordure rouge que tu
pourras modifier dans le script ici:
- Code:
$('select#prefix').css('border', '3px dashed red');
Et voilou mon ami.
Re Serge,
C'est une alerte , donc non modifiable, c'est le navigateur qui donne l'aspect.
Hum, tu demandes pour des forums spécifiques donc création, si tu désires l'avoir aussi sur l'édition, ce sera tout bonnement impossible car on n'a plus de trace du forum Serge mais simplement du sujet.
Je peux voir pour remplacer l'alerte par un message identique au dessus du select!!
. ajouter un style couleur de police et fond à la fenêtre disant "il faut choisir un tag": .
C'est une alerte , donc non modifiable, c'est le navigateur qui donne l'aspect.
. Quand on édite un message, avoir le menu préfixe pour en ajouter un s'il n'y en a pas ou pour le changer.
Hum, tu demandes pour des forums spécifiques donc création, si tu désires l'avoir aussi sur l'édition, ce sera tout bonnement impossible car on n'a plus de trace du forum Serge mais simplement du sujet.
Je peux voir pour remplacer l'alerte par un message identique au dessus du select!!
Pour tout les forums, ce serait ce script :
J'ai supprimé l'alerte pour afficher une cellule au dessous du préfixe qui s'affichera et au bout de 3 secondes s'estompera .
La cellule ajoutée :
L'effet d'ouverture/fermeture:
Les 3000 correspond à 3 secondes.
Si tu désires laisser cette cellule affichée, modifies ainsi:
J'ai supprimé l'alerte pour afficher une cellule au dessous du préfixe qui s'affichera et au bout de 3 secondes s'estompera .
- Code:
//Préfixes sur titres nouveaux sujets ttes pages
var prefixes = ["Paysages","Panoramas","Portraits","Instants_de_vie_et_rue","Studio","Petite_série","Nu_Charme","Concerts_et_spectacles","Animaux","Noir_et_Blanc","Flore","Macro_et_Proxy","Urbex_Engins_et_véhicules","Architecture_et_Graphisme","Sport","Inclassables"];
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)&&!$('form[name="post_ads"]').length || 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=subject]").closest('dl').after('<dl class="M14_info_Prefixe"style="display:none;"><dt><label style="color:darkred;"><b>Information</b></label><dd style="color:darkred;text-align:center;"><b>Il faut choisir un tag dans le menu déroulant.</b></dd></dl>');
$("input[name=post]").click(function () {
var s=$('select#prefix');
if ($('select#prefix').val().length == 0) {
$('.M14_info_Prefixe').slideDown().delay(3000).slideUp();
$("html, body").animate({scrollTop:s.offset().top-$(window).height()/2}, '500', 'swing');
$('select#prefix').css('border', '3px dashed red');
return false;
}
var texta=$('#text_editor_textarea').sceditor("instance").val();
var sub = $("input[name=subject]").val().trim();
if (sub != "" && $("#prefix").val() != "")
$("input[name=subject]").val("[" + $("#prefix").val() + "] " + sub);
var test=$("#prefix").val();
if(test)
{
$('#text_editor_textarea').sceditor("instance").val(''+texta+'\n#'+test+'');
}
});
}
});
La cellule ajoutée :
- Code:
$("input[name=subject]").closest('dl').after('<dl class="M14_info_Prefixe"style="display:none;"><dt><label style="color:darkred;"><b>Information</b></label><dd style="color:darkred;text-align:center;"><b>Il faut choisir un tag dans le menu déroulant.</b></dd></dl>');
L'effet d'ouverture/fermeture:
- Code:
$('.M14_info_Prefixe').slideDown().delay(3000).slideUp();
Les 3000 correspond à 3 secondes.
Si tu désires laisser cette cellule affichée, modifies ainsi:
- Code:
$('.M14_info_Prefixe').slideDown();
Ou alors ce script, qui affichera les préfixes lors d'une création de sujet sur les forums mentionnés
et un autre qui affichera les préfixes sur tous les forums mais seulement en édition:
et un autre qui affichera les préfixes sur tous les forums mais seulement en édition:
- Code:
location.pathname=="/post" && /^\?f=(1|4|5|6|19)&mode=newtopic$/.test(location.search) && $(function(){
//Préfixes sur titres nouveaux sujets ttes pages
var prefixes = ["Paysages","Panoramas","Portraits","Instants_de_vie_et_rue","Studio","Petite_série","Nu_Charme","Concerts_et_spectacles","Animaux","Noir_et_Blanc","Flore","Macro_et_Proxy","Urbex_Engins_et_véhicules","Architecture_et_Graphisme","Sport","Inclassables"];
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)&&!$('form[name="post_ads"]').length || 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=subject]").closest('dl').after('<dl class="M14_info_Prefixe"style="display:none;"><dt><label style="color:darkred;"><b>Information</b></label><dd style="color:darkred;text-align:center;"><b>Il faut choisir un tag dans le menu déroulant.</b></dd></dl>');
$("input[name=post]").click(function () {
var s=$('select#prefix');
if ($('select#prefix').val().length == 0) {
$('.M14_info_Prefixe').slideDown().delay(3000).slideUp();
$("html, body").animate({scrollTop:s.offset().top-$(window).height()/2}, '500', 'swing');
$('select#prefix').css('border', '3px dashed red');
return false;
}
var texta=$('#text_editor_textarea').sceditor("instance").val();
var sub = $("input[name=subject]").val().trim();
if (sub != "" && $("#prefix").val() != "")
$("input[name=subject]").val("[" + $("#prefix").val() + "] " + sub);
var test=$("#prefix").val();
if(test)
{
$('#text_editor_textarea').sceditor("instance").val(''+texta+'\n#'+test+'');
}
});
}
});
});
if(location.href.match(/mode=editpost/))
{
//Préfixes sur titres nouveaux sujets ttes pages
var prefixes = ["Paysages","Panoramas","Portraits","Instants_de_vie_et_rue","Studio","Petite_série","Nu_Charme","Concerts_et_spectacles","Animaux","Noir_et_Blanc","Flore","Macro_et_Proxy","Urbex_Engins_et_véhicules","Architecture_et_Graphisme","Sport","Inclassables"];
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)&&!$('form[name="post_ads"]').length || 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=subject]").closest('dl').after('<dl class="M14_info_Prefixe"style="display:none;"><dt><label style="color:darkred;"><b>Information</b></label><dd style="color:darkred;text-align:center;"><b>Il faut choisir un tag dans le menu déroulant.</b></dd></dl>');
$("input[name=post]").click(function () {
var s=$('select#prefix');
if ($('select#prefix').val().length == 0) {
$('.M14_info_Prefixe').slideDown().delay(3000).slideUp();
$("html, body").animate({scrollTop:s.offset().top-$(window).height()/2}, '500', 'swing');
$('select#prefix').css('border', '3px dashed red');
return false;
}
var texta=$('#text_editor_textarea').sceditor("instance").val();
var sub = $("input[name=subject]").val().trim();
if (sub != "" && $("#prefix").val() != "")
$("input[name=subject]").val("[" + $("#prefix").val() + "] " + sub);
var test=$("#prefix").val();
if(test)
{
$('#text_editor_textarea').sceditor("instance").val(''+texta+'\n#'+test+'');
}
});
}
});
}
Hello Philippe,
Un grand merci.
2 excellents scripts concurrents. Me faut choisir maintenant :-)
J'aime bien le message traité ainsi et qui s'affiche durant 3 secondes. Cela permet d'y ajouter un style, contrairement à l'alerte.
Ta seconde proposition aurait ma préférence.
Mais, il ne faudrait pas que l'on soit obligé de choisir un préfixe en mode édition dans les forums autres que f=(1|4|5|7|19).
Si ce dernier point n'est pas possible, alors laisser en mode édition le choix d'un préfixe, et supprimer l'obligation du préfixe sur tous les forums
Un grand merci.
2 excellents scripts concurrents. Me faut choisir maintenant :-)
J'aime bien le message traité ainsi et qui s'affiche durant 3 secondes. Cela permet d'y ajouter un style, contrairement à l'alerte.
Ta seconde proposition aurait ma préférence.
Mais, il ne faudrait pas que l'on soit obligé de choisir un préfixe en mode édition dans les forums autres que f=(1|4|5|7|19).
Si ce dernier point n'est pas possible, alors laisser en mode édition le choix d'un préfixe, et supprimer l'obligation du préfixe sur tous les forums
Hello Serge,
comme expliqué plus haut c'est purement impossible mon ami..
Il n'y a rien dans le code source qui spécifie le forum en mode édition.
Pour laisser le script comme tu le mentionnes, ce sera :
photoclic a écrit:
Mais, il ne faudrait pas que l'on soit obligé de choisir un préfixe en mode édition dans les forums autres que f=(1|4|5|7|19).
comme expliqué plus haut c'est purement impossible mon ami..
Il n'y a rien dans le code source qui spécifie le forum en mode édition.
Pour laisser le script comme tu le mentionnes, ce sera :
- Code:
//Préfixes sur titres nouveaux sujets ttes pages
var prefixes = ["Paysages","Panoramas","Portraits","Instants_de_vie_et_rue","Studio","Petite_série","Nu_Charme","Concerts_et_spectacles","Animaux","Noir_et_Blanc","Flore","Macro_et_Proxy","Urbex_Engins_et_véhicules","Architecture_et_Graphisme","Sport","Inclassables"];
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)&&!$('form[name="post_ads"]').length || 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=subject]").closest('dl').after('<dl class="M14_info_Prefixe"style="display:none;"><dt><label style="color:darkred;"><b>Information</b></label><dd style="color:darkred;text-align:center;"><b>Il faut choisir un tag dans le menu déroulant.</b></dd></dl>');
$("input[name=post]").click(function () {
var s=$('select#prefix');
if ($('select#prefix').val().length == 0) {
$('.M14_info_Prefixe').slideDown().delay(3000).slideUp();
$("html, body").animate({scrollTop:s.offset().top-$(window).height()/2}, '500', 'swing');
$('select#prefix').css('border', '3px dashed red');
return false;
}
var texta=$('#text_editor_textarea').sceditor("instance").val();
var sub = $("input[name=subject]").val().trim();
if (sub != "" && $("#prefix").val() != "")
$("input[name=subject]").val("[" + $("#prefix").val() + "] " + sub);
var test=$("#prefix").val();
if(test)
{
$('#text_editor_textarea').sceditor("instance").val(''+texta+'\n#'+test+'');
}
});
}
});
Bonjour Philippe,
Je pensais qu'en ayant les 2 scripts dans ta propostion ici:
https://www.milouze14.com/t32377-phpbb3-prefixes-sur-titre-limite-a-une-categorie#616197
le 1ier script était pour un nouveau post, l'autre pour l'édition.
Et qu'en retirant la dernière partie de ton second script je n'aurais plus d'obligation de choisir un tag en mode édition ainsi:
Cela ne collerait pas à cette demande Phil : "laisser en mode édition le choix d'un préfixe, et supprimer l'obligation du préfixe sur tous les forums"
Je pensais qu'en ayant les 2 scripts dans ta propostion ici:
https://www.milouze14.com/t32377-phpbb3-prefixes-sur-titre-limite-a-une-categorie#616197
le 1ier script était pour un nouveau post, l'autre pour l'édition.
Et qu'en retirant la dernière partie de ton second script je n'aurais plus d'obligation de choisir un tag en mode édition ainsi:
- Code:
location.pathname=="/post" && /^\?f=(1|4|5|6|19)&mode=newtopic$/.test(location.search) && $(function(){
//Préfixes sur titres nouveaux sujets ttes pages
var prefixes = ["Paysages","Panoramas","Portraits","Instants_de_vie_et_rue","Studio","Petite_série","Nu_Charme","Concerts_et_spectacles","Animaux","Noir_et_Blanc","Flore","Macro_et_Proxy","Urbex_Engins_et_véhicules","Architecture_et_Graphisme","Sport","Inclassables"];
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)&&!$('form[name="post_ads"]').length || 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=subject]").closest('dl').after('<dl class="M14_info_Prefixe"style="display:none;"><dt><label style="color:darkred;"><b>Information</b></label><dd style="color:darkred;text-align:center;"><b>Il faut choisir un tag dans le menu déroulant.</b></dd></dl>');
$("input[name=post]").click(function () {
var s=$('select#prefix');
if ($('select#prefix').val().length == 0) {
$('.M14_info_Prefixe').slideDown().delay(3000).slideUp();
$("html, body").animate({scrollTop:s.offset().top-$(window).height()/2}, '500', 'swing');
$('select#prefix').css('border', '3px dashed red');
return false;
}
var texta=$('#text_editor_textarea').sceditor("instance").val();
var sub = $("input[name=subject]").val().trim();
if (sub != "" && $("#prefix").val() != "")
$("input[name=subject]").val("[" + $("#prefix").val() + "] " + sub);
var test=$("#prefix").val();
if(test)
{
$('#text_editor_textarea').sceditor("instance").val(''+texta+'\n#'+test+'');
}
});
}
});
});
if(location.href.match(/mode=editpost/))
{
//Préfixes sur titres nouveaux sujets ttes pages
var prefixes = ["Paysages","Panoramas","Portraits","Instants_de_vie_et_rue","Studio","Petite_série","Nu_Charme","Concerts_et_spectacles","Animaux","Noir_et_Blanc","Flore","Macro_et_Proxy","Urbex_Engins_et_véhicules","Architecture_et_Graphisme","Sport","Inclassables"];
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)&&!$('form[name="post_ads"]').length || 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());
}
}
});
}
Cela ne collerait pas à cette demande Phil : "laisser en mode édition le choix d'un préfixe, et supprimer l'obligation du préfixe sur tous les forums"
Re Serge,
je ne comprends plus rien à tes demandes mon ami,
Tu veux quoi exactement car j'ai bien mentionné le fonctionnement distinct des scripts non ?
Donc , si je me réfère à ta dernière demande:
Tu n'as besoin que de celui-ci alors!!
Le mode édition:
je ne comprends plus rien à tes demandes mon ami,
Si ce dernier point n'est pas possible, alors laisser en mode édition le choix d'un préfixe, et supprimer l'obligation du préfixe sur tous les forums
Tu veux quoi exactement car j'ai bien mentionné le fonctionnement distinct des scripts non ?
Donc , si je me réfère à ta dernière demande:
"laisser en mode édition le choix d'un préfixe, et supprimer l'obligation du préfixe sur tous les forums"
Tu n'as besoin que de celui-ci alors!!
Le mode édition:
- Code:
if(location.href.match(/mode=editpost/))
{
//Préfixes sur titres nouveaux sujets ttes pages
var prefixes = ["Paysages","Panoramas","Portraits","Instants_de_vie_et_rue","Studio","Petite_série","Nu_Charme","Concerts_et_spectacles","Animaux","Noir_et_Blanc","Flore","Macro_et_Proxy","Urbex_Engins_et_véhicules","Architecture_et_Graphisme","Sport","Inclassables"];
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)&&!$('form[name="post_ads"]').length || 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=subject]").closest('dl').after('<dl class="M14_info_Prefixe"style="display:none;"><dt><label style="color:darkred;"><b>Information</b></label><dd style="color:darkred;text-align:center;"><b>Il faut choisir un tag dans le menu déroulant.</b></dd></dl>');
$("input[name=post]").click(function () {
var s=$('select#prefix');
if ($('select#prefix').val().length == 0) {
$('.M14_info_Prefixe').slideDown().delay(3000).slideUp();
$("html, body").animate({scrollTop:s.offset().top-$(window).height()/2}, '500', 'swing');
$('select#prefix').css('border', '3px dashed red');
return false;
}
var texta=$('#text_editor_textarea').sceditor("instance").val();
var sub = $("input[name=subject]").val().trim();
if (sub != "" && $("#prefix").val() != "")
$("input[name=subject]").val("[" + $("#prefix").val() + "] " + sub);
var test=$("#prefix").val();
if(test)
{
$('#text_editor_textarea').sceditor("instance").val(''+texta+'\n#'+test+'');
}
});
}
});
}
Hello Philippe,
je crois que je ne m'exprime pas bien, alors je reformule :-)
. En création de post et uniquement sur les forums:1,4,5,6 et 19:
on présente le menu Préfixe et on oblige le membre à rentrer un préfixe
. En mode édition, quelque soit le forum on présente le menu Préfixe mais on n'oblige pas le membre à rentrer un préfixe.
J'espère n'avoir rien omis.
Merci pour ta patience Philippe.
je crois que je ne m'exprime pas bien, alors je reformule :-)
. En création de post et uniquement sur les forums:1,4,5,6 et 19:
on présente le menu Préfixe et on oblige le membre à rentrer un préfixe
. En mode édition, quelque soit le forum on présente le menu Préfixe mais on n'oblige pas le membre à rentrer un préfixe.
J'espère n'avoir rien omis.
Merci pour ta patience Philippe.
Je comprends mieux ainsi Serge;) .
Alors ce sera ce script mon ami:
Alors ce sera ce script mon ami:
- Code:
location.pathname=="/post" && /^\?f=(1|4|5|6|19)&mode=newtopic$/.test(location.search) && $(function(){
//Préfixes sur titres nouveaux sujets ttes pages
var prefixes = ["Paysages","Panoramas","Portraits","Instants_de_vie_et_rue","Studio","Petite_série","Nu_Charme","Concerts_et_spectacles","Animaux","Noir_et_Blanc","Flore","Macro_et_Proxy","Urbex_Engins_et_véhicules","Architecture_et_Graphisme","Sport","Inclassables"];
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)&&!$('form[name="post_ads"]').length || 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=subject]").closest('dl').after('<dl class="M14_info_Prefixe"style="display:none;"><dt><label style="color:darkred;"><b>Information</b></label><dd style="color:darkred;text-align:center;"><b>Il faut choisir un tag dans le menu déroulant.</b></dd></dl>');
$("input[name=post]").click(function () {
var s=$('select#prefix');
if ($('select#prefix').val().length == 0) {
$('.M14_info_Prefixe').slideDown().delay(3000).slideUp();
$("html, body").animate({scrollTop:s.offset().top-$(window).height()/2}, '500', 'swing');
$('select#prefix').css('border', '3px dashed red');
return false;
}
var texta=$('#text_editor_textarea').sceditor("instance").val();
var sub = $("input[name=subject]").val().trim();
if (sub != "" && $("#prefix").val() != "")
$("input[name=subject]").val("[" + $("#prefix").val() + "] " + sub);
var test=$("#prefix").val();
if(test)
{
$('#text_editor_textarea').sceditor("instance").val(''+texta+'\n#'+test+'');
}
});
}
});
});
if(location.href.match(/mode=editpost/))
{
//Préfixes sur titres nouveaux sujets
var prefixes = ["Paysages","Panoramas","Portraits","Instants de vie et rue","Studio","Petite série","Nu /Charme","Concerts et spectacles","Animaux","Noir et Blanc","Flore","Macro et Proxy","Urbex Engins et véhicules","Architecture et Graphisme","Sport","Inclassables"];
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)&&!$('form[name="post_ads"]').length || 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 texta=$('#text_editor_textarea').sceditor("instance").val();
var sub = $("input[name=subject]").val().trim();
if (sub != "" && $("#prefix").val() != "")
$("input[name=subject]").val("[" + $("#prefix").val() + "] " + sub);
var test=$("#prefix").val();
if(test)
{
$('#text_editor_textarea').sceditor("instance").val(''+texta+'"\n#'+test+'');
}
});
}
});
}
Page 1 sur 2 • 1, 2
Sujets similaires
Créer un compte ou se connecter pour répondre
Vous devez être membre pour répondre.
Page 1 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum