* Get chat's config.
      */
 /**
  * Get chat's config.
  */
 case 'config':
     $sFileName = $sModulesPath . $sModule . "/xml/config.xml";
     $rHandle = fopen($sFileName, "rt");
     $sContents = fread($rHandle, filesize($sFileName));
     fclose($rHandle);
     $iMaxFileSize = min(ini_get('upload_max_filesize') + 0, ini_get('post_max_size') + 0);
     $sContents = str_replace("#fileMaxSize#", $iMaxFileSize, $sContents);
     $sContents = str_replace("#soundsUrl#", $sSoundsUrl, $sContents);
     $sContents = str_replace("#smilesetsUrl#", $sSmilesetsUrl, $sContents);
     $sContents = str_replace("#filesUrl#", $sFilesUrl, $sContents);
     $sContents = str_replace("#useServer#", useServer() ? TRUE_VAL : FALSE_VAL, $sContents);
     $sContents = str_replace("#serverUrl#", getRMSUrl($sServerApp), $sContents);
     break;
     /**
      * IM ACTIONS.
      * Authorize sender for IM dialog.
      */
 /**
  * IM ACTIONS.
  * Authorize sender for IM dialog.
  */
 case 'senderAuthorize':
     if (loginUser($sSndId, $sSndPassword) == TRUE_VAL) {
         $sContents = parseXml($aXmlTemplates['result'], "", SUCCESS_VAL);
         //--- return sender's information ---//
         $aUser = getUserInfo($sSndId);
示例#2
0
        for ($i = 0; $i < count($aData); $i++) {
            $aPixel = explode("=", $aData[$i], 2);
            $aImageData[$aPixel[0]] = base_convert($aPixel[1], 36, 10);
        }
        //--- Create Image Resource ---//
        $rImage = @imagecreatetruecolor($iWidth, $iHeight);
        for ($i = 0, $y = 0; $y < $iHeight; $y++) {
            for ($x = 0; $x < $iWidth; $x++, $i++) {
                @imagesetpixel($rImage, $x, $y, isset($aImageData[$i]) ? $aImageData[$i] : $iBackColor);
            }
        }
        //--- Save image file ---//
        $sFileName = $sFilesPath . $iBoardId . $sFileExtension;
        $bFileCreated = @imagejpeg($rImage, $sFileName, $iQuality);
        $aResult = $bFileCreated ? array('status' => SUCCESS_VAL, 'value' => "") : array('status' => FAILED_VAL, 'value' => "msgErrorFile");
        if ($bFileCreated && $bSaveMode) {
            $aResult = save($sSavedId, $sFileName, $sTitle);
            if (useServer()) {
                @unlink($sFileName);
            }
        }
        $sContents = parseXml($aXmlTemplates['result'], $aResult['value'], $aResult['status']);
        break;
    case 'getSaved':
        if (loginUser($sId, $sPassword) == TRUE_VAL) {
            $sContents = getSavedBoardInfo($sId, $iBoardId);
        } else {
            $sContents = parseXml($aXmlTemplates['result'], "msgUserAuthenticationFailure", FAILED_VAL);
        }
        break;
}
示例#3
0
/**
 * Actions with specified room
 */
