Added a lot of changes in update manager online open to integrate with mr
This commit is contained in:
parent
c8a0946eda
commit
b9702a5b00
|
@ -78,8 +78,6 @@ if (is_ajax ()) {
|
|||
|
||||
$file_dest = $config["homedir"] . "/extras/mr/updated/$number.sql";
|
||||
|
||||
chmod($file, 0777);
|
||||
chmod($config["homedir"] . "/extras/mr/updated", 0777);
|
||||
if (copy($file, $file_dest)) {
|
||||
unlink($file);
|
||||
}
|
||||
|
|
|
@ -37,6 +37,7 @@ $update_last_free_package = (bool)get_parameter('update_last_free_package');
|
|||
$check_update_free_package = (bool)get_parameter('check_update_free_package');
|
||||
$install_free_package = (bool)get_parameter('install_free_package');
|
||||
$search_minor = (bool)get_parameter('search_minor');
|
||||
$unzip_free_package = (bool)get_parameter('$unzip_free_package');
|
||||
|
||||
if ($upload_file) {
|
||||
ob_clean();
|
||||
|
@ -377,93 +378,85 @@ if ($update_last_free_package) {
|
|||
$accept = (boolean)get_parameter('accept', false);
|
||||
$package_url = base64_decode($package);
|
||||
|
||||
if ($accept) {
|
||||
$params = array('action' => 'get_package',
|
||||
'license' => $license,
|
||||
'limit_count' => $users,
|
||||
'current_package' => $current_package,
|
||||
'package' => $package,
|
||||
'version' => $config['version'],
|
||||
'build' => $config['build']);
|
||||
|
||||
$curlObj = curl_init();
|
||||
curl_setopt($curlObj, CURLOPT_URL, $package_url);
|
||||
curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_setopt($curlObj, CURLOPT_FOLLOWLOCATION, true);
|
||||
curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, false);
|
||||
if (isset($config['update_manager_proxy_server'])) {
|
||||
curl_setopt($curlObj, CURLOPT_PROXY, $config['update_manager_proxy_server']);
|
||||
}
|
||||
if (isset($config['update_manager_proxy_port'])) {
|
||||
curl_setopt($curlObj, CURLOPT_PROXYPORT, $config['update_manager_proxy_port']);
|
||||
}
|
||||
if (isset($config['update_manager_proxy_user'])) {
|
||||
curl_setopt($curlObj, CURLOPT_PROXYUSERPWD, $config['update_manager_proxy_user'] . ':' . $config['update_manager_proxy_password']);
|
||||
}
|
||||
|
||||
$result = curl_exec($curlObj);
|
||||
$http_status = curl_getinfo($curlObj, CURLINFO_HTTP_CODE);
|
||||
|
||||
curl_close($curlObj);
|
||||
$params = array('action' => 'get_package',
|
||||
'license' => $license,
|
||||
'limit_count' => $users,
|
||||
'current_package' => $current_package,
|
||||
'package' => $package,
|
||||
'version' => $config['version'],
|
||||
'build' => $config['build']);
|
||||
|
||||
$curlObj = curl_init();
|
||||
curl_setopt($curlObj, CURLOPT_URL, $package_url);
|
||||
curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_setopt($curlObj, CURLOPT_FOLLOWLOCATION, true);
|
||||
curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, false);
|
||||
if (isset($config['update_manager_proxy_server'])) {
|
||||
curl_setopt($curlObj, CURLOPT_PROXY, $config['update_manager_proxy_server']);
|
||||
}
|
||||
if (isset($config['update_manager_proxy_port'])) {
|
||||
curl_setopt($curlObj, CURLOPT_PROXYPORT, $config['update_manager_proxy_port']);
|
||||
}
|
||||
if (isset($config['update_manager_proxy_user'])) {
|
||||
curl_setopt($curlObj, CURLOPT_PROXYUSERPWD, $config['update_manager_proxy_user'] . ':' . $config['update_manager_proxy_password']);
|
||||
}
|
||||
|
||||
$result = curl_exec($curlObj);
|
||||
$http_status = curl_getinfo($curlObj, CURLINFO_HTTP_CODE);
|
||||
|
||||
curl_close($curlObj);
|
||||
|
||||
if (empty($result)) {
|
||||
echo json_encode(array(
|
||||
'in_progress' => false,
|
||||
'message' => __('Fail to update to the last package.')));
|
||||
}
|
||||
else {
|
||||
file_put_contents(
|
||||
$config['attachment_store'] . "/downloads/last_package.tgz" , $result);
|
||||
|
||||
echo json_encode(array(
|
||||
'in_progress' => true,
|
||||
'message' => __('Starting to update to the last package.')));
|
||||
|
||||
|
||||
$progress_update_status = db_get_value(
|
||||
'value', 'tconfig', 'token', 'progress_update_status');
|
||||
|
||||
|
||||
|
||||
if (empty($progress_update_status)) {
|
||||
db_process_sql_insert('tconfig',
|
||||
array(
|
||||
'value' => 0,
|
||||
'token' => 'progress_update')
|
||||
);
|
||||
|
||||
db_process_sql_insert('tconfig',
|
||||
array(
|
||||
'value' => json_encode(
|
||||
array(
|
||||
'status' => 'in_progress',
|
||||
'message' => ''
|
||||
)),
|
||||
'token' => 'progress_update_status')
|
||||
);
|
||||
}
|
||||
else {
|
||||
db_process_sql_update('tconfig',
|
||||
array('value' => 0),
|
||||
array('token' => 'progress_update'));
|
||||
|
||||
db_process_sql_update('tconfig',
|
||||
array('value' => json_encode(
|
||||
array(
|
||||
'status' => 'in_progress',
|
||||
'message' => ''
|
||||
)
|
||||
)
|
||||
),
|
||||
array('token' => 'progress_update_status'));
|
||||
}
|
||||
}
|
||||
if (empty($result)) {
|
||||
echo json_encode(array(
|
||||
'in_progress' => false,
|
||||
'message' => __('Fail to update to the last package.')));
|
||||
}
|
||||
else {
|
||||
$return["in_progress"] = false;
|
||||
$return["message"] = __("Package rejected.");
|
||||
|
||||
echo json_encode($return);
|
||||
file_put_contents(
|
||||
$config['attachment_store'] . "/downloads/last_package.tgz" , $result);
|
||||
|
||||
echo json_encode(array(
|
||||
'in_progress' => true,
|
||||
'message' => __('Starting to update to the last package.')));
|
||||
|
||||
|
||||
$progress_update_status = db_get_value(
|
||||
'value', 'tconfig', 'token', 'progress_update_status');
|
||||
|
||||
|
||||
|
||||
if (empty($progress_update_status)) {
|
||||
db_process_sql_insert('tconfig',
|
||||
array(
|
||||
'value' => 0,
|
||||
'token' => 'progress_update')
|
||||
);
|
||||
|
||||
db_process_sql_insert('tconfig',
|
||||
array(
|
||||
'value' => json_encode(
|
||||
array(
|
||||
'status' => 'in_progress',
|
||||
'message' => ''
|
||||
)),
|
||||
'token' => 'progress_update_status')
|
||||
);
|
||||
}
|
||||
else {
|
||||
db_process_sql_update('tconfig',
|
||||
array('value' => 0),
|
||||
array('token' => 'progress_update'));
|
||||
|
||||
db_process_sql_update('tconfig',
|
||||
array('value' => json_encode(
|
||||
array(
|
||||
'status' => 'in_progress',
|
||||
'message' => ''
|
||||
)
|
||||
)
|
||||
),
|
||||
array('token' => 'progress_update_status'));
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
|
@ -509,19 +502,32 @@ if ($check_update_free_package) {
|
|||
return;
|
||||
}
|
||||
|
||||
if ($install_free_package) {
|
||||
if ($unzip_free_package) {
|
||||
$version = get_parameter('version', '');
|
||||
|
||||
$result = update_manager_starting_update();
|
||||
|
||||
if ($result) {
|
||||
$return["status"] = "correct";
|
||||
$return["message"]= __("The package is extracted.");
|
||||
}
|
||||
else {
|
||||
$return["status"] = "error";
|
||||
$return["message"]= __("Error in package extraction.");
|
||||
}
|
||||
|
||||
echo json_encode($return);
|
||||
}
|
||||
|
||||
if ($install_free_package) {
|
||||
$version = get_parameter('version', '');
|
||||
|
||||
if ($result)
|
||||
update_manager_set_current_package($version);
|
||||
|
||||
|
||||
sleep(3);
|
||||
|
||||
|
||||
|
||||
$return["status"] = "success";
|
||||
$return["message"]= __("The package is installed.");
|
||||
echo json_encode($return);
|
||||
|
|
|
@ -604,11 +604,7 @@ function update_manager_remote_read_messages ($id_message) {
|
|||
return $result['success'];
|
||||
}
|
||||
|
||||
/**
|
||||
* The update copy entirire the tgz or fail (leave some parts copies and some part not).
|
||||
* This does make any thing with the BD.
|
||||
*/
|
||||
function update_manager_starting_update() {
|
||||
function update_manager_extract_package() {
|
||||
global $config;
|
||||
|
||||
$path_package = $config['attachment_store'] .
|
||||
|
@ -636,8 +632,11 @@ function update_manager_starting_update() {
|
|||
$extracted = false;
|
||||
}
|
||||
}
|
||||
$return = true;
|
||||
|
||||
if($extracted === false) {
|
||||
$return = false;
|
||||
|
||||
if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
|
||||
// unsupported OS
|
||||
echo "This OS [" . PHP_OS . "] does not support direct extraction of tgz files. Upgrade PHP version to be > 5.5.0";
|
||||
|
@ -668,8 +667,21 @@ function update_manager_starting_update() {
|
|||
db_process_sql_update('tconfig',
|
||||
array('value' => 50),
|
||||
array('token' => 'progress_update'));
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* The update copy entirire the tgz or fail (leave some parts copies and some part not).
|
||||
* This does make any thing with the BD.
|
||||
*/
|
||||
function update_manager_starting_update() {
|
||||
global $config;
|
||||
|
||||
$path_package = $config['attachment_store'] .
|
||||
"/downloads/last_package.tgz";
|
||||
|
||||
|
||||
$full_path = $config['attachment_store'] . "/downloads/unix";
|
||||
|
||||
$homedir = $config['homedir'];
|
||||
|
||||
|
|
|
@ -844,6 +844,100 @@ function update_last_package(package, version, homeurl) {
|
|||
$("#box_online .loading").show();
|
||||
$("#box_online .download_package").show();
|
||||
|
||||
var parameters = {};
|
||||
parameters['page'] = 'include/ajax/update_manager.ajax';
|
||||
parameters['update_last_free_package'] = 1;
|
||||
parameters['package'] = package;
|
||||
parameters['version'] = version;
|
||||
parameters['accept'] = 0;
|
||||
|
||||
jQuery.post(
|
||||
home_url + "ajax.php",
|
||||
parameters,
|
||||
function (data) {
|
||||
if (data['in_progress']) {
|
||||
$("#box_online .loading").hide();
|
||||
$("#box_online .download_package").hide();
|
||||
|
||||
$("#box_online .content").html(data['message']);
|
||||
|
||||
var parameters2 = {};
|
||||
parameters2['page'] = 'include/ajax/update_manager.ajax';
|
||||
parameters2['unzip_free_package'] = 1;
|
||||
parameters2['package'] = package;
|
||||
parameters2['version'] = version;
|
||||
|
||||
jQuery.post(
|
||||
home_url + "ajax.php",
|
||||
parameters2,
|
||||
function (data) {
|
||||
if (data['correct']) {
|
||||
$("#box_online .loading").hide();
|
||||
$("#box_online .download_package").hide();
|
||||
|
||||
$("#box_online .content").html(data['message']);
|
||||
|
||||
install_free_package_prev_step(package, version, homeurl);
|
||||
}
|
||||
else {
|
||||
$("#box_online .content").html(data['message']);
|
||||
}
|
||||
},
|
||||
"json"
|
||||
);
|
||||
}
|
||||
else {
|
||||
$("#box_online .content").html(data['message']);
|
||||
}
|
||||
},
|
||||
"json"
|
||||
);
|
||||
}
|
||||
|
||||
function check_progress_update(homeurl) {
|
||||
var home_url = (typeof homeurl !== 'undefined') ? homeurl + '/' : '';
|
||||
|
||||
if (stop_check_progress) {
|
||||
return;
|
||||
}
|
||||
|
||||
var parameters = {};
|
||||
parameters['page'] = 'include/ajax/update_manager.ajax';
|
||||
parameters['check_update_free_package'] = 1;
|
||||
|
||||
jQuery.post(
|
||||
home_url + "ajax.php",
|
||||
parameters,
|
||||
function (data) {
|
||||
if (stop_check_progress) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (data['correct']) {
|
||||
if (data['end']) {
|
||||
//$("#box_online .content").html(data['message']);
|
||||
}
|
||||
else {
|
||||
$("#box_online .progressbar").show();
|
||||
|
||||
$("#box_online .progressbar .progressbar_img").attr('src',
|
||||
data['progressbar']);
|
||||
|
||||
setTimeout(function () {
|
||||
check_progress_update(homeurl);
|
||||
}, 1000);
|
||||
}
|
||||
}
|
||||
else {
|
||||
correct_install_progress = false;
|
||||
$("#box_online .content").html(data['message']);
|
||||
}
|
||||
},
|
||||
"json"
|
||||
);
|
||||
}
|
||||
|
||||
function install_free_package_prev_step(package, version, homeurl) {
|
||||
$("<div id='pkg_apply_dialog' class='dialog ui-dialog-content' title='" + package_available + "'></div>").dialog ({
|
||||
resizable: true,
|
||||
draggable: true,
|
||||
|
@ -1244,49 +1338,6 @@ function update_last_package(package, version, homeurl) {
|
|||
$('#pkg_apply_dialog').dialog('open');
|
||||
}
|
||||
|
||||
function check_progress_update(homeurl) {
|
||||
var home_url = (typeof homeurl !== 'undefined') ? homeurl + '/' : '';
|
||||
|
||||
if (stop_check_progress) {
|
||||
return;
|
||||
}
|
||||
|
||||
var parameters = {};
|
||||
parameters['page'] = 'include/ajax/update_manager.ajax';
|
||||
parameters['check_update_free_package'] = 1;
|
||||
|
||||
jQuery.post(
|
||||
home_url + "ajax.php",
|
||||
parameters,
|
||||
function (data) {
|
||||
if (stop_check_progress) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (data['correct']) {
|
||||
if (data['end']) {
|
||||
//$("#box_online .content").html(data['message']);
|
||||
}
|
||||
else {
|
||||
$("#box_online .progressbar").show();
|
||||
|
||||
$("#box_online .progressbar .progressbar_img").attr('src',
|
||||
data['progressbar']);
|
||||
|
||||
setTimeout(function () {
|
||||
check_progress_update(homeurl);
|
||||
}, 1000);
|
||||
}
|
||||
}
|
||||
else {
|
||||
correct_install_progress = false;
|
||||
$("#box_online .content").html(data['message']);
|
||||
}
|
||||
},
|
||||
"json"
|
||||
);
|
||||
}
|
||||
|
||||
function install_free_package(package, version, homeurl) {
|
||||
var home_url = (typeof homeurl !== 'undefined') ? homeurl + '/' : '';
|
||||
|
||||
|
|
Loading…
Reference in New Issue