Repository navigation
Expand file tree
/
Copy pathrestBootstrap.php
More file actions
63 lines (52 loc) · 1.75 KB
/
Copy pathrestBootstrap.php
File metadata and controls
63 lines (52 loc) · 1.75 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
<?php
/*
* RESTful API Example
*
* Created by:
* @Pabhoz
* pabhoz[@]gmail.com
*
*/
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Methods: GET,PUT,POST,DELETE");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
//Capturamos la URL
$url = ( filter_input(INPUT_GET,"url") != null) ? filter_input(INPUT_GET,"url") : "Index/";
$url = explode('/', filter_var( rtrim($url, '/') , FILTER_SANITIZE_URL));
//Key -> hK+lupE=
/*if (filter_input(INPUT_GET, "key") != null ){
$key = urlencode(filter_input(INPUT_GET, "key"));
$key = str_replace("%3D", "=", $key);
if (!Hash::validateKey($key)){
Request::setHeader(401,"text/html");
exit("Invalid Key");
}
}else{
Request::setHeader(401,"text/html");
exit("No Key provided");
}*/
$controller = ( isset($url[0]) ) ? $url[0]."_controller" : "Index_controller";
$method = ( isset($url[1]) && $url[1] != null) ? $url[1] : substr($controller, 0, -11);
$request = new \Fox\Core\Request();
$path = "./controllers/".$controller.".php";
if(file_exists($path)){
require $path;
$controller = new $controller();
$controller->setPhpinput($request->phpinput);
$params = $request->parameters;
unset($params["url"]);
unset($params["key"]);
if(isset($request->method)){
if(method_exists($controller, $request->method)){
if(isset($params) && $params != null){
$controller->{$request->method}($method,$params);
}else{
$controller->{$request->method}($method);
}
}else{
\Fox\Core\Request::error("Método no disponible",405);
}
}
}else{
\Fox\Core\Request::error("Petición no encontrada",404);
}