Open main menu
MediaWiki 拡張機能マニュアル
OOjs UI icon advanced.svg
AutoWatch
リリースの状態: 安定
実装 ユーザー インターフェイス
説明 Add a custom defined list of user to watch any new or edited page + send an email on any new talk page
作者 Brice Lenfant (Briceltalk)
最新バージョン 1.0 (2007-11-21)
MediaWiki 1.10+
データベースの変更 いいえ
ライセンス GNU 一般公衆利用許諾書 2.0 以降
ダウンロード ダウンロード
$wgMultiWatchUserIDs
translatewiki.net で翻訳を利用できる場合は、AutoWatch 拡張機能の翻訳にご協力ください
使用状況とバージョン マトリクスを確認してください。

Template:Extension/archived

The AutoWatch extension adds a custom list of users to watch any new or edited page plus send an email on any new talk page.

使用法Edit

Save the code below to AutoWatch.php in MediaWiki's extensions folder.

Add the following line in the LocalSettings.php file:

$wgMultiWatchUserIDs = array(5, 3, 2, 6, 64, 9); #This is the list of your users' IDs to include in this mailing list
require_once("extensions/AutoWatch.php");

コードEdit

This code has been tested on MediaWiki 1.12.

履歴:

  • 2007-11-21 -- Version 1.1 -- 最初のリリース。
<?php
#########################################################################
# Installation notes, add array $wgMultiWatchUserIDs to LocalSettings.php with all uses ID's to include
# Example
#                     $wgMultiWatchUserIDs = array(5, 3, 2, 6);
# then add the line:  require_once("extensions/AutoWatch.php");
#
########################################################################
// Protect against register_globals
if ( !defined( 'MEDIAWIKI' ) ) {
    echo "Not a valid entry point";
    exit( 1 );
}

$wgExtensionCredits['other'][] = array(
	'name' => 'AutoWatch',
	'version' => '1.0',
	'author' => 'Brice Lenfant',
	'description' => 'Adds any new edited/created page to the watch list of defined users',
	'url' => 'https://www.mediawiki.org/wiki/Extension:AutoWatch',
);

$wgHooks['ArticleSaveComplete'][] = 'fnAddToWatch';

function fnAddToWatch(&$article, &$user, &$text, &$summary, &$minoredit, &$watchthis, &$sectionanchor, &$flags, $revision) {
	global $wgMultiWatchUserIDs;
	foreach ($wgMultiWatchUserIDs as $value){
		#Add to watch
		$user = User::newFromId($value);
		$user->addWatch( $article->mTitle );
		#Send email if it's a new talk 
		if ( $article->mTitle->isTalkPage ()){
			$eTitle = "Talk Page changed or created in Wiki  - ".$article->mTitle->getTalkNsText().':'.$article->mTitle->getDBkey();
			$eBody = $article->mTitle->GetFullURL();
			$user->sendMail($eTitle, $eBody );
		}
	}
	return true;
}