From 0bac06c301f2a83edb0236e4c2434da16848d549 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sun, 15 Apr 2007 09:19:03 +0000 Subject: =?UTF-8?q?NewPages-Extension=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/NewPages.php | 107 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 extensions/NewPages.php (limited to 'extensions/NewPages.php') diff --git a/extensions/NewPages.php b/extensions/NewPages.php new file mode 100644 index 00000000..f11fb19c --- /dev/null +++ b/extensions/NewPages.php @@ -0,0 +1,107 @@ + +# limit=10 +# +# +# where limit is the maximum number of new pages to show. +# +# To activate the extension, include it from your LocalSettings.php +# with: require_once("extensions/NewPages.php"); +# +# Author: Michael Meffie +# Date: Jan 17 2006 +# Credits: This extension was derived from SpecialNewpages.php. +# License: GPL v2.0 +# + +$wgExtensionFunctions[] = "wfNewPagesExtension"; + +$wgExtensionCredits['parserhook'][] = array( + 'name' => 'NewPages', + 'author' => 'Michael Meffie', + 'url' => 'http://meta.wikimedia.org/wiki/User:Meffiem', +); + +function wfNewPagesExtension() { + global $wgParser; + $wgParser->setHook( "newpages", "renderNewPages" ); +} + +function renderNewPages( $input, $args=null, &$parser) { + $localParser = new Parser(); + + $output = "
Keine neuen Seiten
"; + $limit = 5; + getBoxOption($limit,$input,'limit',true); + + $dbr =& wfGetDB( DB_SLAVE ); + extract( $dbr->tableNames( 'recentchanges', 'page' ) ); + + $query_limit = $limit + 1; # to determine if we should display (more...) + $sql = "SELECT rc_namespace AS namespace, + rc_title AS title, + rc_cur_id AS value, + rc_user AS user, + rc_user_text AS user_text, + rc_comment as comment, + rc_timestamp AS timestamp, + rc_id AS rcid, + page_len as length, + page_latest as rev_id + FROM $recentchanges,$page + WHERE rc_cur_id=page_id AND rc_new=1 + AND rc_namespace=".NS_MAIN." AND page_is_redirect=0 + ORDER BY value DESC + LIMIT $query_limit"; + + $result = $dbr->query( $sql ); + $num = $dbr->numRows( $result ); + if ($num > 0) { + $output = "\n"; + } + + $dbr->freeResult( $result ); + +return $output; +} + +function formatRow( $row ) { + global $wgLang, $wgUser; + + $skin = $wgUser->getSkin(); + $link = $skin->makeKnownLink( $row->title, '' ); + $d = $wgLang->date( $row->timestamp, true ); + + $s = "$link, $d"; + return $s; +} + +function getBoxOption(&$value,&$input,$name,$isNumber=false) { + if(preg_match("/^\s*$name\s*=\s*(.*)/mi",$input,$matches)) { + if($isNumber) { + $value=intval($matches[1]); + } else { + $value=htmlspecialchars($matches[1]); + } + } +} + +?> \ No newline at end of file -- cgit v1.2.2