Extension:AutoWatch

From MediaWiki.org
Jump to: navigation, search

Other languages:
English • ‎español • ‎français • ‎日本語 • ‎中文
MediaWiki extensions manual
Crystal Clear action run.png
AutoWatch

Release status: stable

Implementation User interface
Description Add a custom defined list of user to watch any new or edited page + send an email on any new talk page
Author(s) Brice Lenfant (Briceltalk)
Latest version 1.0 (2007-11-21)
MediaWiki 1.10+
Database changes No
License GPL v2+
Download Download
Parameters
  • $wgMultiWatchUserIDs
Hooks used
ArticleSaveComplete

Translate the AutoWatch extension if it is available at translatewiki.net

Check usage and version matrix; code metrics

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.

Usage[edit | edit source]

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

Code[edit | edit source]

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