3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation; either version 2 of the License, or
6 * (at your option) any later version.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 * http://www.gnu.org/copyleft/gpl.html
21 use MediaWiki\Title\Title
;
22 use MediaWiki\User\User
;
25 * Send an email notification.
30 class EnotifNotifyJob
extends Job
{
31 public function __construct( Title
$title, array $params ) {
32 parent
::__construct( 'enotifNotify', $title, $params );
35 public function run() {
36 $enotif = new EmailNotification();
37 // Get the user from ID (rename safe). Anons are 0, so defer to name.
38 if ( isset( $this->params
['editorID'] ) && $this->params
['editorID'] ) {
39 $editor = User
::newFromId( $this->params
['editorID'] );
40 // B/C, only the name might be given.
42 # @todo FIXME: newFromName could return false on a badly configured wiki.
43 $editor = User
::newFromName( $this->params
['editor'], false );
45 $enotif->actuallyNotifyOnPageChange(
48 $this->params
['timestamp'],
49 $this->params
['summary'],
50 $this->params
['minorEdit'],
51 $this->params
['oldid'],
52 $this->params
['watchers'],
53 $this->params
['pageStatus']