Property changes on: branches/REL1_18/phase3/languages/messages |
___________________________________________________________________ |
Modified: svn:mergeinfo |
1 | 1 | Merged /trunk/phase3/languages/messages:r99396 |
Index: branches/REL1_18/phase3/languages/Language.php |
— | — | @@ -3423,7 +3423,7 @@ |
3424 | 3424 | : $infinity; |
3425 | 3425 | } else { |
3426 | 3426 | return $format === true |
3427 | | - ? $this->timeanddate( $expiry, /* User preference timezome */ true ) |
| 3427 | + ? $this->timeanddate( $expiry, /* User preference timezone */ true ) |
3428 | 3428 | : wfTimestamp( $format, $expiry ); |
3429 | 3429 | } |
3430 | 3430 | } |
Property changes on: branches/REL1_18/phase3/languages |
___________________________________________________________________ |
Modified: svn:mergeinfo |
3431 | 3431 | Merged /trunk/phase3/languages:r99135-99136,99138,99154,99172,99250,99252,99254,99318,99396 |
Index: branches/REL1_18/phase3/skins/Standard.php |
— | — | @@ -107,10 +107,10 @@ |
108 | 108 | |
109 | 109 | $barnumber = 1; |
110 | 110 | foreach ( $bar as $browseLinks ) { |
111 | | - if ( $barnumber > 1 ) { |
112 | | - $s .= "\n<hr class='sep' />"; |
113 | | - } |
114 | 111 | if ( is_array( $browseLinks ) ) { |
| 112 | + if ( $barnumber > 1 ) { |
| 113 | + $s .= "\n<hr class='sep' />"; |
| 114 | + } |
115 | 115 | foreach ( $browseLinks as $link ) { |
116 | 116 | if ( $link['text'] != '-' ) { |
117 | 117 | $s .= "<a href=\"{$link['href']}\">" . |
Property changes on: branches/REL1_18/phase3/RELEASE-NOTES-1.18 |
___________________________________________________________________ |
Modified: svn:mergeinfo |
118 | 118 | Merged /trunk/phase3/RELEASE-NOTES-1.18:r99135-99136,99138 |
Index: branches/REL1_18/phase3/includes/parser/ParserOutput.php |
— | — | @@ -155,6 +155,8 @@ |
156 | 156 | if ( $this->mEditSectionTokens ) { |
157 | 157 | return preg_replace_callback( ParserOutput::EDITSECTION_REGEX, |
158 | 158 | array( &$this, 'replaceEditSectionLinksCallback' ), $this->mText ); |
| 159 | + } else { |
| 160 | + return preg_replace( ParserOutput::EDITSECTION_REGEX, '', $this->mText ); |
159 | 161 | } |
160 | 162 | return $this->mText; |
161 | 163 | } |
Index: branches/REL1_18/phase3/includes/parser/ParserCache.php |
— | — | @@ -174,6 +174,11 @@ |
175 | 175 | } |
176 | 176 | |
177 | 177 | wfDebug( "Found.\n" ); |
| 178 | + |
| 179 | + // The edit section preference may not be the appropiate one in |
| 180 | + // the ParserOutput, as we are not storing it in the parsercache |
| 181 | + // key. Force it here. See bug 31445. |
| 182 | + $value->setEditSectionTokens( $popts->getEditSection() ); |
178 | 183 | |
179 | 184 | if ( !$useOutdated && $value->expired( $touched ) ) { |
180 | 185 | wfIncrStats( "pcache_miss_expired" ); |
Index: branches/REL1_18/phase3/includes/parser/Parser.php |
— | — | @@ -4017,7 +4017,7 @@ |
4018 | 4018 | ); |
4019 | 4019 | |
4020 | 4020 | # give headline the correct <h#> tag |
4021 | | - if ( $showEditLink && $sectionIndex !== false ) { |
| 4021 | + if ( $sectionIndex !== false ) { |
4022 | 4022 | // Output edit section links as markers with styles that can be customized by skins |
4023 | 4023 | if ( $isTemplate ) { |
4024 | 4024 | # Put a T flag in the section identifier, to indicate to extractSections() |
Index: branches/REL1_18/phase3/includes/api/ApiQueryDeletedrevs.php |
— | — | @@ -191,7 +191,7 @@ |
192 | 192 | $this->addWhereRange( 'ar_namespace', $dir, null, null ); |
193 | 193 | $this->addWhereRange( 'ar_title', $dir, null, null ); |
194 | 194 | } |
195 | | - $this->addWhereRange( 'ar_timestamp', $dir, $params['start'], $params['end'] ); |
| 195 | + $this->addTimestampWhereRange( 'ar_timestamp', $dir, $params['start'], $params['end'] ); |
196 | 196 | } |
197 | 197 | $res = $this->select( __METHOD__ ); |
198 | 198 | $pageMap = array(); // Maps ns&title to (fake) pageid |
Index: branches/REL1_18/phase3/includes/api/ApiQueryBase.php |
— | — | @@ -220,6 +220,16 @@ |
221 | 221 | } |
222 | 222 | } |
223 | 223 | } |
| 224 | + /** |
| 225 | + * Add a WHERE clause corresponding to a range, similar to addWhereRange, |
| 226 | + * but converts $start and $end to database timestamps. |
| 227 | + * @see addWhereRange |
| 228 | + */ |
| 229 | + protected function addTimestampWhereRange( $field, $dir, $start, $end, $sort = true ) { |
| 230 | + $db = $this->getDb(); |
| 231 | + return $this->addWhereRange( $field, $dir, |
| 232 | + $db->timestamp( $start ), $db->timestamp( $end ), $sort ); |
| 233 | + } |
224 | 234 | |
225 | 235 | /** |
226 | 236 | * Add an option such as LIMIT or USE INDEX. If an option was set |
Index: branches/REL1_18/phase3/includes/api/ApiQueryBlocks.php |
— | — | @@ -81,7 +81,7 @@ |
82 | 82 | $fld_flags ); |
83 | 83 | |
84 | 84 | $this->addOption( 'LIMIT', $params['limit'] + 1 ); |
85 | | - $this->addWhereRange( 'ipb_timestamp', $params['dir'], $params['start'], $params['end'] ); |
| 85 | + $this->addTimestampWhereRange( 'ipb_timestamp', $params['dir'], $params['start'], $params['end'] ); |
86 | 86 | if ( isset( $params['ids'] ) ) { |
87 | 87 | $this->addWhereFld( 'ipb_id', $params['ids'] ); |
88 | 88 | } |
Index: branches/REL1_18/phase3/includes/api/ApiQueryLogEvents.php |
— | — | @@ -116,7 +116,7 @@ |
117 | 117 | $index['logging'] = 'type_time'; |
118 | 118 | } |
119 | 119 | |
120 | | - $this->addWhereRange( 'log_timestamp', $params['dir'], $params['start'], $params['end'] ); |
| 120 | + $this->addTimestampWhereRange( 'log_timestamp', $params['dir'], $params['start'], $params['end'] ); |
121 | 121 | |
122 | 122 | $limit = $params['limit']; |
123 | 123 | $this->addOption( 'LIMIT', $limit + 1 ); |
Index: branches/REL1_18/phase3/includes/api/ApiQueryProtectedTitles.php |
— | — | @@ -64,7 +64,7 @@ |
65 | 65 | $this->addFieldsIf( 'pt_expiry', isset( $prop['expiry'] ) ); |
66 | 66 | $this->addFieldsIf( 'pt_create_perm', isset( $prop['level'] ) ); |
67 | 67 | |
68 | | - $this->addWhereRange( 'pt_timestamp', $params['dir'], $params['start'], $params['end'] ); |
| 68 | + $this->addTimestampWhereRange( 'pt_timestamp', $params['dir'], $params['start'], $params['end'] ); |
69 | 69 | $this->addWhereFld( 'pt_namespace', $params['namespace'] ); |
70 | 70 | $this->addWhereFld( 'pt_create_perm', $params['level'] ); |
71 | 71 | |
Index: branches/REL1_18/phase3/includes/api/ApiQueryWatchlist.php |
— | — | @@ -134,9 +134,8 @@ |
135 | 135 | |
136 | 136 | $db = $this->getDB(); |
137 | 137 | |
138 | | - $this->addWhereRange( 'rc_timestamp', $params['dir'], |
139 | | - $db->timestamp( $params['start'] ), |
140 | | - $db->timestamp( $params['end'] ) ); |
| 138 | + $this->addTimestampWhereRange( 'rc_timestamp', $params['dir'], |
| 139 | + $params['start'], $params['end'] ); |
141 | 140 | $this->addWhereFld( 'wl_namespace', $params['namespace'] ); |
142 | 141 | |
143 | 142 | if ( !$params['allrev'] ) { |
Index: branches/REL1_18/phase3/includes/api/ApiQueryRevisions.php |
— | — | @@ -252,14 +252,14 @@ |
253 | 253 | // one row with the same timestamp for the same page. |
254 | 254 | // The order needs to be the same as start parameter to avoid SQL filesort. |
255 | 255 | if ( is_null( $params['startid'] ) && is_null( $params['endid'] ) ) { |
256 | | - $this->addWhereRange( 'rev_timestamp', $params['dir'], |
| 256 | + $this->addTimestampWhereRange( 'rev_timestamp', $params['dir'], |
257 | 257 | $params['start'], $params['end'] ); |
258 | 258 | } else { |
259 | 259 | $this->addWhereRange( 'rev_id', $params['dir'], |
260 | 260 | $params['startid'], $params['endid'] ); |
261 | 261 | // One of start and end can be set |
262 | 262 | // If neither is set, this does nothing |
263 | | - $this->addWhereRange( 'rev_timestamp', $params['dir'], |
| 263 | + $this->addTimestampWhereRange( 'rev_timestamp', $params['dir'], |
264 | 264 | $params['start'], $params['end'], false ); |
265 | 265 | } |
266 | 266 | |
Index: branches/REL1_18/phase3/includes/api/ApiQueryUserContributions.php |
— | — | @@ -182,7 +182,7 @@ |
183 | 183 | if ( $this->multiUserMode ) { |
184 | 184 | $this->addWhereRange( 'rev_user_text', $this->params['dir'], null, null ); |
185 | 185 | } |
186 | | - $this->addWhereRange( 'rev_timestamp', |
| 186 | + $this->addTimestampWhereRange( 'rev_timestamp', |
187 | 187 | $this->params['dir'], $this->params['start'], $this->params['end'] ); |
188 | 188 | $this->addWhereFld( 'page_namespace', $this->params['namespace'] ); |
189 | 189 | |
Index: branches/REL1_18/phase3/includes/api/ApiQueryRecentChanges.php |
— | — | @@ -140,7 +140,7 @@ |
141 | 141 | */ |
142 | 142 | $this->addTables( 'recentchanges' ); |
143 | 143 | $index = array( 'recentchanges' => 'rc_timestamp' ); // May change |
144 | | - $this->addWhereRange( 'rc_timestamp', $params['dir'], $params['start'], $params['end'] ); |
| 144 | + $this->addTimestampWhereRange( 'rc_timestamp', $params['dir'], $params['start'], $params['end'] ); |
145 | 145 | $this->addWhereFld( 'rc_namespace', $params['namespace'] ); |
146 | 146 | $this->addWhereFld( 'rc_deleted', 0 ); |
147 | 147 | |
Property changes on: branches/REL1_18/phase3/includes/api |
___________________________________________________________________ |
Modified: svn:mergeinfo |
148 | 148 | Merged /trunk/phase3/includes/api:r99135-99136,99138 |
Index: branches/REL1_18/phase3/includes/specials/SpecialUnblock.php |
— | — | @@ -191,11 +191,17 @@ |
192 | 192 | RevisionDeleteUser::unsuppressUserName( $block->getTarget(), $id ); |
193 | 193 | } |
194 | 194 | |
| 195 | + # Redact the name (IP address) for autoblocks |
| 196 | + if ( $block->getType() == Block::TYPE_AUTO ) { |
| 197 | + $page = Title::makeTitle( NS_USER, '#' . $block->getId() ); |
| 198 | + } else { |
| 199 | + $page = $block->getTarget() instanceof User |
| 200 | + ? $block->getTarget()->getUserpage() |
| 201 | + : Title::makeTitle( NS_USER, $block->getTarget() ); |
| 202 | + } |
| 203 | + |
195 | 204 | # Make log entry |
196 | 205 | $log = new LogPage( 'block' ); |
197 | | - $page = $block->getTarget() instanceof User |
198 | | - ? $block->getTarget()->getUserpage() |
199 | | - : Title::makeTitle( NS_USER, $block->getTarget() ); |
200 | 206 | $log->addEntry( 'unblock', $page, $data['Reason'] ); |
201 | 207 | |
202 | 208 | return true; |
Index: branches/REL1_18/phase3/includes/specials/SpecialBlockList.php |
— | — | @@ -244,7 +244,7 @@ |
245 | 245 | |
246 | 246 | switch( $name ) { |
247 | 247 | case 'ipb_timestamp': |
248 | | - $formatted = $this->getLang()->timeanddate( $value, /* User preference timezome */ true ); |
| 248 | + $formatted = $this->getLang()->timeanddate( $value, /* User preference timezone */ true ); |
249 | 249 | break; |
250 | 250 | |
251 | 251 | case 'ipb_target': |
— | — | @@ -270,7 +270,7 @@ |
271 | 271 | break; |
272 | 272 | |
273 | 273 | case 'ipb_expiry': |
274 | | - $formatted = $this->getLang()->formatExpiry( $value, /* User preference timezome */ true ); |
| 274 | + $formatted = $this->getLang()->formatExpiry( $value, /* User preference timezone */ true ); |
275 | 275 | if( $this->getUser()->isAllowed( 'block' ) ){ |
276 | 276 | if( $row->ipb_auto ){ |
277 | 277 | $links[] = $sk->linkKnown( |
Property changes on: branches/REL1_18/phase3/includes/specials |
___________________________________________________________________ |
Modified: svn:mergeinfo |
278 | 278 | Merged /trunk/phase3/includes/specials:r99135-99136,99138,99172,99250,99252,99254,99318 |
Property changes on: branches/REL1_18/phase3/includes |
___________________________________________________________________ |
Modified: svn:mergeinfo |
279 | 279 | Merged /trunk/phase3/includes:r99135-99136,99138,99172,99250,99252,99254,99318 |
Property changes on: branches/REL1_18/phase3 |
___________________________________________________________________ |
Modified: svn:mergeinfo |
280 | 280 | Merged /trunk/phase3:r99135-99136,99138,99154,99172,99250,99252,99254,99318,99353,99396 |