remove position selecing from GuessController adapt GuessController to the new view-controller concept
		
			
				
	
	
		
			29 lines
		
	
	
		
			851 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			851 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php namespace MapGuesser\Controller;
 | 
						|
 | 
						|
use MapGuesser\Util\Geo\Position;
 | 
						|
use MapGuesser\View\JsonView;
 | 
						|
use MapGuesser\View\ViewBase;
 | 
						|
use mysqli;
 | 
						|
 | 
						|
class GetNewPosition implements ControllerInterface
 | 
						|
{
 | 
						|
    public function run(): ViewBase
 | 
						|
    {
 | 
						|
        $mysql = new mysqli($_ENV['DB_HOST'], $_ENV['DB_USER'], $_ENV['DB_PASSWORD'], $_ENV['DB_NAME']);
 | 
						|
 | 
						|
        // demo map
 | 
						|
        $mapId = 1;
 | 
						|
 | 
						|
        // 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();
 | 
						|
        $place = $stmt->get_result()->fetch_assoc();
 | 
						|
 | 
						|
        $position = new Position($place['lat'], $place['lng']);
 | 
						|
 | 
						|
        $data = ['position' => $position->toArray()];
 | 
						|
        return new JsonView($data);
 | 
						|
    }
 | 
						|
}
 |