Open main menu
Podręcznik rozszerzeń MediaWiki
OOjs UI icon advanced.svg
AutoWatch
Status wydania: stabilne
Realizacja Interfejs użytkownika
Opis Add a custom defined list of user to watch any new or edited page + send an email on any new talk page
Autor(zy) Brice Lenfant (Briceltalk)
Ostatnia wersja 1.0 (2007-11-21)
MediaWiki 1.10+
Zmiany w bazie danych Nie
Licencja GNU General Public License 2.0 lub późniejsza
Pobieranie Pobieranie
$wgMultiWatchUserIDs
Przetłumacz rozszerzenie AutoWatch jeżeli jest dostępne na translatewiki.net
Sprawdź wykorzystywanie i matrycę wersji.

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.

UżycieEdit

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");

KodEdit

This code has been tested on MediaWiki 1.12.

Historia:

  • 2007-11-21 -- Version 1.1 -- First release.
<?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;
}