1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-25 16:22:43 +01:00

Promote 2024.19 to stable

This commit is contained in:
Aviv Eyal 2024-06-21 11:57:54 +03:00
commit 63f86bee27
792 changed files with 2372 additions and 1218 deletions

View file

@ -35,7 +35,7 @@ function jsShrinkCallback($match) {
list(, $context, $regexp, $result, $word, $operator) = $match;
if ($word != '') {
$result = ($last == 'word' ? "\n" : ($last == 'return' ? " " : "")) . $result;
$last = ($word == 'return' || $word == 'throw' || $word == 'break' ? 'return' : 'word');
$last = ($word == 'return' || $word == 'throw' || $word == 'break' || $word == 'async' ? 'return' : 'word');
} elseif ($operator) {
$result = ($last == $operator[0] ? "\n" : "") . $result;
$last = $operator[0];

View file

@ -9,7 +9,7 @@ For terms of use, see http://www.unicode.org/copyright.html
<supplementalData>
<version number="$Revision$"/>
<windowsZones>
<mapTimezones otherVersion="7e00402" typeVersion="2016i">
<mapTimezones otherVersion="7e11800" typeVersion="2021a">
<!-- (UTC-12:00) International Date Line West -->
<mapZone other="Dateline Standard Time" territory="001" type="Etc/GMT+12"/>
@ -30,7 +30,6 @@ For terms of use, see http://www.unicode.org/copyright.html
<mapZone other="Hawaiian Standard Time" territory="001" type="Pacific/Honolulu"/>
<mapZone other="Hawaiian Standard Time" territory="CK" type="Pacific/Rarotonga"/>
<mapZone other="Hawaiian Standard Time" territory="PF" type="Pacific/Tahiti"/>
<mapZone other="Hawaiian Standard Time" territory="UM" type="Pacific/Johnston"/>
<mapZone other="Hawaiian Standard Time" territory="US" type="Pacific/Honolulu"/>
<mapZone other="Hawaiian Standard Time" territory="ZZ" type="Etc/GMT+10"/>
@ -49,7 +48,7 @@ For terms of use, see http://www.unicode.org/copyright.html
<!-- (UTC-08:00) Baja California -->
<mapZone other="Pacific Standard Time (Mexico)" territory="001" type="America/Tijuana"/>
<mapZone other="Pacific Standard Time (Mexico)" territory="MX" type="America/Tijuana America/Santa_Isabel"/>
<mapZone other="Pacific Standard Time (Mexico)" territory="MX" type="America/Tijuana"/>
<!-- (UTC-08:00) Coordinated Universal Time-08 -->
<mapZone other="UTC-08" territory="001" type="Etc/GMT+8"/>
@ -58,28 +57,32 @@ For terms of use, see http://www.unicode.org/copyright.html
<!-- (UTC-08:00) Pacific Time (US & Canada) -->
<mapZone other="Pacific Standard Time" territory="001" type="America/Los_Angeles"/>
<mapZone other="Pacific Standard Time" territory="CA" type="America/Vancouver America/Dawson America/Whitehorse"/>
<mapZone other="Pacific Standard Time" territory="CA" type="America/Vancouver"/>
<mapZone other="Pacific Standard Time" territory="US" type="America/Los_Angeles"/>
<mapZone other="Pacific Standard Time" territory="ZZ" type="PST8PDT"/>
<!-- (UTC-07:00) Arizona -->
<mapZone other="US Mountain Standard Time" territory="001" type="America/Phoenix"/>
<mapZone other="US Mountain Standard Time" territory="CA" type="America/Dawson_Creek America/Creston America/Fort_Nelson"/>
<mapZone other="US Mountain Standard Time" territory="CA" type="America/Creston America/Dawson_Creek America/Fort_Nelson"/>
<mapZone other="US Mountain Standard Time" territory="MX" type="America/Hermosillo"/>
<mapZone other="US Mountain Standard Time" territory="US" type="America/Phoenix"/>
<mapZone other="US Mountain Standard Time" territory="ZZ" type="Etc/GMT+7"/>
<!-- (UTC-07:00) Chihuahua, La Paz, Mazatlan -->
<mapZone other="Mountain Standard Time (Mexico)" territory="001" type="America/Chihuahua"/>
<mapZone other="Mountain Standard Time (Mexico)" territory="MX" type="America/Chihuahua America/Mazatlan"/>
<mapZone other="Mountain Standard Time (Mexico)" territory="001" type="America/Mazatlan"/>
<mapZone other="Mountain Standard Time (Mexico)" territory="MX" type="America/Mazatlan"/>
<!-- (UTC-07:00) Mountain Time (US & Canada) -->
<mapZone other="Mountain Standard Time" territory="001" type="America/Denver"/>
<mapZone other="Mountain Standard Time" territory="CA" type="America/Edmonton America/Cambridge_Bay America/Inuvik America/Yellowknife"/>
<mapZone other="Mountain Standard Time" territory="MX" type="America/Ojinaga"/>
<mapZone other="Mountain Standard Time" territory="CA" type="America/Edmonton America/Cambridge_Bay America/Inuvik"/>
<mapZone other="Mountain Standard Time" territory="MX" type="America/Ciudad_Juarez"/>
<mapZone other="Mountain Standard Time" territory="US" type="America/Denver America/Boise"/>
<mapZone other="Mountain Standard Time" territory="ZZ" type="MST7MDT"/>
<!-- (UTC-07:00) Yukon -->
<mapZone other="Yukon Standard Time" territory="001" type="America/Whitehorse"/>
<mapZone other="Yukon Standard Time" territory="CA" type="America/Whitehorse America/Dawson"/>
<!-- (UTC-06:00) Central America -->
<mapZone other="Central America Standard Time" territory="001" type="America/Guatemala"/>
<mapZone other="Central America Standard Time" territory="BZ" type="America/Belize"/>
@ -93,8 +96,8 @@ For terms of use, see http://www.unicode.org/copyright.html
<!-- (UTC-06:00) Central Time (US & Canada) -->
<mapZone other="Central Standard Time" territory="001" type="America/Chicago"/>
<mapZone other="Central Standard Time" territory="CA" type="America/Winnipeg America/Rainy_River America/Rankin_Inlet America/Resolute"/>
<mapZone other="Central Standard Time" territory="MX" type="America/Matamoros"/>
<mapZone other="Central Standard Time" territory="CA" type="America/Winnipeg America/Rankin_Inlet America/Resolute"/>
<mapZone other="Central Standard Time" territory="MX" type="America/Matamoros America/Ojinaga"/>
<mapZone other="Central Standard Time" territory="US" type="America/Chicago America/Indiana/Knox America/Indiana/Tell_City America/Menominee America/North_Dakota/Beulah America/North_Dakota/Center America/North_Dakota/New_Salem"/>
<mapZone other="Central Standard Time" territory="ZZ" type="CST6CDT"/>
@ -104,7 +107,7 @@ For terms of use, see http://www.unicode.org/copyright.html
<!-- (UTC-06:00) Guadalajara, Mexico City, Monterrey -->
<mapZone other="Central Standard Time (Mexico)" territory="001" type="America/Mexico_City"/>
<mapZone other="Central Standard Time (Mexico)" territory="MX" type="America/Mexico_City America/Bahia_Banderas America/Merida America/Monterrey"/>
<mapZone other="Central Standard Time (Mexico)" territory="MX" type="America/Mexico_City America/Bahia_Banderas America/Merida America/Monterrey America/Chihuahua "/>
<!-- (UTC-06:00) Saskatchewan -->
<mapZone other="Canada Central Standard Time" territory="001" type="America/Regina"/>
@ -129,7 +132,7 @@ For terms of use, see http://www.unicode.org/copyright.html
<!-- (UTC-05:00) Eastern Time (US & Canada) -->
<mapZone other="Eastern Standard Time" territory="001" type="America/New_York"/>
<mapZone other="Eastern Standard Time" territory="BS" type="America/Nassau"/>
<mapZone other="Eastern Standard Time" territory="CA" type="America/Toronto America/Iqaluit America/Montreal America/Nipigon America/Pangnirtung America/Thunder_Bay"/>
<mapZone other="Eastern Standard Time" territory="CA" type="America/Toronto America/Iqaluit"/>
<mapZone other="Eastern Standard Time" territory="US" type="America/New_York America/Detroit America/Indiana/Petersburg America/Indiana/Vincennes America/Indiana/Winamac America/Kentucky/Monticello America/Louisville"/>
<mapZone other="Eastern Standard Time" territory="ZZ" type="EST5EDT"/>
@ -145,6 +148,10 @@ For terms of use, see http://www.unicode.org/copyright.html
<mapZone other="US Eastern Standard Time" territory="001" type="America/Indianapolis"/>
<mapZone other="US Eastern Standard Time" territory="US" type="America/Indianapolis America/Indiana/Marengo America/Indiana/Vevay"/>
<!-- (UTC-05:00) Turks and Caicos -->
<mapZone other="Turks And Caicos Standard Time" territory="001" type="America/Grand_Turk"/>
<mapZone other="Turks And Caicos Standard Time" territory="TC" type="America/Grand_Turk"/>
<!-- (UTC-04:00) Asuncion -->
<mapZone other="Paraguay Standard Time" territory="001" type="America/Asuncion"/>
<mapZone other="Paraguay Standard Time" territory="PY" type="America/Asuncion"/>
@ -195,13 +202,8 @@ For terms of use, see http://www.unicode.org/copyright.html
<!-- (UTC-04:00) Santiago -->
<mapZone other="Pacific SA Standard Time" territory="001" type="America/Santiago"/>
<mapZone other="Pacific SA Standard Time" territory="AQ" type="Antarctica/Palmer"/>
<mapZone other="Pacific SA Standard Time" territory="CL" type="America/Santiago"/>
<!-- (UTC-04:00) Turks and Caicos -->
<mapZone other="Turks And Caicos Standard Time" territory="001" type="America/Grand_Turk"/>
<mapZone other="Turks And Caicos Standard Time" territory="TC" type="America/Grand_Turk"/>
<!-- (UTC-03:30) Newfoundland -->
<mapZone other="Newfoundland Standard Time" territory="001" type="America/St_Johns"/>
<mapZone other="Newfoundland Standard Time" territory="CA" type="America/St_Johns"/>
@ -216,7 +218,7 @@ For terms of use, see http://www.unicode.org/copyright.html
<!-- (UTC-03:00) Cayenne, Fortaleza -->
<mapZone other="SA Eastern Standard Time" territory="001" type="America/Cayenne"/>
<mapZone other="SA Eastern Standard Time" territory="AQ" type="Antarctica/Rothera"/>
<mapZone other="SA Eastern Standard Time" territory="AQ" type="Antarctica/Rothera Antarctica/Palmer"/>
<mapZone other="SA Eastern Standard Time" territory="BR" type="America/Fortaleza America/Belem America/Maceio America/Recife America/Santarem"/>
<mapZone other="SA Eastern Standard Time" territory="FK" type="Atlantic/Stanley"/>
<mapZone other="SA Eastern Standard Time" territory="GF" type="America/Cayenne"/>
@ -235,6 +237,10 @@ For terms of use, see http://www.unicode.org/copyright.html
<mapZone other="Montevideo Standard Time" territory="001" type="America/Montevideo"/>
<mapZone other="Montevideo Standard Time" territory="UY" type="America/Montevideo"/>
<!-- (UTC-03:00) Punta Arenas -->
<mapZone other="Magallanes Standard Time" territory="001" type="America/Punta_Arenas"/>
<mapZone other="Magallanes Standard Time" territory="CL" type="America/Punta_Arenas"/>
<!-- (UTC-03:00) Saint Pierre and Miquelon -->
<mapZone other="Saint Pierre Standard Time" territory="001" type="America/Miquelon"/>
<mapZone other="Saint Pierre Standard Time" territory="PM" type="America/Miquelon"/>
@ -260,14 +266,8 @@ For terms of use, see http://www.unicode.org/copyright.html
<mapZone other="Cape Verde Standard Time" territory="ZZ" type="Etc/GMT+1"/>
<!-- (UTC) Coordinated Universal Time -->
<mapZone other="UTC" territory="001" type="Etc/GMT"/>
<mapZone other="UTC" territory="GL" type="America/Danmarkshavn"/>
<mapZone other="UTC" territory="ZZ" type="Etc/GMT"/>
<!-- (UTC+00:00) Casablanca -->
<mapZone other="Morocco Standard Time" territory="001" type="Africa/Casablanca"/>
<mapZone other="Morocco Standard Time" territory="EH" type="Africa/El_Aaiun"/>
<mapZone other="Morocco Standard Time" territory="MA" type="Africa/Casablanca"/>
<mapZone other="UTC" territory="001" type="Etc/UTC"/>
<mapZone other="UTC" territory="ZZ" type="Etc/UTC Etc/GMT"/>
<!-- (UTC+00:00) Dublin, Edinburgh, Lisbon, London -->
<mapZone other="GMT Standard Time" territory="001" type="Europe/London"/>
@ -285,6 +285,7 @@ For terms of use, see http://www.unicode.org/copyright.html
<mapZone other="Greenwich Standard Time" territory="BF" type="Africa/Ouagadougou"/>
<mapZone other="Greenwich Standard Time" territory="CI" type="Africa/Abidjan"/>
<mapZone other="Greenwich Standard Time" territory="GH" type="Africa/Accra"/>
<mapZone other="Greenwich Standard Time" territory="GL" type="America/Danmarkshavn"/>
<mapZone other="Greenwich Standard Time" territory="GM" type="Africa/Banjul"/>
<mapZone other="Greenwich Standard Time" territory="GN" type="Africa/Conakry"/>
<mapZone other="Greenwich Standard Time" territory="GW" type="Africa/Bissau"/>
@ -295,9 +296,17 @@ For terms of use, see http://www.unicode.org/copyright.html
<mapZone other="Greenwich Standard Time" territory="SH" type="Atlantic/St_Helena"/>
<mapZone other="Greenwich Standard Time" territory="SL" type="Africa/Freetown"/>
<mapZone other="Greenwich Standard Time" territory="SN" type="Africa/Dakar"/>
<mapZone other="Greenwich Standard Time" territory="ST" type="Africa/Sao_Tome"/>
<mapZone other="Greenwich Standard Time" territory="TG" type="Africa/Lome"/>
<!-- (UTC+00:00) Sao Tome -->
<mapZone other="Sao Tome Standard Time" territory="001" type="Africa/Sao_Tome"/>
<mapZone other="Sao Tome Standard Time" territory="ST" type="Africa/Sao_Tome"/>
<!-- (UTC+01:00) Casablanca -->
<mapZone other="Morocco Standard Time" territory="001" type="Africa/Casablanca"/>
<mapZone other="Morocco Standard Time" territory="EH" type="Africa/El_Aaiun"/>
<mapZone other="Morocco Standard Time" territory="MA" type="Africa/Casablanca"/>
<!-- (UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna -->
<mapZone other="W. Europe Standard Time" territory="001" type="Europe/Berlin"/>
<mapZone other="W. Europe Standard Time" territory="AD" type="Europe/Andorra"/>
@ -358,17 +367,13 @@ For terms of use, see http://www.unicode.org/copyright.html
<mapZone other="W. Central Africa Standard Time" territory="TN" type="Africa/Tunis"/>
<mapZone other="W. Central Africa Standard Time" territory="ZZ" type="Etc/GMT-1"/>
<!-- (UTC+01:00) Windhoek -->
<mapZone other="Namibia Standard Time" territory="001" type="Africa/Windhoek"/>
<mapZone other="Namibia Standard Time" territory="NA" type="Africa/Windhoek"/>
<!-- (UTC+02:00) Amman -->
<mapZone other="Jordan Standard Time" territory="001" type="Asia/Amman"/>
<mapZone other="Jordan Standard Time" territory="JO" type="Asia/Amman"/>
<!-- (UTC+02:00) Athens, Bucharest -->
<mapZone other="GTB Standard Time" territory="001" type="Europe/Bucharest"/>
<mapZone other="GTB Standard Time" territory="CY" type="Asia/Nicosia"/>
<mapZone other="GTB Standard Time" territory="CY" type="Asia/Nicosia Asia/Famagusta"/>
<mapZone other="GTB Standard Time" territory="GR" type="Europe/Athens"/>
<mapZone other="GTB Standard Time" territory="RO" type="Europe/Bucharest"/>
@ -415,28 +420,40 @@ For terms of use, see http://www.unicode.org/copyright.html
<mapZone other="FLE Standard Time" territory="FI" type="Europe/Helsinki"/>
<mapZone other="FLE Standard Time" territory="LT" type="Europe/Vilnius"/>
<mapZone other="FLE Standard Time" territory="LV" type="Europe/Riga"/>
<mapZone other="FLE Standard Time" territory="UA" type="Europe/Kiev Europe/Uzhgorod Europe/Zaporozhye"/>
<!-- (UTC+02:00) Istanbul -->
<mapZone other="Turkey Standard Time" territory="001" type="Europe/Istanbul"/>
<mapZone other="Turkey Standard Time" territory="TR" type="Europe/Istanbul"/>
<mapZone other="FLE Standard Time" territory="UA" type="Europe/Kiev"/>
<!-- (UTC+02:00) Jerusalem -->
<mapZone other="Israel Standard Time" territory="001" type="Asia/Jerusalem"/>
<mapZone other="Israel Standard Time" territory="IL" type="Asia/Jerusalem"/>
<!-- (UTC+02:00) Juba -->
<mapZone other="South Sudan Standard Time" territory="001" type="Africa/Juba"/>
<mapZone other="South Sudan Standard Time" territory="SS" type="Africa/Juba"/>
<!-- (UTC+02:00) Kaliningrad -->
<mapZone other="Kaliningrad Standard Time" territory="001" type="Europe/Kaliningrad"/>
<mapZone other="Kaliningrad Standard Time" territory="RU" type="Europe/Kaliningrad"/>
<!-- (UTC+02:00) Khartoum -->
<mapZone other="Sudan Standard Time" territory="001" type="Africa/Khartoum"/>
<mapZone other="Sudan Standard Time" territory="SD" type="Africa/Khartoum"/>
<!-- (UTC+02:00) Tripoli -->
<mapZone other="Libya Standard Time" territory="001" type="Africa/Tripoli"/>
<mapZone other="Libya Standard Time" territory="LY" type="Africa/Tripoli"/>
<!-- (UTC+02:00) Windhoek -->
<mapZone other="Namibia Standard Time" territory="001" type="Africa/Windhoek"/>
<mapZone other="Namibia Standard Time" territory="NA" type="Africa/Windhoek"/>
<!-- (UTC+03:00) Baghdad -->
<mapZone other="Arabic Standard Time" territory="001" type="Asia/Baghdad"/>
<mapZone other="Arabic Standard Time" territory="IQ" type="Asia/Baghdad"/>
<!-- (UTC+03:00) Istanbul -->
<mapZone other="Turkey Standard Time" territory="001" type="Europe/Istanbul"/>
<mapZone other="Turkey Standard Time" territory="TR" type="Europe/Istanbul"/>
<!-- (UTC+03:00) Kuwait, Riyadh -->
<mapZone other="Arab Standard Time" territory="001" type="Asia/Riyadh"/>
<mapZone other="Arab Standard Time" territory="BH" type="Asia/Bahrain"/>
@ -449,9 +466,9 @@ For terms of use, see http://www.unicode.org/copyright.html
<mapZone other="Belarus Standard Time" territory="001" type="Europe/Minsk"/>
<mapZone other="Belarus Standard Time" territory="BY" type="Europe/Minsk"/>
<!-- (UTC+03:00) Moscow, St. Petersburg, Volgograd -->
<!-- (UTC+03:00) Moscow, St. Petersburg -->
<mapZone other="Russian Standard Time" territory="001" type="Europe/Moscow"/>
<mapZone other="Russian Standard Time" territory="RU" type="Europe/Moscow Europe/Kirov Europe/Volgograd"/>
<mapZone other="Russian Standard Time" territory="RU" type="Europe/Moscow Europe/Kirov"/>
<mapZone other="Russian Standard Time" territory="UA" type="Europe/Simferopol"/>
<!-- (UTC+03:00) Nairobi -->
@ -463,9 +480,7 @@ For terms of use, see http://www.unicode.org/copyright.html
<mapZone other="E. Africa Standard Time" territory="KE" type="Africa/Nairobi"/>
<mapZone other="E. Africa Standard Time" territory="KM" type="Indian/Comoro"/>
<mapZone other="E. Africa Standard Time" territory="MG" type="Indian/Antananarivo"/>
<mapZone other="E. Africa Standard Time" territory="SD" type="Africa/Khartoum"/>
<mapZone other="E. Africa Standard Time" territory="SO" type="Africa/Mogadishu"/>
<mapZone other="E. Africa Standard Time" territory="SS" type="Africa/Juba"/>
<mapZone other="E. Africa Standard Time" territory="TZ" type="Africa/Dar_es_Salaam"/>
<mapZone other="E. Africa Standard Time" territory="UG" type="Africa/Kampala"/>
<mapZone other="E. Africa Standard Time" territory="YT" type="Indian/Mayotte"/>
@ -499,10 +514,18 @@ For terms of use, see http://www.unicode.org/copyright.html
<mapZone other="Mauritius Standard Time" territory="RE" type="Indian/Reunion"/>
<mapZone other="Mauritius Standard Time" territory="SC" type="Indian/Mahe"/>
<!-- (UTC+04:00) Saratov -->
<mapZone other="Saratov Standard Time" territory="001" type="Europe/Saratov"/>
<mapZone other="Saratov Standard Time" territory="RU" type="Europe/Saratov"/>
<!-- (UTC+04:00) Tbilisi -->
<mapZone other="Georgian Standard Time" territory="001" type="Asia/Tbilisi"/>
<mapZone other="Georgian Standard Time" territory="GE" type="Asia/Tbilisi"/>
<!-- (UTC+04:00) Volgograd -->
<mapZone other="Volgograd Standard Time" territory="001" type="Europe/Volgograd"/>
<mapZone other="Volgograd Standard Time" territory="RU" type="Europe/Volgograd"/>
<!-- (UTC+04:00) Yerevan -->
<mapZone other="Caucasus Standard Time" territory="001" type="Asia/Yerevan"/>
<mapZone other="Caucasus Standard Time" territory="AM" type="Asia/Yerevan"/>
@ -514,7 +537,7 @@ For terms of use, see http://www.unicode.org/copyright.html
<!-- (UTC+05:00) Ashgabat, Tashkent -->
<mapZone other="West Asia Standard Time" territory="001" type="Asia/Tashkent"/>
<mapZone other="West Asia Standard Time" territory="AQ" type="Antarctica/Mawson"/>
<mapZone other="West Asia Standard Time" territory="KZ" type="Asia/Oral Asia/Aqtau Asia/Aqtobe"/>
<mapZone other="West Asia Standard Time" territory="KZ" type="Asia/Oral Asia/Aqtau Asia/Aqtobe Asia/Atyrau"/>
<mapZone other="West Asia Standard Time" territory="MV" type="Indian/Maldives"/>
<mapZone other="West Asia Standard Time" territory="TF" type="Indian/Kerguelen"/>
<mapZone other="West Asia Standard Time" territory="TJ" type="Asia/Dushanbe"/>
@ -530,6 +553,10 @@ For terms of use, see http://www.unicode.org/copyright.html
<mapZone other="Pakistan Standard Time" territory="001" type="Asia/Karachi"/>
<mapZone other="Pakistan Standard Time" territory="PK" type="Asia/Karachi"/>
<!-- (UTC+05:00) Qyzylorda -->
<mapZone other="Qyzylorda Standard Time" territory="001" type="Asia/Qyzylorda"/>
<mapZone other="Qyzylorda Standard Time" territory="KZ" type="Asia/Qyzylorda"/>
<!-- (UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi -->
<mapZone other="India Standard Time" territory="001" type="Asia/Calcutta"/>
<mapZone other="India Standard Time" territory="IN" type="Asia/Calcutta"/>
@ -548,7 +575,7 @@ For terms of use, see http://www.unicode.org/copyright.html
<mapZone other="Central Asia Standard Time" territory="CN" type="Asia/Urumqi"/>
<mapZone other="Central Asia Standard Time" territory="IO" type="Indian/Chagos"/>
<mapZone other="Central Asia Standard Time" territory="KG" type="Asia/Bishkek"/>
<mapZone other="Central Asia Standard Time" territory="KZ" type="Asia/Almaty Asia/Qyzylorda"/>
<mapZone other="Central Asia Standard Time" territory="KZ" type="Asia/Almaty Asia/Qostanay"/>
<mapZone other="Central Asia Standard Time" territory="ZZ" type="Etc/GMT-6"/>
<!-- (UTC+06:00) Dhaka -->
@ -627,10 +654,6 @@ For terms of use, see http://www.unicode.org/copyright.html
<mapZone other="Ulaanbaatar Standard Time" territory="001" type="Asia/Ulaanbaatar"/>
<mapZone other="Ulaanbaatar Standard Time" territory="MN" type="Asia/Ulaanbaatar Asia/Choibalsan"/>
<!-- (UTC+08:30) Pyongyang -->
<mapZone other="North Korea Standard Time" territory="001" type="Asia/Pyongyang"/>
<mapZone other="North Korea Standard Time" territory="KP" type="Asia/Pyongyang"/>
<!-- (UTC+08:45) Eucla -->
<mapZone other="Aus Central W. Standard Time" territory="001" type="Australia/Eucla"/>
<mapZone other="Aus Central W. Standard Time" territory="AU" type="Australia/Eucla"/>
@ -647,6 +670,10 @@ For terms of use, see http://www.unicode.org/copyright.html
<mapZone other="Tokyo Standard Time" territory="TL" type="Asia/Dili"/>
<mapZone other="Tokyo Standard Time" territory="ZZ" type="Etc/GMT-9"/>
<!-- (UTC+09:00) Pyongyang -->
<mapZone other="North Korea Standard Time" territory="001" type="Asia/Pyongyang"/>
<mapZone other="North Korea Standard Time" territory="KP" type="Asia/Pyongyang"/>
<!-- (UTC+09:00) Seoul -->
<mapZone other="Korea Standard Time" territory="001" type="Asia/Seoul"/>
<mapZone other="Korea Standard Time" territory="KR" type="Asia/Seoul"/>
@ -682,7 +709,7 @@ For terms of use, see http://www.unicode.org/copyright.html
<!-- (UTC+10:00) Hobart -->
<mapZone other="Tasmania Standard Time" territory="001" type="Australia/Hobart"/>
<mapZone other="Tasmania Standard Time" territory="AU" type="Australia/Hobart Australia/Currie"/>
<mapZone other="Tasmania Standard Time" territory="AU" type="Australia/Hobart Antarctica/Macquarie"/>
<!-- (UTC+10:00) Vladivostok -->
<mapZone other="Vladivostok Standard Time" territory="001" type="Asia/Vladivostok"/>
@ -715,7 +742,6 @@ For terms of use, see http://www.unicode.org/copyright.html
<!-- (UTC+11:00) Solomon Is., New Caledonia -->
<mapZone other="Central Pacific Standard Time" territory="001" type="Pacific/Guadalcanal"/>
<mapZone other="Central Pacific Standard Time" territory="AQ" type="Antarctica/Casey"/>
<mapZone other="Central Pacific Standard Time" territory="AU" type="Antarctica/Macquarie"/>
<mapZone other="Central Pacific Standard Time" territory="FM" type="Pacific/Ponape Pacific/Kosrae"/>
<mapZone other="Central Pacific Standard Time" territory="NC" type="Pacific/Noumea"/>
<mapZone other="Central Pacific Standard Time" territory="SB" type="Pacific/Guadalcanal"/>
@ -749,12 +775,15 @@ For terms of use, see http://www.unicode.org/copyright.html
<mapZone other="Chatham Islands Standard Time" territory="001" type="Pacific/Chatham"/>
<mapZone other="Chatham Islands Standard Time" territory="NZ" type="Pacific/Chatham"/>
<!-- (UTC+13:00) Coordinated Universal Time+13 -->
<mapZone other="UTC+13" territory="001" type="Etc/GMT-13"/>
<mapZone other="UTC+13" territory="KI" type="Pacific/Enderbury"/>
<mapZone other="UTC+13" territory="TK" type="Pacific/Fakaofo"/>
<mapZone other="UTC+13" territory="ZZ" type="Etc/GMT-13"/>
<!-- (UTC+13:00) Nuku'alofa -->
<mapZone other="Tonga Standard Time" territory="001" type="Pacific/Tongatapu"/>
<mapZone other="Tonga Standard Time" territory="KI" type="Pacific/Enderbury"/>
<mapZone other="Tonga Standard Time" territory="TK" type="Pacific/Fakaofo"/>
<mapZone other="Tonga Standard Time" territory="TO" type="Pacific/Tongatapu"/>
<mapZone other="Tonga Standard Time" territory="ZZ" type="Etc/GMT-13"/>
<!-- (UTC+13:00) Samoa -->
<mapZone other="Samoa Standard Time" territory="001" type="Pacific/Apia"/>

View file

@ -31,6 +31,11 @@ class MimeMailParser {
*/
public $attachment_streams;
/**
* Parts of an email
*/
private $parts = array();
/**
* Inialize some stuff
* @return
@ -303,10 +308,10 @@ class MimeMailParser {
* @param $part Array
*/
private function getPartHeaders($part) {
if (isset($part['headers'])) {
if (isset($part['headers']) && $part['headers']) {
return $part['headers'];
}
return false;
throw new Exception('MimeMailParser::getHeaders() could not parse any email headers.');
}
/**

View file

@ -9,17 +9,18 @@ return array(
'names' => array(
'conpherence.pkg.css' => '2f25eb4f',
'conpherence.pkg.js' => '020aebcf',
'core.pkg.css' => 'c0bdb5b4',
'core.pkg.css' => '3471f5d3',
'core.pkg.js' => '2eeda9e0',
'dark-console.pkg.js' => '187792c2',
'differential.pkg.css' => '2431def2',
'differential.pkg.css' => '6d3700f0',
'differential.pkg.js' => '46fcb3af',
'diffusion.pkg.css' => '42c75c37',
'diffusion.pkg.css' => '354279ea',
'diffusion.pkg.js' => '78c9885d',
'maniphest.pkg.css' => '35995d6d',
'maniphest.pkg.js' => 'c9308721',
'rsrc/audio/basic/alert.mp3' => '17889334',
'rsrc/audio/basic/bing.mp3' => 'a817a0c3',
'rsrc/audio/basic/coin.mp3' => '44ef365f',
'rsrc/audio/basic/pock.mp3' => '0fa843d0',
'rsrc/audio/basic/tap.mp3' => '02d16994',
'rsrc/audio/basic/ting.mp3' => 'a6b6540e',
@ -38,17 +39,17 @@ return array(
'rsrc/css/aphront/typeahead.css' => '8779483d',
'rsrc/css/application/almanac/almanac.css' => '2e050f4f',
'rsrc/css/application/auth/auth.css' => 'c2f23d74',
'rsrc/css/application/base/main-menu-view.css' => '5d673247',
'rsrc/css/application/base/main-menu-view.css' => '33820efe',
'rsrc/css/application/base/notification-menu.css' => '4df1ee30',
'rsrc/css/application/base/phui-theme.css' => '35883b37',
'rsrc/css/application/base/standard-page-view.css' => 'e08c7462',
'rsrc/css/application/conduit/conduit-api.css' => 'ce2cfc41',
'rsrc/css/application/config/config-options.css' => '16c920ae',
'rsrc/css/application/config/config-template.css' => 'e689dbbd',
'rsrc/css/application/config/config-template.css' => '20babf50',
'rsrc/css/application/config/setup-issue.css' => '93231115',
'rsrc/css/application/config/unhandled-exception.css' => '9ecfc00d',
'rsrc/css/application/conpherence/color.css' => 'b17746b0',
'rsrc/css/application/conpherence/durable-column.css' => '2d57072b',
'rsrc/css/application/conpherence/durable-column.css' => 'f68f35e3',
'rsrc/css/application/conpherence/header-pane.css' => 'c9a3db8e',
'rsrc/css/application/conpherence/menu.css' => '67f4680d',
'rsrc/css/application/conpherence/message-pane.css' => '50b1345e',
@ -62,21 +63,21 @@ return array(
'rsrc/css/application/diff/diff-tree-view.css' => 'e2d3e222',
'rsrc/css/application/diff/inline-comment-summary.css' => '81eb368d',
'rsrc/css/application/differential/add-comment.css' => '7e5900d9',
'rsrc/css/application/differential/changeset-view.css' => '360630ff',
'rsrc/css/application/differential/changeset-view.css' => '1b0476bc',
'rsrc/css/application/differential/core.css' => '7300a73e',
'rsrc/css/application/differential/phui-inline-comment.css' => 'a864426f',
'rsrc/css/application/differential/phui-inline-comment.css' => '9863a85e',
'rsrc/css/application/differential/revision-comment.css' => '7dbc8d1d',
'rsrc/css/application/differential/revision-history.css' => '237a2979',
'rsrc/css/application/differential/revision-list.css' => '93d2df7d',
'rsrc/css/application/differential/table-of-contents.css' => 'bba788b9',
'rsrc/css/application/diffusion/diffusion-icons.css' => '23b31a1b',
'rsrc/css/application/diffusion/diffusion-icons.css' => 'e812add2',
'rsrc/css/application/diffusion/diffusion-readme.css' => 'b68a76e4',
'rsrc/css/application/diffusion/diffusion-repository.css' => 'b89e8c6c',
'rsrc/css/application/diffusion/diffusion.css' => 'e46232d6',
'rsrc/css/application/feed/feed.css' => 'd8b6e3f8',
'rsrc/css/application/files/global-drag-and-drop.css' => '1d2713a4',
'rsrc/css/application/flag/flag.css' => '2b77be8d',
'rsrc/css/application/harbormaster/harbormaster.css' => 'cd0ce059',
'rsrc/css/application/harbormaster/harbormaster.css' => '9346e08b',
'rsrc/css/application/herald/herald-test.css' => '7e7bbdae',
'rsrc/css/application/herald/herald.css' => '648d39e2',
'rsrc/css/application/maniphest/report.css' => '3d53188b',
@ -100,16 +101,16 @@ return array(
'rsrc/css/application/policy/policy-transaction-detail.css' => 'c02b8384',
'rsrc/css/application/policy/policy.css' => 'ceb56a08',
'rsrc/css/application/ponder/ponder-view.css' => 'b04bbaff',
'rsrc/css/application/project/project-card-view.css' => 'c1200da7',
'rsrc/css/application/project/project-card-view.css' => 'a9f2c2dd',
'rsrc/css/application/project/project-triggers.css' => 'cd9c8bb9',
'rsrc/css/application/project/project-view.css' => '2f7caa20',
'rsrc/css/application/project/project-view.css' => '567858b3',
'rsrc/css/application/search/application-search-view.css' => '0f7c06d8',
'rsrc/css/application/search/search-results.css' => '9ea70ace',
'rsrc/css/application/slowvote/slowvote.css' => '1694baed',
'rsrc/css/application/tokens/tokens.css' => 'ce5a50bd',
'rsrc/css/application/uiexample/example.css' => 'b4795059',
'rsrc/css/core/core.css' => 'b3a5928e',
'rsrc/css/core/remarkup.css' => '3480e1fe',
'rsrc/css/core/core.css' => '531ad849',
'rsrc/css/core/remarkup.css' => 'd91c2ee8',
'rsrc/css/core/syntax.css' => '548567f6',
'rsrc/css/core/z-index.css' => 'ac3bfcd4',
'rsrc/css/diviner/diviner-shared.css' => '4bd263b0',
@ -123,7 +124,7 @@ return array(
'rsrc/css/layout/phabricator-source-code-view.css' => 'e382316a',
'rsrc/css/phui/button/phui-button-bar.css' => 'a4aa75c4',
'rsrc/css/phui/button/phui-button-simple.css' => '1ff278aa',
'rsrc/css/phui/button/phui-button.css' => 'f9d0f9c8',
'rsrc/css/phui/button/phui-button.css' => '55025b10',
'rsrc/css/phui/calendar/phui-calendar-day.css' => '9597d706',
'rsrc/css/phui/calendar/phui-calendar-list.css' => 'ccd7e4e2',
'rsrc/css/phui/calendar/phui-calendar-month.css' => 'cb758c42',
@ -141,9 +142,9 @@ return array(
'rsrc/css/phui/phui-big-info-view.css' => '362ad37b',
'rsrc/css/phui/phui-box.css' => '5ed3b8cb',
'rsrc/css/phui/phui-bulk-editor.css' => '374d5e30',
'rsrc/css/phui/phui-chart.css' => 'fe8f87a7',
'rsrc/css/phui/phui-chart.css' => '14df9ae3',
'rsrc/css/phui/phui-cms.css' => '8c05c41e',
'rsrc/css/phui/phui-comment-form.css' => '68a2d99a',
'rsrc/css/phui/phui-comment-form.css' => '3c6679a3',
'rsrc/css/phui/phui-comment-panel.css' => 'ec4e31c0',
'rsrc/css/phui/phui-crumbs-view.css' => '614f43cf',
'rsrc/css/phui/phui-curtain-object-ref-view.css' => '51d93266',
@ -154,7 +155,7 @@ return array(
'rsrc/css/phui/phui-feed-story.css' => 'a0c05029',
'rsrc/css/phui/phui-fontkit.css' => '1ec937e5',
'rsrc/css/phui/phui-form-view.css' => '57edecb7',
'rsrc/css/phui/phui-form.css' => 'd1adb52c',
'rsrc/css/phui/phui-form.css' => '1f177cb7',
'rsrc/css/phui/phui-formation-view.css' => 'd2dec8ed',
'rsrc/css/phui/phui-head-thing.css' => 'd7f293df',
'rsrc/css/phui/phui-header-view.css' => '36c86a58',
@ -167,11 +168,11 @@ return array(
'rsrc/css/phui/phui-left-right.css' => '68513c34',
'rsrc/css/phui/phui-lightbox.css' => '4ebf22da',
'rsrc/css/phui/phui-list.css' => 'ccf73664',
'rsrc/css/phui/phui-object-box.css' => 'fdffed5c',
'rsrc/css/phui/phui-object-box.css' => 'b8d7eea0',
'rsrc/css/phui/phui-pager.css' => 'd022c7ad',
'rsrc/css/phui/phui-pinboard-view.css' => '1f08f5d8',
'rsrc/css/phui/phui-policy-section-view.css' => '139fdc64',
'rsrc/css/phui/phui-property-list-view.css' => '118db252',
'rsrc/css/phui/phui-property-list-view.css' => '9a155095',
'rsrc/css/phui/phui-remarkup-preview.css' => '91767007',
'rsrc/css/phui/phui-segment-bar-view.css' => '5166b370',
'rsrc/css/phui/phui-spacing.css' => 'b05cadc3',
@ -185,7 +186,7 @@ return array(
'rsrc/css/phui/workboards/phui-workpanel.css' => 'bc06f022',
'rsrc/css/sprite-login.css' => '07052ee0',
'rsrc/css/sprite-tokens.css' => 'f1896dc5',
'rsrc/css/syntax/syntax-default.css' => '055fc231',
'rsrc/css/syntax/syntax-default.css' => 'c0307dc6',
'rsrc/externals/d3/d3.min.js' => '9d068042',
'rsrc/externals/font/fontawesome/fontawesome-webfont.eot' => '23f8c698',
'rsrc/externals/font/fontawesome/fontawesome-webfont.ttf' => '70983df0',
@ -391,7 +392,7 @@ return array(
'rsrc/js/application/diffusion/behavior-audit-preview.js' => 'b7b73831',
'rsrc/js/application/diffusion/behavior-commit-branches.js' => '4b671572',
'rsrc/js/application/diffusion/behavior-commit-graph.js' => 'ac10c917',
'rsrc/js/application/diffusion/behavior-locate-file.js' => '87428eb2',
'rsrc/js/application/diffusion/behavior-locate-file.js' => '4c77f259',
'rsrc/js/application/diffusion/behavior-pull-lastmodified.js' => 'c715c123',
'rsrc/js/application/doorkeeper/behavior-doorkeeper-tag.js' => '6a85bc5a',
'rsrc/js/application/drydock/drydock-live-operation-status.js' => '47a0728b',
@ -470,7 +471,7 @@ return array(
'rsrc/js/core/behavior-badge-view.js' => '92cdd7b6',
'rsrc/js/core/behavior-bulk-editor.js' => 'aa6d2308',
'rsrc/js/core/behavior-choose-control.js' => '04f8a1e3',
'rsrc/js/core/behavior-copy.js' => 'cf32921f',
'rsrc/js/core/behavior-copy.js' => '96b63a02',
'rsrc/js/core/behavior-detect-timezone.js' => '78bc5d94',
'rsrc/js/core/behavior-device.js' => 'ac2b1e01',
'rsrc/js/core/behavior-drag-and-drop-textarea.js' => '6bc7ccf7',
@ -499,7 +500,7 @@ return array(
'rsrc/js/core/behavior-reveal-content.js' => 'b105a3a6',
'rsrc/js/core/behavior-scrollbar.js' => '92388bae',
'rsrc/js/core/behavior-search-typeahead.js' => '1cb7d027',
'rsrc/js/core/behavior-select-content.js' => 'e8240b50',
'rsrc/js/core/behavior-select-content.js' => 'c538cbfc',
'rsrc/js/core/behavior-select-on-click.js' => '66365ee2',
'rsrc/js/core/behavior-setup-check-https.js' => '01384686',
'rsrc/js/core/behavior-time-typeahead.js' => '5803b9e7',
@ -549,7 +550,7 @@ return array(
'conduit-api-css' => 'ce2cfc41',
'config-options-css' => '16c920ae',
'conpherence-color-css' => 'b17746b0',
'conpherence-durable-column-view' => '2d57072b',
'conpherence-durable-column-view' => 'f68f35e3',
'conpherence-header-pane-css' => 'c9a3db8e',
'conpherence-menu-css' => '67f4680d',
'conpherence-message-pane-css' => '50b1345e',
@ -559,7 +560,7 @@ return array(
'conpherence-transaction-css' => '3a3f5e7e',
'd3' => '9d068042',
'diff-tree-view-css' => 'e2d3e222',
'differential-changeset-view-css' => '360630ff',
'differential-changeset-view-css' => '1b0476bc',
'differential-core-view-css' => '7300a73e',
'differential-revision-add-comment-css' => '7e5900d9',
'differential-revision-comment-css' => '7dbc8d1d',
@ -567,7 +568,7 @@ return array(
'differential-revision-list-css' => '93d2df7d',
'differential-table-of-contents-css' => 'bba788b9',
'diffusion-css' => 'e46232d6',
'diffusion-icons-css' => '23b31a1b',
'diffusion-icons-css' => 'e812add2',
'diffusion-readme-css' => 'b68a76e4',
'diffusion-repository-css' => 'b89e8c6c',
'diviner-shared-css' => '4bd263b0',
@ -578,7 +579,7 @@ return array(
'fuel-map-css' => 'd6e31510',
'fuel-menu-css' => '21f5d199',
'global-drag-and-drop-css' => '1d2713a4',
'harbormaster-css' => 'cd0ce059',
'harbormaster-css' => '9346e08b',
'herald-css' => '648d39e2',
'herald-rule-editor' => '2633bef7',
'herald-test-css' => '7e7bbdae',
@ -619,7 +620,7 @@ return array(
'javelin-behavior-differential-populate' => 'b86ef6c2',
'javelin-behavior-diffusion-commit-branches' => '4b671572',
'javelin-behavior-diffusion-commit-graph' => 'ac10c917',
'javelin-behavior-diffusion-locate-file' => '87428eb2',
'javelin-behavior-diffusion-locate-file' => '4c77f259',
'javelin-behavior-diffusion-pull-lastmodified' => 'c715c123',
'javelin-behavior-document-engine' => '243d6c22',
'javelin-behavior-doorkeeper-tag' => '6a85bc5a',
@ -644,7 +645,7 @@ return array(
'javelin-behavior-owners-path-editor' => 'ff688a7a',
'javelin-behavior-passphrase-credential-control' => '48fe33d0',
'javelin-behavior-phabricator-autofocus' => '65bb0011',
'javelin-behavior-phabricator-clipboard-copy' => 'cf32921f',
'javelin-behavior-phabricator-clipboard-copy' => '96b63a02',
'javelin-behavior-phabricator-gesture' => 'b58d1a2a',
'javelin-behavior-phabricator-gesture-example' => '242dedd0',
'javelin-behavior-phabricator-keyboard-pager' => '1325b731',
@ -687,7 +688,7 @@ return array(
'javelin-behavior-repository-crossreference' => '44d48cd1',
'javelin-behavior-scrollbar' => '92388bae',
'javelin-behavior-search-reorder-queries' => 'b86f297f',
'javelin-behavior-select-content' => 'e8240b50',
'javelin-behavior-select-content' => 'c538cbfc',
'javelin-behavior-select-on-click' => '66365ee2',
'javelin-behavior-setup-check-https' => '01384686',
'javelin-behavior-stripe-payment-form' => '02cb4398',
@ -770,7 +771,7 @@ return array(
'phabricator-action-list-view-css' => '1b0085b2',
'phabricator-busy' => '5202e831',
'phabricator-content-source-view-css' => 'cdf0d579',
'phabricator-core-css' => 'b3a5928e',
'phabricator-core-css' => '531ad849',
'phabricator-countdown-css' => 'bff8012f',
'phabricator-darklog' => '3b869402',
'phabricator-darkmessage' => '26cd4b73',
@ -783,14 +784,14 @@ return array(
'phabricator-diff-tree-view' => '5d83623b',
'phabricator-drag-and-drop-file-upload' => '4370900d',
'phabricator-draggable-list' => '0169e425',
'phabricator-fatal-config-template-css' => 'e689dbbd',
'phabricator-fatal-config-template-css' => '20babf50',
'phabricator-favicon' => '7930776a',
'phabricator-feed-css' => 'd8b6e3f8',
'phabricator-file-upload' => '331676ea',
'phabricator-flag-css' => '2b77be8d',
'phabricator-keyboard-shortcut' => '1a844c06',
'phabricator-keyboard-shortcut-manager' => '81debc48',
'phabricator-main-menu-view' => '5d673247',
'phabricator-main-menu-view' => '33820efe',
'phabricator-nav-view-css' => '423f92cc',
'phabricator-notification' => 'a9b91e3f',
'phabricator-notification-css' => '30240bd2',
@ -798,7 +799,7 @@ return array(
'phabricator-object-selector-css' => 'ee77366f',
'phabricator-phtize' => '2f1db1ed',
'phabricator-prefab' => '5793d835',
'phabricator-remarkup-css' => '3480e1fe',
'phabricator-remarkup-css' => 'd91c2ee8',
'phabricator-remarkup-metadata' => 'e40c4991',
'phabricator-search-results-css' => '9ea70ace',
'phabricator-shaped-request' => '995f5102',
@ -827,15 +828,15 @@ return array(
'phui-box-css' => '5ed3b8cb',
'phui-bulk-editor-css' => '374d5e30',
'phui-button-bar-css' => 'a4aa75c4',
'phui-button-css' => 'f9d0f9c8',
'phui-button-css' => '55025b10',
'phui-button-simple-css' => '1ff278aa',
'phui-calendar-css' => 'f11073aa',
'phui-calendar-day-css' => '9597d706',
'phui-calendar-list-css' => 'ccd7e4e2',
'phui-calendar-month-css' => 'cb758c42',
'phui-chart-css' => 'fe8f87a7',
'phui-chart-css' => '14df9ae3',
'phui-cms-css' => '8c05c41e',
'phui-comment-form-css' => '68a2d99a',
'phui-comment-form-css' => '3c6679a3',
'phui-comment-panel-css' => 'ec4e31c0',
'phui-crumbs-view-css' => '614f43cf',
'phui-curtain-object-ref-view-css' => '51d93266',
@ -846,7 +847,7 @@ return array(
'phui-feed-story-css' => 'a0c05029',
'phui-font-icon-base-css' => '303c9b87',
'phui-fontkit-css' => '1ec937e5',
'phui-form-css' => 'd1adb52c',
'phui-form-css' => '1f177cb7',
'phui-form-view-css' => '57edecb7',
'phui-formation-view-css' => 'd2dec8ed',
'phui-head-thing-view-css' => 'd7f293df',
@ -858,12 +859,12 @@ return array(
'phui-icon-view-css' => '084ac612',
'phui-image-mask-css' => '62c7f4d2',
'phui-info-view-css' => 'a10a909b',
'phui-inline-comment-view-css' => 'a864426f',
'phui-inline-comment-view-css' => '9863a85e',
'phui-invisible-character-view-css' => 'c694c4a4',
'phui-left-right-css' => '68513c34',
'phui-lightbox-css' => '4ebf22da',
'phui-list-view-css' => 'ccf73664',
'phui-object-box-css' => 'fdffed5c',
'phui-object-box-css' => 'b8d7eea0',
'phui-oi-big-ui-css' => 'fa74cc35',
'phui-oi-color-css' => 'b517bfa0',
'phui-oi-drag-ui-css' => 'da15d3dc',
@ -873,7 +874,7 @@ return array(
'phui-pager-css' => 'd022c7ad',
'phui-pinboard-view-css' => '1f08f5d8',
'phui-policy-section-view-css' => '139fdc64',
'phui-property-list-view-css' => '118db252',
'phui-property-list-view-css' => '9a155095',
'phui-remarkup-preview-css' => '91767007',
'phui-segment-bar-view-css' => '5166b370',
'phui-spacing-css' => 'b05cadc3',
@ -900,13 +901,13 @@ return array(
'policy-edit-css' => '8794e2ed',
'policy-transaction-detail-css' => 'c02b8384',
'ponder-view-css' => 'b04bbaff',
'project-card-view-css' => 'c1200da7',
'project-card-view-css' => 'a9f2c2dd',
'project-triggers-css' => 'cd9c8bb9',
'project-view-css' => '2f7caa20',
'project-view-css' => '567858b3',
'setup-issue-css' => '93231115',
'sprite-login-css' => '07052ee0',
'sprite-tokens-css' => 'f1896dc5',
'syntax-default-css' => '055fc231',
'syntax-default-css' => 'c0307dc6',
'syntax-highlighting-css' => '548567f6',
'tokens-css' => 'ce5a50bd',
'trigger-rule' => '41b7b4f6',
@ -1055,6 +1056,9 @@ return array(
'javelin-util',
'phabricator-keyboard-shortcut-manager',
),
'1b0476bc' => array(
'phui-inline-comment-view-css',
),
'1b6acc2a' => array(
'javelin-magical-init',
'javelin-util',
@ -1211,6 +1215,9 @@ return array(
'javelin-dom',
'phabricator-notification',
),
'33820efe' => array(
'phui-theme-css',
),
34450586 => array(
'javelin-color',
'javelin-install',
@ -1226,9 +1233,6 @@ return array(
'aphront-typeahead-control-css',
'phui-tag-view-css',
),
'360630ff' => array(
'phui-inline-comment-view-css',
),
'3829a3cf' => array(
'javelin-behavior',
'javelin-uri',
@ -1372,6 +1376,13 @@ return array(
'javelin-install',
'javelin-dom',
),
'4c77f259' => array(
'javelin-behavior',
'javelin-diffusion-locate-file-source',
'javelin-dom',
'javelin-typeahead',
'javelin-uri',
),
'4dffaeb2' => array(
'javelin-behavior',
'javelin-stratcom',
@ -1499,9 +1510,6 @@ return array(
'javelin-dom',
'phuix-dropdown-menu',
),
'5d673247' => array(
'phui-theme-css',
),
'5d83623b' => array(
'javelin-dom',
),
@ -1672,13 +1680,6 @@ return array(
'84f82dad' => array(
'javelin-install',
),
'87428eb2' => array(
'javelin-behavior',
'javelin-diffusion-locate-file-source',
'javelin-dom',
'javelin-typeahead',
'javelin-uri',
),
'876506b6' => array(
'javelin-view',
'javelin-install',
@ -1770,6 +1771,12 @@ return array(
'javelin-dom',
'javelin-router',
),
'96b63a02' => array(
'javelin-behavior',
'javelin-dom',
'javelin-stratcom',
'phabricator-notification',
),
'98ef467f' => array(
'javelin-behavior',
'javelin-dom',
@ -2022,6 +2029,11 @@ return array(
'javelin-workboard-card',
'javelin-workboard-header',
),
'c538cbfc' => array(
'javelin-behavior',
'javelin-stratcom',
'javelin-dom',
),
'c687e867' => array(
'javelin-behavior',
'javelin-dom',
@ -2063,11 +2075,6 @@ return array(
'phuix-formation-column-view',
'phuix-formation-flank-view',
),
'cf32921f' => array(
'javelin-behavior',
'javelin-dom',
'javelin-stratcom',
),
'd12d214f' => array(
'javelin-install',
'javelin-dom',
@ -2146,11 +2153,6 @@ return array(
'javelin-dom',
'phabricator-draggable-list',
),
'e8240b50' => array(
'javelin-behavior',
'javelin-stratcom',
'javelin-dom',
),
'e9a2940f' => array(
'javelin-behavior',
'javelin-request',

View file

@ -55,7 +55,9 @@ foreach (array('text', 'html') as $part) {
}
$headers = $parser->getHeaders();
$headers['subject'] = phutil_decode_mime_header($headers['subject']);
if (array_key_exists('subject', $headers)) {
$headers['subject'] = phutil_decode_mime_header($headers['subject']);
}
$headers['from'] = phutil_decode_mime_header($headers['from']);
if ($args->getArg('process-duplicates')) {

View file

@ -5750,6 +5750,7 @@ phutil_register_library_map(array(
'PhutilRemarkupEscapeRemarkupRule' => 'infrastructure/markup/markuprule/PhutilRemarkupEscapeRemarkupRule.php',
'PhutilRemarkupEvalRule' => 'infrastructure/markup/markuprule/PhutilRemarkupEvalRule.php',
'PhutilRemarkupHeaderBlockRule' => 'infrastructure/markup/blockrule/PhutilRemarkupHeaderBlockRule.php',
'PhutilRemarkupHexColorCodeRule' => 'infrastructure/markup/markuprule/PhutilRemarkupHexColorCodeRule.php',
'PhutilRemarkupHighlightRule' => 'infrastructure/markup/markuprule/PhutilRemarkupHighlightRule.php',
'PhutilRemarkupHorizontalRuleBlockRule' => 'infrastructure/markup/blockrule/PhutilRemarkupHorizontalRuleBlockRule.php',
'PhutilRemarkupHyperlinkEngineExtension' => 'infrastructure/markup/markuprule/PhutilRemarkupHyperlinkEngineExtension.php',
@ -12637,6 +12638,7 @@ phutil_register_library_map(array(
'PhutilRemarkupEscapeRemarkupRule' => 'PhutilRemarkupRule',
'PhutilRemarkupEvalRule' => 'PhutilRemarkupRule',
'PhutilRemarkupHeaderBlockRule' => 'PhutilRemarkupBlockRule',
'PhutilRemarkupHexColorCodeRule' => 'PhabricatorRemarkupCustomInlineRule',
'PhutilRemarkupHighlightRule' => 'PhutilRemarkupRule',
'PhutilRemarkupHorizontalRuleBlockRule' => 'PhutilRemarkupBlockRule',
'PhutilRemarkupHyperlinkEngineExtension' => 'Phobject',

View file

@ -36,7 +36,7 @@ final class AlmanacBindingEditEngine
}
public function getEngineApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
protected function newEditableObject() {

View file

@ -22,7 +22,7 @@ final class AlmanacDeviceEditEngine
}
public function getEngineApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
protected function newEditableObject() {

View file

@ -4,7 +4,7 @@ abstract class AlmanacEditor
extends PhabricatorApplicationTransactionEditor {
public function getEditorApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
}

View file

@ -36,7 +36,7 @@ final class AlmanacInterfaceEditEngine
}
public function getEngineApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
protected function newEditableObject() {

View file

@ -22,7 +22,7 @@ final class AlmanacNamespaceEditEngine
}
public function getEngineApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
protected function newEditableObject() {

View file

@ -22,7 +22,7 @@ final class AlmanacNetworkEditEngine
}
public function getEngineApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
protected function newEditableObject() {

View file

@ -35,7 +35,7 @@ abstract class AlmanacPropertyEditEngine
}
public function getEngineApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
protected function newEditableObject() {

View file

@ -33,7 +33,7 @@ final class AlmanacServiceEditEngine
}
public function getEngineApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
protected function newEditableObject() {

View file

@ -38,7 +38,7 @@ final class AlmanacManagementRegisterWorkflow
$viewer = $this->getViewer();
$device_name = $args->getArg('device');
if (!strlen($device_name)) {
if (!phutil_nonempty_string($device_name)) {
throw new PhutilArgumentUsageException(
pht('Specify a device with --device.'));
}
@ -55,7 +55,7 @@ final class AlmanacManagementRegisterWorkflow
$identify_as = $args->getArg('identify-as');
$raw_device = $device_name;
if (strlen($identify_as)) {
if (phutil_nonempty_string($identify_as)) {
$raw_device = $identify_as;
}
@ -70,7 +70,7 @@ final class AlmanacManagementRegisterWorkflow
}
$private_key_path = $args->getArg('private-key');
if (!strlen($private_key_path)) {
if (!phutil_nonempty_string($private_key_path)) {
throw new PhutilArgumentUsageException(
pht('Specify a private key with --private-key.'));
}

View file

@ -13,7 +13,7 @@ final class AlmanacBindingPHIDType extends PhabricatorPHIDType {
}
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
protected function buildQueryForObjects(

View file

@ -13,7 +13,7 @@ final class AlmanacDevicePHIDType extends PhabricatorPHIDType {
}
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
protected function buildQueryForObjects(

View file

@ -13,7 +13,7 @@ final class AlmanacInterfacePHIDType extends PhabricatorPHIDType {
}
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
protected function buildQueryForObjects(

View file

@ -13,7 +13,7 @@ final class AlmanacNamespacePHIDType extends PhabricatorPHIDType {
}
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
protected function buildQueryForObjects(

View file

@ -13,7 +13,7 @@ final class AlmanacNetworkPHIDType extends PhabricatorPHIDType {
}
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
protected function buildQueryForObjects(

View file

@ -13,7 +13,7 @@ final class AlmanacServicePHIDType extends PhabricatorPHIDType {
}
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
protected function buildQueryForObjects(

View file

@ -8,7 +8,7 @@ final class AlmanacBindingSearchEngine
}
public function getApplicationClassName() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
public function newQuery() {

View file

@ -7,4 +7,8 @@ final class AlmanacBindingTransactionQuery
return new AlmanacBindingTransaction();
}
public function getQueryApplicationClass() {
return PhabricatorAlmanacApplication::class;
}
}

View file

@ -148,7 +148,7 @@ final class AlmanacDeviceQuery
}
public function getQueryApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
}

View file

@ -8,7 +8,7 @@ final class AlmanacDeviceSearchEngine
}
public function getApplicationClassName() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
public function newQuery() {

View file

@ -7,4 +7,8 @@ final class AlmanacDeviceTransactionQuery
return new AlmanacDeviceTransaction();
}
public function getQueryApplicationClass() {
return PhabricatorAlmanacApplication::class;
}
}

View file

@ -169,7 +169,7 @@ final class AlmanacInterfaceQuery
}
public function getQueryApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
public function getBuiltinOrders() {

View file

@ -8,7 +8,7 @@ final class AlmanacInterfaceSearchEngine
}
public function getApplicationClassName() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
public function newQuery() {

View file

@ -7,4 +7,8 @@ final class AlmanacInterfaceTransactionQuery
return new AlmanacInterfaceTransaction();
}
public function getQueryApplicationClass() {
return PhabricatorAlmanacApplication::class;
}
}

View file

@ -92,7 +92,7 @@ final class AlmanacNamespaceQuery
}
public function getQueryApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
}

View file

@ -8,7 +8,7 @@ final class AlmanacNamespaceSearchEngine
}
public function getApplicationClassName() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
public function newQuery() {

View file

@ -7,4 +7,8 @@ final class AlmanacNamespaceTransactionQuery
return new AlmanacNamespaceTransaction();
}
public function getQueryApplicationClass() {
return PhabricatorAlmanacApplication::class;
}
}

View file

@ -64,7 +64,7 @@ final class AlmanacNetworkQuery
}
public function getQueryApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
}

View file

@ -8,7 +8,7 @@ final class AlmanacNetworkSearchEngine
}
public function getApplicationClassName() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
public function newQuery() {

View file

@ -7,4 +7,8 @@ final class AlmanacNetworkTransactionQuery
return new AlmanacNetworkTransaction();
}
public function getQueryApplicationClass() {
return PhabricatorAlmanacApplication::class;
}
}

View file

@ -99,7 +99,7 @@ final class AlmanacPropertyQuery
}
public function getQueryApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
}

View file

@ -55,7 +55,7 @@ abstract class AlmanacQuery
}
public function getQueryApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
}

View file

@ -8,7 +8,7 @@ final class AlmanacServiceSearchEngine
}
public function getApplicationClassName() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
public function newQuery() {

View file

@ -7,4 +7,8 @@ final class AlmanacServiceTransactionQuery
return new AlmanacServiceTransaction();
}
public function getQueryApplicationClass() {
return PhabricatorAlmanacApplication::class;
}
}

View file

@ -12,7 +12,7 @@ final class AlmanacInterfaceDatasource
}
public function getDatasourceApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
public function loadResults() {

View file

@ -12,7 +12,7 @@ final class AlmanacServiceDatasource
}
public function getDatasourceApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
public function loadResults() {

View file

@ -12,7 +12,7 @@ final class AlmanacServiceTypeDatasource
}
public function getDatasourceApplicationClass() {
return 'PhabricatorAlmanacApplication';
return PhabricatorAlmanacApplication::class;
}
public function loadResults() {

View file

@ -26,7 +26,7 @@ final class PhabricatorAphlictManagementNotifyWorkflow
$viewer = $this->getViewer();
$username = $args->getArg('user');
if (!strlen($username)) {
if (!phutil_nonempty_string($username)) {
throw new PhutilArgumentUsageException(
pht(
'Specify a user to notify with "--user".'));
@ -45,7 +45,7 @@ final class PhabricatorAphlictManagementNotifyWorkflow
}
$message = $args->getArg('message');
if (!strlen($message)) {
if (!phutil_nonempty_string($message)) {
throw new PhutilArgumentUsageException(
pht(
'Specify a message to send with "--message".'));

View file

@ -19,9 +19,7 @@ final class PhabricatorAuditApplication extends PhabricatorApplication {
}
public function canUninstall() {
// Audit was once a separate application, but has largely merged with
// Diffusion.
return false;
return true;
}
public function isPinnedByDefault(PhabricatorUser $viewer) {

View file

@ -4,7 +4,7 @@ abstract class AuditConduitAPIMethod extends ConduitAPIMethod {
final public function getApplication() {
return PhabricatorApplication::getByClass(
'PhabricatorDiffusionApplication');
'PhabricatorAuditApplication');
}
}

View file

@ -22,7 +22,7 @@ final class PhabricatorAuditEditor
}
public function getEditorApplicationClass() {
return 'PhabricatorDiffusionApplication';
return PhabricatorDiffusionApplication::class;
}
public function getEditorObjectsDescription() {

View file

@ -8,7 +8,7 @@ final class DiffusionInternalCommitSearchEngine
}
public function getApplicationClassName() {
return 'PhabricatorDiffusionApplication';
return PhabricatorDiffusionApplication::class;
}
public function newQuery() {

View file

@ -7,4 +7,8 @@ final class PhabricatorAuditTransactionQuery
return new PhabricatorAuditTransaction();
}
public function getQueryApplicationClass() {
return PhabricatorAuditApplication::class;
}
}

View file

@ -8,7 +8,7 @@ final class PhabricatorCommitSearchEngine
}
public function getApplicationClassName() {
return 'PhabricatorDiffusionApplication';
return PhabricatorDiffusionApplication::class;
}
public function newQuery() {
@ -70,6 +70,9 @@ final class PhabricatorCommitSearchEngine
}
protected function buildCustomSearchFields() {
$show_audit_fields = (id(new PhabricatorAuditApplication())->isInstalled());
$show_packages = PhabricatorApplication::isClassInstalled(
'PhabricatorPackagesApplication');
return array(
id(new PhabricatorSearchDatasourceField())
->setLabel(pht('Responsible Users'))
@ -93,6 +96,7 @@ final class PhabricatorCommitSearchEngine
->setConduitKey('auditors')
->setAliases(array('auditor', 'auditors', 'auditorPHID'))
->setDatasource(new DiffusionAuditorFunctionDatasource())
->setIsHidden(!$show_audit_fields)
->setDescription(
pht(
'Find commits where given users, projects, or packages are '.
@ -104,6 +108,7 @@ final class PhabricatorCommitSearchEngine
->setOptions(DiffusionCommitAuditStatus::newOptions())
->setDeprecatedOptions(
DiffusionCommitAuditStatus::newDeprecatedOptions())
->setIsHidden(!$show_audit_fields)
->setDescription(pht('Find commits with given audit statuses.')),
id(new PhabricatorSearchDatasourceField())
->setLabel(pht('Repositories'))
@ -118,6 +123,7 @@ final class PhabricatorCommitSearchEngine
->setConduitKey('packages')
->setAliases(array('package', 'packages', 'packagePHID'))
->setDatasource(new PhabricatorOwnersPackageDatasource())
->setIsHidden(!$show_packages)
->setDescription(
pht('Find commits which affect given packages.')),
id(new PhabricatorSearchThreeStateField())
@ -169,9 +175,13 @@ final class PhabricatorCommitSearchEngine
$names = array();
if ($this->requireViewer()->isLoggedIn()) {
$names['active'] = pht('Active Audits');
if (id(new PhabricatorAuditApplication())->isInstalled()) {
$names['active'] = pht('Active Audits');
}
$names['authored'] = pht('Authored');
$names['audited'] = pht('Audited');
if (id(new PhabricatorAuditApplication())->isInstalled()) {
$names['audited'] = pht('Audited');
}
}
$names['all'] = pht('All Commits');
@ -221,9 +231,11 @@ final class PhabricatorCommitSearchEngine
$bucket = $this->getResultBucket($query);
// hide "Auditors" on /diffusion/commit/query/all/ if Audit not installed
$show_auditors = id(new PhabricatorAuditApplication())->isInstalled();
$template = id(new DiffusionCommitGraphView())
->setViewer($viewer)
->setShowAuditors(true);
->setShowAuditors($show_auditors);
$views = array();
if ($bucket) {

View file

@ -110,7 +110,7 @@ final class PhabricatorAuthSSHKeyViewController
$properties = id(new PHUIPropertyListView())
->setUser($viewer);
$properties->addProperty(pht('SSH Key Type'), $ssh_key->getKeyType());
$properties->addProperty(pht('Public Key'), $ssh_key->getEntireKey());
$properties->addProperty(
pht('Created'),
phabricator_datetime($ssh_key->getDateCreated(), $viewer));

View file

@ -22,7 +22,7 @@ final class PhabricatorAuthContactNumberEditEngine
}
public function getEngineApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
protected function newEditableObject() {

View file

@ -4,7 +4,7 @@ final class PhabricatorAuthContactNumberEditor
extends PhabricatorApplicationTransactionEditor {
public function getEditorApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
public function getEditorObjectsDescription() {

View file

@ -24,7 +24,7 @@ final class PhabricatorAuthFactorProviderEditEngine
}
public function getEngineApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
public function setProviderFactor(PhabricatorAuthFactor $factor) {

View file

@ -4,7 +4,7 @@ final class PhabricatorAuthFactorProviderEditor
extends PhabricatorApplicationTransactionEditor {
public function getEditorApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
public function getEditorObjectsDescription() {

View file

@ -24,7 +24,7 @@ final class PhabricatorAuthMessageEditEngine
}
public function getEngineApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
public function setMessageType(PhabricatorAuthMessageType $type) {

View file

@ -4,7 +4,7 @@ final class PhabricatorAuthMessageEditor
extends PhabricatorApplicationTransactionEditor {
public function getEditorApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
public function getEditorObjectsDescription() {

View file

@ -15,7 +15,7 @@ final class PhabricatorAuthPasswordEditor
}
public function getEditorApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
public function getEditorObjectsDescription() {

View file

@ -4,7 +4,7 @@ final class PhabricatorAuthProviderConfigEditor
extends PhabricatorApplicationTransactionEditor {
public function getEditorApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
public function getEditorObjectsDescription() {

View file

@ -15,7 +15,7 @@ final class PhabricatorAuthSSHKeyEditor
}
public function getEditorApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
public function getEditorObjectsDescription() {

View file

@ -32,7 +32,7 @@ final class PhabricatorAuthManagementCachePKCS8Workflow
$console = PhutilConsole::getConsole();
$public_keyfile = $args->getArg('public');
if (!strlen($public_keyfile)) {
if (!phutil_nonempty_string($public_keyfile)) {
throw new PhutilArgumentUsageException(
pht(
'You must specify the path to a public keyfile with %s.',
@ -49,7 +49,7 @@ final class PhabricatorAuthManagementCachePKCS8Workflow
$public_key = Filesystem::readFile($public_keyfile);
$pkcs8_keyfile = $args->getArg('pkcs8');
if (!strlen($pkcs8_keyfile)) {
if (!phutil_nonempty_string($pkcs8_keyfile)) {
throw new PhutilArgumentUsageException(
pht(
'You must specify the path to a pkcs8 keyfile with %s.',

View file

@ -34,7 +34,7 @@ final class PhabricatorAuthManagementRefreshWorkflow
));
$username = $args->getArg('user');
if (strlen($username)) {
if (phutil_nonempty_string($username)) {
$user = id(new PhabricatorPeopleQuery())
->setViewer($viewer)
->withUsernames(array($username))

View file

@ -27,7 +27,7 @@ final class PhabricatorAuthManagementUnlimitWorkflow
public function execute(PhutilArgumentParser $args) {
$username = $args->getArg('user');
if (!strlen($username)) {
if (!phutil_nonempty_string($username)) {
throw new PhutilArgumentUsageException(
pht(
'Use %s to choose a user to reset actions for.', '--user'));

View file

@ -13,7 +13,7 @@ final class PhabricatorAuthAuthFactorPHIDType extends PhabricatorPHIDType {
}
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
protected function buildQueryForObjects(

View file

@ -14,7 +14,7 @@ final class PhabricatorAuthAuthFactorProviderPHIDType
}
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
protected function buildQueryForObjects(

View file

@ -13,7 +13,7 @@ final class PhabricatorAuthAuthProviderPHIDType extends PhabricatorPHIDType {
}
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
protected function buildQueryForObjects(

View file

@ -13,7 +13,7 @@ final class PhabricatorAuthChallengePHIDType extends PhabricatorPHIDType {
}
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
protected function buildQueryForObjects(

View file

@ -14,7 +14,7 @@ final class PhabricatorAuthContactNumberPHIDType
}
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
protected function buildQueryForObjects(

View file

@ -13,7 +13,7 @@ final class PhabricatorAuthInvitePHIDType extends PhabricatorPHIDType {
}
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
protected function buildQueryForObjects(

View file

@ -13,7 +13,7 @@ final class PhabricatorAuthMessagePHIDType extends PhabricatorPHIDType {
}
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
protected function buildQueryForObjects(

View file

@ -13,7 +13,7 @@ final class PhabricatorAuthPasswordPHIDType extends PhabricatorPHIDType {
}
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
protected function buildQueryForObjects(

View file

@ -14,7 +14,7 @@ final class PhabricatorAuthSSHKeyPHIDType
}
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
protected function buildQueryForObjects(

View file

@ -14,7 +14,7 @@ final class PhabricatorAuthSessionPHIDType
}
public function getPHIDTypeApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
protected function buildQueryForObjects(

View file

@ -137,7 +137,7 @@ abstract class PhabricatorOAuth2AuthProvider
switch ($key) {
case self::PROPERTY_APP_ID:
if (strlen($old)) {
if (phutil_nonempty_string($old)) {
return pht(
'%s updated the OAuth application ID for this provider from '.
'"%s" to "%s".',
@ -152,7 +152,7 @@ abstract class PhabricatorOAuth2AuthProvider
$new);
}
case self::PROPERTY_APP_SECRET:
if (strlen($old)) {
if (phutil_nonempty_string($old)) {
return pht(
'%s updated the OAuth application secret for this provider.',
$xaction->renderHandleLink($author_phid));
@ -162,7 +162,7 @@ abstract class PhabricatorOAuth2AuthProvider
$xaction->renderHandleLink($author_phid));
}
case self::PROPERTY_NOTE:
if (strlen($old)) {
if (phutil_nonempty_string($old)) {
return pht(
'%s updated the OAuth application notes for this provider.',
$xaction->renderHandleLink($author_phid));

View file

@ -89,7 +89,7 @@ final class PhabricatorAuthChallengeQuery
}
public function getQueryApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
}

View file

@ -93,7 +93,7 @@ final class PhabricatorAuthContactNumberQuery
}
public function getQueryApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
}

View file

@ -7,4 +7,8 @@ final class PhabricatorAuthContactNumberTransactionQuery
return new PhabricatorAuthContactNumberTransaction();
}
public function getQueryApplicationClass() {
return PhabricatorAuthApplication::class;
}
}

View file

@ -121,7 +121,7 @@ final class PhabricatorAuthFactorConfigQuery
}
public function getQueryApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
}

View file

@ -84,7 +84,7 @@ final class PhabricatorAuthFactorProviderQuery
}
public function getQueryApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
}

View file

@ -7,4 +7,8 @@ final class PhabricatorAuthFactorProviderTransactionQuery
return new PhabricatorAuthFactorProviderTransaction();
}
public function getQueryApplicationClass() {
return PhabricatorAuthApplication::class;
}
}

View file

@ -8,7 +8,7 @@ final class PhabricatorAuthInviteSearchEngine
}
public function getApplicationClassName() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
public function canUseInPanelContext() {

View file

@ -73,7 +73,7 @@ final class PhabricatorAuthMessageQuery
}
public function getQueryApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
}

View file

@ -7,4 +7,8 @@ final class PhabricatorAuthMessageTransactionQuery
return new PhabricatorAuthMessageTransaction();
}
public function getQueryApplicationClass() {
return PhabricatorAuthApplication::class;
}
}

View file

@ -104,7 +104,7 @@ final class PhabricatorAuthPasswordQuery
}
public function getQueryApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
}

View file

@ -7,4 +7,8 @@ final class PhabricatorAuthPasswordTransactionQuery
return new PhabricatorAuthPasswordTransaction();
}
public function getQueryApplicationClass() {
return PhabricatorAuthApplication::class;
}
}

View file

@ -80,7 +80,7 @@ final class PhabricatorAuthProviderConfigQuery
}
public function getQueryApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
}

View file

@ -7,4 +7,8 @@ final class PhabricatorAuthProviderConfigTransactionQuery
return new PhabricatorAuthProviderConfigTransaction();
}
public function getQueryApplicationClass() {
return PhabricatorAuthApplication::class;
}
}

View file

@ -128,7 +128,7 @@ final class PhabricatorAuthSSHKeyQuery
}
public function getQueryApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
}

View file

@ -23,7 +23,7 @@ final class PhabricatorAuthSSHKeySearchEngine
}
public function getApplicationClassName() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
public function newQuery() {

View file

@ -7,4 +7,8 @@ final class PhabricatorAuthSSHKeyTransactionQuery
return new PhabricatorAuthSSHKeyTransaction();
}
public function getQueryApplicationClass() {
return PhabricatorAuthApplication::class;
}
}

View file

@ -107,7 +107,7 @@ final class PhabricatorAuthSessionQuery
}
public function getQueryApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
}

View file

@ -100,7 +100,7 @@ final class PhabricatorAuthTemporaryTokenQuery
}
public function getQueryApplicationClass() {
return 'PhabricatorAuthApplication';
return PhabricatorAuthApplication::class;
}
}

View file

@ -84,7 +84,7 @@ final class PhabricatorExternalAccountIdentifierQuery
}
public function getQueryApplicationClass() {
return 'PhabricatorPeopleApplication';
return PhabricatorPeopleApplication::class;
}
}

View file

@ -241,7 +241,7 @@ final class PhabricatorExternalAccountQuery
}
public function getQueryApplicationClass() {
return 'PhabricatorPeopleApplication';
return PhabricatorPeopleApplication::class;
}
}

View file

@ -55,11 +55,15 @@ final class PhabricatorAuthSSHPublicKey extends Phobject {
list($type, $body, $comment) = $parts;
// The only goal is to prevent user error by nonsense input.
// This is just a meaningful subset from 'ssh -Q key'.
$recognized_keys = array(
'ssh-dsa',
'ssh-dss',
'ssh-rsa',
'ssh-ed25519',
'sk-ssh-ed25519@openssh.com',
'sk-ecdsa-sha2-nistp256@openssh.com',
'ecdsa-sha2-nistp256',
'ecdsa-sha2-nistp384',
'ecdsa-sha2-nistp521',

View file

@ -10,7 +10,7 @@ final class PhabricatorBadgesEditEngine
}
public function getEngineApplicationClass() {
return 'PhabricatorBadgesApplication';
return PhabricatorBadgesApplication::class;
}
public function getSummaryHeader() {

View file

@ -4,7 +4,7 @@ final class PhabricatorBadgesEditor
extends PhabricatorApplicationTransactionEditor {
public function getEditorApplicationClass() {
return 'PhabricatorBadgesApplication';
return PhabricatorBadgesApplication::class;
}
public function getEditorObjectsDescription() {

View file

@ -13,7 +13,7 @@ final class PhabricatorBadgesPHIDType extends PhabricatorPHIDType {
}
public function getPHIDTypeApplicationClass() {
return 'PhabricatorBadgesApplication';
return PhabricatorBadgesApplication::class;
}
protected function buildQueryForObjects(

View file

@ -115,7 +115,7 @@ final class PhabricatorBadgesAwardQuery
}
public function getQueryApplicationClass() {
return 'PhabricatorBadgesApplication';
return PhabricatorBadgesApplication::class;
}
}

View file

@ -77,7 +77,7 @@ final class PhabricatorBadgesQuery
}
public function getQueryApplicationClass() {
return 'PhabricatorBadgesApplication';
return PhabricatorBadgesApplication::class;
}
public function getBuiltinOrders() {

View file

@ -8,7 +8,7 @@ final class PhabricatorBadgesSearchEngine
}
public function getApplicationClassName() {
return 'PhabricatorBadgesApplication';
return PhabricatorBadgesApplication::class;
}
public function newQuery() {

Some files were not shown because too many files have changed in this diff Show more