mirror of
				https://github.com/pierre42100/ComunicAPI
				synced 2025-10-31 10:14:51 +00:00 
			
		
		
		
	Can get all the response of a user to a survey into a SurveyResponse object
This commit is contained in:
		| @@ -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)); | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * 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 | ||||
| 	 *  | ||||
| @@ -339,6 +361,26 @@ class SurveyComponent { | ||||
| 		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 | ||||
|   | ||||
							
								
								
									
										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; | ||||
| 	} | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Pierre
					Pierre