2020-05-17 22:30:22 +02:00
|
|
|
<?php namespace MapGuesser\Controller;
|
|
|
|
|
|
|
|
use MapGuesser\Util\Geo\Bounds;
|
|
|
|
use MapGuesser\Util\Geo\Position;
|
2020-05-17 23:35:10 +02:00
|
|
|
use mysqli;
|
2020-05-17 22:30:22 +02:00
|
|
|
|
|
|
|
class GuessController extends BaseController
|
|
|
|
{
|
|
|
|
protected string $view = 'guess';
|
|
|
|
|
|
|
|
protected function operate() : void
|
|
|
|
{
|
2020-05-17 23:35:10 +02:00
|
|
|
$mysql = new mysqli($_ENV['DB_HOST'], $_ENV['DB_USER'], $_ENV['DB_PASSWORD'], $_ENV['DB_NAME']);
|
|
|
|
|
|
|
|
// demo map
|
|
|
|
$mapId = 1;
|
|
|
|
|
2020-05-18 00:23:45 +02:00
|
|
|
$stmt = $mysql->prepare('SELECT bound_south_lat, bound_west_lng, bound_north_lat, bound_east_lng FROM maps WHERE id=?');
|
|
|
|
$stmt->bind_param("i", $mapId);
|
|
|
|
$stmt->execute();
|
|
|
|
$map = $stmt->get_result()->fetch_assoc();
|
|
|
|
|
2020-05-17 23:35:10 +02:00
|
|
|
// using RAND() for the time being, could be changed in the future
|
|
|
|
$stmt = $mysql->prepare('SELECT lat, lng FROM places WHERE map_id=? ORDER BY RAND() LIMIT 1');
|
|
|
|
$stmt->bind_param("i", $mapId);
|
|
|
|
$stmt->execute();
|
2020-05-18 00:23:45 +02:00
|
|
|
$place = $stmt->get_result()->fetch_assoc();
|
2020-05-17 23:35:10 +02:00
|
|
|
|
2020-05-18 00:23:45 +02:00
|
|
|
$realPosition = new Position($place['lat'], $place['lng']);
|
|
|
|
$bounds = Bounds::createDirectly($map['bound_south_lat'], $map['bound_west_lng'], $map['bound_north_lat'], $map['bound_east_lng']);
|
2020-05-17 22:30:22 +02:00
|
|
|
|
|
|
|
$this->variables = compact('realPosition', 'bounds');
|
|
|
|
}
|
|
|
|
}
|