mirror of
				https://github.com/pierre42100/ComunicAPI
				synced 2025-11-04 12:14:12 +00:00 
			
		
		
		
	Can create accounts.
This commit is contained in:
		@@ -58,4 +58,53 @@ class accountController {
 | 
				
			|||||||
		//Everything is ok
 | 
							//Everything is ok
 | 
				
			||||||
		return array("success" => "The user has been disconnected !");
 | 
							return array("success" => "The user has been disconnected !");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Create an account
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @url POST /account/create
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						public function createAccount(){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Check post fields existence
 | 
				
			||||||
 | 
							if(!check_post_parametres(array("emailAddress", "firstName", "lastName", "password")))
 | 
				
			||||||
 | 
								Rest_fatal_error(400, "Please check given parameters");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Check the first and the last name of the user
 | 
				
			||||||
 | 
							$firstName = $_POST["firstName"];
 | 
				
			||||||
 | 
							$lastName = $_POST["lastName"];
 | 
				
			||||||
 | 
							if(strlen($firstName) < 2 || strlen($lastName) < 2)
 | 
				
			||||||
 | 
								Rest_fatal_error(400, "Please check the length of the first and the last name");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Check the given email address
 | 
				
			||||||
 | 
							$email = $_POST['emailAddress'];
 | 
				
			||||||
 | 
							if(!filter_var($email, FILTER_VALIDATE_EMAIL))
 | 
				
			||||||
 | 
								Rest_fatal_error(400, "Specified email address is invalid !");
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							//Check the given password
 | 
				
			||||||
 | 
							$password = $_POST["password"];
 | 
				
			||||||
 | 
							if(strlen($password) < 3)
 | 
				
			||||||
 | 
								Rest_fatal_error(400, "Please specify a stronger password !");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							//Check if the email address is already associated with an account
 | 
				
			||||||
 | 
							if(components()->account->exists_email($email))
 | 
				
			||||||
 | 
								Rest_fatal_error(401, "The specified email address is already associated with an account!");
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							//Create new account object
 | 
				
			||||||
 | 
							$newAccount = new NewAccount();
 | 
				
			||||||
 | 
							$newAccount->firstName = $firstName;
 | 
				
			||||||
 | 
							$newAccount->lastName = $lastName;
 | 
				
			||||||
 | 
							$newAccount->email = $email;
 | 
				
			||||||
 | 
							$newAccount->password = $password;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Try to create the account
 | 
				
			||||||
 | 
							if(!components()->account->create($newAccount))
 | 
				
			||||||
 | 
								Rest_fatal_error(500, "An error occured while trying to create the account !");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Success
 | 
				
			||||||
 | 
							return array(
 | 
				
			||||||
 | 
								"success" => "The account has been created !"
 | 
				
			||||||
 | 
							);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -174,6 +174,30 @@ class Account {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Intend to create an account
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @param NewAccount $account The new account to create
 | 
				
			||||||
 | 
						 * @return bool TRUE in case of success / FALSE else
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						public function create(NewAccount $newAccount) : bool {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Crypt password
 | 
				
			||||||
 | 
							$password = $this->cryptPassword($newAccount->password);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							//Set the values
 | 
				
			||||||
 | 
							$values = array(
 | 
				
			||||||
 | 
								"nom" => $newAccount->lastName,
 | 
				
			||||||
 | 
								"prenom" => $newAccount->firstName,
 | 
				
			||||||
 | 
								"date_creation" => mysql_date(),
 | 
				
			||||||
 | 
								"mail" => $newAccount->email,
 | 
				
			||||||
 | 
								"password" => $password
 | 
				
			||||||
 | 
							);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							//Try to insert the user in the database
 | 
				
			||||||
 | 
							return CS::get()->db->addLine(self::USER_TABLE, $values);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
	 * Crypt user password
 | 
						 * Crypt user password
 | 
				
			||||||
	 *
 | 
						 *
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user