+ Reply to Thread (include dating software, release, and patch number!)
Results 1 to 1 of 1

Thread: Help me mode some function in general chat.

  1. #1

    Join Date
    Jul 2010
    Posts
    1

    Post Help me mode some function in general chat.

    Latest version.
    File: /flash/modules/chat/inc/functions.inc.php
    I want to make user primary landing room in Chat with thei one Nick Name.
    If my user is "Mike" when i enter in chat i land automaticaly in "Mike" room just created, instead of lobby (wich is defautl).
    For now i can only set the room name with my user profile ID primary key.Im think if it's possible to call the "nickname" instead of "ID" number from Table 'profiles'. Here is my moded code that return the ID key for the room name:

    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_VALstripslashes($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) == 0getResult("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_VALstripslashes($aRoom['Name']), stripslashes($aRoom['Desc']), $aRoom['In'], $aRoom['InTime']);
                break;
        }
        return 
    $sRooms;

    The changes affect room name, and table: raychatrooms

    May be i can import user variable from bellow, present in the same file?
    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.
    Attached Files
    Last edited by cyberwork; 08-31-2010 at 05:42 PM.

+ Reply to Thread (include dating software, release, and patch number!)

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts