mirror of
https://github.com/pierre42100/ComunicAPI
synced 2024-11-23 22:09:29 +00:00
Parse user entry into GeneralSettings object.
This commit is contained in:
parent
bb752d6fb1
commit
5ab89ec6d8
@ -16,7 +16,14 @@ class SettingsController {
|
|||||||
|
|
||||||
user_login_required(); //Login needed
|
user_login_required(); //Login needed
|
||||||
|
|
||||||
|
//Fetch user settings
|
||||||
|
$user_settings = components()->settings->get_general(userID);
|
||||||
|
|
||||||
|
//Check for error
|
||||||
|
if(!$user_settings->isValid())
|
||||||
|
Rest_fatal_error(500, "Could not get user settings !");
|
||||||
|
|
||||||
|
print_r($user_settings);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,77 @@
|
|||||||
|
|
||||||
class SettingsComponents {
|
class SettingsComponents {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get and return general settings of a user
|
||||||
|
*
|
||||||
|
* @param int $userID The ID of the target user
|
||||||
|
* @return GeneralSettings General settings about the user / invalid object in case
|
||||||
|
* of failure
|
||||||
|
*/
|
||||||
|
public function get_general(int $userID) : GeneralSettings {
|
||||||
|
|
||||||
|
//Get user database entry
|
||||||
|
$entry = $this->getDBUserInfo($userID);
|
||||||
|
|
||||||
|
//Check for error
|
||||||
|
if(count($entry) == 0)
|
||||||
|
return new GeneralSettings(); //Return invalid object
|
||||||
|
|
||||||
|
//Parse database entry into GeneralSettings entry
|
||||||
|
return $this->dbToGeneralSettings($entry);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get Single User Infos from database and return its information as an array
|
||||||
|
*
|
||||||
|
* @param int $userID The user ID
|
||||||
|
* @return array Information about the user (empty array in case of failure)
|
||||||
|
*/
|
||||||
|
private function getDBUserInfo(int $userID) : array {
|
||||||
|
//Prepare database request
|
||||||
|
$tablesName = AccountComponent::USER_TABLE;
|
||||||
|
$conditions = "WHERE utilisateurs.ID = ?";
|
||||||
|
$conditionsValues = array(
|
||||||
|
$userID*1,
|
||||||
|
);
|
||||||
|
|
||||||
|
//Perform request
|
||||||
|
$userInfos = CS::get()->db->select($tablesName, $conditions, $conditionsValues);
|
||||||
|
|
||||||
|
//Check if result is correct or not
|
||||||
|
if(count($userInfos) == 0)
|
||||||
|
return array(); //No result
|
||||||
|
|
||||||
|
//Return parsed result
|
||||||
|
return($userInfos[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parse a user information entry into GeneralSettings object
|
||||||
|
*
|
||||||
|
* @param array $entry The database entry to process
|
||||||
|
* @return GeneralSettings Generated GeneralSettings entry
|
||||||
|
*/
|
||||||
|
private function dbToGeneralSettings(array $entry) : GeneralSettings {
|
||||||
|
|
||||||
|
$obj = new GeneralSettings();
|
||||||
|
|
||||||
|
$obj->set_id($entry['ID']);
|
||||||
|
$obj->set_email($entry['mail']);
|
||||||
|
$obj->set_firstName($entry['prenom']);
|
||||||
|
$obj->set_lastName($entry['nom']);
|
||||||
|
$obj->set_publicPage($entry['public'] == 1);
|
||||||
|
$obj->set_openPage($entry['pageouverte'] == 1);
|
||||||
|
$obj->set_allowComments($entry['bloquecommentaire'] == 0);
|
||||||
|
$obj->set_allowPostsFriends($entry['autoriser_post_amis'] == 1);
|
||||||
|
$obj->set_allowComunicMails($entry['autorise_mail']);
|
||||||
|
$obj->set_friendsListPublic($entry['liste_amis_publique']);
|
||||||
|
$obj->set_virtualDirectory($entry['sous_repertoire'] == null ? "" : $entry['sous_repertoire']);
|
||||||
|
$obj->set_personnalWebsite($entry['site_web'] == null ? "" : $entry['site_web']);
|
||||||
|
|
||||||
|
return $obj;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,14 +10,15 @@ class GeneralSettings {
|
|||||||
//Private fields
|
//Private fields
|
||||||
private $id;
|
private $id;
|
||||||
private $email;
|
private $email;
|
||||||
private $firstname;
|
private $firstName;
|
||||||
private $lastname;
|
private $lastName;
|
||||||
private $publicPage;
|
private $publicPage;
|
||||||
private $openPage;
|
private $openPage;
|
||||||
private $allowComments;
|
private $allowComments;
|
||||||
private $allowPostsFriends;
|
private $allowPostsFriends;
|
||||||
private $allowComunicMails;
|
private $allowComunicMails;
|
||||||
private $friendsListPublic;
|
private $friendsListPublic;
|
||||||
|
private $virtualDirectory;
|
||||||
private $personnalWebsite;
|
private $personnalWebsite;
|
||||||
|
|
||||||
//Set and get user ID
|
//Set and get user ID
|
||||||
@ -127,6 +128,19 @@ class GeneralSettings {
|
|||||||
return $this->virtualDirectory != null ? $this->virtualDirectory : "null";
|
return $this->virtualDirectory != null ? $this->virtualDirectory : "null";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Set and get the personnal website of the user
|
||||||
|
public function set_personnalWebsite(string $personnalWebsite){
|
||||||
|
$this->personnalWebsite = $personnalWebsite == "" ? null : $personnalWebsite;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function has_personnalWebsite() : bool {
|
||||||
|
return $this->personnalWebsite != null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function get_personnalWebsite() : string {
|
||||||
|
return $this->personnalWebsite != null ? $this->personnalWebsite : "null";
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check wether is object is valid or not
|
* Check wether is object is valid or not
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user