mirror of
https://github.com/pierre42100/ComunicAPI
synced 2024-11-23 13:59:29 +00:00
Can get all the response of a user to a survey into a SurveyResponse object
This commit is contained in:
parent
8c2ba7fd31
commit
512f252c67
@ -131,4 +131,24 @@ class SurveysController {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Turn a SurveyResponse object into API array
|
||||||
|
*
|
||||||
|
* @param SurveyResponse $response The response to convert
|
||||||
|
* @return array Generated API entry
|
||||||
|
*/
|
||||||
|
public static function SurveyResponseToAPI(SurveyResponse $response) : array {
|
||||||
|
|
||||||
|
$data = array();
|
||||||
|
|
||||||
|
$data["id"] = $response->get_id();
|
||||||
|
$data["time_sent"] = $response->get_time_sent();
|
||||||
|
$data["userID"] = $response->get_userID();
|
||||||
|
$data["surveyID"] = $response->get_surveyID();
|
||||||
|
$data["choiceID"] = $response->get_choiceID();
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -189,6 +189,28 @@ class SurveyComponent {
|
|||||||
array($userID));
|
array($userID));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all the responses of the user, as SurveyResponse objects
|
||||||
|
*
|
||||||
|
* @param int $userID Target user ID
|
||||||
|
* @return array The list of responses
|
||||||
|
*/
|
||||||
|
public function get_all_responses(int $userID) : array {
|
||||||
|
|
||||||
|
//Perform the query over the database
|
||||||
|
$tableName = self::SURVEY_RESPONSE_TABLE;
|
||||||
|
$conditions = "WHERE ID_utilisateurs = ?";
|
||||||
|
$values = array($userID);
|
||||||
|
|
||||||
|
$entries = cs()->db->select($tableName, $conditions, $values);
|
||||||
|
|
||||||
|
//Process each entry
|
||||||
|
$responses = array();
|
||||||
|
foreach($entries as $entry)
|
||||||
|
$responses[] = $this::dbToSurveyResponse($entry);
|
||||||
|
return $responses;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete the survey associated to a post
|
* Delete the survey associated to a post
|
||||||
*
|
*
|
||||||
@ -339,6 +361,26 @@ class SurveyComponent {
|
|||||||
return $result[0]["ID_sondage_choix"];
|
return $result[0]["ID_sondage_choix"];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Turn a database entry into SurveyResponse object
|
||||||
|
*
|
||||||
|
* @param array $entry The entry in the database
|
||||||
|
* @return SurveyResponse Generated object
|
||||||
|
*/
|
||||||
|
private static function dbToSurveyResponse(array $entry) : SurveyResponse {
|
||||||
|
|
||||||
|
$response = new SurveyResponse();
|
||||||
|
|
||||||
|
$response->set_id($entry["ID"]);
|
||||||
|
$response->set_time_sent(strtotime($entry["date_envoi"]));
|
||||||
|
$response->set_userID($entry["ID_utilisateurs"]);
|
||||||
|
$response->set_surveyID($entry["ID_sondage"]);
|
||||||
|
$response->set_choiceID($entry["ID_sondage_choix"]);
|
||||||
|
|
||||||
|
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Register component
|
//Register component
|
||||||
|
40
classes/models/SurveyResponse.php
Normal file
40
classes/models/SurveyResponse.php
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Survey response object
|
||||||
|
*
|
||||||
|
* @author Pierre HUBERT
|
||||||
|
*/
|
||||||
|
|
||||||
|
class SurveyResponse extends BaseUniqueObjectFromUser {
|
||||||
|
|
||||||
|
//Private fields
|
||||||
|
private $surveyID;
|
||||||
|
private $choiceID;
|
||||||
|
|
||||||
|
//Set and get survey ID
|
||||||
|
public function set_surveyID(int $surveyID){
|
||||||
|
$this->surveyID = $surveyID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function has_surveyID() : bool {
|
||||||
|
return $this->surveyID > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function get_surveyID() : int {
|
||||||
|
return $this->surveyID;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Set and get choice ID
|
||||||
|
public function set_choiceID(int $choiceID){
|
||||||
|
$this->choiceID = $choiceID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function has_choiceID() : bool {
|
||||||
|
return $this->choiceID > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function get_choiceID() : int {
|
||||||
|
return $this->choiceID;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user