aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/includes/acp/acp_bbcodes.php10
-rw-r--r--phpBB/phpbb/textformatter/acp_utils_interface.php26
-rw-r--r--phpBB/phpbb/textformatter/s9e/acp_utils.php6
3 files changed, 29 insertions, 13 deletions
diff --git a/phpBB/includes/acp/acp_bbcodes.php b/phpBB/includes/acp/acp_bbcodes.php
index 9583f9a869..84dbbf02ba 100644
--- a/phpBB/includes/acp/acp_bbcodes.php
+++ b/phpBB/includes/acp/acp_bbcodes.php
@@ -174,15 +174,15 @@ class acp_bbcodes
$acp_utils = $phpbb_container->get('text_formatter.acp_utils');
$bbcode_info = $acp_utils->analyse_bbcode($bbcode_match, $bbcode_tpl);
- $warn_unsafe = ($bbcode_info['status'] === 'unsafe');
+ $warn_unsafe = ($bbcode_info['status'] === $acp_utils::BBCODE_STATUS_UNSAFE);
- if ($bbcode_info['status'] === 'invalid_definition')
+ if ($bbcode_info['status'] === $acp_utils::BBCODE_STATUS_INVALID_TEMPLATE)
{
- trigger_error($user->lang['BBCODE_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
+ trigger_error($user->lang['BBCODE_INVALID_TEMPLATE'] . adm_back_link($this->u_action), E_USER_WARNING);
}
- if ($bbcode_info['status'] === 'invalid_template')
+ if ($bbcode_info['status'] === $acp_utils::BBCODE_STATUS_INVALID_DEFINITION)
{
- trigger_error($user->lang['BBCODE_INVALID_TEMPLATE'] . adm_back_link($this->u_action), E_USER_WARNING);
+ trigger_error($user->lang['BBCODE_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
}
if (!$warn_unsafe && !check_form_key($form_key))
diff --git a/phpBB/phpbb/textformatter/acp_utils_interface.php b/phpBB/phpbb/textformatter/acp_utils_interface.php
index d1e3de9989..cdee56f19d 100644
--- a/phpBB/phpbb/textformatter/acp_utils_interface.php
+++ b/phpBB/phpbb/textformatter/acp_utils_interface.php
@@ -16,14 +16,30 @@ namespace phpbb\textformatter;
interface acp_utils_interface
{
/**
+ * There is an issue with the definition
+ */
+ const BBCODE_STATUS_INVALID_DEFINITION = 'invalid_definition';
+
+ /**
+ * There is an issue with the template
+ */
+ const BBCODE_STATUS_INVALID_TEMPLATE = 'invalid_template';
+
+ /**
+ * The BBCode is valid and can be safely used by anyone
+ */
+ const BBCODE_STATUS_SAFE = 'safe';
+
+ /**
+ * The BBCode is valid but may be unsafe to use
+ */
+ const BBCODE_STATUS_UNSAFE = 'unsafe';
+
+ /**
* Analyse given BBCode definition for issues and safeness
*
* Required elements in the return array:
- * - status:
- * - "safe" The BBCode is valid and can be safely used by anyone.
- * - "unsafe" The BBCode is valid but may be unsafe to use.
- * - "invalid_definition" There is an issue with the definition.
- * - "invalid_template" There is an issue with the template.
+ * - status: see BBCODE_STATUS_* constants
*
* Optional elements in the return array:
* - name: Name of the BBCode based on the definition. Required if status is "safe".
diff --git a/phpBB/phpbb/textformatter/s9e/acp_utils.php b/phpBB/phpbb/textformatter/s9e/acp_utils.php
index 981fa60813..c4a668020e 100644
--- a/phpBB/phpbb/textformatter/s9e/acp_utils.php
+++ b/phpBB/phpbb/textformatter/s9e/acp_utils.php
@@ -37,7 +37,7 @@ class acp_utils implements acp_utils_interface
public function analyse_bbcode(string $definition, string $template): array
{
$configurator = $this->factory->get_configurator();
- $return = ['status' => 'safe'];
+ $return = ['status' => self::BBCODE_STATUS_SAFE];
// Capture and normalize the BBCode name manually because there's no easy way to retrieve
// it in TextFormatter <= 2.x
@@ -52,13 +52,13 @@ class acp_utils implements acp_utils_interface
}
catch (UnsafeTemplateException $e)
{
- $return['status'] = 'unsafe';
+ $return['status'] = self::BBCODE_STATUS_UNSAFE;
$return['error_text'] = $e->getMessage();
$return['error_html'] = $e->highlightNode('<span class="highlight">');
}
catch (\Exception $e)
{
- $return['status'] = (preg_match('(xml|xpath|xsl)i', $e->getMessage())) ? 'invalid_template' : 'invalid_definition';
+ $return['status'] = (preg_match('(xml|xpath|xsl)i', $e->getMessage())) ? self::BBCODE_STATUS_INVALID_TEMPLATE : self::BBCODE_STATUS_INVALID_DEFINITION;
$return['error_text'] = $e->getMessage();
}