/** * Adds a user * * @return unknown */ function AddUser() { // Check the token if (!Kit::CheckToken()) { trigger_error('Token does not match', E_USER_ERROR); } $db =& $this->db; $response = new ResponseManager(); $username = Kit::GetParam('username', _POST, _STRING); $password = Kit::GetParam('password', _POST, _STRING); $email = Kit::GetParam('email', _POST, _STRING); $usertypeid = Kit::GetParam('usertypeid', _POST, _INT); $homepage = Kit::GetParam('homepage', _POST, _STRING); $initialGroupId = Kit::GetParam('groupid', _POST, _INT); // Validation if ($username == "") { trigger_error("Please enter a User Name.", E_USER_ERROR); } if ($password == "") { trigger_error("Please enter a Password.", E_USER_ERROR); } if ($homepage == "") { $homepage = "dashboard"; } // Test the password Kit::ClassLoader('userdata'); $userData = new Userdata($db); if (!$userData->TestPasswordAgainstPolicy($password)) { trigger_error($userData->GetErrorMessage(), E_USER_ERROR); } // Check for duplicate user name $sqlcheck = " "; $sqlcheck .= sprintf("SELECT UserName FROM user WHERE UserName = '******'", $db->escape_string($username)); if (!($sqlcheckresult = $db->query($sqlcheck))) { trigger_error($db->error()); trigger_error("Cant get this user's name. Please try another.", E_USER_ERROR); } if ($db->num_rows($sqlcheckresult) != 0) { trigger_error("Could Not Complete, Duplicate User Name Exists", E_USER_ERROR); } // Ready to enter the user into the database $password = md5($password); // Run the INSERT statement $query = "INSERT INTO user (UserName, UserPassword, usertypeid, email, homepage)"; $query .= " VALUES ('{$username}', '{$password}', {$usertypeid}, '{$email}', '{$homepage}')"; if (!($id = $db->insert_query($query))) { trigger_error($db->error()); trigger_error("Error adding that user", E_USER_ERROR); } // Add the user group $userGroupObject = new UserGroup($db); if (!($groupID = $userGroupObject->Add($username, 1))) { // We really want to delete the new user... //TODO: Delete the new user // And then error trigger_error($userGroupObject->GetErrorMessage(), E_USER_ERROR); } $userGroupObject->Link($groupID, $id); // Link the initial group $userGroupObject->Link($initialGroupId, $id); $response->SetFormSubmitResponse('User Saved.'); $response->Respond(); }