summaryrefslogtreecommitdiff
path: root/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'controllers')
-rw-r--r--controllers/controllers.php1
-rw-r--r--controllers/editor.php41
2 files changed, 41 insertions, 1 deletions
diff --git a/controllers/controllers.php b/controllers/controllers.php
index 3f09aac..030b6fc 100644
--- a/controllers/controllers.php
+++ b/controllers/controllers.php
@@ -78,7 +78,6 @@ $app->get('/new', function() use($app) {
}
});
-
$app->get('/bookmark', function() use($app) {
if($user=require_login($app)) {
$params = $app->request()->params();
diff --git a/controllers/editor.php b/controllers/editor.php
new file mode 100644
index 0000000..995438b
--- /dev/null
+++ b/controllers/editor.php
@@ -0,0 +1,41 @@
+<?php
+
+$app->get('/editor', function() use($app) {
+ // Don't require login because appcache caches the whole page
+ $html = $app->render('editor.php');
+ $app->response()->body($html);
+});
+
+$app->post('/editor/upload', function() use($app) {
+ // Fake a file uploader by echo'ing back the data URI
+ $fn = $_FILES['files']['tmp_name'][0];
+ $imageData = base64_encode(file_get_contents($fn));
+ $src = 'data: '.mime_content_type($fn).';base64,'.$imageData;
+
+ $app->response()['Content-type'] = 'application/json';
+ $app->response()->body(json_encode([
+ 'files' => [
+ [
+ 'url'=>$src
+ ]
+ ]
+ ]));
+});
+$app->post('/editor/delete-file', function() use($app) {
+ $app->response()['Content-type'] = 'application/json';
+ $app->response()->body(json_encode(['result'=>'deleted']));
+});
+
+$app->get('/editor/oembed', function() use($app) {
+ $url = 'http://medium.iframe.ly/api/oembed?iframe=1&url='.urlencode($app->request()->params()['url']);
+ $json = file_get_contents($url);
+ $app->response()['Content-type'] = 'application/json';
+ $app->response()->body($json);
+});
+
+$app->get('/appcache.manifest', function() use($app) {
+ $content = partial('partials/appcache');
+
+ $app->response()['Content-type'] = 'text/cache-manifest';
+ $app->response()->body($content);
+});