From 6c1d958f73d5fe1b11c455807c40793601c03d5d Mon Sep 17 00:00:00 2001 From: mdtrooper Date: Tue, 10 Feb 2015 16:40:44 +0100 Subject: [PATCH] Added the proxy configuration in the update manager. --- .../update_manager/update_manager.setup.php | 42 ++++++++++++++++++- pandora_console/include/functions_config.php | 17 ++++++++ .../include/functions_update_manager.php | 18 ++++++++ 3 files changed, 75 insertions(+), 2 deletions(-) diff --git a/pandora_console/godmode/update_manager/update_manager.setup.php b/pandora_console/godmode/update_manager/update_manager.setup.php index a71ff644d6..f1af09d8a9 100644 --- a/pandora_console/godmode/update_manager/update_manager.setup.php +++ b/pandora_console/godmode/update_manager/update_manager.setup.php @@ -16,14 +16,36 @@ global $config; -$url_update_manager = get_parameter('url_update_manager', - $config['url_update_manager']); $action_update_url_update_manager = (bool)get_parameter( 'action_update_url_update_manager', 0); +$url_update_manager = get_parameter('url_update_manager', + $config['url_update_manager']); +$update_manager_proxy_server = get_parameter('update_manager_proxy_server', + $config['update_manager_proxy_server']); +$update_manager_proxy_port = get_parameter('update_manager_proxy_port', + $config['update_manager_proxy_port']); +$update_manager_proxy_user = get_parameter('update_manager_proxy_user', + $config['update_manager_proxy_user']); +$update_manager_proxy_password = get_parameter('update_manager_proxy_password', + $config['update_manager_proxy_password']); + + if ($action_update_url_update_manager) { $result = config_update_value('url_update_manager', $url_update_manager); + if ($result) + $result = config_update_value('update_manager_proxy_server', + $update_manager_proxy_server); + if ($result) + $result = config_update_value('update_manager_proxy_port', + $update_manager_proxy_port); + if ($result) + $result = config_update_value('update_manager_proxy_user', + $update_manager_proxy_user); + if ($result) + $result = config_update_value('update_manager_proxy_password', + $update_manager_proxy_password); ui_print_result_message($result, __('Succesful Update the url config vars.'), @@ -40,6 +62,22 @@ $table->data[0][0] = __('URL update manager:'); $table->data[0][1] = html_print_input_text('url_update_manager', $url_update_manager, __('URL update manager'), 40, 60, true); +$table->data[1][0] = __('Proxy server:'); +$table->data[1][1] = html_print_input_text('update_manager_proxy_server', + $update_manager_proxy_server, __('Proxy server'), 40, 60, true); + +$table->data[2][0] = __('Proxy port:'); +$table->data[2][1] = html_print_input_text('update_manager_proxy_port', + $update_manager_proxy_port, __('Proxy port'), 40, 60, true); + +$table->data[3][0] = __('Proxy user:'); +$table->data[3][1] = html_print_input_text('update_manager_proxy_user', + $update_manager_proxy_user, __('Proxy user'), 40, 60, true); + +$table->data[4][0] = __('Proxy password:'); +$table->data[4][1] = html_print_input_text('update_manager_proxy_password', + $update_manager_proxy_password, __('Proxy password'), 40, 60, true); + html_print_input_hidden('action_update_url_update_manager', 1); html_print_table($table); diff --git a/pandora_console/include/functions_config.php b/pandora_console/include/functions_config.php index 3ed17e6466..ce75c6ac1f 100644 --- a/pandora_console/include/functions_config.php +++ b/pandora_console/include/functions_config.php @@ -1289,6 +1289,23 @@ function config_process_config () { json_encode(array())); } + if (!isset($config['update_manager_proxy_server'])) { + config_update_value ('update_manager_proxy_server', + ""); + } + if (!isset($config['update_manager_proxy_port'])) { + config_update_value ('update_manager_proxy_port', + ""); + } + if (!isset($config['update_manager_proxy_user'])) { + config_update_value ('update_manager_proxy_user', + ""); + } + if (!isset($config['update_manager_proxy_password'])) { + config_update_value ('update_manager_proxy_password', + ""); + } + /* Finally, check if any value was overwritten in a form */ config_update_config(); } diff --git a/pandora_console/include/functions_update_manager.php b/pandora_console/include/functions_update_manager.php index c9f433e7fd..7ef1700305 100755 --- a/pandora_console/include/functions_update_manager.php +++ b/pandora_console/include/functions_update_manager.php @@ -235,6 +235,15 @@ function update_manager_check_online_free_packages_available() { curl_setopt($curlObj, CURLOPT_POST, true); curl_setopt($curlObj, CURLOPT_POSTFIELDS, $params); curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, false); + if (issset($config['update_manager_proxy_server'])) { + curl_setopt($curlObj, CURLOPT_PROXY, $config['update_manager_proxy_server']); + } + if (issset($config['update_manager_proxy_port'])) { + curl_setopt($curlObj, CURLOPT_PROXYPORT, $config['update_manager_proxy_port']); + } + if (issset($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); @@ -292,6 +301,15 @@ function update_manager_check_online_free_packages ($is_ajax=true) { curl_setopt($curlObj, CURLOPT_POST, true); curl_setopt($curlObj, CURLOPT_POSTFIELDS, $params); curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, false); + if (issset($config['update_manager_proxy_server'])) { + curl_setopt($curlObj, CURLOPT_PROXY, $config['update_manager_proxy_server']); + } + if (issset($config['update_manager_proxy_port'])) { + curl_setopt($curlObj, CURLOPT_PROXYPORT, $config['update_manager_proxy_port']); + } + if (issset($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);