MyBB.support, le portail francophone de MyBB
[Réglé] popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - Version imprimable

+- MyBB.support, le portail francophone de MyBB (http://mybb.fr)
+-- Forum : MyBB.fr (http://mybb.fr/forum-1.html)
+--- Forum : Support (http://mybb.fr/forum-5.html)
+--- Sujet : [Réglé] popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP (/thread-7482.html)

Pages : 1 2


popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - Pichorka - 15-12-2015


VERSION_MyBB : 1.8.6
Bonjour à tous,

J'ai migré correctement de MyBB 1.6.13 a 1.8.6, en prenant soins de désactiver tous les plugin/mod, désinstaller pour certains, rétabli les Templates et CSS, puis la migration et les conversions ce sont bien passés.

J'ai ensuite, petit à petit corriger le nouveau thème Rush que j'ai corrigé, donné comme compatible 1.8 mais bon ... , et j'utilise également celui par défaut qui fonctionne très bien, donc pas de soucis, juste quelques conflits de JS et JQuery ne je ne peu pas résoudre, je doit être d'un niveau très faible niveau codage, je le reconnais.

Je rencontre un problème dans le Panel Admin (ACP) sur la fonction : Utilisateurs et groupes > Accueil » Utilisateurs » Adresses IP > Colonne "Controls", Bouton "Options" et dans le menu déroulant de "Options" la sélection "Informations sur cette adresse IP".

Celui-ci lance la requête suivante (j'ai remplacé l'IP réel par xx.xxx.xxx.xxx pour la la diffuser):

Code :
<a href="index.php?module=user-users&amp;action=iplookup&amp;ipaddress=xx.xxx.xxx.xxx" onclick="MyBB.popupWindow('index.php?module=user-users&amp;action=iplookup&amp;ipaddress=xx.xxx.xxx.xxx', null, true); return false;" class="popup_item">Informations sur cette adresse IP</a>

Mais rien ne se passe, aucun renvoi sur une autre page ou aucune fenêtre popup surgissante qui s'ouvre ...
J'ai donc essayer de comprendre, et au lieu de cliquer sur le Bouton j'ai fait un clic droit avec ma souri, sur ce bouton, et j'ai choisi : Ouvrir le lien dans un nouvel onglet.

En faisant cela, j'ai eu un nouvel Onglet sur mon navigateur ou j'ai bien les information de cette requête, et j'obtiens ceci :

Citation :Information diverses pour ’xx.xxx.xxx.xxx’
Nom d’hôte: xx.xxx.xxx.xxx.rev.sfr.net
Localisation GeoIP: N/A

Adresse : http://www.MONSITE.com/admin/index.php?module=user-users&action=iplookup&ipaddress=xx.xxx.xxx.xxx

J'ai chercher a comprendre et j'ai chercher sur le WEB, et j'ai trouver ce sujet la, sans savoir si c'est lié a mon souci actuel ou a un problème autre.
Le sujet en question (issues) se trouve la > https://github.com/mybb/mybb/issues/251

J'ai lu et relevé que le codeur PirataNervo, a signaler ce problème en 2014 je cite :

Citation :PirataNervo commented on 18 May 2014
Fixed all popupWindow problems in the ACP as well as a bug related to IP addresses in the ACP - IP Lookup.

Je ne sait pas si cela a été résolu, et si vous avez également ce problème, et comment le résoudre.
J'ai renseigner le compte et mot de passe de pour votre support dans le message. Ce compte est un compte Administrateur afin que vous puissiez tester si besoin.

Je vous remercie par avance pour l'aide que vous pourriez m'apporter, afin de résoudre, si possible, ce problème.

Cordialement,


RE: popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - exdiogene - 15-12-2015

J'aimerais faire un commentaire rapide ici : La façon de stocker les adresses IPs dans les tables de MyBB a changé dans la version 1.8, ce qui peut bloquer l'opération de certains plugins.

Il faut maintenant les encoder et les décoder...


RE: popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - Pichorka - 15-12-2015

Bonsoir exdiogene,

Merci pour ce commentaire très juste, j'ai en effet remarqué dans les tables que certaines ont été converties et vidés au passage, de nouveaux nom de colonnes ont également été renommés etc .

Par contre depuis le forum dans un message de sujet, j'ai "Adresse IP : Notée" et quand je clic dessus, ça fonctionne, j'ai le résultat.
Mais, si un membre inscrit mais ne poste pas de messages, je ne peux pas vérifier l'IP.

Simple constatation et commentaire.


RE: popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - exdiogene - 15-12-2015

Quand je vais dans : Panneau d'Administration -> Utilisateurs et Groupes.

Il n'y a que "Afficher les adresses IP" présent dans le popup du bouton "Options", l'option mentionnée précédemment n'y est pas pour le compte de test...

J'ai essayé avec le lien suivant, sans aucun résultat : http://www.mobilsam.com/admin/index.php?module=user-users&amp;action=iplookup&amp;ipaddress=88.176.248.3

Serait-ce encore un problème de "plugin"?


RE: popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - Pichorka - 15-12-2015

Quand tu est dans : Panneau d'Administration -> Utilisateurs et Groupes.
Dans le popup du bouton "Options" il y a : "Afficher les adresses IP" il faut cliquer pour aller dans l'autre menu avec les popup et l'option "Informations sur cette adresse IP".

EDIT : Mon profil > http://www.mobilsam.com/admin/index.php?module=user-users&action=ipaddresses&uid=1


RE: popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - Pichorka - 17-12-2015

Re bonjour,

Je n'arrive pas a trouver le conflit de script qui empêche l'ouverture de la popup (et cela me touche également tout ce qui concerne les MyBB.popupWindow).
Si quand vous aurez un petit moment, vous pourriez m'y aider.

Merci par avance !

Cordialement,


RE: popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - Pichorka - 17-12-2015

J'ai un peu chercher le problème pour ce "popupWindow" qui se trouve dans le dossier jscripts/general.js

L'ancien general.js de la version 1.6.x de MyBB, le code pour la popup était comme ceci :
Code :
    popupWindow: function(url, name, width, height)
    {
        settings = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resiza​ble=yes";

        if(width)
        {
            settings = settings+",width="+width;
        }

        if(height)
        {
            settings = settings+",height="+height;
        }
        window.open(url, name, settings);
    },

Le nouveau general.js de la version 1.8.x de MyBB, le code pour la popup est comme ceci :
Code :
    popupWindow: function(url, options, root)
    {
        if(!options) options = { fadeDuration: 250, zIndex: (typeof modal_zindex !== 'undefined' ? modal_zindex : 9999) }
        if(root != true)
            url = rootpath + url;

        $.get(url, function(html)
        {
            $(html).appendTo('body').modal(options);
        });
    },

Pensez vous que la fonction nouvelle fonction ".modal" puisse être la raison qui empêcherai la popup de s'ouvrir ?

Si oui comment résoudre ce problème lié à l"ouverture de la popup ?

Merci pour votre aide.
Cordialement,


RE: popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - Pichorka - 17-12-2015

Alors oui c'est bien cette fonction qui coince ...
J'ai remplacé la partie du code dans general.js et du coup tout fonctionne ...

Est-ce normal ?
Est-ce risqué ?

Merci par avance pour votre réponse Smile

Cordialement,


RE: popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - spyto - 17-12-2015

Je pense qu'il est hasardeux de modifier les fichiers du noyau de MyBB. Undecided
Pour la bonne et simple raison que lors d'une mise à jour le fichier pourra être remplacé et tout sera à refaire.

De plus, dans ce cas précis, ce sont les popupWindow de MyBB qui risquent d'être perturbés... Une incohérence avec d'autres lignes du script dans d'autres fichiers n'est pas à exclure.

La règle générale est que c'est au plugin de s'adapter au code de MyBB et non l'inverse !


RE: popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - Pichorka - 17-12-2015

Bonsoir Spyto,

Merci pour ta réponse claire sur ce sujet, a savoir modifier les fichiers du noyau de MyBB.
Je ne note pas de problème ailleurs dans MyBB, toutes les fonctionnalités sont corrects.
Je comprend que ce soit aux plugin a s'adapter, mais il s'agit de la fonction popup intégré a MyBB d'origine et accessible si tu lis le sujet depuis le PCA, donc ça aurai du marcher, mais ça ne fonctionnai pas du tout.

Peut-être un "bug" non corrigé du fichier general.js, je ne sais pas, mais ce que je constate, c'est que cette fonction décrite plus haut en détail intégré d'origine a MyBB dans le Pannel Admin (PCA) ne fonctionnai pas du tout ...

Donc je ne comprend pas si vous avez pu reproduire ce problème, faute de quoi vu mmon anglais plus que approximatif, il faudrai remonter le souci a MyBB.com et faire ouvrir une ISSUE peut-être ?

Avez vous les même symptômes, depuis votre pannel ?

Merci par avance pour votr temps passé, et votre réponse.


popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - exdiogene - 18-12-2015

Une situation très curieuse que j'ai remarqué dans le code source de la page est ceci :

Code :
<div class="popup_item_container">
<a href="index.php?module=user-users&amp;action=iplookup&ipaddress=85.26.97.29"
onclick="MyBB.popupWindow('index.php?module=user-users&amp;action=iplookup&ipaddress=85.26.97.29', null, true); return false;" class="popup_item">
Informations sur cette adresse IP</a></div>

Sur la ligne du URL et pour le "onclick" nous avons :
Code :
&amp;action=iplookup

Mais pour le deuxième paramètre :
Code :
&ipaddress=85.26.97.29

Le & n'est pas converti en "entity" pour le HTML...

Ce n'est que dans ce bout de code qu'il manque la conversion en "entity"... Huh


RE: popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - Pichorka - 18-12-2015

Ce serait alors peut-être une correction a apporter dans le fichier :  admin/modules/users/users.php ?

Voila la partie concerné du code dans le fichier "users.php", sauf erreur :
Code :
if($mybb->input['action'] == "ipaddresses")
{
    $page->add_breadcrumb_item($lang->ip_addresses);
    $page->output_header($lang->ip_addresses);

    $sub_tabs['ipaddresses'] = array(
        'title' => $lang->show_ip_addresses,
        'link' => "index.php?module=user-users&amp;action=ipaddresses&amp;uid={$mybb->input['uid']}",
        'description' => $lang->show_ip_addresses_desc
    );

    $plugins->run_hooks("admin_user_users_ipaddresses");

    $page->output_nav_tabs($sub_tabs, 'ipaddresses');

    $query = $db->simple_select("users", "uid, regip, username, lastip", "uid='{$mybb->input['uid']}'", array('limit' => 1));
    $user = $db->fetch_array($query);

    // Log admin action
    log_admin_action($user['uid'], $user['username']);

    $table = new Table;

    $table->construct_header($lang->ip_address);
    $table->construct_header($lang->controls, array('width' => 200, 'class' => "align_center"));

    if(empty($user['lastip']))
    {
        $user['lastip'] = $lang->unknown;
        $controls = '';
    }
    else
    {
        $user['lastip'] = my_inet_ntop($db->unescape_binary($user['lastip']));
        $popup = new PopupMenu("user_last", $lang->options);
        $popup->add_item($lang->show_users_regged_with_ip,
            "index.php?module=user-users&amp;action=search&amp;results=1&amp;conditions=".urlencode(my_serialize(array("regip" => $user['lastip']))));
        $popup->add_item($lang->show_users_posted_with_ip, "index.php?module=user-users&amp;results=1&amp;action=search&amp;conditions=".urlencode(my_serialize(array("postip" => $user['lastip']))));
        $popup->add_item($lang->info_on_ip, "index.php?module=user-users&amp;action=iplookup&ipaddress={$user['lastip']}", "MyBB.popupWindow('index.php?module=user-users&amp;action=iplookup&ipaddress={$user['lastip']}', null, true); return false;");
        $popup->add_item($lang->ban_ip, "index.php?module=config-banning&amp;filter={$user['lastip']}");
        $controls = $popup->fetch();
    }
    $table->construct_cell("<strong>{$lang->last_known_ip}:</strong> ".$user['lastip']);
    $table->construct_cell($controls, array('class' => "align_center"));
    $table->construct_row();

    if(empty($user['regip']))
    {
        $user['regip'] = $lang->unknown;
        $controls = '';
    }
    else
    {
        $user['regip'] = my_inet_ntop($db->unescape_binary($user['regip']));
        $popup = new PopupMenu("user_reg", $lang->options);
        $popup->add_item($lang->show_users_regged_with_ip, "index.php?module=user-users&amp;results=1&amp;action=search&amp;conditions=".urlencode(my_serialize(array("regip" => $user['regip']))));
        $popup->add_item($lang->show_users_posted_with_ip, "index.php?module=user-users&amp;results=1&amp;action=search&amp;conditions=".urlencode(my_serialize(array("postip" => $user['regip']))));
        $popup->add_item($lang->info_on_ip, "index.php?module=user-users&amp;action=iplookup&ipaddress={$user['regip']}", "MyBB.popupWindow('index.php?module=user-users&amp;action=iplookup&ipaddress={$user['regip']}', null, true); return false;");
        $popup->add_item($lang->ban_ip, "index.php?module=config-banning&amp;filter={$user['regip']}");
        $controls = $popup->fetch();
    }
    $table->construct_cell("<strong>{$lang->registration_ip}:</strong> ".$user['regip']);
    $table->construct_cell($controls, array('class' => "align_center"));
    $table->construct_row();

    $counter = 0;

    $query = $db->simple_select("posts", "DISTINCT ipaddress", "uid='{$mybb->input['uid']}'");
    while($ip = $db->fetch_array($query))
    {
        ++$counter;
        $ip['ipaddress'] = my_inet_ntop($db->unescape_binary($ip['ipaddress']));
        $popup = new PopupMenu("id_{$counter}", $lang->options);
        $popup->add_item($lang->show_users_regged_with_ip, "index.php?module=user-users&amp;results=1&amp;action=search&amp;conditions=".urlencode(my_serialize(array("regip" => $ip['ipaddress']))));
        $popup->add_item($lang->show_users_posted_with_ip, "index.php?module=user-users&amp;results=1&amp;action=search&amp;conditions=".urlencode(my_serialize(array("postip" => $ip['ipaddress']))));
        $popup->add_item($lang->info_on_ip, "index.php?module=user-users&amp;action=iplookup&ipaddress={$ip['ipaddress']}", "MyBB.popupWindow('index.php?module=user-users&amp;action=iplookup&ipaddress={$ip['ipaddress']}', null, true); return false;");
        $popup->add_item($lang->ban_ip, "index.php?module=config-banning&amp;filter={$ip['ipaddress']}");
        $controls = $popup->fetch();

        $table->construct_cell($ip['ipaddress']);
        $table->construct_cell($controls, array('class' => "align_center"));
        $table->construct_row();
    }

    $table->output($lang->ip_address_for." {$user['username']}");

    $page->output_footer();
}

Sur la ligne des URL, je constate bien qu'il y a des & au lieu des &amp; ...

Ce que j'ai du mal à comprendre, c'est pourquoi lors de la migration, le code de ce fichier n'ai pas été remplacé ...

Quelle sont les lignes qui selon toi devraient être corrigés ?

L'action de recherche d'IP depuis le Forum lui fonctionne bien, dans les messages des sujets "Adresse IP : Notée" (modération), c'est seulement depuis le PCA que ça ne marche pas !

Je me suis trompé de fichier module ?

[attachment=1587]


RE: popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - exdiogene - 18-12-2015

Non effectivement les "codeurs" de MyBB ont oublié de convertir le & en &amp; aux trois endroits pour "&ipaddress="...

Je recommande donc de faire la correction dans ce fichier en espérant que ceci règle le problème précédent d'accès à la fenêtre. Wink


RE: popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - Pichorka - 18-12-2015

Petit retour,

Merci exdiogene, pour ton aide précieuse !

Effectivement ce changement, règle le problème et la fenêtre change bien et donne les informations, mais a la place du PCA au lieu d'un genre de target="_blank" ou plutôt qui devrai ouvrir la fenêtre type modal ... ou dans un nouvel onglet du navigateur.

Ils ont du oublier une partie de code pour la fonction modal parce que nous quittons le PCA a l'appel de la fonction, ce qui n'est pas le but je pense avec le JQuery et modal, sauf erreur


RE: popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - exdiogene - 18-12-2015

Je crois plutôt que c'est le "; return false;" à la fin de la fonction javascript, qui ne s'exécute pas pour une raison qui m'est encore inconnue!

Le "; return false;" signifie que la référence donnée dans le code HTML pour le lien, ne doit pas être exécutée. Pourtant en plus de la nouvelle fenêtre crée en javascript le lien est exécuté et cela fait quitter la page précédente. Donc nous avons deux fois l'action, celle dans le cas où il n'y a pas de javascript et l'autre dans le cas où le javascript est activé.


RE: popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - Pichorka - 18-12-2015

Oui effectivement, j'ai replacer le "general.js" original non modifié, et l'action ne se fait pas (forcement j'ai retirer la modification faite dans le fichier "general.js"), et ce même en ayant laissé les modifications apportés au fichier users.php pour ce qui est du code :

& en &amp; aux trois endroits pour "&ipaddress="

Etant donné que tu est un excellent codeur et je pèse mes mots, je reste sur ton idée du "; return false;"

J'espère que tu pourra trouver la solution, ou s'il faut remonter le bug en anglais (la je passe mon tour, j'écris anglais comme google et ils ne me comprennent jamais ce que je tente de leurs écrire) Wink a MyBB.com et qu'ils ouvrent une "iSSUES" pour ces problèmes et oublis ...

J'attend tout de même, parce que je sais que tu cherchera a comprendre, si la solution au problème puisse être corrigé, d'ors et déjà, sans attendre un Upgrade qui résoudrai ces fonctions.


RE: popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - exdiogene - 18-12-2015

Je viens de remarquer que toutes les corrections ne furent pas effectuées, car ici :

Code :
<a href="index.php?module=user-users&amp;action=iplookup&ipaddress=


Il y a encore un & non converti...

P.S. Il y avait 6 endroits à corriger.


RE: popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - Pichorka - 18-12-2015

Ahh ... je corrige de suite :-/ Merci


RE: popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - Pichorka - 18-12-2015

(18-12-2015, 17:03)exdiogene a écrit :  Je viens de remarquer que toutes les corrections ne furent pas effectuées, car ici :

Code :
<a href="index.php?module=user-users&amp;action=iplookup&ipaddress=


Il y a encore un & non converti...

P.S. Il y avait 6 endroits à corriger.



Je viens de vérifier et le faire. J'ai appliqué les corrections aux 6 endroits mais malgrès cela, l'action ne se toujours fait pas ...

Reste le "; return false;" à la fin de la fonction javascript, qui ne s'exécute touours pas.

Le general.js est remis à l'original, sans mes "bricolages" j'avais bien sur fait un Backup, et juste travailler sur une copie Wink

J'attend ton retour


RE: popupWindow ACP popup ne s'ouvre pas sur le bouton Information sur cette adresse IP - Pichorka - 18-12-2015

Je re-poste parce que j'ai toujours le manque de "&amp;" quand j'inspecte l'élément mais si je fait une copie, j'ai pourtant bien ceci :

Code :
<a href="index.php?module=user-users&amp;action=iplookup&amp;ipaddress=xx.xxx.xxx.xxx" onclick="MyBB.popupWindow('index.php?module=user-users&amp;action=iplookup&amp;ipaddress=xx.xxx.xxx.xxx', null, true); return false;" class="popup_item">Informations sur cette adresse IP</a>

EDIT 01 : J'obtiens ceci au clic :
Code :
<script type="text/javascript">
function submitUserForm() { $('#tab_overview').closest('FORM').submit(); }</script>

EDIT 02 : Un vieux bout de résidu de code ? #tab_overview ?


 Utilitaire de traduction fourni par Regentronique