Index: branches/wmf/1.17wmf1/skins/common/search.css |
— | — | @@ -9,6 +9,6 @@ |
10 | 10 | * |
11 | 11 | * This will only affect IE 7 and lower |
12 | 12 | */ |
13 | | -html > body .searchresult { |
14 | | - display: inline; |
| 13 | +.searchresult { |
| 14 | + display: inline !ie; |
15 | 15 | } |
Index: branches/wmf/1.17wmf1/extensions/Collection/Collection.suggest.php |
— | — | @@ -131,6 +131,7 @@ |
132 | 132 | */ |
133 | 133 | |
134 | 134 | private static function unban( $article ) { |
| 135 | + if (!isset($_SESSION['wsCollectionSuggestBan']) return; |
135 | 136 | $bans = $_SESSION['wsCollectionSuggestBan']; |
136 | 137 | $newbans = array(); |
137 | 138 | foreach ( $bans as $ban ) { |
Index: branches/wmf/1.17wmf1/extensions/CodeReview/codereview.css |
— | — | @@ -132,7 +132,7 @@ |
133 | 133 | } |
134 | 134 | |
135 | 135 | .mw-codereview-diff .meta { |
136 | | - color: darkcyan; |
| 136 | + color: #008b8b; |
137 | 137 | } |
138 | 138 | |
139 | 139 | .mw-wordcloud-size-1, .mw-wordcloud-size-2, |
Property changes on: branches/wmf/1.17wmf1/extensions/CodeReview/codereview.css |
___________________________________________________________________ |
Added: svn:mergeinfo |
140 | 140 | Merged /branches/sqlite/extensions/CodeReview/codereview.css:r58211-58321 |
141 | 141 | Merged /trunk/phase3/extensions/CodeReview/codereview.css:r79828,79830,79848,79853,79950-79951,79954,79989,80006-80007,80013,80016,80080,80083,80124,80128,80238,81833,83212,83590 |
142 | 142 | Merged /trunk/extensions/CodeReview/modules/ext.codereview.css:r81548 |
143 | 143 | Merged /branches/new-installer/phase3/extensions/CodeReview/codereview.css:r43664-66004 |
144 | 144 | Merged /branches/wmf-deployment/extensions/CodeReview/codereview.css:r60970 |
145 | 145 | Merged /branches/REL1_15/phase3/extensions/CodeReview/codereview.css:r51646 |
146 | 146 | Merged /branches/wmf/1.16wmf4/extensions/CodeReview/codereview.css:r67177,69199,76243,77266 |
Index: branches/wmf/1.17wmf1/extensions/CodeReview/backend/CodeRevision.php |
— | — | @@ -422,13 +422,13 @@ |
423 | 423 | } |
424 | 424 | |
425 | 425 | public function previewComment( $text, $review, $parent = null ) { |
426 | | - $data = $this->commentData( $text, $review, $parent ); |
| 426 | + $data = $this->commentData( rtrim( $text ), $review, $parent ); |
427 | 427 | $data['cc_id'] = null; |
428 | 428 | return CodeComment::newFromData( $this, $data ); |
429 | 429 | } |
430 | 430 | |
431 | 431 | public function saveComment( $text, $review, $parent = null ) { |
432 | | - $text = trim( $text ); |
| 432 | + $text = rtrim( $text ); |
433 | 433 | if ( !strlen( $text ) ) { |
434 | 434 | return 0; |
435 | 435 | } |
— | — | @@ -870,7 +870,9 @@ |
871 | 871 | protected function tagData( $tags ) { |
872 | 872 | $data = array(); |
873 | 873 | foreach ( $tags as $tag ) { |
874 | | - if ( $tag == '' ) continue; |
| 874 | + if ( $tag == '' ) { |
| 875 | + continue; |
| 876 | + } |
875 | 877 | $data[] = array( |
876 | 878 | 'ct_repo_id' => $this->mRepoId, |
877 | 879 | 'ct_rev_id' => $this->mId, |
— | — | @@ -880,15 +882,13 @@ |
881 | 883 | } |
882 | 884 | |
883 | 885 | public function normalizeTag( $tag ) { |
884 | | - global $wgContLang; |
885 | | - $lower = $wgContLang->lc( $tag ); |
886 | | - |
887 | 886 | $title = Title::newFromText( $tag ); |
888 | | - if ( $title && $lower === $wgContLang->lc( $title->getPrefixedText() ) ) { |
889 | | - return $lower; |
890 | | - } else { |
891 | | - return false; |
| 887 | + if ( $title ) { |
| 888 | + global $wgContLang; |
| 889 | + return $wgContLang->lc( $title->getDbKey() ); |
892 | 890 | } |
| 891 | + |
| 892 | + return false; |
893 | 893 | } |
894 | 894 | |
895 | 895 | public function isValidTag( $tag ) { |
Index: branches/wmf/1.17wmf1/extensions/CentralAuth/SpecialCentralAuth.php |
— | — | @@ -10,7 +10,7 @@ |
11 | 11 | function execute( $subpage ) { |
12 | 12 | global $wgOut; |
13 | 13 | global $wgExtensionAssetsPath, $wgCentralAuthStyleVersion; |
14 | | - global $wgUser, $wgRequest; |
| 14 | + global $wgUser, $wgRequest, $wgContLang; |
15 | 15 | $this->setHeaders(); |
16 | 16 | |
17 | 17 | $this->mCanUnmerge = $wgUser->isAllowed( 'centralauth-unmerge' ); |
— | — | @@ -28,6 +28,8 @@ |
29 | 29 | trim( |
30 | 30 | str_replace( '_', ' ', |
31 | 31 | $wgRequest->getText( 'target', $subpage ) ) ); |
| 32 | + |
| 33 | + $this->mUserName = $wgContLang->ucfirst( $this->mUserName ); |
32 | 34 | |
33 | 35 | $this->mPosted = $wgRequest->wasPosted(); |
34 | 36 | $this->mMethod = $wgRequest->getVal( 'wpMethod' ); |
Index: branches/wmf/1.17wmf1/includes/Sanitizer.php |
— | — | @@ -1107,7 +1107,8 @@ |
1108 | 1108 | * for XML and XHTML specifically. Any stray bits will be |
1109 | 1109 | * &-escaped to result in a valid text fragment. |
1110 | 1110 | * |
1111 | | - * a. any named char refs must be known in XHTML |
| 1111 | + * a. named char refs can only be < > & ", others are |
| 1112 | + * numericized (this way we're well-formed even without a DTD) |
1112 | 1113 | * b. any numeric char refs must be legal chars, not invalid or forbidden |
1113 | 1114 | * c. use &#x, not &#X |
1114 | 1115 | * d. fix or reject non-valid attributes |
— | — | @@ -1146,9 +1147,10 @@ |
1147 | 1148 | |
1148 | 1149 | /** |
1149 | 1150 | * If the named entity is defined in the HTML 4.0/XHTML 1.0 DTD, |
1150 | | - * return the named entity reference as is. If the entity is a |
1151 | | - * MediaWiki-specific alias, returns the HTML equivalent. Otherwise, |
1152 | | - * returns HTML-escaped text of pseudo-entity source (eg &foo;) |
| 1151 | + * return the equivalent numeric entity reference (except for the core < |
| 1152 | + * > & "). If the entity is a MediaWiki-specific alias, returns |
| 1153 | + * the HTML equivalent. Otherwise, returns HTML-escaped text of |
| 1154 | + * pseudo-entity source (eg &foo;) |
1153 | 1155 | * |
1154 | 1156 | * @param $name String |
1155 | 1157 | * @return String |
— | — | @@ -1157,8 +1159,11 @@ |
1158 | 1160 | global $wgHtmlEntities, $wgHtmlEntityAliases; |
1159 | 1161 | if ( isset( $wgHtmlEntityAliases[$name] ) ) { |
1160 | 1162 | return "&{$wgHtmlEntityAliases[$name]};"; |
1161 | | - } elseif( isset( $wgHtmlEntities[$name] ) ) { |
| 1163 | + } elseif ( in_array( $name, |
| 1164 | + array( 'lt', 'gt', 'amp', 'quot' ) ) ) { |
1162 | 1165 | return "&$name;"; |
| 1166 | + } elseif ( isset( $wgHtmlEntities[$name] ) ) { |
| 1167 | + return "&#{$wgHtmlEntities[$name]};"; |
1163 | 1168 | } else { |
1164 | 1169 | return "&$name;"; |
1165 | 1170 | } |
Index: branches/wmf/1.17wmf1/includes/api/ApiQueryUsers.php |
— | — | @@ -1,10 +1,10 @@ |
2 | 2 | <?php |
3 | 3 | /** |
4 | | - * API for MediaWiki 1.8+ |
5 | 4 | * |
| 5 | + * |
6 | 6 | * Created on July 30, 2007 |
7 | 7 | * |
8 | | - * Copyright © 2007 Roan Kattouw <Firstname>.<Lastname>@home.nl |
| 8 | + * Copyright © 2007 Roan Kattouw <Firstname>.<Lastname>@gmail.com |
9 | 9 | * |
10 | 10 | * This program is free software; you can redistribute it and/or modify |
11 | 11 | * it under the terms of the GNU General Public License as published by |
— | — | @@ -34,7 +34,7 @@ |
35 | 35 | * |
36 | 36 | * @ingroup API |
37 | 37 | */ |
38 | | - class ApiQueryUsers extends ApiQueryBase { |
| 38 | +class ApiQueryUsers extends ApiQueryBase { |
39 | 39 | |
40 | 40 | private $tokenFunctions, $prop; |
41 | 41 | |
— | — | @@ -66,6 +66,11 @@ |
67 | 67 | return $this->tokenFunctions; |
68 | 68 | } |
69 | 69 | |
| 70 | + /** |
| 71 | + * @static |
| 72 | + * @param $user User |
| 73 | + * @return String |
| 74 | + */ |
70 | 75 | public static function getUserrightsToken( $user ) { |
71 | 76 | global $wgUser; |
72 | 77 | // Since the permissions check for userrights is non-trivial, |
— | — | @@ -104,14 +109,16 @@ |
105 | 110 | } |
106 | 111 | } |
107 | 112 | |
| 113 | + $result = $this->getResult(); |
| 114 | + |
108 | 115 | if ( count( $goodNames ) ) { |
109 | | - $this->addTables( 'user', 'u1' ); |
110 | | - $this->addFields( 'u1.*' ); |
111 | | - $this->addWhereFld( 'u1.user_name', $goodNames ); |
| 116 | + $this->addTables( 'user' ); |
| 117 | + $this->addFields( '*' ); |
| 118 | + $this->addWhereFld( 'user_name', $goodNames ); |
112 | 119 | |
113 | | - if ( isset( $this->prop['groups'] ) ) { |
| 120 | + if ( isset( $this->prop['groups'] ) || isset( $this->prop['rights'] ) ) { |
114 | 121 | $this->addTables( 'user_groups' ); |
115 | | - $this->addJoinConds( array( 'user_groups' => array( 'LEFT JOIN', 'ug_user=u1.user_id' ) ) ); |
| 122 | + $this->addJoinConds( array( 'user_groups' => array( 'LEFT JOIN', 'ug_user=user_id' ) ) ); |
116 | 123 | $this->addFields( 'ug_group' ); |
117 | 124 | } |
118 | 125 | |
— | — | @@ -119,9 +126,12 @@ |
120 | 127 | |
121 | 128 | $data = array(); |
122 | 129 | $res = $this->select( __METHOD__ ); |
| 130 | + |
123 | 131 | foreach ( $res as $row ) { |
124 | 132 | $user = User::newFromRow( $row ); |
125 | 133 | $name = $user->getName(); |
| 134 | + |
| 135 | + $data[$name]['userid'] = $user->getId(); |
126 | 136 | $data[$name]['name'] = $name; |
127 | 137 | |
128 | 138 | if ( isset( $this->prop['editcount'] ) ) { |
— | — | @@ -132,19 +142,26 @@ |
133 | 143 | $data[$name]['registration'] = wfTimestampOrNull( TS_ISO_8601, $user->getRegistration() ); |
134 | 144 | } |
135 | 145 | |
136 | | - if ( isset( $this->prop['groups'] ) && !is_null( $row->ug_group ) ) { |
137 | | - // This row contains only one group, others will be added from other rows |
138 | | - $data[$name]['groups'][] = $row->ug_group; |
| 146 | + if ( isset( $this->prop['groups'] ) ) { |
| 147 | + if ( !isset( $data[$name]['groups'] ) ) { |
| 148 | + $data[$name]['groups'] = self::getAutoGroups( $user ); |
| 149 | + } |
| 150 | + |
| 151 | + if ( !is_null( $row->ug_group ) ) { |
| 152 | + // This row contains only one group, others will be added from other rows |
| 153 | + $data[$name]['groups'][] = $row->ug_group; |
| 154 | + } |
139 | 155 | } |
140 | 156 | |
141 | | - if ( isset( $this->prop['rights'] ) && !is_null( $row->ug_group ) ) { |
| 157 | + if ( isset( $this->prop['rights'] ) ) { |
142 | 158 | if ( !isset( $data[$name]['rights'] ) ) { |
143 | 159 | $data[$name]['rights'] = User::getGroupPermissions( User::getImplicitGroups() ); |
144 | 160 | } |
145 | 161 | |
146 | | - $data[$name]['rights'] = array_unique( array_merge( $data[$name]['rights'], |
147 | | - User::getGroupPermissions( array( $row->ug_group ) ) ) ); |
148 | | - $result->setIndexedTagName( $data[$name]['rights'], 'r' ); |
| 162 | + if ( !is_null( $row->ug_group ) ) { |
| 163 | + $data[$name]['rights'] = array_unique( array_merge( $data[$name]['rights'], |
| 164 | + User::getGroupPermissions( array( $row->ug_group ) ) ) ); |
| 165 | + } |
149 | 166 | } |
150 | 167 | if ( $row->ipb_deleted ) { |
151 | 168 | $data[$name]['hidden'] = ''; |
— | — | @@ -180,6 +197,7 @@ |
181 | 198 | } |
182 | 199 | } |
183 | 200 | } |
| 201 | + |
184 | 202 | // Second pass: add result data to $retval |
185 | 203 | foreach ( $goodNames as $u ) { |
186 | 204 | if ( !isset( $data[$u] ) ) { |
— | — | @@ -207,13 +225,13 @@ |
208 | 226 | } |
209 | 227 | } else { |
210 | 228 | if ( isset( $this->prop['groups'] ) && isset( $data[$u]['groups'] ) ) { |
211 | | - $autolist = ApiQueryUsers::getAutoGroups( User::newFromName( $u ) ); |
212 | | - |
213 | | - $data[$u]['groups'] = array_merge( $autolist, $data[$u]['groups'] ); |
214 | | - |
215 | | - $this->getResult()->setIndexedTagName( $data[$u]['groups'], 'g' ); |
| 229 | + $result->setIndexedTagName( $data[$u]['groups'], 'g' ); |
216 | 230 | } |
| 231 | + if ( isset( $this->prop['rights'] ) && isset( $data[$u]['rights'] ) ) { |
| 232 | + $result->setIndexedTagName( $data[$u]['rights'], 'r' ); |
| 233 | + } |
217 | 234 | } |
| 235 | + |
218 | 236 | $fit = $result->addValue( array( 'query', $this->getModuleName() ), |
219 | 237 | null, $data[$u] ); |
220 | 238 | if ( !$fit ) { |
— | — | @@ -223,11 +241,12 @@ |
224 | 242 | } |
225 | 243 | $done[] = $u; |
226 | 244 | } |
227 | | - return $this->getResult()->setIndexedTagName_internal( array( 'query', $this->getModuleName() ), 'user' ); |
| 245 | + return $result->setIndexedTagName_internal( array( 'query', $this->getModuleName() ), 'user' ); |
228 | 246 | } |
229 | 247 | |
230 | 248 | /** |
231 | 249 | * Gets all the groups that a user is automatically a member of |
| 250 | + * @param $user User |
232 | 251 | * @return array |
233 | 252 | */ |
234 | 253 | public static function getAutoGroups( $user ) { |
— | — | @@ -256,6 +275,7 @@ |
257 | 276 | ApiBase::PARAM_TYPE => array( |
258 | 277 | 'blockinfo', |
259 | 278 | 'groups', |
| 279 | + 'rights', |
260 | 280 | 'editcount', |
261 | 281 | 'registration', |
262 | 282 | 'emailable', |
Index: branches/wmf/1.17wmf1/includes/Title.php |
— | — | @@ -3098,19 +3098,26 @@ |
3099 | 3099 | |
3100 | 3100 | // Refresh the sortkey for this row. Be careful to avoid resetting |
3101 | 3101 | // cl_timestamp, which may disturb time-based lists on some sites. |
3102 | | - $prefix = $dbw->selectField( |
| 3102 | + $prefixes = $dbw->select( |
3103 | 3103 | 'categorylinks', |
3104 | | - 'cl_sortkey_prefix', |
| 3104 | + array( 'cl_sortkey_prefix', 'cl_to' ), |
3105 | 3105 | array( 'cl_from' => $pageid ), |
3106 | 3106 | __METHOD__ |
3107 | 3107 | ); |
3108 | | - $dbw->update( 'categorylinks', |
3109 | | - array( |
3110 | | - 'cl_sortkey' => Collation::singleton()->getSortKey( |
3111 | | - $nt->getCategorySortkey( $prefix ) ), |
3112 | | - 'cl_timestamp=cl_timestamp' ), |
3113 | | - array( 'cl_from' => $pageid ), |
3114 | | - __METHOD__ ); |
| 3108 | + foreach ( $prefixes as $prefixRow ) { |
| 3109 | + $prefix = $prefixRow->cl_sortkey_prefix; |
| 3110 | + $catTo = $prefixRow->cl_to; |
| 3111 | + $dbw->update( 'categorylinks', |
| 3112 | + array( |
| 3113 | + 'cl_sortkey' => Collation::singleton()->getSortKey( |
| 3114 | + $nt->getCategorySortkey( $prefix ) ), |
| 3115 | + 'cl_timestamp=cl_timestamp' ), |
| 3116 | + array( |
| 3117 | + 'cl_from' => $pageid, |
| 3118 | + 'cl_to' => $catTo ), |
| 3119 | + __METHOD__ |
| 3120 | + ); |
| 3121 | + } |
3115 | 3122 | |
3116 | 3123 | if ( $protected ) { |
3117 | 3124 | # Protect the redirect title as the title used to be... |
Property changes on: branches/wmf/1.17wmf1/includes/Title.php |
___________________________________________________________________ |
Modified: svn:mergeinfo |
3118 | 3125 | Merged /trunk/phase3/includes/Title.php:r78990,79844,81548,82022,82193,83061,83067,83583,83610,83716,83764,83787,83813,83866 |
Index: branches/wmf/1.17wmf1/includes/DefaultSettings.php |
— | — | @@ -2299,11 +2299,11 @@ |
2300 | 2300 | * not, use only HTML 4-compatible IDs. This option is for testing -- when the |
2301 | 2301 | * functionality is ready, it will be on by default with no option. |
2302 | 2302 | * |
2303 | | - * Currently this appears to work fine in Chrome 4 and 5, Firefox 3.5 and 3.6, IE6 |
2304 | | - * and 8, and Opera 10.50, but it fails in Opera 10.10: Unicode IDs don't seem |
2305 | | - * to work as anchors. So not quite ready for general use yet. |
| 2303 | + * Currently this appears to work fine in all browsers, but it's disabled by |
| 2304 | + * default because it normalizes id's a bit too aggressively, breaking preexisting |
| 2305 | + * content (particularly Cite). See bug 27733, bug 27694, bug 27474. |
2306 | 2306 | */ |
2307 | | -$wgExperimentalHtmlIds = true; |
| 2307 | +$wgExperimentalHtmlIds = false; |
2308 | 2308 | |
2309 | 2309 | /** |
2310 | 2310 | * Abstract list of footer icons for skins in place of old copyrightico and poweredbyico code |
Property changes on: branches/wmf/1.17wmf1/includes/DefaultSettings.php |
___________________________________________________________________ |
Modified: svn:mergeinfo |
2311 | 2311 | Merged /trunk/phase3/includes/DefaultSettings.php:r78990,79844,81548,82022,82193,83061,83067,83583,83610,83716,83764,83787,83813,83866 |
Index: branches/wmf/1.17wmf1/languages/messages/MessagesOr.php |
— | — | @@ -24,6 +24,30 @@ |
25 | 25 | '9' => '୯', # ୯ |
26 | 26 | ); |
27 | 27 | |
| 28 | +/** namespace translations from translatewiki.net |
| 29 | + * @author Shijualex |
| 30 | + * @author Psubhashish |
| 31 | + */ |
| 32 | +$namespaceNames = array( |
| 33 | + NS_MEDIA => 'ମାଧ୍ୟମ', |
| 34 | + NS_SPECIAL => 'ବିଶେଷ', |
| 35 | + NS_TALK => 'ଆଲୋଚନା', |
| 36 | + NS_USER => 'ବ୍ୟବହାରକାରି', |
| 37 | + NS_USER_TALK => 'ବ୍ୟବହାରକାରିଁକ_ଆଲୋଚନା', |
| 38 | + NS_PROJECT_TALK => 'ଉଇକିପିଡ଼ିଆ_ଆଲୋଚନା', |
| 39 | + NS_FILE => 'ଫାଇଲ', |
| 40 | + NS_FILE_TALK => 'ଫାଇଲ_ଆଲୋଚନା', |
| 41 | + NS_MEDIAWIKI => 'ମିଡ଼ିଆଉଇକି', |
| 42 | + NS_MEDIAWIKI_TALK => 'ମିଡ଼ିଆଉଇକି_ଆଲୋଚନା', |
| 43 | + NS_TEMPLATE => 'ଟେଁପଲେଟ', |
| 44 | + NS_TEMPLATE_TALK => 'ଟେଁପଲେଟ_ଆଲୋଚନା', |
| 45 | + NS_HELP => 'ସାହାଯ୍ୟ', |
| 46 | + NS_HELP_TALK => 'ସାହାଯ୍ୟ_ଆଲୋଚନା', |
| 47 | + NS_CATEGORY => 'ବିଭାଗ', |
| 48 | + NS_CATEGORY_TALK => 'ବିଭାଗିୟ_ଆଲୋଚନା', |
| 49 | +); |
| 50 | + |
| 51 | + |
28 | 52 | $messages = array( |
29 | 53 | 'mytalk' => 'ମୋ କଥା', |
30 | 54 | 'navigation' => 'ଦିଗ୍ଦର୍ଶକ', |
Index: branches/wmf/1.17wmf1/RELEASE-NOTES |
— | — | @@ -608,6 +608,9 @@ |
609 | 609 | file is a multi-page file |
610 | 610 | * (bug 10268) Added linktodiffs parameter on action=feedwatchlist |
611 | 611 | * (bug 26219) Show API limits for multi values in description |
| 612 | +* (bug 28010) Passing a non existant user to list=users gives internal error |
| 613 | +* (bug 27549) action=query&list=users&usprop=groups doesn't show implicit |
| 614 | + groups if a user doesn't have explicit groups |
612 | 615 | |
613 | 616 | === Languages updated in 1.17 === |
614 | 617 | |
Property changes on: branches/wmf/1.17wmf1/RELEASE-NOTES |
___________________________________________________________________ |
Modified: svn:mergeinfo |
615 | 618 | Merged /trunk/phase3/RELEASE-NOTES:r78990,79844,81548,82022,82193,83061,83067,83583,83610,83716,83764,83787,83813,83866 |
Index: branches/wmf/1.17wmf1/resources/mediawiki.action/mediawiki.action.edit.js |
— | — | @@ -11,7 +11,13 @@ |
12 | 12 | // JQuery should also normalize e.which to be consistent cross-browser, |
13 | 13 | // however the same check is still needed regardless of jQuery. |
14 | 14 | |
15 | | - if ( e.which === 0 || e.charCode === 0 || e.ctrlKey || e.altKey || e.metaKey ) { |
| 15 | + // Note: At the moment, for some older opera versions (~< 10.5) |
| 16 | + // some special keys won't be recognized (aka left arrow key). |
| 17 | + // Backspace will be, so not big issue. |
| 18 | + |
| 19 | + if ( e.which === 0 || e.charCode === 0 || e.which === 8 || |
| 20 | + e.ctrlKey || e.altKey || e.metaKey ) |
| 21 | + { |
16 | 22 | return true; //a special key (backspace, etc) so don't interfere. |
17 | 23 | } |
18 | 24 | |
Index: branches/wmf/1.17wmf1/resources/mediawiki.util/mediawiki.util.test.js |
— | — | @@ -169,4 +169,4 @@ |
170 | 170 | |
171 | 171 | mw.test.init(); |
172 | 172 | |
173 | | -} )(jQuery, mediaWiki); |
\ No newline at end of file |
| 173 | +} )(jQuery, mediaWiki); |
Index: branches/wmf/1.17wmf1/resources/mediawiki/mediawiki.js |
— | — | @@ -14,7 +14,7 @@ |
15 | 15 | return str.substr( 0, 1 ).toUpperCase() + str.substr( 1, str.length ); |
16 | 16 | }, |
17 | 17 | escapeRE : function( str ) { |
18 | | - return str.replace ( /([\\{}()\|.?*+-^$\[\]])/g, "\\$1" ); |
| 18 | + return str.replace ( /([\\{}()|.?*+\-^$\[\]])/g, "\\$1" ); |
19 | 19 | }, |
20 | 20 | isEmpty : function( v ) { |
21 | 21 | var key; |
Property changes on: branches/wmf/1.17wmf1/resources/mediawiki/mediawiki.js |
___________________________________________________________________ |
Modified: svn:mergeinfo |
22 | 22 | Merged /trunk/phase3/resources/mediawiki/mediawiki.js:r78990,79844,81548,82022,82193,83061,83067,83583,83610,83716,83764,83787,83813,83866 |
Index: branches/wmf/1.17wmf1/resources/mediawiki/mediawiki.log.js |
— | — | @@ -35,7 +35,7 @@ |
36 | 36 | if ( !$log.length ) { |
37 | 37 | $log = $( '<div id="mw-log-console"></div>' ) |
38 | 38 | .css( { |
39 | | - 'position': 'absolute', |
| 39 | + 'position': 'fixed', |
40 | 40 | 'overflow': 'auto', |
41 | 41 | 'z-index': 500, |
42 | 42 | 'bottom': '0px', |