ComunicAPI/functions/user.php

61 lines
1.3 KiB
PHP

<?php
/**
* User functions
*
* @author Pierre HUBERT
*/
/**
* A function that check login information are specified,
* else it quit the scripts because of missing login
*
* @return bool True for a success
*/
function user_login_required() : bool {
if(!user_signed_in()){
Rest_fatal_error(401, "This function requires user to be logged in!");
}
//User logged in
return true;
}
/**
* Check wether the user is signed in or not
*
* @return bool TRUE if user is signed in / FALSE else
*/
function user_signed_in() : bool {
//Check constant
if(!defined("userID"))
return false;
//Check user ID
if(userID == 0)
return false;
//User seems to be signed in
return true;
}
/**
* Check the validity of a password provided in a $_POST request
*
* @param int $userID The ID of the user to check
* @param string $name The name of the POST field containing the password
* @return bool TRUE in case of success / (stop by default in case of failure)
*/
function check_post_password(int $userID, string $name) : bool {
//Get POST field
$password = postString($name, 2);
//Check the password
if(!components()->account->checkUserPassword($userID, $password))
Rest_fatal_error(401, "The password is invalid!");
//Else the password seems to be valid
return TRUE;
}