move to oop and add lsl register
This commit is contained in:
parent
7143488770
commit
cf9ed63f48
|
@ -1,28 +1,18 @@
|
|||
<?php
|
||||
$data = json_decode(file_get_contents('php://input'), true);
|
||||
//file_put_contents("debug.txt", print_r($data, true));
|
||||
|
||||
//Add User to DB if not exist
|
||||
$QueueStatement = $RUNTIME['PDO']->prepare("INSERT IGNORE INTO users VALUES (?, ?, ?)");
|
||||
$QueueStatement->execute(array(@$data['RegionOwnerID'], @$data['RegionOwnerName'], @$data['RegionOwnerMail']));
|
||||
|
||||
//Add Grid to DB if not exist
|
||||
if(count($data['RegionOwnerURL']) != 0)
|
||||
{
|
||||
if(isset($data['RegionOwnerURL']['HomeURI']))
|
||||
{
|
||||
$rawGridInfo = getDataFromHTTP(@$data['RegionOwnerURL']['HomeURI']."get_grid_info");
|
||||
$gridInfo = new SimpleXMLElement($rawGridInfo);
|
||||
//file_put_contents("debug.txt", file_get_contents('php://input'));
|
||||
//print_r($data);
|
||||
|
||||
$QueueStatement = $RUNTIME['PDO']->prepare("INSERT IGNORE INTO grids VALUES (?, ?, ?, ?)");
|
||||
$QueueStatement->execute(array($gridInfo->gridname, @$data['RegionOwnerURL']['HomeURI'], @$data['RegionOwnerURL']['AssetServerURI'], @$data['RegionOwnerURL']['IMServerURI']));
|
||||
}
|
||||
}
|
||||
//Add Grid
|
||||
if(isset($data['RegionOwnerURL']['HomeURI']))
|
||||
$GridData = new OSGrid(@$data['GridName'], @$data['RegionOwnerURL']['HomeURI'], @$data['RegionOwnerURL']['AssetServerURI'], @$data['RegionOwnerURL']['IMServerURI']);
|
||||
|
||||
//Add Region to DB if not exist
|
||||
$QueueStatement = $RUNTIME['PDO']->prepare("INSERT INTO queue VALUES (?, ?, ?)");
|
||||
$QueueStatement->execute(array(guidv4(), "addRegion", json_encode($data)));
|
||||
if(!isset($GridData))
|
||||
die("Unknown Error: Grid data not in db.");
|
||||
|
||||
//Set LastSeen online time from Region.
|
||||
RegionManager::setOnlineTime($data['UUID']);
|
||||
//Add Region
|
||||
$RegionData = $GridData->addRegion(@$data['RegionName'], @$data['UUID'], @$data['RegionOwnerID'], @$data['UUID'], @$data['Hostname'], @$data['Port']);
|
||||
|
||||
//Add User
|
||||
$UserData = $GridData->addUser(@$data['RegionOwnerID'], @$data['RegionOwnerName'], @$data['RegionOwnerMail']);
|
||||
?>
|
|
@ -0,0 +1,34 @@
|
|||
<?php
|
||||
$gridInfo = getGridInfo($_POST['region_grid_home_url']);
|
||||
$serviceURLS = getUserServiceURL($_POST['region_grid_home_url'], $_POST['object_owner']);
|
||||
$userInfo = getUserInfo(@$serviceURLS['SRV_HomeURI'], $_POST['object_owner']);
|
||||
$regionInfo = getRegionInfo($serviceURLS['SRV_HomeURI'], $_POST['region_name']);
|
||||
$regionData = getRegionData($serviceURLS['SRV_HomeURI'], $regionInfo['uuid']);
|
||||
|
||||
if(!isset($gridInfo) || count($gridInfo) == 0)
|
||||
die("getGridInfo request error");
|
||||
|
||||
if(!isset($serviceURLS) || count($serviceURLS) == 0)
|
||||
die("serviceURLS request error");
|
||||
|
||||
if(!isset($regionInfo['result']) || $regionInfo['result'] == "false")
|
||||
die("regionInfo request error");
|
||||
|
||||
if(!isset($regionData['result']) || $regionData['result'] == "false")
|
||||
die("regionData request error");
|
||||
|
||||
if(!isset($userInfo['result']) || $userInfo['result'] == "false")
|
||||
die("userInfo request error");
|
||||
|
||||
//Add Grid
|
||||
$GridData = new OSGrid(@$gridInfo['gridname'], @$serviceURLS['SRV_HomeURI'], @$serviceURLS['SRV_AssetServerURI'], @$serviceURLS['SRV_IMServerURI']);
|
||||
|
||||
if(!isset($GridData))
|
||||
die("Unknown Error: Grid data not in db.");
|
||||
|
||||
//Add Region
|
||||
$RegionData = $GridData->addRegion(@$regionData['region_name'], @$regionInfo['uuid'], @$_POST['object_owner'], @$_POST['region_image_asset'], @$regionData['hostname'], @$regionData['http_port']);
|
||||
|
||||
//Add User
|
||||
$UserData = $GridData->addUser(@$_POST['object_owner'], $userInfo['user_firstname']." ".$userInfo['user_lastname'], "");
|
||||
?>
|
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
class OSAssetConecctor
|
||||
{
|
||||
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,98 @@
|
|||
<?php
|
||||
class OSGrid
|
||||
{
|
||||
private $GridID = 0;
|
||||
private $GridName = "";
|
||||
private $GridHomeURL = "";
|
||||
private $GridAssetServer = "";
|
||||
private $GridIMServer = "";
|
||||
|
||||
function __construct($gridName, $gridHomeURL, $gridAssetServer, $gridIMServer, $gridID = 0)
|
||||
{
|
||||
global $RUNTIME;
|
||||
|
||||
$this->GridID = $gridID;
|
||||
$this->GridName = $gridName;
|
||||
$this->GridHomeURL = $gridHomeURL;
|
||||
$this->GridAssetServer = $gridAssetServer;
|
||||
$this->GridIMServer = $gridIMServer;
|
||||
|
||||
if($gridID == 0)
|
||||
{
|
||||
$addRegionStatement = $RUNTIME['PDO']->prepare("INSERT IGNORE INTO grids (GridName, GridHomeURL, GridAssetServer, GridIMServer) VALUES (:GridName, :GridHomeURL, :GridAssetServer, :GridIMServer)");
|
||||
$addRegionStatement->execute(array("GridName" => $gridName, "GridHomeURL" => $gridHomeURL, "GridAssetServer" => $gridAssetServer, "GridIMServer" => $gridIMServer));
|
||||
$this->GridID = $RUNTIME['PDO']->lastInsertId();
|
||||
|
||||
if($this->GridID == 0)
|
||||
{
|
||||
$getRegionStatement = $RUNTIME['PDO']->prepare("SELECT * FROM grids WHERE GridName = :GridName");
|
||||
$getRegionStatement->execute(array("GridName" => $gridName));
|
||||
|
||||
if($row = $getRegionStatement->fetch())
|
||||
$this->GridID = $row['GridID'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Static functions
|
||||
public static function getGridByName($gridName)
|
||||
{
|
||||
global $RUNTIME;
|
||||
|
||||
$getRegionStatement = $RUNTIME['PDO']->prepare("SELECT * FROM grids WHERE GridName = :GridName");
|
||||
$getRegionStatement->execute(array("GridName" => $gridName));
|
||||
|
||||
if($row = $getRegionStatement->fetch())
|
||||
return new OSGrid($row['GridName'], $row['GridHomeURL'], $row['GridAssetServer'], $row['GridIMServer'], $row['GridID']);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static function getGridByID($gridID)
|
||||
{
|
||||
global $RUNTIME;
|
||||
|
||||
$getRegionStatement = $RUNTIME['PDO']->prepare("SELECT * FROM grids WHERE GridID = :GridID");
|
||||
$getRegionStatement->execute(array("GridID" => $gridID));
|
||||
|
||||
if($row = $getRegionStatement->fetch())
|
||||
return new OSGrid($row['GridID'], $row['GridName'], $row['GridHomeURL'], $row['GridAssetServer'], $row['GridIMServer']);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public function getAssetConnector(){
|
||||
return new OSAssetConecctor($this->GridAssetServer);
|
||||
}
|
||||
|
||||
public function getGridID(){
|
||||
return $this->GridID;
|
||||
}
|
||||
|
||||
public function getRegions(){
|
||||
global $RUNTIME;
|
||||
|
||||
$allRegionsFromThisGrid = array();
|
||||
|
||||
$getRegionStatement = $RUNTIME['PDO']->prepare("SELECT * FROM regions WHERE GridID = :GridID");
|
||||
$getRegionStatement->execute(array("GridID" => $this->GridID));
|
||||
|
||||
while($row = $getRegionStatement->fetch())
|
||||
{
|
||||
$regionData = new OSRegion($row['RegionImage'], $row['RegionHostname'], $row['RegionPort'], $row['RegionVersion'], $row['RegionID'], $row['GridID']);
|
||||
|
||||
array_push($allRegionsFromThisGrid, $regionData);
|
||||
}
|
||||
|
||||
return $allRegionsFromThisGrid;
|
||||
}
|
||||
|
||||
public function addRegion($regionName, $regionUUID, $userUUID, $regionImage, $regionHostname, $regionPort){
|
||||
return new OSRegion($regionName, $regionUUID, $userUUID, $regionImage, $regionHostname, $regionPort, $this);
|
||||
}
|
||||
|
||||
public function addUser($userUUID, $userName, $userMail){
|
||||
return new OSUser($userUUID, $userName, $userMail, $this);
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
class OSItem
|
||||
{
|
||||
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
class OSObject
|
||||
{
|
||||
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
class OSParcel
|
||||
{
|
||||
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,44 @@
|
|||
<?php
|
||||
class OSRegion
|
||||
{
|
||||
private $RegionID = 0;
|
||||
private $RegionPort = 0;
|
||||
private $RegionName = "";
|
||||
private $RegionUUID = "";
|
||||
private $UserUUID = "";
|
||||
private $RegionImage = "";
|
||||
private $RegionHostname = "";
|
||||
|
||||
private $Grid = null;
|
||||
|
||||
function __construct($regionName, $regionImage, $regionUUID, $userUUID, $regionHostname, $regionPort, $grid, $regionID = 0)
|
||||
{
|
||||
global $RUNTIME;
|
||||
|
||||
$this->Grid = $grid;
|
||||
|
||||
$this->RegionName = $regionName;
|
||||
$this->RegionImage = $regionImage;
|
||||
$this->RegionUUID = $regionUUID;
|
||||
$this->UserUUID = $userUUID;
|
||||
$this->RegionHostname = $regionHostname;
|
||||
$this->RegionPort = $regionPort;
|
||||
|
||||
if($regionID == 0)
|
||||
{
|
||||
$addRegionStatement = $RUNTIME['PDO']->prepare("INSERT IGNORE INTO regions (GridID, RegionName, RegionUUID, UserUUID, RegionImage, RegionHostname, RegionPort) VALUES (:GridID, :RegionName, :RegionUUID, :UserUUID, :RegionImage, :RegionHostname, :RegionPort)");
|
||||
$addRegionStatement->execute(array("GridID" => $this->Grid->getGridID(), "RegionName" => $regionName, "RegionUUID" => $regionUUID, "UserUUID" => $userUUID, "RegionImage" => $regionImage, "RegionHostname" => $regionHostname, "RegionPort" => $regionPort));
|
||||
$this->RegionID = $RUNTIME['PDO']->lastInsertId();
|
||||
|
||||
if($this->RegionID == 0)
|
||||
{
|
||||
$getRegionStatement = $RUNTIME['PDO']->prepare("SELECT * FROM regions WHERE RegionName = :RegionName AND GridID = :GridID");
|
||||
$getRegionStatement->execute(array("RegionName" => $regionName, "GridID" => $this->Grid->getGridID()));
|
||||
|
||||
if($row = $getRegionStatement->fetch())
|
||||
$this->RegionID = $row['RegionID'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,6 @@
|
|||
<?php
|
||||
class OSTexture
|
||||
{
|
||||
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
class OSUser
|
||||
{
|
||||
private $UserID = 0;
|
||||
private $UserUUID = "";
|
||||
private $UserName = "";
|
||||
private $UserMail = "";
|
||||
|
||||
private $Grid = null;
|
||||
|
||||
function __construct($userUUID, $userName, $userMail, $grid, $userid = 0)
|
||||
{
|
||||
global $RUNTIME;
|
||||
|
||||
$this->Grid = $grid;
|
||||
|
||||
$this->UserUUID = $userUUID;
|
||||
$this->UserName = $userName;
|
||||
$this->UserMail = $userMail;
|
||||
|
||||
if($userid == 0)
|
||||
{
|
||||
$addRegionStatement = $RUNTIME['PDO']->prepare("INSERT IGNORE INTO users (GridID, UserUUID, UserName, UserMail) VALUES (:GridID, :UserUUID, :UserName, :UserMail)");
|
||||
$addRegionStatement->execute(array("GridID" => $this->Grid->getGridID(), "UserUUID" => $userUUID, "UserName" => $userName, "UserMail" => $userMail));
|
||||
$this->UserID = $RUNTIME['PDO']->lastInsertId();
|
||||
}
|
||||
|
||||
if($this->UserID == 0)
|
||||
{
|
||||
$getRegionStatement = $RUNTIME['PDO']->prepare("SELECT * FROM users WHERE UserUUID = :UserUUID AND GridID = :GridID");
|
||||
$getRegionStatement->execute(array("UserUUID" => $userUUID, "GridID" => $this->Grid->getGridID()));
|
||||
|
||||
if($row = $getRegionStatement->fetch())
|
||||
$this->RegionID = $row['UserID'];
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -66,50 +66,6 @@ function sendInworldIM($fromUUID, $toUUID, $fromName, $targetURL, $text)
|
|||
getDataFromHTTP($targetURL, $rawXML, "text/xml");
|
||||
}
|
||||
|
||||
function getAssetServerURI($homeURL, $userID)
|
||||
{
|
||||
$xml = '<?xml version="1.0" encoding="utf-8"?><methodCall><methodName>get_server_urls</methodName><params><param><value><struct><member><name>userID</name><value><string>'.$userID.'</string></value></member></struct></value></param></params></methodCall>';
|
||||
$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 getAssetImage($assetServer, $assetUUID)
|
||||
{
|
||||
global $DATA;
|
||||
chdir("/var/www/html");
|
||||
|
||||
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.'.jpg';
|
||||
|
||||
$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);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function getTopRegionHTML($row)
|
||||
{
|
||||
|
@ -137,4 +93,151 @@ function getRegionHTML($row)
|
|||
return '<article><a href="index.php?page=regionInfo&id='.$row['UUID'].'" class="image"><img style="min-height: 250px; max-height: 250px;" src="./data/RegionImages/'.$row['Image'].'.jpg" alt="Region Image '.substr($row['Name'], 0, 50).'" /></a>
|
||||
<h3>'.substr($row['Name'], 0, 50).'</h3><p>Online: '.$row['OnlineCount'].'</p><p>'.substr($row['Description'], 0, 300).'</p><ul class="actions"><li><a href="region_'.$row['UUID'].'.html" class="button html5lightbox">Menr Infos</a></li></ul></article>';
|
||||
}
|
||||
|
||||
function getGridInfo($homeURL)
|
||||
{
|
||||
$optionen = stream_context_create(array('http' => array('timeout' => 2, 'method' => 'GET')));
|
||||
$result = file_get_contents($homeURL."/get_grid_info", false, $optionen);
|
||||
$returnData = array();
|
||||
|
||||
$servers = new SimpleXMLElement($result);
|
||||
|
||||
$returnData['platform'] = $servers['platform'];
|
||||
$returnData['gridname'] = $servers['gridname'];
|
||||
|
||||
return $returnData;
|
||||
}
|
||||
|
||||
|
||||
function getUserServiceURL($homeURL, $userID)
|
||||
{
|
||||
$xml = '<?xml version="1.0" encoding="utf-8"?><methodCall><methodName>get_server_urls</methodName><params><param><value><struct><member><name>userID</name><value><string>'.$userID.'</string></value></member></struct></value></param></params></methodCall>';
|
||||
$optionen = stream_context_create(array('http' => array('timeout' => 2, 'method' => 'POST', 'header' => 'Content-Type: application/xml', 'content' => $xml)));
|
||||
$result = file_get_contents($homeURL, false, $optionen);
|
||||
$returnData = array();
|
||||
|
||||
$servers = new SimpleXMLElement($result);
|
||||
|
||||
foreach ($servers->params->param->value->struct[0] as $serverEntry)
|
||||
{
|
||||
if($serverEntry->name == 'SRV_FriendsServerURI')
|
||||
$returnData['SRV_FriendsServerURI'] = $serverEntry->value->string->__toString();
|
||||
|
||||
if($serverEntry->name == 'SRV_AssetServerURI')
|
||||
$returnData['SRV_AssetServerURI'] = $serverEntry->value->string->__toString();
|
||||
|
||||
if($serverEntry->name == 'SRV_InventoryServerURI')
|
||||
$returnData['SRV_InventoryServerURI'] = $serverEntry->value->string->__toString();
|
||||
|
||||
if($serverEntry->name == 'SRV_ProfileServerURI')
|
||||
$returnData['SRV_ProfileServerURI'] = $serverEntry->value->string->__toString();
|
||||
|
||||
if($serverEntry->name == 'SRV_GroupsServerURI')
|
||||
$returnData['SRV_GroupsServerURI'] = $serverEntry->value->string->__toString();
|
||||
|
||||
if($serverEntry->name == 'SRV_IMServerURI')
|
||||
$returnData['SRV_IMServerURI'] = $serverEntry->value->string->__toString();
|
||||
|
||||
if($serverEntry->name == 'SRV_GatekeeperURI')
|
||||
$returnData['SRV_GatekeeperURI'] = $serverEntry->value->string->__toString();
|
||||
|
||||
if($serverEntry->name == 'SRV_HomeURI')
|
||||
$returnData['SRV_HomeURI'] = $serverEntry->value->string->__toString();
|
||||
}
|
||||
|
||||
return $returnData;
|
||||
}
|
||||
|
||||
function getUserInfo($homeURL, $userID)
|
||||
{
|
||||
$xml = '<?xml version="1.0" encoding="utf-8"?><methodCall><methodName>get_user_info</methodName><params><param><value><struct><member><name>userID</name><value><string>'.$userID.'</string></value></member></struct></value></param></params></methodCall>';
|
||||
$optionen = stream_context_create(array('http' => array('timeout' => 2, 'method' => 'POST', 'header' => 'Content-Type: application/xml', 'content' => $xml)));
|
||||
$result = file_get_contents($homeURL, false, $optionen);
|
||||
$returnData = array();
|
||||
|
||||
$servers = new SimpleXMLElement($result);
|
||||
|
||||
foreach ($servers->params->param->value->struct[0] as $serverEntry)
|
||||
{
|
||||
if($serverEntry->name == 'user_firstname')
|
||||
$returnData['user_firstname'] = $serverEntry->value->string->__toString();
|
||||
|
||||
if($serverEntry->name == 'user_lastname')
|
||||
$returnData['user_lastname'] = $serverEntry->value->string->__toString();
|
||||
|
||||
if($serverEntry->name == 'result')
|
||||
$returnData['result'] = $serverEntry->value->string->__toString();
|
||||
}
|
||||
|
||||
return $returnData;
|
||||
}
|
||||
|
||||
function getRegionInfo($homeURL, $regionName)
|
||||
{
|
||||
$xml = '<?xml version="1.0" encoding="utf-8"?><methodCall><methodName>link_region</methodName><params><param><value><struct><member><name>region_name</name><value><string>'.$regionName.'</string></value></member></struct></value></param></params></methodCall>';
|
||||
$optionen = stream_context_create(array('http' => array('timeout' => 2, 'method' => 'POST', 'header' => 'Content-Type: application/x-www-form-urlencoded', 'content' => $xml)));
|
||||
$result = file_get_contents($homeURL, false, $optionen);
|
||||
$returnData = array();
|
||||
|
||||
$servers = new SimpleXMLElement($result);
|
||||
|
||||
foreach ($servers->params->param->value->struct[0] as $serverEntry)
|
||||
{
|
||||
if($serverEntry->name == 'external_name')
|
||||
$returnData['external_name'] = $serverEntry->value->string->__toString();
|
||||
|
||||
if($serverEntry->name == 'region_image')
|
||||
$returnData['region_image'] = $serverEntry->value->string->__toString();
|
||||
|
||||
if($serverEntry->name == 'uuid')
|
||||
$returnData['uuid'] = $serverEntry->value->string->__toString();
|
||||
|
||||
if($serverEntry->name == 'result')
|
||||
$returnData['result'] = $serverEntry->value->string->__toString();
|
||||
}
|
||||
|
||||
return $returnData;
|
||||
}
|
||||
|
||||
function getRegionData($homeURL, $uuid)
|
||||
{
|
||||
$xml = '<?xml version="1.0" encoding="utf-8"?><methodCall><methodName>get_region</methodName><params><param><value><struct><member><name>region_uuid</name><value><string>'.$uuid.'</string></value></member></struct></value></param></params></methodCall>';
|
||||
$optionen = stream_context_create(array('http' => array('timeout' => 2, 'method' => 'POST', 'header' => 'Content-Type: application/x-www-form-urlencoded', 'content' => $xml)));
|
||||
$result = file_get_contents($homeURL, false, $optionen);
|
||||
|
||||
$returnData = array();
|
||||
|
||||
$servers = new SimpleXMLElement($result);
|
||||
|
||||
foreach ($servers->params->param->value->struct[0] as $serverEntry)
|
||||
{
|
||||
if($serverEntry->name == 'http_port')
|
||||
$returnData['http_port'] = $serverEntry->value->string->__toString();
|
||||
|
||||
if($serverEntry->name == 'hostname')
|
||||
$returnData['hostname'] = $serverEntry->value->string->__toString();
|
||||
|
||||
if($serverEntry->name == 'server_uri')
|
||||
$returnData['server_uri'] = $serverEntry->value->string->__toString();
|
||||
|
||||
if($serverEntry->name == 'region_name')
|
||||
$returnData['region_name'] = $serverEntry->value->string->__toString();
|
||||
|
||||
if($serverEntry->name == 'result')
|
||||
$returnData['result'] = $serverEntry->value->string->__toString();
|
||||
}
|
||||
|
||||
return $returnData;
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -1,21 +1,21 @@
|
|||
<?php
|
||||
|
||||
$getObjektImagesStatement = $RUNTIME['PDO']->prepare('SELECT DISTINCT objects.ObjectImage AS AssetID, grids.GridAssetServer AS AssetServerURL FROM objects INNER JOIN parcels ON objects.ObjectParcelUUID = parcels.ParcelUUID INNER JOIN regions ON parcels.ParcelRegionUUID = regions.RegionUUID INNER JOIN grids ON grids.GridName = regions.RegionGridName WHERE objects.ObjectImage != "00000000-0000-0000-0000-000000000000" ORDER BY RAND() LIMIT 15');
|
||||
$getObjektImagesStatement = $RUNTIME['PDO']->prepare('SELECT DISTINCT objects.ObjectImage AS AssetID, grids.GridAssetServer AS AssetServerURL FROM objects INNER JOIN parcels ON objects.ObjectParcelUUID = parcels.ParcelUUID INNER JOIN regions ON parcels.ParcelRegionUUID = regions.RegionUUID INNER JOIN grids ON grids.GridName = regions.RegionGridName WHERE objects.ObjectImage != "00000000-0000-0000-0000-000000000000" ORDER BY RAND() LIMIT 50');
|
||||
$getObjektImagesStatement->execute(array());
|
||||
|
||||
while($row = $getObjektImagesStatement->fetch())
|
||||
{
|
||||
if(!file_exists("data/AssetImages/".$row['AssetID'].".jpeg"))
|
||||
if(!file_exists("data/AssetImages/".$row['AssetID'].".png"))
|
||||
{
|
||||
$downloadURL = $row['AssetServerURL']."assets/".$row['AssetID']."/data";
|
||||
|
||||
$DATA['WGETCMD'] = '/usr/bin/wget '.$row['AssetServerURL'].'assets/'.$row['AssetID'].'/data -O ./data/AssetImages/'.$row['AssetID'].".jpg2000";
|
||||
$DATA['MPEGCMD'] = '/usr/bin/ffmpeg -i ./data/AssetImages/'.$row['AssetID'].'.jpg2000 -q:v 10 -vf "[0:v]scale=720x480" -vf "drawtext=text=\'www.opensim.land\':fontcolor=gray:fontsize=14:x=15:y=15" ./data/AssetImages/'.$row['AssetID'].'.jpeg';
|
||||
$DATA['MPEGCMD'] = '/usr/bin/ffmpeg -i ./data/AssetImages/'.$row['AssetID'].'.jpg2000 ./data/AssetImages/'.$row['AssetID'].'.png';
|
||||
|
||||
if(file_exists("ffmpeg.exe") || file_exists("wget.exe"))
|
||||
{
|
||||
$DATA['WGETCMD'] = 'wget.exe '.$row['AssetServerURL'].'assets/'.$row['AssetID'].'/data -O ./data/AssetImages/'.$row['AssetID'].".jpg2000";
|
||||
$DATA['MPEGCMD'] = 'ffmpeg.exe -i ./data/AssetImages/'.$row['AssetID'].'.jpg2000 -q:v 10 -vf "[0:v]scale=720x480" -vf "drawtext=text=\'www.opensim.land\':fontcolor=gray:fontsize=14:x=15:y=15" ./data/AssetImages/'.$row['AssetID'].'.jpeg';
|
||||
$DATA['MPEGCMD'] = 'ffmpeg.exe -i ./data/AssetImages/'.$row['AssetID'].'.jpg2000 ./data/AssetImages/'.$row['AssetID'].'.png';
|
||||
}
|
||||
|
||||
$DATA['WGET'] = shell_exec($DATA['WGETCMD']);
|
||||
|
@ -25,22 +25,22 @@ while($row = $getObjektImagesStatement->fetch())
|
|||
}
|
||||
}
|
||||
|
||||
$getObjektTextureStatement = $RUNTIME['PDO']->prepare('SELECT DISTINCT textures.TextureUUID AS AssetID, grids.GridAssetServer AS AssetServerURL FROM textures INNER JOIN objects ON textures.TextureObjektUUID = objects.ObjectUUID INNER JOIN parcels ON objects.ObjectParcelUUID = parcels.ParcelUUID INNER JOIN regions ON parcels.ParcelRegionUUID = regions.RegionUUID INNER JOIN grids ON grids.GridName = regions.RegionGridName ORDER BY RAND() LIMIT 15');
|
||||
$getObjektTextureStatement = $RUNTIME['PDO']->prepare('SELECT DISTINCT textures.TextureUUID AS AssetID, grids.GridAssetServer AS AssetServerURL FROM textures INNER JOIN objects ON textures.TextureObjektUUID = objects.ObjectUUID INNER JOIN parcels ON objects.ObjectParcelUUID = parcels.ParcelUUID INNER JOIN regions ON parcels.ParcelRegionUUID = regions.RegionUUID INNER JOIN grids ON grids.GridName = regions.RegionGridName ORDER BY RAND() LIMIT 50');
|
||||
$getObjektTextureStatement->execute(array());
|
||||
|
||||
while($row = $getObjektTextureStatement->fetch())
|
||||
{
|
||||
if(!file_exists("data/AssetImages/".$row['AssetID'].".jpeg"))
|
||||
if(!file_exists("data/AssetImages/".$row['AssetID'].".png"))
|
||||
{
|
||||
$downloadURL = $row['AssetServerURL']."assets/".$row['AssetID']."/data";
|
||||
|
||||
$DATA['WGETCMD'] = '/usr/bin/wget '.$row['AssetServerURL'].'assets/'.$row['AssetID'].'/data -O ./data/AssetImages/'.$row['AssetID'].".jpg2000";
|
||||
$DATA['MPEGCMD'] = '/usr/bin/ffmpeg -i ./data/AssetImages/'.$row['AssetID'].'.jpg2000 -q:v 10 -vf "[0:v]scale=720x480" -vf "drawtext=text=\'www.opensim.land\':fontcolor=gray:fontsize=14:x=15:y=15" ./data/AssetImages/'.$row['AssetID'].'.jpeg';
|
||||
$DATA['MPEGCMD'] = '/usr/bin/ffmpeg -i ./data/AssetImages/'.$row['AssetID'].'.jpg2000 ./data/AssetImages/'.$row['AssetID'].'.png';
|
||||
|
||||
if(file_exists("ffmpeg.exe") || file_exists("wget.exe"))
|
||||
{
|
||||
$DATA['WGETCMD'] = 'wget.exe '.$row['AssetServerURL'].'assets/'.$row['AssetID'].'/data -O ./data/AssetImages/'.$row['AssetID'].".jpg2000";
|
||||
$DATA['MPEGCMD'] = 'ffmpeg.exe -i ./data/AssetImages/'.$row['AssetID'].'.jpg2000 -q:v 10 -vf "[0:v]scale=720x480" -vf "drawtext=text=\'www.opensim.land\':fontcolor=gray:fontsize=14:x=15:y=15" ./data/AssetImages/'.$row['AssetID'].'.jpeg';
|
||||
$DATA['MPEGCMD'] = 'ffmpeg.exe -i ./data/AssetImages/'.$row['AssetID'].'.jpg2000 ./data/AssetImages/'.$row['AssetID'].'.png';
|
||||
}
|
||||
|
||||
$DATA['WGET'] = shell_exec($DATA['WGETCMD']);
|
||||
|
@ -50,22 +50,22 @@ while($row = $getObjektTextureStatement->fetch())
|
|||
}
|
||||
}
|
||||
|
||||
$getItemImagesStatement = $RUNTIME['PDO']->prepare('SELECT DISTINCT items.ItemAssetUUID AS AssetID, grids.GridAssetServer AS AssetServerURL FROM items INNER JOIN objects ON items.ItemParent = objects.ObjectUUID INNER JOIN parcels ON objects.ObjectParcelUUID = parcels.ParcelUUID INNER JOIN regions ON parcels.ParcelRegionUUID = regions.RegionUUID INNER JOIN grids ON grids.GridName = regions.RegionGridName WHERE items.ItemType = "0" ORDER BY RAND() LIMIT 15');
|
||||
$getItemImagesStatement = $RUNTIME['PDO']->prepare('SELECT DISTINCT items.ItemAssetUUID AS AssetID, grids.GridAssetServer AS AssetServerURL FROM items INNER JOIN objects ON items.ItemParent = objects.ObjectUUID INNER JOIN parcels ON objects.ObjectParcelUUID = parcels.ParcelUUID INNER JOIN regions ON parcels.ParcelRegionUUID = regions.RegionUUID INNER JOIN grids ON grids.GridName = regions.RegionGridName WHERE items.ItemType = "0" ORDER BY RAND() LIMIT 50');
|
||||
$getItemImagesStatement->execute(array());
|
||||
|
||||
while($row = $getItemImagesStatement->fetch())
|
||||
{
|
||||
if(!file_exists("data/AssetImages/".$row['AssetID'].".jpeg"))
|
||||
if(!file_exists("data/AssetImages/".$row['AssetID'].".png"))
|
||||
{
|
||||
$downloadURL = $row['AssetServerURL']."assets/".$row['AssetID']."/data";
|
||||
|
||||
$DATA['WGETCMD'] = '/usr/bin/wget '.$row['AssetServerURL'].'assets/'.$row['AssetID'].'/data -O ./data/AssetImages/'.$row['AssetID'].".jpg2000";
|
||||
$DATA['MPEGCMD'] = '/usr/bin/ffmpeg -i ./data/AssetImages/'.$row['AssetID'].'.jpg2000 -q:v 10 -vf "[0:v]scale=720x480" -vf "drawtext=text=\'www.opensim.land\':fontcolor=gray:fontsize=14:x=15:y=15" ./data/AssetImages/'.$row['AssetID'].'.jpeg';
|
||||
$DATA['MPEGCMD'] = '/usr/bin/ffmpeg -i ./data/AssetImages/'.$row['AssetID'].'.jpg2000 -q:v 10 ./data/AssetImages/'.$row['AssetID'].'.png';
|
||||
|
||||
if(file_exists("ffmpeg.exe") || file_exists("wget.exe"))
|
||||
{
|
||||
$DATA['WGETCMD'] = 'wget.exe '.$row['AssetServerURL'].'assets/'.$row['AssetID'].'/data -O ./data/AssetImages/'.$row['AssetID'].".jpg2000";
|
||||
$DATA['MPEGCMD'] = 'ffmpeg.exe -i ./data/AssetImages/'.$row['AssetID'].'.jpg2000 -q:v 10 -vf "[0:v]scale=720x480" -vf "drawtext=text=\'www.opensim.land\':fontcolor=gray:fontsize=14:x=15:y=15" ./data/AssetImages/'.$row['AssetID'].'.jpeg';
|
||||
$DATA['MPEGCMD'] = 'ffmpeg.exe -i ./data/AssetImages/'.$row['AssetID'].'.jpg2000 -q:v 10 ./data/AssetImages/'.$row['AssetID'].'.png';
|
||||
}
|
||||
|
||||
$DATA['WGET'] = shell_exec($DATA['WGETCMD']);
|
||||
|
|
19
debug.txt
19
debug.txt
|
@ -1,19 +0,0 @@
|
|||
Array
|
||||
(
|
||||
[RegionName] => Twix
|
||||
[UUID] => fd77f089-6a70-40fa-99a2-dde697edb860
|
||||
[Hostname] => inc.li
|
||||
[Port] => 7000
|
||||
[RegionOwnerID] => ea78a956-6ba4-4b4a-805d-71faa0555db6
|
||||
[RegionOwnerName] => Bla Bla
|
||||
[RegionOwnerMail] => test@bla.de
|
||||
[RegionOwnerURL] => Array
|
||||
(
|
||||
[HomeURI] => http://inc.li:8002/
|
||||
[AssetServerURI] => http://inc.li:8002/
|
||||
[IMServerURI] => http://inc.li:8002/
|
||||
)
|
||||
|
||||
[GridName] => Inc.li
|
||||
[HomeURL] => http://inc.li:8002
|
||||
)
|
18
index.php
18
index.php
|
@ -2,14 +2,22 @@
|
|||
date_default_timezone_set("Europe/Berlin");
|
||||
error_reporting(E_ALL);
|
||||
|
||||
include_once("classen/utils.php");
|
||||
include_once("classen/HTML.php");
|
||||
include_once("classen/RegionManager.php");
|
||||
|
||||
$RUNTIME = array();
|
||||
|
||||
include_once("config.php");
|
||||
|
||||
include_once("classen/HTML.php");
|
||||
include_once("classen/utils.php");
|
||||
|
||||
include_once("classen/OpenSimulator/OSGrid.php");
|
||||
include_once("classen/OpenSimulator/OSItem.php");
|
||||
include_once("classen/OpenSimulator/OSObject.php");
|
||||
include_once("classen/OpenSimulator/OSParcel.php");
|
||||
include_once("classen/OpenSimulator/OSRegion.php");
|
||||
include_once("classen/OpenSimulator/OSTexture.php");
|
||||
include_once("classen/OpenSimulator/OSUser.php");
|
||||
|
||||
include_once("classen/OpenSimulator/OSAssetConecctor.php");
|
||||
|
||||
if(isset($_REQUEST['api']))
|
||||
{
|
||||
if(file_exists("./api/".$_REQUEST['api'].".php")){
|
||||
|
|
119
mysql.sql
119
mysql.sql
|
@ -1,119 +0,0 @@
|
|||
-- --------------------------------------------------------
|
||||
-- Host: 127.0.0.1
|
||||
-- Server Version: 10.4.17-MariaDB - mariadb.org binary distribution
|
||||
-- Server Betriebssystem: Win64
|
||||
-- HeidiSQL Version: 11.2.0.6213
|
||||
-- --------------------------------------------------------
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET NAMES utf8 */;
|
||||
/*!50503 SET NAMES utf8mb4 */;
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
||||
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
|
||||
|
||||
-- Exportiere Struktur von Tabelle opensim.land.grids
|
||||
CREATE TABLE IF NOT EXISTS `grids` (
|
||||
`GridName` varchar(128) NOT NULL DEFAULT '',
|
||||
`GridHomeURL` varchar(128) DEFAULT NULL,
|
||||
`GridAssetServer` varchar(128) DEFAULT NULL,
|
||||
`GridIMServer` varchar(128) DEFAULT NULL,
|
||||
PRIMARY KEY (`GridName`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- Daten Export vom Benutzer nicht ausgewählt
|
||||
|
||||
-- Exportiere Struktur von Tabelle opensim.land.objects
|
||||
CREATE TABLE IF NOT EXISTS `objects` (
|
||||
`ObjectUUID` varchar(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
|
||||
`ObjectParcelUUID` varchar(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
|
||||
`ObjectName` varchar(256) NOT NULL,
|
||||
`ObjectDescription` varchar(256) DEFAULT NULL,
|
||||
`ObjectImage` varchar(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
|
||||
`ObjectInSearch` int(1) NOT NULL DEFAULT 0,
|
||||
`ObejctForSale` int(1) NOT NULL DEFAULT 0,
|
||||
`ObjectPrice` int(8) NOT NULL DEFAULT 0,
|
||||
`ObjectFreeForCopy` int(1) NOT NULL DEFAULT 0,
|
||||
`ObjectPosition` varchar(30) NOT NULL,
|
||||
`ObjectOwnerID` varchar(38) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
|
||||
PRIMARY KEY (`ObjectUUID`,`ObjectParcelUUID`),
|
||||
KEY `ObjectName` (`ObjectName`),
|
||||
KEY `ObjectDescription` (`ObjectDescription`),
|
||||
KEY `ObjectInSearch` (`ObjectInSearch`),
|
||||
KEY `ObejctForSale` (`ObejctForSale`),
|
||||
KEY `ObjectFreeForCopy` (`ObjectFreeForCopy`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- Daten Export vom Benutzer nicht ausgewählt
|
||||
|
||||
-- Exportiere Struktur von Tabelle opensim.land.onlinetimes
|
||||
CREATE TABLE IF NOT EXISTS `onlinetimes` (
|
||||
`RegionUUID` varchar(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
|
||||
`RegionLastSeen` int(11) NOT NULL DEFAULT 0,
|
||||
`RegionOnlineUser` int(3) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`RegionUUID`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- Daten Export vom Benutzer nicht ausgewählt
|
||||
|
||||
-- Exportiere Struktur von Tabelle opensim.land.parcels
|
||||
CREATE TABLE IF NOT EXISTS `parcels` (
|
||||
`ParcelRegionUUID` varchar(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
|
||||
`ParcelUUID` varchar(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
|
||||
`ParcelName` varchar(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
|
||||
`ParcelDescription` text DEFAULT NULL,
|
||||
`ParcelForSale` int(1) NOT NULL DEFAULT 0,
|
||||
`ParcelInSearch` int(1) NOT NULL DEFAULT 0,
|
||||
`ParcelPrice` int(16) DEFAULT NULL,
|
||||
`ParcelOwnerID` varchar(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
|
||||
`ParcelImage` varchar(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
|
||||
`ParcelBitmap` text DEFAULT NULL,
|
||||
`ParcelTraffic` int(16) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`ParcelUUID`),
|
||||
KEY `ParcelRegionUUID` (`ParcelRegionUUID`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- Daten Export vom Benutzer nicht ausgewählt
|
||||
|
||||
-- Exportiere Struktur von Tabelle opensim.land.queue
|
||||
CREATE TABLE IF NOT EXISTS `queue` (
|
||||
`QueueID` varchar(38) NOT NULL,
|
||||
`QueueType` varchar(24) NOT NULL,
|
||||
`QueueData` text NOT NULL,
|
||||
PRIMARY KEY (`QueueID`),
|
||||
KEY `QueueType` (`QueueType`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- Daten Export vom Benutzer nicht ausgewählt
|
||||
|
||||
-- Exportiere Struktur von Tabelle opensim.land.regions
|
||||
CREATE TABLE IF NOT EXISTS `regions` (
|
||||
`RegionName` varchar(128) NOT NULL,
|
||||
`RegionUUID` varchar(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
|
||||
`RegionGridName` varchar(128) NOT NULL,
|
||||
`RegionImage` varchar(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
|
||||
`RegionOwner` varchar(50) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
|
||||
`RegionHostname` varchar(128) NOT NULL,
|
||||
`RegionPort` int(8) NOT NULL DEFAULT 7000,
|
||||
`RegionVersion` varchar(256) DEFAULT NULL,
|
||||
PRIMARY KEY (`RegionUUID`),
|
||||
KEY `RegionName` (`RegionName`),
|
||||
KEY `RegionOwner` (`RegionOwner`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- Daten Export vom Benutzer nicht ausgewählt
|
||||
|
||||
-- Exportiere Struktur von Tabelle opensim.land.users
|
||||
CREATE TABLE IF NOT EXISTS `users` (
|
||||
`UserUUID` varchar(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
|
||||
`UserName` varchar(128) NOT NULL,
|
||||
`UserMail` varchar(50) NOT NULL,
|
||||
PRIMARY KEY (`UserUUID`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- Daten Export vom Benutzer nicht ausgewählt
|
||||
|
||||
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */;
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */;
|
Loading…
Reference in New Issue