}); $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->get('/repost', function () use($app) { if ($user = require_login($app)) { $params = $app->request()->params(); $url = ''; if (array_key_exists('url', $params)) { $url = $params['url']; } $html = render('new-repost', array('title' => 'New Repost', 'url' => $url, 'token' => generate_login_token(), 'authorizing' => false)); $app->response()->body($html); } }); $app->post('/prefs', function () use($app) { if ($user = require_login($app)) { $params = $app->request()->params(); $user->location_enabled = $params['enabled']; $user->save(); } $app->response()->body(json_encode(array('result' => 'ok'))); }); $app->get('/creating-a-token-endpoint', function () use($app) { $app->redirect('http://indiewebcamp.com/token-endpoint', 301); }); $app->get('/creating-a-micropub-endpoint', function () use($app) {
$url = ''; if (array_key_exists('url', $params)) { $url = $params['url']; } $html = render('new-favorite', array('title' => 'New Favorite', 'url' => $url, 'token' => generate_login_token())); $app->response()->body($html); } }); $app->get('/repost', function () use($app) { if ($user = require_login($app)) { $params = $app->request()->params(); $url = ''; if (array_key_exists('url', $params)) { $url = $params['url']; } $html = render('new-repost', array('title' => 'New Repost', 'url' => $url, 'token' => generate_login_token())); $app->response()->body($html); } }); $app->post('/prefs', function () use($app) { if ($user = require_login($app)) { $params = $app->request()->params(); $user->location_enabled = $params['enabled']; $user->save(); } $app->response()->body(json_encode(array('result' => 'ok'))); }); $app->get('/creating-a-token-endpoint', function () use($app) { $app->redirect('http://indiewebcamp.com/token-endpoint', 301); }); $app->get('/creating-a-micropub-endpoint', function () use($app) {
if (throttle_login_attempts($_SERVER["REMOTE_ADDR"], $db_conn)) { $return_value["login_successful"] = false; $return_value["reason"] = "Login attempt throttling engaged. Please wait a few seconds and try again. Or, if you're Sam/Arda/Bryan/Sriram/etc. stop trying to haxx"; } else { $login_code = strtoupper(trim($_POST["login_code"])); $login_hash = md5($login_code); $login_query = $db_conn->prepare("CALL lookup_party_id(:login_hash)"); $login_query->bindParam(":login_hash", $login_hash); $login_query->execute(); $results = $login_query->fetchAll(PDO::FETCH_ASSOC); if (count($results) > 0) { $login_query->closeCursor(); $party_id = $results[0]["party_id"]; $return_value["login_successful"] = true; // Generate the login token $return_value["auth_token"] = generate_login_token($party_id, $db_conn); $return_value["party_id"] = $party_id; // Get party data $return_value["party_info"] = get_party_data($party_id, $db_conn); $return_value["party_info"]["current_plus_ones"] = get_current_plus_ones($party_id, $db_conn); // Get people in party $return_value["party_people"] = get_party_people($party_id, $db_conn); // Get music suggestions $return_value["music_suggestions"] = get_music_suggestions($party_id, $db_conn); // Get the food choices $return_value["food_choices"] = get_food_choices($db_conn); } else { $return_value["login_successful"] = false; $return_value["reason"] = "Invalid login code"; } }