1
0
Fork 0

add indexer

This commit is contained in:
Christopher 2021-11-05 05:22:07 +01:00
parent fb658e8259
commit 6155c95327
1 changed files with 44 additions and 31 deletions

View File

@ -3,40 +3,53 @@
$regionStatement = $RUNTIME['PDO']->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 ORDER BY RAND() LIMIT 10");
$regionStatement->execute(array());
while($row = $regionStatement->fetch())
while($row = $regionStatement->fetch())
{
if(ping($row['Hostname'], $row['Port']))
{
if(ping($row['Hostname'], $row['Port']))
$data = json_decode(getDataFromHTTP("http://".$row['Hostname'].":".$row['Port']."/RegionData", ""), true);
//Cleanup
$ObjectsCleanupStatement = $RUNTIME['PDO']->prepare("SELECT * FROM parcels WHERE ParcelRegionUUID = ?");
$ObjectsCleanupStatement->execute(array($row['UUID']));
while($deleteRow = $ObjectsCleanupStatement->fetch())
{
$data = json_decode(getDataFromHTTP("http://".$row['Hostname'].":".$row['Port']."/RegionData", ""), true);
foreach ($data['Parcels'] as $Parcel)
{
//Add User to DB if not exist
$QueueStatement = $RUNTIME['PDO']->prepare("INSERT IGNORE INTO users VALUES (?, ?, ?)");
$QueueStatement->execute(array($Parcel['Owner']['UUID'], $Parcel['Owner']['Name'], ""));
//Add Parcel to DB if not exist
$QueueStatement = $RUNTIME['PDO']->prepare("INSERT IGNORE INTO parcels VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
$QueueStatement->execute(array($Parcel['Parent'], $Parcel['UUID'], $Parcel['Name'], $Parcel['Description'], $Parcel['Sale'], $Parcel['InSearch'], $Parcel['Price'], $Parcel['Owner']['UUID'], $Parcel['Image'], $Parcel['Bitmap'], $Parcel['Traffic']));
}
//Add Objects
if(count($data['Objects']) != 0)
{
$rawSQLString = "INSERT IGNORE INTO objects VALUES ";
$rawSQLData = array();
foreach ($data['Objects'] as $Object)
{
$rawSQLString .= " (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?),";
array_push($rawSQLData, $Object['UUID'], $Object['Parent'], $Object['Name'], $Object['Description'], $Object['Image'], $Object['InSearch'], $Object['Sale'], $Object['Price'], $Object['Copy'], $Object['Position'], $Object['Owner']['UUID']);
}
$QueueStatement = $RUNTIME['PDO']->prepare(rtrim($rawSQLString, ","));
$QueueStatement->execute($rawSQLData);
}
print_r($data);
$QueueStatement = $RUNTIME['PDO']->prepare("DELETE FROM objects WHERE ObjectParcelUUID = ?");
$QueueStatement->execute(array($deleteRow['ParcelUUID']));
}
$QueueStatement = $RUNTIME['PDO']->prepare("DELETE FROM parcels WHERE ParcelRegionUUID = ?");
$QueueStatement->execute(array($row['UUID']));
//Add Parcels
foreach ($data['Parcels'] as $Parcel)
{
//Add User to DB if not exist
$QueueStatement = $RUNTIME['PDO']->prepare("INSERT IGNORE INTO users VALUES (?, ?, ?)");
$QueueStatement->execute(array($Parcel['Owner']['UUID'], $Parcel['Owner']['Name'], ""));
//Add Parcel to DB if not exist
$QueueStatement = $RUNTIME['PDO']->prepare("INSERT IGNORE INTO parcels VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
$QueueStatement->execute(array($Parcel['Parent'], $Parcel['UUID'], $Parcel['Name'], $Parcel['Description'], $Parcel['Sale'], $Parcel['InSearch'], $Parcel['Price'], $Parcel['Owner']['UUID'], $Parcel['Image'], $Parcel['Bitmap'], $Parcel['Traffic']));
}
//Add Objects
if(count($data['Objects']) != 0)
{
$rawSQLString = "INSERT IGNORE INTO objects VALUES ";
$rawSQLData = array();
foreach ($data['Objects'] as $Object)
{
$rawSQLString .= " (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?),";
array_push($rawSQLData, $Object['UUID'], $Object['Parent'], $Object['Name'], $Object['Description'], $Object['Image'], $Object['InSearch'], $Object['Sale'], $Object['Price'], $Object['Copy'], $Object['Position'], $Object['Owner']['UUID']);
}
$QueueStatement = $RUNTIME['PDO']->prepare(rtrim($rawSQLString, ","));
$QueueStatement->execute($rawSQLData);
}
print_r($data);
}
}
?>