Index: branches/wmf/1.18wmf1/skins/monobook/IE60Fixes.css |
— | — | @@ -11,17 +11,34 @@ |
12 | 12 | margin-top: 3em; |
13 | 13 | height: 1%; |
14 | 14 | } |
| 15 | +.rtl div#column-content div#content { |
| 16 | + margin-right: 12.2em; |
| 17 | + margin-left: 0; |
| 18 | +} |
15 | 19 | div#column-one { |
16 | 20 | position: absolute; |
17 | 21 | top: 0; |
18 | 22 | left: 0; |
19 | 23 | z-index: 4; |
20 | 24 | } |
| 25 | +.rtl div#column-one { |
| 26 | + left: auto; |
| 27 | + right: 0; |
| 28 | +} |
21 | 29 | div#footer { |
22 | 30 | margin-left: 13.6em; |
23 | 31 | border-left: 1px solid #fabd23; |
24 | 32 | } |
| 33 | +.rtl div#footer { |
| 34 | + margin-left: 0; |
| 35 | + margin-right: 13.6em; |
| 36 | + border-left: none; |
| 37 | + border-right: 1px solid #fabd23; |
| 38 | +} |
25 | 39 | |
| 40 | + /* the tabs */ |
| 41 | + |
| 42 | + |
26 | 43 | /* the tabs */ |
27 | 44 | |
28 | 45 | #p-cactions { |
Index: branches/wmf/1.18wmf1/skins/CologneBlue.php |
— | — | @@ -29,19 +29,23 @@ |
30 | 30 | if ( 2 == $qb ) { # Right |
31 | 31 | $rules[] = "/* @noflip */#quickbar { position: absolute; right: 4px; }"; |
32 | 32 | $rules[] = "/* @noflip */#article { margin-left: 4px; margin-right: 148px; }"; |
| 33 | + $rules[] = "/* @noflip */#topbar, #footer { margin-right: 152px; }"; |
33 | 34 | } elseif ( 1 == $qb ) { |
34 | 35 | $rules[] = "/* @noflip */#quickbar { position: absolute; left: 4px; }"; |
35 | 36 | $rules[] = "/* @noflip */#article { margin-left: 148px; margin-right: 4px; }"; |
| 37 | + $rules[] = "/* @noflip */#topbar, #footer { margin-left: 152px; }"; |
36 | 38 | } elseif ( 3 == $qb ) { # Floating left |
37 | 39 | $rules[] = "/* @noflip */#quickbar { position:absolute; left:4px }"; |
38 | 40 | $rules[] = "/* @noflip */#topbar { margin-left: 148px }"; |
39 | 41 | $rules[] = "/* @noflip */#article { margin-left:148px; margin-right: 4px; }"; |
40 | 42 | $rules[] = "/* @noflip */body>#quickbar { position:fixed; left:4px; top:4px; overflow:auto; bottom:4px;}"; # Hides from IE |
| 43 | + $rules[] = "/* @noflip */#topbar, #footer { margin-left: 152px; }"; |
41 | 44 | } elseif ( 4 == $qb ) { # Floating right |
42 | 45 | $rules[] = "/* @noflip */#quickbar { position: fixed; right: 4px; }"; |
43 | 46 | $rules[] = "/* @noflip */#topbar { margin-right: 148px }"; |
44 | 47 | $rules[] = "/* @noflip */#article { margin-right: 148px; margin-left: 4px; }"; |
45 | 48 | $rules[] = "/* @noflip */body>#quickbar { position: fixed; right: 4px; top: 4px; overflow: auto; bottom:4px;}"; # Hides from IE |
| 49 | + $rules[] = "/* @noflip */#topbar, #footer { margin-left: 152px; }"; |
46 | 50 | } |
47 | 51 | $style = implode( "\n", $rules ); |
48 | 52 | $out->addInlineStyle( $style, 'flip' ); |
— | — | @@ -99,10 +103,6 @@ |
100 | 104 | $s .= "\n<div id='footer'>"; |
101 | 105 | $s .= '<table width="98%" border="0" cellspacing="0"><tr>'; |
102 | 106 | |
103 | | - $qb = $this->getSkin()->qbSetting(); |
104 | | - if ( 1 == $qb || 3 == $qb ) { # Left |
105 | | - $s .= $this->getQuickbarCompensator(); |
106 | | - } |
107 | 107 | $s .= '<td class="bottom">'; |
108 | 108 | |
109 | 109 | $s .= $this->bottomLinks(); |
— | — | @@ -121,12 +121,9 @@ |
122 | 122 | $s .= "\n<br />" . $this->pageStats(); |
123 | 123 | |
124 | 124 | $s .= '</td>'; |
125 | | - if ( 2 == $qb ) { # Right |
126 | | - $s .= $this->getQuickbarCompensator(); |
127 | | - } |
128 | 125 | $s .= "</tr></table>\n</div>\n</div>\n"; |
129 | 126 | |
130 | | - if ( 0 != $qb ) { |
| 127 | + if ( $this->getSkin()->qbSetting() != 0 ) { |
131 | 128 | $s .= $this->quickBar(); |
132 | 129 | } |
133 | 130 | return $s; |
Index: branches/wmf/1.18wmf1/skins/Standard.php |
— | — | @@ -28,9 +28,11 @@ |
29 | 29 | if ( 2 == $qb ) { # Right |
30 | 30 | $rules[] = "/* @noflip */#quickbar { position: absolute; top: 4px; right: 4px; border-left: 2px solid #000000; }"; |
31 | 31 | $rules[] = "/* @noflip */#article, #mw-data-after-content { margin-left: 4px; margin-right: 152px; }"; |
| 32 | + $rules[] = "/* @noflip */#topbar, #footer { margin-right: 152px; }"; |
32 | 33 | } elseif ( 1 == $qb || 3 == $qb ) { |
33 | 34 | $rules[] = "/* @noflip */#quickbar { position: absolute; top: 4px; left: 4px; border-right: 1px solid gray; }"; |
34 | 35 | $rules[] = "/* @noflip */#article, #mw-data-after-content { margin-left: 152px; margin-right: 4px; }"; |
| 36 | + $rules[] = "/* @noflip */#topbar, #footer { margin-left: 152px; }"; |
35 | 37 | if( 3 == $qb ) { |
36 | 38 | $rules[] = "/* @noflip */#quickbar { position: fixed; padding: 4px; }"; |
37 | 39 | } |
— | — | @@ -38,6 +40,7 @@ |
39 | 41 | $rules[] = "/* @noflip */#quickbar { position: fixed; right: 0px; top: 0px; padding: 4px;}"; |
40 | 42 | $rules[] = "/* @noflip */#quickbar { border-right: 1px solid gray; }"; |
41 | 43 | $rules[] = "/* @noflip */#article, #mw-data-after-content { margin-right: 152px; margin-left: 4px; }"; |
| 44 | + $rules[] = "/* @noflip */#topbar, #footer { margin-right: 152px; }"; |
42 | 45 | } |
43 | 46 | $style = implode( "\n", $rules ); |
44 | 47 | $out->addInlineStyle( $style, 'flip' ); |
— | — | @@ -58,17 +61,7 @@ |
59 | 62 | |
60 | 63 | wfProfileOut( __METHOD__ . '-1' ); |
61 | 64 | wfProfileIn( __METHOD__ . '-2' ); |
62 | | - |
63 | | - $qb = $this->getSkin()->qbSetting(); |
64 | | - $shove = ( $qb != 0 ); |
65 | | - $left = ( $qb == 1 || $qb == 3 ); |
66 | | - |
67 | | - if ( $shove && $left ) { # Left |
68 | | - $s .= $this->getQuickbarCompensator(); |
69 | | - } |
70 | | - wfProfileOut( __METHOD__ . '-2' ); |
71 | | - wfProfileIn( __METHOD__ . '-3' ); |
72 | | - $l = $wgContLang->alignStart(); |
| 65 | + $l = $this->getSkin()->getLang()->alignStart(); |
73 | 66 | $s .= "<td class='bottom' align='$l' valign='top'>"; |
74 | 67 | |
75 | 68 | $s .= $this->bottomLinks(); |
— | — | @@ -80,17 +73,14 @@ |
81 | 74 | . '<br /><span id="pagestats">' . $this->pageStats() . '</span>'; |
82 | 75 | |
83 | 76 | $s .= '</td>'; |
84 | | - if ( $shove && !$left ) { # Right |
85 | | - $s .= $this->getQuickbarCompensator(); |
86 | | - } |
87 | 77 | $s .= "</tr></table>\n</div>\n</div>\n"; |
88 | 78 | |
89 | | - wfProfileOut( __METHOD__ . '-3' ); |
90 | | - wfProfileIn( __METHOD__ . '-4' ); |
91 | | - if ( 0 != $qb ) { |
| 79 | + wfProfileOut( __METHOD__ . '-2' ); |
| 80 | + wfProfileIn( __METHOD__ . '-3' ); |
| 81 | + if ( $this->getSkin()->qbSetting() != 0 ) { |
92 | 82 | $s .= $this->quickBar(); |
93 | 83 | } |
94 | | - wfProfileOut( __METHOD__ . '-4' ); |
| 84 | + wfProfileOut( __METHOD__ . '-3' ); |
95 | 85 | wfProfileOut( __METHOD__ ); |
96 | 86 | return $s; |
97 | 87 | } |
Index: branches/wmf/1.18wmf1/skins/vector/screen.css |
— | — | @@ -790,11 +790,10 @@ |
791 | 791 | background-color: #f9f9f9; |
792 | 792 | } |
793 | 793 | pre { |
794 | | - overflow-x: auto; |
795 | 794 | padding: 1em; |
796 | | - border: 1px solid #EBEBEB; |
| 795 | + border: 1px dashed #2f6fab; |
797 | 796 | color: black; |
798 | | - background-color: #F7F7F7; |
| 797 | + background-color: #f9f9f9; |
799 | 798 | line-height: 1.3em; |
800 | 799 | } |
801 | 800 | ul { |
Index: branches/wmf/1.18wmf1/extensions/UploadWizard/resources/mw.UploadWizard.js |
— | — | @@ -358,11 +358,20 @@ |
359 | 359 | this.imageinfo.metadata.orientation = meta.tiff.Orientation.value; |
360 | 360 | } |
361 | 361 | if ( meta.general ) { |
| 362 | + var pixelHeightDim = 'height'; |
| 363 | + var pixelWidthDim = 'width'; |
| 364 | + // this must be called after orientation is set above. If no orientation set, defaults to 0 |
| 365 | + var degrees = this.getOrientationDegrees(); |
| 366 | + // jpegmeta reports pixelHeight & width |
| 367 | + if ( degrees == 90 || degrees == 270 ) { |
| 368 | + pixelHeightDim = 'width'; |
| 369 | + pixelWidthDim = 'height'; |
| 370 | + } |
362 | 371 | if ( meta.general.pixelHeight ) { |
363 | | - this.imageinfo.height = meta.general.pixelHeight.value; |
| 372 | + this.imageinfo[pixelHeightDim] = meta.general.pixelHeight.value; |
364 | 373 | } |
365 | 374 | if ( meta.general.pixelWidth ) { |
366 | | - this.imageinfo.width = meta.general.pixelWidth.value; |
| 375 | + this.imageinfo[pixelWidthDim] = meta.general.pixelWidth.value; |
367 | 376 | } |
368 | 377 | } |
369 | 378 | } |
Index: branches/wmf/1.18wmf1/includes/upload/UploadFromUrl.php |
— | — | @@ -145,7 +145,9 @@ |
146 | 146 | $this->mRemoveTempFile = true; |
147 | 147 | $this->mFileSize = 0; |
148 | 148 | |
149 | | - $req = MWHttpRequest::factory( $this->mUrl ); |
| 149 | + $req = MWHttpRequest::factory( $this->mUrl, array( |
| 150 | + 'followRedirects' => true |
| 151 | + ) ); |
150 | 152 | $req->setCallback( array( $this, 'saveTempFileChunk' ) ); |
151 | 153 | $status = $req->execute(); |
152 | 154 | |
Index: branches/wmf/1.18wmf1/includes/OutputPage.php |
— | — | @@ -2216,7 +2216,7 @@ |
2217 | 2217 | } |
2218 | 2218 | $sk->setupUserCss( $this ); |
2219 | 2219 | |
2220 | | - $ret = Html::htmlHeader( array( 'lang' => $this->getLang()->getCode(), 'dir' => $userdir ) ); |
| 2220 | + $ret = Html::htmlHeader( array( 'lang' => $this->getLang()->getCode(), 'dir' => $userdir, 'class' => 'client-nojs' ) ); |
2221 | 2221 | |
2222 | 2222 | if ( $this->getHTMLTitle() == '' ) { |
2223 | 2223 | $this->setHTMLTitle( wfMsg( 'pagetitle', $this->getPageTitle() ) ); |
Property changes on: branches/wmf/1.18wmf1/includes/OutputPage.php |
___________________________________________________________________ |
Modified: svn:mergeinfo |
2224 | 2224 | Merged /branches/wmf/1.17wmf1/includes/OutputPage.php:r97403,97650,97657,97661,97687,97777 |
2225 | 2225 | Merged /trunk/extensions/includes/OutputPage.php:r97403,97650 |
2226 | 2226 | Merged /trunk/phase3/includes/OutputPage.php:r93912,95318,97403,97650,97657,97661,97687,97777 |
Index: branches/wmf/1.18wmf1/includes/SkinLegacy.php |
— | — | @@ -90,11 +90,10 @@ |
91 | 91 | } |
92 | 92 | |
93 | 93 | function doBeforeContent() { |
94 | | - global $wgContLang; |
| 94 | + global $wgLang; |
95 | 95 | wfProfileIn( __METHOD__ ); |
96 | 96 | |
97 | 97 | $s = ''; |
98 | | - $qb = $this->getSkin()->qbSetting(); |
99 | 98 | |
100 | 99 | $langlinks = $this->otherLanguages(); |
101 | 100 | if ( $langlinks ) { |
— | — | @@ -107,25 +106,20 @@ |
108 | 107 | } |
109 | 108 | |
110 | 109 | $s .= "\n<div id='content'>\n<div id='topbar'>\n" . |
111 | | - "<table border='0' cellspacing='0' width='98%'>\n<tr>\n"; |
| 110 | + "<table border='0' cellspacing='0' width='100%'>\n<tr>\n"; |
112 | 111 | |
113 | | - $shove = ( $qb != 0 ); |
114 | | - $left = ( $qb == 1 || $qb == 3 ); |
115 | | - |
116 | | - if ( !$shove ) { |
| 112 | + if ( $this->getSkin()->qbSetting() == 0 ) { |
117 | 113 | $s .= "<td class='top' align='left' valign='top' rowspan='{$rows}'>\n" . |
118 | | - $this->getSkin()->logoText() . '</td>'; |
119 | | - } elseif ( $left ) { |
120 | | - $s .= $this->getQuickbarCompensator( $rows ); |
| 114 | + $this->getSkin()->logoText( $wgLang->alignStart() ) . '</td>'; |
121 | 115 | } |
122 | 116 | |
123 | | - $l = $wgContLang->alignStart(); |
| 117 | + $l = $wgLang->alignStart(); |
124 | 118 | $s .= "<td {$borderhack} align='$l' valign='top'>\n"; |
125 | 119 | |
126 | 120 | $s .= $this->topLinks(); |
127 | 121 | $s .= '<p class="subtitle">' . $this->pageTitleLinks() . "</p>\n"; |
128 | 122 | |
129 | | - $r = $wgContLang->alignEnd(); |
| 123 | + $r = $wgLang->alignEnd(); |
130 | 124 | $s .= "</td>\n<td {$borderhack} valign='top' align='$r' nowrap='nowrap'>"; |
131 | 125 | $s .= $this->nameAndLogin(); |
132 | 126 | $s .= "\n<br />" . $this->searchForm() . '</td>'; |
— | — | @@ -134,10 +128,6 @@ |
135 | 129 | $s .= "</tr>\n<tr>\n<td class='top' colspan=\"2\">$langlinks</td>\n"; |
136 | 130 | } |
137 | 131 | |
138 | | - if ( $shove && !$left ) { # Right |
139 | | - $s .= $this->getQuickbarCompensator( $rows ); |
140 | | - } |
141 | | - |
142 | 132 | $s .= "</tr>\n</table>\n</div>\n"; |
143 | 133 | $s .= "\n<div id='article'>\n"; |
144 | 134 | |
— | — | @@ -593,6 +583,9 @@ |
594 | 584 | return $wgLang->pipeList( $s ); |
595 | 585 | } |
596 | 586 | |
| 587 | + /** |
| 588 | + * @deprecated in 1.19 |
| 589 | + */ |
597 | 590 | function getQuickbarCompensator( $rows = 1 ) { |
598 | 591 | return "<td width='152' rowspan='{$rows}'> </td>"; |
599 | 592 | } |
Index: branches/wmf/1.18wmf1/includes/ExternalStoreDB.php |
— | — | @@ -29,8 +29,18 @@ |
30 | 30 | * @return DatabaseBase object |
31 | 31 | */ |
32 | 32 | function &getSlave( $cluster ) { |
| 33 | + global $wgDefaultExternalStore; |
| 34 | + |
33 | 35 | $wiki = isset($this->mParams['wiki']) ? $this->mParams['wiki'] : false; |
34 | 36 | $lb =& $this->getLoadBalancer( $cluster ); |
| 37 | + |
| 38 | + if ( !in_array( "DB://".$cluster, $wgDefaultExternalStore ) ) { |
| 39 | + wfDebug( "read only external store" ); |
| 40 | + $lb->allowLagged(true); |
| 41 | + } else { |
| 42 | + wfDebug( "writable external store" ); |
| 43 | + } |
| 44 | + |
35 | 45 | return $lb->getConnection( DB_SLAVE, array(), $wiki ); |
36 | 46 | } |
37 | 47 | |
Index: branches/wmf/1.18wmf1/includes/specials/SpecialPrefixindex.php |
— | — | @@ -195,6 +195,7 @@ |
196 | 196 | } |
197 | 197 | } |
198 | 198 | |
| 199 | + $footer = ''; |
199 | 200 | if ( $this->including() ) { |
200 | 201 | $out2 = ''; |
201 | 202 | } else { |
— | — | @@ -205,7 +206,7 @@ |
206 | 207 | <td>' . |
207 | 208 | $nsForm . |
208 | 209 | '</td> |
209 | | - <td id="mw-prefixindex-nav-form">'; |
| 210 | + <td id="mw-prefixindex-nav-form" class="mw-prefixindex-nav">'; |
210 | 211 | |
211 | 212 | if( isset( $res ) && $res && ( $n == $this->maxPerPage ) && ( $s = $res->fetchObject() ) ) { |
212 | 213 | $query = array( |
— | — | @@ -217,20 +218,21 @@ |
218 | 219 | $query['namespace'] = $namespace; |
219 | 220 | } |
220 | 221 | |
221 | | - $out2 = $wgLang->pipeList( array( |
222 | | - $out2, |
223 | | - $sk->linkKnown( |
| 222 | + $nextLink = Linker::linkKnown( |
224 | 223 | $self, |
225 | 224 | wfMsgHtml( 'nextpage', str_replace( '_',' ', htmlspecialchars( $s->page_title ) ) ), |
226 | 225 | array(), |
227 | 226 | $query |
228 | | - ) |
229 | | - ) ); |
| 227 | + ); |
| 228 | + $out2 .= $nextLink; |
| 229 | + |
| 230 | + $footer = "\n" . Html::element( "hr" ) |
| 231 | + . Html::rawElement( "div", array( "class" => "mw-prefixindex-nav" ), $nextLink ); |
230 | 232 | } |
231 | 233 | $out2 .= "</td></tr>" . |
232 | 234 | Xml::closeElement( 'table' ); |
233 | 235 | } |
234 | 236 | |
235 | | - $wgOut->addHTML( $out2 . $out ); |
| 237 | + $this->getOutput()->addHTML( $out2 . $out . $footer ); |
236 | 238 | } |
237 | 239 | } |
Index: branches/wmf/1.18wmf1/resources/mediawiki.special/mediawiki.special.css |
— | — | @@ -25,7 +25,6 @@ |
26 | 26 | } |
27 | 27 | .mw-allpages-nav { |
28 | 28 | text-align: right; |
29 | | - font-size: smaller; |
30 | 29 | margin-bottom: 1em; |
31 | 30 | } |
32 | 31 | table.mw-allpages-table-form tr { |
— | — | @@ -72,11 +71,12 @@ |
73 | 72 | width: 98%; |
74 | 73 | } |
75 | 74 | td#mw-prefixindex-nav-form { |
76 | | - font-size: smaller; |
77 | 75 | margin-bottom: 1em; |
78 | | - text-align: right; |
79 | 76 | vertical-align: top; |
80 | 77 | } |
| 78 | +.mw-prefixindex-nav { |
| 79 | + text-align: right; |
| 80 | +} |
81 | 81 | |
82 | 82 | |
83 | 83 | /**** Special:Search ****/ |
Index: branches/wmf/1.18wmf1/resources/mediawiki.page/mediawiki.page.startup.js |
— | — | @@ -3,11 +3,13 @@ |
4 | 4 | /* Client profile classes for <html> */ |
5 | 5 | |
6 | 6 | var prof = $.client.profile(); |
7 | | - $( 'html' ).addClass( |
8 | | - 'client-' + prof.name |
9 | | - + ' client-' + prof.name + '-' + prof.versionBase |
10 | | - + ' client-' + prof.layout |
11 | | - + ' client-' + prof.platform |
12 | | - ); |
| 7 | + $( 'html' ) |
| 8 | + .addClass( |
| 9 | + 'client-' + prof.name |
| 10 | + + ' client-' + prof.name + '-' + prof.versionBase |
| 11 | + + ' client-' + prof.layout |
| 12 | + + ' client-' + prof.platform |
| 13 | + + ' client-js' ) |
| 14 | + .removeClass( 'client-nojs' ); |
13 | 15 | |
14 | 16 | } )( jQuery ); |