diff options
author | Evan Prodromou <evanprodromou@users.mediawiki.org> | 2004-11-30 05:45:56 +0000 |
---|---|---|
committer | Evan Prodromou <evanprodromou@users.mediawiki.org> | 2004-11-30 05:45:56 +0000 |
commit | 2103572a1bfa75aca8fcf263477c410f5504e1e8 (patch) | |
tree | f129e242efd611b29e0fa4684540b5a3355f55d9 /extensions | |
parent | 229ac8759b8d2d2f0bccb48e5b4208c7965e635d (diff) | |
download | mediawikicore-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.php | 62 |
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; } |