[TOUTES VERSIONS] Réponse rapide avec compteur de caractères et envoi directe

Voir le sujet précédent Voir le sujet suivant Aller en bas

Milouze14
avatar
Fondateur

MessageMilouze14

  • 16px
  • 24px
  • Zoom
Hello les ami(e)s,


voilà une astuce qui va en ravir plus d'un surtout pour la version phpbb2.

L'astuce venant du support Anglais, elle restera donc visible:

[Vous devez être inscrit et connecté pour voir ce lien]


Alors que fait exactement ce script?
Ce dernier a un compteur de caractères et si le membre clique sur envoyer alors qu'il n'a pas atteint cette limite, un message viendra prendre place au dessus de la réponse rapide.
Ensuite lorsque vous cliquerez sur le bouton envoyer ,
ce dernier affichera"Envoi du message" .

Lorsque que le message sera publié:

au dessus de la réponse rapide affichera "Message enregistré".

Pour que l'astuce fonctionne:

Il faudra désactiver les formulaires:
Général/Sécurité/Configuration de la sécurité

Interdire les formulaires non officiels à poster des messages et messages privés sur le forum :

[Vous devez être inscrit et connecté pour voir cette image]

Le script venant du support Anglais ,
Les textes ont été adapté pour la version Française.

Ils pourront être modifiés ici en respectant bien les ponctuations:

Code:

success_reply: 'Message enregistré', // <--- change this text exactly like is display in your language board
flood: 'Le flood est activé, merci de patienter 10 secondes',
                error_reply: 'Essayez encore',
                words_reply: 'Oups!! Il manque des caractères, minimum 5',
                button_send_reply: 'Envoi du message',
                notice_original: 'Aucun texte prédéfini',
                wait_notice: 'Patientez le temps de la diffusion..',

ensuite les couleurs de fond pourront aussi être modifiées ici:

Code:

color_a: 'linear-gradient(to bottom, #febbbb 0%,#fe9090 45%,#ff5c5c 100%)',
color_b: 'linear-gradient(to bottom, #ffaf4b 0%,#ff920a 100%)',
color_c: 'linear-gradient(to bottom, #87e0fd 0%,#53cbf1 40%,#05abe0 100%)',
color_d: 'linear-gradient(to bottom, #ff3019 0%,#cf0404 100%)',
color_e: 'linear-gradient(to bottom, #d2ff52 0%,#91e842 100%)'

Pour la limite vous pouvez augmenter la valeur par défaut (5) ici:
Code:
length_reply: 5,

Allez on arrête de causer ptderire .

Modules/HTML JAVASCRIPT/Gestion des codes Javascript/Créer un nouveau Javascript
Mettre un titre explicite.
Cocher sur les sujets.

Déposez ceci:
Code:

