Example #1
0
    if (is_null($status = $statusFinder->findOneById($id))) {
        throw new HttpException(404, 'Oups! This status cannot be found :(');
    }
    $data = array('status' => $status);
    if ($request->guessBestFormat() === 'json') {
        return new JsonResponse($data);
    }
    return $app->render('status.php', $data);
});
/**
 * Add a status
 */
$app->post('/statuses', function (Request $request) use($app, $statusFinder, $statusDM) {
    $status = new Status(null, $request->getParameter('message'), $request->getParameter('authorName'), new DateTime(), $request->getUserAgent());
    $statusDM->persist($status);
    if ($request->guessBestFormat() === 'json') {
        return new JsonResponse("statuses/" . count($statusFinder->findAll()), 201);
    }
    $app->redirect('/statuses');
});
/**
 * Delete a status
 */
$app->delete('/statuses/(\\d+)', function (Request $request, $id) use($app, $statusFinder, $statusDM) {
    if (is_null($status = $statusFinder->findOneById($id))) {
        throw new HttpException(404, 'Oups! This status cannot be found :(');
    }
    $statusDM->remove($status);
    if ($request->guessBestFormat() === 'json') {
        return new JsonResponse(null, 204);
    }
    $app->redirect('/statuses');
Example #2
0
$app->get('/statusesForm', function (Request $request) use($app) {
    return $app->render("statusesForm.php", array('user' => $_SESSION['login'], 'erreur' => '', 'message' => ''));
});
$app->post('/statuses', function (Request $request) use($app, $statusMapper) {
    $message = htmlspecialchars($request->getParameter('message'));
    $user = htmlspecialchars($request->getParameter('username'));
    if (!isset($user) || !isset($message)) {
        $erreur = "Empty parameters";
        $response = new Response($erreur, 400);
        $response->send();
        return $app->render('statusesForm.php', array('user' => $user, 'message' => $message, 'error' => $erreur));
    }
    if (!Verification::checkTweetMessage($message)) {
        $erreur = "The message size is larger than 140";
        $response = new Response($erreur, 400);
        $response->send();
        return $app->render('statusesForm.php', array('user' => $user, 'message' => $message, 'error' => $erreur));
    }
    if ($_SESSION['login'] != $user) {
        $erreur = "You can't use another username for post a status";
        $response = new Response($erreur, 400);
        $response->send();
        return $app->render('statusesForm.php', array('user' => $user, 'message' => $message, 'error' => $erreur));
    }
    $statusMapper->persist(new Status(null, $user, $message, date("Y-m-d H:i:s")));
    $response = new Response("Status add correctly", 201);
    $response->send();
    $app->redirect('/statuses', 201);
});
$app->delete('/statuses/(\\d+)', function (Request $request, $id) use($app, $statusMapper, $statusFinder) {
    if (!Verification::checkInteger($id)) {
        $response = new Response("Error with the object ID", 400);
Example #3
0
// Matches if the HTTP method is GET -> /statuses/id
$app->get('/statuses/(\\d+)', function (Request $request, $id) use($app, $statusFinder) {
    if (null === ($status = $statusFinder->findOneById($id))) {
        throw new HttpException(404);
    }
    $data = array('status' => $status);
    if ($request->guessBestFormat() === 'json') {
        return new JsonResponse($data);
    }
    return $app->render('status.php', $data);
});
// Matches if the HTTP method is POST -> /statutes
$app->post('/statuses', function (Request $request) use($app, $statusFinder, $statusMapper) {
    $status = new Status(null, htmlspecialchars($request->getParameter('user')), htmlspecialchars($request->getParameter('message')), date("Y-m-d H:i:s"));
    $statusMapper->persist($status);
    if ($request->guessBestFormat() === 'json') {
        return new JsonResponse("statuses/" . count($statusFinder->findAll()), 201);
    }
    $app->redirect('/statuses');
});
// Matches if the HTTP method is POST -> /login
$app->post('/login', function (Request $request) use($app, $userFinder) {
    $userName = $request->getParameter('userName');
    $userPassword = $request->getParameter('userPassword');
    if (!isset($userName) || !isset($userPassword)) {
        $response = new Response("Empty Username or password", 400);
        $response->send();
        return $app->render('login.php', array('error' => "Empty Username or password", 'userName' => $userName));
    }
    $user = $userFinder->findOneByUserName($userName);
    if (!password_verify($userPassword, $user->getUserPassword())) {
        $response = new Response("Bad password", 400);
Example #4
0
$app->get('/logout', function (Request $request) use($app) {
    session_destroy();
    return $app->redirect('/');
});
/*
 * POST /statuses
 */
$app->post('/statuses', function (Request $request) use($app, $statusMapper) {
    $format = $request->guessBestFormat();
    if ("html" === $format || "json" === $format) {
        //$user = htmlspecialchars($request->getParameter('username'));
        //$message = htmlspecialchars($request->getParameter('message'));
        //$finder = new Model\JsonFinder();
        //$finder->create($user, $message);
        if (isset($_SESSION['is_authenticated']) && $_SESSION['is_authenticated']) {
            $user = $_SESSION['user'];
        } else {
            $user = new \Model\User(null, "Anonymous", null);
        }
        $status = new \Model\Status(null, new \DateTime(), $user, $request->getParameter('message'));
        $statusMapper->persist($status);
    }
    $app->redirect('/statuses');
});
/*
 * POST /register
 */
$app->post('/register', function (Request $request) use($app, $userMapper) {
    $name = $request->getParameter('user');
    $password = $request->getParameter('password');
    $user = new \Model\User(null, $name, password_hash($password, PASSWORD_DEFAULT));
Example #5
0
$app->post('/new', function (Request $request) use($app) {
    $extension = $request->request->get('extension');
    $mimeType = $request->request->get('mime_type');
    $password = $request->request->get('password');
    foreach ([$extension, $mimeType, $password] as $input) {
        if (!is_string($input) || !strlen($input)) {
            $app->abort(403, 'Bad input');
        }
    }
    $extension = strtolower(preg_replace('/^[.]+/', '', $extension));
    $extension = preg_replace('/[.]+/', '.', $extension);
    if (!preg_match('/[A-Za-z0-9.]/', $extension)) {
        $app->abort(500, 'Invalid filename extension');
    }
    $authorized = password_verify($password, $app['password']);
    if (!$authorized) {
        $app->abort(403, "You aren't allowed to be here, fucko");
    }
    $file = $request->files->get('file');
    if (!$file instanceof UploadedFile || !$file->isValid()) {
        $app->abort(500, 'Either there was no file or the upload failed');
    }
    $app['db']->beginTransaction();
    $sth = $app['db']->prepare('INSERT INTO extensions (extension, mime_type) VALUES (?, ?)');
    $sth->bindValue(1, $extension);
    $sth->bindValue(2, $mimeType);
    $sth->execute();
    $file->move(__DIR__ . '/repository', 'tidus_laugh.' . $extension);
    $app['db']->commit();
    return $app->redirect('/manage', 303);
});
Example #6
0
$session = new Session($db);
$app::setItem('db', $db);
$app::setItem('ad', $ad);
$app::setItem('session', $session);
//Аутентификация по LDAP
$app->post('/v1/auth/', function ($app) {
    //Устанавливаем время сессии
    $session_expire = 60;
    $session_expire = time() + intval($session_expire);
    $db = $app::getItem('db');
    $ad = $app::getItem('ad');
    $session = $app::getItem('session');
    $input = Helper::get_input_data();
    if (isset($input['login']) || isset($input['pass'])) {
        $user = new UserLDAP($ad, $db);
        $auth = $user->authentication($input['login'], $input['pass']);
        if ($auth === false) {
            $app->getResponse()->write(array('error' => $user->error()), 401);
        } else {
            //Создаем сессию
            $session_id = $session->create($input['login'], $session_expire);
            $app->getResponse()->write(array('session' => $session_id));
        }
    } else {
        $app->getResponse()->write(array('error' => 'Login or pass empty'), 400);
    }
});
$app->post('/app/users/:name', function () {
    echo 'i am post';
});
$app->run();
Example #7
0
    }
    if (isset($_SESSION['user'])) {
        $data['user'] = $_SESSION['user'];
    } else {
        $data['user'] = '******';
    }
    return $app->render('status.php', $data);
});
// Matches if the HTTP method is POST -> /statutes
$app->post('/statuses', function (Request $request) use($app, $statusFinder, $statusMapper, $userMapper) {
    $data['user'] = htmlspecialchars($request->getParameter('user'));
    $data['message'] = htmlspecialchars($request->getParameter('message'));
    if (empty($data['message'])) {
        $_SESSION['error'] = "Empty status";
        return $app->redirect('/statuses');
    }
    $status = new Status(null, $data['user'], $data['message'], date('Y-m-d H:i:s'));
    $statusMapper->persist($status);
    if ($request->guessBestFormat() === 'json') {
        return new JsonResponse(json_encode('statuses/' . $status), 201);
    }
    return $app->redirect('/statuses');
});
// Matches if the HTTP method is POST -> /login
$app->post('/login', function (Request $request) use($app, $userFinder) {
    $data['user'] = $request->getParameter('user');
    $data['password'] = $request->getParameter('password');
    if (Validation::validateConnection($data['user'], $data['password'])) {
        $data['error'] = 'Empty Username or password';
        return $app->render('login.php', $data);
    }
    if (null == ($user = $userFinder->findOneByUserName($data['user']))) {