Only in mediawiki-1.3.0beta4: LocalSettings.php diff -ur mediawiki-1.3.0beta4_orig/includes/Article.php mediawiki-1.3.0beta4/includes/Article.php --- mediawiki-1.3.0beta4_orig/includes/Article.php 2004-06-26 18:05:26.000000000 -0600 +++ mediawiki-1.3.0beta4/includes/Article.php 2004-07-07 20:47:13.000000000 -0600 @@ -1833,6 +1833,62 @@ /* static */ function onArticleEdit($title_obj){ LinkCache::linksccClearPage( $title_obj->getArticleID() ); } + + # Info about this page + + function info() + { + global $wgUser, $wgTitle, $wgOut, $wgLang; + + $basenamespace = $wgTitle->getNamespace() & (~1); + $fullTitle = $wgTitle->makeName($basenamespace, + $wgTitle->getDBKey()); + $wgOut->setPagetitle( $fullTitle ); + $wgOut->setSubtitle( wfMsg( "infosubtitle" )); + $sql = "SELECT COUNT(*) FROM watchlist WHERE wl_title = '" . + $wgTitle->getDBkey() . "' AND wl_namespace = " . + $basenamespace; + $wgOut->addHTML( wfMsg("numwatchers") . wfSingleQuery( $sql, DB_READ ) . "
" ); + $sql = "SELECT COUNT(*) FROM old WHERE old_title = '" . + $wgTitle->getDBkey() . "' AND old_namespace = " . + $basenamespace; + $old = wfSingleQuery( $sql, DB_READ ); + $sql = "SELECT COUNT(*) FROM cur WHERE cur_title = '" . + $wgTitle->getDBkey() . "' AND cur_namespace = " . + $basenamespace; + $new = wfSingleQuery( $sql , DB_READ ); + $wgOut->addHTML( wfMsg("numedits") . ($old + $new) . "
"); + $sql = "SELECT old_user FROM old WHERE old_title = '" . + $wgTitle->getDBkey() . "' AND old_namespace = " . + $basenamespace . + " UNION SELECT cur_user FROM cur WHERE cur_title = '" . + $wgTitle->getDBkey() . "' AND cur_namespace = " . + $basenamespace; + $res = wfQuery( $sql, DB_READ); + $authors = wfNumRows( $res ); + wfFreeResult($res); + $wgOut->addHTML( wfMsg("numauthors") . $authors . "
" ); + $sql = "SELECT COUNT(*) from old where old_title = '" . + $wgTitle->getDBkey() . "' AND old_namespace = " . + ($basenamespace+1); + $old = wfSingleQuery( $sql , DB_READ); + $sql = "SELECT COUNT(*) from cur where cur_title = '" . + $wgTitle->getDBkey() . "' AND cur_namespace = " . + ($basenamespace+1); + $new = wfSingleQuery( $sql, DB_READ ); + $wgOut->addHTML( wfMsg("numtalkedits") . ($old + $new) . "
"); + $sql = "SELECT old_user FROM old WHERE old_title = '" . + $wgTitle->getDBkey() . "' AND old_namespace = " . + ($basenamespace + 1). + " UNION SELECT cur_user FROM cur WHERE cur_title = '" . + $wgTitle->getDBkey() . "' AND cur_namespace = " . + ($basenamespace + 1); + $res = wfQuery( $sql ,DB_READ ); + $authors = wfNumRows( $res ); + wfFreeResult($res); + $wgOut->addHTML( wfMsg("numtalkauthors") . $authors ); + + } } ?> diff -ur mediawiki-1.3.0beta4_orig/includes/DatabaseFunctions.php mediawiki-1.3.0beta4/includes/DatabaseFunctions.php --- mediawiki-1.3.0beta4_orig/includes/DatabaseFunctions.php 2004-06-26 18:05:26.000000000 -0600 +++ mediawiki-1.3.0beta4/includes/DatabaseFunctions.php 2004-07-07 20:53:44.000000000 -0600 @@ -39,6 +39,15 @@ } } +function wfSingleQuery( $sql, $db, $fname = "" ) +{ + $res = wfQuery($sql, $db, $fname ); + $row = wfFetchRow( $res ); + $ret = $row[0]; + wfFreeResult( $res ); + return $ret; +} + function &wfGetDB( $db = DB_LAST ) { global $wgLoadBalancer; diff -ur mediawiki-1.3.0beta4_orig/index.php mediawiki-1.3.0beta4/index.php --- mediawiki-1.3.0beta4_orig/index.php 2004-06-26 18:05:24.000000000 -0600 +++ mediawiki-1.3.0beta4/index.php 2004-07-07 20:40:48.000000000 -0600 @@ -108,6 +108,7 @@ case "rollback": case "protect": case "unprotect": + case "info": $wgArticle->$action(); break; case "print": diff -ur mediawiki-1.3.0beta4_orig/languages/Language.php mediawiki-1.3.0beta4/languages/Language.php --- mediawiki-1.3.0beta4_orig/languages/Language.php 2004-06-26 18:05:28.000000000 -0600 +++ mediawiki-1.3.0beta4/languages/Language.php 2004-07-07 20:54:58.000000000 -0600 @@ -1300,6 +1300,14 @@ 'categoryarticlecount' => "There are $1 articles in this category.", 'usenewcategorypage' => "1\n\nSet first character to \"0\" to disable the new category page layout.", +# Info page +"infosubtitle" => "Information for page", +"numedits" => "Number of Article Edits: ", +"numtalkedits" => "Number of Talk Edits: ", +"numwatchers" => "Number of Watchers: ", +"numauthors" => "Number of Article Authors: ", +"numtalkauthors" => "Number of Talk Authors: ", + # Monobook.js: tooltips and access keys for monobook 'Monobook.js' => '/* tooltips and access keys */ ta = new Object();