[Ok] include dans un block
Aller à la page Précédente  1, 2, 3, 4  Suivante
PHP-Nuke France - CE -> Blocks

Auteur: ckforumLocalisation: FRANCE MessagePosté 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 Smile
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 .

@++


Dernière édition par ckforum le 16.03.2005, 14:11:40; édité 1 fois

Auteur: faridelha67 MessagePosté 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";

Auteur: ckforumLocalisation: FRANCE MessagePosté 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 Smile

(fichier joint + code a jour ! dans le post précédent )

Auteur: faridelha67 MessagePosté 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();

Auteur: faridelha67 MessagePosté le: 16.03.2005, 16:27:10    Sujet du message:

J'ai laissé tombé
Merci pour ton aide



PHP-Nuke France - CE -> Blocks

Toutes les heures sont au format GMT + 2 Heures

Aller à la page Précédente  1, 2, 3, 4  Suivante
Page 2 sur 4


>> Fermer cette Page <<