Бесплатный форум: форум поддержки
Добро пожаловать на форум поддержки сервиса Forum2x2 !

Для полноценной работы с форумом,
пожалуйста, войдите на форум под своим логином (если вы уже зарегистрированы) или же зарегистрируйтесь.


С нашей помощью вы можете создать форум,
похожий на этот!
Мы в социальных сетях

Правила форума

для обязательного прочтения!


Внимание! Важная информация для РЕГИСТРАЦИИ на форуме:

Пожалуйста, не регистрируйтесь на этом форуме с электронными адресами mail.ru, bk.ru, inbox.ru, list.ru - вам может не прийти письмо со ссылкой активации!
Вы можете воспользоваться адресами типа yandex.ru, rambler.ru, gmail.com и т.д.
Интересные решения
Быстрый переход к сервисам: j-p-g.net Видео фоторедактор Транслит

Меню модерации тем drop-down

Предыдущая тема Следующая тема Перейти вниз

Меню модерации тем drop-down

Сообщение автор Феникс в Пт 15 Янв - 23:19

Попалось на глаза удобное меню модерации прямо в субфоруме, не заходя в тему. Добавил "закрыть" и "открыть". С "прикрепить" и "открепить" не случилось. Очень хотелось бы добавить и было бы неплохо, чтобы значения в списке менялись в зависимости от текущего статуса темы. Кто может, поможите пжалста... smile Например, как со сменой кнопки "вход-выход".
Скрипт:

Код:
/***
 * Применение: действия модерации.
* Описание: это приложение отображает контекстное меню для модерации в списке разделов.
 * Версия: 1.03182014-св1.9.1 - (Dodekatheon / 2) + (Гермес = Зевс + Майя)
* Изготовлены и оптимизаций для jscript - 2014/03/18
* Данная работа является бесплатной. Вы можете распространять и/или модифицировать его
* по условиям WTFPL версии 2
 */
/***
* Система определенных переменных - не изменяйте, если Вы не знаете!
***/
var oMTConfig = {
    sInfo:
        '<!--' +
        '* Application: Действия модерации.' +
        '* Description: Это приложение отображает контекстное меню для модерации в списке разделов.' +
        '* Version: 1.03182014-jq1.9.1 - (Dodekatheon / 2) + (Hermes = Zeus + Maia)' +
        '* Made and Optimizations by JScript - 2014/03/18' +
        '* 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="Действия Модерации" 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 href="" id="t_rename" onclick="_rename_Topic();return false;" style="z-index: 10000;">Переименовать тему</a></li>' +
            //'<li style="z-index: 10000;"><a title="Отметить тему" href="" id="t_pin" style="z-index: 10000;">Отметить тему</a></li>' +
            //'<li style="z-index: 10000;"><a title="Сменить значок" href="" id="t_icon" style="z-index: 10000;">Сменить значок</a></li>' +
            '<li style="z-index: 10000;"><a href="" id="t_lock" style="z-index: 10000;">Закрыть тему</a></li>' +
              '<li style="z-index: 10000;"><a href="" id="t_unlock" style="z-index: 10000;">Открыть тему</a></li>' +
            '<li style="z-index: 10000;"><a href="" id="t_move" style="z-index: 10000;">Переместить тему</a></li>' +
            '<li style="z-index: 10000;"><a href="" id="t_hide" style="z-index: 10000;">Утилизация (Скрыть)</a></li>' +
            '<li style="z-index: 10000;"><a href="" id="t_delete" style="z-index: 10000;">Удалить тему</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 = 'Внимание!\n\n Произошла ошибка при редактировании заголовка, подождите 10 секунд и попробуйте еще раз!';
oMTConfig.sSavingMsg = 'Обновление название темы, пожалуйста, подождите...';
oMTConfig.sDoneMsg = 'Название темы обновлено!';

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 > 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_unlock').attr('href', '/modcp?mode=unlock&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="Обновить" onclick="_rt_commit()" style="margin-right: 4px;">' +
            '<input type="submit" id="rt_submit" class="button2"  value="Отмена" onclick="jQuery(\'#rename-topic\').remove();oMTConfig.oTopicTitle.show();return false;" style="margin-right: 4px;">' +
 '</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);
    });
}





 

Скрипт тиснул так же с португальского форума поддержки. Закомменчено два значения в списке меню. Пробовал раскомментить - разницы не обнаружил.

P.S. На сей раз кнопочку сам поправил. )))
avatar
Феникс
Помощник
Помощник

Мужчина

Сообщения : 801
Возраст : 45
Регистрация : 2015-10-29
Благодарности : 164

Без предупреждений

http://dayana.forum2x2.ru/

Вернуться к началу Перейти вниз

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения