diff --git a/get.php b/get.php index 7bbbd24..2a2f242 100644 --- a/get.php +++ b/get.php @@ -241,7 +241,7 @@ function uupGetFiles($updateId = 'c2a1d787-647b-486d-b264-f90f3782cdc6', $usePac $temp['uuid'] = $guid; $temp['expire'] = $expire; - $newName = preg_replace('/cabs_|~31bf3856ad364e35/i', '', $name); + $newName = preg_replace('/^cabs_|~31bf3856ad364e35/i', '', $name); $newName = preg_replace('/~~\.|~\./', '.', $newName); $newName = preg_replace('/~/', '-', $newName); @@ -250,16 +250,19 @@ function uupGetFiles($updateId = 'c2a1d787-647b-486d-b264-f90f3782cdc6', $usePac } unset($temp, $newName); + $baseless = preg_grep('/^baseless_/i', array_keys($files)); + foreach($baseless as $val) { + if(isset($files[$val])) unset($files[$val]); + } + $psf = array_keys($files); $psf = preg_grep('/\.psf$/i', $psf); - $index = 0; $removeFiles = array(); foreach($psf as $val) { $name = preg_replace('/\.psf$/i', '', $val); - $removeFiles[$index] = $name; + $removeFiles[] = $name; unset($files[$val]); - $index++; } unset($index, $name, $psf); diff --git a/shared/main.php b/shared/main.php index 1b0fcfc..adc3428 100644 --- a/shared/main.php +++ b/shared/main.php @@ -16,7 +16,7 @@ limitations under the License. */ function uupApiVersion() { - return '1.14.2'; + return '1.14.3'; } function uupApiPrintBrand() { diff --git a/shared/packs.php b/shared/packs.php index b23d63f..7347cb4 100644 --- a/shared/packs.php +++ b/shared/packs.php @@ -166,6 +166,8 @@ function uupGetPacks($build = 15063) { if($build < 17063) { require dirname(__FILE__).'/packs/legacy.php'; + } elseif ($build >= 17661) { + require dirname(__FILE__).'/packs/17661.php'; } elseif ($build >= 17655) { require dirname(__FILE__).'/packs/17655.php'; } elseif ($build >= 17650) { diff --git a/shared/packs/17661.php b/shared/packs/17661.php new file mode 100644 index 0000000..93eae76 --- /dev/null +++ b/shared/packs/17661.php @@ -0,0 +1,230 @@ + array( + 'editionNeutral' => array( + 'Microsoft-OneCore-ApplicationModel-Sync-Desktop-FOD-Package', + 'Microsoft-Windows-Client-Desktop-Required-Package', + 'Microsoft-Windows-Client-Desktop-Required-WOW64-Package', + 'Microsoft-Windows-Client-Desktop-Required-arm64arm-Package', + 'Microsoft-Windows-Client-Features-Package', + 'Microsoft-Windows-Client-Features-WOW64-Package', + 'Microsoft-Windows-Client-Features-arm64arm-Package', + 'Microsoft-Windows-EditionPack-Professional-Package', + 'Microsoft-Windows-EditionPack-Professional-WOW64-Package', + 'Microsoft-Windows-EditionPack-Professional-arm64arm-Package', + 'Microsoft-Windows-EditionSpecific-Professional-Package', + 'Microsoft-Windows-Foundation-Package', + 'Microsoft-Windows-Hello-Face-Migration-Package', + 'Microsoft-Windows-Hello-Face-Package', + 'Microsoft-Windows-InternetExplorer-Optional-Package', + 'Microsoft-Windows-MediaPlayer-Package', + 'Microsoft-Windows-Not-Supported-On-LTSB-Package', + 'Microsoft-Windows-Not-Supported-On-LTSB-WOW64-Package', + 'Microsoft-Windows-Not-Supported-On-LTSB-arm64arm-Package', + 'Microsoft-Windows-QuickAssist-Package', + 'Microsoft-Windows-RegulatedPackages-Package', + 'Microsoft-Windows-RegulatedPackages-WOW64-Package', + 'Microsoft-Windows-RegulatedPackages-arm64arm-Package', + 'Microsoft-Windows-TabletPCMath-Package', + 'Microsoft-Windows-WowPack-CoreARM-arm64arm-Package', + 'OpenSSH-Client-Package', + ), + 'CORE' => array( + 'Microsoft-Windows-EditionPack-Core-Package', + 'Microsoft-Windows-EditionPack-Core-WOW64-Package', + 'Microsoft-Windows-EditionPack-Core-arm64arm-Package', + 'Microsoft-Windows-EditionSpecific-Core-Package', + 'Microsoft-Windows-EditionSpecific-Core-WOW64-Package', + 'Microsoft-Windows-EditionSpecific-Core-arm64arm-Package', + 'Microsoft\.ModernApps\.Client\.All', + 'Microsoft\.ModernApps\.Client\.core', + ), + 'PROFESSIONAL' => array( + 'Microsoft-Windows-EditionPack-Professional-Package', + 'Microsoft-Windows-EditionPack-Professional-WOW64-Package', + 'Microsoft-Windows-EditionPack-Professional-arm64arm-Package', + 'Microsoft-Windows-EditionSpecific-Professional-Package', + 'Microsoft-Windows-EditionSpecific-Professional-WOW64-Package', + 'Microsoft-Windows-EditionSpecific-Professional-arm64arm-Package', + 'Microsoft\.ModernApps\.Client\.All', + 'Microsoft\.ModernApps\.Client\.professional', + ), + ), + + // European "N" Editions + 1 => array( + 'COREN' => array( + 'Microsoft-Windows-EditionPack-Core-Package', + 'Microsoft-Windows-EditionPack-Core-WOW64-Package', + 'Microsoft-Windows-EditionPack-Core-arm64arm-Package', + 'Microsoft-Windows-EditionSpecific-CoreN-Package', + 'Microsoft-Windows-EditionSpecific-CoreN-WOW64-Package', + 'Microsoft-Windows-EditionSpecific-CoreN-arm64arm-Package', + 'Microsoft\.ModernApps\.ClientN\.All', + ), + 'PROFESSIONALN' => array( + 'Microsoft-Windows-EditionPack-Professional-Package', + 'Microsoft-Windows-EditionPack-Professional-WOW64-Package', + 'Microsoft-Windows-EditionPack-Professional-arm64arm-Package', + 'Microsoft-Windows-EditionSpecific-ProfessionalN-Package', + 'Microsoft-Windows-EditionSpecific-ProfessionalN-WOW64-Package', + 'Microsoft-Windows-EditionSpecific-ProfessionalN-arm64arm-Package', + 'Microsoft\.ModernApps\.ClientN\.All', + ), + ), + + // China specific editions + 2 => array( + 'CORECOUNTRYSPECIFIC' => array( + 'Microsoft-Windows-EditionPack-Core-Package', + 'Microsoft-Windows-EditionPack-Core-WOW64-Package', + 'Microsoft-Windows-EditionPack-Core-arm64arm-Package', + 'Microsoft-Windows-EditionSpecific-CoreCountrySpecific-Package', + 'Microsoft-Windows-EditionSpecific-CoreCountrySpecific-WOW64-Package', + 'Microsoft-Windows-EditionSpecific-CoreCountrySpecific-arm64arm-Package', + 'Microsoft\.ModernApps\.Client\.All', + ), + ), + + // Additional packages for some languages + 3 => array( + 'editionNeutral' => array( + 'Microsoft-Windows-LanguageFeatures-Basic-en-us-Package', + 'Microsoft-Windows-LanguageFeatures-OCR-en-us-Package', + ), + ), + + // Additional packages for ar-sa language + 4 => array( + 'editionNeutral' => array( + 'Microsoft-Windows-LanguageFeatures-TextToSpeech-ar-eg-Package', + ), + ), + + // Additional packages for fr-ca language + 5 => array( + 'editionNeutral' => array( + 'Microsoft-Windows-LanguageFeatures-Basic-fr-fr-Package', + 'Microsoft-Windows-LanguageFeatures-Handwriting-fr-fr-Package', + ), + ), + + // Additional packages for zh-tw language + 6 => array( + 'editionNeutral' => array( + 'Microsoft-Windows-LanguageFeatures-Speech-zh-hk-Package', + 'Microsoft-Windows-LanguageFeatures-TextToSpeech-zh-hk-Package', + ), + ), +); + +$packsForLangs = array( + 'ar-sa' => array(0, 3, 4), + 'bg-bg' => array(0, 1, 3), + 'cs-cz' => array(0, 1), + 'da-dk' => array(0, 1, 3), + 'de-de' => array(0, 1), + 'el-gr' => array(0, 1, 3), + 'en-gb' => array(0, 1), + 'en-us' => array(0, 1), + 'es-es' => array(0, 1), + 'es-mx' => array(0), + 'et-ee' => array(0, 1), + 'fi-fi' => array(0, 1), + 'fr-ca' => array(0, 3, 5), + 'fr-fr' => array(0, 1), + 'he-il' => array(0, 3), + 'hr-hr' => array(0, 1), + 'hu-hu' => array(0, 1), + 'it-it' => array(0, 1), + 'ja-jp' => array(0), + 'ko-kr' => array(0, 1), + 'lt-lt' => array(0, 1), + 'lv-lv' => array(0, 1), + 'nb-no' => array(0, 1), + 'nl-nl' => array(0, 1), + 'pl-pl' => array(0, 1), + 'pt-br' => array(0), + 'pt-pt' => array(0, 1), + 'ro-ro' => array(0, 1), + 'ru-ru' => array(0, 3), + 'sk-sk' => array(0, 1), + 'sl-si' => array(0, 1), + 'sr-latn-rs' => array(0), + 'sv-se' => array(0, 1), + 'th-th' => array(0, 3), + 'tr-tr' => array(0), + 'uk-ua' => array(0, 3), + 'zh-cn' => array(0, 2), + 'zh-tw' => array(0, 6), +); + +$packsForLangs = array( + 'ar-sa' => array(0, 3, 4), + 'bg-bg' => array(0, 1, 3), + 'cs-cz' => array(0, 1), + 'da-dk' => array(0, 1, 3), + 'de-de' => array(0, 1), + 'el-gr' => array(0, 1, 3), + 'en-gb' => array(0, 1), + 'en-us' => array(0, 1), + 'es-es' => array(0, 1), + 'es-mx' => array(0), + 'et-ee' => array(0, 1), + 'fi-fi' => array(0, 1), + 'fr-ca' => array(0, 3, 5), + 'fr-fr' => array(0, 1), + 'he-il' => array(0, 3), + 'hr-hr' => array(0, 1), + 'hu-hu' => array(0, 1), + 'it-it' => array(0, 1), + 'ja-jp' => array(0), + 'ko-kr' => array(0, 1), + 'lt-lt' => array(0, 1), + 'lv-lv' => array(0, 1), + 'nb-no' => array(0, 1), + 'nl-nl' => array(0, 1), + 'pl-pl' => array(0, 1), + 'pt-br' => array(0), + 'pt-pt' => array(0, 1), + 'ro-ro' => array(0, 1), + 'ru-ru' => array(0, 3), + 'sk-sk' => array(0, 1), + 'sl-si' => array(0, 1), + 'sr-latn-rs' => array(0), + 'sv-se' => array(0, 1), + 'th-th' => array(0, 3), + 'tr-tr' => array(0), + 'uk-ua' => array(0, 3), + 'zh-cn' => array(0, 2), + 'zh-tw' => array(0, 6), +); + +$editionPacks = array( + 'CORE' => 0, + 'CORECOUNTRYSPECIFIC' => 2, + 'COREN' => 1, + 'PROFESSIONAL' => 0, + 'PROFESSIONALN' => 1, +); + +$skipNeutral = array(); +$skipLangPack = array(); +?>