forked from Business/AccountHub
		
	
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /* This Source Code Form is subject to the terms of the Mozilla Public
 | |
|  * License, v. 2.0. If a copy of the MPL was not distributed with this
 | |
|  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 | |
| 
 | |
| /**
 | |
|  * Simple JSON API to allow other apps to access data from this app.
 | |
|  *
 | |
|  * Requests can be sent via either GET or POST requests.  POST is recommended
 | |
|  * as it has a lower chance of being logged on the server, exposing unencrypted
 | |
|  * user passwords.
 | |
|  */
 | |
| require __DIR__ . '/required.php';
 | |
| require_once __DIR__ . '/lib/login.php';
 | |
| require_once __DIR__ . '/lib/userinfo.php';
 | |
| header("Content-Type: application/json");
 | |
| 
 | |
| $username = $VARS['username'];
 | |
| $password = $VARS['password'];
 | |
| if (user_exists($username) !== true || authenticate_user($username, $password, $errmsg) !== true) {
 | |
|     header("HTTP/1.1 403 Unauthorized");
 | |
|     die("\"403 Unauthorized\"");
 | |
| }
 | |
| $userinfo = getUserByUsername($username);
 | |
| 
 | |
| // query max results
 | |
| $max = 20;
 | |
| if (preg_match("/^[0-9]+$/", $VARS['max']) === 1 && $VARS['max'] <= 1000) {
 | |
|     $max = (int) $VARS['max'];
 | |
| }
 | |
| 
 | |
| switch ($VARS['action']) {
 | |
|     case "ping":
 | |
|         $out = ["status" => "OK", "maxresults" => $max, "pong" => true];
 | |
|         exit(json_encode($out));
 | |
|     default:
 | |
|         header("HTTP/1.1 400 Bad Request");
 | |
|         die("\"400 Bad Request\"");
 | |
| } |