aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/bbcode.php
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@owncloud.com>2015-05-28 10:49:33 +0200
committerJoas Schilling <nickvergessen@owncloud.com>2015-05-28 10:49:33 +0200
commit7580798a5a24599ba7ed8de6d7a4a60875d8e2ec (patch)
tree0b60f102ffceb67fc65e9d49f2040945a0f3a481 /phpBB/includes/bbcode.php
parentcc134d5fed67d826dfeadac3f93ccc6501cf7d5e (diff)
parentaa1b427e45024b94f06d11f6a6ac4e1d602cb03e (diff)
downloadforums-7580798a5a24599ba7ed8de6d7a4a60875d8e2ec.tar
forums-7580798a5a24599ba7ed8de6d7a4a60875d8e2ec.tar.gz
forums-7580798a5a24599ba7ed8de6d7a4a60875d8e2ec.tar.bz2
forums-7580798a5a24599ba7ed8de6d7a4a60875d8e2ec.tar.xz
forums-7580798a5a24599ba7ed8de6d7a4a60875d8e2ec.zip
Merge pull request #3435 from rxu/ticket/13648
[ticket/13648] Allow extensions using custom bbcode validation methods
Diffstat (limited to 'phpBB/includes/bbcode.php')
-rw-r--r--phpBB/includes/bbcode.php34
1 files changed, 34 insertions, 0 deletions
diff --git a/phpBB/includes/bbcode.php b/phpBB/includes/bbcode.php
index 5f6dcde448..86390c0901 100644
--- a/phpBB/includes/bbcode.php
+++ b/phpBB/includes/bbcode.php
@@ -182,6 +182,8 @@ class bbcode
$db->sql_freeresult($result);
}
+ // To perform custom second pass in extension, use $this->bbcode_second_pass_by_extension()
+ // method which accepts variable number of parameters
foreach ($bbcode_ids as $bbcode_id)
{
switch ($bbcode_id)
@@ -613,4 +615,36 @@ class bbcode
return $code;
}
+
+ /**
+ * Function to perform custom bbcode second pass by extensions
+ * can be used to assign bbcode pattern replacement
+ * Example: '#\[list=([^\[]+):$uid\]#e' => "\$this->bbcode_second_pass_by_extension('\$1')"
+ *
+ * Accepts variable number of parameters
+ *
+ * @return mixed Second pass result
+ */
+ function bbcode_second_pass_by_extension()
+ {
+ global $phpbb_dispatcher;
+
+ $return = false;
+ $params_array = func_get_args();
+
+ /**
+ * Event to perform bbcode second pass with
+ * the custom validating methods provided by extensions
+ *
+ * @event core.bbcode_second_pass_by_extension
+ * @var array params_array Array with the function parameters
+ * @var mixed return Second pass result to return
+ *
+ * @since 3.1.5-RC1
+ */
+ $vars = array('params_array', 'return');
+ extract($phpbb_dispatcher->trigger_event('core.bbcode_second_pass_by_extension', compact($vars)));
+
+ return $return;
+ }
}