@@ -218,7 +218,7 @@ |
||
218 | 218 | ], |
219 | 219 | ], // EXISTS OR |
220 | 220 | ], |
221 | - ]; // global OR |
|
221 | + ]; // global OR |
|
222 | 222 | |
223 | 223 | $contents = mapi_folder_getcontentstable($this->calendar); |
224 | 224 | mapi_table_restrict($contents, $restrict); |
@@ -236,7 +236,7 @@ |
||
236 | 236 | self::STREAMER_VAR => "unapprovedinromapplist", |
237 | 237 | self::STREAMER_PROP => self::STREAMER_TYPE_SEND_EMPTY, |
238 | 238 | self::STREAMER_ARRAY => SYNC_PROVISION_APPNAME, |
239 | - ], // TODO check |
|
239 | + ], // TODO check |
|
240 | 240 | SYNC_PROVISION_APPROVEDAPPLIST => [ |
241 | 241 | self::STREAMER_VAR => "approvedapplist", |
242 | 242 | self::STREAMER_PROP => self::STREAMER_TYPE_SEND_EMPTY, |
@@ -209,7 +209,7 @@ discard block |
||
209 | 209 | 0x3E => "CompleteTime", // Since 12.0 |
210 | 210 | 0x3F => "DisallowNewTimeProposal", // Since 14.0 |
211 | 211 | ], |
212 | - 3 => [ // Code page 3 is no longer in use, however, tokens 05 through 17 have been defined. 20100501 |
|
212 | + 3 => [// Code page 3 is no longer in use, however, tokens 05 through 17 have been defined. 20100501 |
|
213 | 213 | 0x05 => "Notify", |
214 | 214 | 0x06 => "Notification", |
215 | 215 | 0x07 => "Version", |
@@ -542,7 +542,7 @@ discard block |
||
542 | 542 | 0x11 => "Status", // Since 14.1 |
543 | 543 | 0x12 => "Data", // Since 14.1 |
544 | 544 | ], |
545 | - 0x11 => [ // Since 12.0 |
|
545 | + 0x11 => [// Since 12.0 |
|
546 | 546 | 0x05 => "BodyPreference", |
547 | 547 | 0x06 => "Type", |
548 | 548 | 0x07 => "TruncationSize", |
@@ -566,7 +566,7 @@ discard block |
||
566 | 566 | 0x1A => "BodyPart", // Since 14.1 |
567 | 567 | 0x1B => "Status", // Since 14.1 |
568 | 568 | ], |
569 | - 0x12 => [ // Since 12.0 |
|
569 | + 0x12 => [// Since 12.0 |
|
570 | 570 | 0x05 => "Settings", |
571 | 571 | 0x06 => "Status", |
572 | 572 | 0x07 => "Get", |
@@ -606,7 +606,7 @@ discard block |
||
606 | 606 | 0x29 => "SendDisabled", // Since 14.1 |
607 | 607 | 0x2B => "RightsManagementInformation", // Since 14.1 |
608 | 608 | ], |
609 | - 0x13 => [ // Since 12.0 |
|
609 | + 0x13 => [// Since 12.0 |
|
610 | 610 | 0x05 => "LinkId", |
611 | 611 | 0x06 => "DisplayName", |
612 | 612 | 0x07 => "IsFolder", |
@@ -616,7 +616,7 @@ discard block |
||
616 | 616 | 0x0B => "ContentLength", |
617 | 617 | 0x0C => "ContentType", |
618 | 618 | ], |
619 | - 0x14 => [ // Since 12.0 |
|
619 | + 0x14 => [// Since 12.0 |
|
620 | 620 | 0x05 => "ItemOperations", |
621 | 621 | 0x06 => "Fetch", |
622 | 622 | 0x07 => "Store", |
@@ -639,7 +639,7 @@ discard block |
||
639 | 639 | 0x18 => "ConversationId", // Since 14.0 |
640 | 640 | 0x19 => "MoveAlways", // Since 14.0 |
641 | 641 | ], |
642 | - 0x15 => [ // Since 14.0 |
|
642 | + 0x15 => [// Since 14.0 |
|
643 | 643 | 0x05 => "SendMail", |
644 | 644 | 0x06 => "SmartForward", |
645 | 645 | 0x07 => "SmartReply", |
@@ -656,7 +656,7 @@ discard block |
||
656 | 656 | 0x12 => "Status", |
657 | 657 | 0x13 => "AccountId", // Since 14.1 |
658 | 658 | ], |
659 | - 0x16 => [ // Since 14.0 |
|
659 | + 0x16 => [// Since 14.0 |
|
660 | 660 | 0x05 => "UmCallerId", |
661 | 661 | 0x06 => "UmUserNotes", |
662 | 662 | 0x07 => "UmAttDuration", |
@@ -673,14 +673,14 @@ discard block |
||
673 | 673 | 0x12 => "FirstDayOfWeek", // Since 14.1 |
674 | 674 | 0x13 => "MeetingMessageType", // Since 14.1 |
675 | 675 | ], |
676 | - 0x17 => [ // Since 14.0 |
|
676 | + 0x17 => [// Since 14.0 |
|
677 | 677 | 0x05 => "Subject", |
678 | 678 | 0x06 => "MessageClass", |
679 | 679 | 0x07 => "LastModifiedDate", |
680 | 680 | 0x08 => "Categories", |
681 | 681 | 0x09 => "Category", |
682 | 682 | ], |
683 | - 0x18 => [ // Since 14.1 |
|
683 | + 0x18 => [// Since 14.1 |
|
684 | 684 | 0x05 => "RightsManagementSupport", |
685 | 685 | 0x06 => "RightsManagementTemplates", |
686 | 686 | 0x07 => "RightsManagementTemplate", |
@@ -758,7 +758,7 @@ discard block |
||
758 | 758 | $current['loopcount'] = 1; |
759 | 759 | // the MaxCount is the max number of messages exported before |
760 | 760 | $current['maxCount'] = $counter + (($maxItems < $queuedMessages) ? $maxItems : $queuedMessages); |
761 | - $loop = true; // loop mode!! |
|
761 | + $loop = true; // loop mode!! |
|
762 | 762 | } |
763 | 763 | } |
764 | 764 | elseif ($queuedMessages == 0) { |
@@ -778,7 +778,7 @@ discard block |
||
778 | 778 | $this->ignore_messageid = $current['potential']; |
779 | 779 | } |
780 | 780 | $current['maxCount'] = $counter + (($maxItems < $queuedMessages) ? $maxItems : $queuedMessages); |
781 | - $loop = true; // loop mode!! |
|
781 | + $loop = true; // loop mode!! |
|
782 | 782 | } |
783 | 783 | } |
784 | 784 | } |
@@ -11,7 +11,7 @@ |
||
11 | 11 | public const UNAUTHENTICATED = 1; |
12 | 12 | public const UNPROVISIONED = 2; |
13 | 13 | public const NOACTIVESYNCCOMMAND = 3; |
14 | - public const WEBSERVICECOMMAND = 4; // DEPRECATED |
|
14 | + public const WEBSERVICECOMMAND = 4; // DEPRECATED |
|
15 | 15 | public const HIERARCHYCOMMAND = 5; |
16 | 16 | public const PLAININPUT = 6; |
17 | 17 | public const REQUESTHANDLER = 7; |
@@ -34,8 +34,7 @@ |
||
34 | 34 | if (!isset(self::$loopCounter[$name])) { |
35 | 35 | self::$loopCounter[$name] = 0; |
36 | 36 | } |
37 | - else { |
|
38 | - ++self::$loopCounter[$name]; |
|
37 | + else {++self::$loopCounter[$name]; |
|
39 | 38 | } |
40 | 39 | |
41 | 40 | if (self::$loopCounter[$name] > self::MAXLOOP) { |
@@ -410,22 +410,22 @@ |
||
410 | 410 | |
411 | 411 | for (; $i < $iMax; ++$i) { |
412 | 412 | switch ($string[$i]) { |
413 | - case '\\': |
|
414 | - ++$slashes; |
|
413 | + case '\\': |
|
414 | + ++$slashes; |
|
415 | 415 | |
416 | - break; |
|
416 | + break; |
|
417 | 417 | |
418 | - case '"': |
|
419 | - if ($slashes % 2 == 0) { |
|
420 | - $in_quote = !$in_quote; |
|
421 | - } |
|
422 | - // Fall through to default action below. |
|
418 | + case '"': |
|
419 | + if ($slashes % 2 == 0) { |
|
420 | + $in_quote = !$in_quote; |
|
421 | + } |
|
422 | + // Fall through to default action below. |
|
423 | 423 | |
424 | - // no break |
|
425 | - default: |
|
426 | - $slashes = 0; |
|
424 | + // no break |
|
425 | + default: |
|
426 | + $slashes = 0; |
|
427 | 427 | |
428 | - break; |
|
428 | + break; |
|
429 | 429 | } |
430 | 430 | } |
431 | 431 |
@@ -17,83 +17,83 @@ discard block |
||
17 | 17 | * Updated at: 01.06.2012 |
18 | 18 | */ |
19 | 19 | private static $mstzones = [ |
20 | - "000" => ["Dateline Standard Time", "(GMT-12:00) International Date Line West"], |
|
21 | - "001" => ["Samoa Standard Time", "(GMT-11:00) Midway Island, Samoa"], |
|
22 | - "002" => ["Hawaiian Standard Time", "(GMT-10:00) Hawaii"], |
|
23 | - "003" => ["Alaskan Standard Time", "(GMT-09:00) Alaska"], |
|
24 | - "004" => ["Pacific Standard Time", "(GMT-08:00) Pacific Time (US and Canada); Tijuana"], |
|
25 | - "010" => ["Mountain Standard Time", "(GMT-07:00) Mountain Time (US and Canada)"], |
|
26 | - "013" => ["Mexico Standard Time 2", "(GMT-07:00) Chihuahua, La Paz, Mazatlan"], |
|
27 | - "015" => ["US Mountain Standard Time", "(GMT-07:00) Arizona"], |
|
28 | - "020" => ["Central Standard Time", "(GMT-06:00) Central Time (US and Canada"], |
|
29 | - "025" => ["Canada Central Standard Time", "(GMT-06:00) Saskatchewan"], |
|
30 | - "030" => ["Mexico Standard Time", "(GMT-06:00) Guadalajara, Mexico City, Monterrey"], |
|
31 | - "033" => ["Central America Standard Time", "(GMT-06:00) Central America"], |
|
32 | - "035" => ["Eastern Standard Time", "(GMT-05:00) Eastern Time (US and Canada)"], |
|
33 | - "040" => ["US Eastern Standard Time", "(GMT-05:00) Indiana (East)"], |
|
34 | - "045" => ["SA Pacific Standard Time", "(GMT-05:00) Bogota, Lima, Quito"], |
|
35 | - "uk1" => ["Venezuela Standard Time", "(GMT-04:30) Caracas"], // added |
|
36 | - "050" => ["Atlantic Standard Time", "(GMT-04:00) Atlantic Time (Canada)"], |
|
37 | - "055" => ["SA Western Standard Time", "(GMT-04:00) Caracas, La Paz"], |
|
38 | - "056" => ["Pacific SA Standard Time", "(GMT-04:00) Santiago"], |
|
39 | - "060" => ["Newfoundland and Labrador Standard Time", "(GMT-03:30) Newfoundland and Labrador"], |
|
40 | - "065" => ["E South America Standard Time", "(GMT-03:00) Brasilia"], |
|
41 | - "070" => ["SA Eastern Standard Time", "(GMT-03:00) Buenos Aires, Georgetown"], |
|
42 | - "073" => ["Greenland Standard Time", "(GMT-03:00) Greenland"], |
|
43 | - "075" => ["Mid-Atlantic Standard Time", "(GMT-02:00) Mid-Atlantic"], |
|
44 | - "080" => ["Azores Standard Time", "(GMT-01:00) Azores"], |
|
45 | - "083" => ["Cape Verde Standard Time", "(GMT-01:00) Cape Verde Islands"], |
|
46 | - "085" => ["GMT Standard Time", "(GMT) Greenwich Mean Time: Dublin, Edinburgh, Lisbon, London"], |
|
47 | - "090" => ["Greenwich Standard Time", "(GMT) Casablanca, Monrovia"], |
|
48 | - "095" => ["Central Europe Standard Time", "(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague"], |
|
49 | - "100" => ["Central European Standard Time", "(GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb"], |
|
50 | - "105" => ["Romance Standard Time", "(GMT+01:00) Brussels, Copenhagen, Madrid, Paris"], |
|
51 | - "110" => ["W Europe Standard Time", "(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna"], |
|
52 | - "111" => ["W. Europe Standard Time", "(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna"], |
|
53 | - "113" => ["W Central Africa Standard Time", "(GMT+01:00) West Central Africa"], |
|
54 | - "115" => ["E Europe Standard Time", "(GMT+02:00) Bucharest"], |
|
55 | - "120" => ["Egypt Standard Time", "(GMT+02:00) Cairo"], |
|
56 | - "125" => ["FLE Standard Time", "(GMT+02:00) Helsinki, Kiev, Riga, Sofia, Tallinn, Vilnius"], |
|
57 | - "130" => ["GTB Standard Time", "(GMT+02:00) Athens, Istanbul, Minsk"], |
|
58 | - "135" => ["Israel Standard Time", "(GMT+02:00) Jerusalem"], |
|
59 | - "140" => ["South Africa Standard Time", "(GMT+02:00) Harare, Pretoria"], |
|
60 | - "145" => ["Russian Standard Time", "(GMT+03:00) Moscow, St. Petersburg, Volgograd"], |
|
61 | - "150" => ["Arab Standard Time", "(GMT+03:00) Kuwait, Riyadh"], |
|
62 | - "155" => ["E Africa Standard Time", "(GMT+03:00) Nairobi"], |
|
63 | - "158" => ["Arabic Standard Time", "(GMT+03:00) Baghdad"], |
|
64 | - "160" => ["Iran Standard Time", "(GMT+03:30) Tehran"], |
|
65 | - "165" => ["Arabian Standard Time", "(GMT+04:00) Abu Dhabi, Muscat"], |
|
66 | - "170" => ["Caucasus Standard Time", "(GMT+04:00) Baku, Tbilisi, Yerevan"], |
|
20 | + "000" => ["Dateline Standard Time", "(GMT-12:00) International Date Line West"], |
|
21 | + "001" => ["Samoa Standard Time", "(GMT-11:00) Midway Island, Samoa"], |
|
22 | + "002" => ["Hawaiian Standard Time", "(GMT-10:00) Hawaii"], |
|
23 | + "003" => ["Alaskan Standard Time", "(GMT-09:00) Alaska"], |
|
24 | + "004" => ["Pacific Standard Time", "(GMT-08:00) Pacific Time (US and Canada); Tijuana"], |
|
25 | + "010" => ["Mountain Standard Time", "(GMT-07:00) Mountain Time (US and Canada)"], |
|
26 | + "013" => ["Mexico Standard Time 2", "(GMT-07:00) Chihuahua, La Paz, Mazatlan"], |
|
27 | + "015" => ["US Mountain Standard Time", "(GMT-07:00) Arizona"], |
|
28 | + "020" => ["Central Standard Time", "(GMT-06:00) Central Time (US and Canada"], |
|
29 | + "025" => ["Canada Central Standard Time", "(GMT-06:00) Saskatchewan"], |
|
30 | + "030" => ["Mexico Standard Time", "(GMT-06:00) Guadalajara, Mexico City, Monterrey"], |
|
31 | + "033" => ["Central America Standard Time", "(GMT-06:00) Central America"], |
|
32 | + "035" => ["Eastern Standard Time", "(GMT-05:00) Eastern Time (US and Canada)"], |
|
33 | + "040" => ["US Eastern Standard Time", "(GMT-05:00) Indiana (East)"], |
|
34 | + "045" => ["SA Pacific Standard Time", "(GMT-05:00) Bogota, Lima, Quito"], |
|
35 | + "uk1" => ["Venezuela Standard Time", "(GMT-04:30) Caracas"], // added |
|
36 | + "050" => ["Atlantic Standard Time", "(GMT-04:00) Atlantic Time (Canada)"], |
|
37 | + "055" => ["SA Western Standard Time", "(GMT-04:00) Caracas, La Paz"], |
|
38 | + "056" => ["Pacific SA Standard Time", "(GMT-04:00) Santiago"], |
|
39 | + "060" => ["Newfoundland and Labrador Standard Time", "(GMT-03:30) Newfoundland and Labrador"], |
|
40 | + "065" => ["E South America Standard Time", "(GMT-03:00) Brasilia"], |
|
41 | + "070" => ["SA Eastern Standard Time", "(GMT-03:00) Buenos Aires, Georgetown"], |
|
42 | + "073" => ["Greenland Standard Time", "(GMT-03:00) Greenland"], |
|
43 | + "075" => ["Mid-Atlantic Standard Time", "(GMT-02:00) Mid-Atlantic"], |
|
44 | + "080" => ["Azores Standard Time", "(GMT-01:00) Azores"], |
|
45 | + "083" => ["Cape Verde Standard Time", "(GMT-01:00) Cape Verde Islands"], |
|
46 | + "085" => ["GMT Standard Time", "(GMT) Greenwich Mean Time: Dublin, Edinburgh, Lisbon, London"], |
|
47 | + "090" => ["Greenwich Standard Time", "(GMT) Casablanca, Monrovia"], |
|
48 | + "095" => ["Central Europe Standard Time", "(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague"], |
|
49 | + "100" => ["Central European Standard Time", "(GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb"], |
|
50 | + "105" => ["Romance Standard Time", "(GMT+01:00) Brussels, Copenhagen, Madrid, Paris"], |
|
51 | + "110" => ["W Europe Standard Time", "(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna"], |
|
52 | + "111" => ["W. Europe Standard Time", "(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna"], |
|
53 | + "113" => ["W Central Africa Standard Time", "(GMT+01:00) West Central Africa"], |
|
54 | + "115" => ["E Europe Standard Time", "(GMT+02:00) Bucharest"], |
|
55 | + "120" => ["Egypt Standard Time", "(GMT+02:00) Cairo"], |
|
56 | + "125" => ["FLE Standard Time", "(GMT+02:00) Helsinki, Kiev, Riga, Sofia, Tallinn, Vilnius"], |
|
57 | + "130" => ["GTB Standard Time", "(GMT+02:00) Athens, Istanbul, Minsk"], |
|
58 | + "135" => ["Israel Standard Time", "(GMT+02:00) Jerusalem"], |
|
59 | + "140" => ["South Africa Standard Time", "(GMT+02:00) Harare, Pretoria"], |
|
60 | + "145" => ["Russian Standard Time", "(GMT+03:00) Moscow, St. Petersburg, Volgograd"], |
|
61 | + "150" => ["Arab Standard Time", "(GMT+03:00) Kuwait, Riyadh"], |
|
62 | + "155" => ["E Africa Standard Time", "(GMT+03:00) Nairobi"], |
|
63 | + "158" => ["Arabic Standard Time", "(GMT+03:00) Baghdad"], |
|
64 | + "160" => ["Iran Standard Time", "(GMT+03:30) Tehran"], |
|
65 | + "165" => ["Arabian Standard Time", "(GMT+04:00) Abu Dhabi, Muscat"], |
|
66 | + "170" => ["Caucasus Standard Time", "(GMT+04:00) Baku, Tbilisi, Yerevan"], |
|
67 | 67 | "175" => ["Transitional Islamic State of Afghanistan Standard Time", "(GMT+04:30) Kabul"], |
68 | - "180" => ["Ekaterinburg Standard Time", "(GMT+05:00) Ekaterinburg"], |
|
69 | - "185" => ["West Asia Standard Time", "(GMT+05:00) Islamabad, Karachi, Tashkent"], |
|
70 | - "190" => ["India Standard Time", "(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi"], |
|
71 | - "193" => ["Nepal Standard Time", "(GMT+05:45) Kathmandu"], |
|
72 | - "195" => ["Central Asia Standard Time", "(GMT+06:00) Astana, Dhaka"], |
|
73 | - "200" => ["Sri Lanka Standard Time", "(GMT+06:00) Sri Jayawardenepura"], |
|
74 | - "201" => ["N Central Asia Standard Time", "(GMT+06:00) Almaty, Novosibirsk"], |
|
75 | - "203" => ["Myanmar Standard Time", "(GMT+06:30) Yangon Rangoon"], |
|
76 | - "205" => ["SE Asia Standard Time", "(GMT+07:00) Bangkok, Hanoi, Jakarta"], |
|
77 | - "207" => ["North Asia Standard Time", "(GMT+07:00) Krasnoyarsk"], |
|
78 | - "210" => ["China Standard Time", "(GMT+08:00) Beijing, Chongqing, Hong Kong SAR, Urumqi"], |
|
79 | - "215" => ["Singapore Standard Time", "(GMT+08:00) Kuala Lumpur, Singapore"], |
|
80 | - "220" => ["Taipei Standard Time", "(GMT+08:00) Taipei"], |
|
81 | - "225" => ["W Australia Standard Time", "(GMT+08:00) Perth"], |
|
82 | - "227" => ["North Asia East Standard Time", "(GMT+08:00) Irkutsk, Ulaanbaatar"], |
|
83 | - "230" => ["Korea Standard Time", "(GMT+09:00) Seoul"], |
|
84 | - "235" => ["Tokyo Standard Time", "(GMT+09:00) Osaka, Sapporo, Tokyo"], |
|
85 | - "240" => ["Yakutsk Standard Time", "(GMT+09:00) Yakutsk"], |
|
86 | - "245" => ["AUS Central Standard Time", "(GMT+09:30) Darwin"], |
|
87 | - "250" => ["Cen Australia Standard Time", "(GMT+09:30) Adelaide"], |
|
88 | - "255" => ["AUS Eastern Standard Time", "(GMT+10:00) Canberra, Melbourne, Sydney"], |
|
89 | - "260" => ["E Australia Standard Time", "(GMT+10:00) Brisbane"], |
|
90 | - "265" => ["Tasmania Standard Time", "(GMT+10:00) Hobart"], |
|
91 | - "270" => ["Vladivostok Standard Time", "(GMT+10:00) Vladivostok"], |
|
92 | - "275" => ["West Pacific Standard Time", "(GMT+10:00) Guam, Port Moresby"], |
|
93 | - "280" => ["Central Pacific Standard Time", "(GMT+11:00) Magadan, Solomon Islands, New Caledonia"], |
|
94 | - "285" => ["Fiji Islands Standard Time", "(GMT+12:00) Fiji Islands, Kamchatka, Marshall Islands"], |
|
95 | - "290" => ["New Zealand Standard Time", "(GMT+12:00) Auckland, Wellington"], |
|
96 | - "300" => ["Tonga Standard Time", "(GMT+13:00) Nuku'alofa"], |
|
68 | + "180" => ["Ekaterinburg Standard Time", "(GMT+05:00) Ekaterinburg"], |
|
69 | + "185" => ["West Asia Standard Time", "(GMT+05:00) Islamabad, Karachi, Tashkent"], |
|
70 | + "190" => ["India Standard Time", "(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi"], |
|
71 | + "193" => ["Nepal Standard Time", "(GMT+05:45) Kathmandu"], |
|
72 | + "195" => ["Central Asia Standard Time", "(GMT+06:00) Astana, Dhaka"], |
|
73 | + "200" => ["Sri Lanka Standard Time", "(GMT+06:00) Sri Jayawardenepura"], |
|
74 | + "201" => ["N Central Asia Standard Time", "(GMT+06:00) Almaty, Novosibirsk"], |
|
75 | + "203" => ["Myanmar Standard Time", "(GMT+06:30) Yangon Rangoon"], |
|
76 | + "205" => ["SE Asia Standard Time", "(GMT+07:00) Bangkok, Hanoi, Jakarta"], |
|
77 | + "207" => ["North Asia Standard Time", "(GMT+07:00) Krasnoyarsk"], |
|
78 | + "210" => ["China Standard Time", "(GMT+08:00) Beijing, Chongqing, Hong Kong SAR, Urumqi"], |
|
79 | + "215" => ["Singapore Standard Time", "(GMT+08:00) Kuala Lumpur, Singapore"], |
|
80 | + "220" => ["Taipei Standard Time", "(GMT+08:00) Taipei"], |
|
81 | + "225" => ["W Australia Standard Time", "(GMT+08:00) Perth"], |
|
82 | + "227" => ["North Asia East Standard Time", "(GMT+08:00) Irkutsk, Ulaanbaatar"], |
|
83 | + "230" => ["Korea Standard Time", "(GMT+09:00) Seoul"], |
|
84 | + "235" => ["Tokyo Standard Time", "(GMT+09:00) Osaka, Sapporo, Tokyo"], |
|
85 | + "240" => ["Yakutsk Standard Time", "(GMT+09:00) Yakutsk"], |
|
86 | + "245" => ["AUS Central Standard Time", "(GMT+09:30) Darwin"], |
|
87 | + "250" => ["Cen Australia Standard Time", "(GMT+09:30) Adelaide"], |
|
88 | + "255" => ["AUS Eastern Standard Time", "(GMT+10:00) Canberra, Melbourne, Sydney"], |
|
89 | + "260" => ["E Australia Standard Time", "(GMT+10:00) Brisbane"], |
|
90 | + "265" => ["Tasmania Standard Time", "(GMT+10:00) Hobart"], |
|
91 | + "270" => ["Vladivostok Standard Time", "(GMT+10:00) Vladivostok"], |
|
92 | + "275" => ["West Pacific Standard Time", "(GMT+10:00) Guam, Port Moresby"], |
|
93 | + "280" => ["Central Pacific Standard Time", "(GMT+11:00) Magadan, Solomon Islands, New Caledonia"], |
|
94 | + "285" => ["Fiji Islands Standard Time", "(GMT+12:00) Fiji Islands, Kamchatka, Marshall Islands"], |
|
95 | + "290" => ["New Zealand Standard Time", "(GMT+12:00) Auckland, Wellington"], |
|
96 | + "300" => ["Tonga Standard Time", "(GMT+13:00) Nuku'alofa"], |
|
97 | 97 | ]; |
98 | 98 | |
99 | 99 | /** |
@@ -127,104 +127,104 @@ discard block |
||
127 | 127 | * Created at: 01.06.2012 |
128 | 128 | */ |
129 | 129 | private static $tzonesoffsets = [ |
130 | - "Transitional Islamic State of Afghanistan Standard Time" => [-270, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
131 | - "Alaskan Standard Time" => [540, 0, -60, 0, 11, 0, 1, 2, 0, 0, 0, 0, 3, 0, 2, 2, 0, 0, 0], |
|
132 | - "Arab Standard Time" => [-180, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
133 | - "Arabian Standard Time" => [-240, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
134 | - "Arabic Standard Time" => [-180, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
130 | + "Transitional Islamic State of Afghanistan Standard Time" => [-270, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
131 | + "Alaskan Standard Time" => [540, 0, -60, 0, 11, 0, 1, 2, 0, 0, 0, 0, 3, 0, 2, 2, 0, 0, 0], |
|
132 | + "Arab Standard Time" => [-180, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
133 | + "Arabian Standard Time" => [-240, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
134 | + "Arabic Standard Time" => [-180, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
135 | 135 | // "Argentina Standard Time" => array(180, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), |
136 | - "Atlantic Standard Time" => [240, 0, -60, 0, 11, 0, 1, 2, 0, 0, 0, 0, 3, 0, 2, 2, 0, 0, 0], |
|
137 | - "AUS Central Standard Time" => [-570, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
138 | - "AUS Eastern Standard Time" => [-600, 0, -60, 0, 4, 0, 1, 3, 0, 0, 0, 0, 10, 0, 1, 2, 0, 0, 0], |
|
136 | + "Atlantic Standard Time" => [240, 0, -60, 0, 11, 0, 1, 2, 0, 0, 0, 0, 3, 0, 2, 2, 0, 0, 0], |
|
137 | + "AUS Central Standard Time" => [-570, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
138 | + "AUS Eastern Standard Time" => [-600, 0, -60, 0, 4, 0, 1, 3, 0, 0, 0, 0, 10, 0, 1, 2, 0, 0, 0], |
|
139 | 139 | // "Azerbaijan Standard Time" => array(-240, 0, -60, 0, 10, 0, 5, 5, 0, 0, 0, 0, 3, 0, 5, 4, 0, 0, 0), |
140 | - "Azores Standard Time" => [60, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
140 | + "Azores Standard Time" => [60, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
141 | 141 | // "Bangladesh Standard Time" => array(-360, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), |
142 | - "Canada Central Standard Time" => [360, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
143 | - "Cape Verde Standard Time" => [60, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
144 | - "Caucasus Standard Time" => [-240, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
145 | - "Cen Australia Standard Time" => [-570, 0, -60, 0, 4, 0, 1, 3, 0, 0, 0, 0, 10, 0, 1, 2, 0, 0, 0], |
|
146 | - "Central America Standard Time" => [360, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
147 | - "Central Asia Standard Time" => [-360, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
142 | + "Canada Central Standard Time" => [360, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
143 | + "Cape Verde Standard Time" => [60, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
144 | + "Caucasus Standard Time" => [-240, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
145 | + "Cen Australia Standard Time" => [-570, 0, -60, 0, 4, 0, 1, 3, 0, 0, 0, 0, 10, 0, 1, 2, 0, 0, 0], |
|
146 | + "Central America Standard Time" => [360, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
147 | + "Central Asia Standard Time" => [-360, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
148 | 148 | // "Central Brazilian Standard Time" => array(240, 0, -60, 0, 2, 6, 4, 23, 59, 59, 999, 0, 10, 6, 3, 23, 59, 59, 999), |
149 | - "Central Europe Standard Time" => [-60, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
150 | - "Central European Standard Time" => [-60, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
151 | - "Central Pacific Standard Time" => [-660, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
152 | - "Central Standard Time" => [360, 0, -60, 0, 11, 0, 1, 2, 0, 0, 0, 0, 3, 0, 2, 2, 0, 0, 0], |
|
153 | - "Mexico Standard Time" => [360, 0, -60, 0, 10, 0, 5, 2, 0, 0, 0, 0, 4, 0, 1, 2, 0, 0, 0], |
|
154 | - "China Standard Time" => [-480, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
155 | - "Dateline Standard Time" => [720, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
156 | - "E Africa Standard Time" => [-180, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
157 | - "E Australia Standard Time" => [-600, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
158 | - "E Europe Standard Time" => [-120, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
159 | - "E South America Standard Time" => [180, 0, -60, 0, 2, 6, 4, 23, 59, 59, 999, 0, 10, 6, 3, 23, 59, 59, 999], |
|
160 | - "Eastern Standard Time" => [300, 0, -60, 0, 11, 0, 1, 2, 0, 0, 0, 0, 3, 0, 2, 2, 0, 0, 0], |
|
161 | - "Egypt Standard Time" => [-120, 0, -60, 0, 9, 4, 5, 23, 59, 59, 999, 0, 4, 4, 5, 23, 59, 59, 999], |
|
162 | - "Ekaterinburg Standard Time" => [-300, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
163 | - "Fiji Islands Standard Time" => [-720, 0, -60, 0, 3, 0, 5, 3, 0, 0, 0, 0, 10, 0, 4, 2, 0, 0, 0], |
|
164 | - "FLE Standard Time" => [-120, 0, -60, 0, 10, 0, 5, 4, 0, 0, 0, 0, 3, 0, 5, 3, 0, 0, 0], |
|
149 | + "Central Europe Standard Time" => [-60, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
150 | + "Central European Standard Time" => [-60, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
151 | + "Central Pacific Standard Time" => [-660, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
152 | + "Central Standard Time" => [360, 0, -60, 0, 11, 0, 1, 2, 0, 0, 0, 0, 3, 0, 2, 2, 0, 0, 0], |
|
153 | + "Mexico Standard Time" => [360, 0, -60, 0, 10, 0, 5, 2, 0, 0, 0, 0, 4, 0, 1, 2, 0, 0, 0], |
|
154 | + "China Standard Time" => [-480, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
155 | + "Dateline Standard Time" => [720, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
156 | + "E Africa Standard Time" => [-180, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
157 | + "E Australia Standard Time" => [-600, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
158 | + "E Europe Standard Time" => [-120, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
159 | + "E South America Standard Time" => [180, 0, -60, 0, 2, 6, 4, 23, 59, 59, 999, 0, 10, 6, 3, 23, 59, 59, 999], |
|
160 | + "Eastern Standard Time" => [300, 0, -60, 0, 11, 0, 1, 2, 0, 0, 0, 0, 3, 0, 2, 2, 0, 0, 0], |
|
161 | + "Egypt Standard Time" => [-120, 0, -60, 0, 9, 4, 5, 23, 59, 59, 999, 0, 4, 4, 5, 23, 59, 59, 999], |
|
162 | + "Ekaterinburg Standard Time" => [-300, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
163 | + "Fiji Islands Standard Time" => [-720, 0, -60, 0, 3, 0, 5, 3, 0, 0, 0, 0, 10, 0, 4, 2, 0, 0, 0], |
|
164 | + "FLE Standard Time" => [-120, 0, -60, 0, 10, 0, 5, 4, 0, 0, 0, 0, 3, 0, 5, 3, 0, 0, 0], |
|
165 | 165 | // "Georgian Standard Time" => array(-240, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), |
166 | - "GMT Standard Time" => [0, 0, -60, 0, 10, 0, 5, 2, 0, 0, 0, 0, 3, 0, 5, 1, 0, 0, 0], |
|
167 | - "Greenland Standard Time" => [180, 0, -60, 0, 10, 6, 5, 23, 0, 0, 0, 0, 3, 6, 4, 22, 0, 0, 0], |
|
168 | - "Greenwich Standard Time" => [0, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
169 | - "GTB Standard Time" => [-120, 0, -60, 0, 10, 0, 5, 4, 0, 0, 0, 0, 3, 0, 5, 3, 0, 0, 0], |
|
170 | - "Hawaiian Standard Time" => [600, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
171 | - "India Standard Time" => [-330, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
172 | - "Iran Standard Time" => [-210, 0, -60, 0, 9, 1, 3, 23, 59, 59, 999, 0, 3, 6, 3, 23, 59, 59, 999], |
|
173 | - "Israel Standard Time" => [-120, 0, -60, 0, 9, 0, 4, 2, 0, 0, 0, 0, 3, 5, 5, 2, 0, 0, 0], |
|
166 | + "GMT Standard Time" => [0, 0, -60, 0, 10, 0, 5, 2, 0, 0, 0, 0, 3, 0, 5, 1, 0, 0, 0], |
|
167 | + "Greenland Standard Time" => [180, 0, -60, 0, 10, 6, 5, 23, 0, 0, 0, 0, 3, 6, 4, 22, 0, 0, 0], |
|
168 | + "Greenwich Standard Time" => [0, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
169 | + "GTB Standard Time" => [-120, 0, -60, 0, 10, 0, 5, 4, 0, 0, 0, 0, 3, 0, 5, 3, 0, 0, 0], |
|
170 | + "Hawaiian Standard Time" => [600, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
171 | + "India Standard Time" => [-330, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
172 | + "Iran Standard Time" => [-210, 0, -60, 0, 9, 1, 3, 23, 59, 59, 999, 0, 3, 6, 3, 23, 59, 59, 999], |
|
173 | + "Israel Standard Time" => [-120, 0, -60, 0, 9, 0, 4, 2, 0, 0, 0, 0, 3, 5, 5, 2, 0, 0, 0], |
|
174 | 174 | // "Jordan Standard Time" => array(-120, 0, -60, 0, 10, 5, 5, 1, 0, 0, 0, 0, 3, 4, 5, 23, 59, 59, 999), |
175 | 175 | // "Kamchatka Standard Time" => array(-720, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0), |
176 | - "Korea Standard Time" => [-540, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
176 | + "Korea Standard Time" => [-540, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
177 | 177 | // "Magadan Standard Time" => array(-660, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0), |
178 | 178 | // "Mauritius Standard Time" => array(-240, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), |
179 | - "Mid-Atlantic Standard Time" => [120, 0, -60, 0, 9, 0, 5, 2, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
179 | + "Mid-Atlantic Standard Time" => [120, 0, -60, 0, 9, 0, 5, 2, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
180 | 180 | // "Middle East Standard Time" => array(-120, 0, -60, 0, 10, 6, 5, 23, 59, 59, 999, 0, 3, 6, 4, 23, 59, 59, 999), |
181 | 181 | // "Montevideo Standard Time" => array(180, 0, -60, 0, 3, 0, 2, 2, 0, 0, 0, 0, 10, 0, 1, 2, 0, 0, 0), |
182 | 182 | // "Morocco Standard Time" => array(0, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), |
183 | - "Mountain Standard Time" => [420, 0, -60, 0, 11, 0, 1, 2, 0, 0, 0, 0, 3, 0, 2, 2, 0, 0, 0], |
|
184 | - "Mexico Standard Time 2" => [420, 0, -60, 0, 10, 0, 5, 2, 0, 0, 0, 0, 4, 0, 1, 2, 0, 0, 0], |
|
185 | - "Myanmar Standard Time" => [-390, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
186 | - "N Central Asia Standard Time" => [-360, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
183 | + "Mountain Standard Time" => [420, 0, -60, 0, 11, 0, 1, 2, 0, 0, 0, 0, 3, 0, 2, 2, 0, 0, 0], |
|
184 | + "Mexico Standard Time 2" => [420, 0, -60, 0, 10, 0, 5, 2, 0, 0, 0, 0, 4, 0, 1, 2, 0, 0, 0], |
|
185 | + "Myanmar Standard Time" => [-390, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
186 | + "N Central Asia Standard Time" => [-360, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
187 | 187 | // "Namibia Standard Time" => array(-60, 0, -60, 0, 4, 0, 1, 2, 0, 0, 0, 0, 9, 0, 1, 2, 0, 0, 0), |
188 | - "Nepal Standard Time" => [-345, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
189 | - "New Zealand Standard Time" => [-720, 0, -60, 0, 4, 0, 1, 3, 0, 0, 0, 0, 9, 0, 5, 2, 0, 0, 0], |
|
190 | - "Newfoundland and Labrador Standard Time" => [210, 0, -60, 0, 11, 0, 1, 0, 1, 0, 0, 0, 3, 0, 2, 0, 1, 0, 0], |
|
191 | - "North Asia East Standard Time" => [-480, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
192 | - "North Asia Standard Time" => [-420, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
193 | - "Pacific SA Standard Time" => [240, 0, -60, 0, 3, 6, 2, 23, 59, 59, 999, 0, 10, 6, 2, 23, 59, 59, 999], |
|
194 | - "Pacific Standard Time" => [480, 0, -60, 0, 11, 0, 1, 2, 0, 0, 0, 0, 3, 0, 2, 2, 0, 0, 0], |
|
188 | + "Nepal Standard Time" => [-345, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
189 | + "New Zealand Standard Time" => [-720, 0, -60, 0, 4, 0, 1, 3, 0, 0, 0, 0, 9, 0, 5, 2, 0, 0, 0], |
|
190 | + "Newfoundland and Labrador Standard Time" => [210, 0, -60, 0, 11, 0, 1, 0, 1, 0, 0, 0, 3, 0, 2, 0, 1, 0, 0], |
|
191 | + "North Asia East Standard Time" => [-480, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
192 | + "North Asia Standard Time" => [-420, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
193 | + "Pacific SA Standard Time" => [240, 0, -60, 0, 3, 6, 2, 23, 59, 59, 999, 0, 10, 6, 2, 23, 59, 59, 999], |
|
194 | + "Pacific Standard Time" => [480, 0, -60, 0, 11, 0, 1, 2, 0, 0, 0, 0, 3, 0, 2, 2, 0, 0, 0], |
|
195 | 195 | // "Pacific Standard Time (Mexico)" => array(480, 0, -60, 0, 10, 0, 5, 2, 0, 0, 0, 0, 4, 0, 1, 2, 0, 0, 0), |
196 | 196 | // "Pakistan Standard Time" => array(-300, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), |
197 | 197 | // "Paraguay Standard Time" => array(240, 0, -60, 0, 4, 6, 1, 23, 59, 59, 999, 0, 10, 6, 1, 23, 59, 59, 999), |
198 | - "Romance Standard Time" => [-60, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
199 | - "Russian Standard Time" => [-180, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
200 | - "SA Eastern Standard Time" => [180, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
201 | - "SA Pacific Standard Time" => [300, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
202 | - "SA Western Standard Time" => [240, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
203 | - "Samoa Standard Time" => [660, 0, -60, 0, 3, 6, 5, 23, 59, 59, 999, 0, 9, 6, 5, 23, 59, 59, 999], |
|
204 | - "SE Asia Standard Time" => [-420, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
205 | - "Singapore Standard Time" => [-480, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
206 | - "South Africa Standard Time" => [-120, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
207 | - "Sri Lanka Standard Time" => [-330, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
198 | + "Romance Standard Time" => [-60, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
199 | + "Russian Standard Time" => [-180, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
200 | + "SA Eastern Standard Time" => [180, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
201 | + "SA Pacific Standard Time" => [300, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
202 | + "SA Western Standard Time" => [240, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
203 | + "Samoa Standard Time" => [660, 0, -60, 0, 3, 6, 5, 23, 59, 59, 999, 0, 9, 6, 5, 23, 59, 59, 999], |
|
204 | + "SE Asia Standard Time" => [-420, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
205 | + "Singapore Standard Time" => [-480, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
206 | + "South Africa Standard Time" => [-120, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
207 | + "Sri Lanka Standard Time" => [-330, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
208 | 208 | // "Syria Standard Time" => array(-120, 0, -60, 0, 10, 4, 5, 23, 59, 59, 999, 0, 4, 4, 1, 23, 59, 59, 999), |
209 | - "Taipei Standard Time" => [-480, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
210 | - "Tasmania Standard Time" => [-600, 0, -60, 0, 4, 0, 1, 3, 0, 0, 0, 0, 10, 0, 1, 2, 0, 0, 0], |
|
211 | - "Tokyo Standard Time" => [-540, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
212 | - "Tonga Standard Time" => [-780, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
209 | + "Taipei Standard Time" => [-480, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
210 | + "Tasmania Standard Time" => [-600, 0, -60, 0, 4, 0, 1, 3, 0, 0, 0, 0, 10, 0, 1, 2, 0, 0, 0], |
|
211 | + "Tokyo Standard Time" => [-540, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
212 | + "Tonga Standard Time" => [-780, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
213 | 213 | // "Ulaanbaatar Standard Time" => array(-480, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), |
214 | - "US Eastern Standard Time" => [300, 0, -60, 0, 11, 0, 1, 2, 0, 0, 0, 0, 3, 0, 2, 2, 0, 0, 0], |
|
215 | - "US Mountain Standard Time" => [420, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
214 | + "US Eastern Standard Time" => [300, 0, -60, 0, 11, 0, 1, 2, 0, 0, 0, 0, 3, 0, 2, 2, 0, 0, 0], |
|
215 | + "US Mountain Standard Time" => [420, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
216 | 216 | // "UTC" => array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), |
217 | 217 | // "UTC+12" => array(-720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), |
218 | 218 | // "UTC-02" => array(120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), |
219 | 219 | // "UTC-11" => array(660, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), |
220 | - "Venezuela Standard Time" => [270, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
221 | - "Vladivostok Standard Time" => [-600, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
222 | - "W Australia Standard Time" => [-480, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
223 | - "W Central Africa Standard Time" => [-60, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
224 | - "W Europe Standard Time" => [-60, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
225 | - "West Asia Standard Time" => [-300, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
226 | - "West Pacific Standard Time" => [-600, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
227 | - "Yakutsk Standard Time" => [-540, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
220 | + "Venezuela Standard Time" => [270, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
221 | + "Vladivostok Standard Time" => [-600, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
222 | + "W Australia Standard Time" => [-480, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
223 | + "W Central Africa Standard Time" => [-60, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
224 | + "W Europe Standard Time" => [-60, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
225 | + "West Asia Standard Time" => [-300, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
226 | + "West Pacific Standard Time" => [-600, 0, -60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
227 | + "Yakutsk Standard Time" => [-540, 0, -60, 0, 10, 0, 5, 3, 0, 0, 0, 0, 3, 0, 5, 2, 0, 0, 0], |
|
228 | 228 | ]; |
229 | 229 | |
230 | 230 | /** |
@@ -1739,193 +1739,193 @@ |
||
1739 | 1739 | // Loop through the entire recurrence range of dates, and check for each occurrence whether it is in the view range. |
1740 | 1740 | |
1741 | 1741 | switch ($this->recur["type"]) { |
1742 | - case 10: |
|
1743 | - // Daily |
|
1744 | - if ($this->recur["everyn"] <= 0) { |
|
1745 | - $this->recur["everyn"] = 1440; |
|
1746 | - } |
|
1747 | - |
|
1748 | - if ($this->recur["subtype"] == 0) { |
|
1749 | - // Every Nth day |
|
1750 | - for ($now = $daystart; $now <= $dayend && ($limit == 0 || count($items) < $limit); $now += 60 * $this->recur["everyn"]) { |
|
1751 | - $this->processOccurrenceItem($items, $start, $end, $now, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
|
1742 | + case 10: |
|
1743 | + // Daily |
|
1744 | + if ($this->recur["everyn"] <= 0) { |
|
1745 | + $this->recur["everyn"] = 1440; |
|
1752 | 1746 | } |
1753 | - } |
|
1754 | - else { |
|
1755 | - // Every workday |
|
1756 | - for ($now = $daystart; $now <= $dayend && ($limit == 0 || count($items) < $limit); $now += 60 * 1440) { |
|
1757 | - $nowtime = $this->gmtime($now); |
|
1758 | - if ($nowtime["tm_wday"] > 0 && $nowtime["tm_wday"] < 6) { // only add items in the given timespace |
|
1747 | + |
|
1748 | + if ($this->recur["subtype"] == 0) { |
|
1749 | + // Every Nth day |
|
1750 | + for ($now = $daystart; $now <= $dayend && ($limit == 0 || count($items) < $limit); $now += 60 * $this->recur["everyn"]) { |
|
1759 | 1751 | $this->processOccurrenceItem($items, $start, $end, $now, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
1760 | 1752 | } |
1761 | 1753 | } |
1762 | - } |
|
1763 | - |
|
1764 | - break; |
|
1754 | + else { |
|
1755 | + // Every workday |
|
1756 | + for ($now = $daystart; $now <= $dayend && ($limit == 0 || count($items) < $limit); $now += 60 * 1440) { |
|
1757 | + $nowtime = $this->gmtime($now); |
|
1758 | + if ($nowtime["tm_wday"] > 0 && $nowtime["tm_wday"] < 6) { // only add items in the given timespace |
|
1759 | + $this->processOccurrenceItem($items, $start, $end, $now, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
|
1760 | + } |
|
1761 | + } |
|
1762 | + } |
|
1765 | 1763 | |
1766 | - case 11: |
|
1767 | - // Weekly |
|
1768 | - if ($this->recur["everyn"] <= 0) { |
|
1769 | - $this->recur["everyn"] = 1; |
|
1770 | - } |
|
1764 | + break; |
|
1771 | 1765 | |
1772 | - // If sliding flag is set then move to 'n' weeks |
|
1773 | - if ($this->recur['regen']) { |
|
1774 | - $daystart += (60 * 60 * 24 * 7 * $this->recur["everyn"]); |
|
1775 | - } |
|
1766 | + case 11: |
|
1767 | + // Weekly |
|
1768 | + if ($this->recur["everyn"] <= 0) { |
|
1769 | + $this->recur["everyn"] = 1; |
|
1770 | + } |
|
1776 | 1771 | |
1777 | - for ($now = $daystart; $now <= $dayend && ($limit == 0 || count($items) < $limit); $now += (60 * 60 * 24 * 7 * $this->recur["everyn"])) { |
|
1772 | + // If sliding flag is set then move to 'n' weeks |
|
1778 | 1773 | if ($this->recur['regen']) { |
1779 | - $this->processOccurrenceItem($items, $start, $end, $now, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
|
1774 | + $daystart += (60 * 60 * 24 * 7 * $this->recur["everyn"]); |
|
1780 | 1775 | } |
1781 | - else { |
|
1782 | - // Loop through the whole following week to the first occurrence of the week, add each day that is specified |
|
1783 | - for ($wday = 0; $wday < 7; ++$wday) { |
|
1784 | - $daynow = $now + $wday * 60 * 60 * 24; |
|
1785 | - // checks weather the next coming day in recurring pattern is less than or equal to end day of the recurring item |
|
1786 | - if ($daynow <= $dayend) { |
|
1787 | - $nowtime = $this->gmtime($daynow); // Get the weekday of the current day |
|
1788 | - if (($this->recur["weekdays"] & (1 << $nowtime["tm_wday"]))) { // Selected ? |
|
1789 | - $this->processOccurrenceItem($items, $start, $end, $daynow, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
|
1776 | + |
|
1777 | + for ($now = $daystart; $now <= $dayend && ($limit == 0 || count($items) < $limit); $now += (60 * 60 * 24 * 7 * $this->recur["everyn"])) { |
|
1778 | + if ($this->recur['regen']) { |
|
1779 | + $this->processOccurrenceItem($items, $start, $end, $now, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
|
1780 | + } |
|
1781 | + else { |
|
1782 | + // Loop through the whole following week to the first occurrence of the week, add each day that is specified |
|
1783 | + for ($wday = 0; $wday < 7; ++$wday) { |
|
1784 | + $daynow = $now + $wday * 60 * 60 * 24; |
|
1785 | + // checks weather the next coming day in recurring pattern is less than or equal to end day of the recurring item |
|
1786 | + if ($daynow <= $dayend) { |
|
1787 | + $nowtime = $this->gmtime($daynow); // Get the weekday of the current day |
|
1788 | + if (($this->recur["weekdays"] & (1 << $nowtime["tm_wday"]))) { // Selected ? |
|
1789 | + $this->processOccurrenceItem($items, $start, $end, $daynow, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
|
1790 | + } |
|
1790 | 1791 | } |
1791 | 1792 | } |
1792 | 1793 | } |
1793 | 1794 | } |
1794 | - } |
|
1795 | 1795 | |
1796 | - break; |
|
1797 | - |
|
1798 | - case 12: |
|
1799 | - // Monthly |
|
1800 | - if ($this->recur["everyn"] <= 0) { |
|
1801 | - $this->recur["everyn"] = 1; |
|
1802 | - } |
|
1796 | + break; |
|
1803 | 1797 | |
1804 | - // Loop through all months from start to end of occurrence, starting at beginning of first month |
|
1805 | - for ($now = $this->monthStartOf($daystart); $now <= $dayend && ($limit == 0 || count($items) < $limit); $now += $this->daysInMonth($now, $this->recur["everyn"]) * 24 * 60 * 60) { |
|
1806 | - if (isset($this->recur["monthday"]) && ($this->recur['monthday'] != "undefined") && !$this->recur['regen']) { // Day M of every N months |
|
1807 | - $difference = 1; |
|
1808 | - if ($this->daysInMonth($now, $this->recur["everyn"]) < $this->recur["monthday"]) { |
|
1809 | - $difference = $this->recur["monthday"] - $this->daysInMonth($now, $this->recur["everyn"]) + 1; |
|
1810 | - } |
|
1811 | - $daynow = $now + (($this->recur["monthday"] - $difference) * 24 * 60 * 60); |
|
1812 | - // checks weather the next coming day in recurrence pattern is less than or equal to end day of the recurring item |
|
1813 | - if ($daynow <= $dayend) { |
|
1814 | - $this->processOccurrenceItem($items, $start, $end, $daynow, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
|
1815 | - } |
|
1798 | + case 12: |
|
1799 | + // Monthly |
|
1800 | + if ($this->recur["everyn"] <= 0) { |
|
1801 | + $this->recur["everyn"] = 1; |
|
1816 | 1802 | } |
1817 | - elseif (isset($this->recur["nday"], $this->recur["weekdays"])) { // Nth [weekday] of every N months |
|
1818 | - // Sanitize input |
|
1819 | - if ($this->recur["weekdays"] == 0) { |
|
1820 | - $this->recur["weekdays"] = 1; |
|
1821 | - } |
|
1822 | 1803 | |
1823 | - // If nday is not set to the last day in the month |
|
1824 | - if ($this->recur["nday"] < 5) { |
|
1825 | - // keep the track of no. of time correct selection pattern(like 2nd weekday, 4th fiday, etc.)is matched |
|
1826 | - $ndaycounter = 0; |
|
1827 | - // Find matching weekday in this month |
|
1828 | - for ($day = 0, $total = $this->daysInMonth($now, 1); $day < $total; ++$day) { |
|
1829 | - $daynow = $now + $day * 60 * 60 * 24; |
|
1830 | - $nowtime = $this->gmtime($daynow); // Get the weekday of the current day |
|
1804 | + // Loop through all months from start to end of occurrence, starting at beginning of first month |
|
1805 | + for ($now = $this->monthStartOf($daystart); $now <= $dayend && ($limit == 0 || count($items) < $limit); $now += $this->daysInMonth($now, $this->recur["everyn"]) * 24 * 60 * 60) { |
|
1806 | + if (isset($this->recur["monthday"]) && ($this->recur['monthday'] != "undefined") && !$this->recur['regen']) { // Day M of every N months |
|
1807 | + $difference = 1; |
|
1808 | + if ($this->daysInMonth($now, $this->recur["everyn"]) < $this->recur["monthday"]) { |
|
1809 | + $difference = $this->recur["monthday"] - $this->daysInMonth($now, $this->recur["everyn"]) + 1; |
|
1810 | + } |
|
1811 | + $daynow = $now + (($this->recur["monthday"] - $difference) * 24 * 60 * 60); |
|
1812 | + // checks weather the next coming day in recurrence pattern is less than or equal to end day of the recurring item |
|
1813 | + if ($daynow <= $dayend) { |
|
1814 | + $this->processOccurrenceItem($items, $start, $end, $daynow, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
|
1815 | + } |
|
1816 | + } |
|
1817 | + elseif (isset($this->recur["nday"], $this->recur["weekdays"])) { // Nth [weekday] of every N months |
|
1818 | + // Sanitize input |
|
1819 | + if ($this->recur["weekdays"] == 0) { |
|
1820 | + $this->recur["weekdays"] = 1; |
|
1821 | + } |
|
1831 | 1822 | |
1832 | - if ($this->recur["weekdays"] & (1 << $nowtime["tm_wday"])) { // Selected ? |
|
1833 | - ++$ndaycounter; |
|
1834 | - } |
|
1835 | - // check the selected pattern is same as asked Nth weekday,If so set the firstday |
|
1836 | - if ($this->recur["nday"] == $ndaycounter) { |
|
1837 | - $firstday = $day; |
|
1823 | + // If nday is not set to the last day in the month |
|
1824 | + if ($this->recur["nday"] < 5) { |
|
1825 | + // keep the track of no. of time correct selection pattern(like 2nd weekday, 4th fiday, etc.)is matched |
|
1826 | + $ndaycounter = 0; |
|
1827 | + // Find matching weekday in this month |
|
1828 | + for ($day = 0, $total = $this->daysInMonth($now, 1); $day < $total; ++$day) { |
|
1829 | + $daynow = $now + $day * 60 * 60 * 24; |
|
1830 | + $nowtime = $this->gmtime($daynow); // Get the weekday of the current day |
|
1831 | + |
|
1832 | + if ($this->recur["weekdays"] & (1 << $nowtime["tm_wday"])) { // Selected ? |
|
1833 | + ++$ndaycounter; |
|
1834 | + } |
|
1835 | + // check the selected pattern is same as asked Nth weekday,If so set the firstday |
|
1836 | + if ($this->recur["nday"] == $ndaycounter) { |
|
1837 | + $firstday = $day; |
|
1838 | 1838 | |
1839 | - break; |
|
1839 | + break; |
|
1840 | + } |
|
1840 | 1841 | } |
1842 | + // $firstday is the day of the month on which the asked pattern of nth weekday matches |
|
1843 | + $daynow = $now + $firstday * 60 * 60 * 24; |
|
1841 | 1844 | } |
1842 | - // $firstday is the day of the month on which the asked pattern of nth weekday matches |
|
1843 | - $daynow = $now + $firstday * 60 * 60 * 24; |
|
1844 | - } |
|
1845 | - else { |
|
1846 | - // Find last day in the month ($now is the firstday of the month) |
|
1847 | - $NumDaysInMonth = $this->daysInMonth($now, 1); |
|
1848 | - $daynow = $now + (($NumDaysInMonth - 1) * 24 * 60 * 60); |
|
1845 | + else { |
|
1846 | + // Find last day in the month ($now is the firstday of the month) |
|
1847 | + $NumDaysInMonth = $this->daysInMonth($now, 1); |
|
1848 | + $daynow = $now + (($NumDaysInMonth - 1) * 24 * 60 * 60); |
|
1849 | 1849 | |
1850 | - $nowtime = $this->gmtime($daynow); |
|
1851 | - while (($this->recur["weekdays"] & (1 << $nowtime["tm_wday"])) == 0) { |
|
1852 | - $daynow -= 86400; |
|
1853 | 1850 | $nowtime = $this->gmtime($daynow); |
1851 | + while (($this->recur["weekdays"] & (1 << $nowtime["tm_wday"])) == 0) { |
|
1852 | + $daynow -= 86400; |
|
1853 | + $nowtime = $this->gmtime($daynow); |
|
1854 | + } |
|
1854 | 1855 | } |
1855 | - } |
|
1856 | 1856 | |
1857 | - /* |
|
1857 | + /* |
|
1858 | 1858 | * checks weather the next coming day in recurrence pattern is less than or equal to end day of the * recurring item.Also check weather the coming day in recurrence pattern is greater than or equal to start * of recurring pattern, so that appointment that fall under the recurrence range are only displayed. |
1859 | 1859 | */ |
1860 | - if ($daynow <= $dayend && $daynow >= $daystart) { |
|
1861 | - $this->processOccurrenceItem($items, $start, $end, $daynow, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
|
1860 | + if ($daynow <= $dayend && $daynow >= $daystart) { |
|
1861 | + $this->processOccurrenceItem($items, $start, $end, $daynow, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
|
1862 | + } |
|
1862 | 1863 | } |
1863 | - } |
|
1864 | - elseif ($this->recur['regen']) { |
|
1865 | - $next_month_start = $now + ($this->daysInMonth($now, 1) * 24 * 60 * 60); |
|
1866 | - $now = $daystart + ($this->daysInMonth($next_month_start, $this->recur['everyn']) * 24 * 60 * 60); |
|
1864 | + elseif ($this->recur['regen']) { |
|
1865 | + $next_month_start = $now + ($this->daysInMonth($now, 1) * 24 * 60 * 60); |
|
1866 | + $now = $daystart + ($this->daysInMonth($next_month_start, $this->recur['everyn']) * 24 * 60 * 60); |
|
1867 | 1867 | |
1868 | - if ($now <= $dayend) { |
|
1869 | - $this->processOccurrenceItem($items, $daystart, $end, $now, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
|
1868 | + if ($now <= $dayend) { |
|
1869 | + $this->processOccurrenceItem($items, $daystart, $end, $now, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
|
1870 | + } |
|
1870 | 1871 | } |
1871 | 1872 | } |
1872 | - } |
|
1873 | - |
|
1874 | - break; |
|
1875 | 1873 | |
1876 | - case 13: |
|
1877 | - // Yearly |
|
1878 | - if ($this->recur["everyn"] <= 0) { |
|
1879 | - $this->recur["everyn"] = 12; |
|
1880 | - } |
|
1874 | + break; |
|
1881 | 1875 | |
1882 | - for ($now = $this->yearStartOf($daystart); $now <= $dayend && ($limit == 0 || count($items) < $limit); $now += $this->daysInMonth($now, $this->recur["everyn"]) * 24 * 60 * 60) { |
|
1883 | - if (isset($this->recur["monthday"]) && !$this->recur['regen']) { // same as monthly, but in a specific month |
|
1884 | - // recur["month"] is in minutes since the beginning of the year |
|
1885 | - $month = $this->monthOfYear($this->recur["month"]); // $month is now month of year [0..11] |
|
1886 | - $monthday = $this->recur["monthday"]; // $monthday is day of the month [1..31] |
|
1887 | - $monthstart = $now + $this->daysInMonth($now, $month) * 24 * 60 * 60; // $monthstart is the timestamp of the beginning of the month |
|
1888 | - if ($monthday > $this->daysInMonth($monthstart, 1)) { |
|
1889 | - $monthday = $this->daysInMonth($monthstart, 1); |
|
1890 | - } // Cap $monthday on month length (eg 28 feb instead of 29 feb) |
|
1891 | - $daynow = $monthstart + ($monthday - 1) * 24 * 60 * 60; |
|
1892 | - $this->processOccurrenceItem($items, $start, $end, $daynow, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
|
1876 | + case 13: |
|
1877 | + // Yearly |
|
1878 | + if ($this->recur["everyn"] <= 0) { |
|
1879 | + $this->recur["everyn"] = 12; |
|
1893 | 1880 | } |
1894 | - elseif (isset($this->recur["nday"], $this->recur["weekdays"])) { // Nth [weekday] in month X of every N years |
|
1895 | - // Go the correct month |
|
1896 | - $monthnow = $now + $this->daysInMonth($now, $this->monthOfYear($this->recur["month"])) * 24 * 60 * 60; |
|
1897 | 1881 | |
1898 | - // Find first matching weekday in this month |
|
1899 | - for ($wday = 0; $wday < 7; ++$wday) { |
|
1900 | - $daynow = $monthnow + $wday * 60 * 60 * 24; |
|
1901 | - $nowtime = $this->gmtime($daynow); // Get the weekday of the current day |
|
1882 | + for ($now = $this->yearStartOf($daystart); $now <= $dayend && ($limit == 0 || count($items) < $limit); $now += $this->daysInMonth($now, $this->recur["everyn"]) * 24 * 60 * 60) { |
|
1883 | + if (isset($this->recur["monthday"]) && !$this->recur['regen']) { // same as monthly, but in a specific month |
|
1884 | + // recur["month"] is in minutes since the beginning of the year |
|
1885 | + $month = $this->monthOfYear($this->recur["month"]); // $month is now month of year [0..11] |
|
1886 | + $monthday = $this->recur["monthday"]; // $monthday is day of the month [1..31] |
|
1887 | + $monthstart = $now + $this->daysInMonth($now, $month) * 24 * 60 * 60; // $monthstart is the timestamp of the beginning of the month |
|
1888 | + if ($monthday > $this->daysInMonth($monthstart, 1)) { |
|
1889 | + $monthday = $this->daysInMonth($monthstart, 1); |
|
1890 | + } // Cap $monthday on month length (eg 28 feb instead of 29 feb) |
|
1891 | + $daynow = $monthstart + ($monthday - 1) * 24 * 60 * 60; |
|
1892 | + $this->processOccurrenceItem($items, $start, $end, $daynow, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
|
1893 | + } |
|
1894 | + elseif (isset($this->recur["nday"], $this->recur["weekdays"])) { // Nth [weekday] in month X of every N years |
|
1895 | + // Go the correct month |
|
1896 | + $monthnow = $now + $this->daysInMonth($now, $this->monthOfYear($this->recur["month"])) * 24 * 60 * 60; |
|
1897 | + |
|
1898 | + // Find first matching weekday in this month |
|
1899 | + for ($wday = 0; $wday < 7; ++$wday) { |
|
1900 | + $daynow = $monthnow + $wday * 60 * 60 * 24; |
|
1901 | + $nowtime = $this->gmtime($daynow); // Get the weekday of the current day |
|
1902 | 1902 | |
1903 | - if ($this->recur["weekdays"] & (1 << $nowtime["tm_wday"])) { // Selected ? |
|
1904 | - $firstday = $wday; |
|
1903 | + if ($this->recur["weekdays"] & (1 << $nowtime["tm_wday"])) { // Selected ? |
|
1904 | + $firstday = $wday; |
|
1905 | 1905 | |
1906 | - break; |
|
1906 | + break; |
|
1907 | + } |
|
1907 | 1908 | } |
1908 | - } |
|
1909 | 1909 | |
1910 | - // Same as above (monthly) |
|
1911 | - $daynow = $monthnow + ($firstday + ($this->recur["nday"] - 1) * 7) * 60 * 60 * 24; |
|
1910 | + // Same as above (monthly) |
|
1911 | + $daynow = $monthnow + ($firstday + ($this->recur["nday"] - 1) * 7) * 60 * 60 * 24; |
|
1912 | 1912 | |
1913 | - while ($this->monthStartOf($daynow) != $this->monthStartOf($monthnow)) { |
|
1914 | - $daynow -= 7 * 60 * 60 * 24; |
|
1915 | - } |
|
1913 | + while ($this->monthStartOf($daynow) != $this->monthStartOf($monthnow)) { |
|
1914 | + $daynow -= 7 * 60 * 60 * 24; |
|
1915 | + } |
|
1916 | 1916 | |
1917 | - $this->processOccurrenceItem($items, $start, $end, $daynow, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
|
1918 | - } |
|
1919 | - elseif ($this->recur['regen']) { |
|
1920 | - $year_starttime = $this->gmtime($now); |
|
1921 | - $is_next_leapyear = $this->isLeapYear($year_starttime['tm_year'] + 1900 + 1); // +1 next year |
|
1922 | - $now = $daystart + ($is_next_leapyear ? 31622400 /* Leap year in seconds */ : 31536000 /* year in seconds */); |
|
1917 | + $this->processOccurrenceItem($items, $start, $end, $daynow, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
|
1918 | + } |
|
1919 | + elseif ($this->recur['regen']) { |
|
1920 | + $year_starttime = $this->gmtime($now); |
|
1921 | + $is_next_leapyear = $this->isLeapYear($year_starttime['tm_year'] + 1900 + 1); // +1 next year |
|
1922 | + $now = $daystart + ($is_next_leapyear ? 31622400 /* Leap year in seconds */ : 31536000 /* year in seconds */); |
|
1923 | 1923 | |
1924 | - if ($now <= $dayend) { |
|
1925 | - $this->processOccurrenceItem($items, $daystart, $end, $now, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
|
1924 | + if ($now <= $dayend) { |
|
1925 | + $this->processOccurrenceItem($items, $daystart, $end, $now, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
|
1926 | + } |
|
1926 | 1927 | } |
1927 | 1928 | } |
1928 | - } |
|
1929 | 1929 | } |
1930 | 1930 | // to get all exception items |
1931 | 1931 | if (!empty($this->recur['changed_occurrences'])) { |
@@ -1918,7 +1918,7 @@ |
||
1918 | 1918 | } |
1919 | 1919 | elseif ($this->recur['regen']) { |
1920 | 1920 | $year_starttime = $this->gmtime($now); |
1921 | - $is_next_leapyear = $this->isLeapYear($year_starttime['tm_year'] + 1900 + 1); // +1 next year |
|
1921 | + $is_next_leapyear = $this->isLeapYear($year_starttime['tm_year'] + 1900 + 1); // +1 next year |
|
1922 | 1922 | $now = $daystart + ($is_next_leapyear ? 31622400 /* Leap year in seconds */ : 31536000 /* year in seconds */); |
1923 | 1923 | |
1924 | 1924 | if ($now <= $dayend) { |