@ -9,101 +9,105 @@ 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					class TestCategory  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					{  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 public $id; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 public $name; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 public $description; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     public $id; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     public $name; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     public $description; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * Constructor of the class Category  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author - Hubert Borderiou  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * If you give an in_id and no in_name, you get info concerning the category of id=in_id  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * otherwise, you've got an category objet avec your in_id, in_name, in_descr  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param int $in_id  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param string $in_name  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param string $in_description  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param int    $id  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param string $name  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param string $description  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @author - Hubert Borderiou  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public function __construct($in_id=0, $in_name = '', $in_description="")  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public function __construct($id = 0, $name = '', $description =  "") 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if ($in_ id != 0 & &  $in_ name == "") { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$tmp obj = new TestCategory(); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$tmpobj->getCategory($in_ id); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$this->id = $tmp obj->id; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$this->name = $tmp obj->name; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$this->description = $tmp obj->description; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							 } else { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$this->id = $in_ id; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$this->name = $in_ name; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$this->description = $in_ description; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							 } 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 } 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if ($ id != 0 & &  $name == "") { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $ obj = new TestCategory(); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $obj->getCategory($ id); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $this->id = $ obj->id; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $this->name = $ obj->name; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $this->description = $ obj->description; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					         } else { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $this->id = $ id; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $this->name = $ name; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $this->description = $ description; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					         } 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     } 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * return the TestCategory object with id=in_id  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param $in_id  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param int $id  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @return TestCategory  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public function getCategory($in_id)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public function getCategory($id)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$t_cattable = Database::get_course_table(TABLE_QUIZ_QUESTION_CATEGORY);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$in_id = intval($in_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$sql = "SELECT * FROM $t_cattable WHERE id = $in_id AND c_id=".api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$numrows = Database::num_rows($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if ($numrows > 0) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$row = Database::fetch_array($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$this->id = $row['id'];  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$this->name = $row['title'];  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$this->description  = $row['description'];  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $table = Database::get_course_table(TABLE_QUIZ_QUESTION_CATEGORY);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $id = intval($id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $sql = "SELECT * FROM $table  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                WHERE id = $id AND c_id=".api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $res = Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if (Database::num_rows($res)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $row = Database::fetch_array($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $this->id = $row['id'];  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $this->name = $row['title'];  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $this->description  = $row['description'];  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * add TestCategory in the database if name doesn't already exists  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public function addCategoryInBDD()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$t_cat table = Database :: get_course_table(TABLE_QUIZ_QUESTION_CATEGORY); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							 $v_name = $this->name; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							 $v_name = Database::escape_string($v_name); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							 $v_description = $this->description; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							 $v_description = Database::escape_string($v_description); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							 // check if name already exists 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$sql = "SELECT count(*) AS nb FROM $t_cat table 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					              WHERE title = '$v_name' AND c_id=".api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							 $result_verif = Database::query($sql); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							 $data_verif = Database::fetch_array($result_verif); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							 // lets add in BDD if not the same name 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							 if ($data_verif['nb'] < = 0) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								 $c_id = api_get_course_int_id(); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								 $params = [ 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									 'c_id' => $c_id, 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									 'title' => $v_name, 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									 'description' => $v_description, 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								 ]; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$new_id = Database::insert($t_cat table, $params); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								 if ($new_id) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									$sql = "UPDATE $t_cat table SET id = iid WHERE iid = $new_id"; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									 Database::query($sql); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									 // add test_category in item_property table 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									 $course_id = api_get_course_int_id(); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									 $course_info = api_get_course_info_by_id($course_id); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									 api_item_property_update( 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										 $course_info, 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										 TOOL_TEST_CATEGORY, 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										 $new_id, 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										 'TestCategoryAdded', 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										 api_get_user_id() 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									 ); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								 } 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $ table = Database :: get_course_table(TABLE_QUIZ_QUESTION_CATEGORY); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					         $v_name = $this->name; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					         $v_name = Database::escape_string($v_name); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					         $v_description = $this->description; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					         $v_description = Database::escape_string($v_description); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					         // check if name already exists 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $sql = "SELECT count(*) AS nb FROM $ table 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                 WHERE title = '$v_name' AND c_id=".api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					         $result_verif = Database::query($sql); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					         $data_verif = Database::fetch_array($result_verif); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					         // lets add in BDD if not the same name 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					         if ($data_verif['nb'] < = 0) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					             $c_id = api_get_course_int_id(); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					             $params = [ 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                 'c_id' => $c_id, 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                 'title' => $v_name, 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                 'description' => $v_description, 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					             ]; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $new_id = Database::insert($ table, $params); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					             if ($new_id) { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                $sql = "UPDATE $ table SET id = iid WHERE iid = $new_id"; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                 Database::query($sql); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                 // add test_category in item_property table 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                 $course_id = api_get_course_int_id(); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                 $course_info = api_get_course_info_by_id($course_id); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                 api_item_property_update( 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                     $course_info, 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                     TOOL_TEST_CATEGORY, 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                     $new_id, 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                     'TestCategoryAdded', 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                     api_get_user_id() 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                 ); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					             } 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								 return $new_id; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							 } else { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					             return $new_id; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					         } else { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								 return false; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							 } 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					             return false; 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					         } 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -112,30 +116,33 @@ class TestCategory 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public function removeCategory()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$t_cat table = Database :: get_course_table(TABLE_QUIZ_QUESTION_CATEGORY); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $ table = Database :: get_course_table(TABLE_QUIZ_QUESTION_CATEGORY); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $tbl_question_rel_cat = Database::get_course_table(TABLE_QUIZ_QUESTION_REL_CATEGORY);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$v_id = intval($this->id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$sql = "DELETE FROM $t_cattable WHERE id=$v_id AND c_id=".api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$result = Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (Database::affected_rows($result) < = 0) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								return false;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							} else {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $course_id = api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $v_id = intval($this->id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $course_id = api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $sql = "DELETE FROM $table  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                WHERE id= $v_id AND c_id=".$course_id;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $result = Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if (Database::affected_rows($result) < = 0) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            return false;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        } else {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            // remove link between question and category  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $sql2 = "DELETE FROM $tbl_question_rel_cat  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            		 WHERE category_id= $v_id AND c_id=".$course_id;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                     WHERE category_id =  $v_id AND c_id=".$course_id;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            Database::query($sql2);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            // item_property update  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $course_info = api_get_course_info_by_id($course_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								api_item_property_update(  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									$course_info,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									TOOL_TEST_CATEGORY,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									$this->id,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									'TestCategoryDeleted',  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									api_get_user_id()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								return true;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            api_item_property_update(  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                $course_info,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                TOOL_TEST_CATEGORY,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                $this->id,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                'TestCategoryDeleted',  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                api_get_user_id()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            return true;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -143,16 +150,18 @@ class TestCategory 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public function modifyCategory()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$t_cattable = Database :: get_course_table(TABLE_QUIZ_QUESTION_CATEGORY);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$v_id = intval($this->id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$v_name = Database::escape_string($this->name);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$v_description = Database::escape_string($this->description);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$sql = "UPDATE $t_cattable SET title='$v_name', description='$v_description'  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							        WHERE id = $v_id AND c_id=".api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$result = Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (Database::affected_rows($result) < = 0) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								return false;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							} else {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $table = Database :: get_course_table(TABLE_QUIZ_QUESTION_CATEGORY);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $v_id = intval($this->id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $v_name = Database::escape_string($this->name);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $v_description = Database::escape_string($this->description);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $sql = "UPDATE $table SET  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                title = '$v_name',  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                description = '$v_description'  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                WHERE id = $v_id AND c_id=".api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $result = Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if (Database::affected_rows($result) < = 0) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            return false;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        } else {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            // item_property update  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $course_id = api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $course_info = api_get_course_info_by_id($course_id);  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -163,8 +172,9 @@ class TestCategory 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                'TestCategoryModified',  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                api_get_user_id()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								return true;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            return true;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -172,9 +182,10 @@ class TestCategory 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public function getCategoryQuestionsNumber()  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$t_relt able = Database::get_course_table(TABLE_QUIZ_QUESTION_REL_CATEGORY);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$table = Database::get_course_table(TABLE_QUIZ_QUESTION_REL_CATEGORY);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$in_id = intval($this->id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$sql = "SELECT count(*) AS nb FROM $t_reltable  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$sql = "SELECT count(*) AS nb  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							        FROM $table  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							        WHERE category_id=$in_id AND c_id=".api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$row = Database::fetch_array($res);  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -198,33 +209,41 @@ class TestCategory 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * Otherwise, return an array of all in_field value  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * in the database (in_field = id or name or description)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public static function getCategoryListInfo($in_field="", $in_courseid= "") 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public static function getCategoryListInfo($in_field = "", $courseId =  "") 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (empty($in_courseid) || $in_courseid=="") {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$in_courseid = api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$t_cattable = Database :: get_course_table(TABLE_QUIZ_QUESTION_CATEGORY);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$in_field = Database::escape_string($in_field);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$tabres = array();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if ($in_field=="") {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$sql = "SELECT * FROM $t_cattable WHERE c_id=$in_courseid ORDER BY title ASC";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$res = Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								while ($row = Database::fetch_array($res)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									$tmpcat = new TestCategory($row['id'], $row['title'], $row['description']);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									$tabres[] = $tmpcat;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							} else {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$sql = "SELECT $in_field FROM $t_cattable WHERE c_id=$in_courseid ORDER BY $in_field ASC";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$res = Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								while ($row = Database::fetch_array($res)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									$tabres[] = $row[$in_field];  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if (empty($courseId) || $courseId=="") {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $courseId = api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $table = Database :: get_course_table(TABLE_QUIZ_QUESTION_CATEGORY);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $in_field = Database::escape_string($in_field);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $tabres = array();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if ($in_field == "") {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $sql = "SELECT * FROM $table  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    WHERE c_id=$courseId ORDER BY title ASC";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $res = Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            while ($row = Database::fetch_array($res)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                $tmpcat = new TestCategory(  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    $row['id'],  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    $row['title'],  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    $row['description']  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                $tabres[] = $tmpcat;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        } else {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $sql = "SELECT $in_field FROM $table  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    WHERE c_id = $courseId  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    ORDER BY $in_field ASC";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $res = Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            while ($row = Database::fetch_array($res)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                $tabres[] = $row[$in_field];  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							return $tabres;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Return the TestCategory id for question with question_id = $in_questionid  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Return the TestCategory id for question with question_id = $questionI d  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * In this version, a question has only 1 TestCategory.  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Return the TestCategory id, 0 if none  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param int $questionId  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -235,12 +254,13 @@ class TestCategory 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public static function getCategoryForQuestion($questionId, $courseId ="")  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$result = 0;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (empty($courseId) || $courseId== "") { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if (empty($courseId) || $courseId ==  "") { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $courseId = api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							 } 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					         } 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$table = Database::get_course_table(TABLE_QUIZ_QUESTION_REL_CATEGORY);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $questionId = intval($questionId);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$sql = "SELECT category_id FROM $table  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$sql = "SELECT category_id  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							        FROM $table  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							        WHERE question_id = $questionId AND c_id = $courseId";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (Database::num_rows($res) > 0) {  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -254,29 +274,32 @@ class TestCategory 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * true if question id has a category  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public static function isQuestionHasCategory($in_questioni d)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public static function isQuestionHasCategory($questionI d)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (TestCategory::getCategoryForQuestion($in_questioni d) > 0) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (TestCategory::getCategoryForQuestion($questionI d) > 0) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								return true;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							return false;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 Return the category name for question with question_id = $in_questioni d  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 Return the category name for question with question_id = $questionI d  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 In this version, a question has only 1 category.  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 Return the category id, "" if none  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public static function getCategoryNameForQuestion($in_questionid, $in_courseid="")  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (empty($in_courseid) || $in_courseid=="") {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$in_courseid = api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public static function getCategoryNameForQuestion(  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $questionId,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $courseId = ""  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (empty($courseId) || $courseId=="") {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$courseId = api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$catid = TestCategory::getCategoryForQuestion($in_questionid, $in_courseid);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$catid = TestCategory::getCategoryForQuestion($questionId, $courseI d);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$result = "";	// result  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$t_catt able = Database::get_course_table(TABLE_QUIZ_QUESTION_CATEGORY);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$table = Database::get_course_table(TABLE_QUIZ_QUESTION_CATEGORY);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$catid = intval($catid);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$sql = "SELECT title FROM $t_cattable WHERE id = $catid  AND c_id = $in_courseid";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$sql = "SELECT title FROM $table  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							        WHERE id = $catid  AND c_id = $courseId";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$data = Database::fetch_array($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (Database::num_rows($res) > 0) {  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -340,22 +363,26 @@ class TestCategory 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * return the number of question of a category id in a test  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * input : test_id, category_id  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * return : integer  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * hubert.borderiou 07-04-2011  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @param int $exerciseId  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param int $categoryId  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @return integer  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @author hubert.borderiou 07-04-2011  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public static function getNumberOfQuestionsInCategoryForTest($in_testid, $in_categoryid)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public static function getNumberOfQuestionsInCategoryForTest($exerciseId, $categoryI d)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$nbCatResult = 0;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$quiz = new Exercise();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$quiz->read($in_testi d);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$quiz->read($exerciseI d);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$tabQuestionList = $quiz->selectQuestionList();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// the array given by selectQuestionList start at indice 1 and not at indice 0 !!! ? ? ?  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							for ($i=1; $i < = count($tabQuestionList); $i++) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if (TestCategory::getCategoryForQuestion($tabQuestionList[$i]) == $in_categoryi d) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if (TestCategory::getCategoryForQuestion($tabQuestionList[$i]) == $categoryI d) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									$nbCatResult++;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							return $nbCatResult;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -365,13 +392,13 @@ class TestCategory 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * hubert.borderiou 07-04-2011  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * question without categories are not counted  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public static function getNumberOfQuestionRandomByCategory($in_testi d, $in_nbrandom)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public static function getNumberOfQuestionRandomByCategory($exerciseI d, $in_nbrandom)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$nbquestionresult = 0;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$tabcatid = TestCategory::getListOfCategoriesIDForTest($in_testi d);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$tabcatid = TestCategory::getListOfCategoriesIDForTest($exerciseI d);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							for ($i=0; $i <  count ( $ tabcatid ) ;  $ i + + )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if ($tabcatid[$i] > 0) {	// 0 = no category for this questio  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									$nbQuestionInThisCat = TestCategory::getNumberOfQuestionsInCategoryForTest($in_testi d, $tabcatid[$i]);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									$nbQuestionInThisCat = TestCategory::getNumberOfQuestionsInCategoryForTest($exerciseI d, $tabcatid[$i]);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									if ($nbQuestionInThisCat > $in_nbrandom) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										$nbquestionresult += $in_nbrandom;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									}  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -386,14 +413,18 @@ class TestCategory 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * Return an array (id=>name)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * tabresult[0] = get_lang('NoCategory');  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param int $courseId  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @return array  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public static function getCategoriesIdAndName($in_courseid="")  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public static function getCategoriesIdAndName($courseId =  "")  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (empty($in_courseid) || $in_courseid=="" ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$in_coursei d = api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (empty($courseId) ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$courseI d = api_get_course_int_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 	$tabcatobject = TestCategory::getCategoryListInfo("", $in_coursei d);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 	$tabcatobject = TestCategory::getCategoryListInfo("", $courseI d);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 	$tabresult = array("0"=>get_lang('NoCategorySelected'));  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 	for ($i=0; $i <  count ( $ tabcatobject ) ;  $ i + + )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 		$tabresult[$tabcatobject[$i]->id] = $tabcatobject[$i]->name;  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -406,16 +437,19 @@ class TestCategory 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    * tabres[0] = array of question id with category id = 0 (i.e. no category)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    * tabres[24] = array of question id with category id = 24  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    * In this version, a question has 0 or 1 category  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    * @param int $exerciseId  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    * @return array  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public static function getQuestionsByCat($in_exerciseId)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public static function getQuestionsByCat($exerciseId)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$TBL_EXERCISE_QUESTION = Database::get_course_table(TABLE_QUIZ_TEST_QUESTION);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$TBL_QUESTION_REL_CATEGORY = Database::get_course_table(TABLE_QUIZ_QUESTION_REL_CATEGORY);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $in_ exerciseId = intval($in_ exerciseId);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $exerciseId = intval($exerciseId);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$sql = "SELECT qrc.question_id, qrc.category_id  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							        FROM $TBL_QUESTION_REL_CATEGORY qrc, $TBL_EXERCISE_QUESTION eq  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                WHERE  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    exercice_id=$in_ exerciseId AND  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    exercice_id=$exerciseId AND  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    eq.question_id=qrc.question_id AND  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    eq.c_id=".api_get_course_int_id()." AND  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    eq.c_id=qrc.c_id  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -448,17 +482,18 @@ class TestCategory 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * display the category  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public static function displayCategoryAndTitle($in_questionID , $in_display_category_name = 1)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public static function displayCategoryAndTitle($questionId , $in_display_category_name = 1)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        echo self::returnCategoryAndTitle($in_questionID , $in_display_category_name);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        echo self::returnCategoryAndTitle($questionId , $in_display_category_name);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param $in_questionID   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param int $questionId   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param int $in_display_category_name  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @return null|string  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public static function returnCategoryAndTitle($in_questionID, $in_display_category_name = 1) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public static function returnCategoryAndTitle($questionId, $in_display_category_name = 1)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $is_student = !(api_is_allowed_to_edit(null,true) || api_is_session_admin());  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        // @todo fix $_SESSION['objExercise']  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $objExercise = isset($_SESSION['objExercise']) ? $_SESSION['objExercise'] : null;  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -466,9 +501,9 @@ class TestCategory 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $in_display_category_name = $objExercise->display_category_name;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $content = null;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (TestCategory::getCategoryNameForQuestion($in_questionID ) != "" & &  ($in_display_category_name == 1 || !$is_student)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (TestCategory::getCategoryNameForQuestion($questionId ) != "" & &  ($in_display_category_name == 1 || !$is_student)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $content .= '< div  class = "page-header" > ';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $content .= '< h4 > '.get_lang('Category').": ".TestCategory::getCategoryNameForQuestion($in_questionID ).'< / h4 > ';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $content .= '< h4 > '.get_lang('Category').": ".TestCategory::getCategoryNameForQuestion($questionId ).'< / h4 > ';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $content .= "< / div > ";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        return $content;  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -512,46 +547,20 @@ class TestCategory 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							return $tabResult;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    * return total score for test exe_id for all question in the category $in_cat_id for user  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    * If no question for this category, return ""  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public static function getCatScoreForExeidForUserid($in_cat_id, $in_exe_id, $in_user_id)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$tbl_track_attempt		= Database::get_main_table(TABLE_STATISTIC_TRACK_E_ATTEMPT);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$tbl_question_rel_category = Database::get_course_table(TABLE_QUIZ_QUESTION_REL_CATEGORY);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $in_cat_id = intval($in_cat_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $in_exe_id = intval($in_exe_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $in_user_id = intval($in_user_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$query = "SELECT DISTINCT  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							            marks, exe_id, user_id, ta.question_id, category_id  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                  FROM $tbl_track_attempt ta , $tbl_question_rel_category qrc  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                  WHERE  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    ta.question_id=qrc.question_id AND  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    qrc.category_id=$in_cat_id AND  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    exe_id=$in_exe_id AND user_id=$in_user_id";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = Database::query($query);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$totalcatscore = "";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							while ($data = Database::fetch_array($res)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$totalcatscore += $data['marks'];  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							return $totalcatscore;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * return the number max of question in a category  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * count the number of questions in all categories, and return the max  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param int $exerciseId  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @author - hubert borderiou  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public static function getNumberMaxQuestionByCat($in_testi d)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public static function getNumberMaxQuestionByCat($exerciseId)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $res_num_max = 0;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        // foreach question  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$tabcatid = TestCategory::getListOfCategoriesIDForTest($in_testi d);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$tabcatid = TestCategory::getListOfCategoriesIDForTest($exerciseId);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							for ($i=0; $i <  count ( $ tabcatid ) ;  $ i + + )  {   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								if ($tabcatid[$i] > 0) {	// 0 = no category for this question  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									$nbQuestionInThisCat = TestCategory::getNumberOfQuestionsInCategoryForTest($in_testi d, $tabcatid[$i]);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									$nbQuestionInThisCat = TestCategory::getNumberOfQuestionsInCategoryForTest($exerciseId, $tabcatid[$i]);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                if ($nbQuestionInThisCat > $res_num_max) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    $res_num_max = $nbQuestionInThisCat;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                }  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -663,14 +672,14 @@ class TestCategory 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public static function add_category_for_question_id($in_category_id, $in_question_id, $in_course_c_id)  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $tbl_relt able = Database::get_course_table(TABLE_QUIZ_QUESTION_REL_CATEGORY);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $table = Database::get_course_table(TABLE_QUIZ_QUESTION_REL_CATEGORY);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        // if question doesn't have a category  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        // @todo change for 1.10 when a question can have several categories  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if (TestCategory::getCategoryForQuestion($in_question_id, $in_course_c_id) == 0 & &   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $in_question_id > 0 & &   
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $in_course_c_id > 0  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        ) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $sql = "INSERT INTO $tbl_relt able  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $sql = "INSERT INTO $table  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    VALUES (".intval($in_course_c_id).", ".intval($in_question_id).", ".intval($in_category_id).")";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }