Connexion

Récupérer mon mot de passe

Derniers sujets
» [Invision] Membres - 'cartes de visite'
par Croa-Croa Aujourd'hui à 18:51

» *RESOLU*[PhpBB2] Largeur cadre messagerie privé
par Milouze14 Aujourd'hui à 5:54

» *RESOLU*[PhpBB2] Supprimer zone commentaires des infos profil
par Milouze14 Hier à 17:06

» *RESOLU*[PhpBB3] Aide sur syntaxe JS
par Milouze14 Mar 10 Déc 2019 - 17:35

» *RESOLU*[ModernBB] Décoration !
par Milouze14 Mar 10 Déc 2019 - 16:55

» *RESOLU*[Invision] Vote négatif réservé aux modérateurs et administrateurs
par Milouze14 Mar 10 Déc 2019 - 16:12

» *RESOLU*[ModernBB] Cherche script participation et autres
par Milouze14 Lun 9 Déc 2019 - 17:59

» [Toutes versions]Ajouter un contenu visible que par les membres ayant répondu.
par oneandone Lun 9 Déc 2019 - 17:37

» *RESOLU*[PhpBB2] Supprimer champ de contact dans les infos de profil,
par Milouze14 Dim 8 Déc 2019 - 20:29

» *RESOLU*[Invision] Déplacement du bouton résolu (suite et fin?)
par Milouze14 Dim 8 Déc 2019 - 9:01

» Règlement de l'entraide Forumactif
par oneandone Sam 7 Déc 2019 - 13:58

» *RESOLU*[PhpBB3] Outil modération
par Milouze14 Jeu 5 Déc 2019 - 19:30

» *CORBEILLE*[Edge] Pub intrusive
par Milouze14 Mer 4 Déc 2019 - 3:55

» *RESOLU*[PhpBB3] Compte à rebours hebdomadaire permanent
par Milouze14 Mar 3 Déc 2019 - 19:02

» *RESOLU*[PhpBB2] Selecteur de style | placement
par Milouze14 Mar 3 Déc 2019 - 16:32

» *RESOLU*[PhpBB3] Retirer lien Signaler un abus
par Milouze14 Lun 2 Déc 2019 - 15:10

» *RESOLU*[PhpBB2] Largeur du forum
par Milouze14 Lun 2 Déc 2019 - 3:55

» [PhpBB2] Du relief sur mon annonce
par Milouze14 Dim 1 Déc 2019 - 15:24

» [Edge] Ajouter un bouton j'aime
par Milouze14 Sam 30 Nov 2019 - 16:04

» Histoire de Blondes Sans Fin
par Quad Daniel Ven 29 Nov 2019 - 8:46

*RESOLU*[PhpBB3] Préfixes sur titre limité à une catégorie

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

photoclic
photoclic
Milouzien

Messagephotoclic le Sam 23 Nov 2019 - 18:54

  • 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é:

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+'');
                        }
                      });
                  }
                });



Dernière édition par photoclic le Mer 27 Nov 2019 - 0:19, édité 2 fois
Milouze14
Milouze14
Fondateur

MessageMilouze14 le Sam 23 Nov 2019 - 18:56

Hello Serge,



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.
Franchement, je ne pense pas que cela soit possible, mais qui sait!!!!



photoclic
photoclic
Milouzien

Messagephotoclic le Sam 23 Nov 2019 - 18:59

Hello Philippe,

La première demande serait déjà bien.

photoclic
photoclic
Milouzien

Messagephotoclic le Sam 23 Nov 2019 - 19:04

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.

Milouze14
Milouze14
Fondateur

MessageMilouze14 le Sam 23 Nov 2019 - 19:16

Ok , merci Serge,
je regarde cela demain matin Merci

photoclic
photoclic
Milouzien

Messagephotoclic le Sam 23 Nov 2019 - 19:17

Pas de souci Phil.

Rien d'urgent.

Bonne soirée.

Milouze14
Milouze14
Fondateur

MessageMilouze14 le Sam 23 Nov 2019 - 19:23

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

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;
    });
 
});



photoclic
photoclic
Milouzien

