Extension:RPED

From MediaWiki.org
Jump to: navigation, search

This is the Remote Page Existence Detection (RPED) extension.

MediaWiki extensions manual - list
Crystal Clear action run.png
RemotePageExistenceDetection

Release status: beta

Implementation Hook, API
Description Once equipped with a list of titles of pages existent on Wikipedia, this extension turns wikilinks to pages that don't exist on the local wiki different colors to reflect whether a page exists or not on Wikipedia.
Author(s) Tisanetalk
Latest version 1.0.3
MediaWiki 1.16+
PHP 5
Database changes yes
Tables rped_page
License Creative Commons Attribution/Share-Alike License 3.0, GPL
Download Template:WikimediaDownload/svn
Hooks used
LinkBegin

LoadExtensionSchemaUpdates

Translate the RPED extension if possible

Check usage and version matrix; code metrics

This extension adds wikipedia links to pages that don't exist on the local wiki and turns these wikilinks blue to reflect whether a page exists on Wikipedia. For example, if you link to Foo on your local wiki but that page does not exist there, the link will still turn blue, and link to w:en:Foo, if that article exists on Wikipedia.

Usage[edit | edit source]

Regular double-bracketed internal links will now link to Wikipedia when the article does not exist on the local wiki but exists on Wikipedia. Interwiki links such as wikipedia:Foo will detect whether the page exists on Wikipedia and turn red or blue accordingly.

To use the API, first use Special:UserRights to grant RPED rights to the user who will be inserting/deleting page titles from rped_table. Then use commands such as this:

http://libertapedia.org/w/api.php?action=rped&insert=Foo
http://libertapedia.org/w/api.php?action=rped&delete=Foo

You can also use piped parameters to insert/delete more than one at a time, e.g.:

http://libertapedia.org/w/api.php?action=rped&insert=Foo%7CBar

RPED will automatically detect whether Extension:PureWikiDeletion is active and, if so, treat blanked local pages as nonexistent.

Recommended policy[edit | edit source]

Situations may arise in which you have an option between having an article that is a one-line stub, or getting rid of that article so that wikilinks to it will link instead to the (much larger) Wikipedia article. Because high-quality, comprehensive articles may evolve from what begins as a one-line stub, you may wish to leave the one-line article in place and use a {{WP}} template like the following (after you upload Wikipedia-logo.png to your wiki):

<div class="noprint" style="clear: right; border: solid #aaa 1px; margin: 0 0 1em 1em; font-size: 90%; background: #f9f9f9; width: 250px; padding: 4px; spacing: 0px; text-align: left; float: right;"> <div style="float: left;"> [[Image:Wikipedia-logo.png|50px]]</div> <div style="margin-left: 60px;">There is also an article about [[Wikipedia:{{PAGENAME}}|{{PAGENAME}}]] at [[Wikipedia]].</div> </div>

Installation[edit | edit source]

Add this to your LocalSettings.php file:

require_once( "$IP/extensions/RPED/RPED.php"  );

Then run update.php to create the rped_page table.

Next, populate the rped_page table. It is recommended that you download all-titles-in-ns0.gz from the most recent data dump at download:enwiki/ and use the Peachy RPED scripts to populate the table.

Configuration settings[edit | edit source]

$wgRPEDBrokenLinkStyle[edit | edit source]

This is the color for broken interwiki links, e.g. This page does not exist. Default:

$wgRPEDBrokenLinkStyle = "color: #ba0000";

$wgRPEDExcludeNamespaced[edit | edit source]

If set to true, this will cause the extension to ignore interwiki links such as wikipedia:Wikipedia:AFD. This is useful because presently, the list of page titles that Wikimedia provides only contains page titles in the main namespace. Default:

$wgRPEDExcludeNamespaced = false;

$wgRPEDExcludeNamespaces[edit | edit source]

Exclude namespaces with these numbers. E.g.:

$wgRPEDExcludeNamespaces = array( 2002 );

$wgRemoteStyle[edit | edit source]

This is the color that links to Wikipedia, such as wikipedia:Comparison of Linux distributions, will appear when those pages are in the rped_table. Default:

$wgRemoteStyle = 'color: #0645ad'; // Remote links are blue

Code[edit | edit source]

RPED.php[edit | edit source]

