Portions created by the Initial Developer are Copyright (C) 2008-2015 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane */ set_time_limit(600); //sec (10 min) include "root.php"; require_once "resources/require.php"; require_once "resources/check_auth.php"; //check the permission if ( !permission_exists('upgrade_source') && !permission_exists('upgrade_schema') && !permission_exists('upgrade_apps') && !permission_exists('menu_restore') && !permission_exists('group_edit') ) { echo "access denied"; exit; } //add multi-lingual support $language = new text; $text = $language->get(); if (sizeof($_POST) > 0) { $do = $_POST['do']; // run source update if ($do["source"] && permission_exists("upgrade_source") && !is_dir("/usr/share/examples/fusionpbx")) { chdir("/var/www/fusionpbx/"); exec("git pull", $response_source_update); $update_failed = true; if (sizeof($response_source_update) > 0) { $_SESSION["response_source_update"] = $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; } } } if ($update_failed) { $_SESSION["message_delay"] = 3500; $_SESSION["message_mood"] = 'negative'; $response_message = $text['message-upgrade_source_failed']; } else { //update scripts folder, if allowed (default) if ($_SESSION['switch']['scripts']['dir'] != '') { //copy the files and directories from resources/install $install = new install; $install->domain_uuid = $domain_uuid; $install->switch_scripts_dir = $_SESSION['switch']['scripts']['dir']; $install->copy_scripts(); //set the message $response_message = $text['message-upgrade_source_scripts']; } else { //set the message $response_message = $text['message-upgrade_source']; } } } // 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"); } // 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(); } // restore defaults of the selected menu if ($do["menu"] && permission_exists("menu_restore")) { $sel_menu = explode('|', check_str($_POST["sel_menu"])); $menu_uuid = $sel_menu[0]; $menu_language = $sel_menu[1]; $included = true; require_once("core/menu/menu_restore_default.php"); unset($sel_menu); $response_message = $text['message-upgrade_menu']; } // restore default permissions if ($do["permissions"] && permission_exists("group_edit")) { $included = true; require_once("core/users/permissions_default.php"); $response_message = "Permission Defaults Restored"; } if (sizeof($_POST['do']) > 1) { $response_message = $text['message-upgrade']; } $_SESSION["message"] = $response_message; header("Location: ".PROJECT_PATH."/core/upgrade/index.php"); exit; } // if require_once "resources/header.php"; $document['title'] = $text['title-upgrade']; echo "".$text['header-upgrade'].""; echo "

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

"; echo "
\n"; if (permission_exists("upgrade_source") && !is_dir("/usr/share/examples/fusionpbx")) { echo "\n"; echo "\n"; echo " \n"; echo " \n"; echo "\n"; echo "
\n"; echo " ".$text['label-upgrade_source']; echo " \n"; echo " \n"; echo "
\n"; } if (permission_exists("upgrade_schema")) { echo "\n"; echo "\n"; echo " \n"; echo " \n"; echo "\n"; echo "
\n"; echo " ".$text['label-upgrade_schema']; echo " \n"; echo " \n"; echo "
\n"; echo "\n"; } if (permission_exists("upgrade_apps")) { echo "\n"; echo "\n"; echo " \n"; echo " \n"; echo "\n"; echo "
\n"; echo " ".$text['label-upgrade_apps']; echo " \n"; echo " \n"; echo "
\n"; } if (permission_exists("menu_restore")) { echo "\n"; echo "\n"; echo " \n"; echo " \n"; echo "\n"; echo "
\n"; echo " ".$text['label-upgrade_menu']; echo " \n"; echo " "; echo " "; echo "
"; echo " "; echo "
"; echo "
\n"; } if (permission_exists("group_edit")) { echo "\n"; echo "\n"; echo " \n"; echo " \n"; echo "\n"; echo "
\n"; echo " ".$text['label-upgrade_permissions']; echo " \n"; echo " \n"; echo "
\n"; } 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 "

"; echo "
";
	echo implode("\n", $_SESSION["response_source_update"]);
	echo "
"; echo "

"; unset($_SESSION["response_source_update"]); } // 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"]); } require_once "resources/footer.php"; ?>