Menú de moderación en "Lista de Temas" - 5/4/2018, 10:11 am
Menú de moderación en "Lista de Temas"
Los que hace este código es mostrar a los administradores y moderadores del foro un panel de moderación, facilitando la gestión o moderación de los temas. Demo: Código JS:
- Código:
var oMTConfig = { sInfo: '<!--' + '* Application: Actions of 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://punbb.forumeiros.com/forum & http://ajuda.forumeiros.com' + '* Copyright (c) 2014 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' + '-->', sErrorMsg: '', oTopicTitle: {}, sTopicHref: '', iTopicID: 0, sTopicTitle: '', sContent: '<a title="Ações da Moderação" class="ipsModMenu" href="#"> </a>', sMenu: '<ul style="display: none; position: absolute; z-index: 9999;" class="ipbmenu_content" id="topic_mod_menucontent">' + '<li style="z-index: 10000;"><a title="Renomear tópico" href="" id="t_rename" onclick="_rename_Topic();return false;" style="z-index: 10000;">Renomear tópico</a></li>' + //'<li style="z-index: 10000;"><a title="Destacar tópico" href="" id="t_pin" style="z-index: 10000;">Destacar tópico</a></li>' + //'<li style="z-index: 10000;"><a title="Mudar ícone" href="" id="t_icon" style="z-index: 10000;">Mudar ícone</a></li>' + '<li style="z-index: 10000;"><a title="Fechar tópico" href="" id="t_lock" style="z-index: 10000;">Bloquear tema</a></li>' + '<li style="z-index: 10000;"><a title="Mover tópico" href="" id="t_move" style="z-index: 10000;">Mover tema</a></li>' + '<li style="z-index: 10000;"><a title="Enviar para lixeira" href="" id="t_hide" style="z-index: 10000;">Enviar a la papelera</a></li>' + '<li style="z-index: 10000;"><a title="Excluir tópico" href="" id="t_delete" style="z-index: 10000;">Eliminar tema</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;' + '}' + '.ipsModMenu {' + 'background: url("http://i55.servimg.com/u/f55/18/17/62/92/modera10.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);' + 'display: inline-block;' + 'height: 15px;' + 'margin: 0 8px;' + 'text-indent: -2000em;' + 'vertical-align: middle;' + 'width: 15px;' + 'float: right;' + 'visibility: hidden;' + /*'margin-top: -6px;' +*/ '}' + '.ipbmenu_content {' + 'font-size: 12px;' + 'min-width: 85px;' + 'z-index: 2000;' + '}' + '.ipbmenu_content {' + 'background-color: #F7F9FB;' + 'border: 1px solid #D5DDE5;' + 'box-shadow: 0 6px 6px rgba(0, 0, 0, 0.3);' + '}' + '.ipbmenu_content li:first-child {' + 'padding-top: 0;' + '}' + '.ipbmenu_content li {' + 'border-bottom: 1px solid #D5DDE5;' + '}' + '.ipbmenu_content a {' + 'display: block;' + 'padding: 6px 10px;' + 'text-align: left;' + 'text-decoration: none;' + '}' + '.ipbmenu_content a:hover {' + 'background: none repeat scroll 0 0 #D5DDE5;' + '}' + '.cancel {' + 'color: #AD2930;' + 'font-size: 0.9em;' + 'font-weight: bold;' + '}' + '.input_text {' + 'background: none repeat scroll 0 0 #FFFFFF !important;' + 'border-color: #848484 #C1C1C1 #E1E1E1 !important;' + 'border-radius: 2px 2px 2px 2px !important;' + 'border-style: solid !important;' + 'border-width: 1px !important;' + 'padding: 4px !important;' + 'font: 13px helvetica,arial,sans-serif !important;' + '}' + '#rename-topic .button2 {' + /*'border-color: #212121;' + 'border-radius: 3px 3px 3px 3px;' + 'box-shadow: 0 1px 0 0 #5C5C5C inset, 0 2px 3px rgba(0, 0, 0, 0.2);' + 'border-style: solid;' + 'border-width: 1px;' +*/ 'cursor: pointer;' + 'padding: 4px 10px !important;' + 'min-width: 0 !important;' + 'font: 13px helvetica,arial,sans-serif !important;' + '}' + '.input_text:focus {' + 'border-color: #4E4E4E #7C7C7C #A3A3A3;' + 'box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);' + '}' + '#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 = 'Atenção!\n\n Ocorreu um erro ao editar o título, aguarde 10 segundos e tente novamente!'; oMTConfig.sSavingMsg = 'Atualizando o título do tópico, aguarde...'; oMTConfig.sDoneMsg = 'O título do tópico foi atualizado!'; $(function () { if (_userdata.user_level >= 1) { /* Forum versions! */ var phpBB2 = $('.bodyline'); var phpBB3 = $('#wrap'); var punbb = $('#pun-intro'); var invision = $('#ipbwrapper'); if (phpBB2.length) { oMTConfig.sTarget = '.forumline td.row3Right span.postdetails'; oMTConfig.sExpression0 = 'oClicked.parent().parent().parent().find("td a.topictitle");'; oMTConfig.sExpression1 = '$("#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 > span'; oMTConfig.sExpression0 = 'oClicked.parent().parents("dl.icon").find("dd.dterm a.topictitle");'; oMTConfig.sExpression1 = '$("#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 = '$(".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 = '$("#main-content .borderwrap .post:first", data).attr("id").split("p")[1];'; }; $(oMTConfig.sCSS).insertBefore('body'); $('body').append(oMTConfig.sInfo + oMTConfig.sMenu); $(oMTConfig.sTarget).append(oMTConfig.sInfo + oMTConfig.sContent); $('a.ipsModMenu').click(function () { var oClicked = $(this); var oTarget = $('#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 = $('input[name="tid"]').val(); $('#t_lock').attr('href', '/modcp?mode=lock&t=' + oMTConfig.iTopicID + '&tid=' + TID); $('#t_move').attr('href', '/modcp?mode=move&t=' + oMTConfig.iTopicID + '&tid=' + TID); $('#t_hide').attr('href', '/modcp?mode=trash&t=' + oMTConfig.iTopicID + '&tid=' + TID); $('#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); $(document).mousedown(function() { if(!oTarget.is(":hover")) { $(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="Atualizar" onclick="_rt_commit()" style="margin-right: 4px;">' + '<a title="Cancelar" class="cancel" id="rt_cancel" href="#" onclick="$(\'#rename-topic\').remove();oMTConfig.oTopicTitle.show();return false;">Cancelar</a>' + '</span>'; oMTConfig.oTopicTitle.before(sHtml); $('#rt_input').keydown(function (e){ if(e.keyCode == 13 && $('#rt_input').val() !== ''){ _rt_commit(); } }); } function _rt_commit() { var iPostID = 0, user_Msg = ''; var sNewTitle = $('#rt_input').val(); if (sNewTitle == '') return false; $('body').append('<div id="ipsGlobalNotification"><div class="popupWrapper"><div class="popupInner"><div class="ipsPad">' + oMTConfig.sSavingMsg + '</div></div></div></div>'); $('#rename-topic').css('opacity', '0.4'); $.get(oMTConfig.sTopicHref, function(data) { iPostID = eval(oMTConfig.sExpression1); }).done(function(){ $.get("/post?p=" + iPostID + "&mode=editpost", function(data) { user_Msg = $(data).find('#text_editor_textarea[name="message"]').val(); }).done(function(){ $.post("/post?p=" + iPostID + "&mode=editpost", { subject: sNewTitle, message: user_Msg, edit_reason: 'Título anterior: ' + oMTConfig.sTopicTitle, attach_sig: '1', notify: "0", post: 'Enviar' }).done(function(){ $('#ipsGlobalNotification').remove(); $('#rename-topic').remove(); oMTConfig.oTopicTitle.show().text(sNewTitle); $('body').append('<div id="ipsGlobalNotification"><div class="popupWrapper"><div class="popupInner"><div class="ipsPad">' + oMTConfig.sDoneMsg + '</div></div></div></div>'); setTimeout(function() { $('#ipsGlobalNotification').remove(); }, 4000); }).fail(function(){ $('#ipsGlobalNotification').remove(); oMTConfig.oTopicTitle.show(); alert(oMTConfig.sErrorMsg); }); }).fail(function(){ $('#ipsGlobalNotification').remove(); oMTConfig.oTopicTitle.show(); alert(oMTConfig.sErrorMsg); }); }).fail(function(){ $('#ipsGlobalNotification').remove(); oMTConfig.oTopicTitle.show(); alert(oMTConfig.sErrorMsg); }); }
|