public static function getByUserId($uid) { /** * @var $db \PDO */ global $db; // Prepare SELECT $stmt = $db->prepare("SELECT `id` FROM " . self::$tableName . " WHERE user = ?"); $stmt->execute(array($uid)); if ($stmt->rowCount() == 0) { throw new MailSubscriptionNotFoundException(); } $dataFromDB = $stmt->fetch(\PDO::FETCH_ASSOC); $mailSubscription = MailSubscription::getById($dataFromDB['id']); return $mailSubscription; }
header("Content-Type: text/html"); print json_encode(array("status" => "error", "errors" => $file->getErrors())); exit; } }); $app->get("/mailsubscription/:uid", function ($uid) { try { $mailSubscription = MailSubscription::getByUserId($uid); $subscribed = true; } catch (MailSubscriptionNotFoundException $e) { $subscribed = false; } outputJSON(array("subscribed" => $subscribed)); }); $app->get("/mailsubscription/subscribe/:uid", function ($uid) { try { $mailSubscription = MailSubscription::getByUserId($uid); } catch (MailSubscriptionNotFoundException $e) { $mailSubscription = new MailSubscription(); $mailSubscription->setUser($uid); $mailSubscription->save(); } }); $app->get("/mailsubscription/unsubscribe/:uid", function ($uid) { try { $mailSubscription = MailSubscription::getByUserId($uid); $mailSubscription->delete(); } catch (MailSubscriptionNotFoundException $e) { } }); $app->run();