|
@ -72,7 +72,8 @@ $app->get('/new', function() use($app) { |
|
|
'response_date' => $user->last_micropub_response_date, |
|
|
'response_date' => $user->last_micropub_response_date, |
|
|
'syndication_targets' => json_decode($user->syndication_targets, true), |
|
|
'syndication_targets' => json_decode($user->syndication_targets, true), |
|
|
'test_response' => $test_response, |
|
|
'test_response' => $test_response, |
|
|
'location_enabled' => $user->location_enabled |
|
|
|
|
|
|
|
|
'location_enabled' => $user->location_enabled, |
|
|
|
|
|
'authorizing' => false |
|
|
)); |
|
|
)); |
|
|
$app->response()->body($html); |
|
|
$app->response()->body($html); |
|
|
} |
|
|
} |
|
@ -103,7 +104,8 @@ $app->get('/bookmark', function() use($app) { |
|
|
'bookmark_content' => $content, |
|
|
'bookmark_content' => $content, |
|
|
'bookmark_tags' => $tags, |
|
|
'bookmark_tags' => $tags, |
|
|
'token' => generate_login_token(), |
|
|
'token' => generate_login_token(), |
|
|
'syndication_targets' => json_decode($user->syndication_targets, true) |
|
|
|
|
|
|
|
|
'syndication_targets' => json_decode($user->syndication_targets, true), |
|
|
|
|
|
'authorizing' => false |
|
|
)); |
|
|
)); |
|
|
$app->response()->body($html); |
|
|
$app->response()->body($html); |
|
|
} |
|
|
} |
|
@ -121,7 +123,21 @@ $app->get('/favorite', function() use($app) { |
|
|
$html = render('new-favorite', array( |
|
|
$html = render('new-favorite', array( |
|
|
'title' => 'New Favorite', |
|
|
'title' => 'New Favorite', |
|
|
'url' => $url, |
|
|
'url' => $url, |
|
|
'token' => generate_login_token() |
|
|
|
|
|
|
|
|
'token' => generate_login_token(), |
|
|
|
|
|
'authorizing' => false |
|
|
|
|
|
)); |
|
|
|
|
|
$app->response()->body($html); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
$app->get('/photo', function() use($app) { |
|
|
|
|
|
if($user=require_login($app)) { |
|
|
|
|
|
$params = $app->request()->params(); |
|
|
|
|
|
|
|
|
|
|
|
$html = render('photo', array( |
|
|
|
|
|
'title' => 'New Photo', |
|
|
|
|
|
'note_content' => '', |
|
|
|
|
|
'authorizing' => false |
|
|
)); |
|
|
)); |
|
|
$app->response()->body($html); |
|
|
$app->response()->body($html); |
|
|
} |
|
|
} |
|
@ -139,7 +155,8 @@ $app->get('/repost', function() use($app) { |
|
|
$html = render('new-repost', array( |
|
|
$html = render('new-repost', array( |
|
|
'title' => 'New Repost', |
|
|
'title' => 'New Repost', |
|
|
'url' => $url, |
|
|
'url' => $url, |
|
|
'token' => generate_login_token() |
|
|
|
|
|
|
|
|
'token' => generate_login_token(), |
|
|
|
|
|
'authorizing' => false |
|
|
)); |
|
|
)); |
|
|
$app->response()->body($html); |
|
|
$app->response()->body($html); |
|
|
} |
|
|
} |
|
@ -160,17 +177,17 @@ $app->get('/creating-a-token-endpoint', function() use($app) { |
|
|
$app->redirect('http://indiewebcamp.com/token-endpoint', 301); |
|
|
$app->redirect('http://indiewebcamp.com/token-endpoint', 301); |
|
|
}); |
|
|
}); |
|
|
$app->get('/creating-a-micropub-endpoint', function() use($app) { |
|
|
$app->get('/creating-a-micropub-endpoint', function() use($app) { |
|
|
$html = render('creating-a-micropub-endpoint', array('title' => 'Creating a Micropub Endpoint')); |
|
|
|
|
|
|
|
|
$html = render('creating-a-micropub-endpoint', array('title' => 'Creating a Micropub Endpoint', 'authorizing' => false)); |
|
|
$app->response()->body($html); |
|
|
$app->response()->body($html); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
$app->get('/docs', function() use($app) { |
|
|
$app->get('/docs', function() use($app) { |
|
|
$html = render('docs', array('title' => 'Documentation')); |
|
|
|
|
|
|
|
|
$html = render('docs', array('title' => 'Documentation', 'authorizing' => false)); |
|
|
$app->response()->body($html); |
|
|
$app->response()->body($html); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
$app->get('/privacy', function() use($app) { |
|
|
$app->get('/privacy', function() use($app) { |
|
|
$html = render('privacy', array('title' => 'Quill Privacy Policy')); |
|
|
|
|
|
|
|
|
$html = render('privacy', array('title' => 'Quill Privacy Policy', 'authorizing' => false)); |
|
|
$app->response()->body($html); |
|
|
$app->response()->body($html); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
@ -217,7 +234,7 @@ $app->get('/add-to-home', function() use($app) { |
|
|
|
|
|
|
|
|
$app->get('/settings', function() use($app) { |
|
|
$app->get('/settings', function() use($app) { |
|
|
if($user=require_login($app)) { |
|
|
if($user=require_login($app)) { |
|
|
$html = render('settings', array('title' => 'Settings', 'include_facebook' => true)); |
|
|
|
|
|
|
|
|
$html = render('settings', array('title' => 'Settings', 'include_facebook' => true, 'authorizing' => false)); |
|
|
$app->response()->body($html); |
|
|
$app->response()->body($html); |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
@ -282,6 +299,20 @@ function create_favorite(&$user, $url) { |
|
|
return $r; |
|
|
return $r; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function create_photo(&$user, $params, $file) { |
|
|
|
|
|
$error = validate_photo($file); |
|
|
|
|
|
|
|
|
|
|
|
if(!$error) { |
|
|
|
|
|
$file_path = $file['tmp_name']; |
|
|
|
|
|
$micropub_request = array('content' => $params['note_content']); |
|
|
|
|
|
$r = micropub_post_for_user($user, $micropub_request, $file_path); |
|
|
|
|
|
} else { |
|
|
|
|
|
$r = array('error' => $error); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return $r; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
function create_repost(&$user, $url) { |
|
|
function create_repost(&$user, $url) { |
|
|
$micropub_request = array( |
|
|
$micropub_request = array( |
|
|
'repost-of' => $url |
|
|
'repost-of' => $url |
|
@ -336,6 +367,40 @@ $app->post('/favorite', function() use($app) { |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
$app->post('/photo', function() use($app) { |
|
|
|
|
|
if($user=require_login($app)) { |
|
|
|
|
|
|
|
|
|
|
|
// var_dump($app->request()->post());
|
|
|
|
|
|
//
|
|
|
|
|
|
// Since $app->request()->post() with multipart is always
|
|
|
|
|
|
// empty (bug in Slim?) We're using the raw $_POST here
|
|
|
|
|
|
// until this gets fixed.
|
|
|
|
|
|
// PHP empties everything in $_POST if the file upload size exceeds
|
|
|
|
|
|
// that is why we have to test if the variables exist first.
|
|
|
|
|
|
|
|
|
|
|
|
$note_content = isset($_POST['note_content']) ? $_POST['note_content'] : null; |
|
|
|
|
|
$params = array('note_content' => $note_content); |
|
|
|
|
|
$file = isset($_FILES['note_photo']) ? $_FILES['note_photo'] : null; |
|
|
|
|
|
|
|
|
|
|
|
$r = create_photo($user, $params, $file); |
|
|
|
|
|
|
|
|
|
|
|
// Populate the error if there was no location header.
|
|
|
|
|
|
if(empty($r['location']) && empty($r['error'])) { |
|
|
|
|
|
$r['error'] = "No 'Location' header in response."; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$html = render('photo', array( |
|
|
|
|
|
'title' => 'Photo posted', |
|
|
|
|
|
'note_content' => $params['note_content'], |
|
|
|
|
|
'location' => (isset($r['location']) ? $r['location'] : null), |
|
|
|
|
|
'error' => (isset($r['error']) ? $r['error'] : null), |
|
|
|
|
|
'response' => (isset($r['response']) ? htmlspecialchars($r['response']) : null), |
|
|
|
|
|
'authorizing' => false |
|
|
|
|
|
)); |
|
|
|
|
|
$app->response()->body($html); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
$app->post('/repost', function() use($app) { |
|
|
$app->post('/repost', function() use($app) { |
|
|
if($user=require_login($app)) { |
|
|
if($user=require_login($app)) { |
|
|
$params = $app->request()->params(); |
|
|
$params = $app->request()->params(); |
|
|