[Réglé] Proposer un bouton "Résolu"

Forum pour discuter des extensions, du processus de validation, la traduction des extensions, pour rechercher des extensions...
Pas de support dans cette section

Modérateur: Equipe

Règles du forum
A lire impérativement : Règlement de phpBB-fr.com

Attention, aucun support n'est fourni dans cette section.

[Réglé] Proposer un bouton "Résolu"

Messagepar Jaec » 18 Avr 2018 à 20:50

Bonjour,

Je souhaite proposer un bouton "Résolu" sur mon forum Sans que les utilisateurs doivent passer par l'édition du premier message
Merci d'avance
@+
Modifié en dernier par Jaec le 19 Avr 2018 à 15:35, modifié 1 fois.
Jaec
Posteur néophyte
Posteur néophyte
 
Messages: 73
Enregistré le: 18 Avr 2018 à 13:34

Re: Proposer un bouton "Résolu"

Messagepar FoFa » 19 Avr 2018 à 09:22

Bonjour,

Il vous faut une extension.

Essayer de voir celle-ci qui vous permet de créer d'autres libellés tels que "en cours", "annulé", etc...

extensions-developpement-en-cours/sujet205598.html

Votre sujet a été déplacé par un membre de l'équipe.
Source : Utilisation
De retour parmi vous :wink:
FoFa
Resp. des supporters
Resp. des supporters
 
Messages: 10592
Enregistré le: 15 Nov 2008 à 18:04
Localisation: Auxonne

Re: Proposer un bouton "Résolu"

Messagepar Jaec » 19 Avr 2018 à 09:44

Bonjour et merci pour ta réponse,

j'ai tenté de l'installer, mais elle ne s'affiche PAS dans le gestionnaire d'extension (bien mis pourtant dans le répertoire /ext)

A noter, que, comme je l'ai précisé dans le début de mon sujet, il est important que mes utilisateurs n'est pas du tout a éditer le premier message pour mettre résolu

