From 30c8754065a9c3367d6422e644cb51e42c646f8d Mon Sep 17 00:00:00 2001 From: Mafoo Date: Sat, 3 Jun 2017 05:38:15 +0100 Subject: [PATCH] Enhance [master] messages::add convert core/upgrade (#2597) convert message handling to use messages class unify response display to reduce boilerplates fix for when performing source upgrade with any other operation going wrong (required preservation of cwd) add missing $text for default permissions removed surpless $text provided by reources/app_languages.php correct all
tags --- core/upgrade/app_languages.php | 19 +++++++++ core/upgrade/index.php | 70 +++++++++++++++------------------- 2 files changed, 49 insertions(+), 40 deletions(-) diff --git a/core/upgrade/app_languages.php b/core/upgrade/app_languages.php index 222203a9b3..78c2a85a94 100644 --- a/core/upgrade/app_languages.php +++ b/core/upgrade/app_languages.php @@ -81,6 +81,25 @@ $text['option-false']['ru-ru'] = "Нет"; $text['option-false']['sv-se'] = "Falsk"; $text['option-false']['uk-ua'] = "Ні"; +$text['message-upgrade_permissions']['en-us'] = "Permission Defaults Restored"; +$text['message-upgrade_permissions']['ar-eg'] = ""; +$text['message-upgrade_permissions']['de-at'] = ""; +$text['message-upgrade_permissions']['de-ch'] = ""; +$text['message-upgrade_permissions']['de-de'] = ""; +$text['message-upgrade_permissions']['es-cl'] = ""; +$text['message-upgrade_permissions']['es-mx'] = ""; +$text['message-upgrade_permissions']['fr-fr'] = ""; +$text['message-upgrade_permissions']['he-il'] = ""; +$text['message-upgrade_permissions']['it-it'] = ""; +$text['message-upgrade_permissions']['nl-nl'] = ""; +$text['message-upgrade_permissions']['pl-pl'] = ""; +$text['message-upgrade_permissions']['pt-br'] = ""; +$text['message-upgrade_permissions']['pt-pt'] = ""; +$text['message-upgrade_permissions']['ro-ro'] = ""; +$text['message-upgrade_permissions']['ru-ru'] = ""; +$text['message-upgrade_permissions']['sv-se'] = ""; +$text['message-upgrade_permissions']['uk-ua'] = ""; + $text['message-upgrade_source_scripts']['en-us'] = "Source Files and Scripts Updated"; $text['message-upgrade_source_scripts']['ar-eg'] = ""; $text['message-upgrade_source_scripts']['de-at'] = "Quellcode und Scripte aktualisieren"; diff --git a/core/upgrade/index.php b/core/upgrade/index.php index a86af90f09..98817daf97 100644 --- a/core/upgrade/index.php +++ b/core/upgrade/index.php @@ -25,7 +25,7 @@ */ //set a timeout - set_time_limit(900); //15 minutes + set_time_limit(15*60); //15 minutes //includes include "root.php"; @@ -48,6 +48,9 @@ $language = new text; $text = $language->get(); +//set a default message_timeout + $message_timeout = 4*1000; + //process the http post if (sizeof($_POST) > 0) { @@ -55,11 +58,12 @@ // run source update if ($do["source"] && permission_exists("upgrade_source") && !is_dir("/usr/share/examples/fusionpbx")) { + $cwd = getcwd(); chdir($_SERVER["PROJECT_ROOT"]); exec("git pull 2>&1", $response_source_update); $update_failed = true; if (sizeof($response_source_update) > 0) { - $_SESSION["response_source_update"] = $response_source_update; + $_SESSION["response"]["source"] = $response_source_update; foreach ($response_source_update as $response_line) { if (substr_count($response_line, "Updating ") > 0 || substr_count($response_line, "Already up-to-date.") > 0) { $update_failed = false; @@ -71,30 +75,28 @@ } } } - if ($update_failed) { - $_SESSION["message_delay"] = 3500; - $_SESSION["message_mood"] = 'negative'; - $response_message = $text['message-upgrade_source_failed']; - } + chdir($cwd); + if ($update_failed) + messages::add($text['message-upgrade_source_failed'], 'negative', $message_timeout); + else + messages::add($text['message-upgrade_source'], null, $message_timeout); } // load an array of the database schema and compare it with the active database if ($do["schema"] && permission_exists("upgrade_schema")) { - $response_message = $text['message-upgrade_schema']; - $upgrade_data_types = check_str($do["data_types"]); require_once "resources/classes/schema.php"; $obj = new schema(); - $_SESSION["schema"]["response"] = $obj->schema("html"); + $_SESSION["response"]["schema"] = $obj->schema("html"); + messages::add($text['message-upgrade_schema'], null, $message_timeout); } // process the apps defaults if ($do["apps"] && permission_exists("upgrade_apps")) { - $response_message = $text['message-upgrade_apps']; - require_once "resources/classes/domains.php"; $domain = new domains; $domain->upgrade(); + messages::add($text['message-upgrade_apps'], null, $message_timeout); } // restore defaults of the selected menu @@ -105,21 +107,16 @@ $included = true; require_once("core/menu/menu_restore_default.php"); unset($sel_menu); - $response_message = $text['message-upgrade_menu']; + messages::add($text['message-upgrade_menu'], null, $message_timeout); } // restore default permissions if ($do["permissions"] && permission_exists("group_edit")) { $included = true; require_once("core/groups/permissions_default.php"); - $response_message = "Permission Defaults Restored"; + messages::add($text['message-upgrade_permissions'], null, $message_timeout); } - if (sizeof($_POST['do']) > 1) { - $response_message = $text['message-upgrade']; - } - - $_SESSION["message"] = $response_message; header("Location: ".PROJECT_PATH."/core/upgrade/index.php"); exit; @@ -131,9 +128,9 @@ //show the content echo "".$text['header-upgrade'].""; - echo "

"; + echo "

"; echo $text['description-upgrade']; - echo "

"; + echo "

"; echo "
\n"; @@ -242,32 +239,25 @@ echo "\n"; } - echo "
"; + echo "
"; echo "
"; - echo "

"; echo "
\n"; - // output result of source update - if (sizeof($_SESSION["response_source_update"]) > 0) { - echo "
"; - echo "".$text['header-source_update_results'].""; + echo "

"; + foreach($_SESSION["response"] as $part => $response){ + echo "".$text["header-${part}_update_results"].""; echo "

"; - echo "
";
-		echo implode("\n", $_SESSION["response_source_update"]);
-		echo "
"; + if(is_array($_SESSION["response"][$part])) { + echo "
";
+			echo implode("\n", $_SESSION["response"][$part]);
+			echo "
"; + }else { + echo $_SESSION["response"][$part]; + } echo "

"; - unset($_SESSION["response_source_update"]); } + unset($_SESSION["response"]); - // output result of upgrade schema - if ($_SESSION["schema"]["response"] != '') { - echo "
"; - echo "".$text['header-upgrade_schema_results'].""; - echo "

"; - echo $_SESSION["schema"]["response"]; - unset($_SESSION["schema"]["response"]); - } - echo "

"; //include the footer require_once "resources/footer.php";