@ -24,7 +24,8 @@ $htmlHeadXtra[] = '<script> 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							});  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					< / script > '; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					class survey_manager {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					class survey_manager  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					{  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Deletes all survey invitations of a user  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -32,15 +33,16 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @return boolean  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @assert ('') === false  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public static function delete_all_survey_invitations_by_user($user_id) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public static function delete_all_survey_invitations_by_user($user_id)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $user_id = intval($user_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					         
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if (empty($user_id)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            return false;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $table_survey_invitation = Database :: get_course_table(TABLE_SURVEY_INVITATION);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $table_survey = Database :: get_course_table(TABLE_SURVEY);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					          
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $sql = "SELECT survey_invitation_id, survey_code FROM $table_survey_invitation WHERE user = '$user_id' AND c_id < > 0 ";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $result = Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $deleted = array();  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -55,6 +57,7 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param type $course_code  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -62,7 +65,8 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @return type  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @assert ('') === false  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public static function get_surveys($course_code, $session_id = 0) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public static function get_surveys($course_code, $session_id = 0)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $table_survey = Database :: get_course_table(TABLE_SURVEY);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if (empty($course_code)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            return false;  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -90,7 +94,8 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @todo this is the same function as in create_new_survey.php  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						static function get_survey($survey_id, $shared = 0, $course_code = '') {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public static function get_survey($survey_id, $shared = 0, $course_code = '')  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							global $_course;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// Table definition  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -147,7 +152,7 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version February 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 static function store_survey($values) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public  static function store_survey($values) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							global $_user;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// Table defnitions  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -343,7 +348,7 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
												surveythanks	= '".Database::escape_string($values['survey_thanks'])."',  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
												anonymous       = '".Database::escape_string($values['anonymous'])."'".$additionalsets."  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										WHERE c_id = $course_id AND survey_id = '".Database::escape_string($values['survey_id'])."'";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$result =  Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								// Update into item_property (update)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								api_item_property_update(api_get_course_info(), TOOL_SURVEY, $values['survey_id'], 'SurveyUpdated', api_get_user_id());  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -364,7 +369,7 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version February 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 function store_shared_survey($values) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public  function store_shared_survey($values) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							global $_user, $_course;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// Table defnitions  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -410,7 +415,7 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version January 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 static function delete_survey($survey_id, $shared = false, $course_id = '') { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public  static function delete_survey($survey_id, $shared = false, $course_id = '') { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// Database table definitions  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if (empty($course_id)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $course_id = api_get_course_int_id();  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -450,7 +455,8 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							return true;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function copy_survey($parent_survey, $new_survey_id) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public function copy_survey($parent_survey, $new_survey_id)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						    $course_id = api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// Database table definitions  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -504,7 +510,7 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Eric Marguin < e.marguin @ elixir-interactive . com > , Elixir Interactive  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version October 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 function empty_survey($survey_id) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public  function empty_survey($survey_id) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// Database table definitions  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$table_survey_invitation      = Database :: get_course_table(TABLE_SURVEY_INVITATION);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$table_survey_answer          = Database :: get_course_table(TABLE_SURVEY_ANSWER);  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -539,7 +545,7 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version February 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 static function update_survey_answered($survey_data, $user, $survey_code) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public  static function update_survey_answered($survey_data, $user, $survey_code) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// Database table definitions  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$table_survey 				= Database :: get_course_table(TABLE_SURVEY);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$table_survey_invitation 	= Database :: get_course_table(TABLE_SURVEY_INVITATION);  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -574,13 +580,13 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version February 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 static function get_complete_survey_structure($survey_id, $shared = 0) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public  static function get_complete_survey_structure($survey_id, $shared = 0) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$structure = survey_manager::get_survey($survey_id, $shared);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$structure['questions'] = survey_manager::get_questions($survey_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/***  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * SY RVEY QUESTION FUNCTIONS  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * SU RVEY QUESTION FUNCTIONS  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -589,7 +595,8 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version February 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						static function icon_question($type) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public static function icon_question($type)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// the possible question types  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$possible_types = array('personality', 'yesno', 'multiplechoice', 'multipleresponse', 'open', 'dropdown', 'comment', 'pagebreak', 'percentage', 'score');  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -625,7 +632,7 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @todo one sql call should do the trick  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 static function get_question($question_id, $shared = false) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public  static function get_question($question_id, $shared = false) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// Table definitions  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$tbl_survey_question 			= Database :: get_course_table(TABLE_SURVEY_QUESTION);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$table_survey_question_option 	= Database :: get_course_table(TABLE_SURVEY_QUESTION_OPTION);  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -687,7 +694,7 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @todo one sql call should do the trick  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 static function get_questions($survey_id) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public  static function get_questions($survey_id) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// Table definitions  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$tbl_survey_question 			= Database :: get_course_table(TABLE_SURVEY_QUESTION);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$table_survey_question_option 	= Database :: get_course_table(TABLE_SURVEY_QUESTION_OPTION);  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -728,7 +735,8 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version January 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function save_question($form_content) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public function save_question($form_content)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							global $survey_data;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (strlen($form_content['question']) > 1) { // Checks lenght of the question  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -868,7 +876,8 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @todo editing of a shared question  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function save_shared_question($form_content, $survey_data) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public function save_shared_question($form_content, $survey_data)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							global $_course;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								// Table definitions  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -922,7 +931,7 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version January 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 static function move_survey_question($direction, $survey_question_id, $survey_id) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public  static function move_survey_question($direction, $survey_question_id, $survey_id) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// Table definition  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$table_survey_question 	= Database :: get_course_table(TABLE_SURVEY_QUESTION);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -953,12 +962,11 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$sql1 = "UPDATE $table_survey_question SET sort = '".Database::escape_string($question_sort_two)."' WHERE c_id = $course_id AND  question_id='".Database::escape_string($question_id_one)."'";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$result =  Database::query($sql1);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							Database::query($sql1);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$sql2 = "UPDATE $table_survey_question SET sort = '".Database::escape_string($question_sort_one)."' WHERE c_id = $course_id AND question_id='".Database::escape_string($question_id_two)."'";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$result =  Database::query($sql2);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							Database::query($sql2);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * This function deletes all the questions of a given survey  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * This function is normally only called when a survey is deleted  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -969,7 +977,7 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version January 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 static function delete_all_survey_questions($survey_id, $shared = false) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public  static function delete_all_survey_questions($survey_id, $shared = false) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						    $course_id = api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// Table definitions  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1005,7 +1013,7 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version March 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 static function delete_survey_question($survey_id, $question_id, $shared = false) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public  static function delete_survey_question($survey_id, $question_id, $shared = false) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $course_id = api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// Table definitions  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$table_survey_question 	= Database :: get_course_table(TABLE_SURVEY_QUESTION);  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1032,7 +1040,7 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version March 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 static function delete_shared_survey_question($survey_id, $question_id) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public  static function delete_shared_survey_question($survey_id, $question_id) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// Table definitions  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$table_survey_question 	      = Database :: get_main_table(TABLE_MAIN_SHARED_SURVEY_QUESTION);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$table_survey_question_option = Database :: get_main_table(TABLE_MAIN_SHARED_SURVEY_QUESTION_OPTION);  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1062,7 +1070,8 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @todo writing the update statement when editing a question  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function save_question_options($form_content, $survey_data) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public function save_question_options($form_content, $survey_data)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						    $course_id = api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// A percentage question type has options 1 -> 100  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if ($form_content['type'] == 'percentage') {  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1081,7 +1090,7 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// We are editing a question so we first have to remove all the existing options from the database  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (is_numeric($form_content['question_id'])) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$sql = "DELETE FROM $table_survey_question_option WHERE c_id = $course_id AND question_id = '".Database::escape_string($form_content['question_id'])."'";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$result =  Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$counter = 1;  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1095,7 +1104,7 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
													'".Database::escape_string($form_content['answers'][$i])."',  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
													'".Database::escape_string($form_content['values'][$i])."',  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
													'".Database::escape_string($counter)."')";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									$result =  Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									$counter++;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1111,7 +1120,8 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @todo writing the update statement when editing a question  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function save_shared_question_options($form_content, $survey_data) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public function save_shared_question_options($form_content, $survey_data)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (is_array($form_content) & &  is_array($form_content['answers'])) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								// Table defintion  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$table_survey_question_option 	= Database :: get_main_table(TABLE_MAIN_SHARED_SURVEY_QUESTION_OPTION);  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1134,13 +1144,6 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/*  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (is_numeric($survey_data['survey_share']) AND $survey_data['survey_share'] != 0) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$form_content = survey_manager::save_shared_question($form_content, $survey_data);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						*/  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * This function deletes all the options of the questions of a given survey  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * This function is normally only called when a survey is deleted  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1151,7 +1154,8 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version January 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						static function delete_all_survey_questions_options($survey_id, $shared = false) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						static function delete_all_survey_questions_options($survey_id, $shared = false)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// Table definitions  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$table_survey_question_option 	= Database :: get_course_table(TABLE_SURVEY_QUESTION_OPTION);  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1173,15 +1177,17 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * This function deletes the options of a given question  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @param unknown_type  $survey_id  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @param unknown_type  $question_id  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @param unknown_type  $shared  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @return unknown   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @param int  $survey_id  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @param int  $question_id  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @param int  $shared  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @return bool   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @author Julio Montoya  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version March 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						static function delete_survey_question_option($survey_id, $question_id, $shared = false) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public static function delete_survey_question_option($survey_id, $question_id, $shared = false)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						    $course_id = api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $course_condition = " c_id = $course_id AND ";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1194,7 +1200,7 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// Deleting the options of the survey questions  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$sql = "DELETE from $table_survey_question_option WHERE $course_condition survey_id='".Database::escape_string($survey_id)."' AND question_id='".Database::escape_string($question_id)."'";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res =  Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							return true;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1214,7 +1220,8 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version January 2007,december 2008  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						static function delete_all_survey_answers($survey_id) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public static function delete_all_survey_answers($survey_id)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $course_id = api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$table_survey_answer = Database :: get_course_table(TABLE_SURVEY_ANSWER);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$survey_id = intval($survey_id);  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1222,7 +1229,14 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							return true;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						static function is_user_filled_survey($user_id, $survey_id, $course_id) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param int $user_id  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param int $survey_id  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param int $course_id  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @return bool  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public static function is_user_filled_survey($user_id, $survey_id, $course_id)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$table_survey_answer 		= Database :: get_course_table(TABLE_SURVEY_ANSWER);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$user_id	= intval($user_id);  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1238,7 +1252,6 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								return true;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							return false;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1250,7 +1263,8 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version February 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						static function get_people_who_filled_survey($survey_id, $all_user_info = false, $course_id = null) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						static function get_people_who_filled_survey($survey_id, $all_user_info = false, $course_id = null)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// Database table definition  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$table_survey_answer 		= Database :: get_course_table(TABLE_SURVEY_ANSWER);  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1292,19 +1306,22 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							return $return;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    static function survey_generation_hash_available() {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    static function survey_generation_hash_available()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if (extension_loaded('mcrypt')) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            return true;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return false;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    static function generate_survey_hash($survey_id, $course_id, $session_id, $group_id) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    static function generate_survey_hash($survey_id, $course_id, $session_id, $group_id)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $hash = hash('sha512', api_get_security_key().'_'.$course_id.'_'.$session_id.'_'.$group_id.'_'.$survey_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return $hash;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    static function validate_survey_hash($survey_id, $course_id, $session_id, $group_id, $hash) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    static function validate_survey_hash($survey_id, $course_id, $session_id, $group_id, $hash)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $survey_generated_hash = self::generate_survey_hash($survey_id, $course_id, $session_id, $group_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if ($survey_generated_hash == $hash) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            return true;  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1312,14 +1329,16 @@ class survey_manager { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return false;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    static function generate_survey_link($survey_id, $course_id, $session_id, $group_id) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    static function generate_survey_link($survey_id, $course_id, $session_id, $group_id)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $code = self::generate_survey_hash($survey_id, $course_id, $session_id, $group_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return api_get_path(WEB_CODE_PATH).'survey/link.php?h='.$code.'&i='.$survey_id.'&c='.intval($course_id).'&s='.intval($session_id).'&g='.$group_id;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					class survey_question {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					class survey_question  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					{  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						// The html code of the form  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public $html;  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1333,7 +1352,8 @@ class survey_question { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @todo the form_text has to become a wysiwyg editor or adding a question_comment field  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @todo consider adding a question_comment form element  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function create_form($form_content) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function create_form($form_content)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							global $survey_data;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1371,15 +1391,6 @@ class survey_question { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->html .= '		< / div > ';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->html .= '	< / div > ';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							/*  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->html .= '	< tr > ';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->html .= '		< td > < label  for = "question_comment" > '.get_lang('QuestionComment').'< / label > < / td > ';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->html .= '		< td > < input  type = "text"  name = "question_comment"  id = "question_comment"  value = "'.$form_content['question_comment'].'" / > < / td > ';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->html .= '		< td >   < / td > ';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->html .= '	< / tr > ';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							*/  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if ($survey_data['survey_type'] == 1) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$table_survey_question_group = Database::get_course_table(TABLE_SURVEY_QUESTION_GROUP);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$sql = 'SELECT id,name FROM '.$table_survey_question_group.' WHERE survey_id = '.(int)$_GET['survey_id'].' ORDER BY name';  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1429,7 +1440,8 @@ class survey_question { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version January 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function render_form() {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function render_form()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (isset($_GET['question_id']) and !empty($_GET['question_id'])) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$class = 'save';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$text = get_lang('ModifyQuestionSurvey');  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1460,7 +1472,8 @@ class survey_question { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version January 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function handle_action($form_content) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function handle_action($form_content)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						    $course_id = api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							global $config;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1551,14 +1564,16 @@ class survey_question { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @return html code  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @author Julio Montoya - 2013  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version January 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function add_remove_buttons($form_content) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function add_remove_buttons($form_content)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (count($form_content['answers']) < = 2) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$remove_answer_attribute = 'disabled="disabled"';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$return . = '	< div  class = "row" > ';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$return = '	< div  class = "row" > ';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$return .= '		< div  class = "formw" > ';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$return .= '		< input  type = "hidden"  name = "is_executable"  id = "is_executable"  value = "-"  / > ';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$return .= '			< button  class = "minus"  type = "submit"  name = "remove_answer"  " ' . $ remove_answer_attribute . ' " > '.get_lang('RemoveAnswer').' < / button > ';  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1576,13 +1591,15 @@ class survey_question { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version January 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function render_question($form_content) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function render_question($form_content)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->html = '< form  id = "question"  name = "question"  method = "post"  action = "'.api_get_self().'?survey_id='.intval($_GET['survey_id']).'" > ';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							echo $this->html;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					class ch_yesno extends survey_question {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					class ch_yesno extends survey_question  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					{  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * This function creates the form elements for the yesno questions  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1590,7 +1607,8 @@ class ch_yesno extends survey_question { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version January 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function create_form($form_content) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function create_form($form_content)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->html = parent::create_form($form_content);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// Horizontal or vertical  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->html .= '	< div  class = "control-group" > ';  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1643,7 +1661,8 @@ class ch_yesno extends survey_question { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version January 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function render_question($form_content, $answers = array()) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function render_question($form_content, $answers = array())  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (is_array($form_content['options'])) { // Check if data is correct  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								foreach ($form_content['options'] as $key => &  $value) {  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1677,7 +1696,8 @@ class ch_yesno extends survey_question { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					class ch_multiplechoice extends survey_question {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					class ch_multiplechoice extends survey_question  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					{  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * This function creates the form elements for the multiple choice questions  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1685,7 +1705,8 @@ class ch_multiplechoice extends survey_question { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version January 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function create_form($form_content) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function create_form($form_content)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->html = parent::create_form($form_content);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// Horizontal or vertical  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1753,13 +1774,15 @@ class ch_multiplechoice extends survey_question { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version January 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function render_question($form_content, $answers = array()) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function render_question($form_content, $answers = array())  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$question = new ch_yesno();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$question->render_question($form_content, $answers);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					class ch_personality extends survey_question {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					class ch_personality extends survey_question  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					{  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * This function creates the form elements for the multiple response questions  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1767,7 +1790,8 @@ class ch_personality extends survey_question { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version January 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function create_form($form_content) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function create_form($form_content)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->html = parent::create_form($form_content);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->html .= '	< tr > ';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->html .= '		< td  colspan = "2" > < strong > '.get_lang('DisplayAnswersHorVert').'< / strong > < / td > ';  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1854,7 +1878,8 @@ class ch_personality extends survey_question { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					class ch_multipleresponse extends survey_question {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					class ch_multipleresponse extends survey_question  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					{  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * This function creates the form elements for the multiple response questions  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -1959,7 +1984,8 @@ class ch_multipleresponse extends survey_question { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					class ch_dropdown extends survey_question {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					class ch_dropdown extends survey_question  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					{  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * This function creates the form elements for the dropdown questions  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -1967,7 +1993,8 @@ class ch_dropdown extends survey_question { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version January 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function create_form($form_content) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function create_form($form_content)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->html = parent::create_form($form_content);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// The answers  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -2010,7 +2037,8 @@ class ch_dropdown extends survey_question { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version January 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function render_question($form_content, $answers = array()) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						function render_question($form_content, $answers = array())  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							foreach ($form_content['options'] as $key => &  $value) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$this->html .= '< option  value = "'.$key.'"  ' ;   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if (is_array($answers)) {  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -2036,7 +2064,8 @@ class ch_dropdown extends survey_question { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					class ch_open extends survey_question {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					class ch_open extends survey_question  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					{  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * This function creates the form elements for the open questions  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -4173,7 +4202,8 @@ class SurveyUtil { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version January 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						static function display_survey_list() {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						static function display_survey_list()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$parameters = array();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$parameters['cidReq'] = api_get_course_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (isset($_GET['do_search']) & &  $_GET['do_search']) {  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -4366,17 +4396,18 @@ class SurveyUtil { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * This function gets all the survey data that is to be displayed in the sortable table  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @param unknown_type  $from  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @param unknown_type  $number_of_items  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @param unknown_type  $column  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @param unknown_type  $direction  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @param int  $from  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @param int  $number_of_items  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @param int  $column  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @param string  $direction  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @return unknown  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Patrick Cool < patrick.cool @ UGent . be > , Ghent University  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author Julio Montoya < gugli100 @ gmail . com > , Beeznest - Adding intvals  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @version January 2007  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						static function get_survey_data($from, $number_of_items, $column, $direction) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						static function get_survey_data($from, $number_of_items, $column, $direction)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							global $table_survey, $table_user, $table_survey_question;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							global $_user;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -4395,25 +4426,25 @@ class SurveyUtil { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// Condition for the session  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$session_id = api_get_session_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$condition_session = api_get_session_condition($session_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$course_id = api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$sql = "SELECT  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										survey.survey_id							 AS col0,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										CONCAT('< a  href = \"survey.php?survey_id=',survey.survey_id,'\" > ',survey.title,'< / a > ')		 AS col1,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										survey.code									 AS col2,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										count(survey_question.question_id)			 AS col3,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										survey.survey_id  AS col0,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										CONCAT('< a  href = \"survey.php?survey_id=',survey.survey_id,'\" > ',survey.title,'< / a > ')  AS col1,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										survey.code  AS col2,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										count(survey_question.question_id)  AS col3,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										".(api_is_western_name_order() ? "CONCAT(user.firstname, ' ', user.lastname)" : "CONCAT(user.lastname, ' ', user.firstname)")."	AS col4,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										survey.avail_from							 AS col5,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										survey.avail_till							 AS col6,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										survey.avail_from  AS col5,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										survey.avail_till  AS col6,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										CONCAT('< a  href = \"survey_invitation.php?view=answered&survey_id=',survey.survey_id,'\" > ',survey.answered,'< / a >  / < a  href = \"survey_invitation.php?view=invited&survey_id=',survey.survey_id,'\" > ',survey.invited, '< / a > ')	AS col7,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										survey.anonymous							 AS col8,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										survey.survey_id							 AS col9,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										survey.session_id							 AS session_id  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										survey.anonymous  AS col8,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										survey.survey_id  AS col9,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										survey.session_id  AS session_id  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									 FROM $table_survey survey  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    LEFT JOIN $table_survey_question survey_question ON (survey.survey_id = survey_question.survey_id AND survey_question.c_id = $course_id)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    INNER JOIN $table_user user ON (survey.author = user.user_id)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    LEFT JOIN $table_survey_question survey_question  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    ON (survey.survey_id = survey_question.survey_id AND survey_question.c_id = $course_id)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    INNER JOIN $table_user user  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    ON (survey.author = user.user_id)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									 WHERE survey.c_id = $course_id  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									 $search_restriction  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									 $condition_session ";