[Tutorial] Trocar titulo (pop-up nos tópicos)

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

Zump
Administrador
Tempo Online : 17s
Mensagens : 52
Reputação : 53
Ver perfil do usuário

MensagemZump em Qua Out 05, 2016 12:30 pm

Autor: Zump
Funcionalidade: Em todas as versões

Acesse:

Painel de Controle -> Modulos -> Html & Javascripts -> Gestão dos códigos Javascripts

Crie um novo javascript com investimento nos tópicos com esse código:

Código:
$(function() {
  var level = _userdata.user_level;
  if (level > 0) {
      if (window.location.href.search('/t') >= 0) {
        // MOD CP
        $('body').append(
            '<span class="mod_button" id="cdm" onclick="open_popup_moderation()">Moderação avançada</span>' +
            '<div id="moderation_tools" class="mod_tools"></div>'
        );
        $('#moderation_tools').append(
            '<div class="tools_inner">' +
            '  <div id="close_popup_moderation" onclick="close_popup_moderation()">x</div>' +
            '      <div class="tools_header">' +
            '      <h2>Mudar título do tópico</h2>' +
            '      </div>' +
            '      <div class="pbck">' +
            '      <label><b>Novo título</b></label>' +
            '      <input type="text" id="muda_titulo" name="muda_titulo" />' +
            '      <br>' +
            '      <input type="button" onclick="mudar()" id="mudar" value="Mudar">' +
            '      <input type="button" onclick="limpar()" id="limpa-editor" value="Limpar Caixa">' +
            '      <br>' +
            '      </div>' +
            '</div>'
        );
      }

      // MOVE TOPIC
      if (window.location.href.search('mode=move') >= 0) {
        var elsHtml = '<dl>' +
            '      <dt></dt>' +
            '      <dd>' +
            '        <label><input id="send_move_post" type="checkbox">Adicionar uma mensagem no tópico informando sobre esta ação?</label>' +
            '      </dd>' +
            '</dl>';
        jQuery(elsHtml).insertBefore('.frm-buttons');
        jQuery('input[name="confirm"]').on('click', function(d) {
            var verify = jQuery('[name="new_forum"]').val();
            if (verify.indexOf('f') >= 0) {
              if (jQuery('#send_move_post').is(':checked')) {
                  d.preventDefault();
                  var forum = jQuery('[name="f"]').val();
                  var topic = jQuery('[name="t"]').val();
                  var currentLocal = jQuery('a.nav[href^="/f"]:last').text();
                  var newLocal = jQuery('[name="new_forum"] option:selected').text().split('--').pop();
                  var TID = jQuery('a[href*="tid="]').attr('href').split('tid=')[1].split('&')[0];
                  var autoMsg = '[alerta="Mensagem automática"][/alerta]\n\n\n\nEste tópico foi movido de "[u]' + currentLocal + '[/u]" para "[u]' + newLocal + '[/u]".';
                  var more = prompt("Mensagem adicional (clique em cancelar caso não queira comentar algo)");
                  if (more) {
                    autoMsg = '[alerta="Mensagem automática"][/alerta]\n\n' + more + '\n\nEste tópico foi movido de "[u]' + currentLocal + '[/u]" para "[u]' + newLocal + '[/u]".';
                  }
                  jQuery.post('/modcp?tid=' + TID, {
                    'new_forum': verify,
                    'mode': 'move',
                    'f': forum,
                    't': topic,
                    'confirm': '1'
                  }).done(function(move) {
                    jQuery.post('/post?t=' + topic, {
                        'mode': 'reply',
                        'message': autoMsg,
                        'post': '1',
                        'attach_sig': '1'
                    }).done(function(send) {
                        location.href = jQuery(send).find('a[href^="/viewtopic"]').attr('href');
                    }).fail(function() {
                        alert("O tópico foi movido, mas ocorreu um erro ao tentar enviar o post");
                        location.href = jQuery(move).find('a[href^="/viewtopic"]').attr('href');
                    });
                  }).fail(function() {
                    alert("Um erro ocorreu ao tentar mover o tópico");
                    location.reload();
                  });
              }
            } else {
              d.preventDefault();
              alert("Selecione um fórum");
            }
        });
      }
  }
verificaPaginacao();
});

function open_popup_moderation() {
  var mod = $('#moderation_tools');
  if (mod.css('display') == 'none') {
      mod.css('display', 'block');
  }
}

function close_popup_moderation() {
  var mod = $('#moderation_tools');
  mod.css('display', 'none');
}

function verificaPaginacao() {
    var paging = $('.paging');
    if(paging.length) {
        var pagingHref = paging.find('a:contains("1")').attr('href');
        if(pagingHref) {
            $.get(pagingHref,  function(data) {
                var primeiroTopicoHref = $('.post:first', data).find('a[href*="editpost"]').attr('href');
                var setStorage = sessionStorage.setItem("href", primeiroTopicoHref);
            });
        }
    } else {
          sessionStorage.removeItem("href");
    }
}

function mudar() {
    var getStorage = sessionStorage.getItem("href");
    var titulo = $('#muda_titulo').val();
    var novo = '';
    var msg = '';
    var primeiroTopicoHref;
    if (titulo.length != 0 && titulo.length > 5) {
    novo = titulo;
        $('#mudar').attr('disabled', true);
        if(getStorage) {
            primeiroTopicoHref = getStorage;
        } else {
            primeiroTopicoHref = $('.post:first').find('a[href*="editpost"]').attr('href');
        }
        $.get(primeiroTopicoHref, function(data) {
                  msg = $('#text_editor_textarea', data).val();
                  $.post(primeiroTopicoHref, {
                        'subject': novo,
                  'message': msg,
              'post': '1',
              'attach_sig': '1'
                }, function(e) {
              location.href = $(e).find('a[href^="/viewtopic"]').attr('href');
          });
        });
    } else {
        alert("Informe um novo título de pelo menos 5 dígitos");
        return false;
    }
}

function limpar() {
  $('#muda_titulo').val('').focus();
}

Resultado:

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

Cria uma conta ou logue para postar uma mensagem.

Você precisa ser um membro, para poder postar uma resposta.

Criar conta

Participe de nossa comunidade, basta se registrar. É Fácil!


Criar uma conta

Logar

Já tem uma conta? Sem problemas, Logue agora.


Logar-se

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum