forked from guilhermegregio/slim-test
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.php
125 lines (100 loc) · 2.92 KB
/
index.php
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?php
require_once 'models/Users.php';
require_once 'models/Products.php';
require 'vendor/autoload.php';
$app = new \Slim\Slim(array('templates.path' => 'templates'));
function verifyRequiredParams($required_fields) {
$error = false;
$error_fields = "";
$request_params = array();
$request_params = $_REQUEST;
// Handling PUT request params
if ($_SERVER['REQUEST_METHOD'] == 'PUT') {
$app = \Slim\Slim::getInstance();
$body = json_decode($app->request()->getBody(), true);
foreach ($body as $key => $value) {
$request_params[$key] = $value;
}
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$app = \Slim\Slim::getInstance();
$body = json_decode($app->request()->getBody(), true);
foreach ($body as $key => $value) {
$request_params[$key] = $value;
}
}
foreach ($required_fields as $field) {
if (!isset($request_params[$field]) || strlen(trim($request_params[$field])) <= 0) {
$error = true;
$error_fields .= $field . ', ';
}
}
if ($error) {
// Required field(s) are missing or empty
// echo error json and stop the app
$response = array();
$app = \Slim\Slim::getInstance();
$response["error"] = true;
$response["message"] = 'Required field(s) ' . substr($error_fields, 0, -2) . ' is missing or empty';
$app->render('default.php',$response,400);
$app->stop();
}
}
$app->get('/', function() use ($app) {
$data = array(
'status'=>'200'
);
$app->render('default.php',$data,200);
});
$app->group('/products',function() use ($app){
//list
//delete id
//update id
//ADD
$app->post('/upload', function() use ($app){
if (!isset($_FILES['file'])) {
echo "No files uploaded!!";
return;
}
$file = $_FILES['file'];
if ($file['error'] !== 0) {
echo "Error no upload!!";
return;
}
$name = md5($file['tmp_name']) . '-' . $file['name'];
if(move_uploaded_file($file['tmp_name'], '../images/products/' . $name) === true){
$image = array('url' => 'images/products/' . $name, 'name' => $file['name']);
}
$response = array();
$response['image'] = $image;
$app->render('default.php', $response, 200);
});
});
$app->group('/users', function() use ($app){
//login
//rota para a home
$app->get('/',function() use ($app){
$users = new Users();
$data = array(
'login'=>$users->checkLogin('guilherme', '123')
);
//$users->createUser('guilherme', '1234');
$app->render('default.php',$data,200);
});
//rota para login
$app->post('/login/', function() use ($app){
$response = array();
$users = new Users();
$body = json_decode($app->request->getBody(),true);
$username = $body['username'];
$password = $body['password'];
$response['logged'] = $users->checkLogin($username, $password);
if($response['logged']) {
$app->render('default.php', $response, 200);
} else {
$app->render(404);
}
});
});
$app->run();
?>