| |
|
| :: |
| Auteur |
Message |
franckcara PR1


Inscrit le: 23 Fév 2007 Messages: 177
|
Posté le: Mar Mar 20, 2007 7:54 pm Sujet du message: [Show Bots] en page d'accueil |
|
|
Bonjour
j'ai utilisé les sessions pour mettre le nombre de connectés en page d'accueil
Par contre je n'ai pas le nombre de bot
y a t'il possibilité de les rajoutés???
Voici le code utilisé:
| Code: | <?php
$sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip
FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s
WHERE u.user_id = s.session_user_id
AND s.session_time >= ".( time() - 300 ) . "
ORDER BY s.session_ip ASC, s.session_logged_in DESC";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user/online information', '', __LINE__, __FILE__, $sql);
}
$ip_prec = 0;
$membres = 0;
$visiteurs = 0;
$invisibles = 0;
$online_userlist = '';
while ( $row = $db->sql_fetchrow($result) )
{
if ( $row['session_ip'] != $ip_prec )
{
$membres += intval($row['session_logged_in']);
if ( $row['session_logged_in'] != '1')
$visiteurs++;
else
{
$style_color = '';
if ( $row['user_level'] == ADMIN )
{
$row['username'] = '<b>' . $row['username'] . '</b>';
$style_color = 'style="color:#' . $theme['fontcolor3'] . '"';
}
else if ( $row['user_level'] == MOD )
{
$row['username'] = '<b>' . $row['username'] . '</b>';
$style_color = 'style="color:#' . $theme['fontcolor2'] . '"';
}
if ( $row['user_allow_viewonline'] )
{
$user_online_link = '<a href="' . append_sid("{$phpbb_root_path}profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'>' . $row['username'] . '</a>';
}
else
$invisble++;
if ( $row['user_allow_viewonline'] )
{
$online_userlist .= ( $online_userlist != '' ) ? ', ' . $user_online_link : $user_online_link;
}
}
$ip_prec = $row['session_ip'];
}
}
$texte = ( $visiteurs+$membres == '0' ) ? $lang['Online_users_zero_total'] . '<br />' : ( ( $visiteurs+$membres == '1' ) ? sprintf($lang['Online_user_total'] . '<br />',$visiteurs+$membres) : sprintf($lang['Online_users_total'] . '<br />',$visiteurs+$membres) );
$texte .= ( $membres == '0' ) ? $lang['Reg_users_zero_total'] : ( ( $membres == '1' ) ? sprintf($lang['Reg_user_total'],$membres) : sprintf($lang['Reg_users_total'],$membres) );
$texte .= ( $invisibles == '0' ) ? $lang['Hidden_users_zero_total'] : ( ( $invisibles == '1' ) ? sprintf($lang['Hidden_user_total'],$invisibles) : sprintf($lang['Hidden_users_total'],$invisibles) );
$texte .= ( $visiteurs == '0' ) ? $lang['Guest_users_zero_total'] : ( ( $visiteurs == '1' ) ? sprintf($lang['Guest_user_total'],$visiteurs) : sprintf($lang['Guest_users_total'],$visiteurs) );
echo($texte.'<br />');
echo($online_userlist.'<br />');
?> |
|
_________________ Forum informatique||Tutoriaux informatique||Annuaire web |
|
| Revenir en haut de page |
|
 |
|
 |
dcz Administrateur - Site Admin

Inscrit le: 28 Avr 2006 Messages: 14327
|
Posté le: Mer Mar 21, 2007 5:20 pm Sujet du message: Re: [Show Bots] en page d'accueil |
|
|
Arg, je viens de perdre mon post, FF qui se met à planter, on peut plus jurer de rien ....
Donc, et bien, je vais faire plus court du coup, en regardant ton code, tu devrait pas avoir trop de souci à ajouter celui du mod show bot, il faut juste ajouter le code que le mod ajoute dans page_header.php, et prenant en compte que ton mod utilise pas les mêmes nom de variables, il utilise au lieu de $visiteurs $guests_online.
Il faut un peut adapter, pour le compte total, $visiteurs+$membres deviens $visiteurs+$membres+$bot_cnt, voilà, tu pourrais aussi bien copier direct le code de page_header.php.
Mais oui, c'est dix fois plus simple en fait, finalement heureusement que FF à planté
Tu mets juste :
| Code: | // www.phpBB-SEO.com SEO TOOLKIT BEGIN - BOTS
$bots_online = array();
$online_botlist = '';
$bot_count = 0;
$bot_style = array( 'Google' => 'style="color:#2159D6;font-weight:bold"', 'MSN' => 'style="color:#52BA18;font-weight:bold"', 'Yahoo!' => 'style="color:#FF0031;font-weight:bold"' );
$bot_to_style = array( 'Google', 'Yahoo!', 'Yahoo!' , 'Yahoo!', 'MSN', 'MSN', 'MSN', 'MSN');
$bot_ips = array( '66.249', '74.6', '66.196', '66.142', '64.4', '65.5', '131.107', '207.46' );
// www.phpBB-SEO.com SEO TOOLKIT END - BOTS |
Au tout début, et ensuite, tu mets le code de page header.php, de :
| Code: | | if (defined('SHOW_ONLINE')) |
à :
Avec le mod déjà installé donc.
Ça fait tout pareil, en mettant éventuellement à jour le record des connectés au besoin
Il ne reste plus qu'à choisir la méthode de sortie, pour faire comme ton mod, tu ajoutes juste après :
| Code: |
echo($l_online_users . '<br />'); |
Et hop.
Ah oui, faudra aussi remplacer :
| Code: | | if (defined('SHOW_ONLINE')) |
Par autre chose,
Pour faire simple.
++ |
_________________ Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________
Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche |
|
| Revenir en haut de page |
|
 |
franckcara PR1


Inscrit le: 23 Fév 2007 Messages: 177
|
Posté le: Mer Mar 21, 2007 8:05 pm Sujet du message: Re: [Show Bots] en page d'accueil |
|
|
Bon heureusement qu'on a pas fait compliqué
merci
j'essaye et je te tiens au courant
Tu peux etre plus preci svp???
| Citation: |
Au tout début, et ensuite, tu mets le code de page header.php, de :
|
|
_________________ Forum informatique||Tutoriaux informatique||Annuaire web |
|
| Revenir en haut de page |
|
 |
dcz Administrateur - Site Admin

Inscrit le: 28 Avr 2006 Messages: 14327
|
Posté le: Jeu Mar 22, 2007 10:24 am Sujet du message: Re: [Show Bots] en page d'accueil |
|
|
Donc, à la place de ton script, tu mets :
| Code: | <?php
// www.phpBB-SEO.com SEO TOOLKIT BEGIN - BOTS
$bots_online = array();
$online_botlist = '';
$bot_count = 0;
$bot_style = array( 'Google' => 'style="color:#2159D6;font-weight:bold"', 'MSN' => 'style="color:#52BA18;font-weight:bold"', 'Yahoo!' => 'style="color:#FF0031;font-weight:bold"' );
$bot_to_style = array( 'Google', 'Yahoo!', 'Yahoo!' , 'Yahoo!', 'MSN', 'MSN', 'MSN', 'MSN');
$bot_ips = array( '66.249', '74.6', '66.196', '66.142', '64.4', '65.5', '131.107', '207.46' );
// www.phpBB-SEO.com SEO TOOLKIT END - BOTS
//
// Get basic (usernames + totals) online
// situation
//
$logged_visible_online = 0;
$logged_hidden_online = 0;
$guests_online = 0;
$online_userlist = '';
$l_online_users = '';
//if (defined('SHOW_ONLINE'))
//{
$user_forum_sql = ( !empty($forum_id) ) ? "AND s.session_page = " . intval($forum_id) : '';
$sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip
FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s
WHERE u.user_id = s.session_user_id
AND s.session_time >= ".( time() - 300 ) . "
$user_forum_sql
ORDER BY u.username ASC, s.session_ip ASC";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user/online information', '', __LINE__, __FILE__, $sql);
}
$userlist_ary = array();
$userlist_visible = array();
$prev_user_id = 0;
$prev_user_ip = $prev_session_ip = '';
while( $row = $db->sql_fetchrow($result) )
{
// User is logged in and therefor not a guest
if ( $row['session_logged_in'] )
{
// Skip multiple sessions for one user
if ( $row['user_id'] != $prev_user_id )
{
$style_color = '';
if ( $row['user_level'] == ADMIN )
{
$row['username'] = '<b>' . $row['username'] . '</b>';
$style_color = 'style="color:#' . $theme['fontcolor3'] . '"';
}
else if ( $row['user_level'] == MOD )
{
$row['username'] = '<b>' . $row['username'] . '</b>';
$style_color = 'style="color:#' . $theme['fontcolor2'] . '"';
}
if ( $row['user_allow_viewonline'] )
{
$user_online_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'>' . $row['username'] . '</a>';
$logged_visible_online++;
}
else
{
$user_online_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'><i>' . $row['username'] . '</i></a>';
$logged_hidden_online++;
}
if ( $row['user_allow_viewonline'] || $userdata['user_level'] == ADMIN )
{
$online_userlist .= ( $online_userlist != '' ) ? ', ' . $user_online_link : $user_online_link;
}
}
$prev_user_id = $row['user_id'];
}
else
{
// Skip multiple sessions for one user
if ( $row['session_ip'] != $prev_session_ip )
{
$guests_online++;
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
$bot_id = is_bot(decode_ip($row['session_ip']));
if ( $bot_id >=0 ) {
$guests_online--;
$bot_count++;
if ( !array_key_exists($bot_to_style[$bot_id], $bots_online) ) {
$bots_online[$bot_to_style[$bot_id]] = 1;
} else {
$bots_online[$bot_to_style[$bot_id]] ++;
}
}
// www.phpBB-SEO.com SEO TOOLKIT END
}
}
$prev_session_ip = $row['session_ip'];
}
$db->sql_freeresult($result);
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
if ( !empty($bots_online) ) {
foreach ( $bots_online as $bot => $bot_num) {
$bot_cnt = ( $bot_num > 1) ? "($bot_num)" : '';
$online_botlist .= (($online_botlist!='') ? ', ' : '') . "<span ".$bot_style[$bot].">$bot $bot_cnt</span>";
}
}
// www.phpBB-SEO.com SEO TOOLKIT END
if ( empty($online_userlist) )
{
$online_userlist = $lang['None'];
}
$online_userlist = ( ( isset($forum_id) ) ? $lang['Browsing_forum'] : $lang['Registered_users'] ) . ' ' . $online_userlist;
$total_online_users = $logged_visible_online + $logged_hidden_online + $guests_online;
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
$total_online_users += $bot_count;
// www.phpBB-SEO.com SEO TOOLKIT END
if ( $total_online_users > $board_config['record_online_users'])
{
$board_config['record_online_users'] = $total_online_users;
$board_config['record_online_date'] = time();
$sql = "UPDATE " . CONFIG_TABLE . "
SET config_value = '$total_online_users'
WHERE config_name = 'record_online_users'";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update online user record (nr of users)', '', __LINE__, __FILE__, $sql);
}
$sql = "UPDATE " . CONFIG_TABLE . "
SET config_value = '" . $board_config['record_online_date'] . "'
WHERE config_name = 'record_online_date'";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update online user record (date)', '', __LINE__, __FILE__, $sql);
}
}
if ( $total_online_users == 0 )
{
$l_t_user_s = $lang['Online_users_zero_total'];
}
else if ( $total_online_users == 1 )
{
$l_t_user_s = $lang['Online_user_total'];
}
else
{
$l_t_user_s = $lang['Online_users_total'];
}
if ( $logged_visible_online == 0 )
{
$l_r_user_s = $lang['Reg_users_zero_total'];
}
else if ( $logged_visible_online == 1 )
{
$l_r_user_s = $lang['Reg_user_total'];
}
else
{
$l_r_user_s = $lang['Reg_users_total'];
}
if ( $logged_hidden_online == 0 )
{
$l_h_user_s = $lang['Hidden_users_zero_total'];
}
else if ( $logged_hidden_online == 1 )
{
$l_h_user_s = $lang['Hidden_user_total'];
}
else
{
$l_h_user_s = $lang['Hidden_users_total'];
}
if ( $guests_online == 0 )
{
$l_g_user_s = $lang['Guest_users_zero_total'];
}
else if ( $guests_online == 1 )
{
$l_g_user_s = $lang['Guest_user_total'];
}
else
{
$l_g_user_s = $lang['Guest_users_total'];
}
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
if ( $bot_count == 0 ) {
$l_bot = $lang['Bot_nul'];
} else if ( $bot_count == 1 ) {
$l_bot = $lang['Bot_one'];
} else {
$l_bot = $lang['Bot_total'];
}
// www.phpBB-SEO.com SEO TOOLKIT END
$l_online_users = sprintf($l_t_user_s, $total_online_users);
$l_online_users .= sprintf($l_r_user_s, $logged_visible_online);
$l_online_users .= sprintf($l_h_user_s, $logged_hidden_online);
$l_online_users .= sprintf($l_g_user_s, $guests_online);
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
$l_online_users .= sprintf($l_bot, $bot_count);
// www.phpBB-SEO.com SEO TOOLKIT END
//}
echo($l_online_users . '<br />');
?> |
Tout seul ça suffit pas, comme ton script, il faut encore l'appeler depuis une page qui partage les sessions phpBB, mais voilà, il fait la même choses avec le code original de phpBB, et le mod show bots donc
++ |
_________________ Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________
Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche |
|
| Revenir en haut de page |
|
 |
