mirror of
				https://github.com/pierre42100/ComunicAPI
				synced 2025-10-31 02:04:53 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			73 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Comunic Rest API
 | |
|  *
 | |
|  * Serves the data for users
 | |
|  *
 | |
|  * @author Pierre HUBERT
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * Page initiator
 | |
|  */
 | |
| include(__DIR__."/init.php");
 | |
| 
 | |
| //Include RestControllers
 | |
| foreach(glob(PROJECT_PATH."RestControllers/*.php") as $restControllerFile){
 | |
| 	require_once $restControllerFile;
 | |
| }
 | |
| 
 | |
| //Include RestServer library
 | |
| require PROJECT_PATH."3rdparty/RestServer/RestServer.php";
 | |
| 
 | |
| //Allow remote requests
 | |
| header("Access-Control-Allow-Origin: *");
 | |
| 
 | |
| //By default return format is json
 | |
| if(!isset($_GET["format"]))
 | |
| 	$_GET['format'] = "json";
 | |
| 
 | |
| //Check client tokens
 | |
| if($cs->config->get("site_mode") == "debug"){ //DEBUG ONLY
 | |
| 	$_POST['serviceName'] = "testService";
 | |
| 	$_POST['serviceToken'] = "testPasswd";
 | |
| }
 | |
| if(!$cs->tokens->checkClientRequestTokens())
 | |
| 	Rest_fatal_error(401, "Please check your client tokens!");
 | |
| 
 | |
| //Check if login tokens where specified
 | |
| if(isset($_POST['userToken1']) AND isset($_POST['userToken2'])){
 | |
| 	//Try to login user
 | |
| 	$userID = $cs->user->getUserIDfromToken(APIServiceID, array(
 | |
| 		$_POST['userToken1'],
 | |
| 		$_POST['userToken2']
 | |
| 	));
 | |
| 
 | |
| 	if($userID < 1){
 | |
| 		Rest_fatal_error(401, "Please check your login tokens!");
 | |
| 	}
 | |
| 
 | |
| 	//Else save userID
 | |
| 	define("userID", $userID);
 | |
| }
 | |
| else {
 | |
| 	//Defined userID is number 0
 | |
| 	define("userID", 0);
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Handle Rest requests
 | |
|  */
 | |
| $server = new \Jacwright\RestServer\RestServer($cs->config->get("site_mode"));
 | |
| 
 | |
| //Include controllers
 | |
| foreach(get_included_files() as $filePath){
 | |
| 	if(preg_match("<RestControllers>", $filePath)){
 | |
| 		$className = strstr($filePath, "RestControllers/");
 | |
| 		$className = str_replace(array("RestControllers/", ".php"), "", $className);
 | |
| 		$server->addClass($className);
 | |
| 	}
 | |
| }
 | |
| 
 | |
| //Hanlde
 | |
| $server->handle(); | 
