Can update general settings

This commit is contained in:
Pierre
2018-04-18 12:26:40 +02:00
parent e22205e91e
commit c5c3076c67
4 changed files with 164 additions and 7 deletions

View File

@ -28,6 +28,55 @@ class SettingsController {
}
/**
* Set (update) the general account settings
*
* @url POST /settings/set_general
*/
public function setGeneral(){
user_login_required(); //Login needed
//Check the existence of the fields
//if(!check_post_parametres(array("firstName", "lastName", "isPublic", "isOpen",
// "allowComments", "allowPostsFromFriends", "publicFriendsList", "personnalWebsite",
// "virtualDirectory", "allow_comunic_mails")))
// Rest_fatal_error(400, "Please specify all the parametres for this request!");
//Get and check virtual directory
$virtualDirectory = postString("virtualDirectory", 0);
if($virtualDirectory != ""){
$virtualDirectory = getPostUserDirectory("virtualDirectory");
//Check if the directory is available
if(!components()->settings->checkUserDirectoryAvailability($virtualDirectory, userID))
Rest_fatal_error(401, "The specified directory is not available!");
}
//Create and fill a GeneralSettings object with the new values
$settings = new GeneralSettings();
$settings->set_id(userID);
$settings->set_firstName(postString("firstName", 3));
$settings->set_lastName(postString("lastName", 3));
$settings->set_publicPage(postBool("isPublic"));
$settings->set_openPage(postBool("isOpen"));
$settings->rationalizePublicOpenStatus();
$settings->set_allowComments(postBool("allowComments"));
$settings->set_allowPostsFriends(postBool("allowPostsFromFriends"));
$settings->set_friendsListPublic(postBool("publicFriendsList"));
$settings->set_personnalWebsite(postString("personnalWebsite", 0));
$settings->set_virtualDirectory($virtualDirectory);
$settings->set_allowComunicMails(postBool("allow_comunic_mails"));
//Try to update settings
if(!components()->settings->save_general($settings))
Rest_fatal_error(500, "Coud not save user settings!");
//Success
return array("success" => "The general settings of the user have been successfully saved !");
}
/**
* Check the availability of a user directory
*
@ -43,10 +92,10 @@ class SettingsController {
//Check if the directory is available
if(!components()->settings->checkUserDirectoryAvailability($userDirectory, userID))
Rest_fatal_error(401, "The specified domain is not available!");
Rest_fatal_error(401, "The specified directory is not available!");
//Else the domain is available
return array("success" => "The domain is available!");
//Else the directory is available
return array("success" => "The directory is available!");
}
/**