PHP Code:
function getRooms($sMode = 'new', $sId = "")
{
global $aXmlTemplates;
global $sModule;
$iCurrentTime = time();
$iUpdateInterval = (int)getSettingValue($sModule, "updateInterval");
$iDeleteTime = $iUpdateInterval * 6;
$sRooms = "";
switch ($sMode)
{
case 'update': //--- Return new and deleted rooms.
$rResult = getResult("SELECT * FROM `" . MODULE_DB_PREFIX . "Rooms` WHERE IF('" . $sId . "'='0', 1, `OwnerID`<>'" . $sId . "') AND (`When` >= (" . ($iCurrentTime - $iUpdateInterval) . ") OR `Status`='" . ROOM_STATUS_DELETE . "') ORDER BY `When`");
while($aRoom = mysql_fetch_assoc($rResult))
switch($aRoom['Status'])
{
case ROOM_STATUS_DELETE:
$sRooms .= parseXml($aXmlTemplates['room'], $aRoom['ID'], ROOM_STATUS_DELETE);
break;
case ROOM_STATUS_NORMAL:
default:
$sRooms .= parseXml($aXmlTemplates['room'], $aRoom['ID'], ROOM_STATUS_NORMAL, $aRoom['OwnerID'], empty($aRoom['Password']) ? FALSE_VAL : TRUE_VAL, stripslashes($aRoom['Name']), stripslashes($aRoom['Desc']));
break;
}
break;
case 'updateUsers':
$sSql = "SELECT `r`.`ID` AS `RoomID`, GROUP_CONCAT(DISTINCT IF(`ru`.`Status`='" . ROOM_STATUS_NORMAL . "',`ru`.`User`,'') SEPARATOR ',') AS `In`, GROUP_CONCAT(DISTINCT IF(`ru`.`Status`='" . ROOM_STATUS_DELETE . "',`ru`.`User`,'') SEPARATOR ',') AS `Out` FROM `" . MODULE_DB_PREFIX . "Rooms` AS `r` INNER JOIN `" . MODULE_DB_PREFIX . "RoomsUsers` AS `ru` WHERE `r`.`ID`=`ru`.`Room` AND `r`.`Status`='" . ROOM_STATUS_NORMAL . "' AND `ru`.`When`>=" . ($iCurrentTime - $iUpdateInterval) . " GROUP BY `r`.`ID`";
$rResult = getResult($sSql);
while($aRoom = mysql_fetch_assoc($rResult))
$sRooms .= parseXml($aXmlTemplates['room'], $aRoom['RoomID'], $aRoom['In'], $aRoom['Out']);
break;
case 'all':
$iRunTime = isset($_REQUEST['_t']) ? floor($_REQUEST['_t']/1000) : 0;
$iCurrentTime -= $iRunTime;
$rResult = getResult("SELECT `ID` FROM `" . MODULE_DB_PREFIX . "RoomsUsers`");
//Default original line
if(mysql_num_rows($rResult) == 0) getResult("TRUNCATE TABLE `" . MODULE_DB_PREFIX . "RoomsUsers`");
$iRoomsCount = getValue("SELECT COUNT(`ID`) FROM `" . MODULE_DB_PREFIX . "Rooms`");
//------------------------------------------------------------------------------//
$sUserId = getValue("SELECT `ID` FROM `" . MODULE_DB_PREFIX ."Profiles` WHERE `ID` = '" . $sId . "' LIMIT 1");
//here i need to call the nick instead of ID number from user - table profiles
// my inserted lines (dont work):
// $sNickname = getValue("SELECT `NickName` FROM `" . MODULE_DB_PREFIX ."Profiles` WHERE `NickName` = '" . $sNickname . "' LIMIT 1"); //$sUserId = getValue("SELECT `ID` FROM `" . MODULE_DB_PREFIX ."Profiles` WHERE `ID` = '" . $sId . "' LIMIT 1");
// $sNick = getValue("SELECT `NickName` FROM `" . MODULE_DB_PREFIX ."Profiles` WHERE `NickName` = '" . $sNick . "' LIMIT 1");
// if(mysql_num_rows($rResult) == 0) getResult("INSERT INTO `" . MODULE_DB_PREFIX . "Rooms` (`Name`, `OwnerID`, `Desc`, `When`, `Status`) VALUES ('" . $sId . "' , '0', 'Welcome to our chat!', '0', 'normal')");
//------------------------------------------------------------------------------------//
//check this line, values instead of lobby is '" . $iId . "', //
if(empty($iRoomsCount)) getResult("INSERT INTO `" . MODULE_DB_PREFIX . "Rooms` (`Name`, `OwnerID`, `Desc`, `When`, `Status`) VALUES ('" . $iId . "', '0', 'Welcome to our chat!', '0', 'normal')");
$sSql = "SELECT `r`.`ID` AS `RoomID`, `r`.*, GROUP_CONCAT(DISTINCT IF(`ru`.`Status`='" . ROOM_STATUS_NORMAL . "' AND `ru`.`User`<>'" . $sId . "',`ru`.`User`,'') SEPARATOR ',') AS `In`, GROUP_CONCAT(DISTINCT IF(`ru`.`Status`='" . ROOM_STATUS_NORMAL . "' AND `ru`.`User`<>'" . $sId . "',(" . $iCurrentTime . "-`ru`.`When`),'') SEPARATOR ',') AS `InTime` FROM `" . MODULE_DB_PREFIX . "Rooms` AS `r` LEFT JOIN `" . MODULE_DB_PREFIX . "RoomsUsers` AS `ru` ON `r`.`ID`=`ru`.`Room` GROUP BY `r`.`ID` ORDER BY `r`.`ID` LIMIT " . getSettingValue($sModule, "maxRoomsNumber");
$rResult = getResult($sSql);
while($aRoom = mysql_fetch_assoc($rResult))
$sRooms .= parseXml($aXmlTemplates['room'], $aRoom['RoomID'], $aRoom['OwnerID'], empty($aRoom['Password']) ? FALSE_VAL : TRUE_VAL, stripslashes($aRoom['Name']), stripslashes($aRoom['Desc']), $aRoom['In'], $aRoom['InTime']);
break;
}
return $sRooms;
}
The changes affect room name, and table: raychatrooms
PHP Code:
function initUser($aUser)
{
$aProfile = getArray("SELECT * FROM `" . MODULE_DB_PREFIX . "Profiles` WHERE `ID`='" . $aUser['id'] . "'");
if(!is_array($aProfile) || count($aProfile) == 0)
getResult("INSERT INTO `" . MODULE_DB_PREFIX . "Profiles` SET `ID`='" . $aUser['id'] . "', `Type`='" . $aUser['type'] . "', `Smileset`='" . $sDefSmileset . "'");
else $aUser['type'] = $aProfile["Type"];
if(!useServer())
{
$iCurrentTime = time();
getResult("REPLACE `" . MODULE_DB_PREFIX . "CurrentUsers` SET `ID`='" . $aUser['id'] . "', `Nick`='" . $aUser['nick'] . "', `Sex`='" . $aUser['sex'] . "', `Age`='" . $aUser['age'] . "', `Desc`='" . addslashes($aUser['desc']) . "', `Photo`='" . $aUser['photo'] . "', `Profile`='" . $aUser['profile'] . "', `Start`='" . $iCurrentTime . "', `When`='" . $iCurrentTime . "', `Status`='" . USER_STATUS_NEW . "'");
getResult("DELETE FROM `" . MODULE_DB_PREFIX . "RoomsUsers` WHERE `User`='" . $aUser['id'] . "'");
}
$rFiles = getResult("SELECT `ID` FROM `" . MODULE_DB_PREFIX . "Messages` WHERE `Recipient`='" . $aUser['id'] . "' AND `Type`='file'");
while($aFile = mysql_fetch_assoc($rFiles)) removeFile($aFile['ID']);
return $aUser;
}
also i want to know if its possible to add more user in a flash messenger (private video chat) in a popup window instead of multiple pop-up open window.Thank.
Bookmarks