Index: branches/5.3.x/core/units/users/users_event_handler.php =================================================================== diff -u -N -r15928 -r15938 --- branches/5.3.x/core/units/users/users_event_handler.php (.../users_event_handler.php) (revision 15928) +++ branches/5.3.x/core/units/users/users_event_handler.php (.../users_event_handler.php) (revision 15938) @@ -1,6 +1,6 @@ Application->RecallVar('user_id'); - $email_sent = $this->Application->emailUser('USER.SUGGEST', $user_id, $send_params); - $this->Application->emailAdmin('USER.SUGGEST'); + $email_sent = $this->Application->emailUser('USER.SUGGEST', $user_id, $object->getEmailParams($send_params)); + $this->Application->emailAdmin('USER.SUGGEST', null, $object->getEmailParams()); if ( $email_sent ) { $event->SetRedirectParam('pass', 'all'); @@ -816,8 +816,9 @@ $this->Conn->doInsert($fields_hash, TABLE_PREFIX . 'UserGroupRelations'); } - $this->Application->emailAdmin('USER.SUBSCRIBE'); - $this->Application->emailUser('USER.SUBSCRIBE', $object->GetID()); + $send_params = $object->getEmailParams(); + $this->Application->emailUser('USER.SUBSCRIBE', $object->GetID(), $send_params); + $this->Application->emailAdmin('USER.SUBSCRIBE', null, $send_params); } /** @@ -833,8 +834,13 @@ WHERE PortalUserId = ' . $user_id . ' AND GroupId = ' . $group_id; $this->Conn->Query($sql); - $this->Application->emailAdmin('USER.UNSUBSCRIBE'); - $this->Application->emailUser('USER.UNSUBSCRIBE', $user_id); + $send_params = Array ( + 'PrefixSpecial' => 'u', + 'item_id' => $user_id + ); + + $this->Application->emailUser('USER.UNSUBSCRIBE', $user_id, $send_params); + $this->Application->emailAdmin('USER.UNSUBSCRIBE', null, $send_params); } /** @@ -877,7 +883,7 @@ } if ($found && $allow_reset) { - $this->Application->emailUser('USER.PSWDC', $user->GetID()); + $this->Application->emailUser('USER.PSWDC', $user->GetID(), $user->getEmailParams()); $event->redirect = $this->Application->GetVar('template_success'); return ; @@ -1038,11 +1044,15 @@ $records = $this->Conn->Query($sql); if ($records) { $conditions = Array(); + $send_params = Array ('PrefixSpecial' => 'u'); + foreach ($records as $record) { - $this->Application->emailUser('USER.MEMBERSHIP.EXPIRATION.NOTICE', $record['PortalUserId']); - $this->Application->emailAdmin('USER.MEMBERSHIP.EXPIRATION.NOTICE'); + $send_params['item_id'] = $record['PortalUserId']; + $this->Application->emailUser('USER.MEMBERSHIP.EXPIRATION.NOTICE', $record['PortalUserId'], $send_params); + $this->Application->emailAdmin('USER.MEMBERSHIP.EXPIRATION.NOTICE', null, $send_params); $conditions[] = '(PortalUserId = '.$record['PortalUserId'].' AND GroupId = '.$record['GroupId'].')'; } + $sql = 'UPDATE '.TABLE_PREFIX.'UserGroupRelations SET ExpirationReminderSent = 1 WHERE '.implode(' OR ', $conditions); @@ -1056,9 +1066,12 @@ WHERE (MembershipExpires IS NOT NULL) AND (MembershipExpires < '.time().')'; $user_ids = $this->Conn->GetCol($sql); if ($user_ids) { + $send_params = Array ('PrefixSpecial' => 'u'); + foreach ($user_ids as $id) { - $this->Application->emailUser('USER.MEMBERSHIP.EXPIRED', $id); - $this->Application->emailAdmin('USER.MEMBERSHIP.EXPIRED'); + $send_params['item_id'] = $id; + $this->Application->emailUser('USER.MEMBERSHIP.EXPIRED', $id, $send_params); + $this->Application->emailAdmin('USER.MEMBERSHIP.EXPIRED', null, $send_params); } } $sql = 'DELETE FROM '.TABLE_PREFIX.'UserGroupRelations @@ -1384,7 +1397,7 @@ $object->SetField('Password', $email_passwords[$temp_id]); $object->SetField('VerifyPassword', $email_passwords[$temp_id]); - $this->Application->emailUser($temp_id > 0 ? 'USER.NEW.PASSWORD': 'USER.ADD.BYADMIN', $object->GetID()); + $this->Application->emailUser($temp_id > 0 ? 'USER.NEW.PASSWORD': 'USER.ADD.BYADMIN', $object->GetID(), $object->getEmailParams()); unset($email_passwords[$temp_id]); $this->Application->StoreVar('email_passwords', serialize($email_passwords)); @@ -1433,8 +1446,14 @@ $email_event = isset($status_events[$new_status]) ? $status_events[$new_status] : false; if (($prev_status != $new_status) && $email_event) { - $this->Application->emailUser($email_event, $user_id); - $this->Application->emailAdmin($email_event); + + $send_params = Array ( + 'PrefixSpecial' => 'u', + 'item_id' => $user_id, + ); + + $this->Application->emailUser($email_event, $user_id, $send_params); + $this->Application->emailAdmin($email_event, null, $send_params); } // deletes sessions from users, that are no longer active @@ -1488,11 +1507,11 @@ 'to_name' => trim($object->GetDBField('FirstName') . ' ' . $object->GetDBField('LastName')), ); - $this->Application->emailUser('USER.EMAIL.CHANGE.UNDO', null, $send_params); + $this->Application->emailUser('USER.EMAIL.CHANGE.UNDO', null, $object->getEmailParams($send_params)); } if ( $new_email ) { - $this->Application->emailUser('USER.EMAIL.CHANGE.VERIFY', $user_id); + $this->Application->emailUser('USER.EMAIL.CHANGE.VERIFY', $user_id, $object->getEmailParams()); } // direct DB update, since USER.EMAIL.CHANGE.VERIFY puts verification code in user record, that we don't want to loose