<?php
/**
 * Remote Page Existence Detection (RPED) extension by Tisane
 * URL: http://www.mediawiki.org/wiki/Extension:RemotePageExistenceDetection
 *
 * This program is free software. You can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version. You can also redistribute it and/or
 * modify it under the terms of the Creative Commons Attribution 3.0 license.
 *
 * This extension looks up all the wikilinks on a page that would otherwise be red and compares them
 * to a table of page titles to determine whether they exist on a remote wiki. If so, the wikilink
 * turns blue and links to the page on the remote wiki.
 */
 
 
/* Alert the user that this is not a valid entry point to MediaWiki if they try to access the
special pages file directly.*/
 
if ( !defined( 'MEDIAWIKI' ) ) {
	echo <<<EOT
		To install the RPED extension, put the following line in LocalSettings.php:
		require( "extensions/RPED/RPED.php" );
EOT;
	exit( 1 );
}
 
$wgExtensionCredits['other'][] = array(
	'path' => __FILE__,
	'name' => 'Remote Page Existence Detection',
	'author' => 'Tisane',
	'url' => 'http://www.mediawiki.org/wiki/Extension:RemotePageExistenceDetection',
	'descriptionmsg' => 'rped-desc',
	'version' => '1.0.3',
);
 
$dir = dirname( __FILE__ ) . '/';
$wgAutoloadClasses['RPEDHooks'] = $dir . 'RPED.hooks.php';
$wgExtensionMessagesFiles['RPED'] = $dir . 'RPED.i18n.php';
$wgAutoloadClasses['ApiRPED'] = $dir.'ApiRPED.php';
$wgAPIModules['rped'] = 'ApiRPED';
$wgGroupPermissions['RPED']['rped']    = true;
 
$wgHooks['LoadExtensionSchemaUpdates'][] = 'RPEDHooks::RPEDCreateTable';
$wgHooks['LinkBegin'][] = 'RPEDHooks::wikipediaLink';
 
$wgRPEDBrokenLinkStyle = "color: red";
$wgRPEDExcludeNamespaced = false; // This naming scheme SUCKS
$wgRPEDExcludeNamespaces = array();
$wgRemoteStyle = 'color: blue';
$wgBlueLinkEverything = false;

ApiRPED.php[edit | edit source]

<?php
 
class ApiRPED extends ApiBase {
	public function __construct( $main, $action ) {
		parent::__construct( $main, $action );
	}
 
	public function execute() {
		global $wgUser;
		/*if (!$this->userCanExecute( $wgUser )) {
			$this->displayRestrictionError();
			return;
		}*/
 
		if( !$wgUser->isAllowed( 'rped' ) ) {
			$this->displayRestrictionError();
			return;
		}
 
        #$dbw->insert('rped_pages',array('rped_page_title' => $subValue));
		$params = $this->extractRequestParams(false);
		/*foreach ($params as $key => $value) {
			$dbw->insert('rped_page',array('rped_page_title' => $key));
			$dbw->insert('rped_page',array('rped_page_title' => $value));
		}*/
		foreach( $params as $key => $value ) {
			if( $key != null && $value!= null ) {
				ApiRPED::paramProcess( $key,$value );
			}
        }
        return;
    }
 
	/*
	 * Insert or delete a row from the rped_page table
	 * @param key "insert" or "delete"
	 * @param $value Page name to delete
	 */
	public function paramProcess( $key,$value ){
		$dbr = wfGetDB( DB_SLAVE );
		$dbw = wfGetDB( DB_MASTER );
		$myInputNum = 0;
		$strLen = strlen( $value );
		for( $count = 0; $count < $strLen; $count++ ) {
			if ( substr( $value, $count, 1 ) == '|' ){
				$myInputNum++;
			} else {
				if ( !isset( $myInput[$myInputNum] ) ) {
					$myInput[$myInputNum] = '';
				}
				if ( substr( $value, $count, 1 ) == ' ' ) {
					$myInput[$myInputNum] .= '_';
				} else {
					$myInput[$myInputNum] .= substr( $value, $count, 1 );
				}
			}
		}
		if( isset( $myInput ) ) {
			foreach( $myInput as $subValue ) {
				if ( isset( $subValue ) && $subValue !== null ) {
					$subValue=urldecode($subValue);
					$existCheck = null;
					$existCheck = $dbr->selectRow( 'rped_page', 'rped_page_title',
						array( 'rped_page_title' => $subValue ) );
					#$dbw->insert('rped_page',array('rped_page_title' => "key: ".$key));
					#$dbw->insert('rped_page',array('rped_page_title' => "subValue: ".$subValue));
					#if($key=='insert' && !isset($existCheck) && $existCheck!=null){
					if( $key == 'insert' && ( !isset( $existCheck ) || $existCheck == null ) ) {
						$dbw->insert( 'rped_page', array( 'rped_page_title' => $subValue ) );
					}
					if ($key=='delete' && isset( $existCheck ) && $existCheck != null ) {
						$dbw->delete( 'rped_page', array( 'rped_page_title' => $subValue ) );
					}
				}
			}
		}
	}
 
