r65801 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r65800‎ | r65801 | r65802 >
Date:12:25, 2 May 2010
Author:reedy
Status:deferred
Tags:
Comment:
querypage-work2: phase3 65720-65774
Modified paths:
  • /branches/querypage-work2/phase3 (modified) (history)
  • /branches/querypage-work2/phase3/RELEASE-NOTES (modified) (history)
  • /branches/querypage-work2/phase3/includes (modified) (history)
  • /branches/querypage-work2/phase3/includes/Article.php (modified) (history)
  • /branches/querypage-work2/phase3/includes/ChangesList.php (modified) (history)
  • /branches/querypage-work2/phase3/includes/ConfEditor.php (modified) (history)
  • /branches/querypage-work2/phase3/includes/DefaultSettings.php (modified) (history)
  • /branches/querypage-work2/phase3/includes/HistoryPage.php (modified) (history)
  • /branches/querypage-work2/phase3/includes/OutputPage.php (modified) (history)
  • /branches/querypage-work2/phase3/includes/api (modified) (history)
  • /branches/querypage-work2/phase3/includes/json/Services_JSON.php (modified) (history)
  • /branches/querypage-work2/phase3/includes/specials (modified) (history)
  • /branches/querypage-work2/phase3/includes/specials/SpecialCategories.php (modified) (history)
  • /branches/querypage-work2/phase3/includes/specials/SpecialDeadendpages.php (modified) (history)
  • /branches/querypage-work2/phase3/includes/specials/SpecialUserlogin.php (modified) (history)
  • /branches/querypage-work2/phase3/includes/templates/Userlogin.php (modified) (history)
  • /branches/querypage-work2/phase3/languages/Names.php (modified) (history)
  • /branches/querypage-work2/phase3/languages/messages/MessagesEs.php (modified) (history)
  • /branches/querypage-work2/phase3/languages/messages/MessagesId.php (modified) (history)
  • /branches/querypage-work2/phase3/languages/messages/MessagesKrc.php (modified) (history)
  • /branches/querypage-work2/phase3/languages/messages/MessagesLa.php (modified) (history)
  • /branches/querypage-work2/phase3/languages/messages/MessagesLmo.php (modified) (history)
  • /branches/querypage-work2/phase3/languages/messages/MessagesPl.php (modified) (history)
  • /branches/querypage-work2/phase3/languages/messages/MessagesPt_br.php (modified) (history)
  • /branches/querypage-work2/phase3/languages/messages/MessagesRgn.php (modified) (history)
  • /branches/querypage-work2/phase3/languages/messages/MessagesUk.php (modified) (history)
  • /branches/querypage-work2/phase3/languages/messages/MessagesUr.php (modified) (history)
  • /branches/querypage-work2/phase3/languages/messages/MessagesXal.php (modified) (history)
  • /branches/querypage-work2/phase3/maintenance/cleanupTable.inc (modified) (history)
  • /branches/querypage-work2/phase3/maintenance/deleteSelfExternals.php (modified) (history)
  • /branches/querypage-work2/phase3/maintenance/populateRevisionLength.php (modified) (history)
  • /branches/querypage-work2/phase3/maintenance/tests/UploadFromUrlTest.php (modified) (history)
  • /branches/querypage-work2/phase3/maintenance/tests/UploadFromUrlTestSuite.php (added) (history)
  • /branches/querypage-work2/phase3/maintenance/tests/phpunit.xml (modified) (history)
  • /branches/querypage-work2/phase3/skins/common/jquery.js (modified) (history)
  • /branches/querypage-work2/phase3/skins/common/jquery.min.js (modified) (history)
  • /branches/querypage-work2/phase3/skins/common/wikibits.js (modified) (history)

Diff [purge]

Property changes on: branches/querypage-work2/phase3/maintenance/deleteSelfExternals.php
___________________________________________________________________
Modified: svn:mergeinfo
11 Merged /trunk/phase3/maintenance/deleteSelfExternals.php:r65720,65729,65754,65757-65758,65760,65764-65765,65774
Index: branches/querypage-work2/phase3/maintenance/tests/UploadFromUrlTestSuite.php
@@ -0,0 +1,168 @@
 2+<?php
 3+
 4+require_once('UploadFromUrlTest.php');
 5+
 6+class UploadFromUrlTestSuite extends PHPUnit_Framework_TestSuite
 7+{
 8+ public static function addTables(&$tables) {
 9+ $tables[] = 'user_properties';
 10+ $tables[] = 'filearchive';
 11+ $tables[] = 'logging';
 12+ $tables[] = 'updatelog';
 13+ $tables[] = 'iwlinks';
 14+ return true;
 15+ }
 16+
 17+ function setUp() {
 18+ global $wgParser, $wgParserConf, $IP, $messageMemc, $wgMemc, $wgDeferredUpdateList,
 19+ $wgUser, $wgLang, $wgOut, $wgRequest, $wgStyleDirectory, $wgEnableParserCache,
 20+ $wgMessageCache, $wgUseDatabaseMessages, $wgMsgCacheExpiry, $parserMemc,
 21+ $wgNamespaceAliases, $wgNamespaceProtection, $wgLocalFileRepo,
 22+ $wgNamespacesWithSubpages, $wgThumbnailScriptPath, $wgScriptPath,
 23+ $wgArticlePath, $wgStyleSheetPath, $wgScript, $wgStylePath;
 24+
 25+ $wgScript = '/index.php';
 26+ $wgScriptPath = '/';
 27+ $wgArticlePath = '/wiki/$1';
 28+ $wgStyleSheetPath = '/skins';
 29+ $wgStylePath = '/skins';
 30+ $wgThumbnailScriptPath = false;
 31+ $wgLocalFileRepo = array(
 32+ 'class' => 'LocalRepo',
 33+ 'name' => 'local',
 34+ 'directory' => 'test-repo',
 35+ 'url' => 'http://example.com/images',
 36+ 'hashLevels' => 2,
 37+ 'transformVia404' => false,
 38+ );
 39+ $wgNamespaceProtection[NS_MEDIAWIKI] = 'editinterface';
 40+ $wgNamespaceAliases['Image'] = NS_FILE;
 41+ $wgNamespaceAliases['Image_talk'] = NS_FILE_TALK;
 42+
 43+
 44+ $wgEnableParserCache = false;
 45+ $wgDeferredUpdateList = array();
 46+ $wgMemc =& wfGetMainCache();
 47+ $messageMemc =& wfGetMessageCacheStorage();
 48+ $parserMemc =& wfGetParserCacheStorage();
 49+
 50+ $wgContLang = new StubContLang;
 51+ $wgUser = new StubUser;
 52+ $wgLang = new StubUserLang;
 53+ $wgOut = new StubObject( 'wgOut', 'OutputPage' );
 54+ $wgParser = new StubObject( 'wgParser', $wgParserConf['class'], array( $wgParserConf ) );
 55+ $wgRequest = new WebRequest;
 56+
 57+ $wgMessageCache = new StubObject( 'wgMessageCache', 'MessageCache',
 58+ array( $messageMemc, $wgUseDatabaseMessages,
 59+ $wgMsgCacheExpiry, wfWikiID() ) );
 60+ if( $wgStyleDirectory === false) $wgStyleDirectory = "$IP/skins";
 61+
 62+ }
 63+
 64+ public function tearDown() {
 65+ $this->teardownUploadDir($this->uploadDir);
 66+ }
 67+
 68+ private $uploadDir;
 69+ private $keepUploads;
 70+ /**
 71+ * Remove the dummy uploads directory
 72+ */
 73+ private function teardownUploadDir( $dir ) {
 74+ if ( $this->keepUploads ) {
 75+ return;
 76+ }
 77+
 78+ // delete the files first, then the dirs.
 79+ self::deleteFiles(
 80+ array (
 81+ "$dir/3/3a/Foobar.jpg",
 82+ "$dir/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg",
 83+ "$dir/thumb/3/3a/Foobar.jpg/200px-Foobar.jpg",
 84+ "$dir/thumb/3/3a/Foobar.jpg/640px-Foobar.jpg",
 85+ "$dir/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg",
 86+
 87+ "$dir/0/09/Bad.jpg",
 88+ )
 89+ );
 90+
 91+ self::deleteDirs(
 92+ array (
 93+ "$dir/3/3a",
 94+ "$dir/3",
 95+ "$dir/thumb/6/65",
 96+ "$dir/thumb/6",
 97+ "$dir/thumb/3/3a/Foobar.jpg",
 98+ "$dir/thumb/3/3a",
 99+ "$dir/thumb/3",
 100+
 101+ "$dir/0/09/",
 102+ "$dir/0/",
 103+
 104+ "$dir/thumb",
 105+ "$dir",
 106+ )
 107+ );
 108+ }
 109+
 110+
 111+ /**
 112+ * Delete the specified files, if they exist.
 113+ * @param array $files full paths to files to delete.
 114+ */
 115+ private static function deleteFiles( $files ) {
 116+ foreach( $files as $file ) {
 117+ if( file_exists( $file ) ) {
 118+ unlink( $file );
 119+ }
 120+ }
 121+ }
 122+ /**
 123+ * Delete the specified directories, if they exist. Must be empty.
 124+ * @param array $dirs full paths to directories to delete.
 125+ */
 126+ private static function deleteDirs( $dirs ) {
 127+ foreach( $dirs as $dir ) {
 128+ if( is_dir( $dir ) ) {
 129+ rmdir( $dir );
 130+ }
 131+ }
 132+ }
 133+
 134+ /**
 135+ * Create a dummy uploads directory which will contain a couple
 136+ * of files in order to pass existence tests.
 137+ * @return string The directory
 138+ */
 139+ private function setupUploadDir() {
 140+ global $IP;
 141+ if ( $this->keepUploads ) {
 142+ $dir = wfTempDir() . '/mwParser-images';
 143+ if ( is_dir( $dir ) ) {
 144+ return $dir;
 145+ }
 146+ } else {
 147+ $dir = wfTempDir() . "/mwParser-" . mt_rand() . "-images";
 148+ }
 149+
 150+ wfDebug( "Creating upload directory $dir\n" );
 151+ if ( file_exists( $dir ) ) {
 152+ wfDebug( "Already exists!\n" );
 153+ return $dir;
 154+ }
 155+ wfMkdirParents( $dir . '/3/3a' );
 156+ copy( "$IP/skins/monobook/headbg.jpg", "$dir/3/3a/Foobar.jpg" );
 157+
 158+ wfMkdirParents( $dir . '/0/09' );
 159+ copy( "$IP/skins/monobook/headbg.jpg", "$dir/0/09/Bad.jpg" );
 160+ return $dir;
 161+ }
 162+
 163+ public static function suite()
 164+ {
 165+ return new UploadFromUrlTestSuite('UploadFromUrlTest');
 166+ }
 167+
 168+}
 169+
Property changes on: branches/querypage-work2/phase3/maintenance/tests/UploadFromUrlTestSuite.php
___________________________________________________________________
Added: svn:eol-style
1170 + native
Added: svn:eol-syle
2171 + native
Index: branches/querypage-work2/phase3/maintenance/tests/UploadFromUrlTest.php
@@ -13,9 +13,10 @@
1414 class UploadFromUrlTest extends ApiSetup {
1515
1616 function setUp() {
17 - global $wgEnableUploads, $wgLocalFileRepo;
 17+ global $wgEnableUploads, $wgLocalFileRepo, $wgAllowCopyUploads;
1818
1919 $wgEnableUploads = true;
 20+ $wgAllowCopyUploads = true;
2021 parent::setup();
2122 $wgLocalFileRepo = array(
2223 'class' => 'LocalRepo',
@@ -172,7 +173,7 @@
173174 $job = Job::pop();
174175 $this->assertEquals( 'UploadFromUrlJob', get_class($job) );
175176
176 - $status = $job->run();
 177+ $status = $job->run();
177178 $this->assertTrue( $status->isOk() );
178179
179180 return $data;
Index: branches/querypage-work2/phase3/maintenance/tests/phpunit.xml
@@ -32,7 +32,7 @@
3333 <file>TitlePermissionTest.php</file>
3434 <file>TitleTest.php</file>
3535 <file>UploadTest.php</file>
36 - <file>UploadFromUrlTest.php</file>
 36+ <file>UploadFromUrlTestSuite.php</file>
3737 <file>XmlTest.php</file>
3838 </testsuite>
3939 <groups>
Property changes on: branches/querypage-work2/phase3/maintenance/populateRevisionLength.php
___________________________________________________________________
Modified: svn:mergeinfo
4040 Merged /trunk/phase3/maintenance/populateRevisionLength.php:r65720,65729,65754,65757-65758,65760,65764-65765,65774
Property changes on: branches/querypage-work2/phase3/maintenance/cleanupTable.inc
___________________________________________________________________
Modified: svn:mergeinfo
4141 Merged /trunk/phase3/maintenance/cleanupTable.inc:r65720,65729,65754,65757-65758,65760,65764-65765,65774
Property changes on: branches/querypage-work2/phase3/skins/common/jquery.js
___________________________________________________________________
Modified: svn:mergeinfo
4242 Merged /trunk/phase3/skins/common/jquery.js:r65720,65729,65754,65757-65758,65760,65764-65765,65774
Property changes on: branches/querypage-work2/phase3/skins/common/jquery.min.js
___________________________________________________________________
Modified: svn:mergeinfo
4343 Merged /trunk/phase3/skins/common/jquery.min.js:r65720,65729,65754,65757-65758,65760,65764-65765,65774
Index: branches/querypage-work2/phase3/skins/common/wikibits.js
@@ -25,8 +25,14 @@
2626 var opera7_bugs = is_opera_seven && !is_opera_95;
2727 var opera95_bugs = /opera\/(9\.5)/.test( clientPC );
2828 }
29 -// Start at 4 to minimize the chance of breaking on IE10 :)
30 -var ie6_bugs = /msie [4-6]/.test( clientPC );
 29+// As recommended by <http://msdn.microsoft.com/en-us/library/ms537509.aspx>,
 30+// avoiding false positives from moronic extensions that append to the IE UA
 31+// string (bug 23171)
 32+var ie6_bugs = false;
 33+if ( /MSIE ([0-9]{1,}[\.0-9]{0,})/.exec( clientPC ) != null
 34+&& parseFloat( RegExp.$1 ) <= 6.0 ) {
 35+ ie6_bugs = true;
 36+}
3137
3238 // Global external objects used by this script.
3339 /*extern ta, stylepath, skin */
Property changes on: branches/querypage-work2/phase3/includes/json/Services_JSON.php
___________________________________________________________________
Modified: svn:mergeinfo
3440 Merged /trunk/phase3/includes/json/Services_JSON.php:r65720,65729,65754,65757-65758,65760,65764-65765,65774
Index: branches/querypage-work2/phase3/includes/Article.php
@@ -1604,7 +1604,7 @@
16051605 /**
16061606 * Insert a new empty page record for this article.
16071607 * This *must* be followed up by creating a revision
1608 - * and running $this->updateToLatest( $rev_id );
 1608+ * and running $this->updateRevisionOn( ... );
16091609 * or else the record will be left in a funky state.
16101610 * Best if all done inside a transaction.
16111611 *
Property changes on: branches/querypage-work2/phase3/includes/OutputPage.php
___________________________________________________________________
Modified: svn:mergeinfo
16121612 Merged /trunk/phase3/includes/OutputPage.php:r65720,65729,65754,65757-65758,65760,65764-65765,65774
Property changes on: branches/querypage-work2/phase3/includes/HistoryPage.php
___________________________________________________________________
Modified: svn:mergeinfo
16131613 Merged /trunk/phase3/includes/HistoryPage.php:r65720,65729,65754,65757-65758,65760,65764-65765,65774
Property changes on: branches/querypage-work2/phase3/includes/api
___________________________________________________________________
Modified: svn:mergeinfo
16141614 Merged /trunk/phase3/includes/api:r65720,65729,65754,65757-65758,65760,65764-65765,65774
Property changes on: branches/querypage-work2/phase3/includes/ChangesList.php
___________________________________________________________________
Modified: svn:mergeinfo
16151615 Merged /trunk/phase3/includes/ChangesList.php:r65720,65729,65754,65757-65758,65760,65764-65765,65774
Property changes on: branches/querypage-work2/phase3/includes/ConfEditor.php
___________________________________________________________________
Modified: svn:mergeinfo
16161616 Merged /trunk/phase3/includes/ConfEditor.php:r65720,65729,65754,65757-65758,65760,65764-65765,65774
Index: branches/querypage-work2/phase3/includes/DefaultSettings.php
@@ -145,7 +145,7 @@
146146 * asset paths as seen by users
147147 */
148148 $wgStylePath = false; ///< defaults to "{$wgScriptPath}/skins"
149 -$wgLocalStylePath = false; ///< defaults to the same value as $wgStylePath, and shouldn't point to an external domain
 149+$wgLocalStylePath = false; ///< defaults to "{$wgScriptPath}/skins", shouldn't point to an external domain
150150 $wgExtensionAssetsPath = false; ///< defaults to "{$wgScriptPath}/extensions"
151151
152152 /**
@@ -1683,7 +1683,7 @@
16841684 * to ensure that client-side caches do not keep obsolete copies of global
16851685 * styles.
16861686 */
1687 -$wgStyleVersion = '274';
 1687+$wgStyleVersion = '275';
16881688
16891689
16901690 # Server-side caching:
@@ -4204,8 +4204,6 @@
42054205
42064206 /**
42074207 * Show the name of the current variant as a label in the variants drop-down menu
4208 - * true = Show the label
4209 - * false = Do not show the label
42104208 */
42114209 $wgVectorShowVariantName = false;
42124210
Index: branches/querypage-work2/phase3/includes/specials/SpecialCategories.php
@@ -51,7 +51,7 @@
5252 }
5353
5454 function getIndexField() {
55 -# return array( 'abc' => 'cat_title', 'count' => 'cat_pages' );
 55+ #return array( 'abc' => 'cat_title', 'count' => 'cat_pages' );
5656 return 'cat_title';
5757 }
5858
Index: branches/querypage-work2/phase3/includes/specials/SpecialUserlogin.php
@@ -72,7 +72,7 @@
7373 $this->mRemember = $request->getCheck( 'wpRemember' );
7474 $this->mLanguage = $request->getText( 'uselang' );
7575 $this->mSkipCookieCheck = $request->getCheck( 'wpSkipCookieCheck' );
76 - $this->mToken = $request->getVal( 'wpLoginToken' );
 76+ $this->mToken = ($this->mType == 'signup' ) ? $request->getVal( 'wpCreateaccountToken' ) : $request->getVal( 'wpLoginToken' );
7777
7878 if ( $wgRedirectOnLogin ) {
7979 $this->mReturnTo = $wgRedirectOnLogin;
@@ -251,6 +251,25 @@
252252 return false;
253253 }
254254
 255+ # Request forgery checks.
 256+ if ( !self::getCreateaccountToken() ) {
 257+ self::setCreateaccountToken();
 258+ $this->mainLoginForm( wfMsg( 'sessionfailure' ) );
 259+ return false;
 260+ }
 261+
 262+ # The user didn't pass a createaccount token
 263+ if ( !$this->mToken ) {
 264+ $this->mainLoginForm( wfMsg( 'sessionfailure' ) );
 265+ return false;
 266+ }
 267+
 268+ # Validate the createaccount token
 269+ if ( $this->mToken !== self::getCreateaccountToken() ) {
 270+ $this->mainLoginForm( wfMsg( 'sessionfailure' ) );
 271+ return false;
 272+ }
 273+
255274 # Check permissions
256275 if ( !$wgUser->isAllowed( 'createaccount' ) ) {
257276 $this->userNotPrivilegedMessage();
@@ -263,7 +282,7 @@
264283 $ip = wfGetIP();
265284 if ( $wgUser->isDnsBlacklisted( $ip, true /* check $wgProxyWhitelist */ ) ) {
266285 $this->mainLoginForm( wfMsg( 'sorbs_create_account_reason' ) . ' (' . htmlspecialchars( $ip ) . ')' );
267 - return;
 286+ return false;
268287 }
269288
270289 # Now create a dummy user ($u) and check if it is valid
@@ -340,6 +359,7 @@
341360 return false;
342361 }
343362
 363+ self::clearCreateaccountToken();
344364 return $this->initUser( $u, false );
345365 }
346366
@@ -683,20 +703,33 @@
684704 return;
685705 }
686706
687 - # Check against blocked IPs
688 - # fixme -- should we not?
 707+ # Check against blocked IPs so blocked users can't flood admins
 708+ # with password resets
689709 if( $wgUser->isBlocked() ) {
690710 $this->mainLoginForm( wfMsg( 'blocked-mailpassword' ) );
691711 return;
692712 }
693713
694 - // Check for hooks
 714+ # Check for hooks
695715 $error = null;
696716 if ( ! wfRunHooks( 'UserLoginMailPassword', array( $this->mName, &$error ) ) ) {
697717 $this->mainLoginForm( $error );
698718 return;
699719 }
700720
 721+ # If the user doesn't have a login token yet, set one.
 722+ if ( !self::getLoginToken() ) {
 723+ self::setLoginToken();
 724+ $this->mainLoginForm( wfMsg( 'sessionfailure' ) );
 725+ return;
 726+ }
 727+
 728+ # If the user didn't pass a login token, tell them we need one
 729+ if ( !$this->mToken ) {
 730+ $this->mainLoginForm( wfMsg( 'sessionfailure' ) );
 731+ return;
 732+ }
 733+
701734 # Check against the rate limiter
702735 if( $wgUser->pingLimiter( 'mailpassword' ) ) {
703736 $wgOut->rateLimited();
@@ -717,6 +750,12 @@
718751 return;
719752 }
720753
 754+ # Validate the login token
 755+ if ( $this->mToken !== self::getLoginToken() ) {
 756+ $this->mainLoginForm( wfMsg( 'sessionfailure' ) );
 757+ return;
 758+ }
 759+
