[phpBB2] Problème messages version mobile

2 participants

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

Résolu [phpBB2] Problème messages version mobile

Message par -tony- Sam 3 Déc 2022 - 14:34

Détails techniques


Version du forum : phpBB2
Poste occupé : Fondateur
Navigateur(s) concerné(s) : Google Chrome, Autre
Capture d'écran du problème :
Voir l'image:

Personnes concernées par le problème : Tous les utilisateurs
Problème apparu depuis : Au moins un an
Lien du forum : https://pblvfrance3.com

Description du problème

Bonjour à tous !

Mes forumeurs et moi rencontrons un problème sur la version mobile de mon forum. Lorsque nous cliquons sur les "3 points" à droite d'un message (éditer / supprimer / répondre en citant), il ne se passe rien.

Je précise que le seul template que j'avais modifié dans la version mobile (il y a longtemps) était index_box, pas de lien donc.

En revanche, j'avais ajouté des codes javascript sur la version web, je me dis que ça peut être lié ? (par exemple : codes pour édition rapide, citation rapide dans l'éditeur de bas de page, etc.)

Merci par avance pour votre aide, vos suggestions !

Bon week-end.


Dernière édition par -tony- le Dim 4 Déc 2022 - 21:14, édité 1 fois
-tony-

-tony-
*

Masculin
Messages : 30
Inscrit(e) le : 03/12/2022

https://pblvfrance3.com
-tony- a été remercié(e) par l'auteur de ce sujet.

Résolu Re: [phpBB2] Problème messages version mobile

Message par Toryudo Dim 4 Déc 2022 - 20:40

Bonjour !
Alors en effet, quand je regarde vos pages, il y a 4 erreurs qui proviennent des 4 scripts suivants (que vous pourrez retrouver dans votre liste de scripts grâce aux numéros je pense) :

https://www.pblvfrance3.com/12438.js
https://www.pblvfrance3.com/13228.js
https://www.pblvfrance3.com/24396.js
https://www.pblvfrance3.com/25673.js

