MediaWiki REL1_33
ActivityUpdateJob.php
Go to the documentation of this file.
1<?php
34class ActivityUpdateJob extends Job {
35 function __construct( Title $title, array $params ) {
36 parent::__construct( 'activityUpdateJob', $title, $params );
37
38 static $required = [ 'type', 'userid', 'notifTime', 'curTime' ];
39 $missing = implode( ', ', array_diff( $required, array_keys( $this->params ) ) );
40 if ( $missing != '' ) {
41 throw new InvalidArgumentException( "Missing paramter(s) $missing" );
42 }
43
44 $this->removeDuplicates = true;
45 }
46
47 public function run() {
48 if ( $this->params['type'] === 'updateWatchlistNotification' ) {
50 } else {
51 throw new InvalidArgumentException( "Invalid 'type' '{$this->params['type']}'." );
52 }
53
54 return true;
55 }
56
57 protected function updateWatchlistNotification() {
58 $casTimestamp = ( $this->params['notifTime'] !== null )
59 ? $this->params['notifTime']
60 : $this->params['curTime'];
61
62 $dbw = wfGetDB( DB_MASTER );
63 $dbw->update( 'watchlist',
64 [
65 'wl_notificationtimestamp' => $dbw->timestampOrNull( $this->params['notifTime'] )
66 ],
67 [
68 'wl_user' => $this->params['userid'],
69 'wl_namespace' => $this->title->getNamespace(),
70 'wl_title' => $this->title->getDBkey(),
71 // Add a "check and set" style comparison to handle conflicts.
72 // The inequality always avoids updates when the current value
73 // is already NULL per ANSI SQL. This is desired since NULL means
74 // that the user is "caught up" on edits already. When the field
75 // is non-NULL, make sure not to set it back in time or set it to
76 // NULL when newer revisions were in fact added to the page.
77 'wl_notificationtimestamp < ' . $dbw->addQuotes( $dbw->timestamp( $casTimestamp ) )
78 ],
79 __METHOD__
80 );
81 }
82}
and that you know you can do these things To protect your we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights These restrictions translate to certain responsibilities for you if you distribute copies of the or if you modify it For if you distribute copies of such a whether gratis or for a you must give the recipients all the rights that you have You must make sure that receive or can get the source code And you must show them these terms so they know their rights We protect your rights with two and(2) offer you this license which gives you legal permission to copy
wfGetDB( $db, $groups=[], $wiki=false)
Get a Database object.
Job for updating user activity like "last viewed" timestamps.
__construct(Title $title, array $params)
Class to both describe a background job and handle jobs.
Definition Job.php:30
array $params
Array of job parameters.
Definition Job.php:35
Represents a title within MediaWiki.
Definition Title.php:40
this hook is for auditing only or null if authentication failed before getting that far or null if we can t even determine that When $user is not null
Definition hooks.txt:783
The wiki should then use memcached to cache various data To use multiple just add more items to the array To increase the weight of a make its entry a array("192.168.0.1:11211", 2))
const DB_MASTER
Definition defines.php:26