	public function getAllowedParams(){
		return array(
			'insert' => null,
			'delete' => null
		);
	}
 
	public function getParamDescription(){
		return array (
			'insert' => 'page name to insert',
			'delete' => 'page name to delete'
		);
	}
 
	public function getDescription(){
		return array (
			'This module is used to insert data into, and delete date from, ',
			'the RPED page name table.'
		);
	}
 
	public function getVersion() {
		return __CLASS__ . ': $Id$';
	}
 
	public function displayRestrictionError(){
		echo("Access denied.");
	}
}

RPED.hooks.php[edit | edit source]

<?php
 
class RPEDHooks {
	public static function RPEDCreateTable( $updater = null ) {
		if ( $updater === null ) {
			global $wgExtNewTables;
			$wgExtNewTables[] = array(
				'rped_page',
				dirname( __FILE__ ) . '/rpedtable.sql'
			);
		} else {
			$updater->addExtensionUpdate( array( 'addTable', 'rped_page',
				dirname( __FILE__ ) . '/rpedtable.sql', true ) );
		}
		return true;
	}
 
	public static function wikipediaLink( $dummy, $target, &$text,
		&$customAttribs, &$query, &$options, &$ret
	) {
		global $wgLocalStyle, $wgRemoteStyle, $wgPureWikiDeletionInEffect
		, $wgTitle, $wgRequest, $wgRPEDBrokenLinkStyle, $wgRPEDExcludeNamespaced
		, $wgBlueLinkEverything, $wgRPEDExcludeNamespaces;
 
		// Exclude targets that go to certain namespaces
		if ( is_array( $wgRPEDExcludeNamespaces ) ) {
			if ( in_array( $target->getNamespace(), $wgRPEDExcludeNamespaces ) ) {
				return true;
			}
		}
 
		// RPED isn't active on special pages
		if ( $wgTitle->getNamespace () == -1 ) {
			return true;
		}
 
		if ( isset( $query['action'] ) && $query['action'] == 'history' ) {
			return true;
		}
 
		if ( $wgRequest->getText( 'action' ) == 'history' ) {
			return true;
		}
 
		$itIsBlank = false;
 
		// If it's an external link, see if it leads to Wikipedia, and
		// if so, whether that page exists on Wikipedia
		if ( $target->isExternal() ) {
			$interwikiURL = wfMsgExt( 'rped-wikipedia-url','parsemag');
			$dbr = wfGetDB( DB_SLAVE );
			$title = $target->getDBkey ();
 
			if ( strpos ( $title, ':' ) && $wgRPEDExcludeNamespaced ) {
				return true;
			}
 
			$interwikiPrefix = $target->getInterwiki ();
 
			if ( $wgBlueLinkEverything != true ) {
 
				$result = $dbr->selectRow(
					'interwiki',
					'iw_prefix',
					array( "iw_url" => $interwikiURL
					      , "iw_prefix" => $interwikiPrefix )
				);
			} else {
				$result = false;
			}
 
 
			if ( !$result ) {
				return true;
			}
 
			$result = $dbr->selectRow(
				'rped_page',
				'rped_page_id',
				array( "rped_page_title" => $title )
			);
			if ( !$result ) {
				$query['action'] = "edit";
				$customAttribs['style'] = $wgRPEDBrokenLinkStyle;
			}
			return true;
		}
		// Return immediately if we know it's existent on the local wiki
		if ( in_array( 'known', $options ) ) {
			if ( !isset( $query['action'] ) && !isset( $query['curid'] ) ) {
				$customAttribs['style'] = $wgLocalStyle;
			}
 
			if ( !isset( $wgPureWikiDeletionInEffect ) || $wgPureWikiDeletionInEffect != true ) {
				return true;
			}
 
			$dbr = wfGetDB( DB_SLAVE );
 
			/*$myRevision=Revision::loadFromTitle($dbr,$target);
			if ($myRevision->getRawText()!=''){*/
			$id = $target->getArticleID();
			$result = $dbr->selectRow(
				'blanked_page',
				'blank_page_id',
				array( "blank_page_id" => $id )
			);
			if ( !$result ) {
				return true;
			}
 
			$itIsBlank = true;
		}
 
		// If it doesn't exist on the local wiki, then see if it exists on the
		// remote wiki (Wikipedia)
		if ( in_array( 'broken', $options ) || $itIsBlank == true ) {
			$title = $target->getPrefixedText ();
			$fragment = htmlentities($target->getFragmentForURL());
 
			for ( $thiscount = 0; $thiscount < strlen( $title ); $thiscount++ ) {
				if ( substr( $title, $thiscount, 1 ) == ' ' ) {
					$title = substr_replace( $title, '_', $thiscount, 1 );
				}
			}
 
			if ( $wgBlueLinkEverything != true ) {
				$dbr = wfGetDB( DB_SLAVE );
				$result = $dbr->selectRow(
					'rped_page',
					'rped_page_id',
					array( "rped_page_title" => $title )
				);
			} else {
				$result = true;
			}
 
			if ( !$result ) {
				return true;
			} else {
				$newTitle = $target->getPrefixedURL ();
				#$title = urlencode ( $title );
				$url = wfMsgExt( 'rped-wikipedia-url','parsemag', $newTitle );
 
				// The page that we'll link to
				$text = '<a href="' . $url . $fragment. '">' . $text. '</a>';
 
				if ( $wgRemoteStyle != '' ) {
					$customAttribs['style'] = $wgRemoteStyle;
				}
			}
		}
		return true;
	}
}

