From 431a6035f1a50549bc3d40d383258ffa0ad1be98 Mon Sep 17 00:00:00 2001 From: Christopher Date: Fri, 5 Nov 2021 03:01:38 +0100 Subject: [PATCH] add crone --- api/get.php | 0 api/register.php | 86 +----------------- classen/RegionManager.php | 5 +- classen/utils.php | 16 ++-- cron/03-download_images.php | 16 ---- cron/03-regionImageDownload.php | 20 ++++ .../4376f83d-79be-4e23-acc7-165beb8dc8d8.jpg | Bin 0 -> 15214 bytes pages/start.php | 3 +- 8 files changed, 33 insertions(+), 113 deletions(-) delete mode 100644 api/get.php delete mode 100644 cron/03-download_images.php create mode 100644 cron/03-regionImageDownload.php create mode 100644 data/RegionImages/4376f83d-79be-4e23-acc7-165beb8dc8d8.jpg diff --git a/api/get.php b/api/get.php deleted file mode 100644 index e69de29..0000000 diff --git a/api/register.php b/api/register.php index 5d94b84..2d0d266 100644 --- a/api/register.php +++ b/api/register.php @@ -1,85 +1,5 @@ get_server_urlsuserID'.$userID.''; - $optionen = stream_context_create(array('http' => array('timeout' => 1, 'method' => 'POST', 'header' => 'Content-Type: application/xml', 'content' => $xml))); - $result = file_get_contents($homeURL, false, $optionen); - - $servers = new SimpleXMLElement($result); - - foreach ($servers->params->param->value->struct[0] as $serverEntry) - { - if($serverEntry->name == 'SRV_AssetServerURI') - return $serverEntry->value->string->__toString(); - } - } - - function getAssetData($assetServer, $assetUUID) - { - global $DATA; - chdir("/var/www/html"); - - if(!is_file('./data/RegionImages/'.$assetUUID.'.png')) - { - $DATA['WGETCMD'] = '/usr/bin/wget '.$assetServer.'assets/'.$assetUUID.'/data -O /tmp/'.$assetUUID; - $DATA['MPEGCMD'] = '/usr/bin/ffmpeg -i /tmp/'.$assetUUID.' ./data/RegionImages/'.$assetUUID.'.png'; - - $DATA['WGET'] = shell_exec($DATA['WGETCMD']); - $DATA['FFMPEG'] = shell_exec($DATA['MPEGCMD']); - } - - return $assetUUID.'.png'; - } - - function getRegionStats($regionHostName) - { - $optionen = stream_context_create(array('http' => array('timeout' => 1))); - $result = file_get_contents("http://".$regionHostName."/jsonSimStats", false, $optionen); - - if($result != "") - { - return json_decode($result); - } - } - - if(isset($_SERVER['HTTP_X_SECONDLIFE_SHARD']) && isset($_SERVER['HTTP_X_SECONDLIFE_REGION'])) - { - $DATA = array(); - $DATA['RegionData'] = explode("(", $_SERVER['HTTP_X_SECONDLIFE_REGION']); - $DATA['RegionName'] = trim($DATA['RegionData'][0]); - $DATA['RegionID'] = md5($_SERVER['HTTP_X_SECONDLIFE_REGION'].$_REQUEST['grid']); - $DATA['Position'] = trim(str_replace(" ", "", str_replace(")", "", str_replace("(", "", $_SERVER['HTTP_X_SECONDLIFE_LOCAL_POSITION'])))); - $DATA['PositionData'] = explode(",", $DATA['Position']); - - $DATA['PositionData'][0] = explode(".", $DATA['PositionData'][0])[0]; - $DATA['PositionData'][1] = explode(".", $DATA['PositionData'][1])[0]; - $DATA['PositionData'][2] = explode(".", $DATA['PositionData'][2])[0]; - - - $DATA['GridHomeURI'] = $_REQUEST['GridHomeURI']; - $DATA['Link'] = "hop://".str_replace("http://", "", $DATA['GridHomeURI']).":".$DATA['RegionName']."/".$DATA['PositionData'][0]."/".$DATA['PositionData'][1]."/".$DATA['PositionData'][2]; - $DATA['AgentCount'] = $_REQUEST['AgentCount']; - $DATA['Beschreibung'] = file_get_contents("php://input"); - - $DATA['AssetServer'] = getServerURI($DATA['GridHomeURI'], $_SERVER['HTTP_X_SECONDLIFE_OWNER_KEY']); - $DATA['AssetPath'] = getAssetData($DATA['AssetServer'], $_REQUEST['RegionImageTexture']); - - $DATA['GridName'] = $_REQUEST['GridName']; - - if(!isset($DATA['RegionName']) || @$DATA['RegionName'] == "")die("ERROR: RegionName"); - if(!isset($DATA['Beschreibung']) || @$DATA['Beschreibung'] == "")die("ERROR: Beschreibung"); - if(!isset($DATA['GridHomeURI']) || @$DATA['GridHomeURI'] == "")die("ERROR: GridHomeURI"); - if(!isset($DATA['AgentCount']) || @$DATA['AgentCount'] == "")die("ERROR: AgentCount"); - if(!isset($DATA['GridName']) || @$DATA['GridName'] == "")die("ERROR: GridName"); - - $MYSQLDATA = array('RegionID' => $DATA['RegionID'], 'RegionName' => $DATA['RegionName'], 'RegionBeschreibung' => $DATA['Beschreibung'], 'RegionLink' => $DATA['Link'],'PositionX' => $DATA['PositionData'][0], 'PositionY' => $DATA['PositionData'][1], 'PositionZ' => $DATA['PositionData'][2], 'GridName' => $DATA['GridName'], 'ImageName' => $DATA['AssetPath'], 'LastSeen' => time(), 'OnlineUser' => $DATA['AgentCount']); - $statementSend = $RUNTIME['PDO']->prepare('REPLACE INTO Regions (RegionID, RegionName, RegionBeschreibung, RegionLink, PositionX, PositionY, PositionZ, GridName, ImageName, LastSeen, OnlineUser) VALUES (:RegionID, :RegionName, :RegionBeschreibung, :RegionLink, :PositionX, :PositionY, :PositionZ, :GridName, :ImageName, :LastSeen, :OnlineUser)'); - $statementSend->execute($MYSQLDATA); - - echo "OK"; - }else{ - die("ERROR: LSL"); - } - - //file_put_contents("debug-".time().".txt", print_r($GLOBALS, true)); + $data = json_decode(file_get_contents('php://input'), true); + + file_put_contents("debug_".time().".txt", print_r($data, true)); ?> diff --git a/classen/RegionManager.php b/classen/RegionManager.php index 6f25a2a..261dd80 100644 --- a/classen/RegionManager.php +++ b/classen/RegionManager.php @@ -38,10 +38,7 @@ { global $RUNTIME; - $removeRegionStatement = $RUNTIME['PDO']->prepare("DELETE FROM regions WHERE RegionUUID = ?"); - $removeRegionStatement->execute(array($uuid)); - - $removeRegionStatement = $RUNTIME['PDO']->prepare("DELETE FROM onlinetimes WHERE RegionUUID = ?"); + $removeRegionStatement = $RUNTIME['PDO']->prepare("DELETE regions, onlinetimes FROM regions INNER JOIN onlinetimes ON regions.RegionUUID = onlinetimes.RegionUUID WHERE regions.RegionUUID = ?"); $removeRegionStatement->execute(array($uuid)); } } diff --git a/classen/utils.php b/classen/utils.php index b2cdc78..930224f 100644 --- a/classen/utils.php +++ b/classen/utils.php @@ -86,10 +86,10 @@ function getAssetImage($assetServer, $assetUUID) global $DATA; chdir("/var/www/html"); - if(!is_file('./data/RegionImages/'.$assetUUID.'.png')) + if(!is_file('./data/RegionImages/'.$assetUUID.'.jpg')) { $DATA['WGETCMD'] = '/usr/bin/wget '.$assetServer.'assets/'.$assetUUID.'/data -O /tmp/'.$assetUUID; - $DATA['MPEGCMD'] = '/usr/bin/ffmpeg -i /tmp/'.$assetUUID.' ./data/RegionImages/'.$assetUUID.'.png'; + $DATA['MPEGCMD'] = '/usr/bin/ffmpeg -i /tmp/'.$assetUUID.' ./data/RegionImages/'.$assetUUID.'.jpg'; $DATA['WGET'] = shell_exec($DATA['WGETCMD']); $DATA['FFMPEG'] = shell_exec($DATA['MPEGCMD']); @@ -116,25 +116,25 @@ function getTopRegionHTML($row) if(!isset($row['Image'])) return; - if(!file_exists("./data/RegionImages/".$row['Image'])) - $row['Image'] = "notFound.jpg"; + if(!file_exists("./data/RegionImages/".$row['Image'].".jpg")) + $row['Image'] = "notFound"; if(!isset($row['Description'])) $row['Description'] = "(Es wurde noch keine Beschreibung hinterlegt.)"; return ''; + Region Image '.substr($row['Name'], 0, 50).''; } function getRegionHTML($row) { - if(!file_exists("./data/RegionImages/".$row['Image'])) - $row['Image'] = "notFound.jpg"; + if(!file_exists("./data/RegionImages/".$row['Image']."jpg")) + $row['Image'] = "notFound"; if(!isset($row['Description'])) $row['Description'] = "(Es wurde noch keine Beschreibung hinterlegt.)"; - return '
Region Image '.substr($row['Name'], 0, 50).' + return '
Region Image '.substr($row['Name'], 0, 50).'

