mirror of
https://github.com/pierre42100/ComunicAPI
synced 2025-06-19 16:45:17 +00:00
Added language settings
This commit is contained in:
@ -64,6 +64,42 @@ class SettingsComponents {
|
||||
return $folderUserID == $userID;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get and return language settings of a user
|
||||
*
|
||||
* @param int $userID Target user ID
|
||||
* @return LanguageSettings The language settings of the user / invalid object
|
||||
* in case of failure
|
||||
*/
|
||||
public function get_language(int $userID) : LanguageSettings {
|
||||
|
||||
//Get user database entry
|
||||
$entry = $this->getDBUserInfo($userID);
|
||||
|
||||
//Check for error
|
||||
if(count($entry) == 0)
|
||||
return new LanguageSettings(); //Return invalid object
|
||||
|
||||
//Parse database entry into LanguageSettings entry
|
||||
return $this->dbToLanguageSettings($entry);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Save new version of the language settings of a user
|
||||
*
|
||||
* @param LanguageSettings $settings The settings to save in the database
|
||||
* @return bool TRUE in case of success / FALSE else
|
||||
*/
|
||||
public function save_language(LanguageSettings $settings) : bool {
|
||||
|
||||
//Convert LanguageSettings object into database entry
|
||||
$entry = $this->LanguageSettingsToDb($settings);
|
||||
|
||||
//Save information in the database
|
||||
return $this->saveDBUserInfo($settings->get_id(), $entry);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get and return security settings of a user
|
||||
*
|
||||
@ -217,6 +253,21 @@ class SettingsComponents {
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse a user information into LanguageSettings object
|
||||
*
|
||||
* @param array $entry The entry to parse
|
||||
* @return LanguageSettings Generated model
|
||||
*/
|
||||
private function dbToLanguageSettings(array $entry) : LanguageSettings {
|
||||
$obj = new LanguageSettings();
|
||||
|
||||
$obj->set_id($entry['ID']);
|
||||
$obj->set_lang($entry["lang"]);
|
||||
|
||||
return $obj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse a user information entry into SecuritySettings object
|
||||
*
|
||||
@ -237,6 +288,20 @@ class SettingsComponents {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Turn LanguageSettings object into database entry
|
||||
*
|
||||
* @param LanguageSettings $settings Language settings to turn into database entry
|
||||
* @return array Generated entry
|
||||
*/
|
||||
private function LanguageSettingsToDb(LanguageSettings $settings) : array {
|
||||
$data = array();
|
||||
|
||||
$data["lang"] = $settings->get_lang();
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Turn SecuritySettings object into database entry
|
||||
*
|
||||
|
Reference in New Issue
Block a user