RPED.i18n.php[edit | edit source]

<?php
/**
 * Internationalisation file for the RPED extension
 *
 * @file
 * @ingroup Extensions
 */
 
$messages = array();
 
/* English
 * @author Tisane
 */
$messages['en'] = array(
	'rped' => 'Remote page existence detection',
	'rped-desc' => 'Links wikilinks to Wikipedia if the page does not exist on the local wiki but exists on Wikipedia',
        'rped-wikipedia-url' => 'http://en.wikipedia.org/wiki/$1',
);
 
/** Message documentation (Message documentation)
 * @author Umherirrender
 */
$messages['qqq'] = array(
	'rped-desc' => '{{desc}}',
);
 
/** Belarusian (Taraškievica orthography) (‪Беларуская (тарашкевіца)‬)
 * @author EugeneZelenko
 * @author Jim-by
 */
$messages['be-tarask'] = array(
	'rped' => 'Выяўленьне існаваньня вонкавай старонкі',
	'rped-desc' => 'Устаўляе вікі-спасылкі на Вікіпэдыю, калі старонка не існуе ў лякальнай вікі, але існуе ў Вікіпэдыі',
	'rped-wikipedia-url' => 'http://be.wikipedia.org/wiki/$1',
);
 
/** Breton (Brezhoneg)
 * @author Fulup
 * @author Y-M D
 */
$messages['br'] = array(
	'rped' => 'Detektadur a-bell ar pajennoù zo anezho',
	'rped-desc' => "Liammañ a ra ar wikiliammoù ouzh Wikipedia ma n'eus ket eus ar bajenn war ar wiki lec'hel ha m'emañ war Wikipedia",
	'rped-wikipedia-url' => 'http://br.wikipedia.org/wiki/$1',
);
 
/** Bosnian (Bosanski)
 * @author CERminator
 */
$messages['bs'] = array(
	'rped' => 'Otkrivanje postojanja udaljenjih stranica',
	'rped-desc' => 'Povezuje wikilinkove na Wikipediju ako stranica ne postoji na lokalnoj wiki ali postoji na Wikipediji',
	'rped-wikipedia-url' => 'http://bs.wikipedia.org/wiki/$1',
);
 
