Sujet: [AWESOMEBB] Outils de modération rapide Mer 10 Fév 2021 - 22:49
Hello,
Je viens vous présenter une astuce qui vous permettra de rapidement mettre la mains sur quelques outils de modération sans avoir à changer de page plusieurs fois. Ceci peut être pratique si vous faite de la modération à la suite de messages privés ou via la demande de l'un de vos membres quand vous êtes sur la chatbox par exemple. A l'image ça donne ça :
Et dans la pratique il va falloir commencer par aller dans la gestion des codes javascript
Modules/HTML&JAVASCRIPT/Gestion des codes Javascript/Créer un nouveau Javascript
Mettre un titre explicite. Cocher sur toutes les pages.
Déposer ceci:
Code:
jQuery(function($){ var tid; var modtool = function(){ var modbtn = '<span id="modbtn"><i class="material-icons">settings</i></span>'; $('body').append(modbtn); tid = _navbar.logout.url.match(/tid=[a-z0-9]+/); generatedtool(); }, generatedtool = function(){ var tools = '<article id="modtool">\ <h2>Rechercher un sujet</h2>\ <div class="modtool">\ </div>\ </article>'; $('#modbtn').click(function(event){ event.preventDefault(); $(this).toggleClass('active'); if(!$('#modtool').length){ $('body').append(tools); $('.modtool').append('<input type="text" name="topic_search"><button id="search_btn"><i class="material-icons">check</i></button>'); $('#search_btn').click(function(event){ event.preventDefault(); var v = '/search?search_keywords='+encodeURI($('input[name="topic_search"]').val()); if(v == "") errornotif("Veuillez entrer un titre de sujet !"); else findmessage(v); }); }else $('#modtool').toggleClass('hidden'); if(location.pathname == "/privmsg" && location.search.match("mode=read") && $(this).is('.active')) user_history(); });
},user_history = function(){ var s = $('.block-post-footer-details').text(), u = s.match(/[a-z]{3,15}/i); if(!$('#user_history').length) $('.modtool').append('<br/>Ou trouver les derniers sujets ouverts par <a id="user_history" href="/st/'+u+'" alt="Derniers sujets de'+u+'">'+u+'</a>'); $('#user_history').click(function(event){ event.preventDefault(); var v = $(this).attr('href'); findmessage(v); }); }, findmessage = function(v){ for (var i = 0; i < 4; i++) { switch(i){ case 0: if(!$('#title'+i).length) $('<p id="title'+i+'"></p>').appendTo('.modtool'); $('#title0').load(v+' .topictitle:nth-child(1)', function(){ if($('#title0').html() == "") errornotif("Aucun sujet ne correspond à votre recherche"); }); break; case 1: if(!$('#title'+i).length){ $('<p id="title'+i+'"></p>').appendTo('.modtool'); } $('#title'+i).load(v+' .topictitle:nth-child(2)'); break; case 2: if(!$('#title'+i).length){ $('<p id="title'+i+'"></p>').appendTo('.modtool'); } $('#title'+i).load(v+' .topictitle:nth-child(3)'); break; case 3: if(!$('#title'+i).length){ $('<p id="title'+i+'"></p>').appendTo('.modtool'); } $('#title'+i).load(v+' .topictitle:nth-child(4)', function(){ $('.topictitle').each(function(){ var topic_id = $(this).attr('href').match(/[0-9]/); $(this).after('<span class="tools"><a class="btn btn-flat" href="/modcp?mode=delete&t='+topic_id+'&'+tid+'" title="Supprimer le sujet"><i class="material-icons">delete_forever</i></a> \ <a class="btn btn-flat" href="/modcp?mode=trash&t='+topic_id+'&'+tid+'" title="Envoyer à la corbeille"><i class="material-icons">delete</i></a> \ <a class="btn btn-flat" href="/modcp?mode=unlock&t='+topic_id+'&'+tid+'" title="Déverrouiller le sujet"><i class="material-icons">lock_open</i></a> \ <a class="btn btn-flat" href="/modcp?mode=lock&t='+topic_id+'&'+tid+'" title="Verrouiller le sujet"><i class="material-icons">lock</i></a> </span>'); $('.btn').click(function(event){ event.preventDefault(); var action = $(this).attr('href'); $.get(action).done(function(){ succesnotif("l'action que vous avez demandé a aboutie"); }); }); }); }); } } }, errornotif = function(txt){ if(!$('.errornotif').length) $('.modtool').after('<div class="errornotif"><i class="material-icons">info</i>'+txt+'</div>'); setTimeout(function(){$('.errornotif').remove();}, 3000); }, succesnotif = function(txt){ if(!$('.succesnotif').length) $('.modtool').after('<div class="succesnotif"><i class="material-icons">info</i>'+txt+'</div>'); setTimeout(function(){$('.succesnotif').remove();}, 3000); };
Le javascript ajoute la roue sur laquelle vous pouvez cliquer pour rechercher un sujet. Si vous êtes en train de lire un MP alors vous avez aussi un lien pour trouver les derniers sujets ouverts par le membre qui vous a envoyer le message. Le javascript limite la recherche à 3 sujets seulement, qui une fois trouvés peuvent être corbeillés, verrouillés ou déverrouillés sans quitter la page. Quant au petit plus il vous mène tout simplement en bas de page du sujet pour accéder à plus d'outils.
J'ai minifié le CSS pour ne pas vous faire peur avec 173 lignes de codes, toutefois si vous préfèrez je vous met quand même toutes ces lignes sous spoiler.