Poster un sujet directement verrouillé

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

  • 0

Astuce Poster un sujet directement verrouillé

Message par Self Dim 19 Oct 2014 - 11:50

Poster un sujet directement verrouillé

Avant toute modification, assurez-vous que votre forum respecte les conditions suivantes :
- Ne pas avoir installé l'astuce Redirection immédiate ;
- Vous devez être le fondateur du forum pour avoir accès aux templates de celui-ci ;
- Votre forum doit être en version PhpBB2, PhpBB3, PunBB ou Invision .

Cette astuce vous permettra de choisir de verrouiller directement un sujet en le postant :

Poster un sujet directement verrouillé 20-03-13

Modifications du template


Panneau d'administration  Affichage  Templates - Poster & messages privés

Editez le template posting_body en cliquant sur l'icône edit face au template correspondant.

Tout à la fin du template, après la variable {SCEDITOR}, insérez le code suivant :

Code:
<script type="text/javascript">
  (function($){
      var mode = $('form[name="post"]').find('input[name="mode"]').attr('value'), l = $('#lock'), lvl = _userdata.user_level;
      if(mode == 'newtopic'){
        if(lvl == 0 || lvl > 2) l.parent().remove();
        $('form[name="post"]').on('submit', function(){ if(l.is(':checked')) sessionStorage.setItem('lock', true); sessionStorage.setItem('tid', $('input[name="tid"]').val()); })
      }else{ l.parent().remove(); }
  })(jQuery);
</script>

Ensuite, recherchez (CTRL + F) la ligne suivante <!-- BEGIN switch_html_checkbox --> puis ajouter le code (en fonction de la version de votre forum) :

  • Si votre forum est en version PhpBB2, ajoutez le code suivant juste après :

    Code:
    <tr>
      <td colspan="2"><input id="lock" type="checkbox" name="lock" /> <span class="gen">Verrouiller le sujet</span></td>
    </tr>

  • Si votre forum est en version PhpBB3, PunBB ou Invision, ajoutez le code suivant juste après :

    Code:
    <label><input id="lock" type="checkbox" name="lock" />&nbsp;Verrouiller le sujet<br /></label>


N’oubliez pas de publier le template en cliquant sur Ajout .

Création du script


Panneau d'administration  Modules  HTML & JAVASCRIPT - Gestion des codes Javascript

Assurez-vous que la gestion des codes Javascript soit activée, puis créez un nouveau javascript ayant pour titre "Verrouiller un sujet" et pour placement "Sur toutes les pages" (plus d'informations sur la gestion des scripts).

Code:
if (location.pathname == "/post") jQuery(function($) {
  if (!window.localStorage || !sessionStorage.lock) return;
  var a = $('a[href^="/viewtopic"]');
  if (a.length != 0) {
      var topic = a.attr('href').match(/t=[0-9]*/);
      var lock = sessionStorage.getItem('lock');
      var tid = sessionStorage.getItem('tid');
      if (lock == 'true') {
        $.get('/modcp?mode=lock&' + topic + '&tid=' + tid).done(function() {
            console.log('done');
            sessionStorage.removeItem('lock');
        });
      }
  } else {
      $("#lock").prop("checked", true).click(function() {
        sessionStorage.removeItem('lock');
      });
  }
});

N'oubliez pas de cliquer sur le bouton Valider pour sauvegarder les modifications.

Self

Self
Membre actif

Masculin
Messages : 3819
Inscrit(e) le : 13/06/2013

https://selfback.forumactif.com/
Self a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum