Browse Source

Upgrade - CLI (Manual & Menu): Mitigate PHP 8.x warnings, minor adjustments.

fusionate 1 year ago
parent
commit
1440837407

+ 1 - 1
core/menu/menu_restore_default.php

@@ -61,7 +61,7 @@
 
 //get the menu array and save it to the session
 	$menu = new menu;
-	$menu->menu_uuid = $_SESSION['domain']['menu']['uuid'];
+	$menu->menu_uuid = $_SESSION['domain']['menu']['uuid'] ?? null;
 	$_SESSION['menu']['array'] = $menu->menu_array();
 	unset($menu);
 

+ 77 - 2
core/upgrade/app_languages.php

@@ -225,6 +225,31 @@ $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-optional_apps_upgrade_source_cli']['en-us'] = "Updated";
+$text['message-optional_apps_upgrade_source_cli']['en-gb'] = "Updated";
+$text['message-optional_apps_upgrade_source_cli']['ar-eg'] = "محدث";
+$text['message-optional_apps_upgrade_source_cli']['de-at'] = "Aktualisiert";
+$text['message-optional_apps_upgrade_source_cli']['de-ch'] = "Aktualisiert";
+$text['message-optional_apps_upgrade_source_cli']['de-de'] = "Aktualisiert";
+$text['message-optional_apps_upgrade_source_cli']['el-gr'] = "ΕΠΙΚΑΙΡΟΠΟΙΗΜΕΝΟ";
+$text['message-optional_apps_upgrade_source_cli']['es-cl'] = "Actualizado";
+$text['message-optional_apps_upgrade_source_cli']['es-mx'] = "Actualizado";
+$text['message-optional_apps_upgrade_source_cli']['fr-ca'] = "Mis à jour";
+$text['message-optional_apps_upgrade_source_cli']['fr-fr'] = "Mis à jour";
+$text['message-optional_apps_upgrade_source_cli']['he-il'] = "מְעוּדכָּן";
+$text['message-optional_apps_upgrade_source_cli']['it-it'] = "Aggiornato";
+$text['message-optional_apps_upgrade_source_cli']['nl-nl'] = "Bijgewerkt";
+$text['message-optional_apps_upgrade_source_cli']['pl-pl'] = "Zaktualizowano";
+$text['message-optional_apps_upgrade_source_cli']['pt-br'] = "Atualizado";
+$text['message-optional_apps_upgrade_source_cli']['pt-pt'] = "Atualizado";
+$text['message-optional_apps_upgrade_source_cli']['ro-ro'] = "Actualizat";
+$text['message-optional_apps_upgrade_source_cli']['ru-ru'] = "Обновлено";
+$text['message-optional_apps_upgrade_source_cli']['sv-se'] = "Uppdaterad";
+$text['message-optional_apps_upgrade_source_cli']['uk-ua'] = "Оновлено";
+$text['message-optional_apps_upgrade_source_cli']['zh-cn'] = "更新";
+$text['message-optional_apps_upgrade_source_cli']['ja-jp'] = "更新しました";
+$text['message-optional_apps_upgrade_source_cli']['ko-kr'] = "업데이트됨";
+
 $text['message-upgrade_manually']['en-us'] = "Upgrade Manually";
 $text['message-upgrade_manually']['en-gb'] = "Upgrade Manually";
 $text['message-upgrade_manually']['ar-eg'] = "الترقية يدويًا";
@@ -350,6 +375,56 @@ $text['message-upgrade']['zh-cn'] = "升级完成";
 $text['message-upgrade']['ja-jp'] = "アップグレードが完了しました";
 $text['message-upgrade']['ko-kr'] = "업그레이드가 완료되었습니다";
 
