- 
    Improvement 
- 
    Resolution: Fixed
- 
    Minor 
- 
    3.1.6
- 
    None
Identifer: core.ucp_remind_modify_select_sql
Location: /includes/ucp/ucp_remind.php, line 50 (in phpbb 3.1.6).
Parameters: 'email', 'username', 'sql_array'
Explanation:
With this event, we can modify the SQL query and change the way the username/email check is performed. The goal is to make an extension that allow password reset by providing only the email adress.
Here is a code snippet that can be used in place of the line "$sql = ...". It does the exact same job and add the event dispatch. It uses the query builder so that portions of the query are split :
| $sql_array = array( | 
| 'SELECT' => 'user_id, username, user_permissions, user_email, user_jabber, user_notify_type, user_type, user_lang, user_inactive_reason', | 
| 'FROM' => array(USERS_TABLE => 'u'), | 
| 'WHERE' => "user_email_hash = '" . $db->sql_escape(phpbb_email_hash($email)) . "' AND | 
| username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'" | 
|     ); | 
|  | 
| /** | 
|      * Change SQL query for fetching user data | 
|      * | 
|      * @event core.ucp_remind_modify_select_sql | 
|      * @var string  email       User's email from the form | 
|      * @var string  username    User's username from the form | 
|      * @var array   sql_array   Fully assembled SQL query with keys SELECT, FROM, WHERE | 
|      * @since 3.1.7? | 
|      */ | 
| $vars = array( | 
| 'email', | 
| 'username', | 
| 'sql_array' | 
|     ); | 
| extract($phpbb_dispatcher->trigger_event('core.ucp_remind_modify_select_sql', compact($vars))); | 
|  | 
| $sql = $db->sql_build_query('SELECT', $sql_array); | 
For the event call to work, $phpbb_dispatcher has to be declared global (line 33).

