mirror of
https://github.com/pierre42100/ComunicAPI
synced 2024-11-27 15:59:29 +00:00
Can save user security settings
This commit is contained in:
parent
c802f5af92
commit
8909043413
@ -125,6 +125,38 @@ class SettingsController {
|
|||||||
return $this->SecuritySettingsToAPI($settings);
|
return $this->SecuritySettingsToAPI($settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set (update) security settings
|
||||||
|
*
|
||||||
|
* Warning !!! This method is really sensitive, please double check any
|
||||||
|
* user input data !
|
||||||
|
*
|
||||||
|
* @url POST /settings/set_security
|
||||||
|
*/
|
||||||
|
public function setSecurity(){
|
||||||
|
|
||||||
|
//User login required
|
||||||
|
user_login_required();
|
||||||
|
|
||||||
|
//Make sure the password is valid
|
||||||
|
check_post_password(userID, "password");
|
||||||
|
|
||||||
|
//Create a security settings object and fill it with the new information
|
||||||
|
$settings = new SecuritySettings();
|
||||||
|
$settings->set_id(userID);
|
||||||
|
$settings->set_security_question_1(postString("security_question_1", 0));
|
||||||
|
$settings->set_security_answer_1(postString("security_answer_1", 0));
|
||||||
|
$settings->set_security_question_2(postString("security_question_2", 0));
|
||||||
|
$settings->set_security_answer_2(postString("security_answer_2", 0));
|
||||||
|
|
||||||
|
//Try to update settings
|
||||||
|
if(!components()->settings->save_security($settings))
|
||||||
|
Rest_fatal_error(500, "Coud not save security settings!");
|
||||||
|
|
||||||
|
//Success
|
||||||
|
return array("success" => "The security settings of the user have been successfully saved !");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Turn a GeneralSettings object into a valid API object
|
* Turn a GeneralSettings object into a valid API object
|
||||||
*
|
*
|
||||||
|
@ -84,6 +84,21 @@ class SettingsComponents {
|
|||||||
return $this->dbToSecuritySettings($entry);
|
return $this->dbToSecuritySettings($entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Save new version of the security settings of a user
|
||||||
|
*
|
||||||
|
* @param SecuritySettings $settings The settings to save in the database
|
||||||
|
* @return bool TRUE in case of success / FALSE else
|
||||||
|
*/
|
||||||
|
public function save_security(SecuritySettings $settings) : bool {
|
||||||
|
|
||||||
|
//Convert SecuritySettings object into database entry
|
||||||
|
$entry = $this->SecuritySettingsToDb($settings);
|
||||||
|
|
||||||
|
//Save information in the database
|
||||||
|
return $this->saveDBUserInfo($settings->get_id(), $entry);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get Single User Infos from database and return its information as an array
|
* Get Single User Infos from database and return its information as an array
|
||||||
*
|
*
|
||||||
@ -198,6 +213,24 @@ class SettingsComponents {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Turn SecuritySettings object into database entry
|
||||||
|
*
|
||||||
|
* @param SecuritySettings $settings Settings entry to turn into database entry
|
||||||
|
* @return array Generated entry
|
||||||
|
*/
|
||||||
|
private function SecuritySettingsToDb(SecuritySettings $settings) : array {
|
||||||
|
|
||||||
|
$data = array();
|
||||||
|
|
||||||
|
$data["question1"] = $settings->has_security_question_1() ? $settings->get_security_question_1() : "";
|
||||||
|
$data["reponse1"] = $settings->has_security_answer_1() ? $settings->get_security_answer_1() : "";
|
||||||
|
$data["question2"] = $settings->has_security_question_2() ? $settings->get_security_question_2() : "";
|
||||||
|
$data["reponse2"] = $settings->has_security_answer_2() ? $settings->get_security_answer_2() : "";
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Register component
|
//Register component
|
||||||
|
Loading…
Reference in New Issue
Block a user