1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-31 22:10:45 +02:00

Merge remote-tracking branch 'vsephpbb/ticket/12043' into develop-ascraeus

* vsephpbb/ticket/12043:
  [ticket/12043] Fix order of disabled extensions in unit tests
  [ticket/12043] Correct try/catch exceptions for invalid extensions
  [ticket/12043] Sort Extensions by Display Name in ACP Extension mananger
This commit is contained in:
Joas Schilling
2014-04-03 15:06:28 +02:00
2 changed files with 60 additions and 33 deletions

View File

@@ -241,21 +241,15 @@ class acp_extensions
*/
public function list_enabled_exts(\phpbb\extension\manager $phpbb_extension_manager)
{
$enabled_extension_meta_data = array();
foreach ($phpbb_extension_manager->all_enabled() as $name => $location)
{
$md_manager = $phpbb_extension_manager->create_extension_metadata_manager($name, $this->template);
try
{
$this->template->assign_block_vars('enabled', array(
'META_DISPLAY_NAME' => $md_manager->get_metadata('display-name'),
'U_DETAILS' => $this->u_action . '&action=details&ext_name=' . urlencode($name),
));
$this->output_actions('enabled', array(
'DISABLE' => $this->u_action . '&action=disable_pre&ext_name=' . urlencode($name),
));
$enabled_extension_meta_data[$name] = $md_manager->get_metadata('display-name');
}
catch(\phpbb\extension\exception $e)
{
@@ -264,6 +258,21 @@ class acp_extensions
));
}
}
natcasesort($enabled_extension_meta_data);
foreach ($enabled_extension_meta_data as $name => $display_name)
{
$this->template->assign_block_vars('enabled', array(
'META_DISPLAY_NAME' => $display_name,
'U_DETAILS' => $this->u_action . '&action=details&ext_name=' . urlencode($name),
));
$this->output_actions('enabled', array(
'DISABLE' => $this->u_action . '&action=disable_pre&ext_name=' . urlencode($name),
));
}
}
/**
@@ -274,22 +283,15 @@ class acp_extensions
*/
public function list_disabled_exts(\phpbb\extension\manager $phpbb_extension_manager)
{
$disabled_extension_meta_data = array();
foreach ($phpbb_extension_manager->all_disabled() as $name => $location)
{
$md_manager = $phpbb_extension_manager->create_extension_metadata_manager($name, $this->template);
try
{
$this->template->assign_block_vars('disabled', array(
'META_DISPLAY_NAME' => $md_manager->get_metadata('display-name'),
'U_DETAILS' => $this->u_action . '&action=details&ext_name=' . urlencode($name),
));
$this->output_actions('disabled', array(
'ENABLE' => $this->u_action . '&action=enable_pre&ext_name=' . urlencode($name),
'DELETE_DATA' => $this->u_action . '&action=delete_data_pre&ext_name=' . urlencode($name),
));
$disabled_extension_meta_data[$name] = $md_manager->get_metadata('display-name');
}
catch(\phpbb\extension\exception $e)
{
@@ -298,6 +300,22 @@ class acp_extensions
));
}
}
natcasesort($disabled_extension_meta_data);
foreach ($disabled_extension_meta_data as $name => $display_name)
{
$this->template->assign_block_vars('disabled', array(
'META_DISPLAY_NAME' => $display_name,
'U_DETAILS' => $this->u_action . '&action=details&ext_name=' . urlencode($name),
));
$this->output_actions('disabled', array(
'ENABLE' => $this->u_action . '&action=enable_pre&ext_name=' . urlencode($name),
'DELETE_DATA' => $this->u_action . '&action=delete_data_pre&ext_name=' . urlencode($name),
));
}
}
/**
@@ -310,21 +328,15 @@ class acp_extensions
{
$uninstalled = array_diff_key($phpbb_extension_manager->all_available(), $phpbb_extension_manager->all_configured());
$available_extension_meta_data = array();
foreach ($uninstalled as $name => $location)
{
$md_manager = $phpbb_extension_manager->create_extension_metadata_manager($name, $this->template);
try
{
$this->template->assign_block_vars('disabled', array(
'META_DISPLAY_NAME' => $md_manager->get_metadata('display-name'),
'U_DETAILS' => $this->u_action . '&action=details&ext_name=' . urlencode($name),
));
$this->output_actions('disabled', array(
'ENABLE' => $this->u_action . '&action=enable_pre&ext_name=' . urlencode($name),
));
$available_extension_meta_data[$name] = $md_manager->get_metadata('display-name');
}
catch(\phpbb\extension\exception $e)
{
@@ -333,6 +345,21 @@ class acp_extensions
));
}
}
natcasesort($available_extension_meta_data);
foreach ($available_extension_meta_data as $name => $display_name)
{
$this->template->assign_block_vars('disabled', array(
'META_DISPLAY_NAME' => $display_name,
'U_DETAILS' => $this->u_action . '&action=details&ext_name=' . urlencode($name),
));
$this->output_actions('disabled', array(
'ENABLE' => $this->u_action . '&action=enable_pre&ext_name=' . urlencode($name),
));
}
}
/**