diff options
author | Marc Alexander <admin@m-a-styles.de> | 2016-12-18 19:33:42 +0100 |
---|---|---|
committer | Marc Alexander <admin@m-a-styles.de> | 2016-12-18 19:33:42 +0100 |
commit | fd19ef7598a5d84485f4864bfcac36beef959a7c (patch) | |
tree | aeabd554b44448eb0555209da45543b1312c8c04 /phpBB/phpbb/textreparser | |
parent | f84c3687cce0e4dc1868016c14e416047013d784 (diff) | |
parent | 76e9f4dd2d45e8f128e59e1378dfd6778eec9d48 (diff) | |
download | forums-fd19ef7598a5d84485f4864bfcac36beef959a7c.tar forums-fd19ef7598a5d84485f4864bfcac36beef959a7c.tar.gz forums-fd19ef7598a5d84485f4864bfcac36beef959a7c.tar.bz2 forums-fd19ef7598a5d84485f4864bfcac36beef959a7c.tar.xz forums-fd19ef7598a5d84485f4864bfcac36beef959a7c.zip |
Merge pull request #4585 from VSEphpbb/ticket/14925
[ticket/14925] Set reparser names in service definitions
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..27d7bc1f27 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' + 'text_reparser.' . $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 |