+$text['message-optional_apps_upgrade_source_failed']['en-us'] = "Optional Apps Source Files Update Failed";
+$text['message-optional_apps_upgrade_source_failed']['en-gb'] = "Optional Apps Source Files Update Failed";
+$text['message-optional_apps_upgrade_source_failed']['ar-eg'] = "فشل تحديث الملفات المصدرية للتطبيقات الاختيارية";
+$text['message-optional_apps_upgrade_source_failed']['de-at'] = "Das Update der optionalen Apps-Quelldateien ist fehlgeschlagen";
+$text['message-optional_apps_upgrade_source_failed']['de-ch'] = "Das Update der optionalen Apps-Quelldateien ist fehlgeschlagen";
+$text['message-optional_apps_upgrade_source_failed']['de-de'] = "Das Update der optionalen Apps-Quelldateien ist fehlgeschlagen";
+$text['message-optional_apps_upgrade_source_failed']['el-gr'] = "Η ενημέρωση αρχείων προέλευσης προαιρετικών εφαρμογών απέτυχε";
+$text['message-optional_apps_upgrade_source_failed']['es-cl'] = "Error en la actualización de archivos fuente de aplicaciones opcionales";
+$text['message-optional_apps_upgrade_source_failed']['es-mx'] = "Error en la actualización de archivos fuente de aplicaciones opcionales";
+$text['message-optional_apps_upgrade_source_failed']['fr-ca'] = "Échec de la mise à jour des fichiers sources des applications facultatives";
+$text['message-optional_apps_upgrade_source_failed']['fr-fr'] = "Échec de la mise à jour des fichiers sources des applications facultatives";
+$text['message-optional_apps_upgrade_source_failed']['he-il'] = "עדכון קובצי המקור של אפליקציות נכשל";
+$text['message-optional_apps_upgrade_source_failed']['it-it'] = "Aggiornamento dei file di origine delle app opzionali non riuscito";
+$text['message-optional_apps_upgrade_source_failed']['nl-nl'] = "Update van optionele apps-bronbestanden mislukt";
+$text['message-optional_apps_upgrade_source_failed']['pl-pl'] = "Opcjonalna aktualizacja plików źródłowych aplikacji nie powiodła się";
+$text['message-optional_apps_upgrade_source_failed']['pt-br'] = "Falha na atualização dos arquivos de origem dos aplicativos opcionais";
+$text['message-optional_apps_upgrade_source_failed']['pt-pt'] = "Falha na atualização dos arquivos de origem dos aplicativos opcionais";
+$text['message-optional_apps_upgrade_source_failed']['ro-ro'] = "Actualizarea fișierelor sursă a aplicațiilor opționale a eșuat";
+$text['message-optional_apps_upgrade_source_failed']['ru-ru'] = "Не удалось обновить исходные файлы дополнительных приложений.";
+$text['message-optional_apps_upgrade_source_failed']['sv-se'] = "Uppdatering av valfria appkällfiler misslyckades";
+$text['message-optional_apps_upgrade_source_failed']['uk-ua'] = "Помилка оновлення вихідних файлів додаткових програм";
+$text['message-optional_apps_upgrade_source_failed']['zh-cn'] = "可选应用程序源文件更新失败";
+$text['message-optional_apps_upgrade_source_failed']['ja-jp'] = "オプションのアプリのソース ファイルの更新に失敗しました";
+$text['message-optional_apps_upgrade_source_failed']['ko-kr'] = "선택적 앱 소스 파일 업데이트 실패";
+
+$text['message-optional_apps_upgrade_source_failed_cli']['en-us'] = "Failed";
+$text['message-optional_apps_upgrade_source_failed_cli']['en-gb'] = "Failed";
+$text['message-optional_apps_upgrade_source_failed_cli']['ar-eg'] = "فشل التحديث";
+$text['message-optional_apps_upgrade_source_failed_cli']['de-at'] = "Update fehlgeschlagen";
+$text['message-optional_apps_upgrade_source_failed_cli']['de-ch'] = "Update fehlgeschlagen";
+$text['message-optional_apps_upgrade_source_failed_cli']['de-de'] = "Update fehlgeschlagen";
+$text['message-optional_apps_upgrade_source_failed_cli']['el-gr'] = "Ενημέρωση απέτυχε";
+$text['message-optional_apps_upgrade_source_failed_cli']['es-cl'] = "Actualización fallida";
+$text['message-optional_apps_upgrade_source_failed_cli']['es-mx'] = "Actualización fallida";
+$text['message-optional_apps_upgrade_source_failed_cli']['fr-ca'] = "Mise à jour a échoué";
+$text['message-optional_apps_upgrade_source_failed_cli']['fr-fr'] = "Mise à jour a échoué";
+$text['message-optional_apps_upgrade_source_failed_cli']['he-il'] = "עדכון נכשל";
+$text['message-optional_apps_upgrade_source_failed_cli']['it-it'] = "Aggiornamento non riuscito";
+$text['message-optional_apps_upgrade_source_failed_cli']['nl-nl'] = "Update mislukt";
+$text['message-optional_apps_upgrade_source_failed_cli']['pl-pl'] = "Atualização falhou";
+$text['message-optional_apps_upgrade_source_failed_cli']['pt-br'] = "Atualização falhou";
+$text['message-optional_apps_upgrade_source_failed_cli']['pt-pt'] = "Atualização falhou";
+$text['message-optional_apps_upgrade_source_failed_cli']['ro-ro'] = "Actualizare esuata";
+$text['message-optional_apps_upgrade_source_failed_cli']['ru-ru'] = "Не удалось обновить";
+$text['message-optional_apps_upgrade_source_failed_cli']['sv-se'] = "Uppdateringen misslyckades";
+$text['message-optional_apps_upgrade_source_failed_cli']['uk-ua'] = "Не вдалося оновити";
+$text['message-optional_apps_upgrade_source_failed_cli']['zh-cn'] = "更新失败";
+$text['message-optional_apps_upgrade_source_failed_cli']['ja-jp'] = "アップデートに失敗しました";
+$text['message-optional_apps_upgrade_source_failed_cli']['ko-kr'] = "업데이트가 실패";
+
 $text['login-message_text']['en-us'] = "Keep up with the FusionPBX project by configuring your preferences in the newly added <a href=''/core/notifications/notification_edit.php''>Notifications</a> section, under the System menu!";
 $text['login-message_text']['en-gb'] = "Keep up with the FusionPBX project by configuring your preferences in the newly added <a href=''/core/notifications/notification_edit.php''>Notifications</a> section, under the System menu!";
 $text['login-message_text']['ar-eg'] = "حافظ على مشروع (فيوس بي إكس) من خلال تشكيل أفضلياتك في القسم المضاف حديثاً";
@@ -1075,8 +1150,8 @@ $text['description-upgrade_permissions']['zh-cn'] = "还原默认组权限。";
 $text['description-upgrade_permissions']['ja-jp'] = "デフォルトのグループ許可を復元します。";
 $text['description-upgrade_permissions']['ko-kr'] = "기본 그룹 권한을 복원합니다.";
 
-$text['description-upgrade_menu']['en-us'] = "Restores the default items in the selected menu.";
-$text['description-upgrade_menu']['en-gb'] = "Restores the default items in the selected menu.";
+$text['description-upgrade_menu']['en-us'] = "Restores the default items in the menu.";
+$text['description-upgrade_menu']['en-gb'] = "Restores the default items in the menu.";
 $text['description-upgrade_menu']['ar-eg'] = "يُعيد بيع المواد الافتراضية في القائمة المختارة";
 $text['description-upgrade_menu']['de-at'] = "Setzt die Menüpunkte im ausgewählten Menü auf den Standard zurück.";
 $text['description-upgrade_menu']['de-ch'] = "Setzt die Menüpunkte im ausgewählten Menü auf den Standard zurück.";

+ 1 - 1
core/upgrade/index.php

@@ -74,7 +74,7 @@
 	if (!empty($_POST) && @sizeof($_POST) > 0) {
 
 		//get the action options: source, schema, app_defaults, menu_defaults, permisisons
-		$action = $_POST['action'];
+		$action = $_POST['action'] ?? null;
 
 		//run source update
 		if (!empty($action["upgrade_source"]) && permission_exists("upgrade_source") && !is_dir("/usr/share/examples/fusionpbx")) {

+ 2 - 2
core/upgrade/upgrade.php

@@ -17,7 +17,7 @@
 
 	The Initial Developer of the Original Code is
 	Mark J Crane <[email protected]>
-	Portions created by the Initial Developer are Copyright (C) 2008-2023
+	Portions created by the Initial Developer are Copyright (C) 2008-2024
 	the Initial Developer. All Rights Reserved.
 
 	Contributor(s):
@@ -28,7 +28,7 @@
 	require dirname(__DIR__, 2) . "/resources/require.php";
 
 //if the config file doesn't exist and the config.php does exist use it to write a new config file
-	if (!$config_exists && file_exists("/etc/fusionpbx/config.php")) {
+	if (isset($config_exists) && !$config_exists && file_exists("/etc/fusionpbx/config.php")) {
 		//include the config.php
 		include("/etc/fusionpbx/config.php");
 

+ 13 - 9
core/upgrade/upgrade_menu.php

@@ -111,8 +111,8 @@ function show_upgrade_menu() {
 				do_upgrade_code();
 				do_upgrade_schema();
 				do_upgrade_domains();
-				do_upgrade_permissions();
 				do_upgrade_menu();
+				do_upgrade_permissions();
 				break;
 			case 8:
 				break;
@@ -132,9 +132,13 @@ function do_upgrade_code() {
 	$result = ['result' => false, 'message' => 'Failed'];
 	//global $conf;
 	if (defined('PROJECT_ROOT')) {
-		return git_pull(PROJECT_ROOT);
+		$result = git_pull(PROJECT_ROOT);
+		if (!empty($result['message']) && is_array($result['message'])) {
+			echo implode("\n", $result['message']);
+			echo "\n";
+		}
 	}
-	return $result;
+	return;
 }
 
 function do_upgrade_code_submodules() {
@@ -145,19 +149,19 @@ function do_upgrade_code_submodules() {
 	foreach ($updateable_repos as $repo => $apps) {
 		$git_result = git_pull($repo);
 		if ($git_result['result']) {
-			$messages[$repo] = $text['message-optional_apps_upgrade_source'] . " " . $git_result['message'];
+			$messages[$repo] = $text['message-optional_apps_upgrade_source_cli'] . (!empty($git_result['message']) && is_array($git_result['message']) ? ' - '.implode("\n", $git_result['message']) : '');
 		}
 		else {
-			if (is_array($git_result['message'])) {
-				$message = "ERROR:\n" . implode(' ', $git_result['message']);
+			if (!empty($git_result['message']) && is_array($git_result['message'])) {
+				$message = "ERROR:\n" . implode("\n", $git_result['message']);
 			} else {
 				$message = $git_result['message'];
 			}
-			$messages[$repo] = $text['message-optional_apps_upgrade_source_failed'] . " " . $message;
+			$messages[$repo] = $text['message-optional_apps_upgrade_source_failed_cli'] . " - " . $message;
 		}
 	}
 	foreach ($messages as $repo => $message) {
-		echo "$repo: $message\n";
+		echo $repo.": ".$message."\n";
 	}
 }
 
@@ -200,7 +204,7 @@ function do_upgrade_menu() {
 	}
 
 	//set the menu back to default
-	if (isset($argv[2]) && (is_null($argv[2]) || $argv[2] == 'default')) {
+	if (!isset($argv[2]) || $argv[2] == 'default') {
 		//restore the menu
 		$included = true;
 		require_once dirname(__DIR__, 2) . "/core/menu/menu_restore_default.php";

+ 11 - 0
resources/classes/domains.php

@@ -599,6 +599,10 @@ if (!class_exists('domains')) {
 		 */
 		public function upgrade() {
 
+			//add multi-lingual support
+				$language = new text;
+				$text = $language->get(null, 'core/upgrade');
+
 			//includes files
 				require dirname(__DIR__, 2) . "/resources/require.php";
 
@@ -652,6 +656,13 @@ if (!class_exists('domains')) {
 						$domains_processed++;
 				}
 
+			//output result
+				if (defined('STDIN')) {
+					if ($domains_processed > 1) {
+						echo $text['message-upgrade_apps']."\n";
+					}
+				}
+
 		} //end upgrade method
 
 		/**

+ 1 - 1
resources/classes/menu.php

@@ -756,7 +756,7 @@ if (!class_exists('menu')) {
 				$sql .= "and menu_item_uuid is not null ";
 				$sql .= ") ";
 				$sql .= "order by i.menu_item_order asc ";
-				$parameters['menu_language'] = $_SESSION['domain']['language']['code'];
+				$parameters['menu_language'] = $_SESSION['domain']['language']['code'] ?? null;
 				$parameters['menu_uuid'] = $this->menu_uuid;
 				$database = new database;
 				$result = $database->select($sql, $parameters, 'all');