Messagephotoclic le Sam 23 Nov 2019 - 19:27

Je vais essayer.

Tu avais ajouté au script initial que j'ai remis en haut l'histoire du tag ajouté en bas du message.


Milouze14
Milouze14
Fondateur

MessageMilouze14 le Sam 23 Nov 2019 - 19:39

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


photoclic
photoclic
Milouzien

Messagephotoclic le Sam 23 Nov 2019 - 19:44

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.



Milouze14
Milouze14
Fondateur

MessageMilouze14 le Sam 23 Nov 2019 - 19:58


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.


photoclic
photoclic
Milouzien

Messagephotoclic le Sam 23 Nov 2019 - 21:45

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à pasvuT

Merci pour ton travail.

Je ne pense pas pouvoir repasser avant demain soir, donc pas d'urgence  Phil.


Milouze14
Milouze14
Fondateur

MessageMilouze14 le Dim 24 Nov 2019 - 7:56

Coucou Serge,

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:

*RESOLU*[PhpBB3] Préfixes sur titre limité à une catégorie 120

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');


*RESOLU*[PhpBB3] Préfixes sur titre limité à une catégorie 211

Et voilou mon ami.


photoclic
photoclic
Milouzien

Messagephotoclic le Dim 24 Nov 2019 - 9:33

Bonjour Philippe,

Super boulot réalisé. Merci.

IL resterait si cela est possible:
. ajouter un style couleur de police et fond à la fenêtre disant "il faut choisir un tag": .
. 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.  

Le reste est top.

Milouze14
Milouze14
Fondateur

MessageMilouze14 le Dim 24 Nov 2019 - 9:41

Re Serge,

. 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!!
photoclic
photoclic
Milouzien

Messagephotoclic le Dim 24 Nov 2019 - 9:50

Re- Phil,

Ah mince dommage pour l'édition.
Où l'avoir sur tout les forums alors. ce serait mieux que de ne pas l'avoir.

Milouze14
Milouze14
Fondateur

MessageMilouze14 le Dim 24 Nov 2019 - 10:00

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 .

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();


Milouze14
Milouze14
Fondateur

MessageMilouze14 le Dim 24 Nov 2019 - 10:14

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:
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+'');
                            }
                          });
                      }
                    });
}



photoclic
photoclic
Milouzien

Messagephotoclic le Lun 25 Nov 2019 - 0:13

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


Milouze14
Milouze14
Fondateur

MessageMilouze14 le Lun 25 Nov 2019 - 6:26

Hello Serge,

@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+'');
                                }
                              });
                          }
                        });


photoclic
photoclic
Milouzien

Messagephotoclic le Lun 25 Nov 2019 - 9:43

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:

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"


Milouze14
Milouze14
Fondateur

MessageMilouze14 le Lun 25 Nov 2019 - 14:45

Re Serge,
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+'');
                                }
                              });
                          }
                        });
    }







photoclic
photoclic
Milouzien

Messagephotoclic le Lun 25 Nov 2019 - 15:10

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.


Milouze14
Milouze14
Fondateur

MessageMilouze14 le Lun 25 Nov 2019 - 15:20

Je comprends mieux ainsi Serge;) .

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+'');
                    }
                  });
              }
            });

    }


photoclic
photoclic
Milouzien

Messagephotoclic le Lun 25 Nov 2019 - 15:32

Nettement mieux quand je m'exprime mieux :-)

C'est parfait Philippe, et un grand merci l'ami pour ton efficacité et ta patience tape la

Milouze14
Milouze14
Fondateur

MessageMilouze14 le Lun 25 Nov 2019 - 15:35

De rien Serge,
Nettement mieux quand je m'exprime mieux :-)

N’est-ce pas mdr .

Je tâcherais d’éplucher un peut plus le mode édition et je te contacterais en MP si je trouve une solution.


Attend avant de clôturer Serge, j'ai peut être une idée.
photoclic
photoclic
Milouzien

Messagephotoclic le Lun 25 Nov 2019 - 15:39

Ok Merci

Milouze14
Milouze14
Fondateur

