-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.php
91 lines (80 loc) · 2.16 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
<?php
require_once __DIR__ . "/silex/vendor/autoload.php";
require_once __DIR__ . "/code_runner.php";
require_once __DIR__ . "/snippets.php";
/**
*
* @var Silex\Application
*/
$app = new Silex\Application();
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
$app->register(new Silex\Provider\TwigServiceProvider(), array(
'twig.path' => __DIR__.'/views',
));
/**
*/
$app->get('/snippets/read', function () use ($app) {
$dao = new SnippetsDAO();
$response = $dao->get_all();
$response = count($response) > 0 ? $response : null;
return $app->json($response);
});
/**
*/
$app->get('/snippets/{snippet_id}/read', function ($snippet_id) use ($app) {
$dao = new SnippetsDAO();
$response = $dao->get($snippet_id);
$response['content'] = stripslashes($response['content']);
return $app->json($response);
});
/**
*/
$app->get('/snippets/{snippet_id}/delete', function ($snippet_id) use ($app) {
$dao = new SnippetsDAO();
$response = $dao->delete($snippet_id);
return $app->json($response);
});
/**
*/
$app->post('/snippets/create', function (Request $request) use ($app) {
$dao = new SnippetsDAO();
$id = $dao->add($request->get('content'));
return $app->json(array('id' => $id));
});
/**
*/
$app->post('/snippets/{snippet_id}/update', function (Request $request, $snippet_id) use ($app) {
$dao = new SnippetsDAO();
$result = $dao->update($snippet_id, $request->get('content'));
return $app->json(array());
});
/**
*/
$app->post('/run_code', function (Request $request) use ($app) {
$code = stripslashes($request->get('code'));
$code_runner = new CodeRunner();
$response = $code_runner->run_code($code);
return $app->json($response);
});
/**
*/
$app->get('/', function() use ($app) {
return $app['twig']->render('template.twig', array());
});
/**
*/
$app->get('/{snippet_id}', function(Request $request, $snippet_id) use ($app) {
$snippet_id = (int) $request->get('snippet_id');
$dao = new SnippetsDAO();
if(!$dao->get($snippet_id)) {
$app->abort(404);
}
return $app['twig']->render('template.twig', array('snippet_id' => $snippet_id));
});
/**
*/
/**
* Run
*/
return $app->run();