Dateien hochladen nach „classen/OpenSimulator“
This commit is contained in:
parent
76e0bb1099
commit
3312269ae2
|
@ -1,44 +1,89 @@
|
|||
<?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'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
<?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, $regionUUID, $userUUID, $regionImage, $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;
|
||||
$this->RegionID = $regionID;
|
||||
|
||||
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'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static function getRegionForOnlineCheck($count)
|
||||
{
|
||||
global $RUNTIME;
|
||||
|
||||
$regionList = array();
|
||||
|
||||
$getRegionStatement = $RUNTIME['PDO']->prepare("SELECT * FROM regions ORDER BY LastSeen LIMIT 15");
|
||||
$getRegionStatement->execute(array());
|
||||
|
||||
while($regionRow = $getRegionStatement->fetch())
|
||||
{
|
||||
$getGridStatement = $RUNTIME['PDO']->prepare("SELECT * FROM grids WHERE GridID = :GridID");
|
||||
$getGridStatement->execute(array("GridID" => $regionRow['GridID']));
|
||||
|
||||
if($gridRow = $getGridStatement->fetch())
|
||||
{
|
||||
$gridData = new OSGrid($gridRow['GridName'], $gridRow['GridHomeURL'], $gridRow['GridAssetServer'], $gridRow['GridIMServer'], $gridRow['GridID']);
|
||||
|
||||
$regionList[] = new OSRegion($regionRow['RegionName'], $regionRow['RegionImage'], $regionRow['RegionUUID'], $regionRow['UserUUID'], $regionRow['RegionHostname'], $regionRow['RegionPort'], $gridData, $regionRow['RegionID']);
|
||||
}
|
||||
}
|
||||
|
||||
return $regionList;
|
||||
}
|
||||
|
||||
public function setOnline($online){
|
||||
global $RUNTIME;
|
||||
|
||||
$currentDateTime = new DateTime("NOW");
|
||||
$setOnlineStatement = $RUNTIME['PDO']->prepare("UPDATE regions SET Online = :OnlineStatus, LastSeen = :LastSeen WHERE RegionID = :RegionID");
|
||||
//$setOnlineStatement->debugDumpParams();
|
||||
$setOnlineStatement->execute(array("OnlineStatus" => $online, "RegionID" => $this->RegionID, "LastSeen" => $currentDateTime->format('Y-m-d H:i:s')));
|
||||
|
||||
echo "Set Online State '".$online."' for region ".$this->RegionName;
|
||||
}
|
||||
|
||||
public function getHostname(){
|
||||
return $this->RegionHostname;
|
||||
}
|
||||
|
||||
public function getPort(){
|
||||
return $this->RegionPort;
|
||||
}
|
||||
}
|
||||
?>
|
Loading…
Reference in New Issue