/** German (Deutsch)
 * @author Kghbln
 */
$messages['de'] = array(
	'rped' => 'Ermittlung websitefremder Webseiten',
	'rped-desc' => 'Leitet Wikilinks zur Wikipedia, sofern die betreffende Seite nicht im lokalen Wiki, aber in der Wikipedia vorhanden ist',
	'rped-wikipedia-url' => 'http://de.wikipedia.org/wiki/$1',
);
 
/** Lower Sorbian (Dolnoserbski)
 * @author Michawiki
 */
$messages['dsb'] = array(
	'rped' => 'Namakanje eksistence zdalonego boka',
	'rped-desc' => 'Wótkazujo wikiwótkaze do Wikipedije, jolic bok njeeksistěrujo w lokalnem wikiju, ale eksistěrujo we Wikipediji',
	'rped-wikipedia-url' => 'http://dsb.wikipedia.org/wiki/$1',
);
 
/** Spanish (Español)
 * @author Pertile
 */
$messages['es'] = array(
	'rped' => 'Detección de existencia de página remota',
	'rped-desc' => 'Enlaza los wikienlaces a Wikipedia si la página no existe en la wiki local pero existe en Wikipedia',
	'rped-wikipedia-url' => 'http://es.wikipedia.org/wiki/$1',
);
 
/** Finnish (Suomi)
 * @author Silvonen
 */
$messages['fi'] = array(
	'rped-wikipedia-url' => 'http://fi.wikipedia.org/wiki/$1',
);
 
/** French (Français)
 * @author IAlex
 */
$messages['fr'] = array(
	'rped' => "Détection d'existence des pages à distance",
	'rped-desc' => "Lie les wikiliens vers Wikipédia si la page n'existe pas sur le wiki local mais existe sur Wikipédia",
	'rped-wikipedia-url' => 'http://fr.wikipedia.org/wiki/$1',
);
 
/** Franco-Provençal (Arpetan)
 * @author ChrisPtDe
 */
$messages['frp'] = array(
	'rped-wikipedia-url' => 'http://frp.wikipedia.org/wiki/$1',
);
 
/** Galician (Galego)
 * @author Toliño
 */
$messages['gl'] = array(
	'rped' => 'Detección remota da existencia de páxinas',
	'rped-desc' => 'Crea ligazóns cara á Wikipedia se a páxina non existe no wiki local pero si na Wikipedia',
	'rped-wikipedia-url' => 'http://gl.wikipedia.org/wiki/$1',
);
 
/** Swiss German (Alemannisch)
 * @author Als-Holder
 */
$messages['gsw'] = array(
	'rped' => 'Erkännig vu främde Netzsyte',
	'rped-desc' => 'Leitet Wikilinks uf d Wikipedia, wänn die Syte nit im lokale Wiki git, derfir aber in dr Wikipedia',
	'rped-wikipedia-url' => 'http://gsw.wikipedia.org/wiki/$1',
);
 
/** Hebrew (עברית)
 * @author Amire80
 */
$messages['he'] = array(
	'rped' => 'זיהוי קיום של דף מרוחק',
	'rped-desc' => 'מקשר קישורים פנימיים לוויקיפדיה אם הדף אינו קיים בוויקי המקומי, אבל כן קיים בוויקיפדיה',
	'rped-wikipedia-url' => 'http://he.wikipedia.org/wiki/$1',
);
 
/** Upper Sorbian (Hornjoserbsce)
 * @author Michawiki
 */
$messages['hsb'] = array(
	'rped' => 'Wotkryće eksistency zdaleneje strony',
	'rped-desc' => 'Wotkazuje wikiwotkazy do Wikipedije, jeli strona njeeksistuje w lokalnym wikiju, ale eksistuje we Wikipediji',
	'rped-wikipedia-url' => 'http://hsb.wikipedia.org/wiki/$1',
);
 
/** Hungarian (Magyar)
 * @author Glanthor Reviol
 */
$messages['hu'] = array(
	'rped' => 'Ellenőrzi, hogy egy távoli lap létezik-e',
	'rped-desc' => 'A wikilinkeket a Wikipédiára irányítja, ha a lap nem létezik a helyi wikiben, de a Wikipédián igen',
	'rped-wikipedia-url' => 'http://hu.wikipedia.org/wiki/$1',
);
 
