コード例 #1
0
ファイル: user.class.php プロジェクト: abbeet/server39
 /**
  * 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();
 }