コード例 #1
0
ファイル: app.php プロジェクト: PierreCharles/uFramework-PHP
    $data['confirm'] = $request->getParameter('confirm');
    $data['captcha'] = $request->getParameter('captcha');
    $data['error'] = Validation::validationRegisterForm($data['user'], $data['password'], $data['confirm'], $data['captcha']);
    if ($data['error']['nb'] > 0) {
        return $app->render('register.php', $data);
    }
    $userMapper->persist(new User(null, $data['user'], password_hash($data['password'], PASSWORD_DEFAULT)));
    return $app->redirect('/login');
});
// Matches if the HTTP method is PUT -> /
$app->put('/', function () use($app) {
    return $app->render('index.php');
});
// Matches if the HTTP method is DELETE -> /statuses/id
$app->delete('/statuses/(\\d+)', function (Request $request, $id) use($app, $statusFinder, $statusMapper) {
    if (!Validation::isInt($id)) {
        $response = new Response("Incorrect id parameter", 400);
        $response->send();
        return;
    }
    if (null == $statusFinder->findOneById($id)) {
        throw new HttpException(404, 'Status not Found');
    }
    $statusMapper->remove($id);
    return $app->redirect('/statuses');
});
// Firewall
$app->addListener('process.before', function (Request $req) use($app) {
    session_start();
    $allowed = ['/login' => [Request::GET, Request::POST], '/statuses' => [Request::GET, Request::POST], '/statuses/' => [Request::GET, Request::POST], '/register' => [Request::GET, Request::POST], '/' => [Request::GET]];
    if (isset($_SESSION['is_connected']) && true === $_SESSION['is_connected']) {