/** Interlingua (Interlingua)
 * @author McDutchie
 */
$messages['ia'] = array(
	'rped' => 'Detection del existentia de paginas remote',
	'rped-desc' => 'Face wiki-ligamines a Wikipedia si le pagina non existe in le wiki local ma existe in Wikipedia',
	'rped-wikipedia-url' => 'http://ia.wikipedia.org/wiki/$1',
);
 
/** Indonesian (Bahasa Indonesia)
 * @author Farras
 * @author Kenrick95
 */
$messages['id'] = array(
	'rped' => 'Pelacakan keberadaan halaman jauh',
	'rped-desc' => 'Menghubungkan pranala wiki ke Wikipedia bila halaman tidak ada di wiki setempat tetapi ada di Wikipedia',
	'rped-wikipedia-url' => 'http://id.wikipedia.org/wiki/$1',
);
 
/** Italian (Italiano)
 * @author Beta16
 * @author Gianfranco
 */
$messages['it'] = array(
	'rped' => 'Verifica esistenza di pagina remota',
	'rped-desc' => 'Aggiunge un collegamento a Wikipedia se la pagina non esiste sulla wiki locale ma esiste su Wikipedia',
	'rped-wikipedia-url' => 'http://it.wikipedia.org/wiki/$1',
);
 
/** Japanese (日本語)
 * @author Fryed-peach
 * @author 青子守歌
 */
$messages['ja'] = array(
	'rped' => '遠隔ページ存在検出',
	'rped-desc' => 'ページがローカルのウィキに存在しないがウィキペディアに存在する場合に、そのウィキリンクをウィキペディアにリンクする',
	'rped-wikipedia-url' => 'http://ja.wikipedia.org/wiki/$1',
);
 
/** Colognian (Ripoarisch)
 * @author Purodha
 */
$messages['ksh'] = array(
	'rped' => 'Sigge en ander Webßaits fenge',
	'rped-desc' => 'Lengk Wikilengks op de Wikipedija öm, wann et en passende Sigg heh em Wiki nit jitt.',
	'rped-wikipedia-url' => 'http://ksh.wikipedia.org/wiki/$1',
);
 
/** Kurdish (Latin) (Kurdî (Latin))
 * @author George Animal
 */
$messages['ku-latn'] = array(
	'rped-wikipedia-url' => 'http://ku.wikipedia.org/wiki/$1',
);
 
/** Ladino (Ladino)
 * @author Universal Life
 */
$messages['lad'] = array(
	'rped' => 'Deteksyón de la egzistensya de hoja lexano',
	'rped-desc' => 'Linkea los vikilinkes a la Vikipedya si la hoja no egzista en el viki local ma egziste en la Vikipedya',
	'rped-wikipedia-url' => 'http://lad.wikipedia.org/wiki/$1',
);
 
/** Luxembourgish (Lëtzebuergesch)
 * @author Robby
 */
$messages['lb'] = array(
	'rped' => 'Entdecke vu Säiten op externe Siten',
	'rped-desc' => "Viruleedung vu Wikilinken op Wikipedia wann et d'Säit an där lokaler Wiki net gëtt awer wann et se op Wikipedia gëtt",
	'rped-wikipedia-url' => 'http://lb.wikipedia.org/wiki/$1',
);
 
/** Macedonian (Македонски)
 * @author Bjankuloski06
 */
$messages['mk'] = array(
	'rped' => 'Пронаоѓач на постоечка надворешна страница',
	'rped-desc' => 'Поврзува викиврски со Википедија ако страницата не постои на локалното вики, но постои на Википедија',
	'rped-wikipedia-url' => 'http://mk.wikipedia.org/wiki/$1',
);
 
/** Dutch (Nederlands)
 * @author Siebrand
 */
$messages['nl'] = array(
	'rped' => "Detectie van pagina's in andere wiki's",
	'rped-desc' => 'Verwijst naar Wikipedia als de pagina niet bestaat in de lokale wiki maar wel in Wikipedia',
	'rped-wikipedia-url' => 'http://nl.wikipedia.org/wiki/$1',
);
 
/** Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
 * @author Nghtwlkr
 */
