-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.php
More file actions
78 lines (63 loc) · 2.03 KB
/
index.php
File metadata and controls
78 lines (63 loc) · 2.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
require_once('./bootstrap.php');
use Core\Logger;
use Core\MerchantProvider;
use Core\MethodProvider;
use Core\TicketProvider;
use Core\UserProvider;
use PHPMailer\PHPMailer\PHPMailer;
use Routing\App;
use Routing\BodyParser;
use Routing\CorsConfiguration;
use Routing\Request;
use Routing\Response;
define("TEMPLATE_DIR","./templates");
define("CB_URL", "https://api.coinbase.com");
$_SERVER['REQUEST_URI'] = "/".$_GET['route'];
session_start();
$logger = new Logger(__DIR__."/error.log");
$client = getDatabaseInstance();
$application = new App();
$cors = new CorsConfiguration();
$cors->whiteListBasicMethods();
$cors->whiteListMethods('GET','POST','PUT','PATCH','DELETE');
$cors->whiteListOrigin("localhost", "http://192.168.43.153:3000", "http://localhost", "http://localhost:3000", "https://1xcrypto.net", "https://office.1xcrypto.net");
$cors->whiteListheaders("Content-Type", "X-TOKEN");
$application->setOption("home","../");
// Handle CORS Requests
$application->global($cors->createHandler());
// JSON content parsing middleware.
$application->global(BodyParser::json());
//Inject PDO instance
$application->global(function(Request& $request, Response& $response, Closure $next){
global $client;
$request->setOption('storage', $client);
$next();
});
// Inject Connected User informations
$application->global(function(Request& $request, Response& $response, Closure $next){
if(isConnected()){
$request->setOption("connected", true);
$request->setOption("isAdmin", isUserAnAdmin());
$request->setOption("user", getUser());
}
else{
$request->setOption("connected", false);
$request->setOption('isAdmin', false);
}
$next();
});
$application->get("/logout", function (Request $req, Response $res){
if($req->getOption('connected')){
logUserOut();
}
$res->json([
'success' => true
]);
});
includeDirectory("./routes");
$application->global(function (Request $req, Response $res){
$res->json(['success' => false]);
});
$application->handle();
?>