console.log('//-Written by Chalo ------ Open Source 2014-2016 -----//');
        console.log('//--------- http://www.opensourcephpbb3.com ----------//');
        console.log('//------------------- Version: 1.2 -------------------//');
        var ajax_reply = {
            lang: {
                success_reply: 'Message enregistré', // <--- change this text exactly like is display in your language board
                flood: 'Flood control is active on this forum, please wait 10 second(s) before replying or posting',
                error_reply: 'Essayez encore',
                words_reply: 'Oups!! Il manque des caractères, minimum 5',
                button_send_reply: 'Envoi du message',
                notice_original: 'Aucun texte prédéfini',
                wait_notice: 'Patientez le temps de la diffusion..',
                color_a: 'linear-gradient(to bottom, #febbbb 0%,#fe9090 45%,#ff5c5c 100%)',
                color_b: 'linear-gradient(to bottom, #ffaf4b 0%,#ff920a 100%)',
                color_c: 'linear-gradient(to bottom, #87e0fd 0%,#53cbf1 40%,#05abe0 100%)',
                color_d: 'linear-gradient(to bottom, #ff3019 0%,#cf0404 100%)',
                color_e: 'linear-gradient(to bottom, #d2ff52 0%,#91e842 100%)'
            },
            length_reply: 5, //min letters in the textarea before reply
            init: function () {
                ajax_reply.isTheme = /\/t\d+/g.test(window.location.pathname);
                ajax_reply.phpbb2 = document.getElementsByClassName('bodylinewidth').length;
                ajax_reply.phpbb3 = document.getElementById('phpbb');
                ajax_reply.invision = document.getElementById('ipbwrapper');
                ajax_reply.punbb = document.getElementById('pun-intro');
                ajax_reply.form_reply = ajax_reply.isTheme && document.forms.post;
                ajax_reply.button_reply = ajax_reply.isTheme && document.forms.post.post;
                ajax_reply.button_value_reply = ajax_reply.isTheme && document.forms.post.post.value;
                ajax_reply.textarea = ajax_reply.isTheme && document.forms.post.message;
                ajax_reply.action_reply = ajax_reply.isTheme && document.forms.post.action;
                ajax_reply.send_post();
            },
            notice_div: function (c, f) {
                var a, b, d, e, g;
                g = document.getElementsByClassName('notice_reply');
                b = document.getElementsByClassName('sceditor-group')[0];
                d = b.parentNode;
                a = !g.length ? document.createElement('DIV') : g[0];
                e = 'height:20px;line-height: 1.5;border-radius: 3px; text-shadow: 0 1px rgba(255, 255, 255, 0.46)';
                !g.length && (a.classList.add('notice_reply'), a.setAttribute('style', e), d.insertBefore(a, b));
                a.style.display = 'block';
                a.innerHTML = 'undefined' == typeof c ? ajax_reply.lang.notice_original : c;
                a.style.background = 'undefined' == typeof f ? ajax_reply.lang.color_a : f;
                setTimeout(function () {
                    a.style.display == 'block' && (a.style.display = 'none')
                }, 5000)
            },
            send_post: function () {
                var c, h, a, l, o, d, b;
                h = ajax_reply.action_reply;
                ajax_reply.form_reply && (ajax_reply.button_reply.onclick = function () {
                    l = $(ajax_reply.textarea).sceditor('instance');
                    l.updateOriginal();
                    if (l.val().length > ajax_reply.length_reply) {
                        ajax_reply.button_reply.value = ajax_reply.lang.button_send_reply;
                        $.post(h, $(ajax_reply.form_reply).serialize() + '&post=1&prevent_post=1', function (e) {
                            a = e.indexOf(ajax_reply.lang.success_reply);
                            b = e.indexOf(ajax_reply.lang.flood);
                            c = $('a[href*="viewtopic"]', e).length && $('a[href*="viewtopic"]', e)[0].href;
                            d = c && c.match(/(\w+)$/g)[0];
                            o = d && (d - 1);
                            b > 0 ? (ajax_reply.notice_div(ajax_reply.lang.flood, ajax_reply.lang.color_b), ajax_reply.button_reply.value = ajax_reply.button_value_reply) : e.indexOf('A new') > 0 ? $.post(document.location.pathname, $('[name="post"]', e).serialize(), function (c) {
                                a < 0 ? ajax_reply.notice_div(ajax_reply.lang.error_reply) : (ajax_reply.new_post(c, d, l, o), ajax_reply.button_reply.value = ajax_reply.button_value_reply)
                            }) : a < 0 ? ajax_reply.notice_div(ajax_reply.lang.error_reply) : (ajax_reply.new_post(c, d, l, o), ajax_reply.button_reply.value = ajax_reply.button_value_reply, ajax_reply.notice_div(ajax_reply.lang.wait_notice, ajax_reply.lang.color_c))
                        })
                    } else {
                        ajax_reply.notice_div(ajax_reply.lang.words_reply, ajax_reply.lang.color_d);
                    }
                    return false
                })
            },
            new_post: function (c, a, l, o) {
                var d, f, g, h, b, m, n, s;
                $.get(c, function (e) {
                    b = $('.post--' + a, e)[0];
                    d = b.innerHTML;
                    f = b.className;
                    g = 'p' + a;
                    n = ajax_reply.phpbb2 ? 'tr' : 'div';
                    h = '<' + n + ' id="' + g + '" class="' + f + ' new_ajax_post" style="display:none">' + d + '</' + n + '>';
                    m = document.getElementsByClassName('post--' + o);
                    m.length ? (m[0].insertAdjacentHTML('afterend', h), $('.new_ajax_post').fadeIn(1e3)) : ajax_reply.post_pag(h);
                }).success(function () {
                    l.val('');
                    ajax_reply.notice_div(ajax_reply.lang.success_reply, ajax_reply.lang.color_e)
                })
            },
            post_pag: function (h) {
                var e = ajax_reply.punbb ? document.getElementsByClassName('topic')[0] : ajax_reply.phpbb2 ? document.getElementsByClassName('catBottom')[0].parentNode.previousElementSibling : ajax_reply.phpbb3 ? document.getElementsByName('bottomtitle')[0].previousElementSibling : ajax_reply.invision && document.getElementsByClassName('topic-footer')[0].previousElementSibling;
                ajax_reply.punbb ? e.insertAdjacentHTML('beforeend', h) : e.insertAdjacentHTML('afterend', h);
                $('.new_ajax_post').fadeIn(1e3);
            }
        };
        $(function () {
            (document.getElementById('logout') && $.sceditor) && ajax_reply.init()
        });





Pensez a cliquer sur le bouton Valid



Un petit merci et toujours appréciable les ami(e)s clin oeil







[Vous devez être inscrit et connecté pour voir cette image]

-Le respect de nos semblables est la règle de notre conduite.-

Fondateur des forums


[Vous devez être inscrit et connecté pour voir ce lien][Vous devez être inscrit et connecté pour voir ce lien]

RED²
avatar
Nouveau membre

MessageRED²

  • 16px
  • 24px
  • Zoom
Merci, ça à l'air top ;)

Voir le sujet précédent Voir le sujet suivant Revenir en haut

Créer un compte ou se connecter pour répondre

Vous devez être membre pour répondre.

S'enregistrer

Rejoignez notre communauté ! C'est facile !


S'enregistrer

Connexion

Vous êtes déjà membre ? Aucun soucis, cliquez ici pour vous connecter.


Connexion

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum