function submit($data) { global $wgUserEmailUseReplyTo, $wgEmailUsersUseJobQueue, $wgPasswordSender, $wgUser; if ($data['target-reverse']) { $targets = array_diff($this->userIds, $data['target']); } else { $targets = $data['target']; } if ($data['ccme']) { $targets[] = $wgUser->getId(); } $text = rtrim($data['text']) . "\n\n-- \n"; $params = array('subj' => $data['subject'], 'replyto' => new MailAddress($wgUser)); if ($wgUserEmailUseReplyTo) { $params['from'] = new MailAddress($wgPasswordSender); } else { $params['from'] = new MailAddress($wgUser); } foreach ($targets as $userId) { $user = User::newFromId($userId); $params['to'] = new MailAddress($user); # Or use the recipient's language instead of content? $params['body'] = $text . wfMsgExt('emailuserfooter', array('content', 'parsemag'), array($wgUser->getName(), $user->getName())); $job = new EmaillingJob($this->getTitle(), $params); if ($wgEmailUsersUseJobQueue) { $job->insert(); } else { $job->run(); } } return true; }