721760 # Check against password throttle
722761 if ( $u->isPasswordReminderThrottled() ) {
723762 global $wgPasswordReminderResendTime;
@@ -732,6 +771,7 @@
733772 $this->mainLoginForm( wfMsg( 'mailerror', $result->getMessage() ) );
734773 } else {
735774 $this->mainLoginForm( wfMsg( 'passwordsent', $u->getName() ), 'success' );
 775+ self::clearLoginToken();
736776 }
737777 }
738778
@@ -965,11 +1005,18 @@
9661006 $template->set( 'canremember', ( $wgCookieExpiration > 0 ) );
9671007 $template->set( 'remember', $wgUser->getOption( 'rememberpassword' ) or $this->mRemember );
9681008
969 - if ( !self::getLoginToken() ) {
970 - self::setLoginToken();
 1009+ if ( $this->mType == 'signup' ) {
 1010+ if ( !self::getCreateaccountToken() ) {
 1011+ self::setCreateaccountToken();
 1012+ }
 1013+ $template->set( 'token', self::getCreateaccountToken() );
 1014+ } else {
 1015+ if ( !self::getLoginToken() ) {
 1016+ self::setLoginToken();
 1017+ }
 1018+ $template->set( 'token', self::getLoginToken() );
9711019 }
972 - $template->set( 'token', self::getLoginToken() );
973 -
 1020+
9741021 # Prepare language selection links as needed
9751022 if( $wgLoginLanguageSelector ) {
9761023 $template->set( 'languages', $this->makeLanguageSelector() );
@@ -1034,7 +1081,7 @@
10351082 }
10361083
10371084 /**
1038 - * Generate a new login token and attach it to the current session
 1085+ * Randomly generate a new login token and attach it to the current session
10391086 */
10401087 public static function setLoginToken() {
10411088 global $wgRequest;
@@ -1046,12 +1093,36 @@
10471094 /**
10481095 * Remove any login token attached to the current session
10491096 */
1050 - public static function clearLoginToken() {
 1097+ public static function clearLoginToken() {
10511098 global $wgRequest;
10521099 $wgRequest->setSessionData( 'wsLoginToken', null );
10531100 }
10541101
10551102 /**
 1103+ * Get the createaccount token from the current session
 1104+ */
 1105+ public static function getCreateaccountToken() {
 1106+ global $wgRequest;
 1107+ return $wgRequest->getSessionData( 'wsCreateaccountToken' );
 1108+ }
 1109+
 1110+ /**
 1111+ * Randomly generate a new createaccount token and attach it to the current session
 1112+ */
 1113+ public static function setCreateaccountToken() {
 1114+ global $wgRequest;
 1115+ $wgRequest->setSessionData( 'wsCreateaccountToken', User::generateToken() );
 1116+ }
 1117+
 1118+ /**
 1119+ * Remove any createaccount token attached to the current session
 1120+ */
 1121+ public static function clearCreateaccountToken() {
 1122+ global $wgRequest;
 1123+ $wgRequest->setSessionData( 'wsCreateaccountToken', null );
 1124+ }
 1125+
 1126+ /**
10561127 * @private
10571128 */
10581129 function cookieRedirectCheck( $type ) {
Index: branches/querypage-work2/phase3/includes/specials/SpecialDeadendpages.php
@@ -27,7 +27,9 @@
2828 return true;
2929 }
3030
31 - function isSyndicated() { return false; }
 31+ function isSyndicated() {
 32+ return false;
 33+ }
3234
3335 /**
3436 * @return false
Property changes on: branches/querypage-work2/phase3/includes/specials
___________________________________________________________________
Modified: svn:mergeinfo
3537 Merged /trunk/phase3/includes/specials:r65720,65729,65754,65757-65758,65760,65764-65765,65774
Index: branches/querypage-work2/phase3/includes/templates/Userlogin.php
@@ -315,6 +315,7 @@
316316 </tr>
317317 </table>
318318 <?php if( @$this->haveData( 'uselang' ) ) { ?><input type="hidden" name="uselang" value="<?php $this->text( 'uselang' ); ?>" /><?php } ?>
 319+<?php if( @$this->haveData( 'token' ) ) { ?><input type="hidden" name="wpCreateaccountToken" value="<?php $this->text( 'token' ); ?>" /><?php } ?>
319320 </form>
320321 </div>
321322 <div id="signupend"><?php $this->msgWiki( 'signupend' ); ?></div>
Property changes on: branches/querypage-work2/phase3/includes
___________________________________________________________________
Modified: svn:mergeinfo
322323 Merged /trunk/phase3/includes:r65720,65729,65754,65757-65758,65760,65764-65765,65774
Index: branches/querypage-work2/phase3/languages/messages/MessagesPt_br.php
@@ -3369,7 +3369,7 @@
33703370 'specialpages-group-pages' => 'Listas de páginas',
33713371 'specialpages-group-pagetools' => 'Ferramentas de páginas',
33723372 'specialpages-group-wiki' => 'Dados e ferramentas sobre este wiki',
3373 -'specialpages-group-redirects' => 'Páginas especias redirecionadas',
 3373+'specialpages-group-redirects' => 'Páginas especiais redirecionadas',
33743374 'specialpages-group-spam' => 'Ferramentas anti-spam',
33753375
33763376 # Special:BlankPage
Index: branches/querypage-work2/phase3/languages/messages/MessagesId.php
@@ -2696,6 +2696,8 @@
26972697 'tooltip-upload' => 'Mulai pemuatan',
26982698 'tooltip-rollback' => 'Mengembalikan suntingan-suntingan di halaman ini ke kontributor terakhir dalam satu kali klik.',
26992699 'tooltip-undo' => 'Mengembalikan revisi ini dan membuka kotak penyuntingan dengan mode pratayang. Alasan dapat ditambahkan di kotak ringkasan.',
 2700+'tooltip-preferences-save' => 'Simpan preferensi',
 2701+'tooltip-summary' => 'Masukkan sebuah ringkasan pendek',
27002702
27012703 # Stylesheets
27022704 'common.css' => '/* CSS yang ada di sini akan diterapkan untuk semua kulit. */',
Index: branches/querypage-work2/phase3/languages/messages/MessagesLa.php
@@ -1718,6 +1718,14 @@
17191719 'ipbexpiry' => 'Exitus:',
17201720 'ipbreason' => 'Causa:',
17211721 'ipbreasonotherlist' => 'Causa alia',
 1722+'ipbreason-dropdown' => '*Rationes crebriter adductae
 1723+** Ob scripta falsa
 1724+** Ob textum remotum
 1725+** Ob nexus externos multiplicatos
 1726+** Ob scripta sensu sive et Latinitate carentia
 1727+** Ob scripta inurbana
 1728+** Ob rationes perniciose multiplicatas
 1729+** Ob nomen inurbanum sive inconveniens',
17221730 'ipbanononly' => 'Solum usores anonymi obstruere',
17231731 'ipbcreateaccount' => 'Creationem rationum obstruere',
17241732 'ipbemailban' => 'Litteras electronicas vetare',
Index: branches/querypage-work2/phase3/languages/messages/MessagesPl.php
@@ -1816,7 +1816,7 @@
18171817 'unusedtemplateswlh' => 'linkujące',
18181818
18191819 # Random page
1820 -'randompage' => 'Losuj stronę',
 1820+'randompage' => 'Losowa strona',
18211821 'randompage-nopages' => 'Brak stron w {{PLURAL:$2|przestrzeni nazw|przestrzeniach nazw:}} $1.',
18221822
18231823 # Random redirect
@@ -2732,6 +2732,7 @@
27332733 'tooltip-undo' => '„anuluj edycję” wycofuje tę edycję i otwiera okno edycji w trybie podglądu.
27342734 Pozwala na wpisanie powodu w opisie zmian.',
27352735 'tooltip-preferences-save' => 'Zapisz preferencje',
 2736+'tooltip-summary' => 'Wpisz krótki opis',
27362737
27372738 # Stylesheets
27382739 'common.css' => '/* Umieszczony tutaj kod CSS zostanie zastosowany we wszystkich skórkach */',
Index: branches/querypage-work2/phase3/languages/messages/MessagesXal.php
@@ -422,7 +422,7 @@
423423 'remembermypassword' => 'Мини нерн эн тоолдврд тодлх',
424424 'yourdomainname' => 'Тана домен:',
425425 'login' => 'Орлһн',
426 -'nav-login-createaccount' => 'Орх аль харһх',
 426+'nav-login-createaccount' => 'Харһх / бичгдлһн кех',
427427 'loginprompt' => '{{SITENAME}} тал орлһна төлә, та «cookies» олзлдг кергтә.',
428428 'userlogin' => 'Орх аль бичгдлһиг бүтәх',
429429 'userloginnocreate' => 'Харһх',
Index: branches/querypage-work2/phase3/languages/messages/MessagesLmo.php
@@ -432,8 +432,8 @@
433433 # Login and logout pages
434434 'logouttext' => "'''Adess a sii descuness.'''
435435
436 -A pudé andà inanz a druvà la {{SITENAME}} in manera anònima, o a pudé cunètev anmò cun l'istess suranomm o cun un suranomm diferent.
437 -Tegné cünt che certi paginn pödass che i se veden anmò cume se a füdissi anmò cuness, fin quand che hii nò vudaa 'l ''cache'' del voster browser.",
 436+A pudé andà inanz a druvà la {{SITENAME}} in manera anònima, o a pudé [[Special:UserLogin|cunètev anmò]] cun l'istess suranomm o cun un suranomm diferent.
 437+Tegné cünt che certi paginn pödass che i seguiten a vedess tant 'me se a füdìssuv anmò cuness, fin quand che hii nò vudaa 'l ''cache'' del voster browser.",
438438 'welcomecreation' => "== Benvegnüü, $1! ==
439439 'L to cünt l'è staa pruntaa. Desmenteghet mía de mudifegà i to [[Special:Preferences|preferenz de {{SITENAME}}]].",
440440 'yourname' => 'El to suranóm:',
@@ -444,6 +444,7 @@
445445 'nav-login-createaccount' => 'Vena denter / Crea un cünt',
446446 'loginprompt' => 'Par cunett a {{SITENAME}}, a duvii abilitá i galet.',
447447 'userlogin' => 'Vegní denter - Creè un cünt',
 448+'userloginnocreate' => 'Vegn denter',
448449 'logout' => 'Va fö',
449450 'userlogout' => 'Và fö',
450451 'notloggedin' => 'Te seet minga dent in del sistema',
@@ -457,6 +458,7 @@
458459 'userexists' => "El nom de duvrat che t'hee miss dent a l'è giamò dupraa.
459460 Per piasè, scerniss un alter suranom.",
460461 'loginerror' => "Erur in de l'andà dent in del sistema.",
 462+'createaccounterror' => 'Se pö minga creà el cünt: $1',
461463 'nocookiesnew' => "El cünt a l'è staa creaa, ma t'hee minga pudüü andà dent in del sistema.
462464 {{SITENAME}} al dupra i cookies per fà andà i duvrat in del sistema.
463465 Tì te gh'hee i cookies disabilitaa.
@@ -524,12 +526,29 @@
525527 'showdiff' => 'Famm vedè i cambiament',
526528 'anoneditwarning' => 'Tì te set minga entraa. In de la crunulugia de la pagina se vedarà el tò IP.',
527529 'summary-preview' => "Pröva de l'uget:",
 530+'blockedtext' => "'''El to nom del druvadur o el to indirizz IP l'è stat blucaa.'''
 531+
 532+El bloch l'è stat fat da $1.
 533+El mutiv per el bloch l'è: ''$2''
 534+
 535+* Principi del bloch: $8
 536+* Scadenza del bloch: $6
 537+* Blucaa: $7
 538+
 539+Se a vurii, a pudii cuntatà $1 o un olter [[{{MediaWiki:Grouppage-sysop}}|aministradur]] per discüt el bloch.
 540+
 541+Feegh a ment che la funzion 'Manda un email a quel druvadur chì' l'è mia ativa se avii mia registraa un indirizz e-mail valid ind i voster [[Special:Preferences|preferenz]] o se l'üsagg de 'sta funzion l' è stat blucaa.
 542+
 543+L'indirizz IP curent l'è $3, el nümer ID del bloch l'è #$5.
 544+Fee el piasè d'inclüd tüt i detaj chì de sura in qualsessìa dumanda che a decidii de fà.",
528545 'accmailtext' => 'La parola d\'urdin per "$1" l\'è stada mandada a $2.',
529546 'newarticle' => '(Növ)',
530547 'newarticletext' => 'Te seet andaa adree a un ligam a una pagina che la esista gnamò.
531548 Per creà la pagina, a l\'è assee che te tachet a scriv in del box desota (varda la [[{{MediaWiki:Helppage}}|pagina de vüt]] per savèn püssee).
532549 Se te seet chì per erur, schiscia "indree" in sül tò browser.',
533 -'anontalkpagetext' => "----''Chesta chí a l'é la pagina da ciciarada d'un usuari che l'ha ammò minga registraa un cunt, o ascí ch'al vœur minga dovràl; donca, el pò vess identificaa domà cont el sò IP, ch'el pœul vess compartii con fiss dovrat diferent. Se al é un dovrat anònim e a l'ha vist un quai messagg ch'al ga par ch'al gh'a nagòt à vidé con lu, ch'al prœuva a [[Special:UserLogin|creà el sò cunt]].''",
 550+'anontalkpagetext' => "''Questa chí a l'é la pagina da ciciarada d'un druvadur che l'ha nonanmò registraa un cünt, o che 'l le dröva mia.
 551+Per 'sta reson chí, el pò vess identificaa dumà cunt el sò indirizz nümereg de IP.
 552+'Stu indirizz IP el pö vess druvaa da püssee d'un druvadur. Se te seet un druvadur anònim e ve someja che un quaj messagg ch'al ga par ch'al gh'a nagòt à vidé con lu, ch'al prœuva a [[Special:UserLogin|creà el sò cunt]].''",
534553 'noarticletext' => "Per 'l mument quela pagina chì l'è vöja. Te pòdet [[Special:Search/{{PAGENAME}}|cercà quel articul chì]] int i alter paginn, <span class=\"plainlinks\">[{{fullurl:{{#Special:Log}}|page={{FULLPAGENAMEE}}}} cercà int i register imparentaa], o sedenò [{{fullurl:{{FULLPAGENAME}}|action=edit}} mudifichè 'sta pagina chì adess-adess].",
535554 'clearyourcache' => "'''Nòta:''' dòpu che avii salvaa, pudaría véss neçessari de scancelá la memòria \"cache\" dal vòst prugráma də navigazziún in reet par vidé i mudifich faa. '''Mozilla / Firefox / Safari:''' tegní schiscjaa al butún ''Shift'' intaant che sə clica ''Reload'', upüür schiscjá ''Ctrl-Shift-R'' (''Cmd-Shift-R'' sül Apple Mac); '''IE:''' schiscjá ''Ctrl'' intaant che sə clica ''Refresh'', upüür schiscjá ''Ctrl-F5''; '''Konqueror:''': semplicemeent clicá al butún ''Reload'', upüür schiscjá ''F5''; '''Opera''' i üteent pudarían vech büsögn da scancelá cumpletameent la memòria \"cache\" in ''Tools&rarr;Preferences''.",
536555 'previewnote' => "''''''Atenziun'''! Questa pagina la serviss dumà de vardà. I cambiament hinn minga staa salvaa.'''",
@@ -958,7 +977,7 @@
959978 'listgrouprights-members' => '(Lista di member)',
960979
961980 # E-mail user
962 -'emailuser' => 'Manda un email al duvrátt',
 981+'emailuser' => 'Manda un email a quel druvadur chì',
963982 'emailsent' => 'Messagg spedii',
964983 'emailsenttext' => "El messagg e-mail l'è staa spedii.",
965984
@@ -1047,7 +1066,7 @@
10481067
10491068 # Protect
10501069 'protectlogpage' => 'Register di prutezión',
1051 -'protectedarticle' => 't\'hee prutegiüü "[[$1]]"',
 1070+'protectedarticle' => 'l\'ha prutegiüü "[[$1]]"',
10521071 'modifiedarticleprotection' => 'A l\'è müdaa el nivel de prutezión per "[[$1]]"',
10531072 'unprotectedarticle' => 'l\'ha sblucaa "[[$1]]"',
10541073 'protect-title' => 'Prutezziún da "$1"',
@@ -1069,9 +1088,22 @@
10701089 'protect-expiring' => 'scadenza: $1 (UTC)',
10711090 'protect-cascade' => "Prutegg i paginn ch'i fan part de questa (prutezión recursiva)",
10721091 'protect-cantedit' => "Te pödet minga mudifegà i nivel de prutezión a quela pagina chì, per via che t'hee minga el permiss de mudifegala.",
 1092+'protect-dropdown' => '*Mutiv cumün per la prutezion
 1093+** Tròp vandalism
 1094+** Tròp spam
 1095+** Edit war
 1096+** Pagina cun parecc tràfich',
 1097+'protect-edit-reasonlist' => 'Mudifega i mutiv per la prutezion',
 1098+'protect-expiry-options' => '1 ura:1 hour,1 dì:1 day,1 semana:1 week,2 semann:2 weeks,1 mes:1 month,3 mes:3 months,6 mes:6 months,1 ann:1 year,per sémper:infinite',
10731099 'restriction-type' => 'Permiss',
10741100 'restriction-level' => 'Nivel de restrizión',
 1101+'minimum-size' => 'Misüra mìnima',
 1102+'maximum-size' => 'Misüra màssima:',
 1103+'pagesize' => '(byte)',
10751104
 1105+# Restrictions (nouns)
 1106+'restriction-edit' => 'Mudifega',
 1107+
10761108 # Undelete
10771109 'undelete' => 'Varda i pagin scancelaa',
10781110 'undelete-nodiff' => "Per questa pagina gh'è nanca una revisiun precedenta.",
Index: branches/querypage-work2/phase3/languages/messages/MessagesUr.php
@@ -1125,21 +1125,23 @@
11261126 'created' => 'بنا دیا گیا',
11271127
11281128 # Delete
1129 -'deletepage' => 'صفحہ ضائع کریں',
1130 -'confirm' => 'یقین',
1131 -'excontent' => "'$1':مواد تھا",
1132 -'excontentauthor' => "حذف شدہ مواد: '$1' (اور صرف '[[Special:Contributions/$2|$2]]' نے حصہ ڈالا)",
1133 -'exblank' => 'صفحہ خالی تھا',
1134 -'historywarning' => 'انتباہ: جو صفحہ آپ حذف کرنے جارہے ہیں اس سے ایک تاریخچہ منسلک ہے۔',
1135 -'confirmdeletetext' => 'آپ نے اس صفحے کو اس سے ملحقہ تاریخچہ سمیت حذف کرنے کا ارادہ کیا ہے۔ براۓ مہربانی تصدیق کرلیجیۓ کہ آپ اس عمل کے نتائج سے بخوبی آگاہ ہیں، اور یہ بھی یقین کرلیجیۓ کہ آپ ایسا [[{{MediaWiki:Policy-url}}|ویکیپیڈیا کی حکمت عملی]] کے دائرے میں رہ کر کر رہے ہیں۔',
1136 -'actioncomplete' => 'اقدام تکمیل کو پہنچا',
1137 -'deletedtext' => '"<nowiki>$1</nowiki>" کو حذف کر دیا گیا ہے ۔
 1129+'deletepage' => 'صفحہ ضائع کریں',
 1130+'confirm' => 'یقین',
 1131+'excontent' => "'$1':مواد تھا",
 1132+'excontentauthor' => "حذف شدہ مواد: '$1' (اور صرف '[[Special:Contributions/$2|$2]]' نے حصہ ڈالا)",
 1133+'exblank' => 'صفحہ خالی تھا',
 1134+'historywarning' => 'انتباہ: جو صفحہ آپ حذف کرنے جارہے ہیں اس سے ایک تاریخچہ منسلک ہے۔',
 1135+'confirmdeletetext' => 'آپ نے اس صفحے کو اس سے ملحقہ تاریخچہ سمیت حذف کرنے کا ارادہ کیا ہے۔ براۓ مہربانی تصدیق کرلیجیۓ کہ آپ اس عمل کے نتائج سے بخوبی آگاہ ہیں، اور یہ بھی یقین کرلیجیۓ کہ آپ ایسا [[{{MediaWiki:Policy-url}}|ویکیپیڈیا کی حکمت عملی]] کے دائرے میں رہ کر کر رہے ہیں۔',
 1136+'actioncomplete' => 'اقدام تکمیل کو پہنچا',
 1137+'deletedtext' => '"<nowiki>$1</nowiki>" کو حذف کر دیا گیا ہے ۔
11381138 حالیہ حذف شدگی کے تاریخ نامہ کیلیۓ $2 دیکھیۓ',
1139 -'deletedarticle' => 'حذف شدہ "[[$1]]"',
1140 -'dellogpage' => 'نوشتۂ حذف شدگی',
1141 -'dellogpagetext' => 'حالیہ حذف شدگی کی فہرست درج ذیل ہے۔',
1142 -'deletionlog' => 'نوشتۂ حذف شدگی',
1143 -'deletecomment' => 'حذف کرنے کی وجہ',
 1139+'deletedarticle' => 'حذف شدہ "[[$1]]"',
 1140+'dellogpage' => 'نوشتۂ حذف شدگی',
 1141+'dellogpagetext' => 'حالیہ حذف شدگی کی فہرست درج ذیل ہے۔',
 1142+'deletionlog' => 'نوشتۂ حذف شدگی',
 1143+'deletecomment' => 'حذف کرنے کی وجہ',
 1144+'deleteotherreason' => 'دوسری/اِضافی وجہ:',
 1145+'deletereasonotherlist' => 'دوسری وجہ',
11441146
11451147 # Rollback
11461148 'rollback' => 'ترمیمات سابقہ حالت پرواپس',
@@ -1216,6 +1218,8 @@
12171219 'newtitle' => 'نـیــا عـنــوان',
12181220 'move-watch' => 'صفحہ زیر نظر',
12191221 'movepagebtn' => 'مـنـتـقـل',
 1222+'pagemovedsub' => 'انتقال کامیاب',
 1223+'movepage-moved' => '\'\'\'"$1" منتقل کردیا گیا بطرف "$2"\'\'\'',
12201224 'articleexists' => 'اس عنوان سے کوئی صفحہ پہلے ہی موجود ہے، یا آپکا منتخب کردہ نام مستعمل نہیں۔ براۓ مہربانی دوسرا نام منتخب کیجیۓ۔',
12211225 '1movedto2' => '[[$1]] بجانب [[$2]] منتقل',
12221226 'movelogpage' => 'نوشتۂ منتقلی',
@@ -1279,6 +1283,7 @@
12801284 'tooltip-feed-rss' => 'اِس صفحہ کیلئے اسس خورد',
12811285 'tooltip-feed-atom' => 'اِس صفحہ کیلئے اٹوم خورد',
12821286 'tooltip-t-contributions' => 'نئی تدوین →',
 1287+'tooltip-t-emailuser' => 'اِس صارف کو برقی خط ارسال کریں',
12831288 'tooltip-t-upload' => 'زبراثقالِ ملفات',
12841289 'tooltip-t-specialpages' => 'تمام خاص صفحات کی فہرست',
12851290 'tooltip-t-print' => 'اِس صفحہ کا قابلِ طبعہ نسخہ',
Index: branches/querypage-work2/phase3/languages/messages/MessagesRgn.php
@@ -22,7 +22,7 @@
2323 'tog-newpageshidepatrolled' => 'Nascònd al pàgin verifichèdi da la lèsta dal pàgin növi',
2424 'tog-extendwatchlist' => "Slèrga la funziòn \"tènn sot occ\" d'mod ch'us pòsa avdé toti al mudefchi, no sol l'ultma.",
2525 'tog-usenewrc' => "Drova agl'j ultmi mudèfchi avanzëdi (u j vô JavaScript)",
26 -'tog-numberheadings' => "Titul d'paràgraf<br/>chi à un nòmar daparlò",
 26+'tog-numberheadings' => "Titul d'un paràgraf ch'l'à un nòmar daparlò",
2727 'tog-showtoolbar' => "Fam avdé la bara d'j strumént (u j vó JavaScript)",
2828
2929 # Dates
Index: branches/querypage-work2/phase3/languages/messages/MessagesKrc.php
@@ -1521,7 +1521,7 @@
15221522 'linkstoimage-more' => '$1-ден артыкъ {{PLURAL:$1|бет|бет}} бу файлгъа джибериу береди.
15231523 Кёзюудеги список къуру бу файлгъа джибериу берген {{PLURAL:$1|биринчи файлны|биринчи $1 файлны}} кёргюзеди.
15241524 [[Special:WhatLinksHere/$2|Толу спиосок]] барды.',
1525 -'nolinkstoimage' => 'Бу файлгъа джибириу берген бет джокъду.',
 1525+'nolinkstoimage' => 'Бу файлгъа джиберген бет джокъду.',
15261526 'morelinkstoimage' => 'Бу файлгъа [[Special:WhatLinksHere/$1|къалгъан джибериулеге]] къара.',
15271527 'redirectstofile' => '{{PLURAL:$1|файл|$1 файл}}, бу файлгъа джибереди.',
15281528 'duplicatesoffile' => '{{PLURAL:$1|файл|$1 файл}}, бу файлны дубликатыды ([[Special:FileDuplicateSearch/$2|анданда кёб ангылатыу]]):',
Index: branches/querypage-work2/phase3/languages/messages/MessagesEs.php
@@ -2604,7 +2604,7 @@
26052605 'semiprotectedpagemovewarning' => "'''Nota:''' Esta página ha sido bloqueada para que solamente usuarios registrados pueden moverla.
26062606 A continuación se muestra la última entrada de registro para referencia:",
26072607 'move-over-sharedrepo' => '== El archivo existe ==
2608 - [[:$1]] existe en un repositorio compartido. Mover el archivo a este título invalidará el archivo compartido.',
 2608+[[:$1]] existe en un repositorio compartido. Mover el archivo a este título invalidará el archivo compartido.',
26092609 'file-exists-sharedrepo' => 'El nombre de archivo elegido ya está siendo usado en un repositorio compartido.
26102610 Por favor, elija otro nombre.',
26112611
Index: branches/querypage-work2/phase3/languages/messages/MessagesUk.php
@@ -1187,6 +1187,7 @@
11881188 'searchprofile-everything-tooltip' => 'Пошук на всіх сторінках (включаючи сторінки обговорення)',
11891189 'searchprofile-advanced-tooltip' => 'Шукати в заданих просторах назв',
11901190 'search-result-size' => '$1 ($2 {{PLURAL:$2|слово|слова|слів}})',
 1191+'search-result-category-size' => '{{PLURAL:$1|$1 елемент|$1 елементи|$1 елементів}} ({{PLURAL:$2|$2 підкатегорія|$2 підкатегорії|$2 підкатегорій}}, {{PLURAL:$3|$3 файл|$3 файли|$3 файлів}})',
11911192 'search-result-score' => 'Відповідність: $1 %',
11921193 'search-redirect' => '(перенаправлення $1)',
11931194 'search-section' => '(розділ $1)',
@@ -1548,6 +1549,9 @@
15491550 'upload_directory_missing' => 'Директорія для завантажень ($1) відсутня і не може бути створена веб-сервером.',
15501551 'upload_directory_read_only' => 'Веб-сервер не має прав запису в папку ($1), в якій планується зберігати завантажувані файли.',
15511552 'uploaderror' => 'Помилка завантаження файлу',
 1553+'upload-recreate-warning' => "'''Увага. Файл з такою назвою був раніше вилучений або перейменований.''
 1554+
 1555+Далі наведено журнал вилучень і перейменувань цього файлу:",
15521556 'uploadtext' => "За допомогою цієї форми ви можете завантажити файли на сервер.
15531557
15541558 Якщо файл із зазначеною вами назвою вже існує в проекті, то його буде замінено без попередження. Тому, якщо ви не збираєтесь оновлювати файл,
Index: branches/querypage-work2/phase3/languages/Names.php
@@ -25,7 +25,7 @@
2626 'av' => 'Авар', # Avar
2727 'avk' => 'Kotava', # Kotava
2828 'ay' => 'Aymar aru', # Aymara
29 - 'az' => 'Azərbaycan', # Azerbaijani
 29+ 'az' => 'Azərbaycanca', # Azerbaijani
3030 'ba' => 'Башҡорт', # Bashkir
3131 'bar' => 'Boarisch', # Bavarian (Austro-Bavarian and South Tyrolean)
3232 'bat-smg' => 'Žemaitėška', # Samogitian
Index: branches/querypage-work2/phase3/RELEASE-NOTES
@@ -62,7 +62,7 @@
6363 * ajaxwatch now uses the API and JQuery, and can be used to animate arbitrary
6464 watch links, not just to watch the page the link is on.
6565 * (bug 20193) Added $wgVectorShowVariantName global configuration variable
66 - which causes Vector to render the the variants drop-down menu with a label
 66+ which causes Vector to render the variants drop-down menu with a label
6767 showing the current variant name. This is off by default, pending further
6868 research into its user experience implications.
6969
@@ -163,6 +163,7 @@
164164 * (bug 23156) Commafy and search normalization updated for Belarusian
165165 (Taraškievica)
166166 * (bug 23283) Native name for Old English -> Ænglisc
 167+* (bug 23364) Native name for Azerbaijani -> Azərbaycanca
167168
168169 == Compatibility ==
169170
Property changes on: branches/querypage-work2/phase3
___________________________________________________________________
Modified: svn:mergeinfo
170171 Merged /trunk/phase3:r65720,65729,65754,65757-65758,65760,65764-65765,65774

Status & tagging log