Resposta rápida sem refresh ModerNBB

2 participantes

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

Tópico resolvido Resposta rápida sem refresh ModerNBB

Mensagem por iScroll 10.10.17 21:24

Detalhes da questão


Endereço do fórum: http://www.ultimatelife.forumeiros.com
Versão do fórum: ModernBB

Descrição


Bom, tinha o seguinte código:
Código:
//By doannamthai-getover || forumotion-forumvi ;
jQuery(function() {
    jQuery('#quick_reply input[name="post"]').click(function(a) {
        a.preventDefault();
        var g = jQuery("#text_editor_textarea").sceditor('instance').val();
        var href = jQuery('a[href*="mode=reply"]').attr("href");
        var value = jQuery("#text_editor_textarea").sceditor("instance").val().replace(/\s/g, '').length;
        if (10 <= value) {
            jQuery('<div class="lreply" style="color: red;font-weight: bold; text-transform: uppercase;"><br>Sua mensagem está sendo enviada...</div>').appendTo(".frm-buttons");
            jQuery.post(href, {
                "message": g,
                "auth[]": jQuery("#quick_reply input[name='auth[]']:last").val(),
                "lt": jQuery("#quick_reply input[name='lt']").val(),
                "tid": jQuery("#quick_reply input[name='tid']").val(),
                "attach_sig": "1",
                "post": "Send"
            }, function(t) {
                console.log(t);
                if (t.indexOf("Flood") != -1) {
                    alert("Calma... Espere 5 segundos para postar.");
                    jQuery(".lreply").fadeOut(300);
                }
                if (t.indexOf("A new") != -1) {
                    alert("Oops... Parece que outra pessoa postou junto com você. Para evitarmos problemas, copie o código da caixa de texto e tente de novo!");
                    jQuery(".lreply").fadeOut(300);
                }
                if (jQuery(t).find(".message a:first").attr('href').length > 1) {
                    var f = jQuery(t).find(".message a:first").attr('href');
                    jQuery.get(f, function(z) {
                        jQuery("#quick_reply input[name='auth[]']:last").val(jQuery(z).find("#quick_reply input[name='auth[]']:last").val());
                        jQuery("#quick_reply input[name='lt']").val(jQuery(z).find("#quick_reply input[name='lt']").val());
                        jQuery(z).find(".post:last").hide().insertAfter(".post:last").slideDown(400);
                  jQuery('form#quick_reply').before("<div align='center' style='padding: 5px;'><img src=http://2img.net/i/fa/admin/icones/big_ico/warning.png><br>É proibido fazer double post, edite o seu tópico para acrescentar o que quer.</div>").remove();
                    });
                    jQuery("#text_editor_textarea").sceditor('instance').val("");
                    jQuery(".lreply").fadeOut(300);
                }
            });
        } else {
            alert("Poste no mínimo 10 caracteres para enviar a mensagem.");
        }
    });
});
Isto fazia um com que mandasse uma resposta rápida sem refresh, seria possível passa-la para modernbb?
iScroll

iScroll
Super Membro

Membro desde : 08/03/2015
Mensagens : 1701
Pontos : 2311

http://ultimatelife.forumeiros.com

Ir para o topo Ir para baixo

Membro Entusiasta

Tópico resolvido Re: Resposta rápida sem refresh ModerNBB

Mensagem por Luiz 10.10.17 21:31

O senhor já deu uma olhada neste tutorial?
-> https://ajuda.forumeiros.com/t107420-

o/
Luiz

Luiz
Membro Entusiasta
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: Resposta rápida sem refresh ModerNBB

Mensagem por iScroll 10.10.17 21:35

Beleza, ele funciona : http://prntscr.com/gvspbw
Maaaas, quando eu reinicio a página: http://prntscr.com/gvsple o post não está mais lá Feliz
iScroll

iScroll
Super Membro

Membro desde : 08/03/2015
Mensagens : 1701
Pontos : 2311

http://ultimatelife.forumeiros.com

Ir para o topo Ir para baixo

Membro Entusiasta
  • 0

Tópico resolvido Re: Resposta rápida sem refresh ModerNBB

Mensagem por Luiz 10.10.17 21:38

