aboutsummaryrefslogtreecommitdiffstats
path: root/extensions
diff options
context:
space:
mode:
authorEvan Prodromou <evanprodromou@users.mediawiki.org>2004-11-30 05:45:56 +0000
committerEvan Prodromou <evanprodromou@users.mediawiki.org>2004-11-30 05:45:56 +0000
commit2103572a1bfa75aca8fcf263477c410f5504e1e8 (patch)
treef129e242efd611b29e0fa4684540b5a3355f55d9 /extensions
parent229ac8759b8d2d2f0bccb48e5b4208c7965e635d (diff)
downloadmediawikicore-2103572a1bfa75aca8fcf263477c410f5504e1e8.tar.gz
mediawikicore-2103572a1bfa75aca8fcf263477c410f5504e1e8.zip
Added hooks for watching and unwatching articles. Documented in
hooks.doc, and an example in Syslog extension.
Notes
Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/6435
Diffstat (limited to 'extensions')
-rw-r--r--extensions/Syslog.php62
1 files changed, 39 insertions, 23 deletions
diff --git a/extensions/Syslog.php b/extensions/Syslog.php
index 3f69bf92466b..d499bb955079 100644
--- a/extensions/Syslog.php
+++ b/extensions/Syslog.php
@@ -32,29 +32,6 @@ if (defined('MEDIAWIKI')) {
$wgSyslogFacility = LOG_USER;
}
- # Hook for login
-
- function syslogUserLogin(&$user) {
- syslog(LOG_INFO, "User '" . $user->getName() . "' logged in.");
- return true;
- }
-
- # Hook for logout
-
- function syslogUserLogout(&$user) {
- syslog(LOG_INFO, "User '" . $user->getName() . "' logged out.");
- return true;
- }
-
- # Hook for IP & user blocks
-
- function syslogBlockIp(&$block, &$user) {
- syslog(LOG_NOTICE, "User '" . $user->getName() .
- "' blocked '" . (($block->mUser) ? $block->mUser : $block->mAddress) .
- "' for '" . $block->mReason . "' until '" . $block->mExpiry . "'");
- return true;
- }
-
# Hook for article protection
function syslogArticleProtect(&$article, &$user, $protect, &$reason, &$moveonly) {
@@ -88,10 +65,47 @@ if (defined('MEDIAWIKI')) {
return true;
}
+ # Hook for IP & user blocks
+
+ function syslogBlockIp(&$block, &$user) {
+ syslog(LOG_NOTICE, "User '" . $user->getName() .
+ "' blocked '" . (($block->mUser) ? $block->mUser : $block->mAddress) .
+ "' for '" . $block->mReason . "' until '" . $block->mExpiry . "'");
+ return true;
+ }
+
function syslogEmailUser(&$to, &$from, &$subject, &$text) {
syslog(LOG_INFO, "Email sent from '$from' to '$to' with subject '$subject'");
}
+
+ # Hook for unwatch
+
+ function syslogUnwatch(&$user, &$article) {
+ syslog(LOG_INFO, "User '" . $user->getName() . "' stopped watching '" .
+ $article->mTitle->getPrefixedText() . "'");
+ }
+
+ # Hook for login
+
+ function syslogUserLogin(&$user) {
+ syslog(LOG_INFO, "User '" . $user->getName() . "' logged in");
+ return true;
+ }
+
+ # Hook for logout
+
+ function syslogUserLogout(&$user) {
+ syslog(LOG_INFO, "User '" . $user->getName() . "' logged out");
+ return true;
+ }
+
+ # Hook for watch
+ function syslogWatch(&$user, &$article) {
+ syslog(LOG_INFO, "User '" . $user->getName() . "' started watching '" .
+ $article->mTitle->getPrefixedText() . "'");
+ }
+
# Setup -- called once environment is configured
function setupSyslog() {
@@ -108,6 +122,8 @@ if (defined('MEDIAWIKI')) {
$wgHooks['ArticleDeleteComplete'][] = 'syslogArticleDelete';
$wgHooks['ArticleSaveComplete'][] = 'syslogArticleSave';
$wgHooks['EmailUserComplete'][] = 'syslogEmailUser';
+ $wgHooks['WatchArticleComplete'][] = 'syslogWatch';
+ $wgHooks['UnwatchArticleComplete'][] = 'syslogUnwatch';
return true;
}