'.substr($row['Name'], 0, 50).'

Online: '.$row['OnlineCount'].'

'.substr($row['Description'], 0, 300).'

'; } ?> \ No newline at end of file diff --git a/cron/03-download_images.php b/cron/03-download_images.php deleted file mode 100644 index 5c3c24d..0000000 --- a/cron/03-download_images.php +++ /dev/null @@ -1,16 +0,0 @@ -prepare("SELECT regions.RegionName AS Name, regions.RegionUUID AS UUID, regions.RegionImage AS Image, regions.RegionOwner AS OwnerID, users.UserName AS OwnerName, onlinetimes.RegionLastSeen AS LastSeen, onlinetimes.RegionOnlineUser AS OnlineCount, regions.RegionVersion AS RegionVersion, regions.RegionHostname AS Hostname, regions.RegionPort AS Port FROM regions INNER JOIN onlinetimes ON regions.RegionUUID = onlinetimes.RegionUUID INNER JOIN users ON regions.RegionOwner = users.UserUUID WHERE onlinetimes.RegionLastSeen < ? ORDER BY LastSeen ASC"); - $topRegionStatement->execute(array(time() - 600)); - - while($row = $topRegionStatement->fetch()) - { - if(ping($row['Hostname'], $row['Port'])) - { - RegionManager::setOnlineTime($row['UUID']); - continue; - } - - RegionManager::removeRegion($row['UUID']); - } - -?> \ No newline at end of file diff --git a/cron/03-regionImageDownload.php b/cron/03-regionImageDownload.php new file mode 100644 index 0000000..07b756a --- /dev/null +++ b/cron/03-regionImageDownload.php @@ -0,0 +1,20 @@ +prepare("SELECT * FROM queue WHERE QueueType = 'regionImageDownload'"); + $QueueStatement->execute(array()); + + while($row = $QueueStatement->fetch()) + { + $queueData = json_decode($row['QueueData']); + + if(!is_file('./data/RegionImages/'.$queueData->TargetAssetUUID.'.jpg')) + { + $rawImage = getDataFromHTTP($queueData->URL, ""); + + file_put_contents("./data/RegionImages/".$queueData->TargetAssetUUID.".jpg", $rawImage); + } + + $removeQueueStatement = $RUNTIME['PDO']->prepare("DELETE FROM queue WHERE QueueID = ?"); + $removeQueueStatement->execute(array($row['QueueID'])); + } + +?> \ No newline at end of file diff --git a/data/RegionImages/4376f83d-79be-4e23-acc7-165beb8dc8d8.jpg b/data/RegionImages/4376f83d-79be-4e23-acc7-165beb8dc8d8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8ba6bf7001b252b05248053fdf9ca08637f67a26 GIT binary patch literal 15214 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 B<_Q1* literal 0 HcmV?d00001 diff --git a/pages/start.php b/pages/start.php index e75a379..c5d62de 100644 --- a/pages/start.php +++ b/pages/start.php @@ -4,7 +4,7 @@ $HTML->importHTML("style/default/start.html"); $RegionManager = new RegionManager(0, 28); - + $HTML->ReplaceLayoutInhalt("%%TopRegion%%", getTopRegionHTML($RegionManager->getNextRegion())); while($region = $RegionManager->getNextRegion()) @@ -12,7 +12,6 @@ $HTML->ReplaceLayoutInhalt("%%RegionList%%", @$RUNTIME['RegionList']); - $HTML->build(); echo $HTML->ausgabe(); ?> \ No newline at end of file