Open main menu

Extension:AutoWatch/da

MediaWiki extensions manual
OOjs UI icon advanced.svg
AutoWatch
Release status: stabil
Implementation User interface
Beskrivelse Add a custom defined list of user to watch any new or edited page + send an email on any new talk page
Forfatter(e) Brice Lenfant (Briceltalk)
Latest version 1.0 (2007-11-21)
MediaWiki 1.10+
Database changes Nej
Licens GNU General Public License 2.0 or later
Download Download
$wgMultiWatchUserIDs
Translate the AutoWatch extension if it is available at translatewiki.net
Check usage and version matrix.

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.

UsageEdit

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

KodeEdit

This code has been tested on MediaWiki 1.12.

History:

  • 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;
}