diff options
| author | Joas Schilling <nickvergessen@gmx.de> | 2014-11-22 12:21:24 +0100 |
|---|---|---|
| committer | Joas Schilling <nickvergessen@gmx.de> | 2014-11-22 12:21:24 +0100 |
| commit | 8b711038368bc0a52d1b532a2f1b7c8c45ac2d0a (patch) | |
| tree | 847069c90516ce503f2c0dee0064977df92515d3 | |
| parent | ea101f793285e048c140a7904bbc04a1011cb83d (diff) | |
| parent | b6f0c789d5479aac9684498451c282f0a3e00f73 (diff) | |
| download | forums-8b711038368bc0a52d1b532a2f1b7c8c45ac2d0a.tar forums-8b711038368bc0a52d1b532a2f1b7c8c45ac2d0a.tar.gz forums-8b711038368bc0a52d1b532a2f1b7c8c45ac2d0a.tar.bz2 forums-8b711038368bc0a52d1b532a2f1b7c8c45ac2d0a.tar.xz forums-8b711038368bc0a52d1b532a2f1b7c8c45ac2d0a.zip | |
Merge pull request #3123 from Elsensee/ticket/13310
[ticket/13310] Add event core.acp_email_modify_sql
| -rw-r--r-- | phpBB/includes/acp/acp_email.php | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/phpBB/includes/acp/acp_email.php b/phpBB/includes/acp/acp_email.php index fe55b36e67..4fefd6bec3 100644 --- a/phpBB/includes/acp/acp_email.php +++ b/phpBB/includes/acp/acp_email.php @@ -26,7 +26,7 @@ class acp_email function main($id, $mode) { global $config, $db, $user, $auth, $template, $cache; - global $phpbb_root_path, $phpbb_admin_path, $phpEx, $table_prefix; + global $phpbb_root_path, $phpbb_admin_path, $phpEx, $table_prefix, $phpbb_dispatcher; $user->add_lang('acp/email'); $this->tpl_name = 'acp_email'; @@ -72,11 +72,15 @@ class acp_email if ($usernames) { // If giving usernames the admin is able to email inactive users too... - $sql = 'SELECT username, user_email, user_jabber, user_notify_type, user_lang - FROM ' . USERS_TABLE . ' - WHERE ' . $db->sql_in_set('username_clean', array_map('utf8_clean_string', explode("\n", $usernames))) . ' - AND user_allow_massemail = 1 - ORDER BY user_lang, user_notify_type'; // , SUBSTRING(user_email FROM INSTR(user_email, '@')) + $sql_ary = array( + 'SELECT' => 'username, user_email, user_jabber, user_notify_type, user_lang', + 'FROM' => array( + USERS_TABLE => '', + ), + 'WHERE' => $db->sql_in_set('username_clean', array_map('utf8_clean_string', explode("\n", $usernames))) . ' + AND user_allow_massemail = 1', + 'ORDER_BY' => 'user_lang, user_notify_type', + ); } else { @@ -123,8 +127,18 @@ class acp_email ), ); } - $sql = $db->sql_build_query('SELECT', $sql_ary); } + /** + * Modify sql query to change the list of users the email is sent to + * + * @event core.acp_email_modify_sql + * @var array sql_ary Array which is used to build the sql query + * @since 3.1.2-RC1 + */ + $vars = array('sql_ary'); + extract($phpbb_dispatcher->trigger_event('core.acp_email_modify_sql', compact($vars))); + + $sql = $db->sql_build_query('SELECT', $sql_ary); $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); |
