コード例 #1
0
ファイル: session.php プロジェクト: jvillasante/wildvapor
    $app->view()->set_template('layouts/basic.php');
    $app->render('session/register.php', array('page_title' => 'pages.register', 'errors' => $errors));
});
$app->post('/session/register', $require_ssl, function () use($app, $db) {
    include BASE_URI . DS . 'routes' . DS . 'validators' . DS . 'register.php';
    $data = $app->request()->post();
    $errors = validate($data);
    if ($errors) {
        $app->flash('errors', $errors);
        $app->flash('data', $data);
        $app->redirect($app->view()->url_secure('/session/register'));
    }
    $user = \Data\UserRepository::get_user_by_email_or_username($db, $data['email'], $data['username']);
    if (!$user) {
        $data['id'] = \Helpers\User::uid();
        $stmt = \Data\UserRepository::insert($db, $data);
        if ($stmt->rowCount() > 0) {
            $app->flash('info', $app->view()->tr('session.registered'));
            $app->redirect($app->view()->url('/'));
        } else {
            $app->error(new \Exception($app->view()->tr('session.system.error')));
        }
    } else {
        if ($user['email'] == $data['email'] && $user['username'] == $data['username']) {
            $app->flash('error', $app->view()->tr('session.user.exists'));
        } elseif ($user['email'] == $data['email']) {
            $app->flash('error', $app->view()->tr('session.email.taken'));
        } elseif ($user['username'] == $data['username']) {
            $app->flash('error', $app->view()->tr('session.username.taken'));
        }
        unset($data['password']);