function doRoom($sSwitch, $sUserId = "", $iRoomId = 0, $sTitle = "", $sPassword = "", $sDesc = "", $bTemp = false)
{
    $iCurrentTime = time();
    switch ($sSwitch) {
        case 'insert':
            $aCurRoom = getArray("SELECT * FROM `" . MODULE_DB_PREFIX . "Rooms` WHERE `Name`='" . $sTitle . "'");
            $sStatus = $bTemp ? ROOM_STATUS_DELETE : ROOM_STATUS_NORMAL;
            if (!empty($aCurRoom['ID']) && $sUserId == $aCurRoom['OwnerID']) {
                getResult("UPDATE `" . MODULE_DB_PREFIX . "Rooms` SET `Name`='" . $sTitle . "', `Password`='" . $sPassword . "', `Desc`='" . $sDesc . "', `OwnerID`='" . $sUserId . "', `When`='" . $iCurrentTime . "', `Status`='" . $sStatus . "' WHERE `ID`='" . $aCurRoom['ID'] . "'");
                return $aCurRoom['ID'];
            } else {
                if (empty($aCurRoom['ID'])) {
                    getResult("INSERT INTO `" . MODULE_DB_PREFIX . "Rooms` (`ID`, `Name`, `Password`, `Desc`, `OwnerID`, `When`, `Status`) VALUES ('" . $iRoomId . "', '" . $sTitle . "', '" . $sPassword . "', '" . $sDesc . "', '" . $sUserId . "', '" . $iCurrentTime . "', '" . $sStatus . "')");
                    return getLastInsertId();
                } else {
                    return 0;
                }
            }
            break;
        case 'update':
            getResult("UPDATE `" . MODULE_DB_PREFIX . "Rooms` SET `Name`='" . $sTitle . "', `Password`='" . $sPassword . "', `Desc`='" . $sDesc . "', `When`='" . $iCurrentTime . "', `Status`='" . ROOM_STATUS_NORMAL . "' WHERE `ID`='" . $iRoomId . "'");
            break;
        case 'delete':
            $sSql = "UPDATE `" . MODULE_DB_PREFIX . "Rooms` SET `When`='" . $iCurrentTime . "', `Status`='" . ROOM_STATUS_DELETE . "' WHERE `ID` = '" . $iRoomId . "'";
            getResult($sSql);
            break;
        case 'enter':
            $sId = getValue("SELECT `ID` FROM `" . MODULE_DB_PREFIX . "RoomsUsers` WHERE `Room`='" . $iRoomId . "' AND `User`='" . $sUserId . "' LIMIT 1");
            if (empty($sId)) {
                getResult("INSERT INTO `" . MODULE_DB_PREFIX . "RoomsUsers`(`Room`, `User`, `When`) VALUES('" . $iRoomId . "', '" . $sUserId . "', '" . $iCurrentTime . "')");
            } else {
                getResult("UPDATE `" . MODULE_DB_PREFIX . "RoomsUsers` SET `When`='" . $iCurrentTime . "', `Status`='" . ROOM_STATUS_NORMAL . "' WHERE `ID`='" . $sId . "'");
            }
            break;
        case 'exit':
            getResult("UPDATE `" . MODULE_DB_PREFIX . "RoomsUsers` SET `When`='" . $iCurrentTime . "', `Status`='" . ROOM_STATUS_DELETE . "' WHERE `Room`='" . $iRoomId . "' AND `User`='" . $sUserId . "' LIMIT 1");
            break;
        case 'deleteTemp':
            if (useServer()) {
                getResult("DELETE FROM `" . MODULE_DB_PREFIX . "Rooms` WHERE `Status`='" . ROOM_STATUS_DELETE . "' AND `When`<" . ($iCurrentTime - 24 * 60 * 60));
            }
            break;
    }
}
示例#4
0
         $aStyle = unserialize($aMsg['Style']);
         $sMsgs .= parseXml($aXmlTemplates['message'], $aMsg['ID'], stripslashes($aMsg['Message']), $aMsg['Room'], $aMsg['Sender'], $aMsg['Recipient'], $aMsg['Whisper'], $aStyle['color'], $aStyle['bold'], $aStyle['underline'], $aStyle['italic'], $aStyle['size'], $aStyle['font'], $aStyle['smileset'], $aMsg['When']);
     }
     $sContents .= makeGroup($sMsgs, "messages");
     break;
     /**
      * Add message to database.
      */
 /**
  * Add message to database.
  */
 case 'newMessage':
     if (empty($sSender)) {
         break;
     }
     if (!useServer()) {
         $sWhisper = isset($_REQUEST['whisper']) ? process_db_input($_REQUEST['whisper']) : FALSE_VAL;
         $sColor = $_REQUEST['color'] ? (int) $_REQUEST['color'] : 0;
         $sBold = $_REQUEST['bold'] ? process_db_input($_REQUEST['bold']) : FALSE_VAL;
         $sUnderline = $_REQUEST['underline'] ? process_db_input($_REQUEST['underline']) : FALSE_VAL;
         $sItalic = $_REQUEST['italic'] ? process_db_input($_REQUEST['italic']) : FALSE_VAL;
         $iSize = $_REQUEST['size'] ? (int) $_REQUEST['size'] : 12;
         $sFont = $_REQUEST['font'] ? process_db_input($_REQUEST['font']) : "Arial";
         $sStyle = serialize(array('color' => $sColor, 'bold' => $sBold, 'underline' => $sUnderline, 'italic' => $sItalic, 'smileset' => $sSmileset, 'size' => $iSize, 'font' => $sFont));
         getResult("INSERT INTO `" . MODULE_DB_PREFIX . "Messages`(`Room`, `Sender`, `Recipient`, `Message`, `Whisper`, `Style`, `When`) VALUES('" . $iRoomId . "', '" . $sSender . "', '" . $sRcp . "', '" . $sMessage . "', '" . $sWhisper . "', '" . $sStyle . "', '" . time() . "')");
     }
     if (empty($iRoomId)) {
         $sSndRcp = strcmp($sSender, $sRcp) < 0 ? $sSender . "." . $sRcp : $sRcp . "." . $sSender;
     } else {
         $sSndRcp = "";
     }