Tente trocar pela minha versão:
Código:
(function ($) {
  'use strict';

  var ajaxPostingConfig = {
    'minForPost': 15,
    'maxForPost': 15000
  };

  var ajaxPostingStyles = [
    '.ajax-alert {',
    '  width: 70%;',
    '  text-align: center;',
    '  margin: 20px auto;',
    '  color: #555;',
    '  background-color: transparent;',
    '  border: solid 1px #ddd;',
    '  border-bottom-width: 2px;',
    '  border-radius: 3px;',
    '  padding: 12px;',
    '  font-weight: 600;',
    '}',
    '',
    '.ajax-alert.ajax-alert-sucess {',
    '  border-color: #71be47!important;',
    '  color: #71be47!important;',
    '  box-shadow: inset 0 0 80px rgba(113, 190, 71, 0.3);',
    '}',
    '',
    '.ajax-alert.ajax-alert-danger {',
    '  color: #e6594c!important;',
    '  border-color: #e6594c!important;',
    '  box-shadow: inset 0 0 0 80px rgba(226, 99, 88, 0.15);',
    '}',
  ].join('\n');

  $(function () {

    var $postingResult = $([
      '<div class="posting-results">',
      '</div>',
    ].join('\n'))
      .insertBefore('div#textarea_content')
    ;

    $('<style>', {
      type: 'text/css',
      text: ajaxPostingStyles
    }).appendTo('head');

    $('form#quick_reply')
      .on('submit', function (event) {

        if ($('textarea').sceditor('instance').val().length < ajaxPostingConfig.minForPost) {
          $postingResult
            .html([
              '<div class="ajax-alert ajax-alert-danger">',
              '  <div class="fa fa-exclamation-circle"></div>',
              '  <span>Para postar, sua mensagem deve ter no mínimo ' + ajaxPostingConfig.minForPost + ' caracteres.</span>',
              '</div>',
            ].join('\n'))
          ;
          return false;
        }

        if ($('textarea').sceditor('instance').val().length > ajaxPostingConfig.maxForPost) {
          $postingResult
            .html([
              '<div class="ajax-alert ajax-alert-danger">',
              '  <div class="fa fa-exclamation-circle"></div>',
              '  <span>Sua mensagem possui mais que o limite de caracteres (' + ajaxPostingConfig.maxForPost + ') para a postagem.</span>',
              '</div>',
            ].join('\n'))
          ;
          return false;
        }

        $.ajax({

          type: 'POST',
          url: '/post',

          data: {
            t: location.pathname.replace(/^\/t(\d+)-.*/gi, '$1'),
            mode: 'reply',
            tid: $('[name="tid"]').val(),
            post: 1,
            message: $('textarea').sceditor('instance').val(),
          },

          beforeSendo: function(context) {
            $postingResult
              .html([
              '<div class="ajax-alert ajax-alert-loading">',
                '  <div class="fa fa-circle-o-notch fa-spin"></div>',
                '  <span>Carregando...</span>',
                '</div>',
              ].join('\n'))
            ;
          },

          success: function(context) {

            var $link = $('a[href*="/viewtopic"]');

            $.get($link.attr('href'), function(context) {
              var $post = $('.post:last', context);
              $post
                .hide()
                  .insertAfter('.post:last')
                    .slideDown('fast', function() {
                      $('html, body').animate({
                          scrollTop: $('.post:last').offset().top
                      }, 500);
              });
            });

            // Adicionar alerta:
            $postingResult
              .html([
              '<div class="ajax-alert ajax-alert-sucess">',
                '  <div class="fa fa-check"></div>',
                '  <span>Mensagem postada com sucesso!</span>',
                '</div>',
              ].join('\n'))
            ;

            // Remover conteúdo do SCEditor:
            $('textarea').sceditor('instance').val('');

            console.info('[Postar em Ajax] {SUCESSO} ID do tópico onde fora postado o novo tópico: ' + location.pathname.replace(/^\/t(\d+)-.*/gi, '$1'));

          },

          fail: function(context) {
            $postingResult
              .html([
              '<div class="ajax-alert ajax-alert-danger">',
                '  <div class="fa fa-exclamation-circle"></div>',
                '  <span>Ocorreu um erro ao tentar postar sua mensagem. Tente esperar 10 segundos.</span>',
                '  <br />',
                '  <span>Caso o problema persista, acesse o Fórum dos Fóruns, e solicite ajuda.</span>',
                '</div>',
              ].join('\n'))
            ;
          },
        });

        event.preventDefault();

      })
    ;
  });
}(jQuery));
Luiz

Luiz
Membro Entusiasta
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: Resposta rápida sem refresh ModerNBB

Mensagem por iScroll 10.10.17 21:49

Mesma coisa :/
iScroll

iScroll
Super Membro

Membro desde : 08/03/2015
Mensagens : 1701
Pontos : 2311

http://ultimatelife.forumeiros.com

Ir para o topo Ir para baixo

Membro Entusiasta

Tópico resolvido Re: Resposta rápida sem refresh ModerNBB

Mensagem por Luiz 10.10.17 21:51

Méh, o senhor ativou aquela opção no Painel de Controle?

Em:
Geral -> Fórum -> Segurança.

Procure por "Desautorizar formulários não oficiais de postarem no fórum e enviar mensagens privadas" e marque "não". o/
Luiz

Luiz
Membro Entusiasta
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: Resposta rápida sem refresh ModerNBB

Mensagem por iScroll 10.10.17 21:53

Luiz escreveu:Méh, o senhor ativou aquela opção no Painel de Controle?

Em:
Geral -> Fórum -> Segurança.

Procure por "Desautorizar formulários não oficiais de postarem no fórum e enviar mensagens privadas" e marque "não". o/

Realmente '-' resultou kkk
iScroll

iScroll
Super Membro

Membro desde : 08/03/2015
Mensagens : 1701
Pontos : 2311

http://ultimatelife.forumeiros.com

Ir para o topo Ir para baixo

Membro Entusiasta

Tópico resolvido Re: Resposta rápida sem refresh ModerNBB

Mensagem por Luiz 10.10.17 21:54

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 Entusiasta

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

https://luizfelipe.dev

Ir para o topo Ir para baixo

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

- Tópicos semelhantes

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