| |
|
|
| PHP-Nuke France - Communauté Européenne: Forums |
|
|
ATTENTION En téléchargeant une version de PHP-Nuke autre que celle que nous proposons, vous prenez la décision de ne pouvoir prétendre à aucun support sur nos Forums. Vous êtes libre de faire vos propres choix mais nous ne pouvons accepter de faire le travail des autres. Par conséquent et en connaissance de cause, toute question relative à une autre version que celle que nous nous sommes engagé à supporter sera transférée à la corbeille. Prenez 2 minutes pour prendre connaissance plus en détails de notre fonctionnement
| Voir le sujet précédent :: Voir le sujet suivant |
|
|
|
ckforum

Habitué

Inscrit le: Jan 06, 2004 Messages: 1653 Localisation: FRANCE
|
Posté le: 16.03.2005, 10:32:20 Sujet du message: |
|
|
re,
Bon j'ai regarder un peu la chose mais comme je n'ai pas ce mod je n'ai ps pû tester le résultat donc a tes risques et périls
bref j'ai commenté le code donc prends le temps de lire les texte entre /* ou //
| Code: |
<?php
/*
Block de test suite post
http://www.phpnuke-europe.org/ftopicp-12010.html#12010
Pour afficher les infos des users présents dans les rooms !
16/03/2005 09:01:04
*/
// sécur de phpnuke !
// penses à renomer block-User_Info.php par ce que tu souhaites
// et a activer le block via l'admin !
if (eregi("block-User_Info.php",$_SERVER['PHP_SELF'])) {
Header("Location: index.php");
}
// a verifier au niveau du chemin
// il faut certainement indiquer le chemin du mod en question
include_once('inc/common.php');
// appel d'une fonction dans une classe
// certainement lié au fichier common.php !
ChatServer::purgeExpired();
/**
Retrieves the number of users who are chatting in any room.
Leave the $room parameter empty to return the number of users in all room.
*/
function numusers( $room = "" )
{
if($room) {
$stmt = new Statement("SELECT COUNT(*) AS numb FROM {$GLOBALS['fc_config']['db']['pref']}connections WHERE userid IS NOT NULL AND roomid=?");
$rs = $stmt->process($room);
} else {
$stmt = new Statement("SELECT COUNT(*) AS numb FROM {$GLOBALS['fc_config']['db']['pref']}connections,{$GLOBALS['fc_config']['db']['pref']}rooms
WHERE userid IS NOT NULL AND ispublic IS NOT NULL
AND {$GLOBALS['fc_config']['db']['pref']}connections.roomid = {$GLOBALS['fc_config']['db']['pref']}rooms.id");
$rs = $stmt->process();
}
//while($rec = $rs->next()) toLog('usr',$rec);
$rec = $rs->next();
return $rec?$rec['numb']:0;
}
/**
Retrieves a list of the users (by login ID) who are in $room.
Leave the $room parameter empty to return a list of all users in all rooms.
*/
function usersinroom( $room = "" )
{
$cms = $GLOBALS['fc_config']['cms'];
$list = array();
if($room) {
$stmt = new Statement("SELECT userid, state, color, lang, roomid FROM {$GLOBALS['fc_config']['db']['pref']}connections WHERE userid IS NOT NULL AND roomid=?");
$rs = $stmt->process($room);
} else {
$stmt = new Statement("SELECT userid, state, color, lang, roomid FROM {$GLOBALS['fc_config']['db']['pref']}connections WHERE userid IS NOT NULL");
$rs = $stmt->process();
}
while($rec = $rs->next()) $list[] = array_merge($cms->getUser($rec['userid']), $rec);
return $list;
}
/**
Retrieves a list of all available rooms, as an array.
*/
function roomlist()
{
$list = array();
// populate $list with the names of all available rooms
$stmt = new Statement("SELECT * FROM {$GLOBALS['fc_config']['db']['pref']}rooms WHERE ispublic IS NOT NULL order by ispermanent");
$rs = $stmt->process();
while($rec = $rs->next()) $list[] = $rec;
//result will be an array of arrays like ('id' => <room id>, 'updated' = <timestamp>, 'created' => <timestamp>, 'name' => <room name>, 'ispublic' => <public flag>, 'ispermanent' => <autoclose flag>)
return $list;
}
$rooms = roomlist();
$roomnumb = sizeof($rooms);
$numusers = numusers();
$content = '<div align="center">';
// phrase ci-dessous a mettre en FR ???
$content .= "There are $numusers users in $roomnumb rooms.</div>";
if($roomnumb) {
$content .= '
<div align="center">
<table border="1" cellpadding="1" class="normal">
<tr>
<th>ID</th>
<th>Name</th>
<th>Count</th>
<th>Users</th>
</tr>
';
foreach($rooms as $room) {
$content .= "\n";
$content .= " <tr>\n";
$content .= " <td>".$room['id']."</td>\n";
$content .= " <td>".$room['name']."</td>\n";
$content .= " <td>".numusers($room['id'])."</td>\n";
$content .= " <td>\n";
$users = usersinroom($room['id']);
foreach($users as $user ) {
$content .= "".$user['login'].". <br />";
} // End foreach $users
$content .= " </td>\n";
$content .= " </tr>\n";
} // End foreach $rooms
$content .= " </table></div>\n";
} // ENF if room
?>
|
Voilà et je te joint le fichier en question au cas le forum tronquerais la chose .
@++
| Description: |
|
 Télécharger |
| Nom de Fichier: |
block-test_user_room.zip |
| Taille de Fichier: |
1.57 KB |
| Téléchargé: |
46 Fois |
_________________ Bah on fait ce qu'on peut Hein Pas vrai ? ! et Vous !!!
(pas de demande d'aide via MP Merci ....)
Dernière édition par ckforum le 16.03.2005, 14:11:40; édité 1 fois |
|
 |
|
|
faridelha67

Novice
Inscrit le: Mar 15, 2005 Messages: 21
|
Posté le: 16.03.2005, 13:47:11 Sujet du message: |
|
|
merci pour ton travail
Un ptit souci, lorsque je met le block en place et que je l'active , j'ai cette erreur a la plce du block
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/cuisine/public_html/blocks/block-info.php on line 113
et a la ligne 113, j'ai ce code
$content .= " | $room['id'] | \n";
|
 |
|
|
ckforum

Habitué

Inscrit le: Jan 06, 2004 Messages: 1653 Localisation: FRANCE
|
Posté le: 16.03.2005, 14:13:33 Sujet du message: |
|
|
re, autant pour moi
j'avais oublié des ponctuations dans echo en fait tu remplaces :
| Code: |
$content .= " <td>$room['id']</td>\n";
$content .= " <td>$room['name']</td>\n";
|
par :
| Code: |
$content .= " <td>".$room['id']."</td>\n";
$content .= " <td>".$room['name']."</td>\n";
|
oops
(fichier joint + code a jour ! dans le post précédent )
_________________ Bah on fait ce qu'on peut Hein Pas vrai ? ! et Vous !!!
(pas de demande d'aide via MP Merci ....) |
|
 |
|
|
faridelha67

Novice
Inscrit le: Mar 15, 2005 Messages: 21
|
Posté le: 16.03.2005, 14:28:23 Sujet du message: |
|
|
Sa c'est reglé merci
Un autre probleme.
Si je t'embete n'hesite pas a me le dire stp et j'arrete . ya pas de probleme
J' sa maintenant :
Fatal error: Undefined class name 'chatserver' in /home/cuisine/public_html/blocks/block-info.php on line 25
et ya ce code a cette ligne:
ChatServer::purgeExpired();
|
|
 |
|
|
faridelha67

Novice
Inscrit le: Mar 15, 2005 Messages: 21
|
Posté le: 16.03.2005, 16:27:10 Sujet du message: |
|
|
J'ai laissé tombé
Merci pour ton aide
|
|
 |
|
|
|
|
|
|
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum Vous ne pouvez pas joindre des fichiers dans ce forum Vous pouvez télécharger des fichiers dans ce forum
|
| :: Powered by phpBB © 2001, 2005 phpBB Group :: |
|
|
|
|
|
|