En fait, à partir du moment où vous avez des balises HTML dans un script (comme c'est le cas pour ces quatre exemples), ce n'est pas bon. Non seulement ça ne marche pas, mais en plus, ça peut faire planter d'autres scripts dans certains cas. Il y aura peut-être d'autres problèmes, mais déjà, si vous vous débarrassez de ces quatre-là, ce sera plus propre !
Ils cachent peut-être d'autres problèmes qu'on pourra voir une fois ceux-ci corrigés.
Toryudo

Toryudo
Aidactif
Aidactif

Masculin
Messages : 1372
Inscrit(e) le : 31/03/2020

https://deus-academia.forumactif.com/
Toryudo a été remercié(e) par l'auteur de ce sujet.

Résolu Re: [phpBB2] Problème messages version mobile

Message par -tony- Dim 4 Déc 2022 - 21:13

Bonsoir Toryudo !

Merci pour l'explication ! J'ai supprimé les 4 scripts Smile

En creusant du côté des scripts, donc, j'ai identifié les deux qui posent problème (en les désactivant temporairement pour tester sur la version mobile).

Donc:
Sur la version mobile, la fonction "éditer" ne fonctionne pas à cause de ce script (qui fonctionne sur la version web):
https://www.pblvfrance3.com/11390.js (permet édition rapide, sans changer de fenêtre)
et
https://www.pblvfrance3.com/23542.js  (permet citation rapide, dans l'éditeur "réponse rapide")

Du coup, comment pourrais-je les adapter pour qu'ils fonctionnent sur la version mobile ?  [phpBB2] Problème messages version mobile 1f632  Question

Merci !
-tony-

-tony-
*

Masculin
Messages : 30
Inscrit(e) le : 03/12/2022

https://pblvfrance3.com
-tony- a été remercié(e) par l'auteur de ce sujet.

Résolu Re: [phpBB2] Problème messages version mobile

Message par Toryudo Lun 5 Déc 2022 - 19:19

Est-ce que vous pourriez me fournir les deux scripts (parce que quand je vais directement sur les pages, les caractères spéciaux passent mal, ce sera plus propre d'avoir les originaux) + le Template qui a été modifié ?
J'ai déjà une petite idée, mais il faut que je vérifie tous les cas.

Merci !
Toryudo

Toryudo
Aidactif
Aidactif

Masculin
Messages : 1372
Inscrit(e) le : 31/03/2020

https://deus-academia.forumactif.com/
Toryudo a été remercié(e) par l'auteur de ce sujet.

Résolu Re: [phpBB2] Problème messages version mobile

Message par -tony- Lun 5 Déc 2022 - 19:48

Bonjour Toryudo !


Pas de soucis :

Le script édition rapide:
Spoiler:

Le script citation rapide :
Spoiler:

Le template version mobile qui avait été modifié :
index_box:

Un grand merci !
-tony-

-tony-
*

Masculin
Messages : 30
Inscrit(e) le : 03/12/2022

https://pblvfrance3.com
-tony- a été remercié(e) par l'auteur de ce sujet.

Résolu Re: [phpBB2] Problème messages version mobile

Message par Toryudo Mer 7 Déc 2022 - 10:53

Bonjour !
Alors voilà, pour les deux scripts, j'ai ajouté un test :
Code:
if (_userdata["tpl_mobile"] != "mobi_modern"){

En gros, "ne pas exécuter le code si nous sommes sur les Template Mobile".
Et voici les nouveaux scripts donc :
Code:
var sFE_oldMsg = '', oFE_msgID = 0, sFE_subject = '';

jQuery(function () {
    if (_userdata["tpl_mobile"] != "mobi_modern"){
        var sCSS = '' +
            '<style>' +
            '.input_submit.alt {' +
                'background: none repeat scroll 0 0 #E2E9F0;' +
                'border-color: #DAE2EA;' +
                'border-radius: 3px 3px 3px 3px;' +
                'border-style: solid;' +
                'border-width: 1px;' +
                'box-shadow: 0 1px 0 0 #EFF3F8 inset, 0 2px 3px rgba(0, 0, 0, 0.2);' +
                'color: #464646;' +
                'margin-left: 4px !important;' +
                'padding: 4px;' +
                'text-decoration: none;' +
            '}' +
            '.input_text, .fdfButton {' +
                'padding: 4px !important;' +
                'box-shadow: 0 1px 0 0 #EFF3F8 inset, 0 2px 3px rgba(0, 0, 0, 0.2);' +
            '}' +
            '.desc {' +
                'background-color: #F1F6F9;' +
                'padding: 9px;' +
                'color: #777777;' +
                'font-size: 11px;' +
            '}' +
            '</style>';
        document.head.insertAdjacentHTML('beforeEnd', sCSS);

        jQuery('a[href*="mode=editpost"]').click(function (event) {
            event.preventDefault();
            var datahref = jQuery(this).attr('href');
            var post_ID = datahref.split('p=')[1].split('&')[0];
            /* Forum versions! */
            var phpBB2 = jQuery('#p' + post_ID).find('td .postbody div:eq(0)');
            var phpBB3 = jQuery('#p' + post_ID).find('div.content');
            var punbb = jQuery('#p' + post_ID).next().find('div.entry-content');
            var invision = jQuery('#p' + post_ID).find('div.post-entry');
     
            if (phpBB2.length) {
                oFE_msgID = phpBB2;
            } else if(phpBB3.length) {
                oFE_msgID = phpBB3;
            } else if(punbb.length) {
                oFE_msgID = punbb;
            } else if(invision.length) {
                oFE_msgID = invision;
            }; 
            fastEditMsg(post_ID);
        });
    }
});
/***
* Fast edit post!
* Function: fastEditMsg(post_ID);
*/
fastEditMsg = function(post_ID){
  if (isNaN(post_ID) || (jQuery('#p' + post_ID).length == 0) ) {return false}
 
    sFE_oldMsg = oFE_msgID.html();

    var sHtml = '<div class="main-content topic">' +
        '<div class="post">' +
            '<div id="editor_' + post_ID + '">' +
                '<textarea cols="9" id="text_editor_textarea_' + post_ID + '" name="message" onclick="storeCaret(this)" onkeyup="storeCaret(this)" onselect="storeCaret(this)" rows="15" style="width: 98%; height: 250px;" tabindex="3" wrap="virtual">' +
                '\n\n\n\n\n\nCarregando a mensagem, aguarde...</textarea>' +
                '<div class="row2 desc">' +
                    'Raison : <input type="text" value="" name="post_edit_reason_' + post_ID + '" id="post_edit_reason_' + post_ID + '" class="input_text" maxlength="250" size="35"> ' +
                    '<input type="checkbox" value="1" id="add_edit_' + post_ID + '" name="add_edit_' + post_ID + '" style="vertical-align: middle ! important;"> <label for="add_edit_' + post_ID + '">Montrer\'dernière édition par\'</label>' +
                '</div>' +
                '<fieldset class="submit" style="font-size: 13px !important; padding: 15px 6px; text-align: center; border: 0 none; background-color: #D1DDEA;">' +
                    '<input class="button2 fdfButton" name="post" tabindex="6" type="button" value="Enregistrer les modifications" onclick="fastEditSave(' + post_ID + ')"> ' +
                    '<a class="input_submit alt" href="/post?p='+ post_ID + '&mode=editpost">Utiliser le mode \351tendu</a>' +
                    ' ou ' +
                    '<a class="cancel" title="Annuler" href="javascript:void(0);" onclick="fastEditCancel(' + post_ID + ');">Annuler</a>' +
                '</fieldset>' +
            '</div>' +
        '</div>' +
    '</div>';
    oFE_msgID.html(sHtml);
 
    var text_area = jQuery('#text_editor_textarea_' + post_ID);
    text_area.val(sFE_oldMsg.replace(/<br\s?\/?>/g,"\n"));
    /* text_area.val(HtmlToBBCode(sFE_oldMsg)); */
 
    try
    {
        text_area.sceditor({
            locale: "pt",
            height: "250px",
            width: "auto",
            plugins: "bbcode",
            toolbar: "bold,italic,underline,strike|left,center,right,justify|quote,code,faspoiler,fahide|servimg,image,link,youtube|size,color,font,removeformat|emoticon,date,time,maximize,source",
            parserOptions: {
                /*breakAfterBlock: false,*/
                /*removeEmptyTags: false, */
                /*fixInvalidNesting: false,*/
                /*fixInvalidChildren: false*/
            },
            style: "https://illiweb.com/rs3/85/frm/SCEditor/minified/jquery.sceditor.default.min.css",
            rtl: false,
            emoticonsEnabled: true,
            emoticonsCompat: true,
            emoticonsRoot: "",
            emoticonsURL: "/smilies.forum?f=9&mode=smilies_frame&t=1383011440"
        });
        text_area.sceditor("instance").toggleSourceMode();
        text_area.sceditor("instance").focus();
        jQuery("a.sceditor-button-source").addClass("hover");
        /*jQuery.sceditor.ShowHideToolbarElements();*/
         
        var container = $('.sceditor-container');
        var ciframe = container.find('iframe');
        var ctextarea = container.find('textarea');
        ciframe.width(ciframe.width() - 9);
        ctextarea.width(ctextarea.width() - 9);
        jQuery('.sceditor-resize-cover').show();
    } catch(e) { if( typeof(console) != 'undefined' ) { console.error(e); } }

    jQuery.get("/post?p=" + post_ID + "&mode=editpost", function(data) {
        sFE_subject  = jQuery(data).find('input[name="subject"]').val();     
        var user_Msg = jQuery(data).find('#text_editor_textarea[name="message"]').val();     
        text_area.val(user_Msg);
        text_area.sceditor('instance').val(user_Msg);
    }).done(function(){
        jQuery('.sceditor-resize-cover').hide();
    }).fail(function(){
        oFE_msgID.html(sFE_oldMsg);
        alert('Attention!\n\n Une erreur est intervenu. une erreur est intervenue. Veuillez retenter dans quelques secondes!');
    });
    jQuery('html,body').animate({
        scrollTop: jQuery('#p' + post_ID).offset().top
    }, 1200);
};
/***
* Fast cancel post!
* Function: fastEditCancel(post_ID);
*/
fastEditCancel = function(post_ID){
    oFE_msgID.html(sFE_oldMsg);
    jQuery('html,body').animate({
        scrollTop: jQuery('#p' + post_ID).offset().top
    }, 400); 
};
/***
* Fast edit post!
* Function: fastEditSave(post_ID);
*/
fastEditSave = function(post_ID) {
  if (isNaN(post_ID) || (jQuery('#p' + post_ID).length == 0) ) {return false}
 
    var text_area = jQuery('#text_editor_textarea_' + post_ID);
    var edit_reason = '', send_txt = "Enviar";
    text_area.sceditor("instance").toggleSourceMode();
    var user_Msg = text_area.sceditor('instance').val();
    var sHtml = text_area.sceditor('instance').getSourceEditorValue();
 
    if(jQuery('#add_edit_' + post_ID).is(':checked')) {
        edit_reason = jQuery('#post_edit_reason_' + post_ID).val();
    }

    oFE_msgID.html(sHtml);
    if (sHtml.indexOf('<code>') !== -1) {
        var tagCode = oFE_msgID.children('code');
        var sContent = tagCode.html();
        tagCode.before('<div class="punbbtop">Código        <button onclick="punbbExpand(this); return false;">expand</button><button style="display: none" onclick="punbbCollapse(this); return false;">collapse</button>  <button onclick="punbbSelect(this); return false;">select</button>  <button onclick="punbbPopup(this); return false;">popup</button>  <button style="margin-right: 50px; float: right;" onclick="punbbAbout(this); return false;">?</button></div><pre class="highlight punbb_block">' + sContent + '</pre>');
        tagCode.remove();
        jQuery.getScript('http://balupton.github.io/jquery-syntaxhighlighter/scripts/jquery.syntaxhighlighter.min.js', function () {
            jQuery.SyntaxHighlighter.init({
                'wrapLines': false
            })
        })
    }

    jQuery.post("/post", {
        p: post_ID,
        mode: 'editpost',
        subject: sFE_subject,
        message: user_Msg,
        edit_reason: edit_reason,
        attach_sig: '1',
        notify: "0",
        post: send_txt
    }).done(function(){
        /* */
    }).fail(function(){
        oFE_msgID.html(sFE_oldMsg);
        alert('Attention!\n\n Une erreur est intervenu. une erreur est intervenue. Veuillez retenter dans quelques secondes!');
    });
    jQuery('html,body').animate({
        scrollTop: jQuery('#p' + post_ID).offset().top
    }, 400); 
};

Code:
jQuery(function () {
    if (_userdata["tpl_mobile"] != "mobi_modern"){
        //METTRE LE LIEN DU FORUM (sans la barre oblique à la fin)
        var fofo = 'https://www.pblvfrance3.com';
        $('a[href*="mode=quote"]').click(function(e){
            e.preventDefault();
            var linkpost = $(this).closest('tr').find('a.M14_postdetails').attr('href');
            var datahref = $(this).attr('href');
            $.get(datahref, function(a){
                var datatext = $(a).find('#text_editor_textarea[name="message"]').val();
                $('#quick_reply div.sceditor-container,.sceditor-container iframe, .sceditor-container textarea').css('min-height','350px');
                var br = "\n\n\n";
                var lien = '<a href="' + fofo + linkpost + '"class="M14_citation">» Voir le message cité</a>\n\n';
                $("#text_editor_textarea").click().sceditor('instance').insertText(lien + datatext + br)
            });
            $('body,html').stop().animate({scrollTop:$('#quick_reply').offset().top}, 1500);
        });
    }
});
Toryudo

Toryudo
Aidactif
Aidactif

Masculin
Messages : 1372
Inscrit(e) le : 31/03/2020

https://deus-academia.forumactif.com/
Toryudo a été remercié(e) par l'auteur de ce sujet.

Résolu Re: [phpBB2] Problème messages version mobile

Message par -tony- Jeu 8 Déc 2022 - 19:36

Bonsoir Toryudo !

Testé, effectivement nickel sur la version mobile, les deux scripts fonctionnent bien ! Merci beaucoup !
Bonne soirée
-tony-

-tony-
*

Masculin
Messages : 30
Inscrit(e) le : 03/12/2022

https://pblvfrance3.com
-tony- a été remercié(e) par l'auteur de ce sujet.

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

- Sujets similaires

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