From 51916def9c9bc7521dea624932ca92883c751195 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Mon, 14 Sep 2015 13:55:21 +0200 Subject: [PATCH] [ticket/11150] Display extension status in "gallery" PHPBB3-11150 --- phpBB/adm/style/acp_ext_gallery.html | 11 ++++++++++- phpBB/includes/acp/acp_extensions.php | 7 ++++++- phpBB/language/en/acp/extensions.php | 3 +++ .../composer/io/translate_composer_trait.php | 16 +++++++++++++--- 4 files changed, 32 insertions(+), 5 deletions(-) diff --git a/phpBB/adm/style/acp_ext_gallery.html b/phpBB/adm/style/acp_ext_gallery.html index f9cdad34ff..9ae42e2e85 100644 --- a/phpBB/adm/style/acp_ext_gallery.html +++ b/phpBB/adm/style/acp_ext_gallery.html @@ -45,7 +45,16 @@ {{ extension.name }}
- {{ lang('DETAILS') }}{{ lang('INSTALL') }} + + {{ lang('DETAILS') }} • + {% if extension.name in managed_extensions %} + {{ lang('INSTALLED') }} + {% elseif extension.name in installed_extensions -%} + {{ lang('INSTALLED_MANUALLY') }} ({{ lang('MANAGE') }}) + {% else -%} + {{ lang('INSTALL') }} + {%- endif -%} + {{ extension.version }} {{ extension.description }} diff --git a/phpBB/includes/acp/acp_extensions.php b/phpBB/includes/acp/acp_extensions.php index a23ced9daa..08a7b36f2e 100644 --- a/phpBB/includes/acp/acp_extensions.php +++ b/phpBB/includes/acp/acp_extensions.php @@ -413,6 +413,9 @@ class acp_extensions /** @var \phpbb\composer\manager $composer_manager */ $composer_manager = $phpbb_container->get('ext.composer.manager'); + /** @var \phpbb\extension\manager $extensions_manager */ + $extensions_manager = $phpbb_container->get('ext.manager'); + switch ($action) { case 'install': @@ -451,7 +454,7 @@ class acp_extensions { $message_text = $e->getPrevious()->getMessage(); if (strpos($message_text, 'ext/') === 0 && strpos($message_text, 'does not exist and could not be created.') !== false) - {dump($e->getPrevious()->getTraceAsString()); + { $message_text = $language->lang('EXTENSIONS_DIR_NOT_WRITABLE'); } $message_text .= adm_back_link($this->u_action); @@ -499,6 +502,8 @@ class acp_extensions $this->request->enable_super_globals(); $this->template->assign_var('extensions', $manager->get_available_packages()); + $this->template->assign_var('managed_extensions', array_keys($manager->get_managed_packages())); + $this->template->assign_var('installed_extensions', array_keys($extensions_manager->all_available())); $this->template->assign_var('U_ACTION', $this->u_action); $this->request->disable_super_globals(); break; diff --git a/phpBB/language/en/acp/extensions.php b/phpBB/language/en/acp/extensions.php index a94b767111..30d20839fd 100644 --- a/phpBB/language/en/acp/extensions.php +++ b/phpBB/language/en/acp/extensions.php @@ -104,6 +104,9 @@ $lang = array_merge($lang, array( 'EXTENSION_ENABLE_CONFIRM' => 'Are you sure that you wish to enable the ā€œ%sā€ extension?', 'EXTENSION_FORCE_UNSTABLE_CONFIRM' => 'Are you sure that you wish to force the use of unstable version?', + 'INSTALLED' => 'Installed', + 'INSTALLED_MANUALLY' => 'Installed manually', + 'RETURN_TO_EXTENSION_LIST' => 'Return to the extension list', 'EXT_DETAILS' => 'Extension Details', diff --git a/phpBB/phpbb/composer/io/translate_composer_trait.php b/phpBB/phpbb/composer/io/translate_composer_trait.php index e76244b977..b322accafb 100644 --- a/phpBB/phpbb/composer/io/translate_composer_trait.php +++ b/phpBB/phpbb/composer/io/translate_composer_trait.php @@ -42,7 +42,7 @@ trait translate_composer_trait $parameters = []; $level = 0; - $message = trim(strip_tags($message), "\n\r"); + $message = trim($this->strip_format($message), "\n\r"); if (strpos($message, 'Deleting ') === 0) { @@ -94,7 +94,7 @@ trait translate_composer_trait $parameters = []; $level = 0; - $message = trim(strip_tags($message), "\n\r"); + $message = trim($this->strip_format($message), "\n\r"); if (strpos($message, ' Problem ') === 0) { @@ -103,7 +103,7 @@ trait translate_composer_trait continue; } - $lang_key = "\n" . $message . "\n"; + $lang_key = "\n" . htmlentities($message) . "\n"; $level = 4; } else if ($message === 'Updating dependencies') @@ -209,4 +209,14 @@ trait translate_composer_trait return $error; } + + protected function strip_format($message) + { + return str_replace([ + '', '', + '', '', + '', '', + '', '', + ], '', $message); + } }