Membres connectés récemment
[PHPBB3] Passer un sujet en note ou normal sans éditer le sujet
2 participants
Page 1 sur 1 • Partagez
- Version du forum :PHPBB3
- Templates modifiés :oui
- Navigateur :Firefox
Bonjour à tous les milouziens
Actuellement pour mettre un sujet en note ou en normal (ou en annonce ou annonce global) il est nécessaire d'éditer le sujet.
Serait-il possible de passer un sujet en note ou normal sans éditer le sujet pour les admins et modérateurs, via
la liste des sujets par exemple.
Peut-être intégrer cela dans le script outil de modértion que j'utilise actuellement sur les sous forum:
Merci pour votre aide.
Actuellement pour mettre un sujet en note ou en normal (ou en annonce ou annonce global) il est nécessaire d'éditer le sujet.
Serait-il possible de passer un sujet en note ou normal sans éditer le sujet pour les admins et modérateurs, via
la liste des sujets par exemple.
Peut-être intégrer cela dans le script outil de modértion que j'utilise actuellement sur les sous forum:
- Code:
/***outils de modération via la liste des sujets
* Application: Actions de moderation.
* Description: This application shows a shortcut menu for the moderation in the list of topics.
* Version: 1.03182014-jq1.9.1 - (Dodekatheon / 2) + (Hermes = Zeus + Maia)
* Made and Optimizations by JScript - 2014/03/18
* View more in: http://ajuda.forumeiros.com
* Copyright (c) 2013 JScript <jscriptbrasil at live dot com>
* This work is free. You can redistribute it and/or modify it
* under the terms of the WTFPL, Version 2
*/
/***
* System Defined Variables - Do not edit if you don't know!
***/
var oMTConfig = {
sErrorMsg: '',
oTopicTitle: {},
sTopicHref: '',
iTopicID: 0,
sTopicTitle: '',
sContent:
'<a title="Actions de modération" class="ipsModMenu" href="#"> </a>',
sMenu:
'<ul style="display: none; position: absolute; z-index: 9999;margin-top: -135px;" class="ipbmenu_content" id="topic_mod_menucontent">' +
'<li style="z-index: 10000;"><a title="Renommer le sujet" href="" id="t_rename" onclick="_rename_Topic();return false;" style="z-index: 10000;">Renommer le sujet</a></li>' +
'<li style="z-index: 10000;"><a title="Verrouiller le sujet" href="" id="t_lock" style="z-index: 10000;">Verrouiller</a></li>' +
'<li style="z-index: 10000;"><a title="Déplacer le sujet" href="" id="t_move" style="z-index: 10000;">Déplacer</a></li>' +
'<li style="z-index: 10000;"><a title="Envoyer vers la corbeille" href="" id="t_hide" style="z-index: 10000;">Envoyer Vers les BEST</a></li>' +
'<li style="z-index: 10000;"><a title="Supprimer le sujet" href="" id="t_delete" style="z-index: 10000;">Supprimer </a></li>' + '
<li style="z-index: 10000;"><a href="/search?search_id=activetopics">Sujets actifs du jour</a></li>' +'<li style="z-index: 10000;"><a href="/search?search_id=newposts"title="Voir les nouveaux messages depuis votre dernière visite">Voir les nouveaux messages....</a></li>' +'
</ul>',
sCSS:
'<style>' +
/*'#rename-topic {' +
'display: block;' +
'}' +*/
'.statused tr:hover > .tcr .ipsModMenu, ' +
'.forumline tr td:hover > .postdetails .ipsModMenu, ' +
'ul.topiclist.topics.bg_none dl.icon:hover > .lastpost .ipsModMenu, '+
'table.ipbtable tbody tr:hover > td.row1.lastaction .ipsModMenu{' +
'visibility: visible;' +
'}' +
'a.ipsModMenu.menu_active{' +
'background: url("https://i.servimg.com/u/f31/19/32/37/01/icon_d10.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);' +
'visibility: visible;' +
'}'+
'.ipsModMenu {' +
'background: url("https://i.servimg.com/u/f18/11/26/21/37/gear10.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);' +
'display: inline-block;' +
'height: 20px;' +
'width: 20px;' +
'text-indent: -2000em;' +
'float: right;' +
'visibility: hidden;' +
'display: block;' +
'}' +
'.ipbmenu_content
{' +
'font-size: 12px;' +
'padding: 5px !important;' +
'background-color: #2E2E2E;' +
'border: 1px solid #D5DDE5;' +
'box-shadow: 2px 2px 5px #333;' +
'}' +
'.ipbmenu_content li:first-child {' +
'padding-top: 0;' +
'}' +
'.ipbmenu_content li {' +
'border-bottom: 1px solid #D5DDE5;' +
'list-style-type: none !important;' +
'}' +
'.ipbmenu_content a {' +
'display: block;' +
'padding: 6px 10px;' +
'font-size:12px;'+
'text-align: left;' +
'text-decoration: none !important;' +
'transition: all 0.5s ease-in;' +
'}' +
'.ipbmenu_content a:hover {' +
'color:#B24926;' +
'background: none repeat scroll 0 0 #D5DDE5; ' +
'}' +
'.cancel {' +
'color: #AD2930;' +
'font-size: 0.9em;' +
'font-weight: bold;' +
'text-decoration: none ;' +
'transition: all 0.5s ease-in;' +
'}' +
'.cancel:hover
{' +
'color: #B24926;' +
'text-decoration: none !important;' +
'}' +
'.input_text {' +
'background: none repeat scroll 0 0 #ccc !important;' +
'color:#B24926;'+
'padding: 4px !important;' +
'border-radius:5px;' +
'font: 13px !important;' +
'transition: all 0.5s ease-in;' +
'}' +
'#rename-topic
{' +
'color: #AD2930 !important;' +
'cursor: pointer;' +
'border:none !important;' +
'background:transparent !important;' +
'padding: 4px 10px !important;' +
'min-width: 0 !important;' +
'font: 13px !important ;' +
'}' +
' input#rt_submit.button2
{' +
'color: #AD2930 !important;' +
'cursor: pointer;' +
'border:none !important;' +
'background:transparent !important;' +
'background-image:none !important; ' +
'padding: 4px 10px !important;' +
'min-width: 0 !important;' +
'font: 13px !important ;' +
'}' +
'.input_text:focus {' +
'border: none !important;' +
'box-shadow: 2px 2px 5px #333;' +
'}' +
'#ipsGlobalNotification {' +
'font-weight: bold;' +
'left: 50%;' +
'margin-left: -250px;' +
'position: fixed;' +
'text-align: center;' +
'top: 20px;' +
'z-index: 10000;' +
'}' +
'.popupWrapper {' +
'background-color: rgba(70, 70, 70, 0.6);' +
'border-radius: 4px 4px 4px 4px;' +
'box-shadow: 0 12px 25px rgba(0, 0, 0, 0.7);' +
'padding: 4px;' +
'}' +
'.popupInner {' +
'background: none repeat scroll 0 0 #FFFFFF;' +
'box-shadow: 0 0 3px rgba(0, 0, 0, 0.4);' +
'overflow-x: hidden;' +
'overflow-y: auto;' +
'width: 500px;' +
'}' +
'.ipsPad {' +
'padding: 9px;' +
'}' +
'</style>',
sTarget: '',
sSearch: '',
sExpression0: '',
sExpression1: ''
};
/***
* User Definition Variables
***/
oMTConfig.sErrorMsg = 'Attention! \ n\ n Une erreur est survenue lors de l\'édition du titre, attendez 10 secondes et essayez à nouveau!';
oMTConfig.sSavingMsg = 'Mise à jour du titre du sujet attente ...';
oMTConfig.sDoneMsg = 'Le titre du sujet a été mis à jour!';
window.onload = function() { //jQuery(function () {
if (_userdata.user_level >= 1) {
/* Forum versions! */
var phpBB2 = jQuery('.bodyline');
var phpBB3 = jQuery('#wrap');
var punbb = jQuery('#pun-intro');
var invision = jQuery('#ipbwrapper');
if (phpBB2.length) {
oMTConfig.sTarget = '.forumline td.row3Right span.postdetails';
oMTConfig.sExpression0 = 'oClicked.parent().parent().parent().find("td a.topictitle");';
oMTConfig.sExpression1 = 'jQuery("#page-body .forumline .postbody:first", data).parents("tr:eq(1)").attr("id").split("p")[1];'
} else if(phpBB3.length) {
oMTConfig.sTarget = 'ul.topiclist.topics.bg_none dd.lastpost ';
oMTConfig.sExpression0 = 'oClicked.parent().parents("dl.icon").find("dd.dterm a.topictitle");';
oMTConfig.sExpression1 = 'jQuery("#main-content .post:first", data).attr("id").split("p")[1];';
} else if(punbb.length) {
oMTConfig.sTarget = '.statused td.tcr';
oMTConfig.sExpression0 = 'oClicked.parents("tr").find(".tcl.tdtopics a.topictitle");';
oMTConfig.sExpression1 = 'jQuery(".posthead:first", data).attr("id").split("p")[1];';
} else if(invision.length) {
oMTConfig.sTarget = 'table.ipbtable tbody td.row1.lastaction';
oMTConfig.sExpression0 = 'oClicked.parents("tr").find("td a.topictitle");';
oMTConfig.sExpression1 = 'jQuery("#main-content .borderwrap .post:first", data).attr("id").split("p")[1];';
};
jQuery(oMTConfig.sCSS).insertBefore('body');
jQuery('body').append(oMTConfig.sMenu);
jQuery(oMTConfig.sTarget).append(oMTConfig.sContent);
jQuery('a.ipsModMenu').click(function () {
var oClicked = jQuery(this);
var oTarget = jQuery('#topic_mod_menucontent');
if (oTarget[0].style.display == 'none') {
oClicked.addClass('menu_active');
oMTConfig.oTopicTitle = eval(oMTConfig.sExpression0);
oMTConfig.sTopicHref = oMTConfig.oTopicTitle.attr('href');
oMTConfig.iTopicID = oMTConfig.sTopicHref.substring(2, oMTConfig.sTopicHref.indexOf("-")); // .split(/[\/t-]/)[2]; <- More fast???
oMTConfig.sTopicTitle = oMTConfig.oTopicTitle.text();
var TID = jQuery('input[name="tid"]').val();
jQuery('#t_lock').attr('href', '/modcp?mode=lock&t=' + oMTConfig.iTopicID + '&tid=' + TID);
jQuery('#t_move').attr('href', '/modcp?mode=move&t=' + oMTConfig.iTopicID + '&tid=' + TID);
jQuery('#t_hide').attr('href', '/modcp?mode=trash&t=' + oMTConfig.iTopicID + '&tid=' + TID);
jQuery('#t_delete').attr('href', '/modcp?mode=delete&t=' + oMTConfig.iTopicID + '&tid=' + TID);
oTarget
.css({
'left': (oClicked.offset().left + oClicked.outerWidth()) - oTarget.outerWidth(),
'top': oClicked.offset().top + oClicked.outerHeight()
})
.fadeIn(400);
jQuery(document).mousedown(function() {
if(!oTarget.is(":hover")) {
jQuery(document).unbind('mousedown');
oClicked.removeClass('menu_active');
oTarget.fadeOut(400);
}
});
} else {
oClicked.removeClass('menu_active');
oTarget.fadeOut(400);
}
return false;
});
}
}; // });
function _rename_Topic() {
oMTConfig.oTopicTitle.hide();
var sHtml =
'<span id="rename-topic">' +
'<input type="text" maxlength="150" size="50" class="input_text" value="' + oMTConfig.sTopicTitle + '" id="rt_input" style="width: 56%; margin-right: 4px;">' +
'<input type="submit" id="rt_submit" class="button2" value="Enregistrer" onclick="_rt_commit()" style="margin-right: 4px;">' +
'<a title="Annuler" class="cancel" id="rt_cancel" href="#" onclick="jQuery(\'#rename-topic\').remove();oMTConfig.oTopicTitle.show();return false;">Annuler</a>' +
'</span>';
oMTConfig.oTopicTitle.before(sHtml);
jQuery('#rt_input').keydown(function (e){
if(e.keyCode == 13 && jQuery('#rt_input').val() !== ''){
_rt_commit();
}
});
}
function _rt_commit() {
var iPostID = 0, user_Msg = '';
var sNewTitle = jQuery('#rt_input').val();
if (sNewTitle == '') return false;
jQuery('body').append('<div id="ipsGlobalNotification"><div class="popupWrapper"><div class="popupInner"><div class="ipsPad">' + oMTConfig.sSavingMsg + '</div></div></div></div>');
jQuery('#rename-topic').css('opacity', '0.4');
jQuery.get(oMTConfig.sTopicHref, function(data) {
iPostID = eval(oMTConfig.sExpression1);
}).done(function(){
jQuery.get("/post?p=" + iPostID + "&mode=editpost", function(data) {
user_Msg = jQuery(data).find('#text_editor_textarea[name="message"]').val();
}).done(function(){
jQuery.post("/post?p=" + iPostID + "&mode=editpost", {
subject: sNewTitle,
message: user_Msg,
edit_reason: '',
attach_sig: '1',
notify: "0",
post: 1
}).done(function(){
jQuery('#ipsGlobalNotification').remove();
jQuery('#rename-topic').remove();
oMTConfig.oTopicTitle.show().text(sNewTitle);
jQuery('body').append('<div id="ipsGlobalNotification"><div class="popupWrapper"><div class="popupInner"><div class="ipsPad">' + oMTConfig.sDoneMsg + '</div></div></div></div>');
setTimeout(function() {
jQuery('#ipsGlobalNotification').remove();
}, 4000);
}).fail(function(){
jQuery('#ipsGlobalNotification').remove();
oMTConfig.oTopicTitle.show();
alert(oMTConfig.sErrorMsg);
});
}).fail(function(){
jQuery('#ipsGlobalNotification').remove();
oMTConfig.oTopicTitle.show();
alert(oMTConfig.sErrorMsg);
});
}).fail(function(){
jQuery('#ipsGlobalNotification').remove();
oMTConfig.oTopicTitle.show();
alert(oMTConfig.sErrorMsg);
});
}
Merci pour votre aide.
Re Serge,
alors ce ne sera pas possible de la faire directement via la liste des sujets.
Par contre on peut mettre un lien visible que par les membres ayant droits de modération à côté du sujet (dans la liste des sujets).
Tu auras après chaque sujet , le lien menant directement à l'édition du premier message et une ancre amènera le membre ayant des droits de modération à ce niveau:
Cette ancre sera modifiable sur la hauteur négative dans le template.
La c.s.s est elle aussi modifiable, on peut afficher le lien juste au survol de la cellule
ou alors le laisser affiché de façon permanente:
Si affichage au survol:
Si de façon permanente:
On va donc intervenir dans template posting_body
Affichage/Templates/Poster et messages privés/posting_body
Recherches ceci (ligne 169 environ):
Juste avant déposes ceci:
C'est ici qu'il faudra modifier la valeur négative.
Plus bas recherches cette variable:
Supprimes et remplaces par:
Penser a enregistrer puis à valider en cliquant respectivement sur puis
Dans le template topics_list_box:
Affichage/Templates/Général/topics_list_box
Il me semble que tu as déjà modifié cette partie, mais je le donne tout de même pour d'autres membres...
Recherches cette variable:
Supprimes et remplaces par:
Penser a enregistrer puis à valider en cliquant respectivement sur puis
Et enfin le script:
Modules/HTML&JAVASCRIPT/Gestion des codes Javascript/Créer un nouveau Javascript
Mettre un titre explicite.
Cocher sur les sous-forums
Déposer ceci:
Penser a cliquer sur le bouton
Et voilou .
alors ce ne sera pas possible de la faire directement via la liste des sujets.
Par contre on peut mettre un lien visible que par les membres ayant droits de modération à côté du sujet (dans la liste des sujets).
Tu auras après chaque sujet , le lien menant directement à l'édition du premier message et une ancre amènera le membre ayant des droits de modération à ce niveau:
Cette ancre sera modifiable sur la hauteur négative dans le template.
La c.s.s est elle aussi modifiable, on peut afficher le lien juste au survol de la cellule
ou alors le laisser affiché de façon permanente:
Si affichage au survol:
- Code:
.M14_edit_moder{margin-left:5px;display:none;}
dl.icon:hover .M14_edit_moder{display:inline-block;}
Si de façon permanente:
- Code:
.M14_edit_moder{margin-left:5px;}
On va donc intervenir dans template posting_body
Affichage/Templates/Poster et messages privés/posting_body
Recherches ceci (ligne 169 environ):
- Code:
<div class="panel row2">
<div class="inner">
<span class="corners-top"><span></span></span>
<fieldset class="submit-buttons">
Juste avant déposes ceci:
- Code:
<a id="M14_topicChoice" style="position: relative;top: -30px;"></a>
C'est ici qu'il faudra modifier la valeur négative.
Plus bas recherches cette variable:
- Code:
{S_TYPE_TOGGLE}
Supprimes et remplaces par:
- Code:
<span class="M14_choice-type">{S_TYPE_TOGGLE}</span>
Penser a enregistrer puis à valider en cliquant respectivement sur puis
Dans le template topics_list_box:
Affichage/Templates/Général/topics_list_box
Il me semble que tu as déjà modifié cette partie, mais je le donne tout de même pour d'autres membres...
Recherches cette variable:
- Code:
{topics_list_box.row.TOPIC_TYPE}
Supprimes et remplaces par:
- Code:
<span class="M14_type_post">{topics_list_box.row.TOPIC_TYPE}</span>
Penser a enregistrer puis à valider en cliquant respectivement sur puis
Et enfin le script:
Modules/HTML&JAVASCRIPT/Gestion des codes Javascript/Créer un nouveau Javascript
Mettre un titre explicite.
Cocher sur les sous-forums
Déposer ceci:
- Code:
$(function(){
var moder=$('a[href^="/modcp?f"]').length;
$('li[class^="row"]').find('.M14_type_post').each(function(){
var $this=$(this);
if(moder)
{
var link=$(this).closest('dd').find('a.topictitle[href^="/t"]').attr('href');
$.get(link, function(data){
var edition= $(data).find('div[class*="post--"]:first').find('a[href$="mode=editpost"]').attr('href');
$this.closest('dd').find('.span-tab').after('<span class="M14_edit_moder"><a href="'+edition+'#M14_topicChoice"class="M14_edit_moder_edit">Modifier </a></span>');
});}});});
Penser a cliquer sur le bouton
Et voilou .
Le script fonctionne Phil et j'opte pour l'affichage au survol comme pour pour autre bouton de modération.
Mais je n'arrive pas à réaliser 2 choses:
. Régler le top de -30px car avec la prévisualisation, impossible d'arriver en bas de page où il faut.
. Placer le mot modifier à côté de mon autre bouton.
D'ailleurs mon bouton actuel de modération ne se place pas au même endroit dans les annonces et notes et dans la liste des sujets. un problème de css que je n'arrive pas à régler.
Serait-il aussi possible de remplacer le mot modifier par une image?
Celle-ci par exemple:
https://i.servimg.com/u/f31/19/32/37/01/gear1010.png
L'idéal serait un positionnement ainsi:
Mais je n'arrive pas à réaliser 2 choses:
. Régler le top de -30px car avec la prévisualisation, impossible d'arriver en bas de page où il faut.
. Placer le mot modifier à côté de mon autre bouton.
D'ailleurs mon bouton actuel de modération ne se place pas au même endroit dans les annonces et notes et dans la liste des sujets. un problème de css que je n'arrive pas à régler.
Serait-il aussi possible de remplacer le mot modifier par une image?
Celle-ci par exemple:
https://i.servimg.com/u/f31/19/32/37/01/gear1010.png
L'idéal serait un positionnement ainsi:
- Spoiler:
Hello Serge,
pour placer le script à coté de l'outil de modération et mettre une image
en remplacement du texte:
Il ne te reste plus qu'à équilibrer les deux outils de modération Serge avec la c.s.s.
Pour l'ancre:
Essayes ce la positionner après cette la première div ici:
Comme ceci:
pour placer le script à coté de l'outil de modération et mettre une image
en remplacement du texte:
- Code:
$(function(){
var moder=$('a[href^="/modcp?f"]').length;
$('li[class^="row"]').each(function(){
var $this=$(this);
if(moder)
{
var img="https://i.servimg.com/u/f31/19/32/37/01/gear1010.png";
var link=$(this).find('a.topictitle[href^="/t"]').attr('href');
$.get(link, function(data){
var edition= $(data).find('div[class*="post--"]:first').find('a[href$="mode=editpost"]').attr('href');
$this.find('.lastpost').after('<span class="M14_edit_moder"><a href="'+edition+'#M14_topicChoice"class="M14_edit_moder_edit"><img src="'+img+'"/></a></span>');
});}});});
Il ne te reste plus qu'à équilibrer les deux outils de modération Serge avec la c.s.s.
Pour l'ancre:
- Code:
<a id="M14_topicChoice" style="position: relative;top: -30px;"></a>
Essayes ce la positionner après cette la première div ici:
- Code:
<div class="panel row2">
<div class="inner">
<span class="corners-top"><span></span></span>
<fieldset class="submit-buttons">
Comme ceci:
- Code:
<div class="panel row2">
<a id="M14_topicChoice" style="position: relative;top: -30px;"></a>
<div class="inner">
<span class="corners-top"><span></span></span>
<fieldset class="submit-buttons">
Sujets similaires
Créer un compte ou se connecter pour répondre
Vous devez être membre pour répondre.
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum