feature/adapt-to-new-soko-web #59
							
								
								
									
										130
									
								
								web.php
									
									
									
									
									
								
							
							
						
						
									
										130
									
								
								web.php
									
									
									
									
									
								
							| @ -1,6 +1,18 @@ | ||||
| <?php | ||||
| 
 | ||||
| use Container; | ||||
| use SokoWeb\Response\HttpResponse; | ||||
| use SokoWeb\Routing\RouteCollection; | ||||
| use SokoWeb\Session\DatabaseSessionHandler; | ||||
| use SokoWeb\Request\Request; | ||||
| use MapGuesser\Controller\MapsController; | ||||
| use MapGuesser\Controller\HomeController; | ||||
| use MapGuesser\Controller\LoginController; | ||||
| use MapGuesser\Controller\UserController; | ||||
| use MapGuesser\Controller\GameController; | ||||
| use MapGuesser\Controller\GameFlowController; | ||||
| use MapGuesser\Controller\MapAdminController; | ||||
| use MapGuesser\Repository\UserRepository; | ||||
| 
 | ||||
| require 'main.php'; | ||||
| 
 | ||||
| @ -12,74 +24,74 @@ if (!empty($_ENV['DEV'])) { | ||||
|     ini_set('display_errors', '0'); | ||||
| } | ||||
| 
 | ||||
| Container::$routeCollection = new SokoWeb\Routing\RouteCollection(); | ||||
| Container::$routeCollection = new RouteCollection(); | ||||
| 
 | ||||
| Container::$routeCollection->get('index', '', [MapGuesser\Controller\MapsController::class, 'getMaps']); | ||||
| Container::$routeCollection->get('startSession', 'startSession.json', [MapGuesser\Controller\HomeController::class, 'startSession']); | ||||
| Container::$routeCollection->group('login', function (SokoWeb\Routing\RouteCollection $routeCollection) { | ||||
|     $routeCollection->get('login', '', [MapGuesser\Controller\LoginController::class, 'getLoginForm']); | ||||
|     $routeCollection->post('login-action', '', [MapGuesser\Controller\LoginController::class, 'login']); | ||||
|     $routeCollection->get('login-google', 'google', [MapGuesser\Controller\LoginController::class, 'getGoogleLoginRedirect']); | ||||
|     $routeCollection->get('login-google-action', 'google/code', [MapGuesser\Controller\LoginController::class, 'loginWithGoogle']); | ||||
| Container::$routeCollection->get('index', '', [MapsController::class, 'getMaps']); | ||||
| Container::$routeCollection->get('startSession', 'startSession.json', [HomeController::class, 'startSession']); | ||||
| Container::$routeCollection->group('login', function (RouteCollection $routeCollection) { | ||||
|     $routeCollection->get('login', '', [LoginController::class, 'getLoginForm']); | ||||
|     $routeCollection->post('login-action', '', [LoginController::class, 'login']); | ||||
|     $routeCollection->get('login-google', 'google', [LoginController::class, 'getGoogleLoginRedirect']); | ||||
|     $routeCollection->get('login-google-action', 'google/code', [LoginController::class, 'loginWithGoogle']); | ||||
| }); | ||||
| Container::$routeCollection->group('signup', function (SokoWeb\Routing\RouteCollection $routeCollection) { | ||||
|     $routeCollection->get('signup', '', [MapGuesser\Controller\LoginController::class, 'getSignupForm']); | ||||
|     $routeCollection->post('signup-action', '', [MapGuesser\Controller\LoginController::class, 'signup']); | ||||
|     $routeCollection->get('signup-google', 'google', [MapGuesser\Controller\LoginController::class, 'getSignupWithGoogleForm']); | ||||
|     $routeCollection->post('signup-google-action', 'google', [MapGuesser\Controller\LoginController::class, 'signupWithGoogle']); | ||||
|     $routeCollection->post('signup.reset', 'reset', [MapGuesser\Controller\LoginController::class, 'resetSignup']); | ||||
|     $routeCollection->post('signup-google.reset', 'google/reset', [MapGuesser\Controller\LoginController::class, 'resetGoogleSignup']); | ||||
|     $routeCollection->get('signup.success', 'success', [MapGuesser\Controller\LoginController::class, 'getSignupSuccess']); | ||||
|     $routeCollection->get('signup.activate', 'activate/{token}', [MapGuesser\Controller\LoginController::class, 'activate']); | ||||
|     $routeCollection->get('signup.cancel', 'cancel/{token}', [MapGuesser\Controller\LoginController::class, 'cancel']); | ||||
| Container::$routeCollection->group('signup', function (RouteCollection $routeCollection) { | ||||
|     $routeCollection->get('signup', '', [LoginController::class, 'getSignupForm']); | ||||
|     $routeCollection->post('signup-action', '', [LoginController::class, 'signup']); | ||||
|     $routeCollection->get('signup-google', 'google', [LoginController::class, 'getSignupWithGoogleForm']); | ||||
|     $routeCollection->post('signup-google-action', 'google', [LoginController::class, 'signupWithGoogle']); | ||||
|     $routeCollection->post('signup.reset', 'reset', [LoginController::class, 'resetSignup']); | ||||
|     $routeCollection->post('signup-google.reset', 'google/reset', [LoginController::class, 'resetGoogleSignup']); | ||||
|     $routeCollection->get('signup.success', 'success', [LoginController::class, 'getSignupSuccess']); | ||||
|     $routeCollection->get('signup.activate', 'activate/{token}', [LoginController::class, 'activate']); | ||||
|     $routeCollection->get('signup.cancel', 'cancel/{token}', [LoginController::class, 'cancel']); | ||||
| }); | ||||
| Container::$routeCollection->group('password', function (SokoWeb\Routing\RouteCollection $routeCollection) { | ||||
|     $routeCollection->get('password-requestReset', 'requestReset', [MapGuesser\Controller\LoginController::class, 'getRequestPasswordResetForm']); | ||||
|     $routeCollection->post('password-requestReset-action', 'requestReset', [MapGuesser\Controller\LoginController::class, 'requestPasswordReset']); | ||||
|     $routeCollection->get('password-requestReset.success', 'requestReset/success', [MapGuesser\Controller\LoginController::class, 'getRequestPasswordResetSuccess']); | ||||
|     $routeCollection->get('password-reset', 'reset/{token}', [MapGuesser\Controller\LoginController::class, 'getResetPasswordForm']); | ||||
|     $routeCollection->post('password-reset.action', 'reset/{token}', [MapGuesser\Controller\LoginController::class, 'resetPassword']); | ||||
| Container::$routeCollection->group('password', function (RouteCollection $routeCollection) { | ||||
|     $routeCollection->get('password-requestReset', 'requestReset', [LoginController::class, 'getRequestPasswordResetForm']); | ||||
|     $routeCollection->post('password-requestReset-action', 'requestReset', [LoginController::class, 'requestPasswordReset']); | ||||
|     $routeCollection->get('password-requestReset.success', 'requestReset/success', [LoginController::class, 'getRequestPasswordResetSuccess']); | ||||
|     $routeCollection->get('password-reset', 'reset/{token}', [LoginController::class, 'getResetPasswordForm']); | ||||
|     $routeCollection->post('password-reset.action', 'reset/{token}', [LoginController::class, 'resetPassword']); | ||||
| }); | ||||
| Container::$routeCollection->get('logout', 'logout', [MapGuesser\Controller\LoginController::class, 'logout']); | ||||
| Container::$routeCollection->group('account', function (SokoWeb\Routing\RouteCollection $routeCollection) { | ||||
|     $routeCollection->get('account', '', [MapGuesser\Controller\UserController::class, 'getAccount']); | ||||
|     $routeCollection->post('account-action', '', [MapGuesser\Controller\UserController::class, 'saveAccount']); | ||||
|     $routeCollection->get('account.delete', 'delete', [MapGuesser\Controller\UserController::class, 'getDeleteAccount']); | ||||
|     $routeCollection->post('account.delete-action', 'delete', [MapGuesser\Controller\UserController::class, 'deleteAccount']); | ||||
|     $routeCollection->get('account.googleAuthenticate', 'googleAuthenticate', [MapGuesser\Controller\UserController::class, 'getGoogleAuthenticateRedirect']); | ||||
|     $routeCollection->get('account.googleAuthenticate-action', 'googleAuthenticate/code', [MapGuesser\Controller\UserController::class, 'authenticateWithGoogle']); | ||||
| Container::$routeCollection->get('logout', 'logout', [LoginController::class, 'logout']); | ||||
| Container::$routeCollection->group('account', function (RouteCollection $routeCollection) { | ||||
|     $routeCollection->get('account', '', [UserController::class, 'getAccount']); | ||||
|     $routeCollection->post('account-action', '', [UserController::class, 'saveAccount']); | ||||
|     $routeCollection->get('account.delete', 'delete', [UserController::class, 'getDeleteAccount']); | ||||
|     $routeCollection->post('account.delete-action', 'delete', [UserController::class, 'deleteAccount']); | ||||
|     $routeCollection->get('account.googleAuthenticate', 'googleAuthenticate', [UserController::class, 'getGoogleAuthenticateRedirect']); | ||||
|     $routeCollection->get('account.googleAuthenticate-action', 'googleAuthenticate/code', [UserController::class, 'authenticateWithGoogle']); | ||||
| }); | ||||
| //Container::$routeCollection->get('maps', 'maps', [MapGuesser\Controller\MapsController::class, 'getMaps']);
 | ||||
| Container::$routeCollection->group('game', function (SokoWeb\Routing\RouteCollection $routeCollection) { | ||||
|     $routeCollection->get('game', '{mapId}', [MapGuesser\Controller\GameController::class, 'getGame']); | ||||
|     $routeCollection->post('game.prepare-json', '{mapId}/prepare.json', [MapGuesser\Controller\GameController::class, 'prepareGame']); | ||||
|     $routeCollection->post('game.initialData-json', '{mapId}/initialData.json', [MapGuesser\Controller\GameFlowController::class, 'initialData']); | ||||
|     $routeCollection->post('game.guess-json', '{mapId}/guess.json', [MapGuesser\Controller\GameFlowController::class, 'guess']); | ||||
| //Container::$routeCollection->get('maps', 'maps', [MapsController::class, 'getMaps']);
 | ||||
| Container::$routeCollection->group('game', function (RouteCollection $routeCollection) { | ||||
|     $routeCollection->get('game', '{mapId}', [GameController::class, 'getGame']); | ||||
|     $routeCollection->post('game.prepare-json', '{mapId}/prepare.json', [GameController::class, 'prepareGame']); | ||||
|     $routeCollection->post('game.initialData-json', '{mapId}/initialData.json', [GameFlowController::class, 'initialData']); | ||||
|     $routeCollection->post('game.guess-json', '{mapId}/guess.json', [GameFlowController::class, 'guess']); | ||||
| }); | ||||
| Container::$routeCollection->group('multiGame', function (SokoWeb\Routing\RouteCollection $routeCollection) { | ||||
|     $routeCollection->get('multiGame.new', 'new/{mapId}', [MapGuesser\Controller\GameController::class, 'getNewMultiGame']); | ||||
|     $routeCollection->get('multiGame', '{roomId}', [MapGuesser\Controller\GameController::class, 'getMultiGame']); | ||||
|     $routeCollection->post('multiGame.prepare-json', '{roomId}/prepare.json', [MapGuesser\Controller\GameController::class, 'prepareMultiGame']); | ||||
|     $routeCollection->post('multiGame.initialData-json', '{roomId}/initialData.json', [MapGuesser\Controller\GameFlowController::class, 'multiInitialData']); | ||||
|     $routeCollection->post('multiGame.nextRound-json', '{roomId}/nextRound.json', [MapGuesser\Controller\GameFlowController::class, 'multiNextRound']); | ||||
|     $routeCollection->post('multiGame.guess-json', '{roomId}/guess.json', [MapGuesser\Controller\GameFlowController::class, 'multiGuess']); | ||||
| Container::$routeCollection->group('multiGame', function (RouteCollection $routeCollection) { | ||||
|     $routeCollection->get('multiGame.new', 'new/{mapId}', [GameController::class, 'getNewMultiGame']); | ||||
|     $routeCollection->get('multiGame', '{roomId}', [GameController::class, 'getMultiGame']); | ||||
|     $routeCollection->post('multiGame.prepare-json', '{roomId}/prepare.json', [GameController::class, 'prepareMultiGame']); | ||||
|     $routeCollection->post('multiGame.initialData-json', '{roomId}/initialData.json', [GameFlowController::class, 'multiInitialData']); | ||||
|     $routeCollection->post('multiGame.nextRound-json', '{roomId}/nextRound.json', [GameFlowController::class, 'multiNextRound']); | ||||
|     $routeCollection->post('multiGame.guess-json', '{roomId}/guess.json', [GameFlowController::class, 'multiGuess']); | ||||
| }); | ||||
| Container::$routeCollection->group('challenge', function (SokoWeb\Routing\RouteCollection $routeCollection) { | ||||
|     $routeCollection->post('challenge.create', 'create.json', [\MapGuesser\Controller\GameController::class, 'createNewChallenge']); | ||||
|     $routeCollection->get('challenge', '{challengeToken}', [MapGuesser\Controller\GameController::class, 'getChallenge']); | ||||
|     $routeCollection->post('challenge.prepare-json', '{challengeToken}/prepare.json', [MapGuesser\Controller\GameController::class, 'prepareChallenge']); | ||||
|     $routeCollection->post('challenge.initialData-json', '{challengeToken}/initialData.json', [MapGuesser\Controller\GameFlowController::class, 'challengeInitialData']); | ||||
|     $routeCollection->post('challenge.guess-json', '{challengeToken}/guess.json', [MapGuesser\Controller\GameFlowController::class, 'challengeGuess']); | ||||
| Container::$routeCollection->group('challenge', function (RouteCollection $routeCollection) { | ||||
|     $routeCollection->post('challenge.create', 'create.json', [GameController::class, 'createNewChallenge']); | ||||
|     $routeCollection->get('challenge', '{challengeToken}', [GameController::class, 'getChallenge']); | ||||
|     $routeCollection->post('challenge.prepare-json', '{challengeToken}/prepare.json', [GameController::class, 'prepareChallenge']); | ||||
|     $routeCollection->post('challenge.initialData-json', '{challengeToken}/initialData.json', [GameFlowController::class, 'challengeInitialData']); | ||||
|     $routeCollection->post('challenge.guess-json', '{challengeToken}/guess.json', [GameFlowController::class, 'challengeGuess']); | ||||
| }); | ||||
| Container::$routeCollection->group('admin', function (SokoWeb\Routing\RouteCollection $routeCollection) { | ||||
|     $routeCollection->get('admin.mapEditor', 'mapEditor/{mapId?}', [MapGuesser\Controller\MapAdminController::class, 'getMapEditor']); | ||||
|     $routeCollection->get('admin.place', 'place.json/{placeId}', [MapGuesser\Controller\MapAdminController::class, 'getPlace']); | ||||
|     $routeCollection->post('admin.saveMap', 'saveMap/{mapId}/json', [MapGuesser\Controller\MapAdminController::class, 'saveMap']); | ||||
|     $routeCollection->post('admin.deleteMap', 'deleteMap/{mapId}', [MapGuesser\Controller\MapAdminController::class, 'deleteMap']); | ||||
| Container::$routeCollection->group('admin', function (RouteCollection $routeCollection) { | ||||
|     $routeCollection->get('admin.mapEditor', 'mapEditor/{mapId?}', [MapAdminController::class, 'getMapEditor']); | ||||
|     $routeCollection->get('admin.place', 'place.json/{placeId}', [MapAdminController::class, 'getPlace']); | ||||
|     $routeCollection->post('admin.saveMap', 'saveMap/{mapId}/json', [MapAdminController::class, 'saveMap']); | ||||
|     $routeCollection->post('admin.deleteMap', 'deleteMap/{mapId}', [MapAdminController::class, 'deleteMap']); | ||||
| }); | ||||
| 
 | ||||
| if (isset($_COOKIE['COOKIES_CONSENT'])) { | ||||
|     Container::$sessionHandler = new SokoWeb\Session\DatabaseSessionHandler(); | ||||
|     Container::$sessionHandler = new DatabaseSessionHandler(); | ||||
| 
 | ||||
|     session_set_save_handler(Container::$sessionHandler, true); | ||||
|     session_start([ | ||||
| @ -108,13 +120,13 @@ if (isset($_COOKIE['COOKIES_CONSENT'])) { | ||||
|     $_SESSION = []; | ||||
| } | ||||
| 
 | ||||
| Container::$request = new SokoWeb\Request\Request( | ||||
| Container::$request = new Request( | ||||
|     $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'], | ||||
|     $_GET, | ||||
|     $_POST, | ||||
|     getallheaders(), | ||||
|     $_SESSION, | ||||
|     new MapGuesser\Repository\UserRepository() | ||||
|     new UserRepository() | ||||
| ); | ||||
| 
 | ||||
| if (!Container::$request->session()->has('anti_csrf_token')) { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user