diff --git a/pandora_console/godmode/setup/setup.php b/pandora_console/godmode/setup/setup.php index c32f128ddd..595cfb1d14 100644 --- a/pandora_console/godmode/setup/setup.php +++ b/pandora_console/godmode/setup/setup.php @@ -228,6 +228,10 @@ switch ($section) { include_once $config['homedir'].'/godmode/setup/setup_ehorus.php'; break; + case 'integria': + include_once $config['homedir'].'/godmode/setup/setup_integria.php'; + break; + case 'notifications': include_once $config['homedir'].'/godmode/setup/setup_notifications.php'; break; diff --git a/pandora_console/godmode/setup/setup_integria.php b/pandora_console/godmode/setup/setup_integria.php new file mode 100644 index 0000000000..42f4f7fd57 --- /dev/null +++ b/pandora_console/godmode/setup/setup_integria.php @@ -0,0 +1,262 @@ +data = []; +$table_enable->width = '100%'; +$table_enable->id = 'integria-enable-setup'; +$table_enable->class = 'databox filters'; +$table_enable->size['name'] = '30%'; +$table_enable->style['name'] = 'font-weight: bold'; + +// Enable Integria. +$row = []; +$row['name'] = __('Enable Integria'); +$row['control'] = html_print_checkbox_switch('integria_enabled', 1, $config['integria_enabled'], true); +$table_enable->data['integria_enabled'] = $row; + +// Remote config table. +$table_remote = new StdClass(); +$table_remote->data = []; +$table_remote->width = '100%'; +$table_remote->styleTable = 'margin-bottom: 10px;'; +$table_remote->id = 'integria-remote-setup'; +$table_remote->class = 'databox filters'; +$table_remote->size['name'] = '30%'; +$table_remote->style['name'] = 'font-weight: bold'; + +// User. +$row = []; +$row['name'] = __('User'); +$row['control'] = html_print_input_text('integria_user', $config['integria_user'], '', 30, 100, true); +$table_remote->data['integria_user'] = $row; + +// Pass. +$row = []; +$row['name'] = __('Password'); +$row['control'] = html_print_input_password('integria_pass', io_output_password($config['integria_pass']), '', 30, 100, true); +$table_remote->data['integria_pass'] = $row; + +// Directory hostname. +$row = []; +$row['name'] = __('API Hostname'); +$row['control'] = html_print_input_text('integria_hostname', $config['integria_hostname'], '', 30, 100, true); +$row['control'] .= ui_print_help_tip(__('Hostname of the Integria API')); +$table_remote->data['integria_hostname'] = $row; + +// Request timeout. +$row = []; +$row['name'] = __('Request timeout'); +$row['control'] = html_print_input_text('integria_req_timeout', $config['integria_req_timeout'], '', 3, 10, true); +$row['control'] .= ui_print_help_tip(__('Time in seconds to set the maximum time of the requests to the Integria API').'. '.__('0 to disable'), true); +$table_remote->data['integria_req_timeout'] = $row; + +// Test. +$row = []; +$row['name'] = __('Test'); +$row['control'] = html_print_button(__('Start'), 'test-integria', false, '', 'class="sub next"', true); +$row['control'] .= ''; +$row['control'] .= ''; +$row['control'] .= ''; +$row['control'] .= ' '; +$table_remote->data['integria_test'] = $row; + +hd($config['integria_enabled']); +hd($config['integria_user']); +hd($config['integria_user']); +hd($config['integria_pass']); +hd($config['integria_hostname']); +hd($config['integria_req_timeout']); + +// Print. +echo '
'; +echo ''; +html_print_image('include/ehorus/images/ehorus-logo-grey.png'); +echo ''; +echo '
'; +echo '
'; +echo __('Remote Management System'); +echo '
'; +echo ''; +echo 'https://ehorus.com'; +echo ''; +echo '
'; + +echo "
"; +// Form enable. +echo '
'; +html_print_input_hidden('update_config', 1); +html_print_table($table_enable); +echo '
'; + +// Form remote. + echo '
'; + echo '
'; + echo ''.__('Integria API').''; + html_print_input_hidden('update_config', 1); + html_print_table($table_remote); + + echo '
'; + echo '
'; + echo '
'; + html_print_submit_button(__('Update'), 'update_button', false, 'class="sub upd"'); + echo '
'; + echo '
'; + +?> + + diff --git a/pandora_console/include/functions_config.php b/pandora_console/include/functions_config.php index f59061a03c..544f08abc6 100644 --- a/pandora_console/include/functions_config.php +++ b/pandora_console/include/functions_config.php @@ -1434,6 +1434,28 @@ function config_update_config() } break; + case 'integria': + if (!config_update_value('integria_enabled', (int) get_parameter('integria_enabled', 0))) { + $error_update[] = __('Enable Integria'); + } + + if (!config_update_value('integria_user', (string) get_parameter('integria_user', $config['integria_user']))) { + $error_update[] = __('Integria user'); + } + + if (!config_update_value('integria_pass', io_input_password((string) get_parameter('integria_pass', $config['integria_pass'])))) { + $error_update[] = __('Integria password'); + } + + if (!config_update_value('integria_hostname', (string) get_parameter('integria_hostname', $config['integria_hostname']))) { + $error_update[] = __('integria API hostname'); + } + + if (!config_update_value('integria_req_timeout', (int) get_parameter('integria_req_timeout', $config['integria_req_timeout']))) { + $error_update[] = __('Integria request timeout'); + } + break; + default: // Ignore. break; @@ -2820,6 +2842,19 @@ function config_process_config() } } + // Integria + if (!isset($config['integria_enabled'])) { + config_update_value('integria_enabled', 0); + } + + if (!isset($config['integria_req_timeout'])) { + config_update_value('integria_req_timeout', 5); + } + + if (!isset($config['integria_hostname'])) { + config_update_value('integria_hostname', ''); + } + // Finally, check if any value was overwritten in a form. config_update_config(); }