$aBoard) { if($sUserId == $aBoard['UserID']) continue; if(!in_array($sBoardId, $aAll)) { $aUserInfo = getUserInfo($aBoard['UserID']); $sImage = $sFilesUrl . $sBoardId . $sFileExtension; $sContents .= parseXml($aXmlTemplates['board'], $sBoardId, BOARD_STATUS_NEW, $aBoard['Title'], $aUserInfo['nick'], $aUserInfo['profile'], $sImage); } else { $iModifiedTime = filemtime($sFilesPath . $sBoardId . $sFileExtension); if($iModifiedTime >= ($iCurrentTime - $iUpdateInterval)) $sContents .= parseXml($aXmlTemplates['board'], $sBoardId, BOARD_STATUS_UPDATED); } } for($i=0; $i<$iAllCount; $i++) if(!isset($aBoards[$aAll[$i]])) { $sBoardId = $aAll[$i]; @unlink($sFilesPath . $sBoardId . $sFileExtension); $sContents .= parseXml($aXmlTemplates['board'], $sBoardId, BOARD_STATUS_CLOSED); } $sContents = makeGroup($sContents, 'boards'); break; /** * Transmit new Scene file from specified Board. * param - boardId * param - width * param - height * param - data */ case 'transmit': //--- Prepare data ---// $iWidth = isset($_REQUEST['width']) ? (int)$_REQUEST['width'] : 0; $iHeight = isset($_REQUEST['height']) ? (int)$_REQUEST['height'] : 0; $sData = isset($_REQUEST['data']) ? $_REQUEST['data'] : ""; $iQuality = 100; $aImageData = explode(',', $sData); $iLength = count($aImageData); for($i=0; $i<$iLength; $i++) $aImageData[$i] = base_convert($aImageData[$i], 36, 10); if($iLength != $iWidth * $iHeight || !function_exists("imagecreatetruecolor")) { $sContents = parseXml($aXmlTemplates['result'], 'msgErrorGD', FAILED_VAL); break; } //--- 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, $aImageData[$i]); //--- Save image file ---// $sFileName = $sFilesPath . $iBoardId . $sFileExtension; if(!@imagejpeg($rImage, $sFileName, $iQuality)) $sContents = parseXml($aXmlTemplates['result'], 'msgErrorFile', FAILED_VAL); else $sContents = parseXml($aXmlTemplates['result'], '', SUCCESS_VAL); break; } ?>