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 <br> tags
This commit is contained in:
Mafoo 2017-06-03 05:38:15 +01:00 committed by FusionPBX
parent fb56643dc8
commit 30c8754065
2 changed files with 49 additions and 40 deletions

View File

@ -81,6 +81,25 @@ $text['option-false']['ru-ru'] = "Нет";
$text['option-false']['sv-se'] = "Falsk"; $text['option-false']['sv-se'] = "Falsk";
$text['option-false']['uk-ua'] = "Ні"; $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']['en-us'] = "Source Files and Scripts Updated";
$text['message-upgrade_source_scripts']['ar-eg'] = ""; $text['message-upgrade_source_scripts']['ar-eg'] = "";
$text['message-upgrade_source_scripts']['de-at'] = "Quellcode und Scripte aktualisieren"; $text['message-upgrade_source_scripts']['de-at'] = "Quellcode und Scripte aktualisieren";

View File

@ -25,7 +25,7 @@
*/ */
//set a timeout //set a timeout
set_time_limit(900); //15 minutes set_time_limit(15*60); //15 minutes
//includes //includes
include "root.php"; include "root.php";
@ -48,6 +48,9 @@
$language = new text; $language = new text;
$text = $language->get(); $text = $language->get();
//set a default message_timeout
$message_timeout = 4*1000;
//process the http post //process the http post
if (sizeof($_POST) > 0) { if (sizeof($_POST) > 0) {
@ -55,11 +58,12 @@
// run source update // run source update
if ($do["source"] && permission_exists("upgrade_source") && !is_dir("/usr/share/examples/fusionpbx")) { if ($do["source"] && permission_exists("upgrade_source") && !is_dir("/usr/share/examples/fusionpbx")) {
$cwd = getcwd();
chdir($_SERVER["PROJECT_ROOT"]); chdir($_SERVER["PROJECT_ROOT"]);
exec("git pull 2>&1", $response_source_update); exec("git pull 2>&1", $response_source_update);
$update_failed = true; $update_failed = true;
if (sizeof($response_source_update) > 0) { 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) { foreach ($response_source_update as $response_line) {
if (substr_count($response_line, "Updating ") > 0 || substr_count($response_line, "Already up-to-date.") > 0) { if (substr_count($response_line, "Updating ") > 0 || substr_count($response_line, "Already up-to-date.") > 0) {
$update_failed = false; $update_failed = false;
@ -71,30 +75,28 @@
} }
} }
} }
if ($update_failed) { chdir($cwd);
$_SESSION["message_delay"] = 3500; if ($update_failed)
$_SESSION["message_mood"] = 'negative'; messages::add($text['message-upgrade_source_failed'], 'negative', $message_timeout);
$response_message = $text['message-upgrade_source_failed']; else
} messages::add($text['message-upgrade_source'], null, $message_timeout);
} }
// load an array of the database schema and compare it with the active database // load an array of the database schema and compare it with the active database
if ($do["schema"] && permission_exists("upgrade_schema")) { if ($do["schema"] && permission_exists("upgrade_schema")) {
$response_message = $text['message-upgrade_schema'];
$upgrade_data_types = check_str($do["data_types"]); $upgrade_data_types = check_str($do["data_types"]);
require_once "resources/classes/schema.php"; require_once "resources/classes/schema.php";
$obj = new schema(); $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 // process the apps defaults
if ($do["apps"] && permission_exists("upgrade_apps")) { if ($do["apps"] && permission_exists("upgrade_apps")) {
$response_message = $text['message-upgrade_apps'];
require_once "resources/classes/domains.php"; require_once "resources/classes/domains.php";
$domain = new domains; $domain = new domains;
$domain->upgrade(); $domain->upgrade();
messages::add($text['message-upgrade_apps'], null, $message_timeout);
} }
// restore defaults of the selected menu // restore defaults of the selected menu
@ -105,21 +107,16 @@
$included = true; $included = true;
require_once("core/menu/menu_restore_default.php"); require_once("core/menu/menu_restore_default.php");
unset($sel_menu); unset($sel_menu);
$response_message = $text['message-upgrade_menu']; messages::add($text['message-upgrade_menu'], null, $message_timeout);
} }
// restore default permissions // restore default permissions
if ($do["permissions"] && permission_exists("group_edit")) { if ($do["permissions"] && permission_exists("group_edit")) {
$included = true; $included = true;
require_once("core/groups/permissions_default.php"); 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"); header("Location: ".PROJECT_PATH."/core/upgrade/index.php");
exit; exit;
@ -131,9 +128,9 @@
//show the content //show the content
echo "<b>".$text['header-upgrade']."</b>"; echo "<b>".$text['header-upgrade']."</b>";
echo "<br><br>"; echo "<br /><br />";
echo $text['description-upgrade']; echo $text['description-upgrade'];
echo "<br><br>"; echo "<br /><br />";
echo "<form name='frm' method='post' action=''>\n"; echo "<form name='frm' method='post' action=''>\n";
@ -242,32 +239,25 @@
echo "</table>\n"; echo "</table>\n";
} }
echo "<br>"; echo "<br />";
echo "<div style='text-align: right;'><input type='submit' class='btn' value='".$text['button-upgrade_execute']."'></div>"; echo "<div style='text-align: right;'><input type='submit' class='btn' value='".$text['button-upgrade_execute']."'></div>";
echo "<br><br>";
echo "</form>\n"; echo "</form>\n";
// output result of source update echo "<br /><br />";
if (sizeof($_SESSION["response_source_update"]) > 0) { foreach($_SESSION["response"] as $part => $response){
echo "<br />"; echo "<b>".$text["header-${part}_update_results"]."</b>";
echo "<b>".$text['header-source_update_results']."</b>";
echo "<br /><br />"; echo "<br /><br />";
echo "<pre>"; if(is_array($_SESSION["response"][$part])) {
echo implode("\n", $_SESSION["response_source_update"]); echo "<pre>";
echo "</pre>"; echo implode("\n", $_SESSION["response"][$part]);
echo "</pre>";
}else {
echo $_SESSION["response"][$part];
}
echo "<br /><br />"; echo "<br /><br />";
unset($_SESSION["response_source_update"]);
} }
unset($_SESSION["response"]);
// output result of upgrade schema
if ($_SESSION["schema"]["response"] != '') {
echo "<br />";
echo "<b>".$text['header-upgrade_schema_results']."</b>";
echo "<br /><br />";
echo $_SESSION["schema"]["response"];
unset($_SESSION["schema"]["response"]);
}
echo "<br><br>";
//include the footer //include the footer
require_once "resources/footer.php"; require_once "resources/footer.php";