Ações de moderação com menu dropdown

2 participantes

Ir para baixo

Tópico resolvido Ações de moderação com menu dropdown

Mensagem por virus 26.09.17 20:04

Detalhes da questão


Endereço do fórum: http://beta.masterforum.biz/
Versão do fórum: Modernbb

Descrição


Ações de moderação com menu dropdown GU60Fd7pSumpWG8UNteGpg


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);
    });
}
Ele está presente neste tópico junto com o próprio criador eu acho.
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
virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Ações de moderação com menu dropdown

Mensagem por Luiz 26.09.17 20:41

O senhor tem duas opções:

  1. Recomendado
    Esperar que eu faça um novo;
  2. Corrigir o erro neste.
Como deseja prosseguir? Feliz
Luiz
Luiz
Membro Entusiasta

Membro desde : 23/04/2016
Mensagens : 6645
Pontos : 7451

https://luizfelipe.dev

Ir para o topo Ir para baixo

Tópico resolvido Re: Ações de moderação com menu dropdown

Mensagem por virus 26.09.17 20:55

Faz um novo então kk se isso não te atrapalhar.
virus
virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Ações de moderação com menu dropdown

Mensagem por Luiz 27.09.17 1:19

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/
Luiz
Luiz
Membro Entusiasta

Membro desde : 23/04/2016
Mensagens : 6645
Pontos : 7451

https://luizfelipe.dev

Ir para o topo Ir para baixo

Tópico resolvido Re: Ações de moderação com menu dropdown

Mensagem por virus 27.09.17 4:27

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/
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.
Pode prosseguir sem o modificar titulo ..
virus
virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Ações de moderação com menu dropdown

Mensagem por virus 28.09.17 15:17

up
virus
virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Ações de moderação com menu dropdown

Mensagem por virus 29.09.17 18:17

up
virus
virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Ações de moderação com menu dropdown

Mensagem por Luiz 29.09.17 21:41

Aqui:
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/
Luiz
Luiz
Membro Entusiasta

Membro desde : 23/04/2016
Mensagens : 6645
Pontos : 7451

https://luizfelipe.dev

Ir para o topo Ir para baixo

Tópico resolvido Re: Ações de moderação com menu dropdown

Mensagem por virus 29.09.17 22:18

Opa funcional obrigado Piscada
virus
virus
Membro

Membro desde : 03/03/2013
Mensagens : 695
Pontos : 910

Ir para o topo Ir para baixo

Tópico resolvido Re: Ações de moderação com menu dropdown

Mensagem por Luiz 29.09.17 22:23

Questão marcada como Resolvida ou o Autor solicitou que ela fosse arquivada.
Tópico marcado como Resolvido e movido para Questões resolvidas.
Luiz
Luiz
Membro Entusiasta

Membro desde : 23/04/2016
Mensagens : 6645
Pontos : 7451

https://luizfelipe.dev

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos