http://www.mediawiki.org/wiki/Special:Code/MediaWiki/89899
Revision: 89899
Author: robin
Date: 2011-06-11 23:02:13 +0000 (Sat, 11 Jun 2011)
Log Message:
-----------
* Ability to choose which test wiki for RandomByTest
* Small fixes for ViewUserLang
* Validate prefix in recent changes (if invalid, show all recent changes)
Modified Paths:
--------------
trunk/extensions/WikimediaIncubator/IncubatorTest.php
trunk/extensions/WikimediaIncubator/SpecialRandomByTest.php
trunk/extensions/WikimediaIncubator/SpecialViewUserLang.php
trunk/extensions/WikimediaIncubator/TestWikiRC.php
trunk/extensions/WikimediaIncubator/WikimediaIncubator.php
Modified: trunk/extensions/WikimediaIncubator/IncubatorTest.php
===================================================================
--- trunk/extensions/WikimediaIncubator/IncubatorTest.php 2011-06-11
22:14:03 UTC (rev 89898)
+++ trunk/extensions/WikimediaIncubator/IncubatorTest.php 2011-06-11
23:02:13 UTC (rev 89899)
@@ -104,7 +104,7 @@
*/
static function validatePrefix( $title, $onlyprefix = false ) {
$data = self::analyzePrefix( $title, $onlyprefix );
- if( isset( $data['error'] ) ) { return true; }
+ if( !isset( $data['error'] ) ) { return true; }
return false;
}
@@ -252,7 +252,7 @@
static function efLoadViewUserLangLink( $id, $nt, &$links ) {
global $wgUser;
if ( $wgUser->isAllowed( 'viewuserlang' ) ) {
- $user = wfUrlencode( $nt->getText() );
+ $user = $nt->getText();
$links[] = $wgUser->getSkin()->link(
SpecialPage::getTitleFor( 'ViewUserLang', $user
),
wfMsgHtml( 'wminc-viewuserlang' )
Modified: trunk/extensions/WikimediaIncubator/SpecialRandomByTest.php
===================================================================
--- trunk/extensions/WikimediaIncubator/SpecialRandomByTest.php 2011-06-11
22:14:03 UTC (rev 89898)
+++ trunk/extensions/WikimediaIncubator/SpecialRandomByTest.php 2011-06-11
23:02:13 UTC (rev 89899)
@@ -7,11 +7,15 @@
class SpecialRandomByTest extends RandomPage
{
public function __construct() {
- global $wgUser, $wmincPref, $wmincProjectSite;
- if( IncubatorTest::isContentProject() ) {
+ global $wgUser, $wgRequest, $wmincPref, $wmincProjectSite;
+ $target = $wgRequest->getVal( 'testwiki' );
+ $target = IncubatorTest::analyzePrefix( $target );
+ $project = ( isset( $target['project'] ) ? $target['project'] :
'' );
+ $lang = ( isset( $target['lang'] ) ? $target['lang'] : '' );
+ if( IncubatorTest::isContentProject() || ($project && $lang) ) {
$dbr = wfGetDB( DB_SLAVE );
$this->extra[] = 'page_title' .
- $dbr->buildLike( IncubatorTest::displayPrefix()
. '/', $dbr->anyString() );
+ $dbr->buildLike( IncubatorTest::displayPrefix(
$project, $lang ) . '/', $dbr->anyString() );
} elseif($wgUser->getOption($wmincPref . '-project') ==
$wmincProjectSite['short'] ) {
global $wgVersion;
// only works above MW 1.17
Modified: trunk/extensions/WikimediaIncubator/SpecialViewUserLang.php
===================================================================
--- trunk/extensions/WikimediaIncubator/SpecialViewUserLang.php 2011-06-11
22:14:03 UTC (rev 89898)
+++ trunk/extensions/WikimediaIncubator/SpecialViewUserLang.php 2011-06-11
23:02:13 UTC (rev 89899)
@@ -70,12 +70,15 @@
global $wgOut, $wmincPref, $wmincProjectSite, $wgUser;
$sk = $wgUser->getSkin();
$user = User::newFromName( $target );
+ $name = $user->getName();
+ $id = $user->getId();
$langNames = Language::getLanguageNames();
- if ( $user == null || $user->getId() == 0 ) {
+ if ( $user == null || $id == 0 ) {
// show error if a user with that name does not exist
$wgOut->addHTML( Xml::span( wfMsg(
'wminc-userdoesnotexist', $target ), 'error' ) );
} else {
$userproject = $user->getOption( $wmincPref .
'-project' );
+ $userproject = ($userproject ? $userproject : 'none');
$usercode = $user->getOption( $wmincPref . '-code' );
$prefix = IncubatorTest::displayPrefix( $userproject,
$usercode );
if ( IncubatorTest::isContentProject( $userproject ) ) {
@@ -85,11 +88,10 @@
} else {
$testwiki = wfMsgHtml( 'wminc-testwiki-none' );
}
- $name = $user->getName();
$wgOut->addHtml(
Xml::openElement( 'ul' ) .
'<li>' . wfMsgHtml( 'username' ) . ' ' .
- $sk->userLink( $name, $name ) .
$sk->userToolLinks( $name, $name ) . '</li>' .
+ $sk->userLink( $id, $name ) .
$sk->userToolLinks( $id, $name, true ) . '</li>' .
'<li>' . wfMsgHtml( 'loginlanguagelabel',
$langNames[$user->getOption( 'language' )] .
' (' . $user->getOption( 'language' ) .
')' ) . '</li>' .
'<li>' . wfMsgHtml( 'wminc-testwiki' ) . ' ' .
$testwiki . '</li>' .
Modified: trunk/extensions/WikimediaIncubator/TestWikiRC.php
===================================================================
--- trunk/extensions/WikimediaIncubator/TestWikiRC.php 2011-06-11 22:14:03 UTC
(rev 89898)
+++ trunk/extensions/WikimediaIncubator/TestWikiRC.php 2011-06-11 23:02:13 UTC
(rev 89899)
@@ -20,12 +20,14 @@
// If project site is selected, display all changes
except test wiki changes
$dbr = wfGetDB( DB_SLAVE );
$conds[] = 'rc_title NOT ' . $dbr->buildLike( 'W',
$dbr->anyChar(), '/', $dbr->anyString() );
- } else {
+ } elseif( IncubatorTest::validatePrefix( $prefix, true ) ) {
// Else, display changes to the selected test wiki in
the appropriate namespaces
$dbr = wfGetDB( DB_SLAVE );
$conds['rc_namespace'] = $wmincTestWikiNamespaces;
$conds[] = 'rc_title ' . $dbr->buildLike( $prefix .
'/', $dbr->anyString() ) .
' OR rc_title = ' . $dbr->addQuotes( $prefix );
+ } else {
+ return true;
}
return true;
}
Modified: trunk/extensions/WikimediaIncubator/WikimediaIncubator.php
===================================================================
--- trunk/extensions/WikimediaIncubator/WikimediaIncubator.php 2011-06-11
22:14:03 UTC (rev 89898)
+++ trunk/extensions/WikimediaIncubator/WikimediaIncubator.php 2011-06-11
23:02:13 UTC (rev 89899)
@@ -13,7 +13,7 @@
'path' => __FILE__,
'name' => 'Wikimedia Incubator',
'author' => 'SPQRobin',
- 'version' => '3.1.0',
+ 'version' => '3.1.1',
'url' => 'http://www.mediawiki.org/wiki/Extension:WikimediaIncubator',
'descriptionmsg' => 'wminc-desc',
);
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs