diff options
author | Matt Friedman <maf675@gmail.com> | 2016-12-18 01:28:51 -0800 |
---|---|---|
committer | Matt Friedman <maf675@gmail.com> | 2016-12-18 01:28:51 -0800 |
commit | b4748a5d1ee31084da7e78f8ffaf5b036f2e5314 (patch) | |
tree | eb815b485b6360235bbc04413b2f682215cc1efe /phpBB/phpbb/textreparser | |
parent | 544c7c4e0864df7ad1748c21b92a146e84308a06 (diff) | |
download | forums-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.php | 27 | ||||
-rw-r--r-- | phpBB/phpbb/textreparser/manager.php | 20 | ||||
-rw-r--r-- | phpBB/phpbb/textreparser/reparser_interface.php | 14 |
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 |