/** * Implements authenticate(). */ public function authenticate(&$message, $mailbox) { list($fromaddress, ) = _mailhandler_get_fromaddress($message['header'], $mailbox); $uid = 0; if ($address = multiple_email_find_address($fromaddress)) { $uid = $address->uid; } return $uid; }
public function authenticate(&$message, $mailbox) { list($fromaddress, $fromname) = _mailhandler_get_fromaddress($message['header'], $mailbox); if ($address = multiple_email_find_address($fromaddress)) { $message['authenticated_uid'] = $address->uid; } else { // Authentication failed. Try as anonymous. $message['authenticated_uid'] = 0; } }
/** * Merge specific account properties. * * @param $user_to_delete * The full object of the user to be deleted. * @param $user_to_keep * The full object of the user to be kept. * @param $review * The array containing review data (as form elements). */ function hook_usermerge_merge_accounts($user_to_delete, $user_to_keep, $review) { // Example from multiple_email_usermerge_merge_accounts() $emails_to_keep = $review['multiple_email']['multiple_email']['options']; if ($emails_to_keep == 'merge') { $query = db_update('multiple_email') ->fields(array( 'uid' => $user_to_keep->uid )) ->condition('uid', $user_to_delete->uid) ->execute(); // Make sure $user_to_keep's primary email remains primary // Necessary because support for regular mail property is disabled by this extension multiple_email_make_primary(multiple_email_find_address($user_to_keep->mail)); } else { $emails_to_delete = $emails_to_keep == 'user_to_keep' ? 'user_to_delete' : 'user_to_keep'; $query_delete = db_delete('multiple_email') ->condition('uid', $$emails_to_delete->uid) ->execute(); // This fires only if the emails to keep are those of the account to delete // If not, this would be redundant if ($emails_to_keep == 'user_to_delete') { $query_update = db_update('multiple_email') ->fields(array( 'uid' => $user_to_keep->uid )) ->condition('uid', $$emails_to_keep->uid) ->execute(); } // Make sure $emails_to_keep's primary email remains primary multiple_email_make_primary(multiple_email_find_address($$emails_to_keep->mail)); } }