franckcara PR1


Inscrit le: 23 Fév 2007 Messages: 177
|
|
| Revenir en haut de page |
|
 |
dcz Administrateur - Site Admin

Inscrit le: 28 Avr 2006 Messages: 14327
|
|
| Revenir en haut de page |
|
 |
franckcara PR1


Inscrit le: 23 Fév 2007 Messages: 177
|
Posté le: Jeu Mar 22, 2007 11:51 am Sujet du message: Re: [Show Bots] en page d'accueil |
|
|
Magnifique ça marche
miciiiiiiiiiiiiiii
non en fait il ne compte que les bots comme utilisateur en ligne
Sinon il met zero utilisateur en ligne |
_________________ Forum informatique||Tutoriaux informatique||Annuaire web |
|
| Revenir en haut de page |
|
 |
dcz Administrateur - Site Admin

Inscrit le: 28 Avr 2006 Messages: 14327
|
Posté le: Jeu Mar 22, 2007 12:05 pm Sujet du message: Re: [Show Bots] en page d'accueil |
|
|
Étrange, essais de remplacer :
| Code: | | $total_online_users += $bot_count; |
Par :
| Code: | | $total_online_users = $total_online_users + $bot_count; |
On dirait que le code n'affiche que le nombre de bots, bizarrement :
| Citation: | Il y a en tout 3 utilisateurs en ligne :: 1 Enregistré, 0 Invisible, 7 Invités et 3 Bots
Bots : Yahoo! (3)
Utilisateurs enregistrés : Austin Powers |
++ |
_________________ Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________
Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche |
|
| Revenir en haut de page |
|
 |