$messages['no'] = array(
	'rped' => 'Eksistensdeteksjon av eksterne sider',
	'rped-desc' => 'Lenker wikilenker til Wikipedia om siden ikke finnes på den lokale wikien men finnes på Wikipedia',
	'rped-wikipedia-url' => 'http://no.wikipedia.org/wiki/$1',
);
 
/** Occitan (Occitan)
 * @author Cedric31
 */
$messages['oc'] = array(
	'rped' => "Deteccion d'existéncia de las paginas a distància",
	'rped-desc' => 'Liga los wikiligams cap a Wikipèdia se la pagina existís pas sul wiki local mas existís sus Wikipèdia',
);
 
/** Polish (Polski)
 * @author Sp5uhe
 */
$messages['pl'] = array(
	'rped' => 'Wykrywa obecność zewnętrznej strony',
	'rped-desc' => 'Linkuje linki wiki do Wikipedii jeśli strona nie istnieje w lokalnej wiki, ale jest w Wikipedii',
	'rped-wikipedia-url' => 'http://pl.wikipedia.org/wiki/$1',
);
 
/** Piedmontese (Piemontèis)
 * @author Borichèt
 */
$messages['pms'] = array(
	'rped' => "Determinassion d'esistensa dle pàgine a distansa",
	'rped-desc' => "A colega j'anliure wiki a Wikipedia se la pàgina a esist pa an sla wiki local ma a esist dzora a Wikipedia",
	'rped-wikipedia-url' => 'http://pms.wikipedia.org/wiki/$1',
);
 
/** Pashto (پښتو)
 * @author Ahmed-Najib-Biabani-Ibrahimkhel
 */
$messages['ps'] = array(
	'rped-wikipedia-url' => 'http://ps.wikipedia.org/wiki/$1',
);
 
/** Portuguese (Português)
 * @author Hamilton Abreu
 */
$messages['pt'] = array(
	'rped' => 'Detecção da existência de páginas remotas',
	'rped-desc' => 'Liga um link à Wikipédia, se a página de destino não existe na wiki local mas existe na Wikipédia',
	'rped-wikipedia-url' => 'http://pt.wikipedia.org/wiki/$1',
);
 
/** Brazilian Portuguese (Português do Brasil)
 * @author Giro720
 */
$messages['pt-br'] = array(
	'rped' => 'Detecção da existência de páginas remotas',
	'rped-desc' => 'Liga um link à Wikipédia, se a página de destino não existir na wiki local mas existir na Wikipédia',
	'rped-wikipedia-url' => 'http://pt.wikipedia.org/wiki/$1',
);
 
/** Russian (Русский)
 * @author Александр Сигачёв
 */
$messages['ru'] = array(
	'rped' => 'Обнаружение существования внешней страницы',
	'rped-desc' => 'Ставит вики-ссылки на Википедию, если страницы не существует в локальной вики, но она присутствует в Википедии',
	'rped-wikipedia-url' => 'http://ru.wikipedia.org/wiki/$1',
);
 
/** Tagalog (Tagalog)
 * @author AnakngAraw
 */
$messages['tl'] = array(
	'rped' => 'Pangtuklas ng pag-iral ng malayong pahina',
	'rped-desc' => 'Nagkakawing ng mga ng kawing na pangwika sa Wikipedia kapag hindi umiiral ang pahina sa katutubong wiki subalit umiiral sa Wikipedia',
	'rped-wikipedia-url' => 'http://tl.wikipedia.org/wiki/$1',
);
 
/** Turkish (Türkçe)
 * @author Universal Life
 */
$messages['tr'] = array(
	'rped-wikipedia-url' => 'http://tr.wikipedia.org/wiki/$1',
);

rpedtable.sql[edit | edit source]

BEGIN;
 
CREATE TABLE rped_page(
rped_page_id                     INT NOT NULL AUTO_INCREMENT,
rped_page_title                  VARCHAR(256),
PRIMARY KEY (rped_page_id)
)
CHARACTER SET utf8 COLLATE utf8_unicode_ci;
 
CREATE INDEX rped_page_id ON          rped_page (rped_page_id);
CREATE INDEX rped_page_title ON       rped_page (rped_page_title);
 
COMMIT;

External link[edit | edit source]