diff --git a/core/upgrade/app_languages.php b/core/upgrade/app_languages.php index 0dac3a2f49..97f9766a51 100644 --- a/core/upgrade/app_languages.php +++ b/core/upgrade/app_languages.php @@ -900,6 +900,81 @@ $text['header-database_type']['zh-cn'] = "数据库类型"; $text['header-database_type']['ja-jp'] = "データベースタイプ"; $text['header-database_type']['ko-kr'] = "데이터베이스 유형"; +$text['header-source_code_upgrade_preview']['en-us'] = "Source Code Upgrade Preview"; +$text['header-source_code_upgrade_preview']['en-gb'] = "Source Code Upgrade Preview"; +$text['header-source_code_upgrade_preview']['ar-eg'] = "معاينة ترقية كود المصدر"; +$text['header-source_code_upgrade_preview']['de-at'] = "Vorschau des Quellcode-Upgrades"; +$text['header-source_code_upgrade_preview']['de-ch'] = "Vorschau des Quellcode-Upgrades"; +$text['header-source_code_upgrade_preview']['de-de'] = "Vorschau des Quellcode-Upgrades"; +$text['header-source_code_upgrade_preview']['el-gr'] = "Προεπισκόπηση αναβάθμισης πηγαίου κώδικα"; +$text['header-source_code_upgrade_preview']['es-cl'] = "Vista previa de actualización del código fuente"; +$text['header-source_code_upgrade_preview']['es-mx'] = "Vista previa de actualización del código fuente"; +$text['header-source_code_upgrade_preview']['fr-ca'] = "Aperçu de la mise à niveau du code source"; +$text['header-source_code_upgrade_preview']['fr-fr'] = "Aperçu de la mise à niveau du code source"; +$text['header-source_code_upgrade_preview']['he-il'] = "תצוגה מקדימה של שדרוג קוד מקור"; +$text['header-source_code_upgrade_preview']['it-it'] = "Anteprima dell'aggiornamento del codice sorgente"; +$text['header-source_code_upgrade_preview']['nl-nl'] = "Voorbeeld van broncode-upgrade"; +$text['header-source_code_upgrade_preview']['pl-pl'] = "Podgląd aktualizacji kodu źródłowego"; +$text['header-source_code_upgrade_preview']['pt-br'] = "Visualização da atualização do código-fonte"; +$text['header-source_code_upgrade_preview']['pt-pt'] = "Visualização da atualização do código-fonte"; +$text['header-source_code_upgrade_preview']['ro-ro'] = "Previzualizare upgrade cod sursă"; +$text['header-source_code_upgrade_preview']['ru-ru'] = "Предварительный просмотр обновления исходного кода"; +$text['header-source_code_upgrade_preview']['sv-se'] = "Förhandsgranskning av källkodsuppgradering"; +$text['header-source_code_upgrade_preview']['uk-ua'] = "Попередній перегляд оновлення вихідного коду"; +$text['header-source_code_upgrade_preview']['zh-cn'] = "源代码升级预览"; +$text['header-source_code_upgrade_preview']['ja-jp'] = "ソースコードのアップグレードプレビュー"; +$text['header-source_code_upgrade_preview']['ko-kr'] = "소스 코드 업그레이드 미리보기"; + +$text['description-source_code_changes_found']['en-us'] = "The following APP_NAME source code files have been changed since you last upgraded..."; +$text['description-source_code_changes_found']['en-gb'] = "The following APP_NAME source code files have been changed since you last upgraded..."; +$text['description-source_code_changes_found']['ar-eg'] = "تم تغيير ملفات كود مصدر APP_NAME التالية منذ آخر ترقية..."; +$text['description-source_code_changes_found']['de-at'] = "Die folgenden APP_NAME-Quellcodedateien wurden seit Ihrem letzten Upgrade geändert ..."; +$text['description-source_code_changes_found']['de-ch'] = "Die folgenden APP_NAME-Quellcodedateien wurden seit Ihrem letzten Upgrade geändert ..."; +$text['description-source_code_changes_found']['de-de'] = "Die folgenden APP_NAME-Quellcodedateien wurden seit Ihrem letzten Upgrade geändert ..."; +$text['description-source_code_changes_found']['el-gr'] = "Τα ακόλουθα αρχεία πηγαίου κώδικα της APP_NAME έχουν αλλάξει από την τελευταία αναβάθμιση..."; +$text['description-source_code_changes_found']['es-cl'] = "Los siguientes archivos de código fuente de APP_NAME se han modificado desde la última vez que actualizaste..."; +$text['description-source_code_changes_found']['es-mx'] = "Los siguientes archivos de código fuente de APP_NAME se han modificado desde la última vez que actualizaste..."; +$text['description-source_code_changes_found']['fr-ca'] = "Les fichiers de code source APP_NAME suivants ont été modifiés depuis votre dernière mise à niveau..."; +$text['description-source_code_changes_found']['fr-fr'] = "Les fichiers de code source APP_NAME suivants ont été modifiés depuis votre dernière mise à niveau..."; +$text['description-source_code_changes_found']['he-il'] = "I seguenti file del codice sorgente APP_NAME sono stati modificati dall'ultimo aggiornamento..."; +$text['description-source_code_changes_found']['it-it'] = "I seguenti file del codice sorgente APP_NAME sono stati modificati dall'ultimo aggiornamento..."; +$text['description-source_code_changes_found']['nl-nl'] = "De volgende broncodebestanden van APP_NAME zijn gewijzigd sinds u voor het laatst een upgrade heeft uitgevoerd..."; +$text['description-source_code_changes_found']['pl-pl'] = "Następujące pliki kodu źródłowego aplikacji APP_NAME zostały zmienione od czasu ostatniej aktualizacji..."; +$text['description-source_code_changes_found']['pt-br'] = "Os seguintes arquivos de código-fonte APP_NAME foram alterados desde a última atualização..."; +$text['description-source_code_changes_found']['pt-pt'] = "Os seguintes arquivos de código-fonte APP_NAME foram alterados desde a última atualização..."; +$text['description-source_code_changes_found']['ro-ro'] = "Următoarele fișiere de cod sursă APP_NAME au fost modificate de la ultima actualizare..."; +$text['description-source_code_changes_found']['ru-ru'] = "Следующие файлы исходного кода приложения APP_NAME были изменены с момента последнего обновления..."; +$text['description-source_code_changes_found']['sv-se'] = "Följande källkodsfiler för APP_NAME har ändrats sedan du senast uppgraderade..."; +$text['description-source_code_changes_found']['uk-ua'] = "Наступні файли вихідного коду APP_NAME було змінено після останнього оновлення..."; +$text['description-source_code_changes_found']['zh-cn'] = "自您上次升级以来,以下 APP_NAME 源代码文件已更改..."; +$text['description-source_code_changes_found']['ja-jp'] = "次の APP_NAME ソース コード ファイルは、最後にアップグレードしてから変更されています..."; +$text['description-source_code_changes_found']['ko-kr'] = "마지막 업그레이드 이후 다음 APP_NAME 소스 코드 파일이 변경되었습니다."; + +$text['description-source_code_no_changes_found']['en-us'] = "No APP_NAME source code changes were detected."; +$text['description-source_code_no_changes_found']['en-gb'] = "No APP_NAME source code changes were detected."; +$text['description-source_code_no_changes_found']['ar-eg'] = "لم يتم اكتشاف أي تغييرات في كود مصدر APP_NAME."; +$text['description-source_code_no_changes_found']['de-at'] = "Es wurden keine Änderungen am APP_NAME-Quellcode festgestellt."; +$text['description-source_code_no_changes_found']['de-ch'] = "Es wurden keine Änderungen am APP_NAME-Quellcode festgestellt."; +$text['description-source_code_no_changes_found']['de-de'] = "Es wurden keine Änderungen am APP_NAME-Quellcode festgestellt."; +$text['description-source_code_no_changes_found']['el-gr'] = "Δεν εντοπίστηκαν αλλαγές στον πηγαίο κώδικα της εφαρμογής APP_NAME."; +$text['description-source_code_no_changes_found']['es-cl'] = "No se detectaron cambios en el código fuente de APP_NAME."; +$text['description-source_code_no_changes_found']['es-mx'] = "No se detectaron cambios en el código fuente de APP_NAME."; +$text['description-source_code_no_changes_found']['fr-ca'] = "Aucune modification du code source de APP_NAME n'a été détectée."; +$text['description-source_code_no_changes_found']['fr-fr'] = "Aucune modification du code source de APP_NAME n'a été détectée."; +$text['description-source_code_no_changes_found']['he-il'] = "לא זוהו שינויים בקוד המקור של APP_NAME."; +$text['description-source_code_no_changes_found']['it-it'] = "Non è stata rilevata alcuna modifica al codice sorgente APP_NAME."; +$text['description-source_code_no_changes_found']['nl-nl'] = "Er zijn geen wijzigingen in de broncode van APP_NAME gedetecteerd."; +$text['description-source_code_no_changes_found']['pl-pl'] = "Nie wykryto żadnych zmian w kodzie źródłowym aplikacji APP_NAME."; +$text['description-source_code_no_changes_found']['pt-br'] = "Nenhuma alteração no código-fonte do APP_NAME foi detectada."; +$text['description-source_code_no_changes_found']['pt-pt'] = "Nenhuma alteração no código-fonte do APP_NAME foi detectada."; +$text['description-source_code_no_changes_found']['ro-ro'] = "Nu au fost detectate modificări ale codului sursă APP_NAME."; +$text['description-source_code_no_changes_found']['ru-ru'] = "Никаких изменений исходного кода приложения APP_NAME не обнаружено."; +$text['description-source_code_no_changes_found']['sv-se'] = "Inga ändringar av källkoden för APP_NAME upptäcktes."; +$text['description-source_code_no_changes_found']['uk-ua'] = "Змін вихідного коду APP_NAME не виявлено."; +$text['description-source_code_no_changes_found']['zh-cn'] = "未检测到 APP_NAME 源代码更改。"; +$text['description-source_code_no_changes_found']['ja-jp'] = "APP_NAME ソース コードの変更は検出されませんでした。"; +$text['description-source_code_no_changes_found']['ko-kr'] = "APP_NAME 소스 코드 변경사항이 감지되지 않았습니다."; + $text['description-upgrade_source']['en-us'] = "Updates FusionPBX source files from the repository."; $text['description-upgrade_source']['en-gb'] = "Updates FusionPBX source files from the repository."; $text['description-upgrade_source']['ar-eg'] = "(أحدث ملفات مصادر (فيوس بي إكس من المستودع"; @@ -1275,4 +1350,30 @@ $text['title-cli_upgrade']['zh-cn'] = ""; $text['title-cli_upgrade']['ja-jp'] = ""; $text['title-cli_upgrade']['ko-kr'] = ""; -?> +$text['button-preview']['en-us'] = "Preview"; +$text['button-preview']['en-gb'] = "Preview"; +$text['button-preview']['ar-eg'] = "معاينة"; +$text['button-preview']['de-at'] = "Vorschau"; +$text['button-preview']['de-ch'] = "Vorschau"; +$text['button-preview']['de-de'] = "Vorschau"; +$text['button-preview']['el-gr'] = "Προεπισκόπηση"; +$text['button-preview']['es-cl'] = "Prevista"; +$text['button-preview']['es-mx'] = "Prevista"; +$text['button-preview']['fr-ca'] = "Aperçu"; +$text['button-preview']['fr-fr'] = "Aperçu"; +$text['button-preview']['he-il'] = "תצוגה מקדימה"; +$text['button-preview']['it-it'] = "Anteprima"; +$text['button-preview']['nl-nl'] = "preview"; +$text['button-preview']['pl-pl'] = "Podgląd"; +$text['button-preview']['pt-br'] = "Visualização"; +$text['button-preview']['pt-pt'] = "Pré-Visualização"; +$text['button-preview']['ro-ro'] = "previzualizare"; +$text['button-preview']['ru-ru'] = "Предпросмотр"; +$text['button-preview']['sv-se'] = "Förhandsgranska"; +$text['button-preview']['uk-ua'] = "Огляд"; +$text['button-preview']['tr-tr'] = "Ön izleme"; +$text['button-preview']['zh-cn'] = "预览"; +$text['button-preview']['ja-jp'] = "プレビュー"; +$text['button-preview']['ko-kr'] = "시사"; + +?> \ No newline at end of file diff --git a/core/upgrade/index.php b/core/upgrade/index.php index a83dbb2349..33b3131681 100644 --- a/core/upgrade/index.php +++ b/core/upgrade/index.php @@ -160,6 +160,57 @@ if (is_array($updateable_repos)) { $repos_count = @sizeof($updateable_repos); } $repos_count++; +//process the http get (source preview) + if (!empty($_GET['preview'])) { + if (!empty($updateable_repos)) { + foreach ($updateable_repos as $app_path => $app) { + $repo_info = git_repo_info($app_path); + if (empty($repo_info)) { continue; } + $source_code[$app['app']] = $app_path; + } + } + if ($_GET['preview'] == 'core') { + $command = 'cd '.$_SERVER['PROJECT_ROOT'].' && git fetch && git diff --name-only @ @{u}'; + } + else if (array_key_exists($_GET['preview'], $source_code)) { + $command = 'cd '.$source_code[$_GET['preview']].' && git fetch && git diff --name-only @ @{u}'; + } + if (!empty($command)) { + $response = explode(PHP_EOL, shell_exec($command)); + // simplify response + if (!empty($response)) { + foreach ($response as $l => $line) { + if (empty($line)) { unset($response[$l]); } + if (substr($line, 0, 8) == 'remote: ') { unset($response[$l]); } + if (substr($line, 0, 8) == 'remote: ') { unset($response[$l]); } + if (substr($line, 0, 19) == 'Unpacking objects: ') { unset($response[$l]); } + if (substr($line, 0, 5) == 'From ') { unset($response[$l]); } + if (substr($line, 0, 3) == ' ') { unset($response[$l]); } + } + } + echo "\n"; + echo "".$text['header-source_code_upgrade_preview']."\n"; + echo "

\n"; + if (!empty($response) && is_array($response)) { + echo str_replace('APP_NAME', (!empty($_GET['title']) ? "".$_GET['title']."" : null), $text['description-source_code_changes_found']); + echo "


\n"; + echo "
\n"; + if (!empty($response) && is_array($response)) { + echo implode("
\n
\n", $response); + } + echo "
\n"; + } + else { + echo str_replace('APP_NAME', (!empty($_GET['title']) ? "".$_GET['title']."" : null), $text['description-source_code_no_changes_found']); + } + echo "

\n"; + echo "
\n"; + echo " \n"; + echo "
\n"; + exit; + } + } + //adjust color and initialize step counter $step = 1; $step_color = isset($_SESSION['theme']['upgrade_step_color']['text']) ? $_SESSION['theme']['upgrade_step_color']['text'] : color_adjust((!empty($_SESSION['theme']['form_table_label_background_color']['text']) ? $_SESSION['theme']['form_table_label_background_color']['text'] : '#e5e9f0'), -0.1); @@ -170,6 +221,46 @@ $document['title'] = $text['title-upgrade']; require_once "resources/header.php"; +//source preview layer + echo "\n"; + + echo "\n"; + //show the content echo "
\n"; @@ -206,7 +297,7 @@ echo "\n"; echo "\n"; echo " \n"; echo " \n"; echo "\n"; echo "
\n"; - echo " ".(isset($_SESSION['theme']['title']['text']) ?$_SESSION['theme']['title']['text'] : 'FusionPBX')."\n"; + echo " ".(isset($_SESSION['theme']['title']['text']) ? $_SESSION['theme']['title']['text'] : 'FusionPBX')."\n"; echo " \n"; echo " \n"; @@ -223,31 +314,35 @@ } if ($branch_return_value == 0 && $commit_return_value == 0) { echo " ".$git_current_branch.""; + echo "  \n"; } echo "
\n"; - foreach ($updateable_repos as $repo => $app) { - $repo_info = git_repo_info($repo); - $pull_method = substr($repo_info['url'], 0, 4) == 'http' ? 'http' : 'ssh'; - if (!$repo_info) { continue; } - echo "\n"; - echo "\n"; - echo " \n"; - echo " \n"; - echo "\n"; - echo "
\n"; - echo " ".$app['name']."\n"; - echo " \n"; - if ($pull_method == 'http') { - echo "  ".$app['description']."
\n"; + if (!empty($updateable_repos) && is_array($updateable_repos)) { + foreach ($updateable_repos as $app_path => $app) { + $repo_info = git_repo_info($app_path); + $pull_method = substr($repo_info['url'], 0, 4) == 'http' ? 'http' : 'ssh'; + if (empty($repo_info)) { continue; } + echo "\n"; + echo "\n"; + echo " \n"; + echo " \n"; + echo "\n"; + echo "
\n"; + echo " ".$app['name']."\n"; + echo " \n"; + if ($pull_method == 'http') { + echo "  ".$app['description']."
\n"; + } + else { + echo " ".$app['description']."
\n"; + } + echo " ".$app['version']."  ".$repo_info['branch']."\n"; + echo "   \n"; + echo "
\n"; } - else { - echo " ".$app['description']."
\n"; - } - echo " ".$app['version']."  ".$repo_info['branch']."\n"; - echo "
\n"; } echo "\n"; @@ -374,7 +469,24 @@ unset($_SESSION["response"]); } +//source preview script + echo "\n"; + //include the footer require_once "resources/footer.php"; -?> +?> \ No newline at end of file