mirror of
https://github.com/pierre42100/ComunicAPI
synced 2025-06-19 08:35:18 +00:00
Added language settings
This commit is contained in:
@ -114,6 +114,54 @@ class SettingsController {
|
||||
return array("success" => "The directory is available!");
|
||||
}
|
||||
|
||||
/**
|
||||
* Get language settings
|
||||
*
|
||||
* @url POST /settings/get_language
|
||||
*/
|
||||
public function getLanguage(){
|
||||
|
||||
//User login required
|
||||
user_login_required();
|
||||
|
||||
//Get the settings of the user
|
||||
$settings = components()->settings->get_language(userID);
|
||||
|
||||
if(!$settings->isValid())
|
||||
Rest_fatal_error(500, "Could not get language settings!");
|
||||
|
||||
//Return parsed settings object
|
||||
return $this->LanguageSettingsToAPI($settings);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set (update) language settings
|
||||
*
|
||||
* @url POST /settings/set_language
|
||||
*/
|
||||
public function setLanguage(){
|
||||
|
||||
//User login required
|
||||
user_login_required();
|
||||
|
||||
//Get specified language
|
||||
$lang = postString("lang", 2);
|
||||
|
||||
if(!in_array($lang, LanguageSettings::LANGUAGES))
|
||||
Rest_fatal_error(401, "Language not recognized !");
|
||||
|
||||
$settings = new LanguageSettings();
|
||||
$settings->set_id(userID);
|
||||
$settings->set_lang($lang);
|
||||
|
||||
//Save language in database
|
||||
if(!components()->settings->save_language($settings))
|
||||
Rest_fatal_error(500, "Could not save language settings!");
|
||||
|
||||
//Success
|
||||
return array("success" => "Language settings have been successfully updated!");
|
||||
}
|
||||
|
||||
/**
|
||||
* Get security settings
|
||||
*
|
||||
@ -311,6 +359,21 @@ class SettingsController {
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Turn a LanguageSettings object into a valid API object
|
||||
*
|
||||
* @param LanguageSettings $settings The object to convert
|
||||
* @return array Generated API object
|
||||
*/
|
||||
private function LanguageSettingsToAPI(LanguageSettings $settings) : array {
|
||||
|
||||
$data = array();
|
||||
|
||||
$data["lang"] = $settings->get_lang();
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Turn a SecuritySettings object into a valid API object
|
||||
*
|
||||
|
Reference in New Issue
Block a user