/** * @method POST * @api register */ public function register() { if (!isset($_POST['password']) || !isset($_POST['email']) || !isset($_POST['username'])) { return $this->response(array('code' => 'INVALID_PARAMS', 'status' => 0)); } if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { return $this->response(array('code' => 'INVALID_EMAIL', 'status' => 0)); } if ($this->getUserByEmail($_POST['email'])) { return $this->response(array('code' => 'EMAIL_EXISTS', 'status' => 0)); } $userlevel = User::getSettings('validate_email') === true ? 0 : 1; $db = DB::instance(); $id = $db->insert('users', array('username' => $_POST['username'], 'password' => md5($_POST['password']), 'email' => $_POST['email'], 'userlevel' => $userlevel, 'created' => time())); Analytics::track('registered', 'user', $id); return $this->response(array('userID' => $id, 'status' => 1)); }