aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/textreparser
diff options
context:
space:
mode:
authorMatt Friedman <maf675@gmail.com>2016-12-18 01:28:51 -0800
committerMatt Friedman <maf675@gmail.com>2016-12-18 01:28:51 -0800
commitb4748a5d1ee31084da7e78f8ffaf5b036f2e5314 (patch)
treeeb815b485b6360235bbc04413b2f682215cc1efe /phpBB/phpbb/textreparser
parent544c7c4e0864df7ad1748c21b92a146e84308a06 (diff)
downloadforums-b4748a5d1ee31084da7e78f8ffaf5b036f2e5314.tar
forums-b4748a5d1ee31084da7e78f8ffaf5b036f2e5314.tar.gz
forums-b4748a5d1ee31084da7e78f8ffaf5b036f2e5314.tar.bz2
forums-b4748a5d1ee31084da7e78f8ffaf5b036f2e5314.tar.xz
forums-b4748a5d1ee31084da7e78f8ffaf5b036f2e5314.zip
[ticket/14925] Set reparser names in service definitions
PHPBB3-14925
Diffstat (limited to 'phpBB/phpbb/textreparser')
-rw-r--r--phpBB/phpbb/textreparser/base.php27
-rw-r--r--phpBB/phpbb/textreparser/manager.php20
-rw-r--r--phpBB/phpbb/textreparser/reparser_interface.php14
3 files changed, 60 insertions, 1 deletions
diff --git a/phpBB/phpbb/textreparser/base.php b/phpBB/phpbb/textreparser/base.php
index afa5ccacad..ef97bc90d5 100644
--- a/phpBB/phpbb/textreparser/base.php
+++ b/phpBB/phpbb/textreparser/base.php
@@ -16,6 +16,11 @@ namespace phpbb\textreparser;
abstract class base implements reparser_interface
{
/**
+ * @var string The reparser name
+ */
+ protected $name;
+
+ /**
* @var bool Whether to save changes to the database
*/
protected $save_changes = true;
@@ -90,6 +95,26 @@ abstract class base implements reparser_interface
}
/**
+ * Returns the name of the reparser
+ *
+ * @return string Name of reparser
+ */
+ public function get_name()
+ {
+ return $this->name;
+ }
+
+ /**
+ * Sets the name of the reparser
+ *
+ * @param string $name The reparser name
+ */
+ public function set_name($name)
+ {
+ $this->name = $name;
+ }
+
+ /**
* Disable saving changes to the database
*/
public function disable_save()
@@ -231,7 +256,7 @@ abstract class base implements reparser_interface
$unparsed['enable_flash_bbcode'],
$unparsed['enable_quote_bbcode'],
$unparsed['enable_url_bbcode'],
- 'reparse'
+ $this->get_name()
);
// Save the new text if it has changed and it's not a dry run
diff --git a/phpBB/phpbb/textreparser/manager.php b/phpBB/phpbb/textreparser/manager.php
index fddd867923..7ca65d708d 100644
--- a/phpBB/phpbb/textreparser/manager.php
+++ b/phpBB/phpbb/textreparser/manager.php
@@ -125,4 +125,24 @@ class manager
$this->schedule($reparser, $interval);
}
}
+
+ /**
+ * Finds a reparser by name.
+ *
+ * If there is no reparser with the specified name, null is returned.
+ *
+ * @param string $name Name of the reparser to look up.
+ * @return string A reparser service name, or null.
+ */
+ public function find_reparser($name)
+ {
+ foreach ($this->reparsers as $service => $reparser)
+ {
+ if ($reparser->get_name() == $name)
+ {
+ return $service;
+ }
+ }
+ return null;
+ }
}
diff --git a/phpBB/phpbb/textreparser/reparser_interface.php b/phpBB/phpbb/textreparser/reparser_interface.php
index 9ea1732870..912de10058 100644
--- a/phpBB/phpbb/textreparser/reparser_interface.php
+++ b/phpBB/phpbb/textreparser/reparser_interface.php
@@ -23,6 +23,20 @@ interface reparser_interface
public function get_max_id();
/**
+ * Returns the name of the reparser
+ *
+ * @return string Name of reparser
+ */
+ public function get_name();
+
+ /**
+ * Sets the name of the reparser
+ *
+ * @param string $name The reparser name
+ */
+ public function set_name($name);
+
+ /**
* Reparse all records in given range
*
* @param integer $min_id Lower bound