GIF89a;
| Direktori : /home/serb/public_html/chat/ |
| Current File : /home/serb/public_html/chat/info_orig.php |
<?php
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
/**
If this file is not in the FlashChat root folder, then change this
path to the location of the inc/common.php file.
*/
$GLOBALS['my_file_name'] = 'info_origin';
require_once('inc/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 = "", $chatid = 1 )
{
if($room) {
$stmt = new Statement('SELECT COUNT(*) AS numb FROM '.$GLOBALS['fc_config']['db']['pref'].'connections WHERE userid IS NOT NULL AND userid <> ? AND roomid=? AND chatid=?',214);
$rs = $stmt->process(SPY_USERID, $room, $chatid);
} 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 userid <> ? AND ispublic IS NOT NULL
AND '.$GLOBALS['fc_config']['db']['pref'].'connections.roomid = '.$GLOBALS['fc_config']['db']['pref'].'rooms.id AND chatid=?');
$rs = $stmt->process(SPY_USERID, $chatid);
}
$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 = "", $chatid = 1 )
{
$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 userid <> ? AND roomid=? AND chatid=?',214);
$rs = $stmt->process(SPY_USERID, $room, $chatid);
} else {
$stmt = new Statement('SELECT userid, state, color, lang, roomid FROM '.$GLOBALS['fc_config']['db']['pref'].'connections WHERE userid IS NOT NULL AND userid <> ? AND chatid=?',245);
$rs = $stmt->process(SPY_USERID, $chatid);
}
while($rec = $rs->next())
{
$usr = ChatServer::getUser($rec['userid']);
if($usr == null && $GLOBALS['fc_config']['enableBots']) $usr = $GLOBALS['fc_config']['bot']->getUser($rec['userid']);
$list[] = array_merge($usr, $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' , 54 );
$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;
}
/**
Get chats
*/
function chats()
{
$chats = array();
// populate $chats with the names of all available rooms
$stmt = new Statement('SELECT * FROM '.$GLOBALS['fc_config']['db']['pref'].'config_chats');
$rs = $stmt->process();
while($rec = $rs->next()) $chats[] = $rec;
return $chats;
}
$chatid = isset($_GET['cid'])? $_GET['cid'] : 1;
$chats = chats();
$rooms = roomlist();
$roomnumb = sizeof($rooms);
?>
<html>
<title>Who's in the chat?</title>
<meta http-equiv=Content-Type content="text/html; charset=UTF-8">
<head>
<style type="text/css">
<!--
.normal {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: normal;
}
A {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
color: #0000FF;
}
A:hover {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
color: #FF0000;
}
-->
</style>
<script language='Javascript'>
<!--
function fwd(url)
{
window.location.href = url;
}
-->
</script>
</head>
<body>
<center>
<p class=normal>There are <?php echo numusers('', $chatid)?> users in <?php echo $roomnumb?> rooms.</p>
<?php if(count($chats) > 0) { ?>
<table border="0" cellpadding="1" class="normal">
<tr>
<td><div align="left">Chat:</div></td>
<td>
<select name="chatid" onchange='javascript:fwd("info.php?cid="+chatid.value);'>
<?php foreach($chats as $k=>$v) { ?>
<option value="<?php echo $v['id']?>" <?php if($v['id'] == $chatid) echo 'selected'?>>
<?php echo $v['name']?>
</option>
<?php } ?>
</select>
</td>
</tr>
<tr></tr>
</table>
<?php } ?>
<?php if($roomnumb) { ?>
<table border="1" cellpadding="1" class="normal">
<tr>
<th>ID</th>
<th>Name</th>
<th>Count</th>
<th>Users</th>
</tr>
<?php foreach($rooms as $room) { ?>
<tr>
<td><?php echo $room['id']?></td>
<td><?php echo $room['name']?></td>
<td><?php echo numusers($room['id'], $chatid)?></td>
<td><?php
$users = usersinroom($room['id'], $chatid);
foreach( $users as $user ) {
echo $user['login'] . "<br>";
}
?> </td>
</tr>
<?php } ?>
</table>
<?php } ?>
<p><a href="javascript:window.close()">Close</a></p>
<center>
</body>
</html>