@ -10,16 +10,16 @@ class TestSubLanguageManager extends UnitTestCase { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $this->UnitTestCase('Sublanguage Manager library - main/admin/sub_language.class.test.php');  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *	Testing who get all data of dokeos  folder  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *	Testing who get all data of lang  folder  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  @param String to url path folder  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  @param bool true if we only want the subname  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  @return Array All file of dokeos  folder  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  @return Array All file of lang  folder  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public function testget_all_data_of_dokeos_folder (){  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$dokeos_ path_folder  = api_get_path(SYS_PATH);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = SubLanguageManager::get_all_data_of_dokeos_folder($dokeos_path_folder , $only_main_name = false);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public function testget_lang_folder_files_list (){  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$path = api_get_path(SYS_LANG _PATH).'english' ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = SubLanguageManager::get_lang_folder_files_list($path , $only_main_name = false);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertTrue(is_array($res));  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertTrue($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertTrue(count( $res)>0 );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -30,19 +30,16 @@ class TestSubLanguageManager extends UnitTestCase { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$parent_id = 13;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$language_id = 10;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = SubLanguageManager::get_all_information_of_sub_language($parent_id, $language_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        // under normal circumstances, there is no language 10 child of language 13  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertFalse($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertTrue(is_array($res));  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// var_dump($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    	 /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public function testget_all_information_of_language(){  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$parent_id = 11;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = SubLanguageManager::get_all_information_of_language($parent_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertTrue($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertTrue(is_array($res));  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -55,63 +52,38 @@ class TestSubLanguageManager extends UnitTestCase { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						    $res = SubLanguageManager::get_all_language_variable_in_file($system_path_file);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						    $this->assertTrue(is_array($res));  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					      
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    /**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * Add directory for sub-language  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @param String The sub-language path directory ( /var/www/my_lms/main/lang/spanish_corporate )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     * @return boolean  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					     */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public function testadd_language_directory() {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $res = SubLanguageManager :: add_language_directory('test');  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $this->assertTrue($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $res = SubLangageManager :: remove_language_directory('test');  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *    
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public function testadd_file_in_language_directory(){  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$dirname = api_get_path(SYS_LANG_PATH);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$perm_dir = substr(sprintf('%o', fileperms($dirname)), -4);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if ($perm_dir != '0777') {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$msg = 'Error';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$this->assertTrue(is_string($msg));  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							} else {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$system_path_file = $dirname.'spanish.inc.php';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$res = SubLanguageManager::add_file_in_language_directory($system_path_file);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								unlink($system_path_file);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$this->assertNull($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$this->assertTrue(is_null($res));  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							//var_dump($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $res = SubLanguageManager :: add_language_directory('test');  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $this->assertTrue($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$system_path_file = api_get_path(SYS_LANG_PATH).'test/spanish.inc.php';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = SubLanguageManager::add_file_in_language_directory($system_path_file);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertTrue($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $res = SubLanguageManager :: remove_language_directory('test');  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public function testwrite_data_in_file(){  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$dirname = api_get_path(SYS_LANG_PATH);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$perm_dir = substr(sprintf('%o', fileperms($dirname)), -4);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if ($perm_dir != '0777') {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$msg = "Error";  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$this->assertTrue(is_string($msg));  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							} else {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$file = $dirname.'spanish.inc.php';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$path_file = $file;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$new_sub_language='spanishtest';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$variable_sub_language='test';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$res = SubLanguageManager::write_data_in_file($path_file,$new_sub_language,$variable_sub_language);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$this->assertTrue(is_null($res));  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$this->assertNull($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							//var_dump($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertFalse($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertTrue(is_null($res));  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * Add directory for sub-language  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @param String The sub-language path directory ( /var/www/my_dokeos/main/lang/spanish_corporate )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @return boolean  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public function testadd_directory_of_sub_language() {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$path_sub_language = api_get_path(SYS_LANG_PATH).'test';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = SubLanguageManager :: add_directory_of_sub_language($path_sub_language);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (is_bool($res)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$this->assertTrue($path_sub_language);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							} else {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								$this->assertFalse($path_sub_language);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    	$file = $dirname.'spanish.inc.php';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$path_file = $file;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$new_sub_language='spanishtest';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$variable_sub_language='test';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = SubLanguageManager::write_data_in_file($path_file,$new_sub_language,$variable_sub_language);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertTrue($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -119,11 +91,11 @@ class TestSubLanguageManager extends UnitTestCase { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @param Integer id's.  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @return null  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					 	 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public function Testremoved _sub_language() {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public function Testremove_sub_language() {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$parent_id = '';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$sub_language_id = 1;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = SubLanguageManager :: removed _sub_language($parent_id, $sub_language_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertNull ($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = SubLanguageManager :: remove_sub_language($parent_id, $sub_language_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertFalse ($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							//	var_dump($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -146,9 +118,15 @@ class TestSubLanguageManager extends UnitTestCase { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public function Testget_name_of_language_by_id() {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$language_id = 13;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $tbl_admin_languages    = Database :: get_main_table(TABLE_MAIN_LANGUAGE);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $sql='SELECT original_name FROM '.$tbl_admin_languages.' WHERE id=13';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $rs=Database::query($sql);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $name ='';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if (Database::num_rows($rs)>0) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            $name = Database::result($rs,0,'original_name');  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        }          
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = SubLanguageManager :: get_name_of_language_by_id($language_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertTrue(is_string($res));  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// 	var_dump($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertEqual($res,$name,'The language name from function does not match the database value');  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -156,10 +134,10 @@ class TestSubLanguageManager extends UnitTestCase { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @param Integer  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 * @return Boolean  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public function Testcheck_if_language_is_sub_language() {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public function Testcheck_if_language_is_sub_language_for_non_existing_sublanguage () {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$language_id = 112;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = SubLanguageManager :: check_if_language_is_sub_language($language_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertTrue(is_bool($res) );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertFalse($res );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							//	var_dump($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -169,18 +147,18 @@ class TestSubLanguageManager extends UnitTestCase { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public function Testcheck_if_language_is_father() {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$language_id = 12;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = SubLanguageManager :: check_if_language_is_father($language_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertTrue(is_bool($res) );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertFalse($res );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							//	var_dump($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public function Testmake_unavailable_language () {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$language_id = 15 ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public function Testmake_language_unavailable_and_back () {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$language_id = 11 ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = SubLanguageManager :: make_unavailable_language($language_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertNull($res );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertTrue(is_null($res) ); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertTrue($res,'Language could not be made unavailable' );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $res = SubLanguageManager :: make_available_language($language_id ); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// var_dump($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -189,55 +167,42 @@ class TestSubLanguageManager extends UnitTestCase { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public function Testmake_available_language() {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$language_id= 11;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $res = SubLanguageManager :: make_unavailable_language($language_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = SubLanguageManager :: make_available_language ($language_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertNull($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertTrue(is_null($res));  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $this->assertTrue($res,'Language could not be made available');  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// var_dump($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public function Testset_platform_language(){  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public function Testset_platform_language_empty(){  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $backup = SubLanguageManager :: get_platform_language_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$language_id = '';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = SubLanguageManager :: set_platform_language($language_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertTrue(is_null($res) );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertNull($res ); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertFalse($res );  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $res = SubLanguageManager :: set_platform_language($backup ); 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// var_dump($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    public function Testset_platform_language_2(){  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $backup = SubLanguageManager :: get_platform_language_id();  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $language_id = 2;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $res = SubLanguageManager :: set_platform_language($language_id);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $this->assertTrue($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $res = SubLanguageManager :: set_platform_language($backup);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        // var_dump($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						/**  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 *  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						 */  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public function Testremove_directory_of_sub_language(){  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// create a directory of sub language  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$path_sub_language = api_get_path(SYS_LANG_PATH).'test';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							//$path_sub_language = '/var/www/prueba123';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							//$res = SubLanguageManager :: add_directory_of_sub_language($path_sub_language, 0777);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = SubLanguageManager :: add_directory_of_sub_language($path_sub_language, api_get_permissions_for_new_directories());  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// remove a directory of sub language  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if (file_exists($path_sub_language)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								rmdir($path_sub_language);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertTrue(is_bool($res));  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							// var_dump($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					/*  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						public function TestDeleteCourse(){  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$code = 'COURSETEST';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = CourseManager::delete_course($code);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$path = api_get_path(SYS_PATH).'archive';  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							if ($handle = opendir($path)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								while (false !== ($file = readdir($handle))) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									if (strpos($file,$code)!==false) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										if (is_dir($path.'/'.$file)) {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
											rmdirr($path.'/'.$file);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
										}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
									}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
								closedir($handle);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        $res = SubLanguageManager :: remove_language_directory('test');  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        // create a directory of sub language  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = SubLanguageManager :: add_language_directory('test');  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$this->assertTrue($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
							$res = SubLanguageManager :: remove_language_directory('test');  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        // var_dump($res);  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
						}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					*/  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					}  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					?>