public static function user_id() { if (\Helpers\User::is_logged_in()) { return $_SESSION['user_id']; } else { $uid = isset($_SESSION['user_id']) ? $_SESSION['user_id'] : NULL; if (!$uid) { $uid = \Helpers\User::uid(); $_SESSION['user_id'] = $uid; } return $uid; } }
$errors = isset($flash['errors']) ? $flash['errors'] : array(); $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')); }