Ações de moderação com menu dropdown
2 participantes
Fórum dos Fóruns :: Ajuda e atendimento ao utilizador :: Questões sobre códigos :: Questões resolvidas sobre códigos Javascript e jQuery
Página 1 de 1
Ações de moderação com menu dropdown
Detalhes da questão
Endereço do fórum: http://beta.masterforum.biz/
Versão do fórum: Modernbb
Descrição
Resolvi aplicar um tutorial que vi no ajuda.forumeiros. é que tem sempre um problema rsrs.
Não funcionou, porém peguei um código de um tópico que faz a mesma aplicação só que ele criou 2 botões no sub-fórum.
Será que poderia colocar só um?
Eu peguei esse código
- Código:
/***
* 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://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 = {
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;">Fechar tópico</a></li>' +
'<li style="z-index: 10000;"><a title="Mover tópico" href="" id="t_move" style="z-index: 10000;">Mover tópico</a></li>' +
'<li style="z-index: 10000;"><a title="Enviar para lixeira" href="" id="t_hide" style="z-index: 10000;">Reciclar (Ocultar)</a></li>' +
'<li style="z-index: 10000;"><a title="Excluir tópico" href="" id="t_delete" style="z-index: 10000;">Excluir tópico</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!';
jQuery(function() {
if (_userdata.user_level >= 1) {
/* Forum versions! */
var phpBB2 = jQuery('.bodyline');
var phpBB3 = jQuery('#phpbb');
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.bg_none dd.lastpost div[style="float:left;"] span';
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.sInfo + oMTConfig.sMenu);
jQuery(oMTConfig.sTarget).append(oMTConfig.sInfo + 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="Atualizar" onclick="_rt_commit()" style="margin-right: 4px;">' +
'<a title="Cancelar" class="cancel" id="rt_cancel" href="#" onclick="jQuery(\'#rename-topic\').remove();oMTConfig.oTopicTitle.show();return false;">Cancelar</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: 'Título anterior: ' + oMTConfig.sTopicTitle,
attach_sig: '1',
notify: "0",
post: 'Enviar'
}).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);
});
}
https://ajuda.forumeiros.com/t95378-acoes-de-moderacao-com-menu-drop-down
Ops: Tópico oficial -> https://ajuda.forumeiros.com/t93949-tutorial-acoes-de-moderacao-em-menu-drop-down
Última edição por virus em 29.09.17 22:18, editado 3 vez(es)
virus- Membro
- Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910
Re: Ações de moderação com menu dropdown
O senhor tem duas opções:
Esperar que eu faça um novo;Recomendado - Corrigir o erro neste.
Re: Ações de moderação com menu dropdown
Faz um novo então kk se isso não te atrapalhar.
virus- Membro
- Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910
Re: Ações de moderação com menu dropdown
A parte de modificar o título dos tópicos é algo arriscado de ser feito, tendo em vista que pode dar request limit, isto é, alcançamos o limite de requisições que podem ser feitas ao servidor em um determinado período de tempo. São 3 requisições para cada alteração.
Deseja prosseguir com essa opção incluída mesmo sabendo o que fora colocado acima? o/
Deseja prosseguir com essa opção incluída mesmo sabendo o que fora colocado acima? o/
Re: Ações de moderação com menu dropdown
Modificar titulo é inutil para mim.. Quando edita ele atrapalha meu sistema de prefixo e retira ele automaticamente então nem quero essa parte de titulo. Se puder tirar ela eu agradeço.Luiz escreveu:A parte de modificar o título dos tópicos é algo arriscado de ser feito, tendo em vista que pode dar request limit, isto é, alcançamos o limite de requisições que podem ser feitas ao servidor em um determinado período de tempo. São 3 requisições para cada alteração.
Deseja prosseguir com essa opção incluída mesmo sabendo o que fora colocado acima? o/
Pode prosseguir sem o modificar titulo ..
virus- Membro
- Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910
virus- Membro
- Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910
virus- Membro
- Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910
Re: Ações de moderação com menu dropdown
Aqui:
o/
- Código:
(function ($, css) {
'use strict';
$(function () {
var _modes = [
{ 'name': 'Deletar', 'mode': 'delete' },
{ 'name': 'Enviar à lixeira', 'mode': 'trash' },
{ 'name': 'Mover', 'mode': 'move' },
{ 'name': 'Bloquear', 'mode': 'lock' },
{ 'name': 'Desbloquear', 'mode': 'unlock' },
];
var _tid = $('[name="tid"]:first').val();
var $drop = $('<div>', { 'class': 'fa-mod-dropdown' });
$.each(_modes, function () {
$('<a>', {
'data-mode': this.mode,
'text': this.name
}).appendTo($drop);
});
$drop
.hide()
.on('click', function (event) {
event.stopPropagation();
})
.appendTo('body')
;
$(document).on('click', function () {
$drop.hide();
});
$('.topics .row').each(function () {
var $this = $(this);
$this.css('position', 'relative');
var _id = $this
.find('.topictitle')
.attr('href')
.replace(/^\/t(\d+).*$/gi, '$1')
;
$('<a>', {
'class': 'fa fa-cog fa-mod-dropdown-toggler',
'data-id': _id,
'href': 'javascript:void(0);',
'style': [
'font-size: 13px;',
'margin-right: 4.5px;'
].join(' ')
}).insertBefore($this.find('.topictitle'));
$this.on('click', '.fa-mod-dropdown-toggler', function (event) {
event.stopPropagation();
var $link = $(this);
if ($drop.css('display') !== 'none') {
$drop.hide();
return;
}
$drop
.find('[data-mode="delete"]')
.attr('href', '/modcp?mode=delete&t=' + _id + '&tid=' + _tid)
.end()
.find('[data-mode="trash"]')
.attr('href', '/modcp?mode=trash&t=' + _id + '&tid=' + _tid)
.end()
.find('[data-mode="move"]')
.attr('href', '/modcp?mode=move&t=' + _id + '&tid=' + _tid)
.end()
.find('[data-mode="lock"]')
.attr('href', '/modcp?mode=lock&t=' + _id + '&tid=' + _tid)
.end()
.find('[data-mode="unlock"]')
.attr('href', '/modcp?mode=unlock&t=' + _id + '&tid=' + _tid)
;
$drop
.css({
'position': 'absolute',
'top': $link.offset().top + 'px',
'left': $link.offset().left + 'px',
'margin-top': $link.height() + 15 + 'px'
})
.append($('<span>', {
'class': 'before',
'style': 'left: ' + 15 - ($link.width() / 2) + 'px;'
}))
.show()
;
});
});
$('<style>', { 'text': css.join('\n') }).appendTo('head');
});
}(jQuery, [
'.fa-mod-dropdown {',
' background-color: #fff;',
' padding: 6px 0;',
' width: 140px;',
' border: solid 1px #bbb;',
' margin-left: -15px;',
' border-radius: 2px;',
' position: absolute;',
' z-index: 9999;',
'}',
'',
'.fa-mod-dropdown > .before {',
' content: "";',
' width: 15px;',
'border-bottom-right-radius: 100px;',
' height: 15px;',
' position: absolute;',
' top: -9px;',
' left: calc(15px - 4.5px);',
' background-color: #fff;',
' transform: rotate(45deg);',
' border-top: solid 1px #bbb;',
' border-left: solid 1px #bbb;',
'}',
'',
'.fa-mod-dropdown > a {',
' display: block;',
' padding: 10px;',
' color: #555;',
' cursor: pointer;',
' font-size: 11px;',
'}',
'',
'.fa-mod-dropdown > a:hover {',
' background-color: #bbb;',
' color: #fff;',
'}'
]));
o/
Re: Ações de moderação com menu dropdown
Opa funcional obrigado
virus- Membro
- Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910
Re: Ações de moderação com menu dropdown
Questão marcada como Resolvida ou o Autor solicitou que ela fosse arquivada. Tópico marcado como Resolvido e movido para Questões resolvidas. |
Tópicos semelhantes
» Ações de moderação em dropdown
» Ações de moderação com menu drop-down
» [Dúvida] Ações de moderação com menu drop-down
» [TUTORIAL] Ações de moderação em menu drop-down
» Ações de moderação em drop down
» Ações de moderação com menu drop-down
» [Dúvida] Ações de moderação com menu drop-down
» [TUTORIAL] Ações de moderação em menu drop-down
» Ações de moderação em drop down
Fórum dos Fóruns :: Ajuda e atendimento ao utilizador :: Questões sobre códigos :: Questões resolvidas sobre códigos Javascript e jQuery
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos