aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Guse <nathaniel.guse@gmail.com>2014-02-19 10:42:17 -0600
committerNathan Guse <nathaniel.guse@gmail.com>2014-02-19 10:42:17 -0600
commitc30668b010a6ea3787cb64b3ac7c8b8decaa39dc (patch)
tree08387ce81090570bf26c089e1aa2868976caad7e
parentbd8951cfbec799f685eb89f14a83933cee647112 (diff)
parentb7dea19bf37de2078676e8a8c9a810fd6a48605b (diff)
downloadforums-c30668b010a6ea3787cb64b3ac7c8b8decaa39dc.tar
forums-c30668b010a6ea3787cb64b3ac7c8b8decaa39dc.tar.gz
forums-c30668b010a6ea3787cb64b3ac7c8b8decaa39dc.tar.bz2
forums-c30668b010a6ea3787cb64b3ac7c8b8decaa39dc.tar.xz
forums-c30668b010a6ea3787cb64b3ac7c8b8decaa39dc.zip
Merge pull request #2045 from rxu/ticket/12213
[ticket/12213] Add MCP events for custom quick moderation options
-rw-r--r--phpBB/includes/mcp/mcp_main.php11
-rw-r--r--phpBB/mcp.php21
2 files changed, 31 insertions, 1 deletions
diff --git a/phpBB/includes/mcp/mcp_main.php b/phpBB/includes/mcp/mcp_main.php
index d9197da07e..016094c5d4 100644
--- a/phpBB/includes/mcp/mcp_main.php
+++ b/phpBB/includes/mcp/mcp_main.php
@@ -34,6 +34,7 @@ class mcp_main
{
global $auth, $db, $user, $template, $action;
global $config, $phpbb_root_path, $phpEx, $request;
+ global $phpbb_dispatcher;
$quickmod = ($mode == 'quickmod') ? true : false;
@@ -151,6 +152,16 @@ class mcp_main
mcp_restore_topic($topic_ids);
break;
+
+ default:
+ /**
+ * This event allows you to handle custom quickmod options
+ *
+ * @event core.modify_quickmod_actions
+ * @since 3.1.0-a4
+ */
+ $phpbb_dispatcher->dispatch('core.modify_quickmod_actions');
+ break;
}
switch ($mode)
diff --git a/phpBB/mcp.php b/phpBB/mcp.php
index e2915cad78..313b24b6f1 100644
--- a/phpBB/mcp.php
+++ b/phpBB/mcp.php
@@ -183,7 +183,26 @@ if ($quickmod)
break;
default:
- trigger_error($user->lang('QUICKMOD_ACTION_NOT_ALLOWED', $action), E_USER_ERROR);
+ // If needed, the flag can be set to true within event listener
+ // to indicate that the action was handled properly
+ // and to pass by the trigger_error() call below
+ $break = false;
+
+ /**
+ * This event allows you to add custom quickmod options
+ *
+ * @event core.modify_quickmod_options
+ * @var object module Instance of module system class
+ * @var string action Quickmod option
+ * @var bool break Flag indicating if the action was handled properly
+ * @since 3.1.0-a4
+ */
+ extract($phpbb_dispatcher->trigger_event('core.modify_quickmod_options', compact(array('module', 'action', 'break'))));
+
+ if (!$break)
+ {
+ trigger_error($user->lang('QUICKMOD_ACTION_NOT_ALLOWED', $action), E_USER_ERROR);
+ }
break;
}
}