[TUTORIAL] Ações de moderação em menu drop-down

Ver o tópico anterior Ver o tópico seguinte Ir para baixo

Principal Contribuidor

[TUTORIAL] Ações de moderação em menu drop-down Empty [TUTORIAL] Ações de moderação em menu drop-down

Mensagem por nikka 13.07.14 15:03


[TUTORIAL] Ações de moderação em menu drop-down Scripts

Ações de moderação com menu drop-down


Através deste, poderá facilitar o trabalho de moderação da sua equipe, adicionando atalhos das ferramentas que mais usas, como Bloquear, mover e fusionar sem acessar o tópico.


--> Tutoriais, dicas e astúcias <--
Ações de moderação com menu drop-down



- Conhecendo o 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);
    });
}
Trechos que podem ser alterados:
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!';
/*\: Tomando-se o cuidado em manter o que está em negrito!


- Noção básica da função:
As páginas javascript ativas em seu fórum possibilita inserir scripts e jquery para personalizar seu fórum, contudo é importante saber que qualquer script encontrado na internet acabam por não surgir efeito nos fóruns.

Painel de controle >> Módulos >> HTML & JavaScript >> Gestão dos códigos JavaScripts >>
[TUTORIAL] Ações de moderação em menu drop-down Painel13
[TUTORIAL] Ações de moderação em menu drop-down 110111Seta Título Correspondente ao nome da página JavaScript/jQuery que será criada.
[TUTORIAL] Ações de moderação em menu drop-down 110210Seta Localização- São destinados os devidos locais para onde você aplicará os efeitos do JavaScript nos fóruns. No nosso caso, aplicaremos Em todas as páginas.
[TUTORIAL] Ações de moderação em menu drop-down 110310Seta Código JavaScript Campo destinado para receber os códigos JavaScript e jQuery.
[TUTORIAL] Ações de moderação em menu drop-down 110410Seta Habilitar o gerenciamento dos códigos JavaScript Ao selecionar a opção sim, estará ativando a função páginas Javascript no seu fórum. Se selecionar não, as páginas serão desabilitadas no fórum.

  • Resultado:
    [TUTORIAL] Ações de moderação em menu drop-down Mod110




© Fórum dos Fóruns


[TUTORIAL] Ações de moderação em menu drop-down Act_bottom Se tiver alguma dúvida relacionada com este tópico crie um tópico com o seguinte título:
[Dúvida] Ações de moderação com menu drop-down
nikka

nikka
Principal Contribuidor
Principal Contribuidor

Membro desde : 17/12/2008
Mensagens : 15620
Pontos : 19897

https://ajuda.forumeiros.com/ https://www.facebook.com/forumeirospt https://twitter.com/Forumeiros_PT

Ir para o topo Ir para baixo

Ver o tópico anterior Ver o tópico seguinte Ir para o topo


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