Antiflood em Tópicos

2 participantes

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

Tópico resolvido Antiflood em Tópicos

Mensagem por Cooper 18.09.19 20:49

Detalhes da questão


Endereço do fórum: http://apixelados.forumeiros.com
Versão do fórum: PunBB

Descrição


Gostaria de saber se tem como ter um número mínimo de caracteres em uma postagem.

Por exemplo:
Um usuário vai responder um tópico, coloca apenas uma palavra de 3 letras ou um emoticon e envia.

O que eu quero é: O usuário não poderá enviar uma mensagem com menos de 10-15 caracteres por exemplo. Para evitar o flood. E, claro, aumentar a discussão e a qualidade do debate.
Cooper

Cooper
*****

Membro desde : 19/02/2013
Mensagens : 415
Pontos : 741

http://apixelados.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: Antiflood em Tópicos

Mensagem por Roevs 19.09.19 12:15

Olá,

Crie um novo JS com investimento "Nós tópicos"

Código:
$(window).load(function() {
    var MinWords = 4,
        MinLetters = 4,
        accept_Ico = "http://i55.servimg.com/u/f55/18/17/62/92/accept10.png",
        stop_Ico = "http://i55.servimg.com/u/f55/18/17/62/92/stopic10.png",
        sHtml = '<br/>' +
            '<div id="div_minchars" align="center">' +
                '<div>Mínima quantidade de palavras pra postar: <strong>' + MinWords + '</strong> (mínimo de <strong>' + MinLetters + '</strong> letras!)</div>' +
                '<div id="sceditor_chars"></div>' +
            '</div>';
       
    if ($("#text_editor_textarea").length != 0) {
        var sceditor_instance = $("#text_editor_textarea").sceditor("instance");
        var str = sceditor_instance.val();
        var regex = new RegExp('\\w{' + MinLetters + ',}\\b', 'g');
        var str_arr = str.match(regex);
        var str_len = str_arr == null ? 0 : str_arr.length;
       
        $("input[type='submit'][name='post']").attr("disabled", true).css("opacity", "0.5");
        $(".sceditor-container").after(sHtml);
        if (str_len >= MinWords) $("input[type='submit'][name='post']").attr("disabled", false).css("opacity", "1");
       
        sceditor_instance.keyUp(function (e) {
            str = sceditor_instance.val();
            str_arr = str.match(regex);
            str_len = str_arr == null ? 0 : str_arr.length;
            if (str_len >= MinWords) {
                $("#sceditor_chars").html("Você escreveu <span style='color:green'>" + str_len + "</span> palavra(s). A sua mensagem já pode ser enviada! <img src='" + accept_Ico + "' />");
                $("input[type='submit'][name='post']").attr("disabled", false).css("opacity", "1")
            } else {
                $("#sceditor_chars").html("Você digitou <span style='color:red'>" + str_len + "</span> palavra(s). E nescessário mais " + (MinWords - str_len) + " palavra(s) para enviar esta mensagem!");
                $("input[type='submit'][name='post']").attr("disabled", true).css("opacity", "0.5")
            }
        })
    }
})

MinWords = 4, Altere pelo valor de palavras que será necessário.
MinLetters = 4, Altere pelo valor de letras que será necessário.

Até mais!
Roevs

Roevs
Membro Entusiasta

Membro desde : 10/02/2012
Mensagens : 6484
Pontos : 8343

https://www.sololevelingrpg.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Antiflood em Tópicos

Mensagem por Cooper 19.09.19 14:05

Perfeito, obrigado.
@Resolvido
Cooper

Cooper
*****

Membro desde : 19/02/2013
Mensagens : 415
Pontos : 741

http://apixelados.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: Antiflood em Tópicos

Mensagem por Roevs 19.09.19 16:31

Questão resolvida

Esta questão foi dada como resolvida pelo seu autor, e por esse motivo será marcada como resolvida e movida para o arquivo de questões resolvidas desta área.
Roevs

Roevs
Membro Entusiasta

Membro desde : 10/02/2012
Mensagens : 6484
Pontos : 8343

https://www.sololevelingrpg.com/

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