franckcara PR1


Inscrit le: 23 Fév 2007 Messages: 177
|
|
| Revenir en haut de page |
|
 |
dcz Administrateur - Site Admin

Inscrit le: 28 Avr 2006 Messages: 14327
|
|
| Revenir en haut de page |
|
 |
franckcara PR1


Inscrit le: 23 Fév 2007 Messages: 177
|
|
| Revenir en haut de page |
|
 |
franckcara PR1


Inscrit le: 23 Fév 2007 Messages: 177
|
|
| Revenir en haut de page |
|
 |
dcz Administrateur - Site Admin

Inscrit le: 28 Avr 2006 Messages: 14327
|
Posté le: Ven Mar 30, 2007 12:20 pm Sujet du message: Re: [Show Bots] en page d'accueil |
|
|
En fait, je vois pas trop, le même code marche pour moi en local.
Et au fait, utilises tu le header de phpBB sur cette page ?
Dans ce cas :
| Code: | | define('SHOW_ONLINE', true); |
En début de script, avant l'include de page_header.php, et juste
| Code: | echo($l_online_users . '<br />');
echo($lang['Bot_online'] . ( ($online_botlist != '') ? $online_botlist : $lang['None']) . '<br />');
echo($online_userlist . '<br />');
|
Là ou tu veux les infos devrait suffire. Tu pourrais aussi dans ce cas passer par le système de template, en reprenant le code de index_body.tpl pour la partie viewonline.
++ |
_________________ Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________
Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche |
|
| Revenir en haut de page |
|
 |
|
|
| Navigation |
Autres sujets de discussion |
|
|
|
|
|
|
|