mirror of
https://github.com/pierre42100/ComunicAPI
synced 2024-11-23 13:59:29 +00:00
Can delete survey
This commit is contained in:
parent
d6f2e9bac7
commit
d24a5bbfff
@ -96,6 +96,67 @@ class Survey {
|
||||
return $survey;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check wether there is a survey associated to a post
|
||||
*
|
||||
* @param int $postID The ID of the post to check
|
||||
* @return bool TRUE if a survey exists / FALSE else
|
||||
*/
|
||||
public function exists(int $postID) : bool {
|
||||
return CS::get()->db->count($this::SURVEY_INFOS_TABLE, "WHERE ID_texte = ?", array($postID)) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the ID of a survey associated to a post
|
||||
*
|
||||
* @param int $postID The ID of the post
|
||||
* @return int The ID of the associated survey / 0 if none was found
|
||||
*/
|
||||
public function get_id(int $postID) : int {
|
||||
|
||||
//Perform a request on the database
|
||||
$tableName = $this::SURVEY_INFOS_TABLE;
|
||||
$conditions = "WHERE ID_texte = ?";
|
||||
$values = array($postID);
|
||||
$fields = array("ID");
|
||||
$results = CS::get()->db->select($tableName, $conditions, $values, $fields);
|
||||
|
||||
//Check for results
|
||||
if(count($results) == 0)
|
||||
return 0;
|
||||
|
||||
return $results[0]["ID"];
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete the survey associated to a post
|
||||
*
|
||||
* @param int $postID The ID of the post associated with the survey
|
||||
* @return bool TRUE in case of success / FALSE else
|
||||
*/
|
||||
public function delete(int $postID) : bool {
|
||||
|
||||
//Get the ID of the survey to delete
|
||||
$surveyID = $this->get_id($postID);
|
||||
|
||||
//Check for errors
|
||||
if($surveyID == 0)
|
||||
return false;
|
||||
|
||||
//Delete informations from the responses table
|
||||
CS::get()->db->deleteEntry($this::SURVEY_RESPONSE_TABLE, "ID_sondage = ?", array($surveyID));
|
||||
|
||||
//Delete informations from the choices table
|
||||
CS::get()->db->deleteEntry($this::SURVEY_CHOICES_TABLE, "ID_sondage = ?", array($surveyID));
|
||||
|
||||
//Delete informations from the informations table
|
||||
CS::get()->db->deleteEntry($this::SURVEY_INFOS_TABLE, "ID = ?", array($surveyID));
|
||||
|
||||
//Success
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Get survey informations by post ID
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user