From f6700881b248735f31b94beccc6ee1c158be4347 Mon Sep 17 00:00:00 2001 From: fusionate Date: Fri, 22 Dec 2023 00:05:55 +0000 Subject: [PATCH] Upgrade - Source Code: Offer optional apps source update. --- core/upgrade/app_languages.php | 94 ++++++++++++++---- core/upgrade/index.php | 170 ++++++++++++++------------------- 2 files changed, 144 insertions(+), 120 deletions(-) diff --git a/core/upgrade/app_languages.php b/core/upgrade/app_languages.php index 3fff520796..d246ff44b7 100644 --- a/core/upgrade/app_languages.php +++ b/core/upgrade/app_languages.php @@ -200,6 +200,56 @@ $text['message-upgrade_source']['zh-cn'] = "源文件更新"; $text['message-upgrade_source']['ja-jp'] = "ソースファイルが更新されました"; $text['message-upgrade_source']['ko-kr'] = "소스 파일이 업데이트되었습니다"; +$text['message-optional_apps_upgrade_source']['en-us'] = "Optional Apps Source Files Updated"; +$text['message-optional_apps_upgrade_source']['en-gb'] = "Optional Apps Source Files Updated"; +$text['message-optional_apps_upgrade_source']['ar-eg'] = "تم تحديث ملفات مصدر التطبيق الاختيارية"; +$text['message-optional_apps_upgrade_source']['de-at'] = "Optionale Anwendungsquelldateien aktualisiert"; +$text['message-optional_apps_upgrade_source']['de-ch'] = "Optionale Anwendungsquelldateien aktualisiert"; +$text['message-optional_apps_upgrade_source']['de-de'] = "Optionale Anwendungsquelldateien aktualisiert"; +$text['message-optional_apps_upgrade_source']['el-gr'] = "Τα προαιρετικά αρχεία προέλευσης εφαρμογής ενημερώθηκαν"; +$text['message-optional_apps_upgrade_source']['es-cl'] = "Archivos fuente de aplicaciones opcionales actualizados"; +$text['message-optional_apps_upgrade_source']['es-mx'] = "Archivos fuente de aplicaciones opcionales actualizados"; +$text['message-optional_apps_upgrade_source']['fr-ca'] = "Fichiers sources d'application facultatifs mis à jour"; +$text['message-optional_apps_upgrade_source']['fr-fr'] = "Fichiers sources d'application facultatifs mis à jour"; +$text['message-optional_apps_upgrade_source']['he-il'] = "קבצי מקור יישומים אופציונליים עודכנו"; +$text['message-optional_apps_upgrade_source']['it-it'] = "File di origine dell'applicazione facoltativi aggiornati"; +$text['message-optional_apps_upgrade_source']['nl-nl'] = "Optionele applicatiebronbestanden bijgewerkt"; +$text['message-optional_apps_upgrade_source']['pl-pl'] = "Zaktualizowano opcjonalne pliki źródłowe aplikacji"; +$text['message-optional_apps_upgrade_source']['pt-br'] = "Arquivos opcionais de origem do aplicativo atualizados"; +$text['message-optional_apps_upgrade_source']['pt-pt'] = "Arquivos opcionais de origem do aplicativo atualizados"; +$text['message-optional_apps_upgrade_source']['ro-ro'] = "Fișierele sursă opționale ale aplicației au fost actualizate"; +$text['message-optional_apps_upgrade_source']['ru-ru'] = "Обновлены дополнительные исходные файлы приложения."; +$text['message-optional_apps_upgrade_source']['sv-se'] = "Valfria programkällfiler uppdaterade"; +$text['message-optional_apps_upgrade_source']['uk-ua'] = "Оновлено додаткові вихідні файли програми"; +$text['message-optional_apps_upgrade_source']['zh-cn'] = "更新了可选的应用程序源文件"; +$text['message-optional_apps_upgrade_source']['ja-jp'] = "オプションのアプリケーション ソース ファイルが更新されました"; +$text['message-optional_apps_upgrade_source']['ko-kr'] = "선택적 애플리케이션 소스 파일이 업데이트되었습니다."; + +$text['message-upgrade_manually']['en-us'] = "Upgrade Manually"; +$text['message-upgrade_manually']['en-gb'] = "Upgrade Manually"; +$text['message-upgrade_manually']['ar-eg'] = "الترقية يدويًا"; +$text['message-upgrade_manually']['de-at'] = "Manuell aktualisieren"; +$text['message-upgrade_manually']['de-ch'] = "Manuell aktualisieren"; +$text['message-upgrade_manually']['de-de'] = "Manuell aktualisieren"; +$text['message-upgrade_manually']['el-gr'] = "Αναβάθμιση χειροκίνητα"; +$text['message-upgrade_manually']['es-cl'] = "Actualizar manualmente"; +$text['message-upgrade_manually']['es-mx'] = "Actualizar manualmente"; +$text['message-upgrade_manually']['fr-ca'] = "Mettre à niveau manuellement"; +$text['message-upgrade_manually']['fr-fr'] = "Mettre à niveau manuellement"; +$text['message-upgrade_manually']['he-il'] = "שדרג באופן ידני"; +$text['message-upgrade_manually']['it-it'] = "Aggiorna manualmente"; +$text['message-upgrade_manually']['nl-nl'] = "Handmatig upgraden"; +$text['message-upgrade_manually']['pl-pl'] = "Uaktualnij ręcznie"; +$text['message-upgrade_manually']['pt-br'] = "Atualizar manualmente"; +$text['message-upgrade_manually']['pt-pt'] = "Atualizar manualmente"; +$text['message-upgrade_manually']['ro-ro'] = "Actualizați manual"; +$text['message-upgrade_manually']['ru-ru'] = "Обновить вручную"; +$text['message-upgrade_manually']['sv-se'] = "Uppgradera manuellt"; +$text['message-upgrade_manually']['uk-ua'] = "Оновити вручну"; +$text['message-upgrade_manually']['zh-cn'] = "手动升级"; +$text['message-upgrade_manually']['ja-jp'] = "手動でアップグレードする"; +$text['message-upgrade_manually']['ko-kr'] = "수동으로 업그레이드"; + $text['message-upgrade_schema']['en-us'] = "Schema Verified"; $text['message-upgrade_schema']['en-gb'] = "Schema Verified"; $text['message-upgrade_schema']['ar-eg'] = "تم التحقق من المخطط"; @@ -350,26 +400,30 @@ $text['label-upgrade_source']['zh-cn'] = "源代码"; $text['label-upgrade_source']['ja-jp'] = "ソースコード"; $text['label-upgrade_source']['ko-kr'] = "소스 코드"; -$text['label-update_apps']['en-us'] = "App Source Code"; -$text['label-update_apps']['en-gb'] = "App Source Code"; -$text['label-update_apps']['ar-eg'] = ""; -$text['label-update_apps']['de-at'] = "Quellcode"; //copied from de-de -$text['label-update_apps']['de-ch'] = "Quellcode"; //copied from de-de -$text['label-update_apps']['de-de'] = "Quellcode"; -$text['label-update_apps']['es-cl'] = "Código Fuente"; -$text['label-update_apps']['es-mx'] = "Código Fuente"; //copied from es-cl -$text['label-update_apps']['fr-ca'] = "Code Source"; //copied from fr-fr -$text['label-update_apps']['fr-fr'] = "Code Source"; -$text['label-update_apps']['he-il'] = ""; -$text['label-update_apps']['it-it'] = "Codice Sorgente"; -$text['label-update_apps']['nl-nl'] = ""; -$text['label-update_apps']['pl-pl'] = "Kod źródłowy"; -$text['label-update_apps']['pt-br'] = "Código Fonte"; //copied from pt-pt -$text['label-update_apps']['pt-pt'] = "Source Code"; -$text['label-update_apps']['ro-ro'] = ""; -$text['label-update_apps']['ru-ru'] = "Исходный код"; -$text['label-update_apps']['sv-se'] = "Källkod"; -$text['label-update_apps']['uk-ua'] = "Вихідний код"; +$text['label-optional_apps']['en-us'] = "Optional Apps"; +$text['label-optional_apps']['en-gb'] = "Optional Apps"; +$text['label-optional_apps']['ar-eg'] = "التطبيقات الاختيارية"; +$text['label-optional_apps']['de-at'] = "Optionale Apps"; +$text['label-optional_apps']['de-ch'] = "Optionale Apps"; +$text['label-optional_apps']['de-de'] = "Optionale Apps"; +$text['label-optional_apps']['el-gr'] = "Προαιρετικές εφαρμογές"; +$text['label-optional_apps']['es-cl'] = "Aplicaciones opcionales"; +$text['label-optional_apps']['es-mx'] = "Aplicaciones opcionales"; +$text['label-optional_apps']['fr-ca'] = "Applications facultatives"; +$text['label-optional_apps']['fr-fr'] = "Applications facultatives"; +$text['label-optional_apps']['he-il'] = "אפליקציות אופציונליות"; +$text['label-optional_apps']['it-it'] = "App opzionali"; +$text['label-optional_apps']['nl-nl'] = "Optionele apps"; +$text['label-optional_apps']['pl-pl'] = "Opcjonalne aplikacje"; +$text['label-optional_apps']['pt-br'] = "Aplicativos opcionais"; +$text['label-optional_apps']['pt-pt'] = "Aplicativos opcionais"; +$text['label-optional_apps']['ro-ro'] = "Aplicații opționale"; +$text['label-optional_apps']['ru-ru'] = "Дополнительные приложения"; +$text['label-optional_apps']['sv-se'] = "Valfria appar"; +$text['label-optional_apps']['uk-ua'] = "Додаткові програми"; +$text['label-optional_apps']['zh-cn'] = "可选应用程序"; +$text['label-optional_apps']['ja-jp'] = "オプションのアプリ"; +$text['label-optional_apps']['ko-kr'] = "선택적 앱"; $text['label-upgrade_schema']['en-us'] = "Schema"; $text['label-upgrade_schema']['en-gb'] = "Schema"; diff --git a/core/upgrade/index.php b/core/upgrade/index.php index aac92c22b5..af9dac1b0a 100644 --- a/core/upgrade/index.php +++ b/core/upgrade/index.php @@ -17,7 +17,7 @@ The Initial Developer of the Original Code is Mark J Crane - Portions created by the Initial Developer are Copyright (C) 2008-2022 + Portions created by the Initial Developer are Copyright (C) 2008-2023 the Initial Developer. All Rights Reserved. Contributor(s): @@ -51,7 +51,7 @@ $message_timeout = 4*1000; //process the http post - if (sizeof($_POST) > 0) { + if (!empty($_POST) && @sizeof($_POST) > 0) { //get the action options: source, schema, app_defaults, menu_defaults, permisisons $action = $_POST['action']; @@ -71,33 +71,30 @@ } } - //run app source updates - if (!empty($action["update_apps"]) && permission_exists("upgrade_source")) { - $app_updates = $_POST['app_list']; + //run optional app source updates + if (!empty($action["optional_apps"]) && permission_exists("upgrade_source")) { $updateable_repos = git_find_repos($_SERVER["PROJECT_ROOT"]."/app"); - if (is_array($app_updates)) { - $apps_updated = true; + $apps_updated = $apps_failed = 0; + if (is_array($action["optional_apps"])) { foreach ($updateable_repos as $repo => $apps) { - if (array_search(basename($repo), $app_updates) !== false) { + if (array_search(basename($repo), $action["optional_apps"]) !== false) { $git_result = git_pull($repo); - $_SESSION["response"]["update_apps"][basename($repo)] = $git_result['message']; + if ($git_result['result']) { + $_SESSION["response"]["optional_apps"][basename($repo)] = $git_result['message']; + $apps_updated++; + } + else { + $apps_failed++; + } } - - if (!$git_result['result']) { - $apps_updated = false; - } - } } - if ($apps_updated) { - message::add($text['message-upgrade_source'], null, $message_timeout); - } - else { - message::add($text['message-upgrade_source_failed'], 'negative', $message_timeout); - } + if ($apps_updated != 0) { message::add($text['message-optional_apps_upgrade_source'], null, $message_timeout); } + if ($apps_failed != 0) { message::add($text['message-optional_apps_upgrade_source_failed'], 'negative', $message_timeout); } + } //load an array of the database schema and compare it with the active database @@ -169,100 +166,73 @@ if (permission_exists("upgrade_source") && !is_dir("/usr/share/examples/fusionpbx") && is_writeable($_SERVER["PROJECT_ROOT"]."/.git")) { echo "\n"; - echo "\n"; - echo " \n"; + echo " \n"; echo " \n"; echo "\n"; echo "
\n"; + echo "
\n"; echo "
".$step."
"; - echo " ".$text['label-upgrade_source']; + echo " ".$text['label-upgrade_source']."\n"; echo "
\n"; - echo "  ".$text['description-upgrade_source']."
\n"; - - // show current git version info + echo "  ".$text['description-upgrade_source']."
\n"; + //show current git version info chdir($_SERVER["PROJECT_ROOT"]); exec("git rev-parse --abbrev-ref HEAD 2>&1", $git_current_branch, $branch_return_value); $git_current_branch = $git_current_branch[0]; exec("git log --pretty=format:'%H' -n 1 2>&1", $git_current_commit, $commit_return_value); $git_current_commit = $git_current_commit[0]; - if (($branch_return_value == 0) && ($commit_return_value == 0)) { - echo $text['label-git_branch'].' '.$git_current_branch." \n"; - //echo $text['label-git_commit'].' '." "; - echo " \n"; - echo $git_current_commit . "
\n"; - echo ""; + if (!is_numeric($git_current_branch)) { + echo " ".software::version()." \n"; + } + if ($branch_return_value == 0 && $commit_return_value == 0) { + echo " ".$git_current_branch.""; } - echo "
\n"; - $step++; - - // find and show apps - + //find and show optional apps with repos $updateable_repos = git_find_repos($_SERVER["PROJECT_ROOT"]."/app"); - - echo "\n"; - echo "\n"; - echo " \n"; - echo " \n"; - echo "\n"; - echo "
\n"; - echo "
".$step."
"; - echo " ".$text['label-update_apps']; - echo "
\n"; - echo "  ".$text['description-update_apps']."\n"; - echo ""; - echo "
\n"; - - - echo "