Index: branches/REL1_17/extensions/LiquidThreads/js/lqt.toolbar.js |
— | — | @@ -1339,7 +1339,7 @@ |
1340 | 1340 | 'wikieditor-toolbar-tool-link-cancel': function() { |
1341 | 1341 | // Clear any saved selection state |
1342 | 1342 | var context = $j(this).data( 'context' ); |
1343 | | - context.fn.restoreStuffForIE(); |
| 1343 | + context.fn.restoreSelection(); |
1344 | 1344 | $j(this).dialog( 'close' ); |
1345 | 1345 | } |
1346 | 1346 | }, |
— | — | @@ -1352,8 +1352,8 @@ |
1353 | 1353 | // Pre-fill the text fields based on the current selection |
1354 | 1354 | var context = $j(this).data( 'context' ); |
1355 | 1355 | // Restore and immediately save selection state, needed for inserting stuff later |
1356 | | - context.fn.restoreStuffForIE(); |
1357 | | - context.fn.saveStuffForIE(); |
| 1356 | + context.fn.restoreSelection(); |
| 1357 | + context.fn.saveSelection(); |
1358 | 1358 | var selection = context.$textarea.textSelection( 'getSelection' ); |
1359 | 1359 | $j( '#wikieditor-toolbar-link-int-target' ).focus(); |
1360 | 1360 | // Trigger the change event, so the link status indicator is up to date |
— | — | @@ -1486,7 +1486,7 @@ |
1487 | 1487 | 'wikieditor-toolbar-tool-reference-cancel': function() { |
1488 | 1488 | // Clear any saved selection state |
1489 | 1489 | var context = $j( this ).data( 'context' ); |
1490 | | - context.fn.restoreStuffForIE(); |
| 1490 | + context.fn.restoreSelection(); |
1491 | 1491 | $j( this ).dialog( 'close' ); |
1492 | 1492 | } |
1493 | 1493 | }, |
— | — | @@ -1494,8 +1494,8 @@ |
1495 | 1495 | // Pre-fill the text fields based on the current selection |
1496 | 1496 | var context = $j(this).data( 'context' ); |
1497 | 1497 | // Restore and immediately save selection state, needed for inserting stuff later |
1498 | | - context.fn.restoreStuffForIE(); |
1499 | | - context.fn.saveStuffForIE(); |
| 1498 | + context.fn.restoreSelection(); |
| 1499 | + context.fn.saveSelection(); |
1500 | 1500 | var selection = context.$textarea.textSelection( 'getSelection' ); |
1501 | 1501 | // set focus |
1502 | 1502 | $j( '#wikieditor-toolbar-reference-text' ).focus(); |
Index: branches/REL1_17/phase3/includes/upload/UploadBase.php |
— | — | @@ -627,7 +627,7 @@ |
628 | 628 | * @return File: stashed file |
629 | 629 | */ |
630 | 630 | public function stashSessionFile( $key = null ) { |
631 | | - $stash = new UploadStash(); |
| 631 | + $stash = RepoGroup::singleton()->getLocalRepo()->getUploadStash();; |
632 | 632 | $data = array( |
633 | 633 | 'mFileProps' => $this->mFileProps |
634 | 634 | ); |
Property changes on: branches/REL1_17/phase3/includes/upload/UploadBase.php |
___________________________________________________________________ |
Modified: svn:mergeinfo |
635 | 635 | Merged /trunk/phase3/includes/upload/UploadBase.php:r80576,80583,80656,80842,80900,80913,80918-80920,80973-80974,80979,80993 |
Index: branches/REL1_17/phase3/includes/upload/UploadStash.php |
— | — | @@ -33,12 +33,9 @@ |
34 | 34 | * |
35 | 35 | * @param $repo FileRepo: optional -- repo in which to store files. Will choose LocalRepo if not supplied. |
36 | 36 | */ |
37 | | - public function __construct( $repo = null ) { |
| 37 | + public function __construct( $repo ) { |
38 | 38 | |
39 | | - if ( is_null( $repo ) ) { |
40 | | - $repo = RepoGroup::singleton()->getLocalRepo(); |
41 | | - } |
42 | | - |
| 39 | + // this might change based on wiki's configuration. |
43 | 40 | $this->repo = $repo; |
44 | 41 | |
45 | 42 | if ( ! isset( $_SESSION ) ) { |
Property changes on: branches/REL1_17/phase3/includes/upload/UploadStash.php |
___________________________________________________________________ |
Modified: svn:mergeinfo |
46 | 43 | Merged /trunk/phase3/includes/upload/UploadStash.php:r80576,80583,80656,80842,80900,80913,80918-80920,80973-80974,80979,80993 |
Index: branches/REL1_17/phase3/includes/User.php |
— | — | @@ -638,14 +638,28 @@ |
639 | 639 | /** |
640 | 640 | * Does a string look like an e-mail address? |
641 | 641 | * |
642 | | - * There used to be a regular expression here, it got removed because it |
643 | | - * rejected valid addresses. Actually just check if there is '@' somewhere |
644 | | - * in the given address. |
| 642 | + * This validates an email address using an HTML5 specification found at: |
| 643 | + * http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address |
| 644 | + * Which as of 2011-01-24 says: |
645 | 645 | * |
646 | | - * @todo Check for RFC 2822 compilance (bug 959) |
| 646 | + * A valid e-mail address is a string that matches the ABNF production |
| 647 | + * 1*( atext / "." ) "@" ldh-str *( "." ldh-str ) where atext is defined |
| 648 | + * in RFC 5322 section 3.2.3, and ldh-str is defined in RFC 1034 section |
| 649 | + * 3.5. |
647 | 650 | * |
648 | | - * @param $addr \string E-mail address |
649 | | - * @return \bool True or false |
| 651 | + * This function is an implementation of the specification as requested in |
| 652 | + * bug 22449. |
| 653 | + * |
| 654 | + * Client-side forms will use the same standard validation rules via JS or |
| 655 | + * HTML 5 validation; additional restrictions can be enforced server-side |
| 656 | + * by extensions via the 'isValidEmailAddr' hook. |
| 657 | + * |
| 658 | + * Note that this validation doesn't 100% match RFC 2822, but is believed |
| 659 | + * to be liberal enough for wide use. Some invalid addresses will still |
| 660 | + * pass validation here. |
| 661 | + * |
| 662 | + * @param $addr String E-mail address |
| 663 | + * @return Bool |
650 | 664 | */ |
651 | 665 | public static function isValidEmailAddr( $addr ) { |
652 | 666 | $result = null; |
Index: branches/REL1_17/phase3/includes/filerepo/FileRepo.php |
— | — | @@ -695,4 +695,11 @@ |
696 | 696 | array_unshift( $args, 'filerepo', $this->getName() ); |
697 | 697 | return call_user_func_array( 'wfMemcKey', $args ); |
698 | 698 | } |
| 699 | + |
| 700 | + /** |
| 701 | + * Get an UploadStash associated with this repo. |
| 702 | + */ |
| 703 | + function getUploadStash() { |
| 704 | + return new UploadStash( $this ); |
| 705 | + } |
699 | 706 | } |
Index: branches/REL1_17/phase3/includes/api/ApiQueryStashImageInfo.php |
— | — | @@ -42,7 +42,7 @@ |
43 | 43 | $result = $this->getResult(); |
44 | 44 | |
45 | 45 | try { |
46 | | - $stash = new UploadStash(); |
| 46 | + $stash = RepoGroup::singleton()->getLocalRepo()->getUploadStash(); |
47 | 47 | |
48 | 48 | foreach ( $params['sessionkey'] as $sessionkey ) { |
49 | 49 | $file = $stash->getFile( $sessionkey ); |
Index: branches/REL1_17/phase3/includes/resourceloader/ResourceLoader.php |
— | — | @@ -333,14 +333,15 @@ |
334 | 334 | |
335 | 335 | wfProfileIn( __METHOD__.'-getModifiedTime' ); |
336 | 336 | |
| 337 | + $private = false; |
337 | 338 | // To send Last-Modified and support If-Modified-Since, we need to detect |
338 | 339 | // the last modified time |
339 | 340 | $mtime = wfTimestamp( TS_UNIX, $wgCacheEpoch ); |
340 | 341 | foreach ( $modules as $module ) { |
341 | 342 | try { |
342 | | - // Bypass squid cache if the request includes any private modules |
| 343 | + // Bypass Squid and other shared caches if the request includes any private modules |
343 | 344 | if ( $module->getGroup() === 'private' ) { |
344 | | - $smaxage = 0; |
| 345 | + $private = true; |
345 | 346 | } |
346 | 347 | // Calculate maximum modified time |
347 | 348 | $mtime = max( $mtime, $module->getModifiedTime( $context ) ); |
— | — | @@ -359,10 +360,18 @@ |
360 | 361 | } |
361 | 362 | header( 'Last-Modified: ' . wfTimestamp( TS_RFC2822, $mtime ) ); |
362 | 363 | if ( $context->getDebug() ) { |
363 | | - header( 'Cache-Control: must-revalidate' ); |
| 364 | + // Do not cache debug responses |
| 365 | + header( 'Cache-Control: private, no-cache, must-revalidate' ); |
| 366 | + header( 'Pragma: no-cache' ); |
364 | 367 | } else { |
365 | | - header( "Cache-Control: public, max-age=$maxage, s-maxage=$smaxage" ); |
366 | | - header( 'Expires: ' . wfTimestamp( TS_RFC2822, min( $maxage, $smaxage ) + time() ) ); |
| 368 | + if ( $private ) { |
| 369 | + header( "Cache-Control: private, max-age=$maxage" ); |
| 370 | + $exp = $maxage; |
| 371 | + } else { |
| 372 | + header( "Cache-Control: public, max-age=$maxage, s-maxage=$smaxage" ); |
| 373 | + $exp = min( $maxage, $smaxage ); |
| 374 | + } |
| 375 | + header( 'Expires: ' . wfTimestamp( TS_RFC2822, $exp + time() ) ); |
367 | 376 | } |
368 | 377 | |
369 | 378 | // If there's an If-Modified-Since header, respond with a 304 appropriately |
Property changes on: branches/REL1_17/phase3/includes/resourceloader/ResourceLoader.php |
___________________________________________________________________ |
Modified: svn:mergeinfo |
370 | 379 | Merged /trunk/phase3/includes/resourceloader/ResourceLoader.php:r80576,80583,80842,80900,80913,80918-80920,80973-80974,80979,80993 |
Index: branches/REL1_17/phase3/includes/libs/JavaScriptDistiller.php |
— | — | @@ -19,7 +19,6 @@ |
20 | 20 | * @param $stripVerticalSpace Boolean: Try to remove as much vertical whitespace as possible |
21 | 21 | */ |
22 | 22 | public static function stripWhiteSpace( $script, $stripVerticalSpace = false ) { |
23 | | - $script = self::stripComments( $script ); |
24 | 23 | $script = self::stripHorizontalSpace( $script ); |
25 | 24 | // If requested, make some vertical whitespace collapsing as well |
26 | 25 | if ( $collapseVertical ) { |
— | — | @@ -29,15 +28,6 @@ |
30 | 29 | return $script; |
31 | 30 | } |
32 | 31 | |
33 | | - private static function stripComments( $script ) { |
34 | | - $parser = self::createParser(); |
35 | | - // Remove comments |
36 | | - $parser->add( '/\\/\\/[^\\r\\n]*[\\r\\n]/' ); |
37 | | - $parser->add( '/\\/\\*[^*]*\\*+([^\\/][^*]*\\*+)*\\//' ); |
38 | | - // Execute and return |
39 | | - return $parser->exec( $script ); |
40 | | - } |
41 | | - |
42 | 32 | private static function stripHorizontalSpace( $script ) { |
43 | 33 | $parser = self::createParser(); |
44 | 34 | // Collapse horizontal whitespaces between variable names into a single space |
— | — | @@ -92,6 +82,9 @@ |
93 | 83 | // Protect regular expressions |
94 | 84 | $parser->add( '/[ \\t]+(\\/[^\\/\\r\\n\\*][^\\/\\r\\n]*\\/g?i?)/', '$2' ); |
95 | 85 | $parser->add( '/[^\\w\\$\\/\'"*)\\?:]\\/[^\\/\\r\\n\\*][^\\/\\r\\n]*\\/g?i?/', '$1' ); |
| 86 | + // Remove comments |
| 87 | + $parser->add( '/\\/\\*(.|[\\r\\n])*?\\*\\//' ); |
| 88 | + $parser->add( '/\\/\\/[^\\r\\n]*[\\r\\n]/' ); |
96 | 89 | return $parser; |
97 | 90 | } |
98 | 91 | } |
Index: branches/REL1_17/phase3/includes/specials/SpecialUploadStash.php |
— | — | @@ -41,7 +41,7 @@ |
42 | 42 | |
43 | 43 | parent::__construct( 'UploadStash', 'upload' ); |
44 | 44 | try { |
45 | | - $this->stash = new UploadStash( ); |
| 45 | + $this->stash = RepoGroup::singleton()->getLocalRepo()->getUploadStash(); |
46 | 46 | } catch ( UploadStashNotAvailableException $e ) { |
47 | 47 | return null; |
48 | 48 | } |
Property changes on: branches/REL1_17/phase3/includes/specials/SpecialUploadStash.php |
___________________________________________________________________ |
Modified: svn:mergeinfo |
49 | 49 | Merged /trunk/phase3/includes/specials/SpecialUploadStash.php:r80576,80583,80656,80842,80900,80913,80918-80920,80973-80974,80979,80993 |
Index: branches/REL1_17/phase3/includes/zhtable/toSimp.manual |
— | — | @@ -158,4 +158,5 @@ |
159 | 159 | 標誌著 标志着 |
160 | 160 | 近角聪信 近角聪信 |
161 | 161 | 修鍊 修炼 |
162 | | -米泽瑠美 米泽瑠美 |
\ No newline at end of file |
| 162 | +米泽瑠美 米泽瑠美 |
| 163 | +太閤 太阁 |
Index: branches/REL1_17/phase3/includes/zhtable/tradphrases.manual |
— | — | @@ -73,6 +73,7 @@ |
74 | 74 | 多只是 |
75 | 75 | 多只需 |
76 | 76 | 多只會 |
| 77 | +多只用 |
77 | 78 | 大只能 |
78 | 79 | 大只可 |
79 | 80 | 大只在 |
— | — | @@ -915,6 +916,7 @@ |
916 | 917 | 國歷代 |
917 | 918 | 國歷任 |
918 | 919 | 國歷屆 |
| 920 | +國歷經 |
919 | 921 | 新歷史 |
920 | 922 | 夏歷史 |
921 | 923 | 百花曆 |
— | — | @@ -4180,6 +4182,8 @@ |
4181 | 4183 | 千周後 |
4182 | 4184 | 萬周後 |
4183 | 4185 | 億周後 |
| 4186 | +幾周後 |
| 4187 | +多周後 |
4184 | 4188 | 前往 |
4185 | 4189 | 后瑞站 |
4186 | 4190 | 帝后臺 |
— | — | @@ -4193,7 +4197,6 @@ |
4194 | 4198 | 于立成 |
4195 | 4199 | 山谷道 |
4196 | 4200 | 李志喜 |
4197 | | - |
4198 | 4201 | 于欣 |
4199 | 4202 | 于少保 |
4200 | 4203 | 于海 |
— | — | @@ -4221,3 +4224,36 @@ |
4222 | 4225 | 划算 |
4223 | 4226 | 總裁制 |
4224 | 4227 | 恒生 |
| 4228 | +嚴云農 |
| 4229 | +手裏劍 |
| 4230 | +秦莊襄王 |
| 4231 | +伊東怜 |
| 4232 | +衛後莊公 |
| 4233 | +餘量 |
| 4234 | +並行 |
| 4235 | +郁郁青青 |
| 4236 | +協防 |
| 4237 | +對表格 |
| 4238 | +對表示 |
| 4239 | +對表達 |
| 4240 | +對表演 |
| 4241 | +對表明 |
| 4242 | +了然後 |
| 4243 | +戴表元 |
| 4244 | +張樂于張徐 |
| 4245 | +余力為 |
| 4246 | +葉叶琴 |
| 4247 | +万俟 |
| 4248 | +幾個 |
| 4249 | +澀谷區 |
| 4250 | +協調 |
| 4251 | +選手 |
| 4252 | +併發症 |
| 4253 | +併發重症 |
| 4254 | +併發模式 |
| 4255 | +併發型模式 |
| 4256 | +金色長髮 |
| 4257 | +紅色長髮 |
| 4258 | +一頭長髮 |
| 4259 | +的長髮 |
| 4260 | +黑色長髮 |
Index: branches/REL1_17/phase3/includes/zhtable/tradphrases_exclude.manual |
— | — | @@ -326,3 +326,4 @@ |
327 | 327 | 殺虫藥 |
328 | 328 | 好家伙 |
329 | 329 | 姦污 |
| 330 | +併發 |
Index: branches/REL1_17/phase3/includes/zhtable/toTrad.manual |
— | — | @@ -179,3 +179,4 @@ |
180 | 180 | 黎吉雲 黎吉雲 |
181 | 181 | 于飛島 于飛島 |
182 | 182 | 鄉愿 鄉愿 |
| 183 | +奇迹 奇蹟 |
Index: branches/REL1_17/phase3/includes/ZhConversion.php |
— | — | @@ -2870,6 +2870,7 @@ |
2871 | 2871 | '一锅面' => '一鍋麵', |
2872 | 2872 | '一只' => '一隻', |
2873 | 2873 | '一面食' => '一面食', |
| 2874 | +'一头长发' => '一頭長髮', |
2874 | 2875 | '一余' => '一餘', |
2875 | 2876 | '一发千钧' => '一髮千鈞', |
2876 | 2877 | '一哄而散' => '一鬨而散', |
— | — | @@ -3013,6 +3014,7 @@ |
3014 | 3015 | '并发布' => '並發布', |
3015 | 3016 | '并发现' => '並發現', |
3016 | 3017 | '并发表' => '並發表', |
| 3018 | +'并行' => '並行', |
3017 | 3019 | '中国国际信托投资公司' => '中國國際信托投資公司', |
3018 | 3020 | '中型钟' => '中型鐘', |
3019 | 3021 | '中型钟表面' => '中型鐘表面', |
— | — | @@ -3236,6 +3238,7 @@ |
3237 | 3239 | '乱哄' => '亂鬨', |
3238 | 3240 | '乱哄不过来' => '亂鬨不過來', |
3239 | 3241 | '了克制' => '了剋制', |
| 3242 | +'了然后' => '了然後', |
3240 | 3243 | '事情干脆' => '事情干脆', |
3241 | 3244 | '事有斗巧' => '事有鬥巧', |
3242 | 3245 | '事迹' => '事迹', |
— | — | @@ -3542,6 +3545,7 @@ |
3543 | 3546 | '伊斯兰教历史' => '伊斯蘭教歷史', |
3544 | 3547 | '伊斯兰历' => '伊斯蘭曆', |
3545 | 3548 | '伊斯兰历史' => '伊斯蘭歷史', |
| 3549 | +'伊东怜' => '伊東怜', |
3546 | 3550 | '伊尔汗历表' => '伊爾汗曆表', |
3547 | 3551 | '伊达里子' => '伊達里子', |
3548 | 3552 | '伊适杰' => '伊適杰', |
— | — | @@ -3814,6 +3818,8 @@ |
3815 | 3819 | '余三勝' => '余三勝', |
3816 | 3820 | '余光中' => '余光中', |
3817 | 3821 | '余光生' => '余光生', |
| 3822 | +'余力為' => '余力為', |
| 3823 | +'余力为' => '余力為', |
3818 | 3824 | '余姓' => '余姓', |
3819 | 3825 | '余威德' => '余威德', |
3820 | 3826 | '余子明' => '余子明', |
— | — | @@ -3847,7 +3853,10 @@ |
3848 | 3854 | '并产' => '併產', |
3849 | 3855 | '并当' => '併當', |
3850 | 3856 | '并叠' => '併疊', |
3851 | | -'并发' => '併發', |
| 3857 | +'并发型模式' => '併發型模式', |
| 3858 | +'并发模式' => '併發模式', |
| 3859 | +'并发症' => '併發症', |
| 3860 | +'并发重症' => '併發重症', |
3852 | 3861 | '并科' => '併科', |
3853 | 3862 | '并网' => '併網', |
3854 | 3863 | '并线' => '併線', |
— | — | @@ -4314,6 +4323,8 @@ |
4315 | 4324 | '半只够' => '半只夠', |
4316 | 4325 | '半于' => '半於', |
4317 | 4326 | '半只' => '半隻', |
| 4327 | +'协调' => '協調', |
| 4328 | +'协防' => '協防', |
4318 | 4329 | '南京钟' => '南京鐘', |
4319 | 4330 | '南京钟表' => '南京鐘錶', |
4320 | 4331 | '南宫适' => '南宮适', |
— | — | @@ -4591,6 +4602,7 @@ |
4592 | 4603 | '向往' => '嚮往', |
4593 | 4604 | '向应' => '嚮應', |
4594 | 4605 | '向迩' => '嚮邇', |
| 4606 | +'严云农' => '嚴云農', |
4595 | 4607 | '严于' => '嚴於', |
4596 | 4608 | '严丝合缝' => '嚴絲合縫', |
4597 | 4609 | '嚼谷' => '嚼穀', |
— | — | @@ -4646,6 +4658,7 @@ |
4647 | 4659 | '国历任' => '國歷任', |
4648 | 4660 | '国历史' => '國歷史', |
4649 | 4661 | '国历届' => '國歷屆', |
| 4662 | +'国历经' => '國歷經', |
4650 | 4663 | '国仇' => '國讎', |
4651 | 4664 | '园里' => '園裡', |
4652 | 4665 | '园游会' => '園遊會', |
— | — | @@ -4685,8 +4698,8 @@ |
4686 | 4699 | '埋头寻钟表' => '埋頭尋鐘錶', |
4687 | 4700 | '城里' => '城裡', |
4688 | 4701 | '埔裡社撫墾局' => '埔裏社撫墾局', |
| 4702 | +'埔裏社撫墾局' => '埔裏社撫墾局', |
4689 | 4703 | '埔里社抚垦局' => '埔裏社撫墾局', |
4690 | | -'埔裏社撫墾局' => '埔裏社撫墾局', |
4691 | 4704 | '基干' => '基幹', |
4692 | 4705 | '基于' => '基於', |
4693 | 4706 | '基准' => '基準', |
— | — | @@ -4730,8 +4743,10 @@ |
4731 | 4744 | '多只會' => '多只會', |
4732 | 4745 | '多只会' => '多只會', |
4733 | 4746 | '多只有' => '多只有', |
| 4747 | +'多只用' => '多只用', |
4734 | 4748 | '多只能' => '多只能', |
4735 | 4749 | '多只需' => '多只需', |
| 4750 | +'多周后' => '多周後', |
4736 | 4751 | '多天后' => '多天後', |
4737 | 4752 | '多于' => '多於', |
4738 | 4753 | '多冲' => '多衝', |
— | — | @@ -4827,7 +4842,7 @@ |
4828 | 4843 | '夸诞' => '夸誕', |
4829 | 4844 | '夸诞不经' => '夸誕不經', |
4830 | 4845 | '夸丽' => '夸麗', |
4831 | | -'奇迹' => '奇迹', |
| 4846 | +'奇迹' => '奇蹟', |
4832 | 4847 | '奇丑' => '奇醜', |
4833 | 4848 | '奏折' => '奏摺', |
4834 | 4849 | '奥占' => '奧佔', |
— | — | @@ -4971,8 +4986,10 @@ |
4972 | 4987 | '对表中' => '對表中', |
4973 | 4988 | '对表扬' => '對表揚', |
4974 | 4989 | '对表明' => '對表明', |
| 4990 | +'对表格' => '對表格', |
4975 | 4991 | '对表演' => '對表演', |
4976 | 4992 | '对表现' => '對表現', |
| 4993 | +'对表示' => '對表示', |
4977 | 4994 | '对表达' => '對表達', |
4978 | 4995 | '对表' => '對錶', |
4979 | 4996 | '导游' => '導遊', |
— | — | @@ -5102,7 +5119,6 @@ |
5103 | 5120 | '并吞' => '并吞', |
5104 | 5121 | '并州' => '并州', |
5105 | 5122 | '并日而食' => '并日而食', |
5106 | | -'并行' => '并行', |
5107 | 5123 | '并迭' => '并迭', |
5108 | 5124 | '幸免于难' => '幸免於難', |
5109 | 5125 | '幸于' => '幸於', |
— | — | @@ -5162,6 +5178,8 @@ |
5163 | 5179 | '干革命' => '幹革命', |
5164 | 5180 | '干头' => '幹頭', |
5165 | 5181 | '干么' => '幹麼', |
| 5182 | +'几个' => '幾個', |
| 5183 | +'几周后' => '幾周後', |
5166 | 5184 | '几天后' => '幾天後', |
5167 | 5185 | '几只' => '幾隻', |
5168 | 5186 | '几出' => '幾齣', |
— | — | @@ -5250,6 +5268,7 @@ |
5251 | 5269 | '张三丰' => '張三丰', |
5252 | 5270 | '張三丰' => '張三丰', |
5253 | 5271 | '张勋' => '張勳', |
| 5272 | +'张乐于张徐' => '張樂于張徐', |
5254 | 5273 | '强占' => '強佔', |
5255 | 5274 | '强制作用' => '強制作用', |
5256 | 5275 | '强奸' => '強姦', |
— | — | @@ -5576,6 +5595,7 @@ |
5577 | 5596 | '战斗' => '戰鬥', |
5578 | 5597 | '戏彩娱亲' => '戲綵娛親', |
5579 | 5598 | '戏里' => '戲裡', |
| 5599 | +'戴表元' => '戴表元', |
5580 | 5600 | '戴表' => '戴錶', |
5581 | 5601 | '戴发含齿' => '戴髮含齒', |
5582 | 5602 | '房里' => '房裡', |
— | — | @@ -5599,6 +5619,7 @@ |
5600 | 5620 | '手表达' => '手表達', |
5601 | 5621 | '手表露' => '手表露', |
5602 | 5622 | '手表面' => '手表面', |
| 5623 | +'手里剑' => '手裏劍', |
5603 | 5624 | '手里' => '手裡', |
5604 | 5625 | '手表' => '手錶', |
5605 | 5626 | '手松' => '手鬆', |
— | — | @@ -6705,6 +6726,7 @@ |
6706 | 6727 | '潭里' => '潭裡', |
6707 | 6728 | '潮涌' => '潮湧', |
6708 | 6729 | '溃于' => '潰於', |
| 6730 | +'涩谷区' => '澀谷區', |
6709 | 6731 | '澄澹精致' => '澄澹精致', |
6710 | 6732 | '澒蒙' => '澒濛', |
6711 | 6733 | '泽渗漓而下降' => '澤滲灕而下降', |
— | — | @@ -6999,6 +7021,7 @@ |
7000 | 7022 | '的克制' => '的剋制', |
7001 | 7023 | '的钟' => '的鐘', |
7002 | 7024 | '的钟表' => '的鐘錶', |
| 7025 | +'的长发' => '的長髮', |
7003 | 7026 | '皆可作淀' => '皆可作澱', |
7004 | 7027 | '皆准' => '皆準', |
7005 | 7028 | '皇后' => '皇后', |
— | — | @@ -7161,6 +7184,7 @@ |
7162 | 7185 | '秒表示' => '秒表示', |
7163 | 7186 | '秒表' => '秒錶', |
7164 | 7187 | '秒钟' => '秒鐘', |
| 7188 | +'秦庄襄王' => '秦莊襄王', |
7165 | 7189 | '移祸于' => '移禍於', |
7166 | 7190 | '稀松' => '稀鬆', |
7167 | 7191 | '棱台' => '稜台', |
— | — | @@ -7337,6 +7361,7 @@ |
7338 | 7362 | '纪历史' => '紀歷史', |
7339 | 7363 | '约占' => '約佔', |
7340 | 7364 | '红绳系足' => '紅繩繫足', |
| 7365 | +'红色长发' => '紅色長髮', |
7341 | 7366 | '红钟' => '紅鐘', |
7342 | 7367 | '红霉素' => '紅霉素', |
7343 | 7368 | '红发' => '紅髮', |
— | — | @@ -7755,6 +7780,7 @@ |
7756 | 7781 | '万余' => '萬餘', |
7757 | 7782 | '落腮胡' => '落腮鬍', |
7758 | 7783 | '落发' => '落髮', |
| 7784 | +'叶叶琴' => '葉叶琴', |
7759 | 7785 | '叶叶琹' => '葉叶琹', |
7760 | 7786 | '着儿' => '著兒', |
7761 | 7787 | '着克制' => '著剋制', |
— | — | @@ -7935,6 +7961,7 @@ |
7936 | 7962 | '行于' => '行於', |
7937 | 7963 | '行百里者半于九十' => '行百里者半於九十', |
7938 | 7964 | '胡同' => '衚衕', |
| 7965 | +'卫后庄公' => '衛後莊公', |
7939 | 7966 | '卫星钟' => '衛星鐘', |
7940 | 7967 | '冲上' => '衝上', |
7941 | 7968 | '冲下' => '衝下', |
— | — | @@ -8531,6 +8558,7 @@ |
8532 | 8559 | '遨游' => '遨遊', |
8533 | 8560 | '遮丑' => '遮醜', |
8534 | 8561 | '迁于' => '遷於', |
| 8562 | +'选手' => '選手', |
8535 | 8563 | '选手表明' => '選手表明', |
8536 | 8564 | '选手表决' => '選手表決', |
8537 | 8565 | '选手表现' => '選手表現', |
— | — | @@ -8556,6 +8584,7 @@ |
8557 | 8585 | '邱于庭' => '邱于庭', |
8558 | 8586 | '郁朴' => '郁樸', |
8559 | 8587 | '郁郁菲菲' => '郁郁菲菲', |
| 8588 | +'郁郁青青' => '郁郁青青', |
8560 | 8589 | '郊游' => '郊遊', |
8561 | 8590 | '郘钟' => '郘鐘', |
8562 | 8591 | '部落发' => '部落發', |
— | — | @@ -8665,6 +8694,7 @@ |
8666 | 8695 | '金仑溪' => '金崙溪', |
8667 | 8696 | '金布道' => '金布道', |
8668 | 8697 | '金范' => '金範', |
| 8698 | +'金色长发' => '金色長髮', |
8669 | 8699 | '金表情' => '金表情', |
8670 | 8700 | '金表态' => '金表態', |
8671 | 8701 | '金表扬' => '金表揚', |
— | — | @@ -9177,6 +9207,7 @@ |
9178 | 9208 | '余辉' => '餘輝', |
9179 | 9209 | '余辜' => '餘辜', |
9180 | 9210 | '余酲' => '餘酲', |
| 9211 | +'余量' => '餘量', |
9181 | 9212 | '余闰' => '餘閏', |
9182 | 9213 | '余闲' => '餘閒', |
9183 | 9214 | '余零' => '餘零', |
— | — | @@ -9603,6 +9634,7 @@ |
9604 | 9635 | '黎吉云' => '黎吉雲', |
9605 | 9636 | '黎吉雲' => '黎吉雲', |
9606 | 9637 | '黑奴吁天录' => '黑奴籲天錄', |
| 9638 | +'黑色长发' => '黑色長髮', |
9607 | 9639 | '黑发' => '黑髮', |
9608 | 9640 | '点半钟' => '點半鐘', |
9609 | 9641 | '点多钟' => '點多鐘', |
— | — | @@ -13460,6 +13492,7 @@ |
13461 | 13493 | '覆核' => '复核', |
13462 | 13494 | '天道为乾' => '天道为乾', |
13463 | 13495 | '天道為乾' => '天道为乾', |
| 13496 | +'太閤' => '太阁', |
13464 | 13497 | '夾著' => '夹着', |
13465 | 13498 | '夾著書' => '夹著书', |
13466 | 13499 | '夾著作' => '夹著作', |
Index: branches/REL1_17/phase3/resources/jquery/jquery.textSelection.js |
— | — | @@ -92,7 +92,7 @@ |
93 | 93 | // IE |
94 | 94 | $(this).focus(); |
95 | 95 | if ( context ) { |
96 | | - context.fn.restoreStuffForIE(); |
| 96 | + context.fn.restoreCursorAndScrollTop(); |
97 | 97 | } |
98 | 98 | var selText = $(this).textSelection( 'getSelection' ); |
99 | 99 | var scrollTop = this.scrollTop; |
Index: branches/REL1_17/phase3/resources/mediawiki.action/mediawiki.action.edit.js |
— | — | @@ -2,28 +2,29 @@ |
3 | 3 | * has not been jQuery-ized. |
4 | 4 | */ |
5 | 5 | |
6 | | -//make sure edit summary does not exceed byte limit |
7 | | -$( '#wpSummary' ).attr( 'maxLength', 250 ).keypress( function( e ) { |
8 | | - // first check to see if this is actually a character key |
9 | | - // being pressed. |
10 | | - // Based on key-event info from http://unixpapa.com/js/key.html |
11 | | - // JQuery should also normalize e.which to be consistent cross-browser, |
12 | | - // however the same check is still needed regardless of jQuery. |
| 6 | +(function( $ ) { |
| 7 | + //make sure edit summary does not exceed byte limit |
| 8 | + $( '#wpSummary' ).attr( 'maxLength', 250 ).keypress( function( e ) { |
| 9 | + // first check to see if this is actually a character key |
| 10 | + // being pressed. |
| 11 | + // Based on key-event info from http://unixpapa.com/js/key.html |
| 12 | + // JQuery should also normalize e.which to be consistent cross-browser, |
| 13 | + // however the same check is still needed regardless of jQuery. |
13 | 14 | |
14 | | - if ( e.which === 0 || e.charCode === 0 || e.ctrlKey || e.altKey || e.metaKey ) { |
15 | | - return true; //a special key (backspace, etc) so don't interfere. |
16 | | - } |
| 15 | + if ( e.which === 0 || e.charCode === 0 || e.ctrlKey || e.altKey || e.metaKey ) { |
| 16 | + return true; //a special key (backspace, etc) so don't interfere. |
| 17 | + } |
17 | 18 | |
18 | | - // This basically figures out how many bytes a UTF-16 string (which is what js sees) |
19 | | - // will take in UTF-8 by replacing a 2 byte character with 2 *'s, etc, and counting that. |
20 | | - // Note, surrogate (\uD800-\uDFFF) characters are counted as 2 bytes, since there's two of them |
21 | | - // and the actual character takes 4 bytes in UTF-8 (2*2=4). Might not work perfectly in edge cases |
22 | | - // such as illegal sequences, but that should never happen. |
| 19 | + // This basically figures out how many bytes a UTF-16 string (which is what js sees) |
| 20 | + // will take in UTF-8 by replacing a 2 byte character with 2 *'s, etc, and counting that. |
| 21 | + // Note, surrogate (\uD800-\uDFFF) characters are counted as 2 bytes, since there's two of them |
| 22 | + // and the actual character takes 4 bytes in UTF-8 (2*2=4). Might not work perfectly in edge cases |
| 23 | + // such as illegal sequences, but that should never happen. |
23 | 24 | |
24 | | - var len = this.value.replace( /[\u0080-\u07FF\uD800-\uDFFF]/g, '**' ).replace( /[\u0800-\uD7FF\uE000-\uFFFF]/g, '***' ).length; |
25 | | - //247 as this doesn't count character about to be inserted. |
26 | | - if ( len > 247 ) { |
27 | | - e.preventDefault(); |
28 | | - } |
29 | | -}); |
30 | | - |
| 25 | + var len = this.value.replace( /[\u0080-\u07FF\uD800-\uDFFF]/g, '**' ).replace( /[\u0800-\uD7FF\uE000-\uFFFF]/g, '***' ).length; |
| 26 | + //247 as this doesn't count character about to be inserted. |
| 27 | + if ( len > 247 ) { |
| 28 | + e.preventDefault(); |
| 29 | + } |
| 30 | + }); |
| 31 | +})(jQuery); |
Property changes on: branches/REL1_17/phase3/resources/mediawiki.action/mediawiki.action.edit.js |
___________________________________________________________________ |
Deleted: svn:mergeinfo |
31 | 32 | Reverse-merged /branches/new-installer/phase3/resources/mediawiki.action/mediawiki.action.edit.js:r43664-66004 |
32 | 33 | Reverse-merged /branches/REL1_15/phase3/resources/mediawiki.action/mediawiki.action.edit.js:r51646 |
33 | 34 | Reverse-merged /branches/sqlite/resources/mediawiki.action/mediawiki.action.edit.js:r58211-58321 |
Index: branches/REL1_17/phase3/resources/mediawiki.util/mediawiki.util.test.js |
— | — | @@ -1,7 +1,7 @@ |
2 | 2 | /** |
3 | 3 | * mediaWiki.util Test Suite |
4 | 4 | * |
5 | | - * Available on "/Special:BlankPage?action=mwutiltest&debug=true") |
| 5 | + * Available on Special:BlankPage?action=mwutiltest&debug=true |
6 | 6 | * |
7 | 7 | * @author Krinkle <krinklemail@gmail.com> |
8 | 8 | */ |
— | — | @@ -120,6 +120,8 @@ |
121 | 121 | '<hr/> (string)'); |
122 | 122 | mw.test.addTest('mw.html.element( \'img\', { \'src\': \'http://mw.org/?title=Main page&action=edit\' } )', |
123 | 123 | '<img src="http://mw.org/?title=Main page&action=edit"/> (string)'); |
| 124 | + // Try to roughly keep the order similar to the order in the files |
| 125 | + // or alphabetical (depending on the context) |
124 | 126 | |
125 | 127 | // Run tests and compare results |
126 | 128 | var exec, |
— | — | @@ -167,4 +169,4 @@ |
168 | 170 | |
169 | 171 | mediaWiki.test.init(); |
170 | 172 | |
171 | | -})(jQuery, mediaWiki); |
| 173 | +} )(jQuery, mediaWiki); |
Index: branches/REL1_17/phase3/resources/mediawiki.util/mediawiki.util.js |
— | — | @@ -379,8 +379,8 @@ |
380 | 380 | // Domain first part |
381 | 381 | '[' + rfc1034_ldh_str + ']+' |
382 | 382 | + |
383 | | - // Second part and following are separated by a dot |
384 | | - '(?:\\.[' + rfc1034_ldh_str + ']+)+' |
| 383 | + // Optional second part and following are separated by a dot |
| 384 | + '(?:\\.[' + rfc1034_ldh_str + ']+)*' |
385 | 385 | + |
386 | 386 | // End of string |
387 | 387 | '$', |