feature/MAPG-235-basic-challenge-mode #48
@ -20,3 +20,4 @@ MULTI_INTERNAL_HOST=multi
 | 
				
			|||||||
MULTI_INTERNAL_PORT=5000
 | 
					MULTI_INTERNAL_PORT=5000
 | 
				
			||||||
MULTI_WS_URL=mapguesser-dev.ch:8090
 | 
					MULTI_WS_URL=mapguesser-dev.ch:8090
 | 
				
			||||||
MULTI_WS_PORT=8090
 | 
					MULTI_WS_PORT=8090
 | 
				
			||||||
 | 
					ENABLE_GAME_FOR_GUESTS=0
 | 
				
			||||||
 | 
				
			|||||||
@ -2,6 +2,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
use DateTime;
 | 
					use DateTime;
 | 
				
			||||||
use Faker\Factory;
 | 
					use Faker\Factory;
 | 
				
			||||||
 | 
					use MapGuesser\Interfaces\Authorization\ISecured;
 | 
				
			||||||
use MapGuesser\Interfaces\Request\IRequest;
 | 
					use MapGuesser\Interfaces\Request\IRequest;
 | 
				
			||||||
use MapGuesser\Response\HtmlContent;
 | 
					use MapGuesser\Response\HtmlContent;
 | 
				
			||||||
use MapGuesser\Response\JsonContent;
 | 
					use MapGuesser\Response\JsonContent;
 | 
				
			||||||
@ -20,7 +21,7 @@ use MapGuesser\Repository\PlaceRepository;
 | 
				
			|||||||
use MapGuesser\Repository\UserInChallengeRepository;
 | 
					use MapGuesser\Repository\UserInChallengeRepository;
 | 
				
			||||||
use MapGuesser\Response\Redirect;
 | 
					use MapGuesser\Response\Redirect;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class GameController
 | 
					class GameController implements ISecured
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    const NUMBER_OF_ROUNDS = 5;
 | 
					    const NUMBER_OF_ROUNDS = 5;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -52,6 +53,11 @@ class GameController
 | 
				
			|||||||
        $this->userInChallengeRepository = new UserInChallengeRepository();
 | 
					        $this->userInChallengeRepository = new UserInChallengeRepository();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function authorize(): bool
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return !empty($_ENV['ENABLE_GAME_FOR_GUESTS']) || $this->request->user() !== null;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function getGame(): IContent
 | 
					    public function getGame(): IContent
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        $mapId = (int) $this->request->query('mapId');
 | 
					        $mapId = (int) $this->request->query('mapId');
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,7 @@
 | 
				
			|||||||
<?php namespace MapGuesser\Controller;
 | 
					<?php namespace MapGuesser\Controller;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
use DateTime;
 | 
					use DateTime;
 | 
				
			||||||
 | 
					use MapGuesser\Interfaces\Authorization\ISecured;
 | 
				
			||||||
use MapGuesser\Interfaces\Request\IRequest;
 | 
					use MapGuesser\Interfaces\Request\IRequest;
 | 
				
			||||||
use MapGuesser\Util\Geo\Position;
 | 
					use MapGuesser\Util\Geo\Position;
 | 
				
			||||||
use MapGuesser\Response\JsonContent;
 | 
					use MapGuesser\Response\JsonContent;
 | 
				
			||||||
@ -24,7 +25,7 @@ use MapGuesser\Repository\UserInChallengeRepository;
 | 
				
			|||||||
use MapGuesser\Repository\UserPlayedPlaceRepository;
 | 
					use MapGuesser\Repository\UserPlayedPlaceRepository;
 | 
				
			||||||
use MapGuesser\Repository\UserRepository;
 | 
					use MapGuesser\Repository\UserRepository;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class GameFlowController
 | 
					class GameFlowController implements ISecured
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    const NUMBER_OF_ROUNDS = 5;
 | 
					    const NUMBER_OF_ROUNDS = 5;
 | 
				
			||||||
    const MAX_SCORE = 1000;
 | 
					    const MAX_SCORE = 1000;
 | 
				
			||||||
@ -69,6 +70,11 @@ class GameFlowController
 | 
				
			|||||||
        $this->guessRepository = new GuessRepository();
 | 
					        $this->guessRepository = new GuessRepository();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public function authorize(): bool
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        return !empty($_ENV['ENABLE_GAME_FOR_GUESTS']) || $this->request->user() !== null;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public function initialData(): IContent
 | 
					    public function initialData(): IContent
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        $mapId = (int) $this->request->query('mapId');
 | 
					        $mapId = (int) $this->request->query('mapId');
 | 
				
			||||||
 | 
				
			|||||||
@ -114,12 +114,16 @@ TODO: condition!
 | 
				
			|||||||
                    </div>
 | 
					                    </div>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
                <div class="buttonContainer">
 | 
					                <div class="buttonContainer">
 | 
				
			||||||
                    <?php if ($isAdmin): ?>
 | 
					                    <?php if (!empty($_ENV['ENABLE_GAME_FOR_GUESTS']) || Container::$request->user()): ?>
 | 
				
			||||||
                        <button class="button fullWidth noRightRadius playButton" data-map-id="<?= $map['id'] ?>" data-map-name="<?= htmlspecialchars($map['name']) ?>" title="Play map '<?= $map['name'] ?>'">Play this map</button>
 | 
					                        <?php if ($isAdmin): ?>
 | 
				
			||||||
                        <a class="button yellow fullWidth noLeftRadius noRightRadius" href="/admin/mapEditor/<?= $map['id']; ?>" title="Edit map '<?= $map['name'] ?>'">Edit</a>
 | 
					                            <button class="button fullWidth noRightRadius playButton" data-map-id="<?= $map['id'] ?>" data-map-name="<?= htmlspecialchars($map['name']) ?>" title="Play map '<?= $map['name'] ?>'">Play this map</button>
 | 
				
			||||||
                        <button class="button red fullWidth noLeftRadius deleteButton" data-map-id="<?= $map['id'] ?>" data-map-name="<?= htmlspecialchars($map['name']) ?>" title="Delete map '<?= $map['name'] ?>'">Delete</button>
 | 
					                            <a class="button yellow fullWidth noLeftRadius noRightRadius" href="/admin/mapEditor/<?= $map['id']; ?>" title="Edit map '<?= $map['name'] ?>'">Edit</a>
 | 
				
			||||||
 | 
					                            <button class="button red fullWidth noLeftRadius deleteButton" data-map-id="<?= $map['id'] ?>" data-map-name="<?= htmlspecialchars($map['name']) ?>" title="Delete map '<?= $map['name'] ?>'">Delete</button>
 | 
				
			||||||
 | 
					                        <?php else: ?>
 | 
				
			||||||
 | 
					                            <button class="button fullWidth playButton" data-map-id="<?= $map['id'] ?>" data-map-name="<?= htmlspecialchars($map['name']) ?>" title="Play map '<?= $map['name'] ?>'">Play this map</button>
 | 
				
			||||||
 | 
					                        <?php endif; ?>
 | 
				
			||||||
                    <?php else: ?>
 | 
					                    <?php else: ?>
 | 
				
			||||||
                        <button class="button fullWidth playButton" data-map-id="<?= $map['id'] ?>" data-map-name="<?= htmlspecialchars($map['name']) ?>" title="Play map '<?= $map['name'] ?>'">Play this map</button>
 | 
					                        <a href="/login" class="button fullWidth" title="Play map '<?= $map['name'] ?>'">Play this map</a>
 | 
				
			||||||
                    <?php endif; ?>
 | 
					                    <?php endif; ?>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user