diff options
| -rw-r--r-- | phpBB/includes/acp/acp_extensions.php | 5 | ||||
| -rw-r--r-- | tests/test_framework/phpbb_functional_test_case.php | 12 | 
2 files changed, 12 insertions, 5 deletions
diff --git a/phpBB/includes/acp/acp_extensions.php b/phpBB/includes/acp/acp_extensions.php index 89fdc8b863..0c9bc0deab 100644 --- a/phpBB/includes/acp/acp_extensions.php +++ b/phpBB/includes/acp/acp_extensions.php @@ -174,11 +174,6 @@ class acp_extensions  					trigger_error($user->lang['EXTENSION_NOT_ENABLEABLE'] . adm_back_link($this->u_action), E_USER_WARNING);  				} -				if ($phpbb_extension_manager->is_enabled($ext_name)) -				{ -					redirect($this->u_action); -				} -  				try  				{  					while ($phpbb_extension_manager->enable_step($ext_name)) diff --git a/tests/test_framework/phpbb_functional_test_case.php b/tests/test_framework/phpbb_functional_test_case.php index b6769f08d0..844caa8f54 100644 --- a/tests/test_framework/phpbb_functional_test_case.php +++ b/tests/test_framework/phpbb_functional_test_case.php @@ -410,6 +410,18 @@ class phpbb_functional_test_case extends phpbb_test_case  		$form = $crawler->selectButton('Enable')->form();  		$crawler = self::submit($form);  		$this->add_lang('acp/extensions'); + +		$meta_refresh = $crawler->filter('meta[http-equiv="refresh"]'); + +		// Wait for extension to be fully enabled +		while (sizeof($meta_refresh)) +		{ +			preg_match('#url=.+/(adm+.+)#', $meta_refresh->attr('content'), $match); +			$url = $match[1]; +			$crawler = self::request('POST', $url); +			$meta_refresh = $crawler->filter('meta[http-equiv="refresh"]'); +		} +  		$this->assertContainsLang('EXTENSION_ENABLE_SUCCESS', $crawler->filter('div.successbox')->text());  		$this->logout();  | 