est ce que ce code marcherais sur PHPBB? (c un code a utiliser sur xooit normalement)
Code: Tout sélectionner
    <!-- Insertion du code de test des résolus -->
           <br />
           <img style="display: none;" id="resolu_loader" src="http://img.xooimage.com/files48/a/3/a/loader-1ba489c.gif" alt="Chargement en cours..." />
           <script type="text/javascript">
              /**
              *** Renvoi un objet XMLHttpRequest compatible tout navigateur, ou FALSE si xhr n'est pas disponible
              **/
              if(!getXhr) {
                 var getXhr = function() {
                    var xhr = null;
                    if(window.XMLHttpRequest) {
                       xhr = new XMLHttpRequest();
                    } else if(window.ActiveXObject) {
                       try {
                          xhr = new ActiveXObject("Msxml2.XMLHTTP");
                       } catch (e) {
                          xhr = new ActiveXObject("Microsoft.XMLHTTP");
                       }
                    } else {
                       xhr = false;
                    }
                    return xhr;
                 }
              }
             
              /**
              *** Convertis le texte en encodant les principaux caractères en entitées HTML
              *** Note: pas complet, mais suffisant
              **/
              if(!htmlentities) {
                 var htmlentities = function(wText) {
                    if(typeof(wText)!="string") wText=wText.toString();
                    wText=wText.replace(/&/g,"&amp;");
                    wText=wText.replace(/"/g,"&quot;");
                    wText=wText.replace(/</g,"&lt;");
                    wText=wText.replace(/>/g,"&gt;");
                    wText=wText.replace(/'/g,"’");
                    return wText;
                 }
              }
              if(getXhr) {
                 var itsOver = function(state) {
                    // On affiche l'icône de chargement
                    document.getElementById('resolu_loader').style.display = '';
                    // On charge les paramètres du message, en ouvrant la page qui permet d'éditer
                    // Note: remerciez Xooit qui à créé la variable S_TOPIC_FIRST_POST_ID pour éviter de lancer une requête en plus :-)
                    var xhr = getXhr();
                    xhr.open('GET','posting.php?mode=editpost&p={S_TOPIC_FIRST_POST_ID}',false);
                    xhr.send(null);
                    // On enregistre le résultat dans un élément DIV afin de pouvoir parcourir l'arbre en utilisant DOM (on ne peut pas utiliser responseXML car le texte renvoyé n'est pas 100% valide XML)
                    var tmp = document.createElement('div');
                    tmp.innerHTML = xhr.responseText;
                    // On parcours chaque élément du formulaire principal, et on enregistre chaque composant dans un élément d'un tableau
                   
                    // Gracias Troll
                    var forms = tmp.getElementsByTagName('form');
                    for(var i=0;i<forms.length;i++) {
                       if(forms[i].name == "post") {
                          var elements = forms[i].elements;
                          break;
                       }
                    }
                   
                    var length = elements.length;
                    var params = new Array();
                    for(var t=0; t<length; t++) {
                       // On vérifie que le champs ait un nom, et qu'il soit "checké" dans le cas où il s'agit d'un élément de type RADIO ou CHECKBOX
                       if(elements[t].name!='' && ((elements[t].type.toLowerCase()!='radio' && elements[t].type.toLowerCase()!='checkbox') || elements[t].checked)) {
                          if(elements[t].name != 'preview') {
                             if(elements[t].name=='subject') {
                                params[params.length] = 'subject='+encodeURIComponent((state) ? '[Résolu] '+itsOver.TOPIC_TITLE : itsOver.TOPIC_TITLE.replace(/^(\[[^]]+\])*\[Résolu\] /,'$1'));
                             } else {
                                params[params.length] = encodeURIComponent(elements[t].name)+'='+encodeURIComponent(elements[t].value);
                             }
                          }
                       }
                    }
                    // On ouvre une seconde requête XmlHttpRequest, qui cette fois servira à envoyer les paramètres d'édition (et donc à modifier le titre)
                    var xhr2 = getXhr();
                    xhr2.open('POST','posting.php',false);
                    // Cette ligne est obligatoire, car on envoi des données via la méthode POST
                    xhr2.setRequestHeader('Content-type','application/x-www-form-urlencoded');
                    // params.join('&') va transformer le tableau qui contenait les champs de formulaire en une chaine de caractère dont les champs seront séparés par un &
                    xhr2.send(params.join('&'));
                    // On retire l'icône de chargement, on switche le bouton, et on modifie le texte
                    document.getElementById('resolu_loader').style.display = 'none';
                    if(state) {
                       document.getElementById('resolu_button').src = 'http://img.xooimage.com/files21/e/5/6/resolu2-49a76b.gif';
                       document.getElementById('resolu_button').onclick = function() { itsOver(false); }
                       itsOver.TOPIC_TITLE = '[Résolu] '+itsOver.TOPIC_TITLE;
                    } else {
                       document.getElementById('resolu_button').src = 'http://img.xooimage.com/files28/6/9/e/resolu-49a768.gif';
                       document.getElementById('resolu_button').onclick = function() { itsOver(true); }
                       // On met à jour la variable itsOver.TOPIC_TITLE
                       itsOver.TOPIC_TITLE = itsOver.TOPIC_TITLE.replace(/^(\[[^]]+\])*\[Résolu\]/,'$1');
                    }
                    document.getElementById('resolu_topic_title').innerHTML = itsOver.TOPIC_TITLE;
                 }
                 // Affiche l'icône en fonction du titre
                 itsOver.TOPIC_TITLE = '{A_TOPIC_TITLE}'.replace('<'+'!-- google_ad_section_start --'+'>','').replace('<'+'!-- google_ad_section_end --'+'>','');
                 if(/^(\[[^]]+\])*\[Résolu\]/.test(itsOver.TOPIC_TITLE)) {
                    document.write('<img onclick="itsOver(false);" id="resolu_button" style="cursor: pointer;" src="L'ADRESSE DE TON IMAGE" alt="Retirer [Résolu]" />');
                 } else {
                    document.write('<img onclick="itsOver(true);" id="resolu_button" style="cursor: pointer;"src="L'ADRESSE DE TON IMAGE"  alt="Ajouter [Résolu]" />');
                 }
              }
       
           </script>
        <!-- Fin du code des résolus //--> 


merci d'avance
@+
Jaec
Posteur néophyte
Posteur néophyte
 
Messages: 73
Enregistré le: 18 Avr 2018 à 13:34

Re: Proposer un bouton "Résolu"

Messagepar Zoddo » 19 Avr 2018 à 09:58

Bonjour,

Non, il s'agit de code spécifique à xooit.

L'extension doit être placé dans le dossier ext/ernadoo/qte/ (penser à renommer le dossier qte-master)

Jaec a écrit:A noter, que, comme je l'ai précisé dans le début de mon sujet, il est important que mes utilisateurs n'est pas du tout a éditer le premier message pour mettre résolu
L'extension proposée est celle utilisée sur ce forum et qui ajoute le menu "Attributs de sujet" (présent en bas à droite du sujet)
[Doc] Installer une extension - [Extension] Post Models - [Recrutement] Équipe des Extensions
Si vous considérez votre requête comme résolue, merci d'ajouter l'attribut de sujet [Réglé]
Zoddo
Equipe site
Equipe site
 
Messages: 6997
Enregistré le: 16 Mar 2011 à 17:44
Localisation: Laval / Le Mans

Re: Proposer un bouton "Résolu"

Messagepar Jaec » 19 Avr 2018 à 15:34

L'extension proposée est celle utilisée sur ce forum et qui ajoute le menu "Attributs de sujet" (présent en bas à droite du sujet)


J'ai bloqué l'utilisation de la fonction "éditer" par les membres afin de ne pas "corrompre" les discussions, par conséquent les membres ne pourront pas mettre résolu, mais moi je pourrais le faire pour les sujets résolu

Merci
@+
Jaec
Posteur néophyte
Posteur néophyte
 
Messages: 73
Enregistré le: 18 Avr 2018 à 13:34

Re: Proposer un bouton "Résolu"

Messagepar Zoddo » 19 Avr 2018 à 16:01

ça ne devrait pas empêcher de pouvoir appliquer l'attribut à l'aide du menu en bas de page ;)
[Doc] Installer une extension - [Extension] Post Models - [Recrutement] Équipe des Extensions
Si vous considérez votre requête comme résolue, merci d'ajouter l'attribut de sujet [Réglé]
Zoddo
Equipe site
Equipe site
 
Messages: 6997
Enregistré le: 16 Mar 2011 à 17:44
Localisation: Laval / Le Mans


Retourner vers Discussions et recherches d'extensions

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Bing [Bot] et 1 invité

cron