MyBB.support, le portail francophone de MyBB
[Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - Version imprimable

+- MyBB.support, le portail francophone de MyBB (https://mybb.fr)
+-- Forum : MyBB.fr (https://mybb.fr/forum-1.html)
+--- Forum : Tutoriels (https://mybb.fr/forum-19.html)
+--- Sujet : [Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" (/thread-5103.html)

Pages : 1 2


[Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - cfillion - 04-01-2012

Bonjour,

Nous allons voir ici comment afficher le navigateur utilisé dans la page "Qui est en ligne" (membres autorisés seulement).

Étape 1 :
Uploadez le fichier attaché "functions_browser.php" dans le dossier /inc de votre forum.

Étape 2 :
Ajoutez cete ligne au début du fichier "/inc/functions_online.php" :
Code PHP :
require_once 'functions_browser.php'

Étape 3 :
Aux alentours de la ligne 967 du fichier "/inc/functions_online.php", remplacez ce code
Code PHP :
function build_wol_row($user)
{
    global 
$mybb$lang$templates$theme$session

Par
Code PHP :
function build_wol_row($user)
{
    global 
$mybb$lang$templates$theme$session$db

Ensuite, ajoutez juste en dessous de "eval("\$user_ip = \"".$templates->get("online_row_ip")."\";");" :
Code PHP :
        $query $db->simple_select("sessions""useragent""sid='{$user['sid']}'");
        
$user['useragent'] = $db->fetch_field($query"useragent");
        if(!empty(
$user['useragent']))
        {
            
$browser getBrowserInfos($user['useragent']);
            
$userAgent '';
            if(!empty(
$browser['name']))
            {
                
$userAgent $browser['name'];
                if(!empty(
$browser['version']))
                    
$userAgent .= ' '.$browser['version'];
            }

            if(!empty(
$browser['platform']))
            {
                
$platform $browser['platform'];
                if(!empty(
$browser['arch']))
                    
$platform .= ' '.$browser['arch'];

                if(!empty(
$browser['distro']))
                    
$platform .= '/'.$browser['distro'];

                
$userAgent .= (empty($userAgent)) ? $platform ' ('.$platform.')';
            }

            if(empty(
$userAgent))
                
$userAgent htmlspecialchars_uni($user['useragent']);
            
            
$user['useragent'] = '<acronym class="smalltext browser" style="float: right;" title="'.htmlspecialchars_uni($user['useragent']).'">' $userAgent '</acronym>';
        } 

Quelques lignes plus bas, ajoutez après $user['ip'] = ''; :
Code PHP :
$user['useragent'] = ''

Étape 4 :
Ajoutez "{$user['useragent']}" juste après "{$user_ip}" dans le template "online_row".

C'est terminé ! Smile
Vous devriez obtenir un résultat semblable à ça :
[attachment=1054]


RE: [Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - xxvirusxx - 05-01-2012

Merci Smile


RE: [Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - cfillion - 07-01-2012

De rien !

EDIT : J'ai modifié le fichier functions_browser.php : la version de windows est maintenant détectée.
EDIT2 : Ajout de la détection de l'iPad et correction de la detection de Safari.



RE: [Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - Adula-Kun - 07-01-2012

Un grand merci à toi cfillion, cela va beaucoup me servir Wink


RE: [Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - Cheese - 11-02-2012

J'arrive pas ! Partagez les fichiers prêts au pire Big Grin


RE: [Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - cfillion - 11-02-2012

Où bloque-tu ?
Est-ce que tu as mis le fichier functions_browser.php dans le dossier /inc de ton forum ?

Je ne vais pas mettre les fichiers modifiés car ils peuvent changer dans les futures versions de MyBB.


RE: [Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - Cheese - 11-02-2012

Bah ça me met rien sur mon forum ! Et pour l'instant essaye de mettre aussi avec le tuto, j'y arrive vraiment pas. :/


RE: [Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - cfillion - 12-02-2012

Tu as fait toutes les modifications ?
Tu as mis les fichiers modifiés sur ton serveur ?
Tu est connecté avec un compte admin sur ton site ?


RE: [Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - Cheese - 12-02-2012

Je suis admin, j'ai tout fais, et j'ai mis les fichiers, je les ai upload avec filezilla.


RE: [Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - cfillion - 12-02-2012

Tu as même modifié le template ?


RE: [Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - Cheese - 13-02-2012

J'ai fais tout le tuto


RE: [Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - mmlg620 - 30-04-2012

excellent tuto très pratique .


RE: [Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - Deen - 30-04-2012

Est-ce qu'on pourrais mettre une icône (du navigateur) devant chaque nom dans le "qui est en ligne" de la page index ?

Super travail


RE: [Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - cfillion - 30-04-2012

(30-04-2012, 15:36)Deen a écrit :  Est-ce qu'on pourrais mettre une icône (du navigateur) devant chaque nom dans le "qui est en ligne" de la page index ?

Super travail

Oui c'est possible.
Remplace ce code :
Code PHP :
    if(empty($userAgent))
                
$userAgent htmlspecialchars_uni($user['useragent']); 

Par :
Code PHP :
    if(empty($userAgent))
    {
        switch(
$browser['shortname'])
        {
            case 
'MSIE':
                
$browserIcon 'ie';
            case 
'Safari':
                
$browserIcon 'safari';
            case 
'Chrome':
                
$browserIcon 'chrome';
            case 
'Firefox':
                
$browserIcon 'firefox';
            default:
                
$browserIcon 'unknow';
        }
        
$userAgent '<img src="images/'.$browserIcon.'.png" alt="" /> '.htmlspecialchars_uni($user['useragent']);
    } 

Je n'ai pas testé, mais ça devrait fonctionner. Wink


RE: [Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - exdiogene - 30-04-2012

Suite au téléchargement du fichier et à mon analyse du code j'avais écrit cette solution avant de voir que cfillion avait répondu il y a 30 minutes...

Mais bon, voici quand même ma solution :

Il suffit de créer des images pour tous les navigateurs et les placer dans le répertoire "images" du thème choisi et d'ajouter dans le template "online_row" quelque chose comme ceci à l'endroit voulu :
Code PHP :
<img src="{$theme['imgdir']}/{$browser['shortname']}.png" alt="{$browser['shortname']}.png" title="{$browser['shortname']}.png" /> 

Les principales images auront ces noms :
Citation :Opera.png
MSIE.png
Netscape.png
Firefox.png
Chrome.png
Safari.png

Pour les autres il suffit de consulter les noms "$ub" assignés dans le fichier "functions_browser.php" et s'il n'y en a pas alors c'est le nom "$bname" qui sera utilisé...



RE: [Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - Deen - 30-04-2012

Les images je les prends ou ?



RE: [Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - spyto - 30-04-2012

En cherchant sur le web, dans les sites de photos et images libres de droit, ça ne manque pas !
Par exemple :
http://www.grafilog.com/2010/11/10/icones-navigateurs/
http://www.iquid.fr/ressources/pack-dicones-des-navigateurs-internet/
http://icones-gratuites.com/navigateurs/orbs-icones-navigateurs/
http://www.taggle.org/2010/03/4414-set-dicones-des-9-navigateurs-web-principaux/


RE: [Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - Deen - 30-04-2012

hmm jai ajouté les image et mis le code
Dans ma page index, je ne vois pas que je suis sur firefox (l'image)

Tout fonctionne quand je clic sur le "qui est en ligne" liste complète.
Je vois le texte avec la sorte de navigateur

Mais sur la page index je ne voie pas les images a coté de mon pseudo en bas

http://nastydupe.no-ip.org/forums/


RE: [Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - spyto - 30-04-2012

En tant qu'invité je ne vois aucune image ni dans "Qui est en ligne", ni dans l'index.
Normal, puisque dans ton code source je vois ceci (par deux fois) :
Code :
<img src="images/just-dark/.png" alt=".png"title=".png"&/>
Il manque le nom de l'image, je ne sais pour quelle raison.
D'où affichage incongru de ".png.png".
Je ne comprends pas non plus la présence de '&' en fin de ligne ?...


RE: [Tutoriel] Afficher le navigateur utilisé dans la page "Qui est en ligne" - Deen - 30-04-2012

recommence
Je faisais des test

Je voie les icones avec un X rouge dans la fenetre de "qui est en ligne"

Moi je veux les icones directement dans la page du forum en avant du nom du membres
(30-04-2012, 15:46)cfillion a écrit :  
(30-04-2012, 15:36)Deen a écrit :  Est-ce qu'on pourrais mettre une icône (du navigateur) devant chaque nom dans le "qui est en ligne" de la page index ?

Super travail

Oui c'est possible.
Remplace ce code :
Code PHP :
    if(empty($userAgent))
                
$userAgent htmlspecialchars_uni($user['useragent']); 

Par :
Code PHP :
    if(empty($userAgent))
    {
        switch(
$browser['shortname'])
        {
            case 
'MSIE':
                
$browserIcon 'ie';
            case 
'Safari':
                
$browserIcon 'safari';
            case 
'Chrome':
                
$browserIcon 'chrome';
            case 
'Firefox':
                
$browserIcon 'firefox';
            default:
                
$browserIcon 'unknow';
        }
        
$userAgent '<img src="images/'.$browserIcon.'.png" alt="" /> '.htmlspecialchars_uni($user['useragent']);
    } 

Je n'ai pas testé, mais ça devrait fonctionner. Wink

C'est le code que j'ai mis dans le fichier "functions_online.php"

D'après moi c'est la le problème
bon j'ai trouver un plugin qui fait la même chose dans les message sur le forum

Merci


 Utilitaire de traduction fourni par Regentronique