MessageMilouze14 le Mar 26 Nov 2019 - 16:52

Hello Serge,

tu peux tester ce script mais juste pour l'édition donc a remplacer:

Il faudra aussi donner le même style que le select :

Code:
#prefix

Car ce script à le select avec l'id:

Code:
#prefixesedit

Donc la c.s.s sera:

Code:
#prefix , #prefixesedit{TA CSS}


Mais avant tout ajouter la variable affichant le forum dans le template:posting_body

Affichage/Templates/Poster et messages privés/posting_body

Juste après la variable:
Code:
{ERROR_BOX}
Déposes ceci:
Code:
<a href="{U_VIEW_FORUM}"class="M14_forumname"style="display:none;">{FORUM_NAME}</a>


Penses a enregistrer puis à valider en cliquant respectivement sur   Enregistr puis Ajout





Code:
 if(location.href.match(/mode=editpost/))
{
//Préfixes sur titres nouveaux sujets

  $(function(){
  var test1=$('a.M14_forumname[href^="/f1-"]').length;
  var test2=$('a.M14_forumname[href^="/f4-"]').length;
  var test3=$('a.M14_forumname[href^="/f5-"]').length;
  var test4=$('a.M14_forumname[href^="/f6-"]').length;
  var test5=$('a.M14_forumname[href^="/f19-"]').length;
if((test1)||(test2)||(test3)||(test4)||(test5))
{  


 

  
    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="prefixesedit" 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 = $("#prefixesedit").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 != "" && $("#prefixesedit").val() != "")
    $("input[name=subject]").val("[" + $("#prefixesedit").val() + "] " + sub);
    var test=$("#prefixesedit").val();
                    if(test)
                    {
    $('#text_editor_textarea').sceditor("instance").val(''+texta+'"\n#'+test+'');
                    }
                  });
              }
            });
}
});
}





Ou les deux cumulés:
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+'');
                        }
                      });
                  }
                });

        }
     if(location.href.match(/mode=editpost/))
    {
    //Préfixes sur titres nouveaux sujets

      $(function(){
      var test1=$('a.M14_forumname[href^="/f1-"]').length;
      var test2=$('a.M14_forumname[href^="/f4-"]').length;
      var test3=$('a.M14_forumname[href^="/f5-"]').length;
      var test4=$('a.M14_forumname[href^="/f6-"]').length;
      var test5=$('a.M14_forumname[href^="/f19-"]').length;
    if((test1)||(test2)||(test3)||(test4)||(test5))
    {  


    

      
        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="prefixesedit" 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 = $("#prefixesedit").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 != "" && $("#prefixesedit").val() != "")
        $("input[name=subject]").val("[" + $("#prefixesedit").val() + "] " + sub);
        var test=$("#prefixesedit").val();
                        if(test)
                        {
        $('#text_editor_textarea').sceditor("instance").val(''+texta+'"\n#'+test+'');
                        }
                      });
                  }
                });
    }
    });
    }
photoclic
photoclic
Milouzien

Messagephotoclic le Mar 26 Nov 2019 - 23:04

Bonsoir Philippe,

Je crois que tu es arrivé au bout de ce script et j'en suis d'autant plus ravi, que tu pensais la chose impossible au début.
Bravo et un grand merci pour ce travail.

Cette fois tout fonctionne comme je l'imaginais au début  super

Merci encore Phil.
Je passe en résolu  tape la  

PS au cas où ce script intéresserait d'autres membres (et parce que je suis aussi puriste que Phil :-) ):
. tu as ajouté un pavé de trop dans les 2 cumulés.
. Il y a un " en trop avant le \n#' sur cette ligne en bas dans le mode édition.
Code:
$('#text_editor_textarea').sceditor("instance").val(''+texta+'"\n#'+test+'
. Dans le mode édition, dans var prefixes les _ pour remplacer les espaces n'ont pas été remis.

Milouze14
Milouze14
Fondateur

MessageMilouze14 le Mer 27 Nov 2019 - 4:00

Coucou Serge,
merci pour le retour mon ami et de rien hinhin .


Hello


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