Index: branches/REL1_17/extensions/WikiAtHome/WikiAtHome.i18n.php |
— | — | @@ -20,11 +20,11 @@ |
21 | 21 | 'wah-short-video' => '$1 video file, $2', |
22 | 22 | 'wah-short-general' => '$1 media file, $2', |
23 | 23 | |
24 | | - 'wah-long-audio' => '($1 sound file, length $2, $3)', |
25 | | - 'wah-long-video' => '($1 video file, length $2, $4×$5 pixels, $3)', |
26 | | - 'wah-long-multiplexed' => '(multiplexed audio/video file, $1, length $2, $4×$5 pixels, $3 overall)', |
27 | | - 'wah-long-general' => '(media file, length $2, $3)', |
28 | | - 'wah-long-error' => '(ffmpeg could not read this file: $1)', |
| 24 | + 'wah-long-audio' => '$1 sound file, length $2, $3', |
| 25 | + 'wah-long-video' => '$1 video file, length $2, $4×$5 pixels, $3', |
| 26 | + 'wah-long-multiplexed' => 'multiplexed audio/video file, $1, length $2, $4×$5 pixels, $3 overall', |
| 27 | + 'wah-long-general' => 'media file, length $2, $3', |
| 28 | + 'wah-long-error' => 'ffmpeg could not read this file: $1', |
29 | 29 | |
30 | 30 | 'wah-transcode-working' => 'This video is being processed, please try again later', |
31 | 31 | 'wah-transcode-helpout' => 'You can help transcode this video by visiting [[Special:WikiAtHome|Wiki@Home]].', |
Index: branches/REL1_17/extensions/CodeReview/ui/CodeRevisionListView.php |
— | — | @@ -31,13 +31,13 @@ |
32 | 32 | |
33 | 33 | // Check for batch change requests. |
34 | 34 | $editToken = $wgRequest->getVal( 'wpBatchChangeEditToken' ); |
35 | | - if ( $wgRequest->wasPosted() && $wgUser->matchEditToken( $editToken ) ) { |
| 35 | + $revisions = $wgRequest->getArray( 'wpRevisionSelected' ); |
| 36 | + if ( $wgRequest->wasPosted() && count( $revisions ) && $wgUser->matchEditToken( $editToken ) ) { |
36 | 37 | $this->doBatchChange(); |
37 | 38 | return; |
38 | 39 | } |
39 | 40 | |
40 | 41 | $pathForm = $this->showForm(); |
41 | | - $wgOut->addHTML( $pathForm ); |
42 | 42 | |
43 | 43 | // Get the total count across all pages |
44 | 44 | $dbr = wfGetDB( DB_SLAVE ); |
— | — | @@ -50,20 +50,23 @@ |
51 | 51 | $wgUser->isAllowed( 'codereview-add-tag' ); |
52 | 52 | |
53 | 53 | $navBar = $pager->getNavigationBar(); |
54 | | - $limitForm = $pager->getLimitForm(); |
55 | 54 | |
| 55 | + $wgOut->addHTML( $pathForm ); |
| 56 | + |
56 | 57 | $wgOut->addHTML( |
57 | 58 | $navBar . |
58 | | - '<table><tr><td>' . $limitForm . '</td>' . |
| 59 | + '<table><tr><td>' . $pager->getLimitForm() . '</td>' . |
59 | 60 | '<td> <strong>' . wfMsgHtml( 'code-rev-total', $wgLang->formatNum( $revCount ) ) . '</strong></td>' . |
60 | 61 | '</tr></table>' . |
61 | 62 | Xml::openElement( 'form', |
62 | 63 | array( 'action' => $pager->getTitle()->getLocalURL(), 'method' => 'post' ) |
63 | 64 | ) . |
64 | 65 | $pager->getBody() . |
65 | | - $limitForm . |
| 66 | + //$pager->getLimitDropdown() . |
66 | 67 | $navBar . |
67 | | - ( $this->batchForm ? $this->buildBatchInterface( $pager ) : "" ) . |
| 68 | + ( $this->batchForm ? |
| 69 | + $this->buildBatchInterface( $pager ) |
| 70 | + : "" ) . |
68 | 71 | Xml::closeElement( 'form' ) |
69 | 72 | ); |
70 | 73 | |
— | — | @@ -175,7 +178,7 @@ |
176 | 179 | } else { |
177 | 180 | $ret .= Html::hidden( 'title', $special->getPrefixedDBKey() ) ; |
178 | 181 | } |
179 | | - $ret .= "</tr></table></fieldset>" ; |
| 182 | + $ret .= "</tr></table></fieldset></form>" ; |
180 | 183 | |
181 | 184 | return $ret; |
182 | 185 | } |
— | — | @@ -358,4 +361,3 @@ |
359 | 362 | return SpecialPage::getTitleFor( 'Code', $this->mRepo->getName() ); |
360 | 363 | } |
361 | 364 | } |
362 | | - |
Index: branches/REL1_17/extensions/OggHandler/OggHandler.i18n.php |
— | — | @@ -13,11 +13,11 @@ |
14 | 14 | 'ogg-short-audio' => 'Ogg $1 sound file, $2', |
15 | 15 | 'ogg-short-video' => 'Ogg $1 video file, $2', |
16 | 16 | 'ogg-short-general' => 'Ogg $1 media file, $2', |
17 | | - 'ogg-long-audio' => '(Ogg $1 sound file, length $2, $3)', |
18 | | - 'ogg-long-video' => '(Ogg $1 video file, length $2, $4×$5 pixels, $3)', |
19 | | - 'ogg-long-multiplexed' => '(Ogg multiplexed audio/video file, $1, length $2, $4×$5 pixels, $3 overall)', |
20 | | - 'ogg-long-general' => '(Ogg media file, length $2, $3)', |
21 | | - 'ogg-long-error' => '(Invalid ogg file: $1)', |
| 17 | + 'ogg-long-audio' => 'Ogg $1 sound file, length $2, $3', |
| 18 | + 'ogg-long-video' => 'Ogg $1 video file, length $2, $4×$5 pixels, $3', |
| 19 | + 'ogg-long-multiplexed' => 'Ogg multiplexed audio/video file, $1, length $2, $4×$5 pixels, $3 overall', |
| 20 | + 'ogg-long-general' => 'Ogg media file, length $2, $3', |
| 21 | + 'ogg-long-error' => 'Invalid ogg file: $1', |
22 | 22 | 'ogg-play' => 'Play', |
23 | 23 | 'ogg-pause' => 'Pause', |
24 | 24 | 'ogg-stop' => 'Stop', |
Index: branches/REL1_17/extensions/FlvHandler/FlvHandler.i18n.php |
— | — | @@ -13,7 +13,7 @@ |
14 | 14 | */ |
15 | 15 | $messages['en'] = array( |
16 | 16 | 'flvhandler_desc' => 'Allow Flash Video (.flv) files to be added as standard files (e.g. <nowiki>[[</nowiki>{{ns:file}}:Movie.flv<nowiki>]]</nowiki>)', |
17 | | - 'flv-long-desc' => '(Flash Video, $1 × $2 pixels, file size: $3)' |
| 17 | + 'flv-long-desc' => 'Flash Video, $1 × $2 pixels, file size: $3' |
18 | 18 | ); |
19 | 19 | |
20 | 20 | /** Message documentation (Message documentation) |
Index: branches/REL1_17/extensions/ClickTracking/ClickTracking.hooks.php |
— | — | @@ -87,28 +87,6 @@ |
88 | 88 | } |
89 | 89 | |
90 | 90 | /** |
91 | | - * Get the number of revisions a user has made since a given time |
92 | | - * |
93 | | - * @param $ts beginning timestamp |
94 | | - * @return number of revsions this user has made |
95 | | - */ |
96 | | - public static function getEditCountSince( $ts ) { |
97 | | - global $wgUser; |
98 | | - |
99 | | - // Convert to just the day |
100 | | - $time = gmdate( 'Y-m-d', wfTimestamp( TS_UNIX, $ts ) ); |
101 | | - $dbr = wfGetDB( DB_SLAVE ); |
102 | | - $edits = $dbr->selectField( |
103 | | - 'user_daily_contribs', |
104 | | - 'SUM(contribs)', |
105 | | - array( 'user_id' => $wgUser->getId(), 'day >= ' . $dbr->addQuotes( $time ) ), |
106 | | - __METHOD__ |
107 | | - ); |
108 | | - // User hasn't made any edits in whatever amount of time |
109 | | - return $edits == null ? 0 : $edits; |
110 | | - } |
111 | | - |
112 | | - /** |
113 | 91 | * Get event ID from name |
114 | 92 | * |
115 | 93 | * @param $event_name String: name of the event to get |
Index: branches/REL1_17/extensions/ClickTracking/ApiClickTracking.php |
— | — | @@ -39,13 +39,13 @@ |
40 | 40 | $isLoggedIn = $wgUser->isLoggedIn(); |
41 | 41 | $now = time(); |
42 | 42 | $granularity1 = $isLoggedIn ? |
43 | | - ClickTrackingHooks::getEditCountSince( $now - $wgClickTrackContribGranularity1 ) : 0; |
| 43 | + getUserEditCountSince( $now - $wgClickTrackContribGranularity1 ) : 0; |
44 | 44 | |
45 | 45 | $granularity2 = $isLoggedIn ? |
46 | | - ClickTrackingHooks::getEditCountSince( $now - $wgClickTrackContribGranularity2 ) : 0; |
| 46 | + getUserEditCountSince( $now - $wgClickTrackContribGranularity2 ) : 0; |
47 | 47 | |
48 | 48 | $granularity3 = $isLoggedIn ? |
49 | | - ClickTrackingHooks::getEditCountSince( $now - $wgClickTrackContribGranularity3 ) : 0; |
| 49 | + getUserEditCountSince( $now - $wgClickTrackContribGranularity3 ) : 0; |
50 | 50 | |
51 | 51 | ClickTrackingHooks::trackEvent( |
52 | 52 | $sessionId, // randomly generated session ID |
Index: branches/REL1_17/extensions/PagedTiffHandler/PagedTiffHandler.i18n.php |
— | — | @@ -28,7 +28,7 @@ |
29 | 29 | 'tiff_size_error' => 'The reported file size does not match the actual file size.', |
30 | 30 | 'tiff_script_detected' => 'The uploaded file contains scripts.', |
31 | 31 | 'tiff_bad_file' => 'The uploaded file contains errors: $1', |
32 | | - 'tiff-file-info-size' => '(page $5, $1 × $2 pixel, file size: $3, MIME type: $4)', |
| 32 | + 'tiff-file-info-size' => 'page $5, $1 × $2 pixel, file size: $3, MIME type: $4', |
33 | 33 | ); |
34 | 34 | |
35 | 35 | /** Message documentation (Message documentation) |
Index: branches/REL1_17/extensions/UserDailyContribs/UserDailyContribs.php |
— | — | @@ -28,3 +28,30 @@ |
29 | 29 | $wgHooks['LoadExtensionSchemaUpdates'][] = 'UserDailyContribsHooks::loadExtensionSchemaUpdates'; |
30 | 30 | $wgHooks['ArticleSaveComplete'][] = 'UserDailyContribsHooks::articleSaveComplete'; |
31 | 31 | $wgHooks['ParserTestTables'][] = 'UserDailyContribsHooks::parserTestTables'; |
| 32 | + |
| 33 | +/** |
| 34 | + * Get the number of revisions a user has made since a given time |
| 35 | + * |
| 36 | + * @param $time beginning timestamp |
| 37 | + * @return number of revsions this user has made |
| 38 | + */ |
| 39 | +function getUserEditCountSince( $time = null, User $user = null ) { |
| 40 | + global $wgUser; |
| 41 | + |
| 42 | + // Fallback on current user |
| 43 | + if ( is_null( $user ) ) { |
| 44 | + $user = $wgUser; |
| 45 | + } |
| 46 | + // Round time down to a whole day |
| 47 | + $time = gmdate( 'Y-m-d', wfTimestamp( TS_UNIX, $time ) ); |
| 48 | + // Query the user contribs table |
| 49 | + $dbr = wfGetDB( DB_SLAVE ); |
| 50 | + $edits = $dbr->selectField( |
| 51 | + 'user_daily_contribs', |
| 52 | + 'SUM(contribs)', |
| 53 | + array( 'user_id' => $user->getId(), 'day >= ' . $dbr->addQuotes( $time ) ), |
| 54 | + __METHOD__ |
| 55 | + ); |
| 56 | + // Return edit count as an integer |
| 57 | + return is_null( $edits ) ? 0 : (integer) $edits; |
| 58 | +} |
Index: branches/REL1_17/extensions/TimedMediaHandler/TimedMediaHandler.i18n.php |
— | — | @@ -13,11 +13,11 @@ |
14 | 14 | 'timedmedia-short-audio' => 'Ogg $1 sound file, $2', |
15 | 15 | 'timedmedia-short-video' => 'Ogg $1 video file, $2', |
16 | 16 | 'timedmedia-short-general' => 'Ogg $1 media file, $2', |
17 | | - 'timedmedia-long-audio' => '(Ogg $1 sound file, length $2, $3)', |
18 | | - 'timedmedia-long-video' => '(Ogg $1 video file, length $2, $4×$5 pixels, $3)', |
19 | | - 'timedmedia-long-multiplexed' => '(Ogg multiplexed audio/video file, $1, length $2, $4×$5 pixels, $3 overall)', |
20 | | - 'timedmedia-long-general' => '(Ogg media file, length $2, $3)', |
21 | | - 'timedmedia-long-error' => '(Invalid Ogg file: $1)', |
| 17 | + 'timedmedia-long-audio' => 'Ogg $1 sound file, length $2, $3', |
| 18 | + 'timedmedia-long-video' => 'Ogg $1 video file, length $2, $4×$5 pixels, $3', |
| 19 | + 'timedmedia-long-multiplexed' => 'Ogg multiplexed audio/video file, $1, length $2, $4×$5 pixels, $3 overall', |
| 20 | + 'timedmedia-long-general' => 'Ogg media file, length $2, $3', |
| 21 | + 'timedmedia-long-error' => 'Invalid Ogg file: $1', |
22 | 22 | 'timedmedia-no-player-js' => 'Sorry, your browser either has JavaScript disabled or does not have any supported player.<br /> |
23 | 23 | You can <a href="$1">download the clip</a> or <a href="http://www.mediawiki.org/wiki/Extension:OggHandler/Client_download">download a player</a> to play the clip in your browser.', |
24 | 24 | |
Index: branches/REL1_17/phase3/maintenance/archives/patch-langlinks-ll_lang-20.sql |
— | — | @@ -0,0 +1,3 @@ |
| 2 | +ALTER TABLE /*$wgDBprefix*/langlinks |
| 3 | + MODIFY `ll_lang` |
| 4 | + VARBINARY(20) NOT NULL DEFAULT ''; |
\ No newline at end of file |
Property changes on: branches/REL1_17/phase3/maintenance/archives/patch-langlinks-ll_lang-20.sql |
___________________________________________________________________ |
Added: svn:eol-style |
1 | 5 | + native |
Index: branches/REL1_17/phase3/includes/ImagePage.php |
— | — | @@ -330,7 +330,7 @@ |
331 | 331 | $height_orig = $this->displayImg->getHeight( $page ); |
332 | 332 | $height = $height_orig; |
333 | 333 | |
334 | | - $longDesc = wfMsgExt( 'parentheses', 'parseinline', $this->displayImg->getLongDesc() ); |
| 334 | + $longDesc = wfMsg( 'parentheses', $this->displayImg->getLongDesc() ); |
335 | 335 | |
336 | 336 | wfRunHooks( 'ImageOpenShowImageInlineBefore', array( &$this, &$wgOut ) ); |
337 | 337 | |
Index: branches/REL1_17/phase3/includes/HTMLForm.php |
— | — | @@ -471,7 +471,11 @@ |
472 | 472 | function getErrors( $errors ) { |
473 | 473 | if ( $errors instanceof Status ) { |
474 | 474 | global $wgOut; |
475 | | - $errorstr = $wgOut->parse( $errors->getWikiText() ); |
| 475 | + if ( $errors->isOK() ) { |
| 476 | + $errorstr = ''; |
| 477 | + } else { |
| 478 | + $errorstr = $wgOut->parse( $errors->getWikiText() ); |
| 479 | + } |
476 | 480 | } elseif ( is_array( $errors ) ) { |
477 | 481 | $errorstr = $this->formatErrors( $errors ); |
478 | 482 | } else { |
Property changes on: branches/REL1_17/phase3/includes/HTMLForm.php |
___________________________________________________________________ |
Modified: svn:mergeinfo |
479 | 483 | Merged /trunk/phase3/includes/HTMLForm.php:r78395,79968,81311,81313,81349,81352,81376,81389,81397,81399,81412 |
Index: branches/REL1_17/phase3/includes/installer/MysqlUpdater.php |
— | — | @@ -173,6 +173,7 @@ |
174 | 174 | array( 'addTable', 'module_deps', 'patch-module_deps.sql' ), |
175 | 175 | array( 'dropIndex', 'archive', 'ar_page_revid', 'patch-archive_kill_ar_page_revid.sql' ), |
176 | 176 | array( 'addIndex', 'archive', 'ar_revid', 'patch-archive_ar_revid.sql' ), |
| 177 | + array( 'doLangLinksLengthUpdate' ), |
177 | 178 | ); |
178 | 179 | } |
179 | 180 | |
— | — | @@ -815,4 +816,18 @@ |
816 | 817 | $this->applyPatch( 'patch-categorylinks-better-collation2.sql' ); |
817 | 818 | $this->output( "done.\n" ); |
818 | 819 | } |
| 820 | + |
| 821 | + protected function doLangLinksLengthUpdate() { |
| 822 | + $langlinks = $this->db->tableName( 'langlinks' ); |
| 823 | + $res = $this->db->query( "SHOW COLUMNS FROM $langlinks LIKE 'll_lang'" ); |
| 824 | + $row = $this->db->fetchObject( $res ); |
| 825 | + |
| 826 | + if ( $row && $row->Type == "varbinary(10)" ) { |
| 827 | + $this->output( 'Updating length of ll_lang in langlinks...' ); |
| 828 | + $this->applyPatch( 'patch-langlinks-ll_lang-20.sql' ); |
| 829 | + $this->output( "done.\n" ); |
| 830 | + } else { |
| 831 | + $this->output( "...ll_lang is up-to-date.\n" ); |
| 832 | + } |
| 833 | + } |
819 | 834 | } |
Property changes on: branches/REL1_17/phase3/includes/installer/MysqlUpdater.php |
___________________________________________________________________ |
Modified: svn:mergeinfo |
820 | 835 | Merged /trunk/phase3/includes/installer/MysqlUpdater.php:r78395,79968,81311,81313,81349,81352,81376,81389,81397,81399,81412 |
Index: branches/REL1_17/phase3/includes/Revision.php |
— | — | @@ -82,6 +82,9 @@ |
83 | 83 | if ( isset( $row->ar_text ) && !$row->ar_text_id ) { |
84 | 84 | // Pre-1.5 ar_text row |
85 | 85 | $attribs['text'] = self::getRevisionText( $row, 'ar_' ); |
| 86 | + if ( $attribs['text'] === false ) { |
| 87 | + throw new MWException( 'Unable to load text from archive row (possibly bug 22624)' ); |
| 88 | + } |
86 | 89 | } |
87 | 90 | return new self( $attribs ); |
88 | 91 | } |
Property changes on: branches/REL1_17/phase3/includes/Revision.php |
___________________________________________________________________ |
Added: svn:mergeinfo |
89 | 92 | Merged /branches/sqlite/includes/Revision.php:r58211-58321 |
90 | 93 | Merged /trunk/phase3/includes/Revision.php:r78395,79968,81311,81313,81349,81352,81376,81389,81397,81399,81412 |
91 | 94 | Merged /branches/new-installer/phase3/includes/Revision.php:r43664-66004 |
92 | 95 | Merged /branches/wmf-deployment/includes/Revision.php:r53381 |
93 | 96 | Merged /branches/REL1_15/phase3/includes/Revision.php:r51646 |
94 | 97 | Merged /branches/wmf/1.16wmf4/includes/Revision.php:r80947 |
Index: branches/REL1_17/phase3/includes/DefaultSettings.php |
— | — | @@ -539,9 +539,16 @@ |
540 | 540 | # A ZIP file may be a valid Java archive containing an applet which exploits the |
541 | 541 | # same-origin policy to steal cookies |
542 | 542 | 'application/zip', |
| 543 | + |
543 | 544 | # MS Office OpenXML and other Open Package Conventions files are zip files |
544 | | - # and thus blacklisted just as other zip files |
| 545 | + # and thus blacklisted just as other zip files. If you remove these entries |
| 546 | + # from the blacklist in your local configuration, a malicious file upload |
| 547 | + # will be able to compromise the wiki's user accounts, and the user |
| 548 | + # accounts of any other website in the same cookie domain. |
545 | 549 | 'application/x-opc+zip', |
| 550 | + 'application/msword', |
| 551 | + 'application/vnd.ms-powerpoint', |
| 552 | + 'application/vnd.msexcel', |
546 | 553 | ); |
547 | 554 | |
548 | 555 | /** |
Property changes on: branches/REL1_17/phase3/includes/DefaultSettings.php |
___________________________________________________________________ |
Modified: svn:mergeinfo |
549 | 556 | Merged /trunk/phase3/includes/DefaultSettings.php:r78395,79968,81311,81313,81349,81352,81376,81389,81397,81399,81412 |
Index: branches/REL1_17/phase3/includes/specials/SpecialSearch.php |
— | — | @@ -587,7 +587,7 @@ |
588 | 588 | if( $img ) { |
589 | 589 | $thumb = $img->transform( array( 'width' => 120, 'height' => 120 ) ); |
590 | 590 | if( $thumb ) { |
591 | | - $desc = wfMsgExt( 'parentheses', 'parseinline', $img->getShortDesc() ); |
| 591 | + $desc = wfMsg( 'parentheses', $img->getShortDesc() ); |
592 | 592 | wfProfileOut( __METHOD__ ); |
593 | 593 | // Float doesn't seem to interact well with the bullets. |
594 | 594 | // Table messes up vertical alignment of the bullets. |
Property changes on: branches/REL1_17/phase3/includes/specials/SpecialSearch.php |
___________________________________________________________________ |
Modified: svn:mergeinfo |
595 | 595 | Merged /trunk/phase3/includes/specials/SpecialSearch.php:r78395,79968,81311,81313,81349,81352,81376,81389,81397,81399,81412 |
Index: branches/REL1_17/phase3/includes/Pager.php |
— | — | @@ -1047,20 +1047,26 @@ |
1048 | 1048 | function getLimitForm() { |
1049 | 1049 | global $wgScript; |
1050 | 1050 | |
| 1051 | + return Xml::openElement( |
| 1052 | + 'form', |
| 1053 | + array( |
| 1054 | + 'method' => 'get', |
| 1055 | + 'action' => $wgScript |
| 1056 | + ) ) . "\n" . $this->getLimitDropdown() . "</form>\n"; |
| 1057 | + } |
| 1058 | + |
| 1059 | + /** |
| 1060 | + * Gets a limit selection dropdown |
| 1061 | + * |
| 1062 | + * @return string |
| 1063 | + */ |
| 1064 | + function getLimitDropdown() { |
1051 | 1065 | # Make the select with some explanatory text |
1052 | 1066 | $msgSubmit = wfMsgHtml( 'table_pager_limit_submit' ); |
1053 | | - return |
1054 | | - Xml::openElement( |
1055 | | - 'form', |
1056 | | - array( |
1057 | | - 'method' => 'get', |
1058 | | - 'action' => $wgScript |
1059 | | - ) |
1060 | | - ) . "\n" . |
1061 | | - wfMsgHtml( 'table_pager_limit', $this->getLimitSelect() ) . |
| 1067 | + |
| 1068 | + return wfMsgHtml( 'table_pager_limit', $this->getLimitSelect() ) . |
1062 | 1069 | "\n<input type=\"submit\" value=\"$msgSubmit\"/>\n" . |
1063 | | - $this->getHiddenFields( array( 'limit' ) ) . |
1064 | | - "</form>\n"; |
| 1070 | + $this->getHiddenFields( array( 'limit' ) ); |
1065 | 1071 | } |
1066 | 1072 | |
1067 | 1073 | /** |