Previously, getNotificationCount() only looked at local notifications,
and foreign notifications were added in separately by getMessageCount()
and getAlertCount(). This didn't make any sense and resulted in
counter-intuitive things like I4d49b543.
Instead, add a $global flag to getNotificationCount(). If $global=false,
the local count is returned as before, but if $global=true, the
global count (=local+foreign) is returned. If $global is omitted,
the user's cross-wiki notification preference determines which is returned.
Update getLastUnreadNotificationCount() in the same way, since it had
the same issues.
Also add caching for global counts and timestamps, using a global
memc key.
Bug: T133623
Change-Id: If78bfc710acd91a075771b565cc99f4c302a104d
Also added the force (-f) option to
bypass the confirmation. Very useful
when using the script in a loop.
Change-Id: I98c3e0408033903f8e2fb0afab773d4952a4e6d3
Also removes tests for the class.
Bug: T119253
Change-Id: I4c0d7187c2b847297dd0867faecba26185cfba37
Depends-On: Iccafbbdb06711463fee0f30a11326c7771df30e2
Like CentralAuth does in createLocalAccount.php. In large wiki clusters where
you want Echo on for some wikis and not others, but don't want to keep a list
of Echo wikis (say, you want to make it on by default), this makes it possible
to safely run the script even on wikis where Echo is not enabled, where it will
just do nothing.
See also Ibde4c0c1, I741d2485
Bug: T59375
Change-Id: I3537206fccb459eb80de9fd61d2213dfb525c5f0
Update the "processEchoEmailBatch" to allow sending all
notifications immediately even if configured to be
daily or weekly.
Change-Id: I6ebeea86708247700d1950e0f6471c7b3d1fecd2
Remove the records:
* If a page is no longer valid
* If a notification somehow has been read
* If a notification is no longer a bundle base and has not been removed
Change-Id: I282568691d6649c6e3263aea598c3bba29119a29
These maintenance scripts have never run before and will never run in
the future. We decided that we don't understand user_properties table
enough to mess with it, and we went with another simpler approach instead
Change-Id: Ic33375a579267aca40a54d74f839fee042afc24f
Provides the first step of adding and populating a new database field
for Echo oversight deployment. The new field is populated via a
maintenance script and Event::loadFromRow will accept both new and old
results. Everything will still run when the 2 now unused fields are
later dropped from the db.
Bug: 48059
Change-Id: I24d4b61a061f94ed9aaaa6087f33b2ab37f773cd
of talk page email notifications to the analogous setting in the Echo version of
talk notifications
Change-Id: I5cdaf261d042f3586d2d02fed672ee35df5a9b90
* add web bundling feature
* unify event_timestamp with notification_timestamp
* remove echo_subscription
* update article_link to page_link notification with new logic
* remove duplicated function from MWDbEchoEmailBatch since it's defined in parent class
Change-Id: I2fa91c44edb020209b468fe13f894d9db3732e69