public function userRegister($request) { // Register new user from request if (empty($request['username'])) { return array("message" => array("type" => "error", "code" => "MandatoryInputMissing"), "missing_fields" => "username"); } $sql = new SqlManager(); $sql->setQuery("SELECT * FROM user WHERE username = '******'"); $sql->bindParam("{{username}}", $request['username']); $check = $sql->result(); if (isset($check['id'])) { return array("message" => array("type" => "error", "code" => "UsernameUsed")); } $newuser = new User(); $id = $newuser->create(array("username" => $request['username'])); if (!$id) { return array("message" => array("type" => "error", "code" => "UnknownError")); } $newuser->load($id); $groups = array(); if (isset($request['usergroups'])) { $groups = split(",", $request['usergroups']); } foreach ($groups as $group) { Meta::save("user", $newuser->getID(), "usergroup", $group); } $newuser->createAuthCode(); return array("redirect" => array("url" => "/bestaetige-account", "post" => array("username" => $request['username']))); }