From 526311d1c6d5d7fd816fe95dd47a3ed438822643 Mon Sep 17 00:00:00 2001 From: Tatiana Llorente Date: Mon, 25 Feb 2019 11:54:46 +0100 Subject: [PATCH 01/17] new header and menu Former-commit-id: 0748bc89d30e8ae4723026848d493d15d82af9cd --- pandora_console/general/footer.php | 8 +- pandora_console/general/header.php | 609 ++--- pandora_console/general/main_menu.php | 532 ++-- pandora_console/godmode/menu.php | 1 + .../godmode/setup/setup_visuals.php | 93 +- pandora_console/images/builder.menu_gray.png | Bin 0 -> 330 bytes pandora_console/images/builder.menu_white.png | Bin 0 -> 294 bytes .../images/button_classic_menu.png | Bin 0 -> 745 bytes .../images/button_collapse_menu.png | Bin 0 -> 759 bytes pandora_console/images/clippy_icon_gray.png | Bin 0 -> 462 bytes .../pandora_logo_green_collapsed.png | Bin 0 -> 2468 bytes .../custom_logo/pandora_logo_head_green.png | Bin 0 -> 5461 bytes .../images/extensions.menu_gray.png | Bin 0 -> 416 bytes .../images/extensions.menu_white.png | Bin 0 -> 311 bytes .../images/gm_alerts.menu_gray.png | Bin 0 -> 298 bytes .../images/gm_alerts.menu_white.png | Bin 0 -> 265 bytes .../images/gm_configuration.menu_gray.png | Bin 0 -> 366 bytes .../images/gm_configuration.menu_white.png | Bin 0 -> 276 bytes .../images/gm_events.menu_gray.png | Bin 0 -> 321 bytes .../images/gm_events.menu_white.png | Bin 0 -> 281 bytes .../images/gm_resources.menu_gray.png | Bin 0 -> 311 bytes .../images/gm_resources.menu_white.png | Bin 0 -> 285 bytes .../images/gm_servers.menu_gray.png | Bin 0 -> 335 bytes .../images/gm_servers.menu_white.png | Bin 0 -> 310 bytes pandora_console/images/gm_setup.menu_gray.png | Bin 0 -> 426 bytes .../images/gm_setup.menu_white.png | Bin 0 -> 322 bytes pandora_console/images/gm_users.menu_gray.png | Bin 0 -> 304 bytes .../images/gm_users.menu_white.png | Bin 0 -> 305 bytes pandora_console/images/header_alert_gray.png | Bin 0 -> 458 bytes pandora_console/images/header_chat_gray.png | Bin 0 -> 313 bytes pandora_console/images/header_down_gray.png | Bin 0 -> 364 bytes pandora_console/images/header_email.png | Bin 1375 -> 471 bytes pandora_console/images/header_email_old.png | Bin 0 -> 1375 bytes pandora_console/images/header_help_gray.png | Bin 0 -> 498 bytes pandora_console/images/header_logout_gray.png | Bin 0 -> 347 bytes pandora_console/images/header_ready_gray.png | Bin 0 -> 273 bytes .../images/header_refresh_disabled_gray.png | Bin 0 -> 485 bytes .../images/header_refresh_gray.png | Bin 0 -> 490 bytes .../images/header_user_admin_green.png | Bin 0 -> 665 bytes pandora_console/images/header_user_green.png | Bin 0 -> 531 bytes .../images/header_warning_gray.png | Bin 0 -> 226 bytes pandora_console/images/input_zoom_gray.png | Bin 0 -> 416 bytes pandora_console/images/links.menu_gray.png | Bin 0 -> 387 bytes pandora_console/images/links.menu_white.png | Bin 0 -> 356 bytes .../images/op_events.menu_gray.png | Bin 0 -> 274 bytes .../images/op_events.menu_white.png | Bin 0 -> 252 bytes .../images/op_monitoring.menu_gray.png | Bin 0 -> 387 bytes .../images/op_monitoring.menu_white.png | Bin 0 -> 342 bytes .../images/op_network.menu_gray.png | Bin 0 -> 433 bytes .../images/op_network.menu_white.png | Bin 0 -> 355 bytes .../images/op_reporting.menu_gray.png | Bin 0 -> 241 bytes .../images/op_reporting.menu_white.png | Bin 0 -> 237 bytes .../images/op_workspace.menu_gray.png | Bin 0 -> 339 bytes .../images/op_workspace.menu_white.png | Bin 0 -> 300 bytes pandora_console/images/qrcode_icon_gray.png | Bin 0 -> 599 bytes pandora_console/images/to_top_menu.png | Bin 0 -> 323 bytes .../images/um_messages.menu_gray.png | Bin 0 -> 428 bytes .../images/um_messages.menu_white.png | Bin 0 -> 352 bytes .../fonts/mem5YaGs126MiZpBA-UN7rgOUuhp.woff2 | Bin 0 -> 14720 bytes .../fonts/mem5YaGs126MiZpBA-UNirkOUuhp.woff2 | Bin 0 -> 14544 bytes .../fonts/mem8YaGs126MiZpBA-UFVZ0b.woff2 | Bin 0 -> 14048 bytes pandora_console/include/functions_config.php | 10 +- pandora_console/include/functions_menu.php | 2 +- pandora_console/include/styles/menu.css | 420 ++- pandora_console/include/styles/pandora.css | 2409 ++++++++++------- pandora_console/index.php | 5 +- 66 files changed, 2417 insertions(+), 1672 deletions(-) create mode 100644 pandora_console/images/builder.menu_gray.png create mode 100644 pandora_console/images/builder.menu_white.png create mode 100644 pandora_console/images/button_classic_menu.png create mode 100644 pandora_console/images/button_collapse_menu.png create mode 100644 pandora_console/images/clippy_icon_gray.png create mode 100644 pandora_console/images/custom_logo/pandora_logo_green_collapsed.png create mode 100644 pandora_console/images/custom_logo/pandora_logo_head_green.png create mode 100644 pandora_console/images/extensions.menu_gray.png create mode 100644 pandora_console/images/extensions.menu_white.png create mode 100644 pandora_console/images/gm_alerts.menu_gray.png create mode 100644 pandora_console/images/gm_alerts.menu_white.png create mode 100644 pandora_console/images/gm_configuration.menu_gray.png create mode 100644 pandora_console/images/gm_configuration.menu_white.png create mode 100644 pandora_console/images/gm_events.menu_gray.png create mode 100644 pandora_console/images/gm_events.menu_white.png create mode 100644 pandora_console/images/gm_resources.menu_gray.png create mode 100644 pandora_console/images/gm_resources.menu_white.png create mode 100644 pandora_console/images/gm_servers.menu_gray.png create mode 100644 pandora_console/images/gm_servers.menu_white.png create mode 100644 pandora_console/images/gm_setup.menu_gray.png create mode 100644 pandora_console/images/gm_setup.menu_white.png create mode 100644 pandora_console/images/gm_users.menu_gray.png create mode 100644 pandora_console/images/gm_users.menu_white.png create mode 100644 pandora_console/images/header_alert_gray.png create mode 100644 pandora_console/images/header_chat_gray.png create mode 100644 pandora_console/images/header_down_gray.png create mode 100644 pandora_console/images/header_email_old.png create mode 100644 pandora_console/images/header_help_gray.png create mode 100644 pandora_console/images/header_logout_gray.png create mode 100644 pandora_console/images/header_ready_gray.png create mode 100644 pandora_console/images/header_refresh_disabled_gray.png create mode 100644 pandora_console/images/header_refresh_gray.png create mode 100644 pandora_console/images/header_user_admin_green.png create mode 100644 pandora_console/images/header_user_green.png create mode 100644 pandora_console/images/header_warning_gray.png create mode 100644 pandora_console/images/input_zoom_gray.png create mode 100644 pandora_console/images/links.menu_gray.png create mode 100644 pandora_console/images/links.menu_white.png create mode 100644 pandora_console/images/op_events.menu_gray.png create mode 100644 pandora_console/images/op_events.menu_white.png create mode 100644 pandora_console/images/op_monitoring.menu_gray.png create mode 100644 pandora_console/images/op_monitoring.menu_white.png create mode 100644 pandora_console/images/op_network.menu_gray.png create mode 100644 pandora_console/images/op_network.menu_white.png create mode 100644 pandora_console/images/op_reporting.menu_gray.png create mode 100644 pandora_console/images/op_reporting.menu_white.png create mode 100644 pandora_console/images/op_workspace.menu_gray.png create mode 100644 pandora_console/images/op_workspace.menu_white.png create mode 100644 pandora_console/images/qrcode_icon_gray.png create mode 100644 pandora_console/images/to_top_menu.png create mode 100644 pandora_console/images/um_messages.menu_gray.png create mode 100644 pandora_console/images/um_messages.menu_white.png create mode 100755 pandora_console/include/fonts/mem5YaGs126MiZpBA-UN7rgOUuhp.woff2 create mode 100755 pandora_console/include/fonts/mem5YaGs126MiZpBA-UNirkOUuhp.woff2 create mode 100755 pandora_console/include/fonts/mem8YaGs126MiZpBA-UFVZ0b.woff2 diff --git a/pandora_console/general/footer.php b/pandora_console/general/footer.php index a9a251d177..b847b93f48 100644 --- a/pandora_console/general/footer.php +++ b/pandora_console/general/footer.php @@ -26,7 +26,7 @@ if (!$config['MR']) { $config['MR'] = 0; } -echo ''; +echo ''; require_once $config['homedir'].'/include/functions_update_manager.php'; @@ -40,9 +40,9 @@ if ($current_package == 0) { echo sprintf(__('%s %s - Build %s - MR %s', get_product_name(), $pandora_version, $build_package_version, $config['MR'])); -echo '
'; -echo ''.__('Page generated at').' '.date($config['date_format']); -echo '
® '.get_copyright_notice().''; +echo ' '; +echo ''.__('Page generated at').' '.date($config['date_format']); +echo '
® '.get_copyright_notice().''; if (isset($config['debug'])) { $cache_info = []; diff --git a/pandora_console/general/header.php b/pandora_console/general/header.php index 846f20677b..c75775de10 100644 --- a/pandora_console/general/header.php +++ b/pandora_console/general/header.php @@ -19,359 +19,306 @@ require_once 'include/functions_servers.php'; config_check(); ?> - - - - - - -
- - +
+ '.__('Sobre actualización de revisión menor').'', 'Revisión/es menor/es disponible/s'); } else { - if (file_exists(ENTERPRISE_DIR.'/'.$custom_logo)) { - $custom_logo = ENTERPRISE_DIR.'/'.$custom_logo; - } - - $logo_title = get_product_name().' Enterprise'; + set_pandora_error_for_header('There are one or more minor releases waiting for update. '.__('About minor release update').'', 'minor release/s available'); } - - echo html_print_image( - $custom_logo, - true, - [ - 'alt' => $logo_title, - 'border' => '0', - ] - ); - ?> - -
- id = 'header_table'; - $table->class = 'none'; - $table->cellpadding = 0; - $table->cellspacing = 0; - $table->head = []; - $table->data = []; - $table->style[0] = $table->style['clippy'] = $table->style[1] = $table->style[3] = $table->style[4] = $table->style[5] = $table->style[6] = $table->style[8] = $table->style[9] = $table->style['qr'] = 'width: 22px; text-align:center; height: 22px; padding-right: 9px;padding-left: 9px;'; - $table->style[7] = 'width: 20px; padding-right: 9px;'; - $table->style['searchbar'] = 'width: 180px; min-width: 180px;'; - $table->style[11] = 'padding-left: 10px; padding-right: 5px;width: 16px;'; - $table->width = '100%'; - $table->styleTable = 'margin: auto; margin-top: 0px;'; - $table->rowclass[0] = ''; - - $acl_head_search = true; - if ($config['acl_enterprise'] == 1 && !users_is_admin()) { - $acl_head_search = db_get_sql( - "SELECT sec FROM tusuario - INNER JOIN tusuario_perfil ON tusuario.id_user = tusuario_perfil.id_usuario - INNER JOIN tprofile_view ON tprofile_view.id_profile = tusuario_perfil.id_perfil - WHERE tusuario.id_user = '".$config['id_user']."' AND (sec = '*' OR sec = 'head_search')" - ); } + } - if ($acl_head_search) { - $table->data[0][11] = ui_print_help_tip(__('Blank characters are used as AND conditions'), true); + echo ''; - // Search bar - $search_bar = '
'; - if (!isset($config['search_keywords'])) { - $search_bar .= ''; - } else { - if (strlen($config['search_keywords']) == 0) { - $search_bar .= ''; - } else { - $search_bar .= ''; - } - } + if ($config['alert_cnt'] > 0) { + $maintenance_link = 'javascript:'; + $maintenance_title = __('System alerts detected - Please fix as soon as possible'); + $maintenance_class = $maintenance_id = 'show_systemalert_dialog white'; - $search_bar .= ''; - - // $search_bar .= 'onClick="javascript: document.quicksearch.submit()"'; - $search_bar .= ""; - $search_bar .= '
'; - - $table->data[0]['searchbar'] = $search_bar; - } - - // Servers check - $servers = []; - $servers['all'] = (int) db_get_value('COUNT(id_server)', 'tserver'); - $servers['up'] = (int) servers_check_status(); - $servers['down'] = ($servers['all'] - $servers['up']); - if ($servers['up'] == 0) { - // All Servers down or no servers at all - $servers_check_img = html_print_image('images/header_down.png', true, ['alt' => 'cross', 'class' => 'bot', 'title' => __('All systems').': '.__('Down')]); - } else if ($servers['down'] != 0) { - // Some servers down - $servers_check_img = html_print_image('images/header_warning.png', true, ['alt' => 'error', 'class' => 'bot', 'title' => $servers['down'].' '.__('servers down')]); + $maintenance_link_open_txt = ''; + $maintenance_link_open_img = ''; + $maintenance_link_close = ''; + if (!$pandora_management) { + $maintenance_img = ''; } else { - // All servers up - $servers_check_img = html_print_image('images/header_ready.png', true, ['alt' => 'ok', 'class' => 'bot', 'title' => __('All systems').': '.__('Ready')]); - } - - unset($servers); - // Since this is the header, we don't like to trickle down variables. - $servers_link_open = ''; - $servers_link_close = ''; - - if ($config['show_qr_code_header'] == 0) { - $show_qr_code_header = 'display: none;'; - } else { - $show_qr_code_header = 'display: inline;'; - } - - $table->data[0]['qr'] = ''; + ).'

'.$config['alert_cnt'].'

'.$maintenance_link_close; + } + } else { + if (!$pandora_management) { + $maintenance_img = ''; + } else { + $maintenance_img = html_print_image('images/header_ready_gray.png', true, ['title' => __('There are not warnings'), 'id' => 'yougotalert', 'class' => 'bot']); + } + } - echo "'; - ?> - - data[0]['clippy'] = ''.html_print_image( - 'images/clippy_icon.png', - true, - [ - 'id' => 'clippy', - 'class' => 'clippy', - 'alt' => __('%s assistant', get_product_name()), - 'title' => __( - '%s assistant', - get_product_name() - ), - ] - ).''; - } + $header_alert = '
'.$maintenance_img.'
'; - $table->data[0][0] = $servers_link_open.$servers_check_img.$servers_link_close; + // Messages + $msg_cnt = messages_get_count($config['id_user']); + if ($msg_cnt > 0) { + echo ''; + + $header_message = ''; + } + // Chat messages + $header_chat = "'; - // ======= Autorefresh code ============================= - $autorefresh_txt = ''; - $autorefresh_additional = ''; + // Search + $acl_head_search = true; + if ($config['acl_enterprise'] == 1 && !users_is_admin()) { + $acl_head_search = db_get_sql( + "SELECT sec FROM tusuario + INNER JOIN tusuario_perfil ON tusuario.id_user = tusuario_perfil.id_usuario + INNER JOIN tprofile_view ON tprofile_view.id_profile = tusuario_perfil.id_perfil + WHERE tusuario.id_user = '".$config['id_user']."' AND (sec = '*' OR sec = 'head_search')" + ); + } - $ignored_params = [ - 'agent_config' => false, - 'code' => false, - ]; - - if (!isset($_GET['sec2'])) { - $_GET['sec2'] = ''; - } - - if (!isset($_GET['refr'])) { - $_GET['refr'] = null; - } - - $select = db_process_sql("SELECT autorefresh_white_list,time_autorefresh FROM tusuario WHERE id_user = '".$config['id_user']."'"); - $autorefresh_list = json_decode($select[0]['autorefresh_white_list']); - - if ($autorefresh_list !== null && array_search($_GET['sec2'], $autorefresh_list) !== false) { - $do_refresh = true; - if ($_GET['sec2'] == 'operation/agentes/pandora_networkmap') { - if ((!isset($_GET['tab'])) || ($_GET['tab'] != 'view')) { - $do_refresh = false; - } - } - - if ($do_refresh) { - $autorefresh_img = html_print_image('images/header_refresh.png', true, ['class' => 'bot', 'alt' => 'lightning', 'title' => __('Configure autorefresh')]); - - if ($_GET['refr']) { - $autorefresh_txt .= ' ('.date('i:s', $config['refr']).')'; - } - - $ignored_params['refr'] = ''; - $values = get_refresh_time_array(); - $autorefresh_additional = ''; - unset($values); - - $autorefresh_link_open_img = ''; - - if ($_GET['refr']) { - $autorefresh_link_open_txt = ''; - } else { - $autorefresh_link_open_txt = ''; - } - - $autorefresh_link_close = ''; - } else { - $autorefresh_img = html_print_image('images/header_refresh_disabled.png', true, ['class' => 'bot autorefresh_disabled', 'alt' => 'lightning', 'title' => __('Disabled autorefresh')]); - - $ignored_params['refr'] = false; - - $autorefresh_link_open_img = ''; - $autorefresh_link_open_txt = ''; - $autorefresh_link_close = ''; - } + if ($acl_head_search) { + // Search bar + $search_bar = '
'; + if (!isset($config['search_keywords'])) { + $search_bar .= ''; + } else { + if (strlen($config['search_keywords']) == 0) { + $search_bar .= ''; } else { - $autorefresh_img = html_print_image('images/header_refresh_disabled.png', true, ['class' => 'bot autorefresh_disabled', 'alt' => 'lightning', 'title' => __('Disabled autorefresh')]); - - $ignored_params['refr'] = false; - - $autorefresh_link_open_img = ''; - $autorefresh_link_open_txt = ''; - $autorefresh_link_close = ''; + $search_bar .= ''; } - - $table->data[0][1] = $autorefresh_link_open_img.$autorefresh_img.$autorefresh_link_close; - $table->data[0][2] = $autorefresh_link_open_txt.$autorefresh_txt.$autorefresh_link_close.$autorefresh_additional; - // ====================================================== - $check_minor_release_available = false; - $pandora_management = check_acl($config['id_user'], 0, 'PM'); - - $check_minor_release_available = db_check_minor_relase_available(); - - if ($check_minor_release_available) { - if (users_is_admin($config['id_user'])) { - if ($config['language'] == 'es') { - set_pandora_error_for_header('Hay una o mas revisiones menores en espera para ser actualizadas. '.__('Sobre actualización de revisión menor').'', 'Revisión/es menor/es disponible/s'); - } else { - set_pandora_error_for_header('There are one or more minor releases waiting for update. '.__('About minor release update').'', 'minor release/s available'); - } - } - } - - echo ''; - - if ($config['alert_cnt'] > 0) { - $maintenance_link = 'javascript:'; - $maintenance_title = __('System alerts detected - Please fix as soon as possible'); - $maintenance_class = $maintenance_id = 'show_systemalert_dialog white'; - - $maintenance_link_open_txt = ''; - $maintenance_link_open_img = ''; - $maintenance_link_close = ''; - if (!$pandora_management) { - $maintenance_img = ''; - } else { - $maintenance_img = $maintenance_link_open_img.html_print_image( - 'images/header_yellow.png', - true, - [ - 'title' => __( - 'You have %d warning(s)', - $config['alert_cnt'] - ), - 'id' => 'yougotalert', - 'class' => 'bot', - ] - ).$maintenance_link_close; - } - } else { - if (!$pandora_management) { - $maintenance_img = ''; - } else { - $maintenance_img = html_print_image('images/header_ready.png', true, ['title' => __('There are not warnings'), 'id' => 'yougotalert', 'class' => 'bot']); - } - } - - $table->data[0][3] = $maintenance_img; - - // Main help icon - if (!$config['disable_help']) { - $table->data[0][4] = ''.html_print_image( - 'images/header_help.png', - true, - [ - 'title' => __('Main help'), - 'id' => 'helpmodal', - 'class' => 'modalpopup', - ] - ).''; - } - - // Logout - $table->data[0][5] = ''; - $table->data[0][5] .= html_print_image('images/header_logout.png', true, ['alt' => __('Logout'), 'class' => 'bot', 'title' => __('Logout')]); - $table->data[0][5] .= ''; - - // User - if (is_user_admin($config['id_user']) == 1) { - $table->data[0][6] = html_print_image('images/header_user_admin.png', true, ['title' => __('Edit my user'), 'class' => 'bot', 'alt' => 'user']); - } else { - $table->data[0][6] = html_print_image('images/header_user.png', true, ['title' => __('Edit my user'), 'class' => 'bot', 'alt' => 'user']); - } - - $table->data[0][6] = ''.$table->data[0][6].''; - - $table->data[0][7] = ' ('.$config['id_user'].')'; - - // Chat messages - $table->data[0][8] = "'; - - // Messages - $msg_cnt = messages_get_count($config['id_user']); - if ($msg_cnt > 0) { - echo ''; - - $table->data[0][9] = ''; - $table->data[0][9] .= html_print_image('images/header_email.png', true, ['title' => __('You have %d unread message(s)', $msg_cnt), 'id' => 'yougotmail', 'class' => 'bot', 'style' => 'width:24px;']); - $table->data[0][9] .= ''; - } - - - - html_print_table($table); - - unset($table); - ?> -
+ $search_bar .= ''; + + // $search_bar .= 'onClick="javascript: document.quicksearch.submit()"'; + $search_bar .= ""; + $search_bar .= ''; + + $header_searchbar = ''; + } + + + // clippy + if ($config['tutorial_mode'] !== 'expert' && !$config['disable_help']) { + $header_clippy = '
'.html_print_image( + 'images/clippy_icon_gray.png', + true, + [ + 'id' => 'clippy', + 'class' => 'clippy', + 'alt' => __('%s assistant', get_product_name()), + 'title' => __( + '%s assistant', + get_product_name() + ), + ] + ).'
'; + } + + + // Servers check + $servers = []; + $servers['all'] = (int) db_get_value('COUNT(id_server)', 'tserver'); + $servers['up'] = (int) servers_check_status(); + $servers['down'] = ($servers['all'] - $servers['up']); + if ($servers['up'] == 0) { + // All Servers down or no servers at all + $servers_check_img = html_print_image('images/header_down_gray.png', true, ['alt' => 'cross', 'class' => 'bot', 'title' => __('All systems').': '.__('Down')]); + } else if ($servers['down'] != 0) { + // Some servers down + $servers_check_img = html_print_image('images/header_warning_gray.png', true, ['alt' => 'error', 'class' => 'bot', 'title' => $servers['down'].' '.__('servers down')]); + } else { + // All servers up + $servers_check_img = html_print_image('images/header_ready_gray.png', true, ['alt' => 'ok', 'class' => 'bot', 'title' => __('All systems').': '.__('Ready')]); + } + + unset($servers); + // Since this is the header, we don't like to trickle down variables. + $servers_link_open = ''; + $servers_link_close = ''; + + $header_server = '
'.$servers_link_open.$servers_check_img.$servers_link_close.'
'; + + + // Main help icon + if (!$config['disable_help']) { + $header_help = '
'.html_print_image( + 'images/header_help_gray.png', + true, + [ + 'title' => __('Main help'), + 'id' => 'helpmodal', + 'class' => 'modalpopup', + ] + ).'
'; + } + + + // ======= Autorefresh code ============================= + $autorefresh_txt = ''; + $autorefresh_additional = ''; + + $ignored_params = [ + 'agent_config' => false, + 'code' => false, + ]; + + if (!isset($_GET['sec2'])) { + $_GET['sec2'] = ''; + } + + if (!isset($_GET['refr'])) { + $_GET['refr'] = null; + } + + $select = db_process_sql("SELECT autorefresh_white_list,time_autorefresh FROM tusuario WHERE id_user = '".$config['id_user']."'"); + $autorefresh_list = json_decode($select[0]['autorefresh_white_list']); + + if ($autorefresh_list !== null && array_search($_GET['sec2'], $autorefresh_list) !== false) { + $do_refresh = true; + if ($_GET['sec2'] == 'operation/agentes/pandora_networkmap') { + if ((!isset($_GET['tab'])) || ($_GET['tab'] != 'view')) { + $do_refresh = false; + } + } + + if ($do_refresh) { + $autorefresh_img = html_print_image('images/header_refresh_gray.png', true, ['class' => 'bot', 'alt' => 'lightning', 'title' => __('Configure autorefresh')]); + + if ($_GET['refr']) { + $autorefresh_txt .= ' ('.date('i:s', $config['refr']).')'; + } + + $ignored_params['refr'] = ''; + $values = get_refresh_time_array(); + $autorefresh_additional = ''; + unset($values); + + $autorefresh_link_open_img = ''; + + if ($_GET['refr']) { + $autorefresh_link_open_txt = ''; + } else { + $autorefresh_link_open_txt = ''; + } + + $autorefresh_link_close = ''; + } else { + $autorefresh_img = html_print_image('images/header_refresh_disabled_gray.png', true, ['class' => 'bot autorefresh_disabled', 'alt' => 'lightning', 'title' => __('Disabled autorefresh')]); + + $ignored_params['refr'] = false; + + $autorefresh_link_open_img = ''; + $autorefresh_link_open_txt = ''; + $autorefresh_link_close = ''; + } + } else { + $autorefresh_img = html_print_image('images/header_refresh_disabled_gray.png', true, ['class' => 'bot autorefresh_disabled', 'alt' => 'lightning', 'title' => __('Disabled autorefresh')]); + + $ignored_params['refr'] = false; + + $autorefresh_link_open_img = ''; + $autorefresh_link_open_txt = ''; + $autorefresh_link_close = ''; + } + + $header_autorefresh = '
'.$autorefresh_link_open_img.$autorefresh_img.$autorefresh_link_close.'
'; + $header_autorefresh_counter = '
'.$autorefresh_link_open_txt.$autorefresh_txt.$autorefresh_link_close.$autorefresh_additional.'
'; + + + // qr + if ($config['show_qr_code_header'] == 0) { + $show_qr_code_header = 'display: none;'; + } else { + $show_qr_code_header = 'display: inline;'; + } + + $header_qr = '
'; + + echo "'; + ?> + + __('Edit my user'), 'class' => 'bot', 'alt' => 'user']); + } else { + $header_user = html_print_image('images/header_user_green.png', true, ['title' => __('Edit my user'), 'class' => 'bot', 'alt' => 'user']); + } + + $header_user = '
'.$header_user.' ('.$config['id_user'].')
'; + + // Logout + $header_logout = '
'; + $header_logout .= html_print_image('images/header_logout_gray.png', true, ['alt' => __('Logout'), 'class' => 'bot', 'title' => __('Logout')]); + $header_logout .= '
'; + + + echo '
'.$header_alert, $header_message, $header_chat.'
'.$header_searchbar, $header_clippy, $header_help, $header_server, $header_autorefresh, $header_autorefresh_counter, $header_qr.'
'.$header_user, $header_logout.'
'; + ?> + + + +'; +echo ''; // menu_container @@ -64,6 +178,66 @@ if (isset($config['fixed_header'])) { @@ -348,7 +486,7 @@ $(document).ready( function() { opened = new Date().getTime() - openTime; if(opened > 3000 && handsIn == 0) { openTime = 4000; - $("ul#sub"+table_hover[0].id).hide(); + $("ul#sub"+table_noHover[0].id).hide(); //table_hover } }, 2500); }); @@ -371,7 +509,7 @@ $(document).ready( function() { opened = new Date().getTime() - openTime; if(opened > 5000 && handsIn == 0) { openTime = 6000; - $("ul#sub"+table_hover[0].id).hide(); + $("ul#sub"+table_noHover[0].id).hide(); //table_hover } }, 5500); }); @@ -389,7 +527,7 @@ $(document).ready( function() { }); } -- $('.has_submenu').mouseenter(function() { + $('.has_submenu').mouseenter(function() { table_hover2 = $(this); handsIn2 = 1; openTime2 = new Date().getTime(); @@ -410,7 +548,9 @@ $(document).ready( function() { }); $(document).ready(function() { - if (!classic_menu) { + + + // if (!classic_menu) { //Daniel maya 02/06/2016 Display menu with click --INI if(!click_display){ $('#container').click(function() { @@ -419,10 +559,11 @@ $(document).ready( function() { $("ul#sub"+table_hover[0].id).hide(); if( typeof(table_hover2) != 'undefined') $("ul#sub"+table_hover2[0].id).hide(); - $('#menu').css('width', '45px'); - $('li.menu_icon').removeClass( " no_hidden_menu"); - $('ul.submenu').css('left', '44px'); - $('div#title_menu').hide(); + /* $('#menu').css('width', '45px'); + $('li.menu_icon').removeClass("no_hidden_menu").addClass('menu_icon_collapsed'); + $('ul.submenu').css('left', '44px');*/ + //$('div#title_menu').hide(); + console.log('m (collapsed)'); }); }else{ $('#main').click(function() { @@ -431,14 +572,15 @@ $(document).ready( function() { $("ul#sub"+table_hover[0].id).hide(); if( typeof(table_hover2) != 'undefined') $("ul#sub"+table_hover2[0].id).hide(); - $('#menu').css('width', '45px'); - $('li.menu_icon').removeClass( " no_hidden_menu"); - $('ul.submenu').css('left', '44px'); - $('div#title_menu').hide(); + /*$('#menu').css('width', '45px'); + $('li.menu_icon').removeClass("no_hidden_menu").addClass('menu_icon_collapsed'); + $('ul.submenu').css('left', '44px');*/ + // $('div#title_menu').hide(); + console.log('n (collapsed)'); }); } //Daniel maya 02/06/2016 Display menu with click --END - } + /* } else { if(!click_display){ $('#container').click(function() { @@ -447,8 +589,13 @@ $(document).ready( function() { $("ul#sub"+table_hover[0].id).hide(); if( typeof(table_hover2) != 'undefined') $("ul#sub"+table_hover2[0].id).hide(); - $('#menu').css('width', '145px'); - $('ul.submenu').css('left', '144px'); + /*$('#menu').css('width', '145px');*/ + /* $('ul.submenu').css('left', '214px'); + $('#menu_full').css('width','215px'); + $('.button_collapse').css('width','215px'); + $('div#page').addClass('page_classic'); + $('#header_table').addClass('header_table_classic'); */ + /* console.log('o (es clasico)'); }); }else{ $('#main').click(function() { @@ -457,20 +604,26 @@ $(document).ready( function() { $("ul#sub"+table_hover[0].id).hide(); if( typeof(table_hover2) != 'undefined') $("ul#sub"+table_hover2[0].id).hide(); - $('#menu').css('width', '145px'); - $('ul.submenu').css('left', '144px'); + /*$('#menu').css('width', '145px');*/ + /* $('ul.submenu').css('left', '214px'); + $('#menu_full').css('width','215px'); + $('.button_collapse').css('width','215px'); + $('div#page').addClass('page_classic'); + $('#header_table').addClass('header_table_classic'); */ + /* console.log('p (es clasico)'); }); } - } + }*/ - if (classic_menu) { + // if (classic_menu) { $('div.menu>ul>li>ul>li>a').click(function() { openTime = 4000; if( typeof(table_hover) != 'undefined') $("ul#sub"+table_hover[0].id).hide(); if( typeof(table_hover2) != 'undefined') $("ul#sub"+table_hover2[0].id).hide(); - $('ul.submenu').css('left', '144px'); + /* $('ul.submenu').css('left', '214px');*/ + console.log('q (es clasico)'); }); $('div.menu>ul>li>ul>li>ul>li>a').click(function() { @@ -479,9 +632,10 @@ $(document).ready( function() { $("ul#sub"+table_hover[0].id).hide(); if( typeof(table_hover2) != 'undefined') $("ul#sub"+table_hover2[0].id).hide(); - $('ul.submenu').css('left', '144px'); + /*$('ul.submenu').css('left', '214px');*/ + console.log('r (es clasico)'); }); - } + /* } else { $('div.menu>ul>li>ul>li>a').click(function() { openTime = 4000; @@ -489,10 +643,11 @@ $(document).ready( function() { $("ul#sub"+table_hover[0].id).hide(); if( typeof(table_hover2) != 'undefined') $("ul#sub"+table_hover2[0].id).hide(); - $('#menu').css('width', '45px'); - $('li.menu_icon').removeClass( " no_hidden_menu"); - $('ul.submenu').css('left', '44px'); - $('div#title_menu').hide(); + /*$('#menu').css('width', '45px'); + $('li.menu_icon').removeClass("no_hidden_menu").addClass('menu_icon_collapsed'); + $('ul.submenu').css('left', '44px');*/ + //$('div#title_menu').hide(); + /* console.log('s (no es clasico)'); }); $('div.menu>ul>li>ul>li>ul>li>a').click(function() { @@ -501,12 +656,13 @@ $(document).ready( function() { $("ul#sub"+table_hover[0].id).hide(); if( typeof(table_hover2) != 'undefined') $("ul#sub"+table_hover2[0].id).hide(); - $('#menu').css('width', '45px'); - $('li.menu_icon').removeClass( " no_hidden_menu"); - $('ul.submenu').css('left', '44px'); - $('div#title_menu').hide(); + /* $('#menu').css('width', '45px'); + $('li.menu_icon').removeClass("no_hidden_menu").addClass('menu_icon_collapsed'); + $('ul.submenu').css('left', '44px');*/ + // $('div#title_menu').hide(); + /* console.log('t (no es clasico)'); }); - } + }*/ }); diff --git a/pandora_console/godmode/menu.php b/pandora_console/godmode/menu.php index 69ec49cfce..47d298cc84 100644 --- a/pandora_console/godmode/menu.php +++ b/pandora_console/godmode/menu.php @@ -54,6 +54,7 @@ if (check_acl($config['id_user'], 0, 'AW')) { } } +$menu_godmode['nuevo_texto']['text'] = __('nuevo_texto'); if (!empty($sub)) { $menu_godmode['gagente']['text'] = __('Resources'); $menu_godmode['gagente']['sec2'] = 'godmode/agentes/modificar_agente'; diff --git a/pandora_console/godmode/setup/setup_visuals.php b/pandora_console/godmode/setup/setup_visuals.php index 36d1db123e..b2f5f91c5f 100755 --- a/pandora_console/godmode/setup/setup_visuals.php +++ b/pandora_console/godmode/setup/setup_visuals.php @@ -227,45 +227,65 @@ $table_styles->data[$row][1] = html_print_select( $table_styles->data[$row][1] .= ' '.html_print_button(__('View'), 'login_background_preview', false, '', 'class="sub camera logo_preview"', true); $row++; -$table_styles->data[$row][0] = __('Custom logo (header)').ui_print_help_icon('custom_logo', true); -if (enterprise_installed()) { - $ent_files = list_files('enterprise/images/custom_logo', 'png', 1, 0); - $open_files = list_files('images/custom_logo', 'png', 1, 0); - $table_styles->data[$row][1] = html_print_select( - array_merge($ent_files, $open_files), - 'custom_logo', - $config['custom_logo'], - '', - '', - '', - true, - false, - true, - '', - $open, - 'width:240px' - ); -} else { - $table_styles->data[$row][1] = html_print_select( - list_files('images/custom_logo', 'png', 1, 0), - 'custom_logo', - $config['custom_logo'], - '', - '', - '', - true, - false, - true, - '', - $open, - 'width:240px' - ); +/** + * Print a select for the custom logos. + * + * @param string $name This is the name for the select + * @param string $logo This is the option in $config (path) + * @return string Print the select + */ +function logo_custom_enterprise($name, $logo) +{ + if (enterprise_installed()) { + $ent_files = list_files('enterprise/images/custom_logo', 'png', 1, 0); + $open_files = list_files('images/custom_logo', 'png', 1, 0); + + $select = html_print_select( + array_merge($ent_files, $open_files), + $name, + $logo, + '', + '', + '', + true, + false, + true, + '', + $open, + 'width:240px' + ); + return $select; + } else { + $select = html_print_select( + list_files('images/custom_logo', 'png', 1, 0), + $name, + $logo, + '', + '', + '', + true, + false, + true, + '', + $open, + 'width:240px' + ); + return $select; + } } + +$table_styles->data[$row][0] = __('Custom logo (header)').ui_print_help_icon('custom_logo', true); +$table_styles->data[$row][1] = logo_custom_enterprise('custom_logo', $config['custom_logo']); $table_styles->data[$row][1] .= ' '.html_print_button(__('View'), 'custom_logo_preview', $open, '', 'class="sub camera logo_preview"', true, false, $open, 'visualmodal'); $row++; +$table_styles->data[$row][0] = __('Custom logo collapsed (header)').ui_print_help_icon('custom_logo_collapsed', true); +$table_styles->data[$row][1] = logo_custom_enterprise('custom_logo_collapsed', $config['custom_logo_collapsed']); +$table_styles->data[$row][1] .= ' '.html_print_button(__('View'), 'custom_logo_collapsed_preview', $open, '', 'class="sub camera logo_preview"', true, false, $open, 'visualmodal'); +$row++; + $table_styles->data[$row][0] = __('Custom logo (header white background)'); if (enterprise_installed()) { $ent_files = list_files('enterprise/images/custom_logo', 'png', 1, 0); @@ -1234,7 +1254,7 @@ html_print_submit_button(__('Update'), 'update_button', false, 'class="sub upd"' echo ''; echo ''; -ui_require_css_file('color-picker','include/styles/js/'); +ui_require_css_file('color-picker', 'include/styles/js/'); ui_require_jquery_file('colorpicker'); @@ -1470,6 +1490,11 @@ $(".logo_preview").click (function(e) { icon_path = homeUrlEnt + "images/custom_logo/" + icon_name; options.grayed = true; break; + case 'button-custom_logo_collapsed_preview': + icon_name = $("select#custom_logo_collapsed option:selected").val(); + icon_path = homeUrlEnt + "images/custom_logo/" + icon_name; + options.grayed = true; + break; case 'button-custom_logo_white_bg_preview': icon_name = $("select#custom_logo_white_bg option:selected").val(); icon_path = homeUrlEnt + "images/custom_logo/" + icon_name; diff --git a/pandora_console/images/builder.menu_gray.png b/pandora_console/images/builder.menu_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..9c3b0b6ff3ac42c9a5aa5e755ee2c0530a81ad85 GIT binary patch literal 330 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1GZ#-QbLn>}1r8qDNi|dv%1pQukhua~Bu+QK?nt(^5 zvPkosw;gKx1ytBX&0DJYpBS-;rGz@LDl|)Vd=%H%(6}zM46OS}ZIc^subVG!3medo5uX4;gFY=$x-oT)KdjWTVPD6^qMFxcf Z4DOZA>o0rNN&x-M;OXk;vd$@?2>`Y+ZzTW# literal 0 HcmV?d00001 diff --git a/pandora_console/images/builder.menu_white.png b/pandora_console/images/builder.menu_white.png new file mode 100644 index 0000000000000000000000000000000000000000..f08ba661e9b3b11b696ea142b9cfc73256b1d62a GIT binary patch literal 294 zcmV+>0oneEP){?ic{p(Atz zMsWm2aD(auj({7$2yUQGP#?*?_)u;Eb%^J){(sE~?+#+Lujq)3F~^UN5KH28 zznbc@=LtyO%jQ{0prbiVp;6;a(d3jGlEY>ZS7XSDcE+%KT$H#{d8T07*qoM6N<$f-8D@U;qFB literal 0 HcmV?d00001 diff --git a/pandora_console/images/button_classic_menu.png b/pandora_console/images/button_classic_menu.png new file mode 100644 index 0000000000000000000000000000000000000000..edbe81cd69727b27b095c669dc874fc01ed1784a GIT binary patch literal 745 zcmV50000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!i%CR5RCwCFSlw;HKnx}~LAn7%2Yi&ZRLal!YbNP=eD6U zqQky>(jCeW_ct_n`jQ-cOCt~v_t!P-V9V<^x4M9M!?US!1tz4Kl>i!gu#=dE8|)M- zk|go?Hf{_IJ5FLTZfGSpEIjQ7fF!rZ1c#(fFlh8{K=2s)opTHh&l2T57?J*tM%4P# z9f3%H2RgMsS>iq1>NiaQ5tD-LaUH6r6;rC zVD~HpJL?;j^^7Ax9Uw6d=X`!DTm$);?b_ap1`W@@GS{wr$PS#baHTls#{UGQKz}VK z7^Hl_0a*iz9Ma^-*^z6x=0+*+Pc-)~qya_w&croWf1?zJwvLmR-?j6S@93^Qbc_pG z*@hy;?&f%Vh!xXXTJbbuSzR{qK10`uk>}~2W6RhCzt2?Ulcm3lY$f50000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!nMp)JRCwCFn9*^43wwo+V3`ohE^;-|r9M z!+|`3+>>ytNIpRJhr?kXGIweOK!p>K5l9{|e+{w%Sprzy2?iig@f2j<(1k6*O* z6ac;b2?jvW6{VUSC*6X)lN;)W1r#99WJ%dhAY&MJGQ-fmSSyz-tmal=bF!{n(7*?j zHh`4Y)fk~1EzY$8rJg}MVUZ2UEW{dDtW=T<8K?(ySHEDW^HJ=P4RjnQksIjQ37`|` z=<$D<=rPjC zcr6cw*%AcjhaDXwFQrKKz$fVLb>(I?8fUqO14^hAcd zYgY~9_^v(llnXCSIVd%(?u~8_xuIGsTAoJGs>>MfGkl$RwVdwi$z(-EShx3?mi>h0 pec4S literal 0 HcmV?d00001 diff --git a/pandora_console/images/clippy_icon_gray.png b/pandora_console/images/clippy_icon_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..e7ac2b967adfbc7dc57b9aca3b8ce9c8614a9a56 GIT binary patch literal 462 zcmV;<0WtoGP)Q>nTT#h5vNP)G0U<|vv%YG2XHNd6M%A2NJr3uj%u?V;4h*JM9eYlPNFaMH`Z|j zGr|CRX5?!%x75MlD6M1kW6=^I86ScpKVJyQWe3-6-`IwP&-cJzIgFf>EU;WvP2;Ey z-%yeDsG^XL0I0AtnOliw3Vy}koXYf6MO?9uN_tSor{Ty~ZjX!_Tb~k8spCSzW9gm~ z9J5TPT=Hp-gm1UruJZ%y5lB4pg)`#CJ02A)$4MG*|L;wH)07*qoM6N<$ Ef>j;O2><{9 literal 0 HcmV?d00001 diff --git a/pandora_console/images/custom_logo/pandora_logo_green_collapsed.png b/pandora_console/images/custom_logo/pandora_logo_green_collapsed.png new file mode 100644 index 0000000000000000000000000000000000000000..73f77dec8f7a6839e9ee0c97f8c1eccc23595c29 GIT binary patch literal 2468 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 literal 0 HcmV?d00001 diff --git a/pandora_console/images/gm_alerts.menu_white.png b/pandora_console/images/gm_alerts.menu_white.png new file mode 100644 index 0000000000000000000000000000000000000000..6eae2f3b317a6b50b0039edba14cc58d310fb5ee GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1Gt36#DLn>}1B^+S>_y7O>|ME=Fj3;n6%o6^$xQR(YOyMX4 zv%Up1jGptUwqUJa074yMqmX0BY%^o0a`Bk103AnuiRBdR@|SjGcH@GgR0Yh z_l*K0cAlkBLr18FaT#i)+ysinsD=`zGLU_|L?|qvqe-Bs6+i2nL+I9opdg75B~I}= z)TrY&oZeh zNoNGaB!k{GljjtR_j3bjk3dQyO_R(bYupB?xgY2u>q*v55_!n%F4u-kg$&!sv5DM< z#34ownTZX@W|+S?^mLDy3FV6SKNT&Ek!=nOEH<*ta?)L7rv3s90ONja(4?%5Z~y=R M07*qoM6N<$f(pQvzyJUM literal 0 HcmV?d00001 diff --git a/pandora_console/images/gm_configuration.menu_white.png b/pandora_console/images/gm_configuration.menu_white.png new file mode 100644 index 0000000000000000000000000000000000000000..a82ece6578589b10638973881e1512b0fb469cb8 GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1G+dN$yLn>}1B{(qs|Nmc~;n80Q8~F}di4&|2XW1P7{Ih2| zvwT@1R>Gap9Hn`_dQt|_>=9piR5CD>u_(CV;mLi;BDpv5H$x|RusIkqN@&Af~p1`OG2 WK80pQlq~@IfWgz%&t;ucLK6V@q+vh+ literal 0 HcmV?d00001 diff --git a/pandora_console/images/gm_events.menu_gray.png b/pandora_console/images/gm_events.menu_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..aee937f912409d601bd62a3f7fc618d9dbe38221 GIT binary patch literal 321 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1Gk3C%+Ln>}1r8qDPi|d9n1buG2!O+2aVTttT$4b%?8yLiN zk`$O_BsMg&S{#v_v7zJUVAo4>3h~oWzqIzU&@`v$!1? z^EgUlZ3N<39&tM~^FQ#u8F98PZF<#;#03f;+{mdKI;Vst0H#ZB)&Kwi literal 0 HcmV?d00001 diff --git a/pandora_console/images/gm_events.menu_white.png b/pandora_console/images/gm_events.menu_white.png new file mode 100644 index 0000000000000000000000000000000000000000..43e8c157c86bf713a8734cb810fb1904109e3263 GIT binary patch literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1GyFFbTLn>}1B{(qu|NlRn;n81*KmY92G7=QT7)06s9Oo4& zc$s`iDXri6Et8wuG4>@pGVE8bJD4h9W-vd*S!RR8r+E_B7qm}g6f+g}Kg}z9T7uB>@~fv-vX~{%E*ju**N^lH!v^PFWHq3@?`QUNKlPaY_uM bKmx}1B`gq1a1o!eBV#A?gjxJYxLCf#F(e)Tv*QH6 z1REo-CPUEQfOm{GZ5#|688;>NWa!=GKcXNl)Hq4{gC+Y4xhJn!W+eJ#_~o|T+Rzv< zgW;+Q(@NHW>1WefX035>sW@OFf8f!k{|gcl8rjw`8?rH)S|%Cuu*_H?`gbv#Alrh7 z*&IjMJ45OlU+i(?Vo+;m$@s*$Tsful>je{5FMaV26P7cnj+5&d&QAE<$ff?suwA}` zdqGaYzLX=AB|8}voW&mSC@)B43z+_pnZKdUrlF95iHG6Fc8^=U-fsVao@DTJ^>bP0 Hl+XkKZU$`{ literal 0 HcmV?d00001 diff --git a/pandora_console/images/gm_resources.menu_white.png b/pandora_console/images/gm_resources.menu_white.png new file mode 100644 index 0000000000000000000000000000000000000000..130b63ce3d7dd0680693de4a3da73f447d83982a GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1G`#oJ8Ln>}1B`gsA@&EsRW`XV-Ncy2BjD~`Pru(gqR%eFdSi1VPQVA;cJhB6Qjm5 zhaR^D;(Q5)Z|p538ovDde}tJmhpq8U!lJO8ekm7;4GbS$6zn{f{NmnnYC7kJ7w*#| z_|Gb_sYoy}G3sP|;$I*sG{r;xkzu=h2ls+EE(u-t8}$DRFbi!EQ}$?+bck)^w_(`z fgt3QNAc3L(7<=Tk=JbA`R~S59{an^LB{Ts55`}Zw8Eu6P(x87 zYe<}!X-!A0y+BLEoY>kv6A;WR35hvfUi%YZ0RL+Q#!w*dhX4Qo07*qo IM6N<$g1GK_kpKVy literal 0 HcmV?d00001 diff --git a/pandora_console/images/gm_setup.menu_gray.png b/pandora_console/images/gm_setup.menu_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..339fb5684f4c80a6ab414f091469192113dddf61 GIT binary patch literal 426 zcmV;b0agBqP)7eEQn0ja=H zLCiCs5LaNkg4B=-?8zt3*cF5hOe%nMKnYoSRvG0ugRPkz#QC(WPJ51AAl}|TUht@a z9LP4$PXpKGJ;(dOuZdkamOud{z?LME?*+&^AhiXHD?~pg-=Jto(wu8TGK`2QIfdjS z^V;l5sLsYw+tr9j)OlY?+;qsk5@hWk5f66n?hher+3qgp1P&7gE#XIE2J(2B8pzht zcVP1xzdZ;fpOP1QU-+lQ`h|Jp?df?|)q?)mn$g}9JxCf=bOv4nigFG@-M$LgAf=GY z)IRZCO?*|`DXyskDly~<_~v3wKiMc|+LQf7`3f>1Y`pe-;I9{(0u$#fX(2 zvYe4z7hjRc>^w6Ll&>u}C@gRJ8|hU#%~;NvaYTe7@kPeMomp=uqb_pEe(mpceac#_8$03w=;g<`pw6MoNUrWYl6qc7I# zbH!ryrD8)*p;Z*hm0hGg97<%$lUOJEjeCnh61QhM2FG~R*ng14KxWijjR^YFekyN3 zz}(4vS14#EpqDy^dpq*krH*ka=FNFLt+fw5F*j#mv3IBMikW#S&Vq}I3%6SPe08F9j UjorF>N&o-=07*qoM6N<$f*G}fHUIzs literal 0 HcmV?d00001 diff --git a/pandora_console/images/gm_users.menu_gray.png b/pandora_console/images/gm_users.menu_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..a0bd6a2d21f71735e1107674abf4d182e51cf144 GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1Gmpok@Ln>}1r7$#gc284hSXsgL>A;~sJ5I3r1n`{@U^e10 zY_M!#_58qeA;mq&hw)d6eb3n=4yp&5j+-$mgz_KZ3|PqOaEGJhEBhoKrlvX-XNLt0 z9gc14Nx?nmvpHS50?m6qNR~8s7~WxXWUf*Yuy+t*+o;a;RHVa*Ba1_$_6++Y2Zgeh zM-D4))UA+e+8EX_<<$9RA*~>-w1#6b_Em2ZjWy)F%^cYIj}1B{DSq|Nmc|VPyr|rvpxIZpT=C0{Bh{FdOk0 zHdr>WdVXNKkm4TX!}u%3zUS-_2h{^D$ITcO-myRW9>9~t{UGRk)A31l3Vsfc#2E}v zEO40=(~`zvXK2+bC?KN{#IxP;g2P;nBm5Iu9N%<0Sh6l+lFs7LsBJK@aAKBVv2!?T z&u~?O>GBL%P^d5t!tDnm{r-UW|Rv>3C literal 0 HcmV?d00001 diff --git a/pandora_console/images/header_alert_gray.png b/pandora_console/images/header_alert_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..13a2172a920f6bdb95d523ac8577a5c79adc39f1 GIT binary patch literal 458 zcmV;*0X6=KP)>k=V}*WTmHt_1l?!pV>8&z^Lmw z#ZiNTLG zZ%_H~;(I(IwUF^0k(955;Ox3b?xFBR+3(shn23rGgvU(i_)B(lO$ z@C0XrR|5050A|^Rf9h7;>aEc6WU=g+cw&)w$fJ4eKbf>l)^3tZNgEV5e-dKZ~SVWl48ZE*{60v@aFaC-m% literal 0 HcmV?d00001 diff --git a/pandora_console/images/header_down_gray.png b/pandora_console/images/header_down_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..0cfebc477a6a175c6fd68c08a5210f4b9239642c GIT binary patch literal 364 zcmV-y0h9iTP)I}0P+Gci))@u~+1<#@4uORC7|16;UDug0rp0<#p_K|w?^aN(Um^hwTp|H2oGXD8I7b4sKv!CL zL~^y-RV-CeQN+HV)KrO8IT+`~HQzJ2rQI!N) literal 0 HcmV?d00001 diff --git a/pandora_console/images/header_email.png b/pandora_console/images/header_email.png index 0d45c72d468f3d3bb72b2b08b9068a5b36849994..c5d41054a28cd528dc885974bcdf5390c2be345e 100644 GIT binary patch delta 444 zcmV;t0Ym=Z3fBW6iBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzee*t+( zL_t(|+U!)zZG%7%1>^$UL6Q#a3SugV-2qe(IB`sJJj12}E)laRauzE>i@ z0V1FffqSNOLN*2BPsG(Vtk^Fle|`dDmiriJ&FDq-9WO>#kV_S6-~dS3Tk%2fy^vxh zHY5wkyMrl*HdySJ02UnF9uQw(V>yF7;gC3zJGk&94!MT&g)Gl}z6lM=()ed%MM-4Y}BXf7vY;;Knn_ zVq$Ba_nOU^NH9WPlQ2dZUImEngqY8c!=NJ3EP)|%)04(dN>8L55(zGldwSBTdtgM` zA(4ItU*ZA=?w9Dk0M0v#_MGuzz8IF6a1z`a3-y|na7TWph+G(fg)M#Is&!UgVScLx+c zU~3$fNiz1q_>yQq7c)O-rin2bBx7!g%sDqr7NaJzY!TuxtIITuL8(_pnIFVUF8BQZ z`Tc(X*XKrqEiV+A_m}|yMSh>BRsTMvzoq#m0HB&5zZ=nwr!{X#Ym*|{0Hbig#Y&wV z>=&3Wu9aih!Q)prI{=0Qe0xX>1rAYRNkEwl28{}`&IZ8ljLJ;7htuFru8S8PNOI}| z0`sf`Ibsdq0ol!U^S&X4Ya4254-fT(Z7kw!gzZsE7Z5m&fulmNs8Ue}vaU<%=ZqUe z;B|=B<3JuK6$%7lx1?~e6~$}A_(1|bSdS9*xUJq+1Cuy`V+4ue4YdSLSsN&vfHxjQ zkEXB@s@2oH5lgomNVlfR6ow5944?ybsHAjZgw1Bda1tZQS{+fV4vHERtrgYEtb&JA z!wN5Jyd=UIMW$2g(;SGN>EjXvc~e$YH`=5(42v={Mxc16q%1HH_rYD1CM*FW( zXI=XKWR9DQs~elE&x!iJEBa#h)7DS)yY;=_<7$uo+_{=gI}L@n>-Us%c=h4+M2*2h z%f-He@stywITji>H4&C`u|x^|XL8O7!I6h+si{gDOun7yT^K&wzq=p22pJdBYpHFK z>A?pP=hZKzxnl6rJRs+nl5-tnHxI?YSI;GiX6%KnWwH5u%gZH~lkt|hlD1j!*VRYP zSJrC4azUa2{8UIcIHF7U-kVujN><#1ls&QYwE5hz>gwuWfQ3FVb-LB*ycw;-tKt_eoL?WOc+9{dGFPw(G7zQWx9I_9ltyfo+j?U8F=aGyaf zt9t*Usq@-m@Uz^pv9Vo~7opNSdACo|^M;A29Y0pqadhWvaZ|Zv#}1W^&p#`#8i=#g zKBM`j;doB4^7GtTmyzs%ZcMyEpD#bN>mySyjK{4_!pC{f)U&y>BNK6BRSHTNCf^y2 f-@P(28vh0Ws%(FAqy5g#%rDRHZSj2C)bZ*+t|r?f diff --git a/pandora_console/images/header_email_old.png b/pandora_console/images/header_email_old.png new file mode 100644 index 0000000000000000000000000000000000000000..0d45c72d468f3d3bb72b2b08b9068a5b36849994 GIT binary patch literal 1375 zcmaJ>ZA=?w9Dk0M0v#_MGuzz8IF6a1z`a3-y|na7TWph+G(fg)M#Is&!UgVScLx+c zU~3$fNiz1q_>yQq7c)O-rin2bBx7!g%sDqr7NaJzY!TuxtIITuL8(_pnIFVUF8BQZ z`Tc(X*XKrqEiV+A_m}|yMSh>BRsTMvzoq#m0HB&5zZ=nwr!{X#Ym*|{0Hbig#Y&wV z>=&3Wu9aih!Q)prI{=0Qe0xX>1rAYRNkEwl28{}`&IZ8ljLJ;7htuFru8S8PNOI}| z0`sf`Ibsdq0ol!U^S&X4Ya4254-fT(Z7kw!gzZsE7Z5m&fulmNs8Ue}vaU<%=ZqUe z;B|=B<3JuK6$%7lx1?~e6~$}A_(1|bSdS9*xUJq+1Cuy`V+4ue4YdSLSsN&vfHxjQ zkEXB@s@2oH5lgomNVlfR6ow5944?ybsHAjZgw1Bda1tZQS{+fV4vHERtrgYEtb&JA z!wN5Jyd=UIMW$2g(;SGN>EjXvc~e$YH`=5(42v={Mxc16q%1HH_rYD1CM*FW( zXI=XKWR9DQs~elE&x!iJEBa#h)7DS)yY;=_<7$uo+_{=gI}L@n>-Us%c=h4+M2*2h z%f-He@stywITji>H4&C`u|x^|XL8O7!I6h+si{gDOun7yT^K&wzq=p22pJdBYpHFK z>A?pP=hZKzxnl6rJRs+nl5-tnHxI?YSI;GiX6%KnWwH5u%gZH~lkt|hlD1j!*VRYP zSJrC4azUa2{8UIcIHF7U-kVujN><#1ls&QYwE5hz>gwuWfQ3FVb-LB*ycw;-tKt_eoL?WOc+9{dGFPw(G7zQWx9I_9ltyfo+j?U8F=aGyaf zt9t*Usq@-m@Uz^pv9Vo~7opNSdACo|^M;A29Y0pqadhWvaZ|Zv#}1W^&p#`#8i=#g zKBM`j;doB4^7GtTmyzs%ZcMyEpD#bN>mySyjK{4_!pC{f)U&y>BNK6BRSHTNCf^y2 f-@P(28vh0Ws%(FAqy5g#%rDRHZSj2C)bZ*+t|r?f literal 0 HcmV?d00001 diff --git a/pandora_console/images/header_help_gray.png b/pandora_console/images/header_help_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..faa7815a3218b3d92270ff2017c6b318c6d10771 GIT binary patch literal 498 zcmVqr!KX94C z67T~`I_wuDu3QpISCAKAs8gBTsE_OUCnOALgJgW>pSC6mZc8EP@35zu)zBlzI|M9;k;QF&bsfF oso4aFxiW8Z=@0$49>b01Gt?0j9$BKuQ6K9f9%qffhd42u+3ip-G;)7ClM#2mBOzN&&AAfL<;nBQ=3a1P7=uz$uDqaR4=ZK9b=Vs20h% z45wx)ipOR+)p9Zr1VZEO15JtwYzEVK&wJl)8Qt4lSR{FRq tpbh9Lg`fpUmh=O00JI9FO0xwZzyMMsSZD|w>v#YF002ovPDHLkV1h5Wd8z;a literal 0 HcmV?d00001 diff --git a/pandora_console/images/header_ready_gray.png b/pandora_console/images/header_ready_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..9aadb340d5eb710fa94188b3205ba9a20ea3de15 GIT binary patch literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gjk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XHha1_hE&{2N|0b>W;}KJw5Wr`k+emP4>=uP*$K>FzKb>B z@N?yE!;2?A@H@QWNHVx|>chEn=eR>QGR%J{676uJpi4*LSivS;g=+;nSRHuZFZ|=Q z;1KH-BN^M7Tn#2pybHP>o)8mJ>P+0)B6HZWLDEIWw(3h$Z|_-W1!D#+Ifh5gM>Gv( zlqYRW`RX!b{Ru;vY^_6K^Co0l*mO)_oc2KJcEK94gpDmZhdozWxG|n(aA;s;NZV4O UtI~G=7SQ<&p00i_>zopr0NX2Oo&W#< literal 0 HcmV?d00001 diff --git a/pandora_console/images/header_refresh_disabled_gray.png b/pandora_console/images/header_refresh_disabled_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..abe7de6bea740fe624a4ef70fb02847b77cda588 GIT binary patch literal 485 zcmV@&3krW=v&FpAopKez==`M-_Sy`5A z;LZFVpIDS(xCL?`Gky<157bpvjTjT+o6Q`7#jyca{4_GyE9Vy^O*!9jTmzRRwC{kb z_f*pXTPzqHLWE?)z{*kzIwsJ9i`^h_=Q+NdyLe*I)aDl($D)EST&gvb+}v66GFo#0 zf`$vc%71G!2AA!bzh4_oMg$bPa$nOIr%cK=$abu>ORCH@zn)jI_FVuQL9fo7idy1N b_9?&sQ6P)B9xYC>00000NkvXXu0mjfESbt> literal 0 HcmV?d00001 diff --git a/pandora_console/images/header_refresh_gray.png b/pandora_console/images/header_refresh_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..35c8893b01b4f38ec603fec0a62d7e680080985a GIT binary patch literal 490 zcmV3PgmK3Mhd?UDp}+rk2iGybj_ymK2zAOUMe~1WZUYH;lalZ}J0!aqkU4 zzQH0_ZGat+;ZW70Cmt`Tn{&J94G|7~VA;~+WgD>}3Bw{G+H@%eR=hQN4Dx2+UAHu# zthc#-177#Yy~h#cqb0DeyLL%##{L^Psym3!@JQP29XT5Te@u1d8^!VC$mxpVz8L7t zfLp|VLtoubCbogdv4PXs0IpQ9Ex5`^-J_aI9l*$gL(f-cU-BH+lkNx=oPO?|2S$A; zhH;FfOwnEIJOF7zC0pVlBSxFwLwDIV4`#-<5FVtvjv!Cj&!iKt$JT*l!&6@Y%8l8> z5;}C%=Dn5~oYRYyF&0bWm;Wz(pQ)aFApYtdIA-oL3u0+phM~mLD;dJ9uf+!~jjGXx ga8P@Gv-}G%0Hphl5kmO=9{>OV07*qoM6N<$f{=jLf&c&j literal 0 HcmV?d00001 diff --git a/pandora_console/images/header_user_admin_green.png b/pandora_console/images/header_user_admin_green.png new file mode 100644 index 0000000000000000000000000000000000000000..82a225f790faa0c7a0426007e588afaddd722bad GIT binary patch literal 665 zcmV;K0%rY*P)e0qiV8d`Mz-fG3FsP5-U@!?p?-k>+m^m@Y zXa^~qf+Yb@1!HMz=w+FSqcD6y-`1Gtm{pjO_Lo{FH|WbmRPg#Sr{-&icVM_>)gO%E z@jXIJ(RT*^&q|~SNhbJG{bAKIiZK>tvLiUfhGlOm0-kNpE%l4wrU@+d9Vr0rbq(v3 zg-Zbv=$${Z50i!%}h+=B6@(bp%RS z&d}(otFwqE;ua4#$$|hXYqR?|hwG0p9iM~Eg)Ej56$UQa(qUoRq~jf5{Gr zB?f@i**$2!)gUpM><8+6wBfzihTdlv?wjZIyT$V-;Bj4&mmgCu)MM>xDkDXbZ_O~! z#8@0AVsUuwHlgu+l~TsKr&gBGs^)~{8rXGE7zC2+$)$~B5UnTjQ9k;TkxMLP7Sr+h zz9bZgq$Bo^?OO^M{i7f9wXP)F}N^d2XID@7l3x8CxB@n{?5(|(ixnsB}cIUz5;kdTG6Jj zfG9VJlBUQhOxb=}2OO z;V0?bVqSukPdN9r70H40mWe8?ZxC8%ZC*sMeRjBv^n4z(Mr zmMH=(j%1+_;>lr~2H?4DUb$Zsnr3j+caQ_J&4qQ2B4-B)>G_ZBeQDzEj+Dn{n1JUz zKLz%Qz<}550PwX`AUbUdOf$#k-57JT$%GX53Kdj%%B}ISA8Ej!PG*1{RU=93SU(G$ zZ&o1pSF6CX*R3r`;#wyl*Eha;dh;&g8*zrqO|wXFeIGn&csKVLmtCpT7h5+cM={4F zd-SlE%Cthk95HxmY2a)T-X+qA183q42$~JPp`XG@9ta#h^gX{VnRO;Xzb)Sa3;^BP VyAS;NNc8{!002ovPDHLkV1mpd?C$^o literal 0 HcmV?d00001 diff --git a/pandora_console/images/header_warning_gray.png b/pandora_console/images/header_warning_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..ca9954d54f66e5df51f0781d6ef2a1e47b7f40ff GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`Gjk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XT0C7GLn>}1B`7dXnLb^cVI!kv)eH#_=I4$Q8J)~)bp#Xw zZBL3B^h6nC9bCb>SWJLTe8Csywm=8n10GJfY^zQ(Ex5xvckW#N6={qsR<&G9+ragl zSwLDSnRDYx4aT)*!VaH!Lv;>3yTpHGO9FF{9K&<=gbz9ks=64qs(EAvHZV9eFfz#K W%Wn4&-*^q^9tKZWKbLh*2~7agqe&$I literal 0 HcmV?d00001 diff --git a/pandora_console/images/input_zoom_gray.png b/pandora_console/images/input_zoom_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..002e397e8a9f54b4ee2f4a5526d9c41475fba7c5 GIT binary patch literal 416 zcmV;R0bl-!P)I@>bmy=PmKH@(n+{k-5MlX+&FOm3oaftsEbk;D$&EkBr5!GpUXVR3p=*uvOBd0N zQ6=?_=>f|=!=${KE_1@etz?3OwHZKFRb?2468sbPf$zWOETFK0of(H8W|U}W!0tS> zCPQF3qNAgBPa?-|yn;K|7Lif&G8R*=wI-4@=Q_<1Sg_1e6J^}*$1t$V5;XP2PN`AC zOG6|wYv24lwusn;W(d!?e1N&0Os=Xqb>Cb2;?z1`%GsSMHHp-FlfCG(Y^K|KQJs2I zepVvEi9}aEsVA8o&?92x+8`>>COon{c$bLUESu-@FTeoQPIx}(h_w>{0000< KMNUMnLSTZFrL`#l literal 0 HcmV?d00001 diff --git a/pandora_console/images/links.menu_gray.png b/pandora_console/images/links.menu_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..c390e9a268e0e03d8968a3bc1040eb9b735aa10e GIT binary patch literal 387 zcmV-}0et?6P)tM-p+q09_zBj%n8*D`G?`?U{B6r-=aj0Z;*ZX4_7LOBt+O+<>482iQw#v+!ui z$kXv7eUjCx%xGy}7qY!DThDzfQB9}Sm-CQGbaD;^GO0VCXV!6B#&5|$s<;6K0yi%r zk_m~F*HfbWwLF71oOasZXD?nlQ<8ap>{cSJvs(49;cupNR^=+4 hO-T?0`6PY_FaYIpZcR1-;q zNHk%vQ`CTq{2!tYM0&1}(1I+LkYsB+gN)-UA-eFF0kv(2Ck|{O=B#i|-yF!DG{rqDOa(Nx3rYvJv_k zYU8;v2GLM^u9*(7Sj!eZl9Y*F9pN8m$oGhi0t^6s6&eS0Nnh^(0000}1r5s>X(~FX0SaR+0gt9aJ-8Kz62aYsI|9C90 zzafu9v00{|Lp(`1<;X)_Muo3(-B%bFWXo)PnW%Kpw0Fmx{?iJ~GV3fIRylrKvV$#N z;_q>>Xoo+HQrQxW=bDZRFbnPJzMicRE#7dbWeP+3k#z10rN1vG6)<0jZd}4*#;n;n zF{D|HA@*}aP_x~GVqQ%)UzT0Zn3u9O^2~7X5Hw^H6)NIQ{I3&r&tXke0|PU|wjP6> Ux)x95f$nGUboFyt=akR{0Eru6ivR!s literal 0 HcmV?d00001 diff --git a/pandora_console/images/op_events.menu_white.png b/pandora_console/images/op_events.menu_white.png new file mode 100644 index 0000000000000000000000000000000000000000..b2cadf90ea5baeaa8cc4c088f9670b01270f4027 GIT binary patch literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1G^E_P~Ln>}1B^+S<_y52A2YK^?1O+h$(euX>PgJr6F$5g0 z&D!C{(60E~v(%Si<+{W}ig^vLZy1!7A2SBUZkc~&L*kLd3-vmO#2bDvcd+eRBM>`@ zwOf%*r9yoDc98{{8TLmn_N%YCHd!irhl8RiPZR^s6Ly{_3@YpQvM(*G$?7b<=&~T& y&R_!f0zIV{Qc1BP9uu<{=w&H{={htpGDIw3KHh!s`dXk%89ZJ6T-G@yGywnvC|TwJ literal 0 HcmV?d00001 diff --git a/pandora_console/images/op_monitoring.menu_gray.png b/pandora_console/images/op_monitoring.menu_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..3d1bc0e007ff5c9ea0c991c89a200719b517ec64 GIT binary patch literal 387 zcmV-}0et?6P)KR1i}EPywU^N?^sT;7}yt2RE}LjjY>SuTDx6Pt2FA62lP4 z0nOzL&;Z-X=lI9XNgV={SOeW89%rBc;lVB_N5!v)ciZagoB({xN00+6b15BCJr7s!BTuL{F((sDET*=N?tgyGo$jX1f#A(2@ zASsz+<{ws(jIWrX981sIB4uZvTHLRTxWG?sg6{8Gv#aEF=)ih$zan64T9WUlI%5!vR%LqyfUS2yoSVwNd!E= z8q_4n!FZt+Z#N1a%OV9?cKV_&U>9kxyX|$2KW9~w_Nz*1TWUfU@ oph}z86*ui)pOIf5wzmKS03!Av5#0#xeE~#nD6YV{3J4Y0R1n~Y&$t7e3hWZxLEHh%pgC!=?ktOwR+sE!c6V;q$<;s4>&NFB zR|m-;^-78_DYoU)W4jP5R}9ZSm4ZUR+lAH8?`TwQBEv~Q1iV94J#?AL*h4p}`e#HdwmUO z652xVlyGl&8hmSZ06RE;kkx2O)kG04S`^@Dl9}#_D3V+5uDn z5pL*rfXw9F+$Kd-cq)Pw2ZzwE{BM% z%;dRBDc7w)Dg#uc95J9<2I#&AXidbr1ZUDqgMDjbjV{qSFrI*?1&Iwg#GHmZ2=fh{ z7)e%g5YH2psPxG%VsnISc*geIijY;(1Xu}%9P|Ofr}t)mVq4a?ngT5e7B9S+xIz$X zv>ShC^@5{4N)-EkLR**N)hhn@p^aEgFtLXK0|3+f+&A+qi*x`0002ovPDHLkV1na0 BlG*?O literal 0 HcmV?d00001 diff --git a/pandora_console/images/op_reporting.menu_gray.png b/pandora_console/images/op_reporting.menu_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..b568d4c1b287b3705eeb29787815e4b8cd418c15 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1GlRaG=Ln>}1r7$#gc28qxSXsmN=|KCR9VZ;bG>$WL$VzB1 z=w#HmFL=q`ah2!G$+{WL5gR_7kcn!vHCZHYxxR7JaYva)KX{wcqGBY!Gi=nm#ov?H mwWo}6er^kwnE<0e0>hbnwZCgNmG1^RkHOQ`&t;ucLK6U|vsK3c literal 0 HcmV?d00001 diff --git a/pandora_console/images/op_reporting.menu_white.png b/pandora_console/images/op_reporting.menu_white.png new file mode 100644 index 0000000000000000000000000000000000000000..a764bc3a7ab6f63662aabc7a2ee16b20883d053a GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1G{hlt4Ar-fhQW%>4|Nqa-Gmqd{xZ&R6DyhAcrSz@h%4Y7^MYUOPj+yy2sKpLi>Oa{ZMv#eu$JdnKf~|L zXG&sBpS~%)Uiju%qRfpFLyqVKd55ItO~)N&9{u2DdbXB1V^%?A)Aa>^J8r0*&ldl1 i(``ipvmgT_8$)5R*5CXGYL!5zF?hQAxvXM&tvnj-gB+uEufQH%J;Ux>vc^R>+uZS6Iuo_&9 z%1E)6zSgoxpj@Jw#H}1B^+S>_y7NVh9lqqJ2Q0TB`An8n2P>6&iBjH z^u^!$I}VJow!(bQG7VE0XX60#i`WK?aRGJR4S~A53D< z$ob~Hv(MoT1Mg&ZhdqoP&z%onm^g9bM<%=JXWYNBndn+F6f(>zKQH`=Pg8**d=2Xa z3H5I~c!U%#Dlj{}?1=clFx`>e!{mk1K8F4NDGvMF)kNp8SqfwZFd442YH)aW+@M9U vKT#pQ+2n^Zr##Ce)&nAc8Dec68W{v*Ix((`i#NT)z4*}Q$iB}F9Kg-jU}kD1)Hn{$GqC$K#P=$PI>y@AJWDOo%M3@h1A1qiYwK9PL##S3YZLh*%VK*xmOUL9mr zXwm?6HPYu5u_nl#N+g$qTEq4X=UZ|I1p@odu9DcZd4dd%C~`Q*r( l21?~6?9{9H8>b%u1^|EX$&#sJ3DN)n002ovPDHLkV1n?L1ib(N literal 0 HcmV?d00001 diff --git a/pandora_console/images/to_top_menu.png b/pandora_console/images/to_top_menu.png new file mode 100644 index 0000000000000000000000000000000000000000..79e82d11f3be8461a9491637a7104ef58e64765d GIT binary patch literal 323 zcmeAS@N?(olHy`uVBq!ia0vp^x**KK1|+Sd9?b$$k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xo_e}ChE&{obK@;)!;&Mslu-I;eq z@WsR%NB(W7;kc9iInGJpArt@i{%k$s0x+Ub~lClx%oR=R>H#hm`%v zR?-sE|CoC?`5BTADj$$2;QztM{=MP1>GJl*_6GBvzdlG9u-LG!;j(86YkbZS-uj#+ zym2~%c6>8;mU(i^iI_z#*M^ekX05Qz~}=CTm5+tnh;DZ?=T`!BiXn!odB zz4-bs@xANaXQKLVxvI6^)!a>g{7g#6DC)xey6!j0%#%Q_o0YNXzw}?R1O~Sie~a&I SeI5w(FoUP7pUXO@geCwBg@70U literal 0 HcmV?d00001 diff --git a/pandora_console/images/um_messages.menu_gray.png b/pandora_console/images/um_messages.menu_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..955957ff1f77b2acbbf6d3009301afb4c383a652 GIT binary patch literal 428 zcmV;d0aN~oP)d2Izbhdtc&dUo&9WI;S6cM_G>y8 zq)X-cChcBdorOf2CaYto8>_~MFm3tx*^ zH_HYCpvR3dUxut7;ZLM@h^>l|lC}h}0l)(tJMdPMeIOhEzm_GI=#H*?BX~QKdH@|5 znEU}5XIXGY=aEdf^#`M5F6jy9DcefPi2#{Tkk7pAz+KEX2^7S4i-0llVxC-Xe=>&B z|1m#F0sfTME8{z6XG$8n@J-UfbJSs{R^%K2m@str@Z~bu-x#yk6)5L~_C~d5yriF^ z6b4+WWsXFAH4{W1jb&XLFMyW%ch|7R!QC!Ayu*K=kvfB10T~aQ7eps?*nHS70t^6* WOoJ>re2{AZ0000#Y`rBg)@&?DsJO}91Eh7OfvpbZh0V1tZVf>^%Lx7wO|y!rM!JV`Udn7 z6QOxH0?v&`aDu}JrjNY+4oM_JEw-6+bw~enWQ-)z;1f%m@Jn(7TmVnhw}3sMXFijZ yawk^sQWO3ENBiR%(M$FcEjFJ_bak=41Q-BJ#bJMoa}c}$00002LI;E>41stX z{a+>Q*b8n4NyEJAE~BDm4N9N0|NodE;}DbAUI6PHER=mH-jx)IMRRrUS}39d#ZVsE zvmP(m8>ZtC0uXkzy1Fy`YU}su7RzSSZwW(5sPIWk3dT@$s86v!&Bpaw{5X#PW1FT3 zv@PMWb3MAjK#L-jIK>#fJ2jtCodNE!B1Tt(_&NL8eUg_DAV8pa9+F^^I_>pAPz(Nh zKsnk}JQcf8GlgD1HCL!g24HRuTC`zA&LVOfw7}R#Z7iGEMs2`?8c`!vqNGfswLeiz zB8}#PHdrWPBVK;A*Is9KW@k%%Z(o!2)K0ql#pT@l*@^5xtJ3~k<4O;VKCHQW+Tm!u0pv_@79vwI=5tltz4G(tTvS!)(7B@J6 z>|Y3Ao%un{Xbklx#KA#_FwUq1cf6bR^B_8JCWOs*tIUg1^Z}8(6-zcb@j#}5y)OCt zYxB;;Ae?E-bXA8pbHk+21A0AX#FU>im6J7}#{I+po!T`iUSd1 zE^GX}P0RL=M%v6;p<}iKSTx=Zkpo4QGDY?On-7{9jc}bEjlEe}UXZjTYf0A8eCt5I zV~2>WIkL4R+e=^wV+~XhR0Q3nD7vI5b46JtWyvpwV%x6u_B7%dQf_L`6 z(_7UmK*}{3E!FapHJ1a8KGO9nbN8<~FCdnLRjiH&2JRDF5-JRxvdaafQly1d2cDm#dYy{CY;TN!a6Bw*%?hb#St3Rj5MoD6x*ay&ALHgXoRRV@m1v$itJb!1sjEd zn=^Z$PXvX{WbDNYBaoj25_mI;voug&9WvO(--K4?bvcb}U!pUqluK6)!p<*yo`yl( zIp7VDrKqR(gfT%3q2K+&4waZJl6})WT|Tm4Dqb7iGYNkDm|BMfL7a*6?k`KTdIq5j zS0hB?V$-gp&ZzsLMBubBlm85)oHzeJgenk^Eu5=B4IsHzElXw2dEv(ghjMT773A-VHU%Oy+S<2Tda;Isg zK{A`K9il6IHBZS{u2~nP^i@@drIONKBqu>o$hVNPd$&}2t51i>Q_ab;*rj`!BQJ#r zegZY8o&}xyb#K^y&sa8wx(Sp|#aLOoPr0N$%B~PMDlw`_R9E$+47cnC^j6_K$tArw z50?ooacNpGIzF(X=~-wBISsLxB`Xyq2U6kK&Nu{FQVaSCOUq&E7DlWYX4C4}%Nj#Q zMLjQ8t3_apO41md7J_yc*)1MhU6m1Ul9b;aPOn>BMl$S4A;^<|I62|Q<0B8@An50H zIq8{<25x16CKqha9(PU)cq(>@eI*bR#mPa-zCC%n8@M8nd5rdheM^kN++T5&L zw1Ox^n0W5@O=(07sIb095m z^yzxVX8Lh8O$SNY2Uq!W*U<`asioR$MFiq^Q-GQ#flyvqtMHpiVdIy+3fv0b3h+pV zG3gTZMl6^!JOuH+f7dFGAs+rAsoL~XqBt4w)a+j)dJs?uP*|-Bmge2re6nk&8^G2R z)UN@i1OTc8e1Cv~STuRc8E{}g;`Bf(i=pH@O6xNh;i&5rZFDk>`#1|IIf2^&djfe7^hknZ;T{YE0-8~esG%_ zTZqw^HC9eB4%Q_1-U}~l~wJwf0 zOjrv6fF#+3vkp9<7zS!$2ai%5oZQh(z1Ofs2PiQZKs7aXhMw(Drz$v58ZytM$a1pz zBu)kLew=tJjbhYV#)+_?;9IEjD%>8TL{Bq9{%m%_KqNCOVOEw!PQ{GAA81$qNCyeM zQUvHc*ZB5eZodz7Dgfuu!Q89JeVsXJE_w4U({B2m#bBX5AjP(}7|6nTS||F@e#No!HXUPj(woY zG{m0>xPdC&)R9t;#cBmDvTI7Xq$%g{#Ym}T(ZU{BA}?Y!I^6EhxmK-t*UxkNXGm$N za8p#9s|=|_TSZbp{7}!D-GERgt=)7Dy!Kquhp{0&emX~Mc`ZoEdVQvPjjPg_y2FWC zQ~KaG3Q8}5RA0WNmo5Zy*sKj3jg-KSouXU_rK+=gmx>_ln!q3<$efFJ&jq&3hXW)x zxD|Ei^_sDI(pAzNfHm@}SpX?LlO6svt34RLb%Nk0H3ew2YfTc4_8ppDmNtbqV2DEU z)LT4}E?7ys%Nz@=W!6ehqE=~XGlj$Gom&`}_g`8`Zv?TpPz#)=IZT&+aSADq?iagFSsU5 z0Z~f>m85NZ--4~3iL$yBcJh&N}R&g~qBjdmN6YPIeNIh&ux^N;32o%7`#4hMa1b-1@i?Iu+j zK%8sTkAkH<=520W4N1AsbGiwkZ~c_p32RGJD3&G#Mr97hq(EzKwP!`oS#9eKffIKi zKZh9tEO{0A}%m!6t|zU(}!B2le)T^;F0SDYE?iGE617{ zug_6wS2mYeKk#^m1E^s{f$6h?;W>k8Ak!)ta8Com7n8a{(Xr2>OK826B>b=pET~|p z=%2P*k{0x8dPMU-ki3QD=-KkE`Rrwg&+cy7GsD*qvOPy;nC++5e?O{~M#H zL@#n>F@D!K=O&%&ddn+jb?KigXgiIcGqGx68!asJ1ef(BQ;}lZF-=}(R70%r?>LpY zB_WFSmz4{{nhI|VeEJPb?0*=4fCw~Tq~t!}|J|%qRBjpmsg8FcYoi+HZuC6M4>%|& z>GCg#=_Ofz=EN9X7}$Ef`oT<~Z_ctI+ClKfW5i$5Dl}|kM&m< z2cC5WC93as_LaI#O_B!GEa$i1h>Iw?$Qz>-G|2*}%UBxp>Wy$USdl_%*$-e8auAj% z6mwy$2lL2pO-wJVHKQP=SZhH~+8wqKFhN=R#}|-jJ!Q7%A@wJv=1bAM$f6A3q-uf+ z645v>1qhoeQ%lo!P8&#kpT|i3$BsQBucU))VcCPQ2DGL)B%#mGxyIky2NTa5GN)YF zf{HE+oAbM$RWBsB=?~9hnFS9})|Kn~l9n-^+uWRcm8Jdx##oAXxB}-3D7&xx8AVSR zGq=Z!ygVqyp&B-lIChLe98CmV`OqI$BcH8=6u?8J39 zs|4ht{BWQTD2W0Yu8ztx-L!ZWm9No-f5Vp^ND3^)nAc?c9W(6cP+j{aM4_etbO~G< zq8XMO%*jWkpILrkQ9j!%kd@C60Tro%E}-sJ_9-xa8B=1eJWz!Ka57CXF^V?|%OmsO z8P~fk;DQZ>Nu`llbP}G;B2m~3Ym-rx?dDOmE`My*%wLXieye^i2vh$ATR#+5KZB}Y zx&_>p{CCj@b6`%LIEFni({B0Vqqif@-)z}|@W~?!*KTdQSvL8NJ)f;hv;Q9Zx0VOO zWE9)3Dye>TaZ10btbTsojvVg$7FgRxn;~?20!HZ=ZIARuTK*nmSbf=X0%@_Bx2;(J z9N=HaENH}kKO&+XGcIPmIsK-;A=U#t5L8);&g83ZT0p7-BboDIl|as!Mg$P)^4 z1ioRY7DRY-k$Z@*HxdKe!{EhHUDzBcZ>DP-5xlPXZ1wTgiPtJ`e*auEQ8KVHy{Bmu z#0Tp%AFb|M8GXKX;^(I_el{Je(@!+r0y$_K*d`^%fd1q)d1m`6y~V54V=?uKEz!jK zch`=7u=^}uIj1b1D-J(#`E%A&k6b4+4W0z7+qq~A^zB-8`{B^HLQaDW-GWp*fGVK> zf7|AP1#`KpJ-ELRx$<{+_Akwyl5XU@OB9DM>e-fm5G8Ow*y7xA>U-ISbj(awaovSS zscXU6YuCHWT08l94hef05mX}e2$mMoH6~)0hjrP;mfhvc&n63lPt{!*>>E6_DccX8 zoK)6vwSK4eDd&HBtM5ZTm@l2j=}_#a-33k6G4hx$>Oj&bY41UXxbseEoeRsS;=y<& z@U`~#(vYn#r(B#}Br~@9rz{#yJzM!pzUZsFi|C47Uzcdj?|iV@aQ;V_%;ftl+x;2!TxwDsIAt#8so#Agz_60?Ih{VH;zADIZ}59;>YM)k~&JpFO= zm5%B|>+-AutIbzB#1&?WqA~=$LIp7`s}25o2j$dVO}C*Pbzj5%J0|Y|_AQrWo+t}! zqgPy!oimwzv+QtsFuU-24Jr$la8`6k<2q>?NJ|Tkl}n?DNJ(-I{6XZ)X?z4B&=b|E)^n?4n;taKTu9Kpy^HQ#t6*qa%prVtgzb!S#WMBWVY&Mv7;jWv!n3 zaCB87|HwXmcrX;@>uXD0&K(+oV%hRk_EJ|#5?UHuwndcJb$a^2h5PHtje=VsgrVWP zeVBl-iw(z$etyV5IAzyy*z2Z&wY72l-|#_>*B-L8vbrk;ziv#gn%BBhe0DG_K#g|4 zpT*5tSD}0o9FV=Yh3Of`2F9^*prA{cAmJso@S1;jWy(RhEh`3_qWW=9<5Sm_8C}9H zdV9Syddeq2&sY4M`0{f(5-f|75n9x?CwnSS5h+w@(x8;dlUKDDUnVurVl>aDK7$bp z;^#YP9;&+!A4T*3a060~1Kct_#r{(cDEKnVTKJ{a4&V}e~@=QHvqmA4g8MY7UTwc6?$ZHNKipzE<= z3-*FMK*i|)-Dd$Yqb^HBBY(@AP*sriXT8BsfX5j2OWWWZ$*#Ml#Yc88^|IGt9o}sX zS>NUj38qE>D#^C|dB)6tIeM7pv(arMZt6jx&9|~hCeD(a?d|4bNiHFHNW)1dLoPS0 z&;3Kl;l}eZy$w&m|9Eow0l54J-j2>TITPLU{x*I8@@xNw66tbubUgT~D$8&6pWy{Y z1x{`+14;Wy+Z^2fCFj%g1&Jx^Jt$2T}(tPT6t{XeD9f+wX4E)E~@uL@i~Iv z<~70M%g@6T@13<$GzyvgLRNlVe2zkh2G7gKp1W-XzHu2JO{xGwGu{Ju14w+(`UYiu zN7A=m9rvmo@i`aYlFUo&@90QsM+o)x{4C5I*A2}JV=ji6XYTS}B84t7>YdRLEtKRn46~x5p#a|CgHP4QnD)4@=B_20tv=@xTe71i{T&_B_5kZ| z^CJ^7bR_+15^078|HLL2yR9b1(3J+6ZR5SEr~WGegu4CUkAJa#cI_d7@J1 zl%s`;L$6=Q#ZwT+#7oi*>W~k=lZyf_h$g2wVR|4 zK|3;WHd$1t*`Ym`*pfLz>TXPEEYW|u;4RzcUB}}O;rEbrO)Jy^CK~$CZ$tb>FyR;( z0nwEEml|52+-q9vOS~bxw~m9GUAd=ZyM3->`j^fwW%Pm2R{!M(Ja8v=M(nyI@?!4J zb5Cb`q|)o(v_6=+LTAsBcUC)LN>FyRJvBZBZVI+{8Z7l0A!)~JDYWx^=fDNCn*1&y zeQ|ind%@cb9_r^eU|X>Tj6F+{kB;9Pd(5Q?L3>Txd9azRo$0zFZOy-J3Lj;`lK(+< z^rRNcKj|nBn?v>IdEmSy%R;O7+Dw{d`({d+5uw1yeG7GS#0JiKZ6V2NbwSaRgTXEy zy3i+P2kT${ET1LXk>$hwkh7S>!tikSl1+*0lC<@ztys5`LoDh(1)NykbPON1j`OZ3;HWRQzKXBQA7J>W+?vk=s`(c&glo)y|E&m+n`8^(Am5Vs)GOqjb0 zJUzR(-x=52Ea1ZKNaLFxda})DmAm6{&$9E(;SSwGiTNSKJaebNLf+XI@`1y03l`NS@%DlkO^kE7lT#Di z@k#E~=yfLd_MO|@TSLt9(e^e|v)0yj)3#RcEk2*}wLc4fCH%cQV zmssKpFNRwkhVaYk%9R%fA6VZ9VHqU&t|+Z4Ih^P#8=FlvWM6PtUpDgFt=HJx0}Ovo zm5y+bRV%l{)Z=)5W6ah~OvN!^oWy{e4(FPkP zm5y2?y*TV6N4PxBQ8woohkHBVBTR1f#MqUp00t9*V6y#TEG|5N#WtQjrkqn2%@u8M z{>xSXntM6taT!(8{d`u)_hLY;e+A}5(K8xq@-CMhDomkr>+_Ohc@egD?Jp~PJT`Lm zV-oO+lY1{#<_BG=WoA~2-05yO$x#lO;OcF?)zyW(yF{@6*#WBojVG8Ixk1sKe8!`_tw6CvmGUk!tjrA`omH*4@wXKkA}cPzp%%^6FLDr zq1E*+<=?5_KQ$l!eo^L$!q(a(MFu(_~EL(vjL}1b?r#gz(`lmnd@zh7e=0R2m%D5uS5jrgnv}@4~Vit zweFOS%%%d_KnbET>A~M2);b;eiT|Oa808|280$rcdDBo#{8{gCJK>W^&!6#~pR68O zCyqE&5z7m5L;3Boq0TlLtb5*1g}gTbVB##+v-jBks6Vi#kKMFpr*OqVA~JBfNv{^^ z$J}uObZn7h<*8800s_k4-Cnxa7X4|hAzwKZsyjpr8!p*9HZ(cfgY6sZ!C*({x`qL- zmee;`#Gk&Sdjpuo$3)DM(d)_xa(2e5gUDG&V(10euOm)pT=kUy{zwjuyD+%&^wTzI z^0&q`>sYyWuQws2wy7_8{^Fao`1s3z;mn%Nr`^MX>hjnOQBF*0mIuz@ae!R}EDYuS ze^X+HgxgfJVk4mnT>rb{ulbecr@tCjLIS!o?Y`#3pzN|kB2$S0L2*G~jE5iI**AwE zNY0Oqh=s@}cfC^oq^+ee@@Y}zZ80c&Aqa_$OdeqzJ~nizenX1^F8D|k_Hp$fHi*2*<;`HC7H?aK?`$V5L)3nw zlQ`&hljo5U-@O7=Uivp7gkzLAMEMi9^_lDV!|6c#y>DeDTwy@mx1$g!WJMTk zuA9HVd3E`(357bRolPCpCF8hYOl8aG@AexTXMWJ-ht=&b5?!$4JAEWrU$Q~92H~GC zZU3V~yiA#H`jA@p-cYzI_9|51IGPoF8&Z8GD~e#4^LQ?1)vw(!r8pkM7OM|kle z^tn{`ImQM48uwSt1Jr$MN1b?YSU&D~*{XOR@7>>bqO$J1!{-M>=QK8KzUB5C{m?Ee z3%H7LO}jiBwr}H0K*&1u#q*oYLj}+o^brVfK2HLX;Yuz1f4k0K@$QG7L;Fhz7b2&-0v+Vy#OdM8w@*0m z+j_#G-FP_D(suAnG(nuTu^QZvHpm}0xOGM{PRR+%O8{)WwFqau@HYn1^%(1ebDj}4 z`l7Y;B?tDcMM+g!Ec47*WO_cGZ4P0@e1xEEM(W?Qer_6Mdl)2?(!LjhNF;l{KZ`2! zhot8A6SzMa@7Gz|?;|8HUpAYnh1M>Yu4yKz@1WSEzhzRkwE}iS>~;|$rAT^ z6#{3OUhDQAmHB*w8}={E1vbpv?V0#2{bKbm3GVtc14X;&U}dirvGS*N2uR?s2JeX( zj49!&RR^+XdjfJL^yITAzV4szLeNABjj4sbHwIG@n*oN8${~YVDX!o`9O;;dZpAr5 z051gx!UT^`z|Kg49OCSo)Bx8rq~Y;%eTnxn#;aw90b9BD+Ytr8bMyz-VA#Fzl~EBW zU`?celJK9mqxA5?nG1KupB+Ob^wI`wDbeh?+lSVsBY|D=yuTyZ5}pgy8|%18SdBy&H%OHpeUtt)_)%(LfBwWuCI%goY;#03*A zi+eSx`ua0|16}n(Y@oe3{r^oI+_8$Ss7Z5B7DG;{K%@cU(9nZ4)J^}wwWbv#)EJB@ zA=y2l6Q#OQ3DY)S;yBedL*&~`mezd~IxSYf57+>h@RqdwP&f>h1PBNrbGZ1jDJundV!jEFQ6Db8PkXbMVhaC@4m9Y zSejtuP;GN8Z70q_%9DI$bD5Jiy%4#g28RO#GI45 zNr{3cpuZqX0O>_NVOsodPs}jrygf|9UCpwfoNe7;eveo&QLO=#?Tyj{y9-dlyQN2J zTx!*tZ(3toO7j2&?&{cRuesZ|ZmsVG6O2}4Isk&0tByCCIH_*#iA0mEEi^^qJz^Ah z69p4F@LQtvjUx0n*z4%g4+K<%mM91S2E2zA*m&;EA#SPLGN$H~lxk~e+g+}q>LhGs zhhPL=CS$sxbb~<-T(MmXiRUR;W~|sD0wBw*b+lw|>t@kf?S)W#OEQ>GVin5TOd7OL zf`j-+*-(y~MWuWQ2;f`NIxP{c6S7tdjnm+vJa!jg(O!51HUwZI0TF|c82~!BIDiwJ zC7p9hla{epos!UwG7vqXQtRHrDwKO3cyK5w0T4}#m>S4rOKAQ@qV!@i#|U^pUHjA% znOr;3F_lL}%|B%4M(}efLjv4qORaW%0V@?(PPi1(%!(}g5g^B|-;zmb?seES-b|YY z!{-nh%HxOwzRXeE(p2|ct2>PxTpz;HoCxkm0FxN)O{6JM$Htcic}>hdB9{ACUGB21 zfyNjj46xor4S45xaP#3VGm~SQdmC{XmpwE!1wccz&JfcLt8$IFcMPLba0u46-XWc9 zY(1!Kio0Nua!vzc(##Q-WsT9O6qr;)=Sc*>Ktmd6 zHx|(ljCV{nPAnrC0|-8tE|Xo)DuouU9g(9NcCtye9Yqi=gVTxxue^aZ)uS^#4qc2` zczHXziXx7Tv0$#mo|>&)cJC*$?^`4FD?vAlVY1>QO{FNB>Fa+Njs(RGN@6Z#(pt(wBI+SxX@a)}Q zqqD0a&+{alB81UZ0ogtw6NKSLP~jS9%*Ux`HJz|uIwz$j9a@n#f)_#)`@*KlyQyjc z%{=0TPi2hIIUuE4AB;&iR^lgDQO~^TNJ(A4E-}^mzd**W!C&5DHRE@f&a$S$C0jsA zI;hI%SF~yF0I7ikW``2$J`;d`E~-UC*nFmQw-2|l-~ax*{zgaC7v{tlWd3SjZqxL_ ze10iRkT6Ml$9(ix+=reXX0=f};vWtt+dI|s{bcU&q^#&!CB!!aOzWh$in7#?07>`Um~>YI zp+xXXI*n~hj5`R!EODMpHJ~uO0GWrKu@_T}Co=nL)l;K+u-fqSmZ~jg2YJaRkZcZX zKj~u9_O#t{K66SrZ}T)bOkUqx@=SOTu36LtzA@=BRL_>%g~FPtHMOTBeIr5tUS+Zw zJb<>2q7`_<(L4J6TwZ6cnhzt=VIE1KGOcjpe(2 zoiO%Y@>SPGQ8KZ1?46=?*7?aPad#|D1)?to&{|PckrZNdSV$Qqk7d(p>{_$0h4zr9 znkTc{ndY@6a+qCDx|E$1&{Br4z^}_#OuQBi=!g_6WQ{slW0DUc@_PqRY#13!;1bJ~ z;HEF$rwPM=lSF4U(9}}(m24}hK8={7-WSu(LZOEml?S?B{b0pSr)1b5z{DbYuZF%m zu_%k^yM>LyylBg*2Q=8@kuWwz>)Pnl8rtoO1&V%(@lYrUOl|e4jA~*{05FKPq=WqI zJ!S|1+x9x>d^uKr9`rD3ny(j!Jo*CN1Ok;Z(^PU6CJJ2#COpdS?>Vj9!Va1DJGQIv z#0uTDSatSxYwULFJiE%TdmcW(X6XZMH@u+7~5&f=%qe&|-0+1-E)H20!YW9sj1_-GYpG*FY zDJ9}4F*}lCxMv6_vcYh$%I+hlDUk>!=@>1u<{&Of%+odU-AoMq`W>`IAyY{EU$pn$ z3;BM(4Y&UNae0U1WaluVMN8tvxB8vOE^JBZBM1QF0nz9H3XBta_I839W!G|hI9?^k zRZ^Y5Uz{R6}Cb+n8V#XNa+|t!`%)*Z$}tDcA`$t zl@OE?Ka@;v>{E0hL=we}I@%aZ64dShxI`*2N3AhCr7X_Aw-@q*4DA!~e>&rxkQv_~ z7l^RhB19pEN2$e>oW^b~nUvNBI)W$}W68e$zu-rv7v1i!tJTh=>$I?NAI3QCLBuB`pOJ)G`B}%;=#&r*t!O@==YW za)KFN)sRv=%w(9T%?4mK`vl@RNw_taX-B<6{ygse4-&e2Zbi=;?)+kf@K0rxyCcB$Ma;ee-@k{o`E0gdhm z`Fm=xKZ4+#Hap_eH7w0>im;&l6vfwffrc$+5mG ziX6Z)!{9&9FCfRc>S(uHF6*bC5t;YB9;0e0uELb*!&UzU2QVASx1 znq8z(ZCb}2`kc{B4+tREwH~T=dQJPB@tt0L+XPMxu35y^nJ=G*Cx+(%O zz~b&4k+_QTMID>U`S-(ECz0(ylf*;sH=_sfrU!79pKkbGbvINN&a>HIm_(jrq^zz& z^H?U1;42p%B_VJwCe*T&i|(jG&-^6j+BJ#X6YL?x*)PWJR6r?tB~rynDuT#_9-F(iF37J}tC_+vR9tn;~T0gf|2zyG=r=l$*3 zf@iI@rRAmE-r#KzF=4mqFf~66lkuuhA~=P2owy2}pq3Wa2cMw|K1|9YIZe9= zrMKR4-g|FV*S{P&?!)`({M__5@4jo&0(ma!z;+eA_$w(*GIiIPD$K6~B9Gr869CC8 zSy4Xyo^DC$jP>I?n008uuVS0os&C>X9G<5{gv!F+P_a*E;OaaVhNVDCb!#yRFYX9g zb6{%5acVThVIc5s_5y#pTcD)uF#AYcX`=`>uzt$qbZlstJ^Rr zway6O+#4Oa{S$7Y$zK!7gm|iDFH?DSK)SD8uAj2M$y@+ZQovFF5=rfJ_5#P zZd0q8IfNHagbMsRz~^=SN#Ao8 z6nAvWxseWZ#2#au8qgOZS~gw-t6gsUU-NHW)jt~^v!9_G8sJm->si(Xv(}?q8b#Iy zjd8$dlXa{O;To#}C}LPx{Y;D`A~sqzh+)S_Wr)87d*+G z*maAE*7kbcq-AOEc582*okjMC@-cKMhkvIk&~ji^I9tLD9=J0#xBQcK=6EQNY<7&o zx1l%7U_Gs#Sbfu)DxhV(na?m!)Pd5f4Zbr@depk_HFKa71L28Lj!`}Pq)lIIjRc4E zU{}JP7R)Ik6yc4Y6es|oZ2o)vVVssv{%4(qTkcz${)hJJ-{j~1(Eq#fnSBNU4zmUY z01!Z!R7ilqPqaS+p(WpnH~XxE&{(xe!@WyIN*y<9gb3?tiq>Y@EkJJi7?t&rpxCy{ z0Ml!kJ0NFho5|*xOl)c!sW1kzof#^AN|lmqw@A%6Q?LVj9=2E)@v<=0V-#@Z7#ME) zk2f*dgJD$F(P?eb49L|pc4W8FsKhz}l1mL6?agdHMalcroxtnmf)*t<4?W2C09OD2 z`v=esj>^@hR3dsV?uS=wI8Hg_-UU6U*~K|Ko3#o=i7LT&c4 zX7`s8i?-edPW2~K!iEZw3~}67V;vdnrZPka?~}1<-USa-6JO37O=C zjVU3tjb5<${;faOxo=04Wv!}GiRd@xAUU)jpke({-N5N90TH1YvyLh*8AnH3y<{E` zE9YDZa6PoLUA`(29u`aLqPB9^geF@IJ^=X{nJ3c~`gsUU5Mn!{Xe z#~ia}9-V&?0C$b&qKFnKR3elC5D*(MJ+6T2Jju${alHY~BXHFFJPH9L&tnj7;(07Q z?K+Qxt83@+aM#$#4*4Mq$Dy{4LJu7#FbX)Q(@ZT+Pk2^<1apdi6Q zghD|JgMo#EM?geEMnOeG$H2tG#=*rCE<&V!D~vSCUbDS0+GGi;k8}bIlc3b+V|zIGx22 zNg$T!s2-#wWaLsLOO@t>0Wv6L%9droGXKhvr^XwNcDb%rog41DX{-O#+wO>M{_m(U zHrQvsJ;C8^@I*!gA}0!BgHY$4an`x+ZtmJuX6|l^jEs$!_vrUe?>`YR+5c++UCR^W zBBRn&wDOzx`ENO}ldZ?}H>K6p(geBBEzu|v#;8eVjNXh@^GmvmCM%;#lbK$n(KS^W zwR(S}o0HYbu%Zbw?vLr-nyPe?o@lE%qIWcMAJbUQMf0002;l5*z& literal 0 HcmV?d00001 diff --git a/pandora_console/include/fonts/mem5YaGs126MiZpBA-UNirkOUuhp.woff2 b/pandora_console/include/fonts/mem5YaGs126MiZpBA-UNirkOUuhp.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..a0965b7a8990500590bc11075cb66bb6161b49de GIT binary patch literal 14544 zcmV;>I4{R{Pew8T0RR91065S95dZ)H0BlSE061*`0RR9100000000000000000000 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%0AuLVnv;ceTnshgiq z$R2uNhrbi=e*+#!VOvI`@J;=2&7wY>Z9%tXr|l8U9iK{QJyc;gS5%(79Cj?+hpZ zK)dk$Ul`!l22B|nj^iVhf2(=$@5yI}Z~~f-l7j>Jov@gu2F0C5G;NneC$8yS=)Bg+ zt!eGi)fFMSqP0b1qr4$?r=zX)XQJkFs&dhf`YTn}>eVOe3_s=!UxMpYxX!o*?i$B^ zwe(AStL47R;Ivj3UG(i`G|bXnMtedqni7phEv_;6guAZ4(;`}fYijW#GTrUOBzUvTP-v;~^NZD|+ys-rVZXX$2+op%{W$X1z umypt-!${Ty+F>c$Ysq(bO-QkhkK^(4$0sN82%~-s7)pVBjJKQz0000R?+d&D literal 0 HcmV?d00001 diff --git a/pandora_console/include/fonts/mem8YaGs126MiZpBA-UFVZ0b.woff2 b/pandora_console/include/fonts/mem8YaGs126MiZpBA-UFVZ0b.woff2 new file mode 100755 index 0000000000000000000000000000000000000000..c8050c25f8c907611553a7f8131f60dd10ad766a GIT binary patch literal 14048 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 S;!94Je$jcs3Lw8Xr*8q*m{%hJ literal 0 HcmV?d00001 diff --git a/pandora_console/include/functions_config.php b/pandora_console/include/functions_config.php index f0163384ba..8520038f49 100644 --- a/pandora_console/include/functions_config.php +++ b/pandora_console/include/functions_config.php @@ -836,6 +836,10 @@ function config_update_config() $error_update[] = __('Custom logo'); } + if (!config_update_value('custom_logo_collapsed', (string) get_parameter('custom_logo_collapsed'))) { + $error_update[] = __('Custom logo collapsed'); + } + if (!config_update_value('custom_logo_white_bg', (string) get_parameter('custom_logo_white_bg'))) { $error_update[] = __('Custom logo white background'); } @@ -1750,7 +1754,11 @@ function config_process_config() } if (!isset($config['custom_logo'])) { - config_update_value('custom_logo', 'pandora_logo_head_4.png'); + config_update_value('custom_logo', 'pandora_logo_head_green.png'); + } + + if (!isset($config['custom_logo_collapsed'])) { + config_update_value('custom_logo_collapsed', 'pandora_logo_green_collapsed.png'); } if (!isset($config['custom_logo_white_bg'])) { diff --git a/pandora_console/include/functions_menu.php b/pandora_console/include/functions_menu.php index bef097c7c5..cd8ca9bbd4 100644 --- a/pandora_console/include/functions_menu.php +++ b/pandora_console/include/functions_menu.php @@ -377,7 +377,7 @@ function menu_print_menu(&$menu) $length = strlen(__($main['text'])); $padding_top = ( $length >= 18) ? 6 : 12; - $output .= ''; + $output .= ''; // Add the notification ball if defined if (isset($main['notification'])) { $output .= '
'.$main['notification'].'
'; diff --git a/pandora_console/include/styles/menu.css b/pandora_console/include/styles/menu.css index c591e749af..cf8e88bae7 100644 --- a/pandora_console/include/styles/menu.css +++ b/pandora_console/include/styles/menu.css @@ -16,6 +16,11 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +.operation .menu_icon ul.submenu > li, +.godmode .menu_icon ul.submenu > li { + background-color: #282828; +} + .menu { border-width: 0px 0px 0px 0px; border-style: none; @@ -34,8 +39,8 @@ } .menu li a { - color: #FFFFFF; - text-decoration:none; + color: #ffffff; + text-decoration: none; } li:hover ul { @@ -43,10 +48,12 @@ li:hover ul { } .submenu_text { - padding: 10.5px; - margin-left: 0px; - width: 100%; - color: #fff; + padding: 10.5px; + margin-left: 0px; + width: 100%; + color: #91a2a7; + font-family: "Open Sans", sans-serif; + font-size: 10pt; } .menu li.subselected a { @@ -61,7 +68,7 @@ li:hover ul { margin: 0px 0px 0px 0px; position: absolute; z-index: 999; - left: 44px; + /*left: 44px;*/ min-height: 35px; height: 35px; width: 180px; @@ -78,9 +85,10 @@ li:hover ul { height: 35px; width: 180px; font-weight: normal !important; + background-color: #202020; } .sub_subMenu.selected { - font-weight: bold !important; + font-weight: 600 !important; } .submenu2 li a { @@ -117,6 +125,18 @@ li:hover ul { margin-bottom: 0px !important; box-shadow: inset 4px 0 #80ba27 !important; } +.selected.submenu_selected { + background-color: #202020 !important; +} + +li.submenu_selected.selected { + background-color: #202020 !important; + font-weight: 600; +} + +li.sub_subMenu.selected { + background-color: #161616 !important; +} .menu .menu_icon, .menu li.links { @@ -132,21 +152,21 @@ li:hover ul { /* Icons specified here */ #icon_oper-networkconsole { - background: url(../../images/op_network.menu.png) no-repeat 50% 50%; + background: url(../../images/op_network.menu_gray.png) no-repeat; } #icon_oper-agents { border-top-right-radius: 5px; border-right-style: solid; border-right-width: 0px; - background: url(../../images/op_monitoring.menu.png) no-repeat 50% 50%; + background: url(../../images/op_monitoring.menu_gray.png) no-repeat; } #icon_oper-events { - background: url(../../images/op_events.menu.png) no-repeat 50% 50%; + background: url(../../images/op_events.menu_gray.png) no-repeat; } /* users */ #icon_oper-users { - background: url(../../images/op_workspace.menu.png) no-repeat 50% 50%; + background: url(../../images/op_workspace.menu_gray.png) no-repeat; } /* trap console */ #icon_oper-snmpc, @@ -154,7 +174,7 @@ li:hover ul { background: url(../../images/op_snmp.menu.png) no-repeat 50% 50%; } #icon_oper-reporting { - background: url(../../images/op_reporting.menu.png) no-repeat 50% 50%; + background: url(../../images/op_reporting.menu_gray.png) no-repeat; } #icon_oper-gismaps { background: url(../../images/op_gis.menu.png) no-repeat 50% 50%; @@ -163,45 +183,43 @@ li:hover ul { background: url(../../images/op_netflow.menu.png) no-repeat 50% 50%; } #icon_oper-extensions { - background: url(../../images/extensions.menu.png) no-repeat 50% 50%; + background: url(../../images/extensions.menu_gray.png) no-repeat; } /* Godmode images */ #icon_god-resources { - background: url(../../images/gm_resources.menu.png) no-repeat 50% 50%; + background: url(../../images/gm_resources.menu_gray.png) no-repeat; } #icon_god-configuration { - background: url(../../images/gm_configuration.menu.png) no-repeat 50% 50%; + background: url(../../images/gm_configuration.menu_gray.png) no-repeat; } #icon_god-alerts { - background: url(../../images/gm_alerts.menu.png) no-repeat 50% 50%; + background: url(../../images/gm_alerts.menu_gray.png) no-repeat; } #icon_god-users { - background: url(../../images/gm_users.menu.png) no-repeat 50% 50%; + background: url(../../images/gm_users.menu_gray.png) no-repeat; } #icon_god-reporting { background: url(../../images/reporting_edit.menu.png) no-repeat 50% 50%; } #icon_god-servers { - background: url(../../images/gm_servers.menu.png) no-repeat 50% 50%; + background: url(../../images/gm_servers.menu_gray.png) no-repeat; } #icon_god-setup { - background: url(../../images/gm_setup.menu.png) no-repeat 50% 50%; + background: url(../../images/gm_setup.menu_gray.png) no-repeat; } #icon_god-events { - background: url(../../images/gm_events.menu.png) no-repeat 50% 50%; + background: url(../../images/gm_events.menu_gray.png) no-repeat; } #icon_god-extensions { - background: url(../../images/builder.menu.png) no-repeat 50% 50%; + background: url(../../images/builder.menu_gray.png) no-repeat; } #icon_god-links { - border-top: 4px solid #777 !important; - border-color: #777; - background: url(../../images/links.menu.png) no-repeat 50% 50%; + background: url(../../images/links.menu_gray.png) no-repeat; } #icon_god-um_messages { border-color: #777; - background: url(../../images/um_messages.menu.png) no-repeat 50% 50%; + background: url(../../images/um_messages.menu_gray.png) no-repeat; } #menu_container { @@ -258,95 +276,90 @@ ul li a:hover { } /* Hover Styles */ /*li ul li a { padding: 2px 5px; } Sub Menu Styles */ - - /* * --------------------------------------------------------------------- * - MAIN LEFT MENU and SUBMENU - * --------------------------------------------------------------------- */ -.menu li.selected { - font-weight: bold; + +.menu_icon { + transition-property: background-color; + transition-duration: 0.5s; + transition-timing-function: ease-out; + -webkit-transition-property: background-color; + -webkit-transition-duration: 0.5s; + -webkit-transition-timing-function: ease-out; + -moz-transition-property: background-color; + -moz-transition-duration: 0.5s; + -moz-transition-timing-function: ease-out; + -o-transition-property: background-color; + -o-transition-duration: 0.5s; + -o-transition-timing-function: ease-out; } -.menu_icon{ - transition-property: background-color; - transition-duration: 0.5s; - transition-timing-function: ease-out; - -webkit-transition-property: background-color; - -webkit-transition-duration: 0.5s; - -webkit-transition-timing-function: ease-out; - -moz-transition-property: background-color; - -moz-transition-duration: 0.5s; - -moz-transition-timing-function: ease-out; - -o-transition-property: background-color; - -o-transition-duration: 0.5s; - -o-transition-timing-function: ease-out; +.menu_icon:hover { + transition-property: background-color; + transition-duration: 0.5s; + transition-timing-function: ease-out; + -webkit-transition-property: background-color; + -webkit-transition-duration: 0.5s; + -webkit-transition-timing-function: ease-out; + -moz-transition-property: background-color; + -moz-transition-duration: 0.5s; + -moz-transition-timing-function: ease-out; + -o-transition-property: background-color; + -o-transition-duration: 0.5s; + -o-transition-timing-function: ease-out; + background-color: #282828 !important; } - -.menu_icon:hover{ - transition-property: background-color; - transition-duration: 0.5s; - transition-timing-function: ease-out; - -webkit-transition-property: background-color; - -webkit-transition-duration: 0.5s; - -webkit-transition-timing-function: ease-out; - -moz-transition-property: background-color; - -moz-transition-duration: 0.5s; - -moz-transition-timing-function: ease-out; - -o-transition-property: background-color; - -o-transition-duration: 0.5s; - -o-transition-timing-function: ease-out; - background-color: #585858 !important; +.submenu_not_selected:hover { + transition-property: background-color; + transition-duration: 0.5s; + transition-timing-function: ease-out; + -webkit-transition-property: background-color; + -webkit-transition-duration: 0.5s; + -webkit-transition-timing-function: ease-out; + -moz-transition-property: background-color; + -moz-transition-duration: 0.5s; + -moz-transition-timing-function: ease-out; + -o-transition-property: background-color; + -o-transition-duration: 0.5s; + -o-transition-timing-function: ease-out; + background-color: #202020 !important; } -.submenu_not_selected:hover{ - transition-property: background-color; - transition-duration: 0.5s; - transition-timing-function: ease-out; - -webkit-transition-property: background-color; - -webkit-transition-duration: 0.5s; - -webkit-transition-timing-function: ease-out; - -moz-transition-property: background-color; - -moz-transition-duration: 0.5s; - -moz-transition-timing-function: ease-out; - -o-transition-property: background-color; - -o-transition-duration: 0.5s; - -o-transition-timing-function: ease-out; - background-color: #585858 !important; +.submenu_selected:hover { + background-color: #202020 !important; } -.submenu_selected:hover{ - background-color: #585858 !important; +.sub_subMenu { + transition-property: background-color; + transition-duration: 0.5s; + transition-timing-function: ease-out; + -webkit-transition-property: background-color; + -webkit-transition-duration: 0.5s; + -webkit-transition-timing-function: ease-out; + -moz-transition-property: background-color; + -moz-transition-duration: 0.5s; + -moz-transition-timing-function: ease-out; + -o-transition-property: background-color; + -o-transition-duration: 0.5s; } -.sub_subMenu{ - transition-property: background-color; - transition-duration: 0.5s; - transition-timing-function: ease-out; - -webkit-transition-property: background-color; - -webkit-transition-duration: 0.5s; - -webkit-transition-timing-function: ease-out; - -moz-transition-property: background-color; - -moz-transition-duration: 0.5s; - -moz-transition-timing-function: ease-out; - -o-transition-property: background-color; - -o-transition-duration: 0.5s; -} -.sub_subMenu:hover{ - transition-property: background-color; - transition-duration: 0.5s; - transition-timing-function: ease-out; - -webkit-transition-property: background-color; - -webkit-transition-duration: 0.5s; - -webkit-transition-timing-function: ease-out; - -moz-transition-property: background-color; - -moz-transition-duration: 0.5s; - -moz-transition-timing-function: ease-out; - -o-transition-property: background-color; - -o-transition-duration: 0.5s; - background-color: #585858 !important; +.sub_subMenu:hover { + transition-property: background-color; + transition-duration: 0.5s; + transition-timing-function: ease-out; + -webkit-transition-property: background-color; + -webkit-transition-duration: 0.5s; + -webkit-transition-timing-function: ease-out; + -moz-transition-property: background-color; + -moz-transition-duration: 0.5s; + -moz-transition-timing-function: ease-out; + -o-transition-property: background-color; + -o-transition-duration: 0.5s; + background-color: #161616 !important; } .menu li.selected { - box-shadow: inset 4px 0 #80BA27; + box-shadow: inset 4px 0 #80ba27; } /* creo que no se usan .is_submenu2 li { @@ -358,35 +371,192 @@ ul li a:hover { } */ .operation { - background-color: #333 !important; - border-top-right-radius: 5px; - border-right-style: solid; - border-right-width: 0px; + background-color: #343434 !important; + border-top-right-radius: 5px; + border-right-style: solid; + border-right-width: 0px; + padding-top: 20px !important; } -.operation .selected { - background-color: #585858 !important; +.operation .selected, +.godmode .selected { + background-color: #282828 !important; } -.menu li, .menu .li.not_selected { - border-radius: 0px 0px 0px 0px; - display: block; - min-height: 35px; - border-bottom: 0px none #424242; - vertical-align: middle; +.operation .selected #title_menu, +.godmode .selected #title_menu { + color: #fff !important; + font-weight: 600; } -.godmode, .menu_icon ul li{ - background-color: #222; -} -.operation .menu_icon ul li{ - background-color: #333; +.menu li, +.menu .li.not_selected { + border-radius: 0px 0px 0px 0px; + display: block; + min-height: 35px; + border-bottom: 0px none #424242; + vertical-align: middle; } -.godmode{ - border-top: 4px solid #777 !important; - padding-bottom: 4px !important; - border-bottom-right-radius: 5px; - border-right-style: solid; - border-right-width: 0px; -} \ No newline at end of file +.godmode { + padding-bottom: 4px !important; + background-color: #343434; +} + +/* Menu icons active */ +.selected#icon_oper-networkconsole { + background: url(../../images/op_network.menu_white.png) no-repeat; +} +.selected#icon_oper-agents { + background: url(../../images/op_monitoring.menu_white.png) no-repeat; +} +.selected#icon_oper-events { + background: url(../../images/op_events.menu_white.png) no-repeat; +} +.selected#icon_oper-users { + background: url(../../images/op_workspace.menu_white.png) no-repeat; +} +.selected#icon_oper-reporting { + background: url(../../images/op_reporting.menu_white.png) no-repeat; +} +.selected#icon_oper-extensions { + background: url(../../images/extensions.menu_white.png) no-repeat; +} +.selected#icon_god-resources { + background: url(../../images/gm_resources.menu_white.png) no-repeat; +} +.selected#icon_god-configuration { + background: url(../../images/gm_configuration.menu_white.png) no-repeat; +} +.selected#icon_god-alerts { + background: url(../../images/gm_alerts.menu_white.png) no-repeat; +} +.selected#icon_god-users { + background: url(../../images/gm_users.menu_white.png) no-repeat; +} +.selected#icon_god-servers { + background: url(../../images/gm_servers.menu_white.png) no-repeat; +} +.selected#icon_god-setup { + background: url(../../images/gm_setup.menu_white.png) no-repeat; +} +.selected#icon_god-events { + background: url(../../images/gm_events.menu_white.png) no-repeat; +} +.selected#icon_god-extensions { + background: url(../../images/builder.menu_white.png) no-repeat; +} +.selected#icon_god-links { + background: url(../../images/links.menu_white.png) no-repeat; +} +.selected#icon_god-um_messages { + background: url(../../images/um_messages.menu_white.png) no-repeat; +} + +#menu_full { + /*height: 100%; Lo he quitado para que no ocupe todo el alto y fixed */ + width: 60px; /* It is changed for classic menu (215px)*/ + position: absolute; /*Fixed: Lo he quitado para que no ocupe todo el alto y fixed */ + z-index: 1; + top: 0; + left: 0; + background-color: #343434; + border-bottom: solid 5px #343434; + min-height: 943px; + /* padding-bottom: 40px; Lo he quitado para que no ocupe todo el alto y fixed */ + /*overflow-x: hidden;*/ +} + +.button_collapse { + height: 55px; + background-color: #4d4d4d; + /* bottom: 0; Lo he quitado para que no ocupe todo el alto y fixed + position: fixed;*/ + width: 60px; /* It is changed for classic menu (215px)*/ + text-align: center; + color: #fff; + cursor: pointer; + background-repeat: no-repeat; + background-position: center; + margin-top: 15px; +} + +.logo_green { + height: 60px; + display: flex; + justify-content: center; + align-items: center; +} + +.operation > li.menu_icon.no_hidden_menu, +.godmode > li.menu_icon.no_hidden_menu { + display: flex; + justify-content: flex-end; + align-items: center; +} + +.operation > li.menu_icon, +.godmode > li.menu_icon { + padding-top: 3px; + padding-bottom: 3px; +} + +.operation div, +.operation a, +.godmode div, +.godmode a { + font-family: "Open Sans", sans-serif; +} + +.menu_full_classic, +.button_classic { + width: 215px !important; + background-image: url(../../images/button_collapse_menu.png); + background-repeat: no-repeat; + background-position: center; +} + +.menu_full_collapsed, +.button_collapsed { + width: 60px !important; + background-image: url(../../images/button_classic_menu.png); + background-repeat: no-repeat; + background-position: center; +} + +#top_btn { + display: none; + position: fixed; + bottom: 100px; + left: 0px; + border: none; + outline: none; + background: url("../../images/to_top_menu.png") no-repeat center; + background-color: #82b92e; + width: 60px; + height: 60px; + /* Estos borrarles despues xk sera img */ + color: white; + cursor: pointer; + font-size: 17px; + border-radius: 5px; +} + +#top_btn:hover { + background-color: #4d4d4d; + /* border: 2px solid #fff;*/ +} + +@media screen and (max-height: 845px) { + .operation > li.menu_icon, + .godmode > li.menu_icon { + padding-top: 1px; + padding-bottom: 1px; + } + .operation { + padding-top: 10px !important; + } + .button_collapse { + margin-top: 10px; + } +} diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css index 5a4717b82f..f23bd48efe 100644 --- a/pandora_console/include/styles/pandora.css +++ b/pandora_console/include/styles/pandora.css @@ -1,51 +1,119 @@ -/* -Author: The Pandora FMS team -Name: Default theme -Description: The default Pandora FMS theme layout - -// Pandora FMS - http://pandorafms.com -// ========================================================== -// Copyright (c) 2004-2019 Artica Soluciones Tecnológicas S.L - -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; version 2 - -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -/* Tree view styles */ -/*@import url(tree.css); -@import url(fixed-bottom-box.css);*/ +/** + * + * Name: Default theme + * + * Extension to manage a list of gateways and the node address where they should + * point to. + * + * @category Extensions + * @package Pandora FMS + * @subpackage Community + * @version 1.0.0 + * @license See below + * + * ______ ___ _______ _______ ________ + * | __ \.-----.--.--.--| |.-----.----.-----. | ___| | | __| + * | __/| _ | | _ || _ | _| _ | | ___| |__ | + * |___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______| + * + * ============================================================================ + * Copyright (c) 2005-2019 Artica Soluciones Tecnologicas + * Please see http://pandorafms.org for full contribution list + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation for version 2. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * ============================================================================ + */ /* * --------------------------------------------------------------------- * - GENERAL STYLES - * --------------------------------------------------------------------- */ +/* latin-ext */ @font-face { - font-family: 'Nunito'; + font-family: "Open Sans"; font-style: normal; font-weight: 400; - src: local('Nunito-Regular'), url(../../fonts/nunito.woff) format('woff'); + src: local("Open Sans Regular"), local("OpenSans-Regular"), + url(../fonts/mem8YaGs126MiZpBA-UFW50bbck.woff2) format("woff2"); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, + U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + src: local("Open Sans Regular"), local("OpenSans-Regular"), + url(../fonts/mem8YaGs126MiZpBA-UFVZ0b.woff2) format("woff2"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, + U+FEFF, U+FFFD; +} +/* latin-ext */ +@font-face { + font-family: "Open Sans"; + font-style: normal; + font-weight: 600; + src: local("Open Sans SemiBold"), local("OpenSans-SemiBold"), + url(../fonts/mem5YaGs126MiZpBA-UNirkOXOhpOqc.woff2) format("woff2"); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, + U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: "Open Sans"; + font-style: normal; + font-weight: 600; + src: local("Open Sans SemiBold"), local("OpenSans-SemiBold"), + url(../fonts/mem5YaGs126MiZpBA-UNirkOUuhp.woff2) format("woff2"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, + U+FEFF, U+FFFD; +} +/* latin-ext */ +@font-face { + font-family: "Open Sans"; + font-style: normal; + font-weight: 700; + src: local("Open Sans Bold"), local("OpenSans-Bold"), + url(../fonts/mem5YaGs126MiZpBA-UN7rgOXOhpOqc.woff2) format("woff2"); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, + U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: "Open Sans"; + font-style: normal; + font-weight: 700; + src: local("Open Sans Bold"), local("OpenSans-Bold"), + url(../fonts/mem5YaGs126MiZpBA-UN7rgOUuhp.woff2) format("woff2"); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, + U+FEFF, U+FFFD; } @font-face { - font-family: 'lato-thin'; - src: url('../../fonts/Lato-Hairline.ttf'); + font-family: "Nunito"; + font-style: normal; + font-weight: 400; + src: local("Nunito-Regular"), url(../../fonts/nunito.woff) format("woff"); } @font-face { - font-family: 'lato-bolder'; - src: url('../../fonts/Lato-Light.ttf'); + font-family: "lato-thin"; + src: url("../../fonts/Lato-Hairline.ttf"); } @font-face { - font-family: 'lato-boldest'; - src: url('../../fonts/Lato-Regular.ttf'); + font-family: "lato-bolder"; + src: url("../../fonts/Lato-Light.ttf"); +} +@font-face { + font-family: "lato-boldest"; + src: url("../../fonts/Lato-Regular.ttf"); } * { font-family: verdana, sans-serif; @@ -59,8 +127,9 @@ body { background-color: #fff; margin: 0 auto; } -input, textarea { - border: 1px solid #ddd; +input, +textarea { + border: 1px solid #ddd; } textarea { padding: 5px; @@ -128,330 +197,312 @@ a:hover { color: #373737; text-decoration: underline; } -a:focus, input:focus, button:focus { - outline-width: 0; - outline: 0; +a:focus, +input:focus, +button:focus { + outline: 0; + outline-width: 0; } th > label { - padding-top: 7px; + padding-top: 7px; } input:disabled { - background-color: #DDD !important; + background-color: #ddd !important; } textarea:disabled { - background-color: #DDD !important; + background-color: #ddd !important; } select:disabled { - background-color: #DDD !important; + background-color: #ddd !important; } ul { - list-style-type: none; - padding-left: 0; - margin-left: 0; + list-style-type: none; + padding-left: 0; + margin-left: 0; } -code, pre { - font-family: courier, serif; +code, +pre { + font-family: courier, serif; } fieldset { - background-color:#F9FAF9; - border: 1px solid #E2E2E2; - padding:0.5em; - margin-bottom:20px; - position:relative; + background-color: #f9faf9; + border: 1px solid #e2e2e2; + padding: 0.5em; + margin-bottom: 20px; + position: relative; } fieldset legend { - font-size:1.1em; - font-weight:bold; - line-height: 20px; - color: #3F3F3F; + font-size: 1.1em; + font-weight: bold; + line-height: 20px; + color: #3f3f3f; } -td input[type=checkbox]{ +td input[type="checkbox"] { padding: 10px; margin-top: 2px; display: table-cell; } -input[type=image] { - border:0px; - background-color: transparent !important; +input[type="image"] { + border: 0px; + background-color: transparent !important; } -table, img { - border: 0px; +table, +img { + border: 0px; } -table pre{ - white-space: pre-wrap; +table pre { + white-space: pre-wrap; } -tr:first-child>th { - background-color: #373737; +tr:first-child > th { + background-color: #373737; } th { - color: #fff; - background-color: #666; - font-size: 7.5pt; - letter-spacing: 0.3pt; + color: #fff; + background-color: #666; + font-size: 7.5pt; + letter-spacing: 0.3pt; } /* --- Font ttf --- */ -@font-face -{ - font-family: 'DejaVuSerif-BoldFont'; - src: url('../fonts/DejaVuSerif-Bold.ttf') format('truetype'); +@font-face { + font-family: "DejaVuSerif-BoldFont"; + src: url("../fonts/DejaVuSerif-Bold.ttf") format("truetype"); } -.DejaVuSerif-Bold{ - font-family: DejaVuSerif-BoldFont; +.DejaVuSerif-Bold { + font-family: DejaVuSerif-BoldFont; } -@font-face -{ - font-family: 'DejaVuSerif-BoldItalicFont'; - src: url('../fonts/DejaVuSerif-BoldItalic.ttf') format('truetype'); +@font-face { + font-family: "DejaVuSerif-BoldItalicFont"; + src: url("../fonts/DejaVuSerif-BoldItalic.ttf") format("truetype"); } -.DejaVuSerif-BoldItalic{ - font-family: DejaVuSerif-BoldItalicFont; +.DejaVuSerif-BoldItalic { + font-family: DejaVuSerif-BoldItalicFont; } -@font-face -{ - font-family: 'DejaVuSerif-ItalicFont'; - src: url('../fonts/DejaVuSerif-Italic.ttf') format('truetype'); +@font-face { + font-family: "DejaVuSerif-ItalicFont"; + src: url("../fonts/DejaVuSerif-Italic.ttf") format("truetype"); } -.DejaVuSerif-Italic{ - font-family: DejaVuSerif-ItalicFont; +.DejaVuSerif-Italic { + font-family: DejaVuSerif-ItalicFont; } -@font-face -{ - font-family: 'DejaVuSerifFont'; - src: url('../fonts/DejaVuSerif.ttf') format('truetype'); +@font-face { + font-family: "DejaVuSerifFont"; + src: url("../fonts/DejaVuSerif.ttf") format("truetype"); } -.DejaVuSerif{ - font-family: DejaVuSerifFont; +.DejaVuSerif { + font-family: DejaVuSerifFont; } -@font-face -{ - font-family: 'DejaVuSerifCondensed-BoldFont'; - src: url('../fonts/DejaVuSerifCondensed-Bold.ttf') format('truetype'); +@font-face { + font-family: "DejaVuSerifCondensed-BoldFont"; + src: url("../fonts/DejaVuSerifCondensed-Bold.ttf") format("truetype"); } -.DejaVuSerifCondensed-Bold{ - font-family: DejaVuSerifCondensed-BoldFont; +.DejaVuSerifCondensed-Bold { + font-family: DejaVuSerifCondensed-BoldFont; } -@font-face -{ - font-family: 'DejaVuSerifCondensed-BoldItalicFont'; - src: url('../fonts/DejaVuSerifCondensed-BoldItalic.ttf') format('truetype'); +@font-face { + font-family: "DejaVuSerifCondensed-BoldItalicFont"; + src: url("../fonts/DejaVuSerifCondensed-BoldItalic.ttf") format("truetype"); } -.DejaVuSerifCondensed-BoldItalic{ - font-family: DejaVuSerifCondensed-BoldItalicFont; +.DejaVuSerifCondensed-BoldItalic { + font-family: DejaVuSerifCondensed-BoldItalicFont; } -@font-face -{ - font-family: 'DejaVuSerifCondensed-ItalicFont'; - src: url('../fonts/DejaVuSerifCondensed-Italic.ttf') format('truetype'); +@font-face { + font-family: "DejaVuSerifCondensed-ItalicFont"; + src: url("../fonts/DejaVuSerifCondensed-Italic.ttf") format("truetype"); } -.DejaVuSerifCondensed-Italic{ - font-family: DejaVuSerifCondensed-ItalicFont; +.DejaVuSerifCondensed-Italic { + font-family: DejaVuSerifCondensed-ItalicFont; } -@font-face -{ - font-family: 'DejaVuSerifCondensedFont'; - src: url('../fonts/DejaVuSerifCondensed.ttf') format('truetype'); +@font-face { + font-family: "DejaVuSerifCondensedFont"; + src: url("../fonts/DejaVuSerifCondensed.ttf") format("truetype"); } -.DejaVuSerifCondensed{ - font-family: DejaVuSerifCondensedFont; +.DejaVuSerifCondensed { + font-family: DejaVuSerifCondensedFont; } -@font-face -{ - font-family: 'FreeSansFont'; - src: url('../fonts/FreeSans.ttf') format('truetype'); +@font-face { + font-family: "FreeSansFont"; + src: url("../fonts/FreeSans.ttf") format("truetype"); } -.FreeSans{ - font-family: FreeSansFont; +.FreeSans { + font-family: FreeSansFont; } -@font-face -{ - font-family: 'FreeSansBoldFont'; - src: url('../fonts/FreeSansBold.ttf') format('truetype'); +@font-face { + font-family: "FreeSansBoldFont"; + src: url("../fonts/FreeSansBold.ttf") format("truetype"); } -.FreeSansBold{ - font-family: FreeSansBoldFont; +.FreeSansBold { + font-family: FreeSansBoldFont; } -@font-face -{ - font-family: 'smallfontFont'; - src: url('../fonts/smallfont.ttf') format('truetype'); +@font-face { + font-family: "smallfontFont"; + src: url("../fonts/smallfont.ttf") format("truetype"); } -.smallfont{ - font-family: smallfontFont; +.smallfont { + font-family: smallfontFont; } -@font-face -{ - font-family: 'unicodeFont'; - src: url('../fonts/unicode.ttf') format('truetype'); +@font-face { + font-family: "unicodeFont"; + src: url("../fonts/unicode.ttf") format("truetype"); } -@font-face -{ - font-family: 'roboto'; - src: url('../../fonts/roboto.woff2') format('woff2'); +@font-face { + font-family: "roboto"; + src: url("../../fonts/roboto.woff2") format("woff2"); } -@font-face -{ - font-family: 'opensans'; - src: url('../../fonts/opensans.woff2') format('woff2'); +@font-face { + font-family: "opensans"; + src: url("../../fonts/opensans.woff2") format("woff2"); } -@font-face -{ - font-family: 'lato'; - src: url('../../fonts/lato.woff2') format('woff2'); +@font-face { + font-family: "lato"; + src: url("../../fonts/lato.woff2") format("woff2"); } -@font-face -{ - font-family: 'leaguegothic'; - src: url('../../fonts/leaguegothic.woff') format('woff'); +@font-face { + font-family: "leaguegothic"; + src: url("../../fonts/leaguegothic.woff") format("woff"); } -.unicode{ - font-family: unicodeFont; +.unicode { + font-family: unicodeFont; } /* * --------------------------------------------------------------------- - * - GLOBAL STYLES - + * - GLOBAL STYLES - * --------------------------------------------------------------------- */ div#page { - background: #FFF; - background-image: none; - clear: both; - width: auto; + background: #fff; + background-image: none; + clear: both; + width: auto; + margin-top: 20px !important; + padding-left: 60px; /* It is changed for classic menu (215px)*/ + margin-right: 30px; + margin-left: 30px; } body.pure { - background-color: #fff; + background-color: #fff; } div#container { - margin: 0 auto; - min-width: 960px; - text-align: left; - height: 100%; - background: #FFF; - width: 100%; + margin: 0 auto; + min-width: 960px; + text-align: left; + height: 100%; + background: #fff; + width: 100%; } div#main { - width: auto; - margin: 0px 0% 0px 0%; - float: left; - position: relative; - min-height: 850px; - margin-left:60px; - max-width: 93%; - min-width: 93%; + width: auto; + margin: 0 auto; + position: relative; + min-height: 850px; + max-width: 100%; + min-width: 93%; } textarea.conf_editor { - padding: 5px; - width: 650px; - height: 350px; + padding: 5px; + width: 650px; + height: 350px; } textarea.conf_error { - background-image: url(../../images/err.png); - background-repeat: no-repeat; - background-position: top right; -} - -input.button { - font-family: Arial,Sans-serif; - border: 4px solid #ccc; - background: #fff; - padding: 2px 3px; - margin: 10px 15px; + background-image: url(../../images/err.png); + background-repeat: no-repeat; + background-position: top right; } a.white_bold { - color: #eee; - text-decoration: none; - font-weight: bold; + color: #eee; + text-decoration: none; + font-weight: bold; } a.white { - color: #eee; - text-decoration: none; + color: #eee; + text-decoration: none; } p.center { - text-align: center; + text-align: center; } .img_help { - cursor: help; + cursor: help; } #loading { - position:fixed; - width: 200px; - margin-left: 30%; - text-align:center; - top: 50%; - background-color: #999999; - padding: 20px; + position: fixed; + width: 200px; + margin-left: 30%; + text-align: center; + top: 50%; + background-color: #999999; + padding: 20px; } -.tactical_set legend{ - text-align:left; - color: #3F3F3F; +.tactical_set legend { + text-align: left; + color: #3f3f3f; } -.tactical_set{ - background: #FFF; - border: 1px solid #E2E2E2; - margin-left: auto; - margin-right: auto; - width: auto; +.tactical_set { + background: #fff; + border: 1px solid #e2e2e2; + margin-left: auto; + margin-right: auto; + width: auto; } /* --- Botones --- */ input.sub { - font-weight: normal; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; - border-radius: 2px; - font-size: 8pt; - background-color: #333 !important; - background-repeat: no-repeat !important; - background-position: 92% 3px !important; - color: white !important; - padding: 3px 3px 5px 12px; - border-color: #333; + font-weight: normal; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + font-size: 8pt; + background-color: #333 !important; + background-repeat: no-repeat !important; + background-position: 92% 3px !important; + color: white !important; + padding: 3px 3px 5px 12px; + border-color: #333; } input.sub[disabled] { - color: #B4B4B4 !important; - background-color: #F3F3F3 !important; - border-color: #B6B6B6; - cursor: default; + color: #b4b4b4 !important; + background-color: #f3f3f3 !important; + border-color: #b6b6b6; + cursor: default; } /* @@ -460,43 +511,43 @@ input.sub[disabled] { * --------------------------------------------------------------------- */ #noaccess { - position: relative; - margin-top:25px; - left: 15px; - padding-top: 5px; - background-color: #FFFFFF; - border-top-left-radius: 2px; - border-top-right-radius: 2px; - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; + position: relative; + margin-top: 25px; + left: 15px; + padding-top: 5px; + background-color: #ffffff; + border-top-left-radius: 2px; + border-top-right-radius: 2px; + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; } #noaccess-title { - color: #FFF; - font-weight: bold; - padding-top: 5px; - margin-left: 5px; - background: none repeat scroll 0% 0% #82B92E; - border-top-left-radius: 2px; - border-top-right-radius: 2px; - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; - text-align: center; + color: #fff; + font-weight: bold; + padding-top: 5px; + margin-left: 5px; + background: none repeat scroll 0% 0% #82b92e; + border-top-left-radius: 2px; + border-top-right-radius: 2px; + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; + text-align: center; } #noaccess-text { - font-size: 12px; - text-align: justify; - padding-top: 25px; - padding-right: 50px; - float:right; + font-size: 12px; + text-align: justify; + padding-top: 25px; + padding-right: 50px; + float: right; } #noaccess-image { - position: relative; - left: 10px; - top: 10px; - float:left; + position: relative; + left: 10px; + top: 10px; + float: left; } /*div#activity{ @@ -523,61 +574,62 @@ div#db_ftxt { padding-top: 10px; }*/ - /* * --------------------------------------------------------------------- * - HELP DIALOG - login_help_dialog.php and pandora_help.php - * --------------------------------------------------------------------- */ div#main_help { - width: 100%; + width: 100%; } -div#main_help div.databox, .license_databox { - background: F3F3F3; - -moz-border-radius: 8px; - -webkit-border-radius: 8px; - border-radius: 8px; - border: 0px; - padding-left: 25px; - padding-right: 25px; - margin-top: 10px; - -moz-box-shadow: -1px 1px 6px #aaa; - -webkit-box-shadow: -1px 1px 6px #aaa; - box-shadow: -1px 1px 6px #aaa; - +div#main_help div.databox, +.license_databox { + background: F3F3F3; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + border-radius: 8px; + border: 0px; + padding-left: 25px; + padding-right: 25px; + margin-top: 10px; + -moz-box-shadow: -1px 1px 6px #aaa; + -webkit-box-shadow: -1px 1px 6px #aaa; + box-shadow: -1px 1px 6px #aaa; } -div#main_help div.databox h1{ - padding-bottom: 0px; - margin-bottom: 0px; - font-weight: bold; - font-family: sans-serif, verdana; +div#main_help div.databox h1 { + padding-bottom: 0px; + margin-bottom: 0px; + font-weight: bold; + font-family: sans-serif, verdana; } -div#main_help div.databox h3, div#main_help div.databox h2 { - color: #6EB432; - font-family: sans-serif, verdana; +div#main_help div.databox h3, +div#main_help div.databox h2 { + color: #6eb432; + font-family: sans-serif, verdana; } div#main_help div.databox h3 { - font-size: 12px; + font-size: 12px; } -div#main_help a.footer, div#main_help span { - color: #999; +div#main_help a.footer, +div#main_help span { + color: #999; } -div#main_help div.databox hr{ - width:100%; - border: 0px; - height: 1px; - background-color: #222; - margin: 0px; +div#main_help div.databox hr { + width: 100%; + border: 0px; + height: 1px; + background-color: #222; + margin: 0px; } -div#main_help div.databox p{ - line-height: 15px; - text-align: justify; +div#main_help div.databox p { + line-height: 15px; + text-align: justify; } /* @@ -585,21 +637,27 @@ div#main_help div.databox p{ * - FOOTER - * --------------------------------------------------------------------- */ -a.footer, a.footer span{ - font-size: 9px; - color: white; +a.footer, +a.footer span { + font-size: 9px; + color: white; } div#foot { - font-size: 6pt !important; - border-top: solid 2px #222; - padding-top: 8px; - padding-bottom: 5px; - text-align: center; - background: #333333; - height: 30px; - clear: both; - width: auto; + padding-top: 8px; + padding-bottom: 5px; + text-align: center; + background: #343434; + height: 30px; + clear: both; + width: auto; +} + +div#foot a, +div#foot span { + font-family: "Open Sans", sans-serif; + font-size: 8.5pt; + color: #91a2a7; } /* @@ -608,48 +666,46 @@ div#foot { * --------------------------------------------------------------------- */ div#menu_container { - -moz-border-top-right-radius: 6px; - -webkit-border-top-right-radius: 6px; - border-top-right-radius: 6px; - z-index: 1010; - width: 40px; - height: 100%; + -moz-border-top-right-radius: 6px; + -webkit-border-top-right-radius: 6px; + border-top-right-radius: 6px; + z-index: 1010; + width: 40px; + height: 100%; } div#menu { - width: 45px; - float: left; - z-index: 2000; - position: absolute; + width: 45px; + float: left; + z-index: 2000; + /*position: absolute; Lo he quitado para que no ocupe todo el alto y fixed */ } div#head { - font-size: 8pt; - width: 100%; - height: 60px; - padding-top: 0px; - margin-bottom: 20px; - border-bottom-style: solid; - border-bottom-width: 3px; - border-color: #82B92E; - min-width: 882px; - background-color: #333; - color: white; + font-size: 8pt; + width: 100%; + height: 60px; + padding-top: 0px; + margin: 0 auto; + border-bottom: 1px solid #91a2a7; + min-width: 882px; + background-color: #fff; + color: #000; + z-index: 2; } .fixed_header { - z-index: 9999; - position: fixed; - left: 0; - top: 0; - width: 100%; + z-index: 9999; + position: fixed; + left: 0; + top: 0; + width: 100%; } #ver { - margin-bottom: 25px; + margin-bottom: 25px; } - /*.databox_error { width: 657px !important; height: 400px; @@ -670,27 +726,42 @@ input.datos { background-color: #050505; }*/ - /* * --------------------------------------------------------------------- * - VISUAL MAPS - * --------------------------------------------------------------------- */ -input.vs_button_ghost{ - background-color: transparent !important; - border: 1px solid #82b92e; - color: #82b92e !important; - text-align: center; - padding: 4px 12px; - font-weight: bold; +input.vs_button_ghost { + background-color: transparent !important; + border: 1px solid #82b92e; + color: #82b92e !important; + text-align: center; + padding: 4px 12px; + font-weight: bold; } -input.next, input.upd, input.ok, input.wand, input.delete, input.cog, -input.target, input.search, input.copy, input.add, input.graph, -input.percentile, input.binary, input.camera, input.config, -input.cancel, input.default, input.filter, input.pdf,input.spinn { - padding-right: 30px; - height: 23px; +input.next, +input.upd, +input.ok, +input.wand, +input.delete, +input.cog, +input.target, +input.search, +input.copy, +input.add, +input.graph, +input.percentile, +input.binary, +input.camera, +input.config, +input.cancel, +input.default, +input.filter, +input.pdf, +input.spinn { + padding-right: 30px; + height: 23px; } input.next { @@ -906,13 +977,6 @@ input.group_item_min[disabled] { background: #fefefe url(../../images/group_green.disabled.png) no-repeat center !important; } -input.color_cloud_min { - background: #fefefe url(../../images/color_cloud_item.png) no-repeat center !important; -} -input.color_cloud_min[disabled] { - background: #fefefe url(../../images/color_cloud_item.disabled.png) no-repeat - center !important; -} div#cont { position: fixed; @@ -925,7 +989,6 @@ div#cont { background-color: #80BA27 !important; }*/ - /*tr.datos, tr.datost, tr.datosb , tr.datos_id, tr.datosf9 { #background-color: #eaeaea; @@ -948,12 +1011,13 @@ tr.datos2b:hover, tr.datos2_id:hover, tr.datos2f9:hover { * --------------------------------------------------------------------- */ .agent_reporting { - margin: 5px; - padding: 5px; + margin: 5px; + padding: 5px; } -.report_table, .agent_reporting { - border: #CCC outset 3px; +.report_table, +.agent_reporting { + border: #ccc outset 3px; } td.datos3, @@ -976,14 +1040,10 @@ td.datos4 * { /* user list php */ tr.disabled_row_user * { - color: grey; + color: grey; } /* global syles */ -.bg { /* op menu */ - background: #82b92e; -} - .bg { /* op menu */ background: #82b92e; @@ -1178,23 +1238,22 @@ div.title_line { -khtml-opacity: 0.5; } - /* * --------------------------------------------------------------------- * - RIGHT MENU SECTION - * --------------------------------------------------------------------- */ -#menu_tab_frame, +#menu_tab_frame, #menu_tab_frame_view { - display: block !important; - border-bottom: 1px solid #80BA27; - max-height: 31px; - min-height: 31px; - width: 100%; - padding-right: 0px; - margin-left: 0px !important; - margin-bottom: 20px; - height: 31px; + display: block !important; + border-bottom: 2px solid #82b92e; + max-height: 31px; + min-height: 31px; + width: 100%; + padding-right: 0px; + margin-left: 0px !important; + margin-bottom: 20px; + height: 31px; } #menu_tab { @@ -1223,7 +1282,7 @@ div.title_line { } #menu_tab li.nomn_high a { - color: #fff; + color: #fff; } #menu_tab .mn li a { display: block; @@ -1231,71 +1290,68 @@ div.title_line { padding: 0px; margin: 0px; } -#menu_tab li.nomn:hover a, #menu_tab li:hover ul a:hover { - color: #fff; +#menu_tab li.nomn:hover a, +#menu_tab li:hover ul a:hover { + color: #fff; } -#menu_tab li.nomn { +#menu_tab li.nomn, +#menu_tab li.nomn_high { min-width: 30px; height: 28px; + margin-top: 0; } -#menu_tab li.nomn_high { - min-width: 30px; - height: 28px; -} - /* --- Submenu --- */ ul.subsubmenu { - border-bottom-right-radius: 5px; - border-bottom-left-radius: 5px; - -moz-border-bottom-right-radius: 5px; - -moz-border-bottom-left-radius: 5px; - -webkit-border-bottom-right-radius: 5px; - -webkit-border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + border-bottom-left-radius: 5px; + -moz-border-bottom-right-radius: 5px; + -moz-border-bottom-left-radius: 5px; + -webkit-border-bottom-right-radius: 5px; + -webkit-border-bottom-left-radius: 5px; - background: #ECECEC !important; + background: #ececec !important; } -ul.subsubmenu li{ - background-color: #ECECEC; - font-weight: bold; - text-decoration: none; - font-size: 14px; - border-color: #E2E2E2; - border-style: solid; - border-width: 1px; +ul.subsubmenu li { + background-color: #ececec; + font-weight: bold; + text-decoration: none; + font-size: 14px; + border-color: #e2e2e2; + border-style: solid; + border-width: 1px; } -ul.subsubmenu li a{ - padding: 0px 10px 5px; +ul.subsubmenu li a { + padding: 0px 10px 5px; } -.subsubmenu{ - position: absolute; - float: right; - z-index: 9999; - display: none; - margin-top: 5px !important ; - left: 0px !important; +.subsubmenu { + position: absolute; + float: right; + z-index: 9999; + display: none; + margin-top: 5px !important ; + left: 0px !important; } -.subsubmenu li{ - margin-top: 0px !important ; +.subsubmenu li { + margin-top: 0px !important ; } div#agent_wizard_subtabs { - position: absolute; - margin-left: 0px; - display: none; - padding-bottom: 3px; - z-index: 1000; + position: absolute; + margin-left: 0px; + display: none; + padding-bottom: 3px; + z-index: 1000; } .agent_wizard_tab:hover { - cursor: default; + cursor: default; } - /* * --------------------------------------------------------------------- * - SECTION TITLE LEFT (green background) - @@ -1367,7 +1423,6 @@ div#agent_wizard_subtabs { font-weight: bold; } - /* span.users { background: url(../../images/group.png) no-repeat; @@ -1458,19 +1513,20 @@ span.rmess, span.nrmess { * - TABLES - * --------------------------------------------------------------------- */ -.databox, .databox_color, .databox_frame { - margin-bottom: 5px; - margin-top: 0px; - margin-left: 0px; - border: 1px solid #e2e2e2; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - +.databox, +.databox_color, +.databox_frame { + margin-bottom: 5px; + margin-top: 0px; + margin-left: 0px; + border: 1px solid #e2e2e2; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; } -.databox_color{ - padding-top: 5px; - background-color: #fafafa; +.databox_color { + padding-top: 5px; + background-color: #fafafa; } table.databox { @@ -1493,8 +1549,7 @@ table.databox { } .databox > thead > tr > th, -.databox > tbody > tr > th, -.databox > thead > tr > th a { +.databox > tbody > tr > th { padding: 9px 7px; font-weight: normal; color: #fff; @@ -1546,7 +1601,6 @@ table.databox { color: #333; } - /* For use in Netflow */ /* table.databox_grid { @@ -1566,18 +1620,18 @@ table.databox_grid > td { */ /* events */ -table.alternate tr:nth-child(odd) td{ - background-color: #ffffff; +table.alternate tr:nth-child(odd) td { + background-color: #ffffff; } table.alternate tr:nth-child(even) td { background-color: #e4e5e4; } table.rounded_cells td { - padding: 4px 4px 4px 10px; - -moz-border-radius: 6px !important; - -webkit-border-radius: 6px !important; - border-radius: 6px !important; + padding: 4px 4px 4px 10px; + -moz-border-radius: 6px !important; + -webkit-border-radius: 6px !important; + border-radius: 6px !important; } /*#head_l { @@ -1633,15 +1687,15 @@ div#logo_text3 { /* end of classes for event priorities */ div#main_pure { - background-color: #fefefe; - text-align: left; - margin-bottom: 25px; - margin-top: 30px; - margin-left: 10px; - margin-right: 10px; - height: 1000px; - width: 98%; - position: static; + background-color: #fefefe; + text-align: left; + margin-bottom: 25px; + margin-top: 30px; + margin-left: 10px; + margin-right: 10px; + height: 1000px; + width: 98%; + position: static; } /*#table-agent-configuration radio { margin-right: 40px; @@ -1663,8 +1717,6 @@ div#main_pure { width: 300px; }*/ - - /* IE 7 Hack */ #editor { *margin-top: 10px !important; @@ -1707,9 +1759,9 @@ span.actions { .actions { min-width: 200px !important; } -select#template, +select#template, select#action { - width: 250px; + width: 250px; } /*#label-checkbox-matches_value, #label-checkbox-copy_modules, @@ -1719,8 +1771,8 @@ select#action { }*/ /* Modules */ -table#simple{ - padding: 30px; +table#simple { + padding: 30px; } table#simple select#id_module_type, table#alert_search select#id_agent, @@ -1961,20 +2013,135 @@ div#pandora_logo_header { float: left; } -#header_table img { +/* + * --------------------------------------------------------------------- + * - HEADER - + * --------------------------------------------------------------------- + */ +#header_table { + margin: 0px; + padding: 0px; margin-top: 0px; + padding-left: 90px; /* It is changed for classic menu */ + padding-right: 30px; +} + +#header_table_inner { + height: 60px; + /*width: 100%;*/ + display: flex; + align-items: center; + justify-content: space-between; +} + +#header_table_inner a, +#header_table_inner span { + font-family: "Open Sans", sans-serif; +} + +.header_left { + display: flex; + justify-content: flex-start; + align-items: center; +} + +.header_center { + display: flex; + justify-content: center; + align-items: center; +} + +.header_right { + display: flex; + justify-content: flex-end; + align-items: center; +} + +.header_left > div, +.header_center > div { + padding-right: 15px; +} + +.header_right > div { + padding-left: 15px; +} + +#header_table_inner > div { + /* border: solid 1px pink;*/ +} + +#header_table_inner > div > div { + /* border: solid 1px fuchsia;*/ +} + +#header_table_inner td a, +#header_table_inner td span { + color: #777; +} + +.header_left img, +.header_center img, +.header_right img { + vertical-align: middle; +} + +#header_user img, +#header_autorefresh { + padding-right: 5px; +} + +#header_alert, +#header_message { + padding-right: 0px; +} + +#header_alert p, +#header_message p { + border-radius: 50%; + padding: 0; + margin: 0; + width: 15px; + position: relative; + height: 15px; + top: -5px; + text-align: center; + display: inline-block; + vertical-align: super; +} + +#header_alert p { + background-color: #ec4e1b; + left: -12px; +} + +#header_message p { + background-color: #82b92e; + left: -9px; +} + +#header_alert span, +#header_message span { + color: #fff; + font-size: 7pt; + font-weight: 600; + font-family: "Open Sans", sans-serif; +} + +@media screen and (max-width: 1024px) { + #header_user span, + #header_searchbar a.tip img { + display: none; + } } .autorefresh_disabled { cursor: not-allowed !important; } -a.autorefresh { - padding-right: 8px; -} - +a.autorefresh_txt, #refrcounter { - color: white; + color: #1c1c1c; + font-size: 8.5pt; } #combo_refr select { @@ -2015,15 +2182,15 @@ div.warn { } ol.steps { - margin-bottom: 70px; + margin-bottom: 70px; } div#steps_clean { - display:none; + display: none; } div#events_list { - float: left; - width: 100%; + float: left; + width: 100%; } /*span#logo_text1 { font: bolder 3em Arial, Sans-serif; @@ -2055,86 +2222,60 @@ div#logo_text3 { vertical-align: middle; } - - /* TABLAS */ /* Cells divs to set individual styles with the table objects */ -div.cellBold { - width: 100%; - height: 100%; +td.cellBold { font-weight: bold; } -div.cellRight { - width: 100%; - height: 100%; +td.cellRight { text-align: right; } -div.cellCenter { - width: 100%; - height: 100%; +td.cellCenter { text-align: center; } -div.cellWhite { - width: 100%; - height: 100%; +td.cellWhite { background: #fff; color: #111; } -div.cellNormal { - width: 100%; - height: 100%; +td.cellNormal { background: #6eb432; color: #fff; } -div.cellCritical { - width: 100%; - height: 100%; +td.cellCritical { background: #f85858; color: #fff; } -div.cellWarning { - width: 100%; - height: 100%; +td.cellWarning { background: #ffea59; color: #111; } -div.cellUnknown { - width: 100%; - height: 100%; +td.cellUnknown { background: #aaaaaa; color: #ffffff; } -div.cellNotInit { - width: 100%; - height: 100%; +td.cellNotInit { background: #3ba0ff; color: #ffffff; } -div.cellAlert { - width: 100%; - height: 100%; +td.cellAlert { background: #ff8800; color: #111; } -div.cellBorder1 { - width: 100%; - height: 100%; +td.cellBorder1 { border: 1px solid #666; } -div.cellBig { - width: 100%; - height: 100%; +td.cellBig { font-size: 18px; } @@ -2164,15 +2305,15 @@ div.cellBig { /* Standard styles for status colos (groups, events, backgrounds...) */ .opacity_cell { - filter:alpha(opacity=80); /* For IE8 and earlier */ - -moz-opacity: 0.8; - opacity: 0.8; - -khtml-opacity: 0.8; + filter: alpha(opacity=80); /* For IE8 and earlier */ + -moz-opacity: 0.8; + opacity: 0.8; + -khtml-opacity: 0.8; } -tr.group_view_data, +tr.group_view_data, .group_view_data { - color: #3F3F3F; + color: #3f3f3f; } tr.group_view_crit, @@ -2181,10 +2322,10 @@ tr.group_view_crit, color: #fff; } -tr.group_view_ok, +tr.group_view_ok, .group_view_ok { - background-color: #80BA27; - color: #fff; + background-color: #80ba27; + color: #fff; } tr.group_view_not_init, @@ -2291,14 +2432,16 @@ td.datos_orangef9 { padding: 5px 5px 5px 5px; } - /* global */ -input#text-id_parent.ac_input, input, textarea, select { - background-color: #ffffff !important; - border: 1px solid #cbcbcb; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; +input#text-id_parent.ac_input, +input, +textarea, +select { + background-color: #ffffff !important; + border: 1px solid #cbcbcb; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } /* plugins */ @@ -2306,130 +2449,325 @@ span#plugin_description { font-size: 9px; } - /* * --------------------------------------------------------------------- * - TINYMCE - * --------------------------------------------------------------------- */ #tinymce { - text-align: left; - padding-top:20px; + text-align: left; + padding-top: 20px; } -.visual_font_size_4pt, .visual_font_size_4pt > em, .visual_font_size_4pt > strong, .visual_font_size_4pt > strong > span, .visual_font_size_4pt > span, .visual_font_size_4pt > strong > em, .visual_font_size_4pt > em > strong, .visual_font_size_4pt em span, .visual_font_size_4pt span em { - font-size: 4pt !important; - line-height: 4pt; +.visual_font_size_4pt, +.visual_font_size_4pt > em, +.visual_font_size_4pt > strong, +.visual_font_size_4pt > strong > span, +.visual_font_size_4pt > span, +.visual_font_size_4pt > strong > em, +.visual_font_size_4pt > em > strong, +.visual_font_size_4pt em span, +.visual_font_size_4pt span em { + font-size: 4pt !important; + line-height: 4pt; } -.visual_font_size_6pt, .visual_font_size_6pt > em, .visual_font_size_6pt > strong, .visual_font_size_6pt > strong > span, .visual_font_size_6pt > span, .visual_font_size_6pt > strong > em, .visual_font_size_6pt > em > strong, .visual_font_size_6pt em span, .visual_font_size_6pt span em { - font-size: 6pt !important; - line-height: 6pt; +.visual_font_size_6pt, +.visual_font_size_6pt > em, +.visual_font_size_6pt > strong, +.visual_font_size_6pt > strong > span, +.visual_font_size_6pt > span, +.visual_font_size_6pt > strong > em, +.visual_font_size_6pt > em > strong, +.visual_font_size_6pt em span, +.visual_font_size_6pt span em { + font-size: 6pt !important; + line-height: 6pt; } -.visual_font_size_8pt, .visual_font_size_8pt > em, .visual_font_size_8pt > strong, .visual_font_size_8pt > strong > span , .visual_font_size_8pt > span, .visual_font_size_8pt > strong > em, .visual_font_size_8pt > em > strong, .visual_font_size_8pt em span, .visual_font_size_8pt span em { - font-size: 8pt !important; - line-height: 8pt; +.visual_font_size_8pt, +.visual_font_size_8pt > em, +.visual_font_size_8pt > strong, +.visual_font_size_8pt > strong > span, +.visual_font_size_8pt > span, +.visual_font_size_8pt > strong > em, +.visual_font_size_8pt > em > strong, +.visual_font_size_8pt em span, +.visual_font_size_8pt span em { + font-size: 8pt !important; + line-height: 8pt; } -.visual_font_size_10pt, .visual_font_size_10pt > em, .visual_font_size_10pt > strong, .visual_font_size_10pt > strong > span , .visual_font_size_10pt > span, .visual_font_size_10pt > strong > em, .visual_font_size_10pt > em > strong, .visual_font_size_10pt em span, .visual_font_size_10pt span em { - font-size: 10pt !important; - line-height: 10pt; +.visual_font_size_10pt, +.visual_font_size_10pt > em, +.visual_font_size_10pt > strong, +.visual_font_size_10pt > strong > span, +.visual_font_size_10pt > span, +.visual_font_size_10pt > strong > em, +.visual_font_size_10pt > em > strong, +.visual_font_size_10pt em span, +.visual_font_size_10pt span em { + font-size: 10pt !important; + line-height: 10pt; } -.visual_font_size_12pt, .visual_font_size_12pt > em, .visual_font_size_12pt > strong, .visual_font_size_12pt > strong > span , .visual_font_size_12pt > span, .visual_font_size_12pt > strong > em, .visual_font_size_12pt > em > strong, .visual_font_size_12pt em span, .visual_font_size_12pt span em { - font-size: 12pt !important; - line-height: 12pt; +.visual_font_size_12pt, +.visual_font_size_12pt > em, +.visual_font_size_12pt > strong, +.visual_font_size_12pt > strong > span, +.visual_font_size_12pt > span, +.visual_font_size_12pt > strong > em, +.visual_font_size_12pt > em > strong, +.visual_font_size_12pt em span, +.visual_font_size_12pt span em { + font-size: 12pt !important; + line-height: 12pt; } -.visual_font_size_14pt, .visual_font_size_14pt > em , .visual_font_size_14pt > strong, .visual_font_size_14pt > strong > span, .visual_font_size_14pt > span, .visual_font_size_14pt > strong > em, .visual_font_size_14pt > em > strong, .visual_font_size_14pt em span, .visual_font_size_14pt span em { - font-size: 14pt !important; - line-height: 14pt; +.visual_font_size_14pt, +.visual_font_size_14pt > em, +.visual_font_size_14pt > strong, +.visual_font_size_14pt > strong > span, +.visual_font_size_14pt > span, +.visual_font_size_14pt > strong > em, +.visual_font_size_14pt > em > strong, +.visual_font_size_14pt em span, +.visual_font_size_14pt span em { + font-size: 14pt !important; + line-height: 14pt; } -.visual_font_size_18pt, .visual_font_size_18pt > em , .visual_font_size_18pt > strong, .visual_font_size_18pt > strong > span, .visual_font_size_18pt > span, .visual_font_size_18pt > strong > em, .visual_font_size_18pt > em > strong, .visual_font_size_18pt em span, .visual_font_size_18pt span em { - font-size: 18pt !important; - line-height: 18pt; +.visual_font_size_18pt, +.visual_font_size_18pt > em, +.visual_font_size_18pt > strong, +.visual_font_size_18pt > strong > span, +.visual_font_size_18pt > span, +.visual_font_size_18pt > strong > em, +.visual_font_size_18pt > em > strong, +.visual_font_size_18pt em span, +.visual_font_size_18pt span em { + font-size: 18pt !important; + line-height: 18pt; } -.visual_font_size_24pt, .visual_font_size_24pt > em, .visual_font_size_24pt > strong, .visual_font_size_24pt > strong > span , .visual_font_size_24pt > span, .visual_font_size_24pt > strong > em, .visual_font_size_24pt > em > strong, .visual_font_size_24pt em span, .visual_font_size_24pt span em { - font-size: 24pt !important; - line-height: 24pt; +.visual_font_size_24pt, +.visual_font_size_24pt > em, +.visual_font_size_24pt > strong, +.visual_font_size_24pt > strong > span, +.visual_font_size_24pt > span, +.visual_font_size_24pt > strong > em, +.visual_font_size_24pt > em > strong, +.visual_font_size_24pt em span, +.visual_font_size_24pt span em { + font-size: 24pt !important; + line-height: 24pt; } -.visual_font_size_28pt, .visual_font_size_28pt > em, .visual_font_size_28pt > strong, .visual_font_size_28pt > strong > span , .visual_font_size_28pt > span, .visual_font_size_28pt > strong > em, .visual_font_size_28pt > em > strong, .visual_font_size_28pt em span, .visual_font_size_28pt span em { - font-size: 28pt !important; - line-height: 28pt; +.visual_font_size_28pt, +.visual_font_size_28pt > em, +.visual_font_size_28pt > strong, +.visual_font_size_28pt > strong > span, +.visual_font_size_28pt > span, +.visual_font_size_28pt > strong > em, +.visual_font_size_28pt > em > strong, +.visual_font_size_28pt em span, +.visual_font_size_28pt span em { + font-size: 28pt !important; + line-height: 28pt; } -.visual_font_size_36pt, .visual_font_size_36pt > em, .visual_font_size_36pt > strong, .visual_font_size_36pt > strong > span, .visual_font_size_36pt > span, .visual_font_size_36pt > strong > em, .visual_font_size_36pt > em > strong, .visual_font_size_36pt em span, .visual_font_size_36pt span em { - font-size: 36pt !important; - line-height: 36pt; +.visual_font_size_36pt, +.visual_font_size_36pt > em, +.visual_font_size_36pt > strong, +.visual_font_size_36pt > strong > span, +.visual_font_size_36pt > span, +.visual_font_size_36pt > strong > em, +.visual_font_size_36pt > em > strong, +.visual_font_size_36pt em span, +.visual_font_size_36pt span em { + font-size: 36pt !important; + line-height: 36pt; } -.visual_font_size_48pt, .visual_font_size_48pt > em, .visual_font_size_48pt > strong, .visual_font_size_48pt > strong > span, .visual_font_size_48pt > span, .visual_font_size_48pt > strong > em, .visual_font_size_48pt > em > strong, .visual_font_size_48pt em span, .visual_font_size_48pt span em { - font-size: 48pt !important; - line-height: 48pt; +.visual_font_size_48pt, +.visual_font_size_48pt > em, +.visual_font_size_48pt > strong, +.visual_font_size_48pt > strong > span, +.visual_font_size_48pt > span, +.visual_font_size_48pt > strong > em, +.visual_font_size_48pt > em > strong, +.visual_font_size_48pt em span, +.visual_font_size_48pt span em { + font-size: 48pt !important; + line-height: 48pt; } -.visual_font_size_60pt, .visual_font_size_60pt > em, .visual_font_size_60pt > strong, .visual_font_size_60pt > strong > span, .visual_font_size_60pt > span, .visual_font_size_60pt > strong > em, .visual_font_size_60pt > em > strong, .visual_font_size_60pt em span, .visual_font_size_60pt span em { - font-size: 60pt !important; - line-height: 60pt; +.visual_font_size_60pt, +.visual_font_size_60pt > em, +.visual_font_size_60pt > strong, +.visual_font_size_60pt > strong > span, +.visual_font_size_60pt > span, +.visual_font_size_60pt > strong > em, +.visual_font_size_60pt > em > strong, +.visual_font_size_60pt em span, +.visual_font_size_60pt span em { + font-size: 60pt !important; + line-height: 60pt; } -.visual_font_size_72pt, .visual_font_size_72pt > em, .visual_font_size_72pt > strong, .visual_font_size_72pt > strong > span, .visual_font_size_72pt > span, .visual_font_size_72pt > strong > em, .visual_font_size_72pt > em > strong, .visual_font_size_72pt em span, .visual_font_size_72pt span em { - font-size: 72pt !important; - line-height: 72pt; +.visual_font_size_72pt, +.visual_font_size_72pt > em, +.visual_font_size_72pt > strong, +.visual_font_size_72pt > strong > span, +.visual_font_size_72pt > span, +.visual_font_size_72pt > strong > em, +.visual_font_size_72pt > em > strong, +.visual_font_size_72pt em span, +.visual_font_size_72pt span em { + font-size: 72pt !important; + line-height: 72pt; } -.visual_font_size_84pt, .visual_font_size_84pt > em, .visual_font_size_84pt > strong, .visual_font_size_84pt > strong > span, .visual_font_size_84pt > span, .visual_font_size_84pt > strong > em, .visual_font_size_84pt > em > strong, .visual_font_size_84pt em span, .visual_font_size_84pt span em { - font-size: 84pt !important; - line-height: 84pt; +.visual_font_size_84pt, +.visual_font_size_84pt > em, +.visual_font_size_84pt > strong, +.visual_font_size_84pt > strong > span, +.visual_font_size_84pt > span, +.visual_font_size_84pt > strong > em, +.visual_font_size_84pt > em > strong, +.visual_font_size_84pt em span, +.visual_font_size_84pt span em { + font-size: 84pt !important; + line-height: 84pt; } -.visual_font_size_96pt, .visual_font_size_96pt > em, .visual_font_size_96pt > strong, .visual_font_size_96pt > strong > span, .visual_font_size_96pt > span, .visual_font_size_96pt > strong > em, .visual_font_size_96pt > em > strong, .visual_font_size_96pt em span, .visual_font_size_96pt span em { - font-size: 96pt !important; - line-height: 96pt; +.visual_font_size_96pt, +.visual_font_size_96pt > em, +.visual_font_size_96pt > strong, +.visual_font_size_96pt > strong > span, +.visual_font_size_96pt > span, +.visual_font_size_96pt > strong > em, +.visual_font_size_96pt > em > strong, +.visual_font_size_96pt em span, +.visual_font_size_96pt span em { + font-size: 96pt !important; + line-height: 96pt; } -.visual_font_size_116pt, .visual_font_size_116pt > em, .visual_font_size_116pt > strong, .visual_font_size_116pt > strong > span, .visual_font_size_116pt > span, .visual_font_size_116pt > strong > em, .visual_font_size_116pt > em > strong, .visual_font_size_116pt em span, .visual_font_size_116pt span em { - font-size: 116pt !important; - line-height: 116pt; +.visual_font_size_116pt, +.visual_font_size_116pt > em, +.visual_font_size_116pt > strong, +.visual_font_size_116pt > strong > span, +.visual_font_size_116pt > span, +.visual_font_size_116pt > strong > em, +.visual_font_size_116pt > em > strong, +.visual_font_size_116pt em span, +.visual_font_size_116pt span em { + font-size: 116pt !important; + line-height: 116pt; } -.visual_font_size_128pt, .visual_font_size_128pt > em, .visual_font_size_128pt > strong, .visual_font_size_128pt > strong > span, .visual_font_size_128pt > span, .visual_font_size_128pt > strong > em, .visual_font_size_128pt > em > strong, .visual_font_size_128pt em span, .visual_font_size_128pt span em { - font-size: 128pt !important; - line-height: 128pt; +.visual_font_size_128pt, +.visual_font_size_128pt > em, +.visual_font_size_128pt > strong, +.visual_font_size_128pt > strong > span, +.visual_font_size_128pt > span, +.visual_font_size_128pt > strong > em, +.visual_font_size_128pt > em > strong, +.visual_font_size_128pt em span, +.visual_font_size_128pt span em { + font-size: 128pt !important; + line-height: 128pt; } -.visual_font_size_140pt, .visual_font_size_140pt > em, .visual_font_size_140pt > strong, .visual_font_size_140pt > strong > span, .visual_font_size_140pt > span, .visual_font_size_140pt > strong > em, .visual_font_size_140pt > em > strong, .visual_font_size_140pt em span, .visual_font_size_140pt span em { - font-size: 140pt !important; - line-height: 140pt; +.visual_font_size_140pt, +.visual_font_size_140pt > em, +.visual_font_size_140pt > strong, +.visual_font_size_140pt > strong > span, +.visual_font_size_140pt > span, +.visual_font_size_140pt > strong > em, +.visual_font_size_140pt > em > strong, +.visual_font_size_140pt em span, +.visual_font_size_140pt span em { + font-size: 140pt !important; + line-height: 140pt; } -.visual_font_size_154pt, .visual_font_size_154pt > em, .visual_font_size_154pt > strong, .visual_font_size_154pt > strong > span, .visual_font_size_154pt > span, .visual_font_size_154pt > strong > em, .visual_font_size_154pt > em > strong, .visual_font_size_154pt em span, .visual_font_size_154pt span em { - font-size: 154pt !important; - line-height: 154pt; +.visual_font_size_154pt, +.visual_font_size_154pt > em, +.visual_font_size_154pt > strong, +.visual_font_size_154pt > strong > span, +.visual_font_size_154pt > span, +.visual_font_size_154pt > strong > em, +.visual_font_size_154pt > em > strong, +.visual_font_size_154pt em span, +.visual_font_size_154pt span em { + font-size: 154pt !important; + line-height: 154pt; } -.visual_font_size_196pt, .visual_font_size_196pt > em, .visual_font_size_196pt > strong, .visual_font_size_196pt > strong > span, .visual_font_size_196pt > span, .visual_font_size_196pt > strong > em, .visual_font_size_196pt > em > strong, .visual_font_size_196pt em span, .visual_font_size_196pt span em { - font-size: 196pt !important; - line-height: 196pt; +.visual_font_size_196pt, +.visual_font_size_196pt > em, +.visual_font_size_196pt > strong, +.visual_font_size_196pt > strong > span, +.visual_font_size_196pt > span, +.visual_font_size_196pt > strong > em, +.visual_font_size_196pt > em > strong, +.visual_font_size_196pt em span, +.visual_font_size_196pt span em { + font-size: 196pt !important; + line-height: 196pt; } - - -.resize_visual_font_size_8pt, .resize_visual_font_size_8pt > em, .resize_visual_font_size_8pt > strong, .resize_visual_font_size_8pt > strong > span, .resize_visual_font_size_8pt > span, .resize_visual_font_size_8pt > strong > em, .resize_visual_font_size_8pt > em > strong, .visual_font_size_8pt em span, .visual_font_size_8pt span em { - font-size: 4pt !important; - line-height: 4pt; +.resize_visual_font_size_8pt, +.resize_visual_font_size_8pt > em, +.resize_visual_font_size_8pt > strong, +.resize_visual_font_size_8pt > strong > span, +.resize_visual_font_size_8pt > span, +.resize_visual_font_size_8pt > strong > em, +.resize_visual_font_size_8pt > em > strong, +.visual_font_size_8pt em span, +.visual_font_size_8pt span em { + font-size: 4pt !important; + line-height: 4pt; } -.resize_visual_font_size_14pt, .resize_visual_font_size_14pt > em , .resize_visual_font_size_14pt > strong, .resize_visual_font_size_14pt > strong > span, .resize_visual_font_size_14pt > span, .resize_visual_font_size_14pt > strong > em, .resize_visual_font_size_14pt > em > strong, .visual_font_size_14pt em span, .visual_font_size_14pt span em { - font-size: 7pt !important; - line-height: 7pt; +.resize_visual_font_size_14pt, +.resize_visual_font_size_14pt > em, +.resize_visual_font_size_14pt > strong, +.resize_visual_font_size_14pt > strong > span, +.resize_visual_font_size_14pt > span, +.resize_visual_font_size_14pt > strong > em, +.resize_visual_font_size_14pt > em > strong, +.visual_font_size_14pt em span, +.visual_font_size_14pt span em { + font-size: 7pt !important; + line-height: 7pt; } -.resize_visual_font_size_24pt, .resize_visual_font_size_24pt > em, .resize_visual_font_size_24pt > strong, .resize_visual_font_size_24pt > strong > span, .resize_visual_font_size_24pt > span, .resize_visual_font_size_24pt > strong > em, .resize_visual_font_size_24pt > em > strong, .visual_font_size_14pt em span, .visual_font_size_14pt span em { - font-size: 12pt !important; - line-height: 12pt; - +.resize_visual_font_size_24pt, +.resize_visual_font_size_24pt > em, +.resize_visual_font_size_24pt > strong, +.resize_visual_font_size_24pt > strong > span, +.resize_visual_font_size_24pt > span, +.resize_visual_font_size_24pt > strong > em, +.resize_visual_font_size_24pt > em > strong, +.visual_font_size_14pt em span, +.visual_font_size_14pt span em { + font-size: 12pt !important; + line-height: 12pt; } -.resize_visual_font_size_36pt, .resize_visual_font_size_36pt > em, .resize_visual_font_size_36pt > strong, .resize_visual_font_size_36pt > strong > span, .resize_visual_font_size_36pt > span, .resize_visual_font_size_36pt > strong > em, .resize_visual_font_size_36pt > em > strong, .visual_font_size_36pt em span, .visual_font_size_36pt span em { - font-size: 18pt !important; - line-height: 18pt; +.resize_visual_font_size_36pt, +.resize_visual_font_size_36pt > em, +.resize_visual_font_size_36pt > strong, +.resize_visual_font_size_36pt > strong > span, +.resize_visual_font_size_36pt > span, +.resize_visual_font_size_36pt > strong > em, +.resize_visual_font_size_36pt > em > strong, +.visual_font_size_36pt em span, +.visual_font_size_36pt span em { + font-size: 18pt !important; + line-height: 18pt; } -.resize_visual_font_size_72pt, .resize_visual_font_size_72pt > em, .resize_visual_font_size_72pt > strong, .resize_visual_font_size_72pt > strong > span, .resize_visual_font_size_72pt > span, .resize_visual_font_size_72pt > strong > em, .resize_visual_font_size_72pt > em > strong, .visual_font_size_72pt em span, .visual_font_size_72pt span em { - font-size: 36pt !important; - line-height: 36pt; +.resize_visual_font_size_72pt, +.resize_visual_font_size_72pt > em, +.resize_visual_font_size_72pt > strong, +.resize_visual_font_size_72pt > strong > span, +.resize_visual_font_size_72pt > span, +.resize_visual_font_size_72pt > strong > em, +.resize_visual_font_size_72pt > em > strong, +.visual_font_size_72pt em span, +.visual_font_size_72pt span em { + font-size: 36pt !important; + line-height: 36pt; } - /* * --------------------------------------------------------------------- * - LEFT SIDEBAR IN GRAPHS POPUP - stat_win.php - @@ -2550,16 +2888,26 @@ a.tip > img { * --------------------------------------------------------------------- */ input.search_input { - background: white url("../../images/input_zoom.png") no-repeat right; + background-image: url("../../images/input_zoom_gray.png"); + background-position: center right 10px; + background-repeat: no-repeat; + background-size: 17px; + background-color: #f2f6f7 !important; padding: 0px; - padding-left: 5px; margin: 0; - width: 80%; - height: 19px; + width: 200px; + height: 35px; margin-bottom: 5px; margin-left: 2px; - padding-right: 25px; + padding-left: 15px; + padding-right: 40px; color: #999; + font-family: "Open Sans", sans-serif; + border-top-left-radius: 50px; + border-bottom-left-radius: 50px; + border-top-right-radius: 50px; + border-bottom-right-radius: 50px; + border-color: transparent; } /*.vertical_fields td input, .vertical_fields td select { @@ -2574,25 +2922,25 @@ a[id^="tgl_ctrl_"] > b > img { /* Images forced title */ div.forced_title_layer { - display: block; - text-decoration: none; - position: absolute; - z-index: 100000; - border: 1px solid #708090; - background-color: #666; - color: #FFF; - padding: 4px 5px; - font-weight: bold; - font-size: small; - font-size: 11px; - /* IE 8 */ - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=9)"; - /* Netscape */ - -moz-opacity: 0.9; - opacity: 0.9; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; + display: block; + text-decoration: none; + position: absolute; + z-index: 100000; + border: 1px solid #708090; + background-color: #666; + color: #fff; + padding: 4px 5px; + font-weight: bold; + font-size: small; + font-size: 11px; + /* IE 8 */ + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=9)"; + /* Netscape */ + -moz-opacity: 0.9; + opacity: 0.9; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; } /* Graphs styles */ @@ -2627,22 +2975,21 @@ div.nodata_container { } #snmp_data { - width: 40%; - position: absolute; - top:0; - right:20px; + width: 40%; + position: absolute; + top: 0; + right: 20px; } #rmf_data { - width: 40%; - height: 80%; - position: absolute; - top:0; - right:20px; - overflow: auto; + width: 40%; + height: 80%; + position: absolute; + top: 0; + right: 20px; + overflow: auto; } - /* service map */ #container_servicemap_legend { position: absolute; @@ -2858,7 +3205,6 @@ table#policy_modules td * { vertical-align: middle; } - /*.saml_button { float: left; position: fixed; @@ -2870,15 +3216,15 @@ table#policy_modules td * { * - TACTICAL VIEW y TABLAS - * --------------------------------------------------------------------- */ -.status_tactical{ - width: 100%; - margin-left: auto; - margin-right: auto; - background-color: #fff !important; - padding: 10px; - border: 1px solid #e2e2e2; - margin-top: 5%; - text-align: left; +.status_tactical { + width: 100%; + margin-left: auto; + margin-right: auto; + background-color: #fff !important; + padding: 10px; + border: 1px solid #e2e2e2; + margin-top: 5%; + text-align: left; } .status_tactical img { @@ -2943,36 +3289,38 @@ div.div_groups_status { } #title_menu { - color: #fff; + color: #91a2a7; float: right; - width: 70%; + width: 65%; letter-spacing: 0pt; - font-size: 8pt; + font-size: 10pt; white-space: pre-wrap; + padding-top: 0 !important; /* está inline */ + font-family: "Open Sans", sans-serif; } .no_hidden_menu { - background-position: 11% 50% !important; + background-position: 18% 50% !important; } #menu_tab li.nomn, #menu_tab li.nomn_high { - background-color: #ececec; + /*background-color: #ececec;*/ padding-right: 3px; padding-left: 3px; font-weight: bold; text-decoration: none; font-size: 14px; - border-color: #e2e2e2; - border-style: solid; - border-width: 1px; - margin-top: -10px; + border-left: 2px solid #e2e2e2; + margin-top: 0; + min-width: 30px; + height: 28px; } #menu_tab li.nomn_high, #menu_tab li.nomn_high span { color: #fff; - background-color: #fff; + background-color: #ececec; } #menu_tab li.nomn img, @@ -2986,9 +3334,9 @@ div.div_groups_status { background: none !important ; } -.agents_modules_table{ - border: 1px solid #e2e2e2; - border-spacing: 0px; +.agents_modules_table { + border: 1px solid #e2e2e2; + border-spacing: 0px; } .agents_modules_table td { border: 1px solid #e2e2e2; @@ -3052,7 +3400,6 @@ div.div_groups_status { text-align: left !important; } - .green_title { background-color: #82b92e; font-weight: normal; @@ -3144,18 +3491,18 @@ div.div_groups_status { } .vertical_range { - padding: 0; - -webkit-transform: rotate(270deg); + padding: 0; + -webkit-transform: rotate(270deg); -moz-transform: rotate(270deg); transform: rotate(270deg); - width: 200px; - height: 20px; - position: relative; - background: transparent !important; - border: 0px !important; + width: 200px; + height: 20px; + position: relative; + background: transparent !important; + border: 0px !important; - left: -92px; - top: 93px; + left: -92px; + top: 93px; } @media screen and (-webkit-min-device-pixel-ratio: 0) { @@ -3280,20 +3627,18 @@ div#vc-controls div.vc-refr > div { display: inline; } div#vc-controls img.vc-qr { - margin-top: 6px; - margin-left: 8px; - margin-right: 8px; + margin-top: 6px; + margin-left: 8px; + margin-right: 8px; } -div.simple_value > span.text > p, -div.simple_value > span.text > p > span > strong, -div.simple_value > span.text > p > strong, -div.simple_value > a > span.text p -{ - font-family: monospace !important; - white-space: pre; +div.simple_value > span.text > p, +div.simple_value > span.text > p > span > strong, +div.simple_value > span.text > p > strong, +div.simple_value > a > span.text p { + font-family: monospace !important; + white-space: pre; } - /* * --------------------------------------------------------------------- * - EVENTS - @@ -3301,7 +3646,7 @@ div.simple_value > a > span.text p */ /* Image open dialog in group events by agents*/ #open_agent_groups { - cursor: pointer; + cursor: pointer; } /* @@ -3309,266 +3654,267 @@ div.simple_value > a > span.text p * - modal window and edit user - * --------------------------------------------------------------------- */ -#alert_messages{ - -moz-border-bottom-right-radius: 5px; - -webkit-border-bottom-left-radius: 5px; - border-bottom-right-radius: 5px; - border-bottom-left-radius: 5px; - z-index:3; - position:fixed; - width:750px; - max-width:750px; - top: 20%; - background:white; - opacity: 0; - transition: opacity 0.5s; - -webkit-transition: opacity 0.5s; +#alert_messages { + -moz-border-bottom-right-radius: 5px; + -webkit-border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + border-bottom-left-radius: 5px; + z-index: 3; + position: fixed; + width: 750px; + max-width: 750px; + top: 20%; + background: white; + opacity: 0; + transition: opacity 0.5s; + -webkit-transition: opacity 0.5s; } -.modalheader{ - text-align:center; - width:100%; - height:37px; - left:0px; - background-color:#82b92e; +.modalheader { + text-align: center; + width: 100%; + height: 37px; + left: 0px; + background-color: #82b92e; } -.modalheadertext{ - color:white; - position:relative; - font-family:Nunito; - font-size:13pt; - top:8px; +.modalheadertext { + color: white; + position: relative; + font-family: "Nunito", sans-serif; + font-size: 13pt; + top: 8px; } -.modalheaderh1{ - text-align:center; - width:100%; - height:26px; - left:0px; - padding-top:10px; - background-color:#82b92e; - color:white; - position:relative; - font-family:Nunito; - font-size:11pt; +.modalheaderh1 { + text-align: center; + width: 100%; + height: 26px; + left: 0px; + padding-top: 10px; + background-color: #82b92e; + color: white; + position: relative; + font-family: "Nunito", sans-serif; + font-size: 11pt; } -.modalclosex{ - cursor:pointer; - display:inline; - float:right; - margin-right:10px; - margin-top:10px; +.modalclosex { + cursor: pointer; + display: inline; + float: right; + margin-right: 10px; + margin-top: 10px; } -.modalclosex:hover{ - cursor:pointer; - display:inline; - float:right; - margin-right:10px; - margin-top:10px; +.modalclosex:hover { + cursor: pointer; + display: inline; + float: right; + margin-right: 10px; + margin-top: 10px; } -.modalcontent{ - color:black; - background:white; +.modalcontent { + color: black; + background: white; } -.modalcontentimg{ - float:left; - margin-left:30px; - margin-top:30px; - margin-bottom:30px; +.modalcontentimg { + float: left; + margin-left: 30px; + margin-top: 30px; + margin-bottom: 30px; } -.modalcontenttext{ - float:left; - text-align:justify; - color:black; - font-size: 9.5pt; - line-height:13pt; - margin-top:30px; - width:430px; - margin-left:30px; +.modalcontenttext { + float: left; + text-align: justify; + color: black; + font-size: 9.5pt; + line-height: 13pt; + margin-top: 30px; + width: 430px; + margin-left: 30px; } -.modalokbutton{ - transition-property: background-color, color; - transition-duration: 1s; - transition-timing-function: ease-out; - -webkit-transition-property: background-color, color; - -webkit-transition-duration: 1s; - -o-transition-property: background-color, color; - -o-transition-duration: 1s; - cursor:pointer; - text-align:center; - margin-right:45px; - float:right; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - margin-bottom:30px; - border-radius: 3px; - width:90px; - height:30px; - background-color:white; - border: 1px solid #82b92e; +.modalokbutton { + transition-property: background-color, color; + transition-duration: 1s; + transition-timing-function: ease-out; + -webkit-transition-property: background-color, color; + -webkit-transition-duration: 1s; + -o-transition-property: background-color, color; + -o-transition-duration: 1s; + cursor: pointer; + text-align: center; + margin-right: 45px; + float: right; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + margin-bottom: 30px; + border-radius: 3px; + width: 90px; + height: 30px; + background-color: white; + border: 1px solid #82b92e; } -.modalokbuttontext{ - transition-property: background-color, color; - transition-duration: 1s; - transition-timing-function: ease-out; - -webkit-transition-property: background-color, color; - -webkit-transition-duration: 1s; - -o-transition-property: background-color, color; - -o-transition-duration: 1s; - color:#82b92e; - font-family:Nunito; - font-size:10pt; - position:relative; - top:6px; +.modalokbuttontext { + transition-property: background-color, color; + transition-duration: 1s; + transition-timing-function: ease-out; + -webkit-transition-property: background-color, color; + -webkit-transition-duration: 1s; + -o-transition-property: background-color, color; + -o-transition-duration: 1s; + color: #82b92e; + font-family: "Nunito", sans-serif; + font-size: 10pt; + position: relative; + top: 6px; } .modalokbutton:hover { - transition-property: background-color, color; - transition-duration: 1s; - transition-timing-function: ease-out; - -webkit-transition-property: background-color, color; - -webkit-transition-duration: 1s; - -o-transition-property: background-color, color; - -o-transition-duration: 1s; - background-color:#82b92e; + transition-property: background-color, color; + transition-duration: 1s; + transition-timing-function: ease-out; + -webkit-transition-property: background-color, color; + -webkit-transition-duration: 1s; + -o-transition-property: background-color, color; + -o-transition-duration: 1s; + background-color: #82b92e; } .modalokbutton:hover .modalokbuttontext { - transition-property: background-color, color; - transition-duration: 1s; - transition-timing-function: ease-out; - -webkit-transition-property: background-color, color; - -webkit-transition-duration: 1s; - -o-transition-property: background-color, color; - -o-transition-duration: 1s; - color:white; + transition-property: background-color, color; + transition-duration: 1s; + transition-timing-function: ease-out; + -webkit-transition-property: background-color, color; + -webkit-transition-duration: 1s; + -o-transition-property: background-color, color; + -o-transition-duration: 1s; + color: white; } -.modaldeletebutton{ - transition-property: background-color, color; - transition-duration: 1s; - transition-timing-function: ease-out; - -webkit-transition-property: background-color, color; - -webkit-transition-duration: 1s; - -o-transition-property: background-color, color; - -o-transition-duration: 1s; - cursor:pointer; - text-align:center; - margin-left:45px; - float:left; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - margin-bottom:30px; - border-radius: 3px; - width:90px; - height:30px; - background-color:white; - border: 1px solid #FA5858; +.modaldeletebutton { + transition-property: background-color, color; + transition-duration: 1s; + transition-timing-function: ease-out; + -webkit-transition-property: background-color, color; + -webkit-transition-duration: 1s; + -o-transition-property: background-color, color; + -o-transition-duration: 1s; + cursor: pointer; + text-align: center; + margin-left: 45px; + float: left; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + margin-bottom: 30px; + border-radius: 3px; + width: 90px; + height: 30px; + background-color: white; + border: 1px solid #fa5858; } -.modaldeletebuttontext{ - transition-property: background-color, color; - transition-duration: 1s; - transition-timing-function: ease-out; - -webkit-transition-property: background-color, color; - -webkit-transition-duration: 1s; - -o-transition-property: background-color, color; - -o-transition-duration: 1s; - color:#FA5858; - font-family:Nunito; - font-size:10pt; - position:relative;top:6px; +.modaldeletebuttontext { + transition-property: background-color, color; + transition-duration: 1s; + transition-timing-function: ease-out; + -webkit-transition-property: background-color, color; + -webkit-transition-duration: 1s; + -o-transition-property: background-color, color; + -o-transition-duration: 1s; + color: #fa5858; + font-family: "Nunito", sans-serif; + font-size: 10pt; + position: relative; + top: 6px; } .modaldeletebutton:hover .modaldeletebuttontext { - transition-property: background-color, color; - transition-duration: 1s; - transition-timing-function: ease-out; - -webkit-transition-property: background-color, color; - -webkit-transition-duration: 1s; - -o-transition-property: background-color, color; - -o-transition-duration: 1s; - color:white; + transition-property: background-color, color; + transition-duration: 1s; + transition-timing-function: ease-out; + -webkit-transition-property: background-color, color; + -webkit-transition-duration: 1s; + -o-transition-property: background-color, color; + -o-transition-duration: 1s; + color: white; } .modaldeletebutton:hover { - transition-property: background-color, color; - transition-duration: 1s; - transition-timing-function: ease-out; - -webkit-transition-property: background-color, color; - -webkit-transition-duration: 1s; - -o-transition-property: background-color, color; - -o-transition-duration: 1s; - background-color:#FA5858; + transition-property: background-color, color; + transition-duration: 1s; + transition-timing-function: ease-out; + -webkit-transition-property: background-color, color; + -webkit-transition-duration: 1s; + -o-transition-property: background-color, color; + -o-transition-duration: 1s; + background-color: #fa5858; } -.modalgobutton{ - transition-property: background-color, color; - transition-duration: 1s; - transition-timing-function: ease-out; - -webkit-transition-property: background-color, color; - -webkit-transition-duration: 1s; - -o-transition-property: background-color, color; - -o-transition-duration: 1s; - cursor:pointer; - text-align:center; - margin-right:15px; - margin-bottom:30px; - float:right; - -moz-border-radius: 3px; - -webkit-border-radius: 3px; - border-radius: 3px; - width:240px; - height:30px; - background-color:white; - border: 1px solid #82b92e; +.modalgobutton { + transition-property: background-color, color; + transition-duration: 1s; + transition-timing-function: ease-out; + -webkit-transition-property: background-color, color; + -webkit-transition-duration: 1s; + -o-transition-property: background-color, color; + -o-transition-duration: 1s; + cursor: pointer; + text-align: center; + margin-right: 15px; + margin-bottom: 30px; + float: right; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + width: 240px; + height: 30px; + background-color: white; + border: 1px solid #82b92e; } -.modalgobuttontext{ - transition-property: background-color, color; - transition-duration: 1s; - transition-timing-function: ease-out; - -webkit-transition-property: background-color, color; - -webkit-transition-duration: 1s; - -o-transition-property: background-color, color; - -o-transition-duration: 1s; - color:#82b92e; - font-family:Nunito; - font-size:10pt; - position:relative; - top:6px; +.modalgobuttontext { + transition-property: background-color, color; + transition-duration: 1s; + transition-timing-function: ease-out; + -webkit-transition-property: background-color, color; + -webkit-transition-duration: 1s; + -o-transition-property: background-color, color; + -o-transition-duration: 1s; + color: #82b92e; + font-family: "Nunito", sans-serif; + font-size: 10pt; + position: relative; + top: 6px; } .modalgobutton:hover { - transition-property: background-color, color; - transition-duration: 1s; - transition-timing-function: ease-out; - -webkit-transition-property: background-color, color; - -webkit-transition-duration: 1s; - -o-transition-property: background-color, color; - -o-transition-duration: 1s; - background-color:#82b92e; + transition-property: background-color, color; + transition-duration: 1s; + transition-timing-function: ease-out; + -webkit-transition-property: background-color, color; + -webkit-transition-duration: 1s; + -o-transition-property: background-color, color; + -o-transition-duration: 1s; + background-color: #82b92e; } .modalgobutton:hover .modalgobuttontext { - transition-property: background-color, color; - transition-duration: 1s; - transition-timing-function: ease-out; - -webkit-transition-property: background-color, color; - -webkit-transition-duration: 1s; - -o-transition-property: background-color, color; - -o-transition-duration: 1s; - color:white; + transition-property: background-color, color; + transition-duration: 1s; + transition-timing-function: ease-out; + -webkit-transition-property: background-color, color; + -webkit-transition-duration: 1s; + -o-transition-property: background-color, color; + -o-transition-duration: 1s; + color: white; } /* update manager online */ -#opacidad{ - opacity:0; - transition: opacity 3s; - -webkit-transition: opacity 3s; - z-index:1; - width:100%; - height:100%; - position:absolute; - left:0px; - top:0px; +#opacidad { + opacity: 0; + transition: opacity 3s; + -webkit-transition: opacity 3s; + z-index: 1; + width: 100%; + height: 100%; + position: absolute; + left: 0px; + top: 0px; } .textodialogo { @@ -3578,98 +3924,99 @@ div.simple_value > a > span.text p font-size: 9pt; } -.cargatextodialogo{ - max-width:58.5%; - width:58.5%; - min-width:58.5%; - float:left; - margin-left: 0px; - font-size:18pt; - padding:20px; - text-align:center; +.cargatextodialogo { + max-width: 58.5%; + width: 58.5%; + min-width: 58.5%; + float: left; + margin-left: 0px; + font-size: 18pt; + padding: 20px; + text-align: center; } -.cargatextodialogo p, .cargatextodialogo b, .cargatextodialogo a{ - font-size:18pt; +.cargatextodialogo p, +.cargatextodialogo b, +.cargatextodialogo a { + font-size: 18pt; } - /* global */ -.readonly{ - background-color: #dedede !important; +.readonly { + background-color: #dedede !important; } .input_error { - border: 1px solid red; + border: 1px solid red; } -#toolbox > input{ - border-width:0px 1px 0px 0px; - border-color: lightgray; +#toolbox > input { + border-width: 0px 1px 0px 0px; + border-color: lightgray; } -#toolbox > input.service_min{ - border-width:0px 0px 0px 0px; +#toolbox > input.service_min { + border-width: 0px 0px 0px 0px; } -#toolbox > input.grid_min{ - border-width:0px 0px 0px 0px; +#toolbox > input.grid_min { + border-width: 0px 0px 0px 0px; } #filter_event_status, #filter_event_severity, #filter_event_type { - width:50%; + width: 50%; } -.rowPair:hover, .rowOdd:hover{ - background-color: #eee; +.rowPair:hover, +.rowOdd:hover { + background-color: #eee; } -.databox.data > tbody > tr:hover{ - background-color: #eee; +.databox.data > tbody > tr:hover { + background-color: #eee; } -.checkselected{ - background-color: #eee; +.checkselected { + background-color: #eee; } -.tag-wrapper{ - padding: 0 10px 0 0; - overflow: auto; +.tag-wrapper { + padding: 0 10px 0 0; + overflow: auto; } -.pandora-tag{ - float:left; - margin-bottom:18px; - padding:1px 6px 1px 0; +.pandora-tag { + float: left; + margin-bottom: 18px; + padding: 1px 6px 1px 0; } -.pandora-tag-title{ - color: white; - background-color: #373737; - font-weight: bold; - padding: 6px 6px 6px 10px; - border: #373737; - border-width: 1px; - border-top-style: solid; - border-top-left-radius: 12px; - border-left-style: solid; - border-bottom-left-radius: 12px; - border-bottom-style: solid; +.pandora-tag-title { + color: white; + background-color: #373737; + font-weight: bold; + padding: 6px 6px 6px 10px; + border: #373737; + border-width: 1px; + border-top-style: solid; + border-top-left-radius: 12px; + border-left-style: solid; + border-bottom-left-radius: 12px; + border-bottom-style: solid; } -.pandora-tag-value{ - color: #373737; - font-weight: bold; - padding: 6px 10px 6px 6px; - border: #373737; - border-width: 1px; - border-top-style: solid; - border-top-right-radius: 12px; - border-right-style: solid; - border-bottom-right-radius: 12px; - border-bottom-style: solid; +.pandora-tag-value { + color: #373737; + font-weight: bold; + padding: 6px 10px 6px 6px; + border: #373737; + border-width: 1px; + border-top-style: solid; + border-top-right-radius: 12px; + border-right-style: solid; + border-bottom-right-radius: 12px; + border-bottom-style: solid; } - /* * --------------------------------------------------------------------- * - HELP MODAL WINDOWS - pandora_help.php - @@ -3718,7 +4065,6 @@ div#footer_help { padding: 10px; } - /* EVENTS - /ajax/events.php */ /*view-agents lastest events for this agent*/ #div_all_events_24h { @@ -3730,8 +4076,8 @@ div#footer_help { * - REPORTS - graph_container.php - * --------------------------------------------------------------------- */ -.graph_conteiner_inside > .parent_graph{ - width: 100% !important; +.graph_conteiner_inside > .parent_graph { + width: 100% !important; } .graph_conteiner_inside > .parent_graph > .menu_graph { @@ -3755,15 +4101,15 @@ div#footer_help { * - WUX VIEW - * --------------------------------------------------------------------- */ -#mssg_error_div{ - color: red; - font-size: 12px; +#mssg_error_div { + color: red; + font-size: 12px; } -.wux_global_result_container{ - width: 100%; - margin-top: 30px; - margin-bottom: 30px; +.wux_global_result_container { + width: 100%; + margin-top: 30px; + margin-bottom: 30px; } .wux_global_result_title { @@ -3965,10 +4311,9 @@ form ul.form_flex li ul li { cursor: pointer; } - /* snmp */ #snmp_data { - background: #f9faf9; + background: #f9faf9; } #snmp_data .databox { border: 0px; @@ -3981,7 +4326,6 @@ form ul.form_flex li ul li { width: auto !important; } - /* dialog */ .pandora_confirm_dialog .ui-dialog-buttonset { display: flex; @@ -4032,12 +4376,12 @@ tr:first-child > td > a.up_arrow { } /* system group status */ -.group_modules_status_box>tbody>tr>td{ - border-bottom: 1px solid #e2e2e2; - border-collapse: collapse; - border-spacing:0; - width: 10%; - height: 20px; +.group_modules_status_box > tbody > tr > td { + border-bottom: 1px solid #e2e2e2; + border-collapse: collapse; + border-spacing: 0; + width: 10%; + height: 20px; } .group_modules_status_div { @@ -4051,10 +4395,10 @@ tr:first-child > td > a.up_arrow { } /* extensions -> module groups */ -.tooltip_counters h3{ - font-size: 12pt; - padding-bottom: 10px !important; - text-align: center; +.tooltip_counters h3 { + font-size: 12pt; + padding-bottom: 10px !important; + text-align: center; } .tooltip_counters li { @@ -4083,9 +4427,104 @@ div#dialog_messages table th:last-child { text-align: right; } +/* checkbox type toogle switch */ +.toogle_switch { + position: relative; + display: inline-block; + width: 47px; + height: 24px; +} + +.toogle_switch input { + opacity: 0; + width: 0; + height: 0; +} + +.slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #ccc; + -webkit-transition: 0.7s; + transition: 0.7s; + border-radius: 34px; +} + +.slider:before { + position: absolute; + content: ""; + height: 16px; + width: 16px; + left: 4px; + bottom: 4px; + background-color: white; + -webkit-transition: 0.7s; + transition: 0.7s; + border-radius: 50%; +} + +input:checked + .slider { + background-color: #82b92e; +} + +input:focus + .slider { + box-shadow: 0 0 1px #82b92e; +} + +input:checked + .slider:before { + -webkit-transform: translateX(26px); + -ms-transform: translateX(26px); + transform: translateX(26px); + background-color: rgb(197, 235, 192); +} /* jQuery dialog */ .no-close .ui-dialog-titlebar-close { display: none; } /* jQuery dialog */ + +/* + * --------------------------------------------------------------------- + * - STYLES TO CHANGE CLASSIC MENU AND COLLAPSED MENU - + * --------------------------------------------------------------------- + */ +.page_classic { + padding-left: 215px !important; +} + +.page_collapsed { + padding-left: 60px !important; +} + +.header_table_classic { + padding-left: 245px !important; +} + +.header_table_collapsed { + padding-left: 90px !important; +} + +.title_menu_classic { + display: block !important; +} + +.title_menu_collapsed { + display: none !important; +} + +.logo_show { + display: block !important; +} + +.logo_hide { + display: none !important; +} + +.menu_icon_collapsed { + background-position: 50% 50% !important; +} diff --git a/pandora_console/index.php b/pandora_console/index.php index ad4b93465a..b68424d805 100755 --- a/pandora_console/index.php +++ b/pandora_console/index.php @@ -1029,11 +1029,11 @@ if ($config['pure'] == 0) { echo ''; - echo '
'; + echo '
'; } else { echo '
'; } @@ -1363,4 +1363,3 @@ require 'include/php_to_js_values.php'; if (__PAN_XHPROF__ === 1) { pandora_xhprof_display_result('node_index'); } - From 6ec148c59c7980e4b9c792b59480ab3589ad29d3 Mon Sep 17 00:00:00 2001 From: Tatiana Llorente Date: Mon, 25 Feb 2019 12:28:41 +0100 Subject: [PATCH 02/17] new header and menu Former-commit-id: 4375597f0b77ccc577fa486c409e214a7ba00362 --- pandora_console/include/styles/menu.css | 21 --------------------- pandora_console/include/styles/pandora.css | 18 +----------------- 2 files changed, 1 insertion(+), 38 deletions(-) diff --git a/pandora_console/include/styles/menu.css b/pandora_console/include/styles/menu.css index d9ba90e604..cf8e88bae7 100644 --- a/pandora_console/include/styles/menu.css +++ b/pandora_console/include/styles/menu.css @@ -51,13 +51,9 @@ li:hover ul { padding: 10.5px; margin-left: 0px; width: 100%; -<<<<<<< HEAD color: #91a2a7; font-family: "Open Sans", sans-serif; font-size: 10pt; -======= - color: #fff; ->>>>>>> 01fee147745dfd638487449f20211abd8e83b71e } .menu li.subselected a { @@ -285,12 +281,6 @@ ul li a:hover { * - MAIN LEFT MENU and SUBMENU - * --------------------------------------------------------------------- */ -<<<<<<< HEAD -======= -.menu li.selected { - font-weight: bold; -} ->>>>>>> 01fee147745dfd638487449f20211abd8e83b71e .menu_icon { transition-property: background-color; @@ -320,11 +310,7 @@ ul li a:hover { -o-transition-property: background-color; -o-transition-duration: 0.5s; -o-transition-timing-function: ease-out; -<<<<<<< HEAD background-color: #282828 !important; -======= - background-color: #585858 !important; ->>>>>>> 01fee147745dfd638487449f20211abd8e83b71e } .submenu_not_selected:hover { transition-property: background-color; @@ -339,17 +325,10 @@ ul li a:hover { -o-transition-property: background-color; -o-transition-duration: 0.5s; -o-transition-timing-function: ease-out; -<<<<<<< HEAD background-color: #202020 !important; } .submenu_selected:hover { background-color: #202020 !important; -======= - background-color: #585858 !important; -} -.submenu_selected:hover { - background-color: #585858 !important; ->>>>>>> 01fee147745dfd638487449f20211abd8e83b71e } .sub_subMenu { transition-property: background-color; diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css index bcd011188d..e8e2632188 100644 --- a/pandora_console/include/styles/pandora.css +++ b/pandora_console/include/styles/pandora.css @@ -441,14 +441,6 @@ textarea.conf_error { background-position: top right; } -input.button { - font-family: Arial, Sans-serif; - border: 4px solid #ccc; - background: #fff; - padding: 2px 3px; - margin: 10px 15px; -} - a.white_bold { color: #eee; text-decoration: none; @@ -1562,9 +1554,6 @@ table.databox { font-weight: normal; color: #fff; } -.databox > td { - #border-bottom: 1px solid #e2e2e2; -} .databox > th * { color: #fff; @@ -2192,9 +2181,6 @@ div.warn { min-height: 35px !important; } -ol.steps { - margin-bottom: 70px; -} div#steps_clean { display: none; } @@ -2990,6 +2976,7 @@ div.nodata_container { position: absolute; top: 0; right: 20px; + background: #f9faf9; } #rmf_data { @@ -4323,9 +4310,6 @@ form ul.form_flex li ul li { } /* snmp */ -#snmp_data { - background: #f9faf9; -} #snmp_data .databox { border: 0px; } From 3e87c8e93127e1e121dc6b2c4c5ebda44e3e63d1 Mon Sep 17 00:00:00 2001 From: Tatiana Llorente Date: Tue, 26 Feb 2019 10:43:59 +0100 Subject: [PATCH 03/17] new header and menu Former-commit-id: 975b72219cb07e0d4f9b332607e554bd65ea7cc3 --- pandora_console/general/footer.php | 25 +- pandora_console/general/header.php | 1 + pandora_console/general/main_menu.php | 52 +-- pandora_console/godmode/menu.php | 19 +- pandora_console/include/functions_config.php | 423 ++++++------------- pandora_console/include/functions_menu.php | 4 +- pandora_console/include/styles/menu.css | 96 ++++- pandora_console/include/styles/pandora.css | 329 ++++++++++++++- 8 files changed, 589 insertions(+), 360 deletions(-) diff --git a/pandora_console/general/footer.php b/pandora_console/general/footer.php index b847b93f48..48d0613c98 100644 --- a/pandora_console/general/footer.php +++ b/pandora_console/general/footer.php @@ -1,16 +1,19 @@ "; +/* +var type_menu = " + +"; if(type_menu){ console.log('es clasico, mantenlo'); } else{ - console.log('es colapsado, mantenlo'); + console.log('es collapsed, mantenlo'); } - -//Asignar por defecto colapsado !!! IMPORTANTE!!!!!!!!!!!!!!!!!!!!!!!!! +*/ +//Asignar por defecto collapsed !!! IMPORTANTE!!!!!!!!!!!!!!!!!!!!!!!!! $(document).ready(function(){ - var variable_boton = localStorage.getItem("variable"); - document.getElementById("menu_type").innerHTML = variable_boton; + var menuType_value = localStorage.getItem("menuType"); + document.getElementById("menu_type").innerHTML = menuType_value; - if ($('#menu_type').text() == 'colapsado' || $('#menu_type').text() == '') { + if ($('#menu_type').text() == 'collapsed' || $('#menu_type').text() == '') { if($('#menu_type').text() == ''){ - localStorage.setItem("variable", "colapsado"); - document.getElementById("menu_type").innerHTML = localStorage.variable; + localStorage.setItem("menuType", "collapsed"); + document.getElementById("menu_type").innerHTML = localStorage.menuType; } $('#menu_full').removeClass('menu_full_classic').addClass('menu_full_collapsed'); @@ -58,7 +62,7 @@ $(document).ready(function(){ $('li.menu_icon').removeClass("no_hidden_menu").addClass('menu_icon_collapsed');//PROBLEMA Y TB SBMENU NO HIDDEN $('#top_btn').css('left', '0px'); } - else if ($('#menu_type').text() == 'clasico') { + else if ($('#menu_type').text() == 'classic') { $('#menu_full').removeClass('menu_full_collapsed').addClass('menu_full_classic'); /* $('.logo_icon').removeClass('logo_show').addClass('logo_hide'); $('.logo_full').removeClass("logo_hide").addClass("logo_show");*/ @@ -74,8 +78,8 @@ $(document).ready(function(){ } else{ console.log('else no ha elegido aun, default-else'); - localStorage.setItem("variable", "colapsado"); - document.getElementById("menu_type").innerHTML = localStorage.variable; + localStorage.setItem("menuType", "collapsed"); + document.getElementById("menu_type").innerHTML = localStorage.menuType; } }); @@ -95,11 +99,11 @@ $(document).ready(function(){ window.onscroll = function() {scrollFunction()}; function scrollFunction() { - if (document.body.scrollTop > 400 || document.documentElement.scrollTop > 400) { + /* if (document.body.scrollTop > 400 || document.documentElement.scrollTop > 400) { document.getElementById("top_btn").style.display = "block"; } else { document.getElementById("top_btn").style.display = "none"; - } + }*/ } // When the user clicks on the button, scroll to the top of the document. @@ -189,16 +193,16 @@ $('#button_collapse').on('click', function() { elem.className = elem.className.replace('button_collapse', 'cambiar'); */ if($('#menu_full').hasClass('menu_full_classic')){ - localStorage.setItem("variable", "colapsado"); + localStorage.setItem("menuType", "collapsed"); //$('#button_collapse').css('color','pink'); - document.getElementById("menu_type").innerHTML = localStorage.variable; + document.getElementById("menu_type").innerHTML = localStorage.menuType; $('ul.submenu').css('left', '59px');//hacer que esto se haga aqui $('#top_btn').css('left', '0px'); } else if($('#menu_full').hasClass('menu_full_collapsed')){ - localStorage.setItem("variable", "clasico"); + localStorage.setItem("menuType", "classic"); //$('#button_collapse').css('color','blue'); - document.getElementById("menu_type").innerHTML = localStorage.variable; + document.getElementById("menu_type").innerHTML = localStorage.menuType; $('ul.submenu').css('left', '214px');//hacer que esto se haga aqui $('#top_btn').css('left', '77.5px'); } @@ -220,9 +224,9 @@ elem.className = elem.className.replace('button_collapse', 'cambiar'); console.log('entra click'); - console.log(localStorage.variable); + console.log(localStorage.menuType); /* -if ($('#button_collapse').text() == 'clasico') { +if ($('#button_collapse').text() == 'classic') { classic_menu = true; } else { @@ -249,9 +253,9 @@ var click_display = ""; //if ((isNaN(classic_menu)) || (classic_menu == 0)) { -//f(localStorage.variable == 'clasico'){ +//f(localStorage.menuType == 'classic'){ /* -if ($('#button_collapse').text() == 'clasico') { +if ($('#button_collapse').text() == 'classic') { classic_menu = true; } else { @@ -296,7 +300,7 @@ $(document).ready( function() { // repeticion de if var classic_menu; -if ($('#menu_type').text() == 'clasico') { +if ($('#menu_type').text() == 'classic') { classic_menu = true; } diff --git a/pandora_console/godmode/menu.php b/pandora_console/godmode/menu.php index 47d298cc84..3596fa5875 100644 --- a/pandora_console/godmode/menu.php +++ b/pandora_console/godmode/menu.php @@ -21,6 +21,21 @@ require_once 'include/functions_menu.php'; $menu_godmode = []; $menu_godmode['class'] = 'godmode'; + +if (check_acl($config['id_user'], 0, 'PM')) { + $sub = []; + $sub['godmode/servers/discovery']['text'] = __('Discover'); + $sub['godmode/servers/discovery']['id'] = 'Discover'; + $sub['godmode/servers/discovery']['subsecs'] = ['godmode/servers/discovery']; + + // Add to menu. + $menu_godmode['discover']['text'] = __('Discovery'); + $menu_godmode['discover']['sec2'] = 'godmode/servers/discovery'; + $menu_godmode['discover']['id'] = 'god-discovery'; + $menu_godmode['discover']['sub'] = $sub; +} + + $sub = []; if (check_acl($config['id_user'], 0, 'AW') || check_acl($config['id_user'], 0, 'AD')) { $sub['godmode/agentes/modificar_agente']['text'] = __('Manage agents'); @@ -54,7 +69,6 @@ if (check_acl($config['id_user'], 0, 'AW')) { } } -$menu_godmode['nuevo_texto']['text'] = __('nuevo_texto'); if (!empty($sub)) { $menu_godmode['gagente']['text'] = __('Resources'); $menu_godmode['gagente']['sec2'] = 'godmode/agentes/modificar_agente'; @@ -270,6 +284,9 @@ if (check_acl($config['id_user'], 0, 'PM')) { $sub2['godmode/setup/setup&section=ehorus']['text'] = __('eHorus'); $sub2['godmode/setup/setup&section=ehorus']['refr'] = 0; + $sub2['godmode/setup/setup&section=notifications']['text'] = __('Notifications'); + $sub2['godmode/setup/setup&section=notifications']['refr'] = 0; + if ($config['activate_gis']) { $sub2['godmode/setup/gis']['text'] = __('Map conections GIS'); } diff --git a/pandora_console/include/functions_config.php b/pandora_console/include/functions_config.php index 5074cf5219..5f0cb20ae6 100644 --- a/pandora_console/include/functions_config.php +++ b/pandora_console/include/functions_config.php @@ -1,26 +1,39 @@ 0) { @@ -1158,7 +1174,7 @@ function config_update_config() } } - // Delete interval value if is required + // Delete interval value if is required. $interval_to_delete = (float) get_parameter('interval_to_delete'); if ($interval_to_delete > 0) { $interval_values_array = explode(',', $interval_values); @@ -1180,7 +1196,7 @@ function config_update_config() $error_update[] = __('Custom report info'); } - // Juanma (06/05/2014) New feature: Custom front page for reports + // Juanma (06/05/2014) New feature: Custom front page for reports. if (!config_update_value('custom_report_front', get_parameter('custom_report_front'))) { $error_update[] = __('Custom report front'); } @@ -1341,7 +1357,15 @@ function config_update_config() $error_update[] = __('eHorus id custom field'); } break; + + default: + // Ignore. + break; } + + default: + // Ignore. + break; } if (count($error_update) > 0) { @@ -1363,7 +1387,9 @@ function config_update_config() /** - * Process config variables + * Process config variables. + * + * @return void */ function config_process_config() { @@ -1381,7 +1407,7 @@ function config_process_config() $is_windows = true; } - // Compatibility fix + // Compatibility fix. foreach ($configs as $c) { $config[$c['token']] = $c['value']; } @@ -1438,18 +1464,18 @@ function config_process_config() if (!isset($config['prominent_time'])) { // Prominent time tells us what to show prominently when a timestamp is - // displayed. The comparation (... days ago) or the timestamp (full date) + // displayed. The comparation (... days ago) or the timestamp (full date). config_update_value('prominent_time', 'comparation'); } if (!isset($config['timesource'])) { - // Timesource says where time comes from (system or mysql) + // Timesource says where time comes from (system or mysql). config_update_value('timesource', 'system'); } if (!isset($config['https'])) { // Sets whether or not we want to enforce https. We don't want to go to a - // potentially unexisting config by default + // potentially unexisting config by default. config_update_value('https', false); } @@ -1458,7 +1484,7 @@ function config_process_config() } if (!isset($config['cert_path'])) { - // Sets name and path of ssl path for use in application + // Sets name and path of ssl path for use in application. config_update_value('cert_path', '/etc/ssl/certs/pandorafms.pem'); } @@ -1470,7 +1496,7 @@ function config_process_config() config_update_value('status_images_set', 'default'); } - // Load user session + // Load user session. if (isset($_SESSION['id_usuario'])) { $config['id_user'] = $_SESSION['id_usuario']; } @@ -1677,9 +1703,9 @@ function config_process_config() config_update_value('unique_ip', 0); } - /* - *Parse the ACL IP list for access API - */ + /* + * Parse the ACL IP list for access API + */ $temp_list_ACL_IPs_for_API = []; if (isset($config['list_ACL_IPs_for_API'])) { if (!empty($config['list_ACL_IPs_for_API'])) { @@ -1695,7 +1721,7 @@ function config_process_config() // the first time make a conenction and disable itself // Not Managed here ! // if (!isset ($config["autoupdate"])) { - // config_update_value ('autoupdate', true); + // config_update_value ('autoupdate', true);. // } include_once $config['homedir'].'/include/auth/mysql.php'; include_once $config['homedir'].'/include/functions_io.php'; @@ -2295,7 +2321,7 @@ function config_process_config() } if (defined('METACONSOLE')) { - // Customizable sections (Metaconsole) + // Customizable sections (Metaconsole). enterprise_include_once('include/functions_enterprise.php'); $customizable_sections = enterprise_hook('enterprise_get_customizable_sections'); @@ -2317,15 +2343,15 @@ function config_process_config() ) { $isFunctionSkins = enterprise_include_once('include/functions_skins.php'); if ($isFunctionSkins !== ENTERPRISE_NOT_HOOK) { - // Try to update user table in order to refresh skin inmediatly + // Try to update user table in order to refresh skin inmediatly. $is_user_updating = get_parameter('sec2', ''); if ($is_user_updating == 'operation/users/user_edit') { $id = get_parameter_get('id', $config['id_user']); - // ID given as parameter + // ID given as parameter. $user_info = get_user_info($id); - // If current user is editing himself or if the user has UM (User Management) rights on any groups the user is part of AND the authorization scheme allows for users/admins to update info + // If current user is editing himself or if the user has UM (User Management) rights on any groups the user is part of AND the authorization scheme allows for users/admins to update info. if (($config['id_user'] == $id || check_acl($config['id_user'], users_get_groups($id), 'UM')) && $config['user_can_update_info']) { $view_mode = false; } else { @@ -2339,7 +2365,7 @@ function config_process_config() } if (!is_metaconsole()) { - // Skins are available only in console mode + // Skins are available only in console mode. if (isset($config['id_user'])) { $relative_path = enterprise_hook('skins_set_image_skin_path', [$config['id_user']]); } else { @@ -2469,12 +2495,12 @@ function config_process_config() config_update_value('render_proc_fail', __('Fail')); } - // Daniel maya 02/06/2016 Display menu with click --INI + // Daniel maya 02/06/2016 Display menu with click --INI. if (!isset($config['click_display'])) { config_update_value('click_display', 1); } - // Daniel maya 02/06/2016 Display menu with click --END + // Daniel maya 02/06/2016 Display menu with click --END. if (isset($config['enterprise_installed']) && $config['enterprise_installed'] == 1) { if (!isset($config['service_label_font_size'])) { config_update_value('service_label_font_size', 20); @@ -2501,7 +2527,7 @@ function config_process_config() config_update_value('custom_report_info', 1); } - // Juanma (06/05/2014) New feature: Custom front page for reports + // Juanma (06/05/2014) New feature: Custom front page for reports. if (!isset($config['custom_report_front'])) { config_update_value('custom_report_front', 0); } @@ -2611,7 +2637,7 @@ function config_process_config() config_update_value('instance_registered', 0); } - // eHorus + // Ehorus. if (!isset($config['ehorus_enabled'])) { config_update_value('ehorus_enabled', 0); } @@ -2646,285 +2672,77 @@ function config_process_config() } } - // Finally, check if any value was overwritten in a form + // Finally, check if any value was overwritten in a form. config_update_config(); } +/** + * Start supervisor. + * + * @return void + */ function config_check() { global $config; - // At this first version I'm passing errors using session variables, because the error management - // is done by an AJAX request. Better solutions could be implemented in the future :-) - if (license_free() && users_is_admin($config['id_user'])) { - $login = get_parameter('login', false); - // Registration advice - if ((!isset($config['instance_registered']) || ($config['instance_registered'] != 1)) && ($login === false)) { - set_pandora_error_for_header( - __('Click here to start the registration process'), - __('This instance is not registered in the Update manager') - ); - } + include_once __DIR__.'/class/ConsoleSupervisor.php'; - // Newsletter advice - $newsletter = db_get_value('middlename', 'tusuario', 'id_user', $config['id_user']); - if ($newsletter != 1 && $login === false) { - set_pandora_error_for_header( - __('Click here to start the newsletter subscription process'), - __('Not subscribed to the newsletter') - ); - } + // Enterprise customers launch supervisor using discovery task. + if (enterprise_installed() === false) { + $supervisor = new ConsoleSupervisor(false); + $supervisor->run(); + } else if ($config['cron_last_run'] == 0 + || (get_system_time() - $config['cron_last_run']) > 3600 + ) { + $supervisor = new ConsoleSupervisor(false); + $supervisor->runBasic(); } - // Check default password for "admin" - $is_admin = db_get_value('is_admin', 'tusuario', 'id_user', $config['id_user']); - if ($is_admin) { - $hashpass = db_get_sql( - "SELECT password - FROM tusuario WHERE id_user = 'admin'" - ); - if ($hashpass == '1da7ee7d45b96d0e1f45ee4ee23da560') { - set_pandora_error_for_header( - __('Default password for "Admin" user has not been changed.'), - __('Please change the default password because is a common vulnerability reported.') - ); - } - } - - if (isset($config['license_expired'])) { - set_pandora_error_for_header( - __('You can not get updates until you renew the license.'), - __('This license has expired.') - ); - } - - if (!is_writable('attachment')) { - set_pandora_error_for_header( - __('Please check that the web server has write rights on the {HOMEDIR}/attachment directory'), - __('Attachment directory is not writable by HTTP Server') - ); - } - - // Get remote file dir. - $remote_config = io_safe_output( - db_get_value_filter( - 'value', - 'tconfig', - ['token' => 'remote_config'] - ) - ); - - if (enterprise_installed()) { - if (!is_readable($remote_config)) { - set_pandora_error_for_header( - __('Remote configuration directory is not readble for the console').' - '.$remote_config - ); - } - - $remote_config_conf = $remote_config.'/conf'; - if (!is_writable($remote_config_conf)) { - set_pandora_error_for_header( - __('Remote configuration directory is not writtable for the console').' - '.$remote_config.'/conf' - ); - } - - $remote_config_col = $remote_config.'/collections'; - if (!is_writable($remote_config_col)) { - set_pandora_error_for_header( - __('Remote configuration directory is not writtable for the console').' - '.$remote_config.'/collections' - ); - } - } - - // Check attachment directory (too much files?) - $filecount = count(glob($config['homedir'].'/attachment/*')); - // N temporal files of trash should be enough for most people. - if ($filecount > $config['num_files_attachment']) { - set_pandora_error_for_header( - __('There are too much files in attachment directory. This is not fatal, but you should consider cleaning up your attachment directory manually')." ( $filecount ".__('files').' )', - __('Too much files in your tempora/attachment directory') - ); - } - - // Check database maintance - $db_maintance = db_get_value_filter( - 'value', - 'tconfig', - ['token' => 'db_maintance'] - ); - - // If never was executed, it means we are in the first Pandora FMS execution. Set current timestamp - if (empty($db_maintance)) { - config_update_value('db_maintance', date('U')); - } - - $last_maintance = (date('U') - $db_maintance); - - // ~ about 50 hr - if ($last_maintance > 190000) { - set_pandora_error_for_header( - __('Your database is not maintained correctly. It seems that more than 48hrs have passed without proper maintenance. Please review documents of %s on how to perform this maintenance process (DB Tool) and enable it as soon as possible.', get_product_name()), - __('Database maintance problem') - ); - } - - $fontpath = io_safe_output(db_get_value_filter('value', 'tconfig', ['token' => 'fontpath'])); - if (($fontpath == '') or (!file_exists($fontpath))) { - set_pandora_error_for_header( - __('Your defined font doesnt exist or is not defined. Please check font parameters in your config'), - __('Default font doesnt exist') - ); - } - - if ($config['event_storm_protection']) { - set_pandora_error_for_header( - __('You need to restart server after altering this configuration setting.'), - __('Event storm protection is activated. No events will be generated during this mode.') - ); - } - - global $develop_bypass; - - if ($develop_bypass == 1) { - set_pandora_error_for_header( - __('Your %s has the "develop_bypass" mode enabled. This is a developer mode and should be disabled in a production system. This value is written in the main index.php file', get_product_name()), - __('Developer mode is enabled') - ); - } - - if (isset($_SESSION['new_update'])) { - if (!empty($_SESSION['return_installation_open'])) { - if (!$_SESSION['return_installation_open']['return']) { - foreach ($_SESSION['return_installation_open']['text'] as $message) { - set_pandora_error_for_header( - $message, - __('Error first setup Open update') - ); - } - } - } - - if ($_SESSION['new_update'] == 'new') { - set_pandora_error_for_header( - __('There is a new update available. Please go to Administration:Setup:Update Manager for more details.'), - __('New %s Console update', get_product_name()) - ); - } - } - - // PHP configuration values - $PHPupload_max_filesize = config_return_in_bytes(ini_get('upload_max_filesize')); - $PHPmax_input_time = ini_get('max_input_time'); - $PHPmemory_limit = config_return_in_bytes(ini_get('memory_limit')); - $PHPmax_execution_time = ini_get('max_execution_time'); - $PHPsafe_mode = ini_get('safe_mode'); - $PHPdisable_functions = ini_get('disable_functions'); - - if ($PHPsafe_mode === '1') { - set_pandora_error_for_header( - __('To disable, change it on your PHP configuration file (php.ini) and put safe_mode = Off (Dont forget restart apache process after changes)'), - sprintf(__('PHP safe mode is enabled. Some features may not properly work.')) - ); - } - - if ($PHPmax_input_time !== '-1') { - set_pandora_error_for_header( - sprintf(__('Recommended value is %s'), '-1 ('.__('Unlimited').')').'

'.__('Please, change it on your PHP configuration file (php.ini) or contact with administrator (Dont forget restart apache process after changes)'), - sprintf(__("Not recommended '%s' value in PHP configuration"), 'max_input_time') - ); - } - - if ($PHPmax_execution_time !== '0') { - set_pandora_error_for_header( - sprintf(__('Recommended value is: %s'), '0 ('.__('Unlimited').')').'

'.__('Please, change it on your PHP configuration file (php.ini) or contact with administrator (Dont forget restart apache process after changes)'), - sprintf(__("Not recommended '%s' value in PHP configuration"), 'max_execution_time') - ); - } - - $PHPupload_max_filesize_min = config_return_in_bytes('800M'); - - if ($PHPupload_max_filesize < $PHPupload_max_filesize_min) { - set_pandora_error_for_header( - sprintf(__('Recommended value is: %s'), sprintf(__('%s or greater'), '800M')).'

'.__('Please, change it on your PHP configuration file (php.ini) or contact with administrator (Dont forget restart apache process after changes)'), - sprintf(__("Not recommended '%s' value in PHP configuration"), 'upload_max_filesize') - ); - } - - $PHPmemory_limit_min = config_return_in_bytes('500M'); - - if ($PHPmemory_limit < $PHPmemory_limit_min && $PHPmemory_limit !== '-1') { - set_pandora_error_for_header( - sprintf(__('Recommended value is: %s'), sprintf(__('%s or greater'), '500M')).'

'.__('Please, change it on your PHP configuration file (php.ini) or contact with administrator'), - sprintf(__("Not recommended '%s' value in PHP configuration"), 'memory_limit') - ); - } - - if (preg_match('/system/', $PHPdisable_functions) or preg_match('/exec/', $PHPdisable_functions)) { - set_pandora_error_for_header( - __('Variable disable_functions containts functions system() or exec(), in PHP configuration file (php.ini)').'

'.__('Please, change it on your PHP configuration file (php.ini) or contact with administrator (Dont forget restart apache process after changes)'), - __('Problems with disable functions in PHP.INI') - ); - } - - $result_ejecution = exec('"'.io_safe_output($config['phantomjs_bin']).'/phantomjs" --version'); - if (!isset($result_ejecution) || $result_ejecution == '') { - if ($config['language'] == 'es') { - set_pandora_error_for_header( - __('To be able to create images of the graphs for PDFs, please install the phantom.js extension. For that, it is necessary to follow these steps:').'Click here', - __('phantomjs is not installed') - ); - } else { - set_pandora_error_for_header( - __('To be able to create images of the graphs for PDFs, please install the phantom.js extension. For that, it is necessary to follow these steps:').'Click here', - __('phantomjs is not installed') - ); - } - } - - $php_version = phpversion(); - $php_version_array = explode('.', $php_version); - if ($php_version_array[0] < 7) { - if ($config['language'] == 'es') { - $url_help = 'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_es:Instalaci%C3%B3n_y_actualizaci%C3%B3n_PHP_7'; - } else { - $url_help = 'https://wiki.pandorafms.com/index.php?title=Pandora:Documentation_en:_PHP_7'; - } - - set_pandora_error_for_header( - __('For a correct operation of PandoraFMS, PHP must be updated to version 7.0 or higher.').'
'.__('Otherwise, functionalities will be lost.').'
'."
  1. ".__('Report download in PDF format').'
  2. '."
  3. ".__('Emails Sending').'
  4. '."
  5. ".__('Metaconsole Collections').'
  6. '."
  7. ".'...'.'
  8. '.'
'.''.__('Access Help').'', - __('PHP UPDATE REQUIRED') - ); - } } +/** + * Return in bytes + * + * @param string $val Value to convert. + * + * @return integer + */ function config_return_in_bytes($val) { $val = trim($val); $last = strtolower($val[(strlen($val) - 1)]); switch ($last) { - // The 'G' modifier is available since PHP 5.1.0 + // The 'G' modifier is available since PHP 5.1.0. case 'g': $val *= 1024; case 'm': $val *= 1024; case 'k': $val *= 1024; + default: + // Ignore. + break; } return $val; } +/** + * Undocumented function + * + * @return void + */ function config_user_set_custom_config() { global $config; $userinfo = get_user_info($config['id_user']); - // Refresh the last_connect info in the user table - // if last update was more than 5 minutes ago + // Refresh the last_connect info in the user table. + // if last update was more than 5 minutes ago. if ($userinfo['last_connect'] < (time() - SECONDS_1MINUTE)) { update_user($config['id_user'], ['last_connect' => time()]); } @@ -2933,7 +2751,7 @@ function config_user_set_custom_config() $config['block_size'] = $userinfo['block_size']; } - // Each user could have it's own timezone) + // Each user could have it's own timezone). if (isset($userinfo['timezone'])) { if ($userinfo['timezone'] != '') { date_default_timezone_set($userinfo['timezone']); @@ -2946,6 +2764,11 @@ function config_user_set_custom_config() } +/** + * Undocumented function + * + * @return void + */ function config_prepare_session() { global $config; @@ -2958,10 +2781,10 @@ function config_prepare_session() } if ($user_sesion_time == 0) { - // Change the session timeout value to session_timeout minutes // 8*60*60 = 8 hours + // Change the session timeout value to session_timeout minutes // 8*60*60 = 8 hours. $sessionCookieExpireTime = $config['session_timeout']; } else { - // Change the session timeout value to session_timeout minutes // 8*60*60 = 8 hours + // Change the session timeout value to session_timeout minutes // 8*60*60 = 8 hours. $sessionCookieExpireTime = $user_sesion_time; } @@ -2971,7 +2794,7 @@ function config_prepare_session() $sessionCookieExpireTime *= 60; } - // Reset the expiration time upon page load //session_name() is default name of session PHPSESSID + // Reset the expiration time upon page load //session_name() is default name of session PHPSESSID. if (isset($_COOKIE[session_name()])) { setcookie(session_name(), $_COOKIE[session_name()], (time() + $sessionCookieExpireTime), '/'); } diff --git a/pandora_console/include/functions_menu.php b/pandora_console/include/functions_menu.php index d118dbd87f..d6384595a8 100644 --- a/pandora_console/include/functions_menu.php +++ b/pandora_console/include/functions_menu.php @@ -737,12 +737,12 @@ function menu_calculate_top($level1, $level2, $level3=false) // Positionate in the middle if ($total > 12 && (($total < 18) || (($level1 - $comp) <= 4))) { - return - ( floor($comp / 2) * 35); + return - ( floor($comp / 2) * 39); } // Positionate in the bottom if ($total >= 18) { - return (- $comp * 35); + return (- $comp * 39); } // return 0 by default diff --git a/pandora_console/include/styles/menu.css b/pandora_console/include/styles/menu.css index cf8e88bae7..63b9c3a0db 100644 --- a/pandora_console/include/styles/menu.css +++ b/pandora_console/include/styles/menu.css @@ -70,7 +70,7 @@ li:hover ul { z-index: 999; /*left: 44px;*/ min-height: 35px; - height: 35px; + /*height: 35px;*/ width: 180px; } @@ -82,7 +82,7 @@ li:hover ul { .sub_subMenu { min-height: 35px !important; - height: 35px; + /*height: 35px;*/ width: 180px; font-weight: normal !important; background-color: #202020; @@ -187,6 +187,9 @@ li.sub_subMenu.selected { } /* Godmode images */ +#icon_god-discovery { + background: url(../../images/gm_discovery.menu.png) no-repeat 50% 50%; +} #icon_god-resources { background: url(../../images/gm_resources.menu_gray.png) no-repeat; } @@ -454,24 +457,24 @@ ul li a:hover { } #menu_full { - /*height: 100%; Lo he quitado para que no ocupe todo el alto y fixed */ + /*height: 100%; /*Lo he quitado para que no ocupe todo el alto y fixed */ width: 60px; /* It is changed for classic menu (215px)*/ - position: absolute; /*Fixed: Lo he quitado para que no ocupe todo el alto y fixed */ + position: fixed; /*Fixed: Lo he quitado para que no ocupe todo el alto y fixed */ /*absolute*/ z-index: 1; top: 0; left: 0; background-color: #343434; - border-bottom: solid 5px #343434; - min-height: 943px; - /* padding-bottom: 40px; Lo he quitado para que no ocupe todo el alto y fixed */ + border-bottom: solid 3px #343434; + /*min-height: 943px;*/ + padding-bottom: 40px; /*Lo he quitado para que no ocupe todo el alto y fixed */ /*overflow-x: hidden;*/ } .button_collapse { height: 55px; background-color: #4d4d4d; - /* bottom: 0; Lo he quitado para que no ocupe todo el alto y fixed - position: fixed;*/ + /*bottom: 0; /* Lo he quitado para que no ocupe todo el alto y fixed*/ + /*position: fixed; /*coemntar tb*/ width: 60px; /* It is changed for classic menu (215px)*/ text-align: center; color: #fff; @@ -497,8 +500,8 @@ ul li a:hover { .operation > li.menu_icon, .godmode > li.menu_icon { - padding-top: 3px; - padding-bottom: 3px; + padding-top: 2px; /* 3px */ + padding-bottom: 2px; } .operation div, @@ -511,14 +514,21 @@ ul li a:hover { .menu_full_classic, .button_classic { width: 215px !important; - background-image: url(../../images/button_collapse_menu.png); - background-repeat: no-repeat; - background-position: center; } .menu_full_collapsed, .button_collapsed { width: 60px !important; +} + +.button_classic { + width: 215px !important; + background-image: url(../../images/button_collapse_menu.png); + background-repeat: no-repeat; + background-position: center; +} + +.button_collapsed { background-image: url(../../images/button_classic_menu.png); background-repeat: no-repeat; background-position: center; @@ -547,7 +557,7 @@ ul li a:hover { /* border: 2px solid #fff;*/ } -@media screen and (max-height: 845px) { +@media screen and (max-height: 600px) { .operation > li.menu_icon, .godmode > li.menu_icon { padding-top: 1px; @@ -558,5 +568,61 @@ ul li a:hover { } .button_collapse { margin-top: 10px; + background-color: green; + } + .menu li, + .menu .li.not_selected { + min-height: 25px !important; + } + .button_collapse { + height: 45px; + } + .submenu_text { + /* padding: 7.5px;*/ + } +} + +@media screen and (min-height: 601px) and (max-height: 700px) { + .operation > li.menu_icon, + .godmode > li.menu_icon { + padding-top: 1px; + padding-bottom: 2px; + } + .operation { + padding-top: 10px !important; + } + .button_collapse { + margin-top: 10px; + background-color: red; + } + .menu li, + .menu .li.not_selected { + min-height: 25px !important; + } + .button_collapse { + height: 48px; + } + .submenu_text { + /*padding: 7.5px;*/ + } +} + +@media screen and (min-height: 701px) and (max-height: 845px) { + .operation { + padding-top: 10px !important; + } + .button_collapse { + margin-top: 10px; + background-color: blue; + } + .menu li, + .menu .li.not_selected { + min-height: 28px !important; + } + .button_collapse { + height: 50px; + } + .submenu_text { + /*padding: 7.5px;*/ } } diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css index e8e2632188..b35c00584e 100644 --- a/pandora_console/include/styles/pandora.css +++ b/pandora_console/include/styles/pandora.css @@ -678,7 +678,7 @@ div#menu { width: 45px; float: left; z-index: 2000; - /*position: absolute; Lo he quitado para que no ocupe todo el alto y fixed */ + position: absolute; /*Lo he quitado para que no ocupe todo el alto y fixed */ } div#head { @@ -978,6 +978,14 @@ input.group_item_min[disabled] { center !important; } +input.color_cloud_min { + background: #fefefe url(../../images/color_cloud_item.png) no-repeat center !important; +} +input.color_cloud_min[disabled] { + background: #fefefe url(../../images/color_cloud_item.disabled.png) no-repeat + center !important; +} + div#cont { position: fixed; max-height: 320px; @@ -1549,7 +1557,8 @@ table.databox { } .databox > thead > tr > th, -.databox > tbody > tr > th { +.databox > tbody > tr > th, +.databox > thead > tr > th a { padding: 9px 7px; font-weight: normal; color: #fff; @@ -4422,7 +4431,177 @@ div#dialog_messages table th:last-child { text-align: right; } -/* checkbox type toogle switch */ +/* + * --------------------------------------------------------------------- + * - Notifications + * --------------------------------------------------------------------- + */ + +.notification-ball { + border: white solid 2px; + border-radius: 50px; + width: 18px; + height: 18px; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; +} + +.notification-ball-no-messages { + background-color: #82b92e; + cursor: pointer; +} +.notification-ball-new-messages { + background-color: #fc4444; +} + +#notification-wrapper { + background: white; + border: #a5a5a5 solid 1px; + z-index: 900000; + position: absolute; + width: 400px; + margin-top: -5px; + border-radius: 5px; +} +#notification-wrapper::before { + content: ""; + display: block; + position: absolute; + width: 0px; + height: 0; + border-color: transparent; + border-width: 12px; + border-style: solid; + bottom: 100%; + left: 78%; + left: calc(78% - 2px); + margin-left: -12px; + border-bottom-color: white; +} +#notification-wrapper-inner { + max-height: 400px; + overflow: auto; +} +#notification-wrapper-shadow { + height: 100%; + width: 100%; + background: #111; + position: fixed; + z-index: 9009; + top: 0; + opacity: 0.3; +} +.notification-item { + background: whitesmoke; + height: 100px; + margin: 7px; + border: #e4e4e4 solid 1px; + display: flex; + flex-flow: row nowrap; + align-items: center; + padding: 5px; +} +.notification-item:hover { + border: #ccc solid 1px; +} +.notification-item > * { + padding-left: 15px; + pointer-events: none; +} + +.notification-item:hover { + text-decoration: none; +} + +.notification-info { + width: 87%; + display: flex; + flex-flow: column nowrap; + overflow: hidden; + max-height: 83px; + line-height: 1.4em; +} +.notification-item img { + max-width: 100%; + max-height: 100%; +} +.notification-title { + margin: 0; +} +.notification-subtitle { + margin: 0; + color: #373737; +} + +.global-config-notification-title { + display: flex; + flex-direction: row; + align-items: center; +} + +.global-config-notification-title h2 { + margin-left: 10px; +} + +.global-config-notification-checkboxes :first-child { + font-weight: bold; +} + +.global-config-notification-selectors { + display: flex; + flex-direction: row; + margin-bottom: 10px; +} + +.global-config-notification-selectors h4 { + margin: 0; +} + +.global-config-notification-single-selector, +.global_config_notifications_dialog_add select { + display: flex; + width: 100%; + padding: 0 10px; +} + +.global-config-notification-single-selector :first-child, +.global-config-notification-single-selector :first-child select { + width: 99%; +} + +.global-config-notification-single-selector :last-child, +.global_config_notifications_dialog_add_wrapper { + flex-direction: column; + display: flex; + justify-content: flex-end; +} + +.global_config_notifications_dialog_add { + display: flex; + flex-direction: row; + margin: 8px; +} + +.global_config_notifications_two_ways_form_arrows { + display: flex; + flex-flow: column; + justify-content: center; + margin: 0 5px; +} + +.global_config_notifications_two_ways_form_arrows img { + margin: 15px 0; +} + +/* jQuery dialog */ +.no-close .ui-dialog-titlebar-close { + display: none; +} +/* jQuery dialog */ + +/* --- SWITCH --- */ .toogle_switch { position: relative; display: inline-block; @@ -4477,11 +4656,147 @@ input:checked + .slider:before { background-color: rgb(197, 235, 192); } -/* jQuery dialog */ -.no-close .ui-dialog-titlebar-close { - display: none; +.p-switch { + position: relative; + display: inline-block; + width: 30px; + height: 17px; } -/* jQuery dialog */ + +.p-switch input { + opacity: 0; + width: 0; + height: 0; +} + +.p-slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #ccc; + -webkit-transition: 0.4s; + transition: 0.4s; + border-radius: 34px; +} + +.p-slider:before { + position: absolute; + content: ""; + height: 13px; + width: 13px; + left: 2px; + bottom: 2px; + background-color: white; + -webkit-transition: 0.4s; + transition: 0.4s; + border-radius: 50%; +} + +input:checked + .p-slider { + background-color: #82b92e; +} + +input:focus + .p-slider { + box-shadow: 0 0 1px #82b92e; +} + +input:checked + .p-slider:before { + -webkit-transform: translateX(13px); + -ms-transform: translateX(13px); + transform: translateX(13px); +} + +/* --- END SWITCH --- */ + +/* --- TOAST --- */ +#notifications-toasts-wrapper { + position: fixed; + right: 20px; + top: 70px; + width: 270px; + height: 100%; + z-index: 6; + pointer-events: none; +} + +.snackbar { + max-width: 270px; + background-color: #333; + color: #fff; + text-align: center; + /* border-radius: 2px; */ + padding: 16px; + margin: 10px; + border-radius: 4px; + visibility: hidden; + pointer-events: all; +} + +.snackbar.show { + visibility: visible; + -webkit-animation: fadein 0.5s, fadeout 0.5s 7.5s; + animation: fadein 0.5s, fadeout 0.5s 7.5s; +} + +.snackbar p, +.snackbar h3 { + text-align: left; + margin: 0; + pointer-events: none; +} +.snackbar h3 { + color: white; + margin-bottom: 10px; +} + +@-webkit-keyframes fadein { + from { + bottom: 0; + opacity: 0; + } + to { + bottom: 30px; + opacity: 1; + } +} + +@keyframes fadein { + from { + bottom: 0; + opacity: 0; + } + to { + bottom: 30px; + opacity: 1; + } +} + +@-webkit-keyframes fadeout { + from { + bottom: 30px; + opacity: 1; + } + to { + bottom: 0; + opacity: 0; + } +} + +@keyframes fadeout { + from { + bottom: 30px; + opacity: 1; + } + to { + bottom: 0; + opacity: 0; + } +} + +/* --- END TOAST --- */ /* * --------------------------------------------------------------------- From 86509caf6b13b372cd7c6bf52c54954a6766d903 Mon Sep 17 00:00:00 2001 From: fermin831 Date: Tue, 26 Feb 2019 14:44:51 +0100 Subject: [PATCH 04/17] Fixed downtimes disabled and enabled agents Former-commit-id: a5c2362e4faf6c0ed9ff2047b6d070aa4d7cdac8 --- .../include/functions_planned_downtimes.php | 20 ++++++++++++++----- pandora_server/bin/pandora_server | 2 +- pandora_server/lib/PandoraFMS/Core.pm | 6 ++++-- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/pandora_console/include/functions_planned_downtimes.php b/pandora_console/include/functions_planned_downtimes.php index 6660a19f10..7f1a587b65 100644 --- a/pandora_console/include/functions_planned_downtimes.php +++ b/pandora_console/include/functions_planned_downtimes.php @@ -534,9 +534,10 @@ function planned_downtimes_migrate_malformed_downtimes_copy_items($original_down /** * Stop a planned downtime. * - * @param array Planned downtime data. + * @param array $downtime Planned downtime data. * - * @return mixes False on error or an array with the result and a message of the operation. + * @return mixed False on error or an array with the result and a message of + * the operation. */ function planned_downtimes_stop($downtime) { @@ -566,7 +567,9 @@ function planned_downtimes_stop($downtime) case 'periodically': return false; - break; + default: + // Nothing to do. + break; } $message .= ui_print_result_message( @@ -593,7 +596,7 @@ function planned_downtimes_stop($downtime) true ); - // Reenabled the Agents or Modules or alerts...depends of type + // Reenabled the Agents or Modules or alerts...depends of type. switch ($downtime['type_downtime']) { case 'quiet': $agents = db_get_all_rows_filter( @@ -658,7 +661,10 @@ function planned_downtimes_stop($downtime) foreach ($agents as $agent) { $result = db_process_sql_update( 'tagente', - ['disabled' => 0], + [ + 'disabled' => 0, + 'update_module_count' => 1, + ], ['id_agente' => $agent['id_agent']] ); @@ -702,6 +708,10 @@ function planned_downtimes_stop($downtime) } } break; + + default: + // Nothing to do. + break; } $message .= ui_print_info_message( diff --git a/pandora_server/bin/pandora_server b/pandora_server/bin/pandora_server index 53265cb0a0..bb177be783 100755 --- a/pandora_server/bin/pandora_server +++ b/pandora_server/bin/pandora_server @@ -306,7 +306,7 @@ sub pandora_server_tasks ($) { if (($counter % 30) == 0) { # Update module status and fired alert counts - my @agents = get_db_rows ($dbh, 'SELECT id_agente, nombre, update_module_count, update_alert_count, update_secondary_groups FROM tagente WHERE disabled = 0 AND (update_module_count=1 OR update_alert_count=1 OR update_secondary_groups=1)'); + my @agents = get_db_rows ($dbh, 'SELECT id_agente, nombre, update_module_count, update_alert_count, update_secondary_groups FROM tagente WHERE (update_module_count=1 OR update_alert_count=1 OR update_secondary_groups=1)'); foreach my $agent (@agents) { logger ($pa_config, "Updating module status and fired alert counts for agent " . $agent->{'nombre'}, 10); diff --git a/pandora_server/lib/PandoraFMS/Core.pm b/pandora_server/lib/PandoraFMS/Core.pm index 4155b2d432..f45731ba13 100644 --- a/pandora_server/lib/PandoraFMS/Core.pm +++ b/pandora_server/lib/PandoraFMS/Core.pm @@ -1820,7 +1820,8 @@ sub pandora_planned_downtime_set_disabled_elements($$$) { WHERE tp.id_agent = ta.id_agente AND tp.id_downtime = ?',$downtime->{'id'}); db_do($dbh,'UPDATE tagente ta, tplanned_downtime_agents tpa - SET ta.disabled = 1 WHERE tpa.id_agent = ta.id_agente AND + SET ta.disabled = 1, ta.update_module_count = 1 + WHERE tpa.id_agent = ta.id_agente AND tpa.id_downtime = ?',$downtime->{'id'}); } else { @@ -1857,7 +1858,8 @@ sub pandora_planned_downtime_unset_disabled_elements($$$) { if ($only_alerts == 0) { db_do($dbh,'UPDATE tagente ta, tplanned_downtime_agents tpa - set ta.disabled = 0 WHERE tpa.id_agent = ta.id_agente AND + set ta.disabled = 0, ta.update_module_count = 1 + WHERE tpa.id_agent = ta.id_agente AND tpa.manually_disabled = 0 AND tpa.id_downtime = ?',$downtime->{'id'}); } else { my @downtime_agents = get_db_rows($dbh, 'SELECT * From 0a37f6d84828a561bd8b5b74b09ebc8fdfe3ea7d Mon Sep 17 00:00:00 2001 From: alejandro-campos Date: Wed, 27 Feb 2019 11:32:39 +0100 Subject: [PATCH 05/17] add changes to migrate script Former-commit-id: 7e1beeed2a8ff709cdd2e2ff992b610cd4aa7409 --- .../pandoradb_migrate_6.0_to_7.0.mysql.sql | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql b/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql index 2492a9913f..a60e6bfd8a 100644 --- a/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql +++ b/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql @@ -1900,14 +1900,18 @@ CREATE TABLE IF NOT EXISTS `tevent_extended` ( -- ----------------------------------------------------- -- Table `tgis_map_layer_groups` -- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `tgis_map_layer_groups` ( - `layer_id` INT NOT NULL, - `group_id` MEDIUMINT(4) UNSIGNED NOT NULL, - `agent_id` INT(10) UNSIGNED NOT NULL COMMENT 'Used to link the position to the group', - PRIMARY KEY (`layer_id`, `group_id`), - FOREIGN KEY (`layer_id`) REFERENCES `tgis_map_layer` (`id_tmap_layer`) ON DELETE CASCADE, - FOREIGN KEY (`group_id`) REFERENCES `tgrupo` (`id_grupo`) ON DELETE CASCADE, - FOREIGN KEY (`agent_id`) REFERENCES `tagente` (`id_agente`) ON DELETE CASCADE +DROP TABLE IF EXISTS `tgis_map_layer_groups`; + +CREATE TABLE `tgis_map_layer_groups` ( + `layer_id` int(11) NOT NULL, + `group_id` mediumint(4) unsigned NOT NULL, + `agent_id` int(10) unsigned NOT NULL COMMENT 'Used to link the position to the group', + PRIMARY KEY (`layer_id`,`group_id`), + KEY `group_id` (`group_id`), + KEY `agent_id` (`agent_id`), + CONSTRAINT `tgis_map_layer_groups_ibfk_1` FOREIGN KEY (`layer_id`) REFERENCES `tgis_map_layer` (`id_tmap_layer`) ON DELETE CASCADE, + CONSTRAINT `tgis_map_layer_groups_ibfk_2` FOREIGN KEY (`group_id`) REFERENCES `tgrupo` (`id_grupo`) ON DELETE CASCADE, + CONSTRAINT `tgis_map_layer_groups_ibfk_3` FOREIGN KEY (`agent_id`) REFERENCES `tagente` (`id_agente`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ----------------------------------------------------- @@ -2018,6 +2022,11 @@ CREATE TABLE `tnotification_source_group_user` ( ON UPDATE CASCADE ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; +-- ---------------------------------------------------------------------- +-- Table `tuser_task_scheduled` +-- ---------------------------------------------------------------------- +ALTER TABLE `tuser_task_scheduled` ADD COLUMN `flag_delete` tinyint(1) unsigned NOT NULL DEFAULT '0'; + -- ---------------------------------------------------------------------- -- Add alert command 'Generate notification' -- ---------------------------------------------------------------------- From 4489afe13774c2807a8a759f554ad71b93851795 Mon Sep 17 00:00:00 2001 From: fermin831 Date: Wed, 27 Feb 2019 17:17:50 +0100 Subject: [PATCH 06/17] Added debugger and profiler deps to Dockerfile Former-commit-id: 805ed1cbef91065fa248d85003e87d3ba134f2ca --- tests/Dockerfile | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/Dockerfile b/tests/Dockerfile index 16cf943a5e..e09f39c301 100644 --- a/tests/Dockerfile +++ b/tests/Dockerfile @@ -126,5 +126,23 @@ RUN mkdir -p /opt/phantomjs/bin && cd /opt/phantomjs/bin; \ chmod +x phantomjs; \ ln -s /opt/phantomjs/bin/phantomjs /usr/bin/; +# Install debugg dependencies. +RUN yum install -y \ + php-devel \ + php-pear \ + gcc \ + gcc-c++ \ + autoconf \ + automake && \ + pecl install Xdebug && \ + git clone https://github.com/tideways/php-xhprof-extension && \ + cd php-xhprof-extension && \ + phpize && \ + ./configure && \ + make && \ + make install && \ + cd .. && \ + rm -rf php-xhprof-extension + #Exposing ports for: HTTP, SNMP Traps, Tentacle protocol EXPOSE 80 162/udp 41121 From 7e53461b94a16ab9bf3be2a97f174e39e9870f34 Mon Sep 17 00:00:00 2001 From: samucarc Date: Thu, 28 Feb 2019 17:40:11 +0100 Subject: [PATCH 07/17] Added new alert when failed database Former-commit-id: ee0e8efaf3f32b4c5a86d421873555969274ca43 --- pandora_console/general/mysqlerr.php | 113 +++++++++++++++++++++++++++ pandora_console/images/mysqlerr.png | Bin 0 -> 3524 bytes pandora_console/include/db/mysql.php | 1 + 3 files changed, 114 insertions(+) create mode 100644 pandora_console/general/mysqlerr.php create mode 100644 pandora_console/images/mysqlerr.png diff --git a/pandora_console/general/mysqlerr.php b/pandora_console/general/mysqlerr.php new file mode 100644 index 0000000000..40da530386 --- /dev/null +++ b/pandora_console/general/mysqlerr.php @@ -0,0 +1,113 @@ + + + + + + + +
+ +
+ + + +
+ +
+ /images/mysqlerr.png'> +
+ +
+
+ +
+ +
+
+
+ +
+ + + \ No newline at end of file diff --git a/pandora_console/images/mysqlerr.png b/pandora_console/images/mysqlerr.png new file mode 100644 index 0000000000000000000000000000000000000000..7f6e0ffbc312e80ca46bd0c44dbceab8fb49c915 GIT binary patch literal 3524 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 0) { + include 'general/mysqlerr.php'; return false; } From d4b79179d9d9a44881bf99ee9e25bb617a7a21d5 Mon Sep 17 00:00:00 2001 From: Luis Calvo Date: Fri, 1 Mar 2019 14:58:41 +0100 Subject: [PATCH 08/17] Fixed width unit on graph, setted to px instead of % Former-commit-id: 2517a1bfad9c609709f30025c2d6927c0011ade1 --- pandora_console/include/graphs/functions_flot.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandora_console/include/graphs/functions_flot.php b/pandora_console/include/graphs/functions_flot.php index 637d02b34b..39c4c347dc 100644 --- a/pandora_console/include/graphs/functions_flot.php +++ b/pandora_console/include/graphs/functions_flot.php @@ -748,7 +748,7 @@ function flot_slicesbar_graph( if ($widgets) { $return = "
"; } else { - $return = "
"; + $return = "
"; } } From 36fa0fc41f748c29fa9e63954a036fb2a75a0090 Mon Sep 17 00:00:00 2001 From: Tatiana Llorente Date: Mon, 4 Mar 2019 08:39:56 +0100 Subject: [PATCH 09/17] new header and menu Former-commit-id: d1e8fbd044711f87b75177c32225be7847b60018 --- pandora_console/general/header.php | 69 +-- pandora_console/general/logon_ok.php | 2 +- pandora_console/general/main_menu.php | 466 +++--------------- .../godmode/setup/setup_visuals.php | 23 +- pandora_console/images/builder.menu_gray.png | Bin 330 -> 664 bytes .../images/button_classic_menu.png | Bin 745 -> 516 bytes .../images/button_collapse_menu.png | Bin 759 -> 510 bytes .../custom_logo/pandora_logo_head_green.png | Bin 5461 -> 2963 bytes .../images/extensions.menu_gray.png | Bin 416 -> 1123 bytes .../images/gm_alerts.menu_gray.png | Bin 298 -> 610 bytes .../images/gm_configuration.menu_gray.png | Bin 366 -> 813 bytes pandora_console/images/gm_discovery.menu.png | Bin 311 -> 791 bytes .../images/gm_events.menu_gray.png | Bin 321 -> 748 bytes .../images/gm_resources.menu_gray.png | Bin 311 -> 283 bytes .../images/gm_servers.menu_gray.png | Bin 335 -> 755 bytes pandora_console/images/gm_setup.menu_gray.png | Bin 426 -> 881 bytes pandora_console/images/gm_users.menu_gray.png | Bin 304 -> 611 bytes .../images/header_user_admin_green.png | Bin 665 -> 621 bytes pandora_console/images/links.menu_gray.png | Bin 387 -> 871 bytes .../images/op_events.menu_gray.png | Bin 274 -> 630 bytes .../images/op_monitoring.menu_gray.png | Bin 387 -> 739 bytes .../images/op_network.menu_gray.png | Bin 433 -> 432 bytes .../images/op_reporting.menu_gray.png | Bin 241 -> 651 bytes .../images/op_workspace.menu_gray.png | Bin 339 -> 624 bytes pandora_console/images/to_top_menu_hover.png | Bin 0 -> 258 bytes .../images/um_messages.menu_gray.png | Bin 428 -> 441 bytes pandora_console/include/functions_config.php | 20 +- pandora_console/include/functions_menu.php | 26 +- pandora_console/include/styles/menu.css | 263 +++++----- pandora_console/include/styles/pandora.css | 104 ++-- pandora_console/index.php | 24 + 31 files changed, 327 insertions(+), 670 deletions(-) create mode 100644 pandora_console/images/to_top_menu_hover.png diff --git a/pandora_console/general/header.php b/pandora_console/general/header.php index 0bf8ad17f4..f6e9c112a1 100644 --- a/pandora_console/general/header.php +++ b/pandora_console/general/header.php @@ -16,12 +16,20 @@ require_once 'include/functions_notifications.php'; // Check permissions // Global errors/warnings checking. -// config_check(); + config_check(); ?>
'.notifications_print_ball( + $notifications_numbers['notifications'], + $notifications_numbers['last_id'] + ).'
'; + + // ======= Alerts =============================================== $check_minor_release_available = false; $pandora_management = check_acl($config['id_user'], 0, 'PM'); @@ -38,9 +46,10 @@ require_once 'include/functions_notifications.php'; } } - echo ''; + /* + echo ''; - if ($config['alert_cnt'] > 0) { + if ($config['alert_cnt'] > 0) { $maintenance_link = 'javascript:'; $maintenance_title = __('System alerts detected - Please fix as soon as possible'); $maintenance_class = $maintenance_id = 'show_systemalert_dialog white'; @@ -64,26 +73,27 @@ require_once 'include/functions_notifications.php'; ] ).'

'.$config['alert_cnt'].'

'.$maintenance_link_close; } - } else { + } else { if (!$pandora_management) { $maintenance_img = ''; } else { $maintenance_img = html_print_image('images/header_ready_gray.png', true, ['title' => __('There are not warnings'), 'id' => 'yougotalert', 'class' => 'bot']); } - } - - $header_alert = '
'.$maintenance_img.'
'; + } + $header_alert = '
'.$maintenance_img.'
'; + */ // Messages - $msg_cnt = messages_get_count($config['id_user']); - if ($msg_cnt > 0) { + /* + $msg_cnt = messages_get_count($config['id_user']); + if ($msg_cnt > 0) { echo ''; $header_message = ''; - } + }*/ // Chat messages @@ -158,28 +168,29 @@ require_once 'include/functions_notifications.php'; // Servers check - $servers = []; - $servers['all'] = (int) db_get_value('COUNT(id_server)', 'tserver'); - $servers['up'] = (int) servers_check_status(); - $servers['down'] = ($servers['all'] - $servers['up']); - if ($servers['up'] == 0) { + /* + $servers = []; + $servers['all'] = (int) db_get_value('COUNT(id_server)', 'tserver'); + $servers['up'] = (int) servers_check_status(); + $servers['down'] = ($servers['all'] - $servers['up']); + if ($servers['up'] == 0) { // All Servers down or no servers at all $servers_check_img = html_print_image('images/header_down_gray.png', true, ['alt' => 'cross', 'class' => 'bot', 'title' => __('All systems').': '.__('Down')]); - } else if ($servers['down'] != 0) { + } else if ($servers['down'] != 0) { // Some servers down $servers_check_img = html_print_image('images/header_warning_gray.png', true, ['alt' => 'error', 'class' => 'bot', 'title' => $servers['down'].' '.__('servers down')]); - } else { + } else { // All servers up $servers_check_img = html_print_image('images/header_ready_gray.png', true, ['alt' => 'ok', 'class' => 'bot', 'title' => __('All systems').': '.__('Ready')]); - } + } - unset($servers); - // Since this is the header, we don't like to trickle down variables. - $servers_link_open = ''; - $servers_link_close = ''; - - $header_server = '
'.$servers_link_open.$servers_check_img.$servers_link_close.'
'; + unset($servers); + // Since this is the header, we don't like to trickle down variables. + $servers_link_open = ''; + $servers_link_close = ''; + $header_server = '
'.$servers_link_open.$servers_check_img.$servers_link_close.'
'; + */ // Main help icon if (!$config['disable_help']) { @@ -313,8 +324,8 @@ require_once 'include/functions_notifications.php'; $header_logout .= '
'; - // echo '
'.$header_alert, $header_message, $header_chat.'
'.$header_searchbar, $header_clippy, $header_help, $header_server, $header_autorefresh, $header_autorefresh_counter, $header_qr.'
'.$header_user, $header_logout.'
'; - echo '
'.$header_chat.'
'.$header_searchbar, $header_clippy, $header_help, $header_autorefresh, $header_autorefresh_counter, $header_qr.'
'.$header_user, $header_logout.'
'; + // echo '
'.$header_discovery, $header_alert, $header_message, $header_chat.'
'.$header_searchbar, $header_clippy, $header_help, $header_server, $header_autorefresh, $header_autorefresh_counter, $header_qr.'
'.$header_user, $header_logout.'
'; + echo '
'.$header_autorefresh, $header_autorefresh_counter, $header_qr, $header_chat.'
'.$header_searchbar, $header_discovery.'
'.$header_user, $header_logout.'
'; ?>
@@ -600,12 +611,6 @@ require_once 'include/functions_notifications.php'; $("#agent_access").css("display",""); }); - /* function blinkmail(){ - //$("#yougotmail").delay(100).fadeTo(300,0.2).delay(100).fadeTo(300,1, blinkmail); - } - function blinkalert(){ - $("#yougotalert").delay(100).fadeTo(300,0.2).delay(100).fadeTo(300,1, blinkalert); - }*/ function blinkpubli(){ $(".publienterprise").delay(100).fadeTo(300,0.2).delay(100).fadeTo(300,1, blinkpubli); } diff --git a/pandora_console/general/logon_ok.php b/pandora_console/general/logon_ok.php index d0e2070583..21c9713a48 100644 --- a/pandora_console/general/logon_ok.php +++ b/pandora_console/general/logon_ok.php @@ -80,7 +80,7 @@ if (!empty($all_data)) { $data['server_sanity'] = format_numeric((100 - $data['module_sanity']), 1); } ?> - +
'; +} + +function check_include($ext, $label) +{ + echo ''; +} + + +function check_exists($file, $label) +{ + echo ''; +} + + +function check_generic($ok, $label) +{ + echo "'; + echo ''; + return 1; + } else { + echo " "; + echo ''; + echo ''; + return 0; + } +} + + +function check_writable($fullpath, $label) +{ + echo "'; + echo ''; + return 0; + } else { + echo " "; + echo ''; + echo ''; + return 1; + } + } else { + echo " "; + echo ''; + echo ''; + return 1; + } +} + + +function check_variable($var, $value, $label, $mode) +{ + echo ''; +} + + +function parse_mysql_dump($url) +{ + if (file_exists($url)) { + $file_content = file($url); + $query = ''; + foreach ($file_content as $sql_line) { + if (trim($sql_line) != '' && strpos($sql_line, '-- ') === false) { + $query .= $sql_line; + if (preg_match("/;[\040]*\$/", $sql_line)) { + if (!$result = mysql_query($query)) { + echo mysql_error(); + // Uncomment for debug + echo "
$query
"; + return 0; + } + + $query = ''; + } + } + } + + return 1; + } else { + return 0; + } +} + + +function parse_mysqli_dump($connection, $url) +{ + if (file_exists($url)) { + $file_content = file($url); + $query = ''; + foreach ($file_content as $sql_line) { + if (trim($sql_line) != '' && strpos($sql_line, '-- ') === false) { + $query .= $sql_line; + if (preg_match("/;[\040]*\$/", $sql_line)) { + if (!$result = mysqli_query($connection, $query)) { + echo mysqli_error(); + // Uncomment for debug + echo "
$query
"; + return 0; + } + + $query = ''; + } + } + } + + return 1; + } else { + return 0; + } +} + + +function random_name($size) +{ + $temp = ''; + for ($a = 0; $a < $size; $a++) { + $temp = $temp.chr(rand(122, 97)); + } + + return $temp; +} + + +function print_logo_status($step, $step_total) +{ + global $banner; + + $header = " +
+
+
+ $banner +
+
"; + $header .= " +
+ Install step $step of $step_total +
"; + + return $header; +} + + +// +// This function adjusts path settings in pandora db for FreeBSD. +// +// All packages and configuration files except operating system's base files +// are installed under /usr/local in FreeBSD. So, path settings in pandora db +// for some programs should be changed from the Linux default. +// +function adjust_paths_for_freebsd($engine, $connection=false) +{ + $adjust_sql = [ + "update trecon_script set script = REPLACE(script,'/usr/share','/usr/local/share');", + "update tconfig set value = REPLACE(value,'/usr/bin','/usr/local/bin') where token='netflow_daemon' OR token='netflow_nfdump' OR token='netflow_nfexpire';", + "update talert_commands set command = REPLACE(command,'/usr/bin','/usr/local/bin');", + "update talert_commands set command = REPLACE(command,'/usr/share', '/usr/local/share');", + "update tplugin set execute = REPLACE(execute,'/usr/share','/usr/local/share');", + "update tevent_response set target = REPLACE(target,'/usr/share','/usr/local/share');", + "insert into tconfig (token, value) VALUES ('graphviz_bin_dir', '/usr/local/bin');", + ]; + + for ($i = 0; $i < count($adjust_sql); $i++) { + switch ($engine) { + case 'mysql': + $result = mysql_query($adjust_sql[$i]); + break; + + case 'mysqli': + $result = mysqli_query($connection, $adjust_sql[$i]); + break; + + case 'oracle': + // Delete the last semicolon from current query + $query = substr($adjust_sql[$i], 0, (strlen($adjust_sql[$i]) - 1)); + $sql = oci_parse($connection, $query); + $result = oci_execute($sql); + break; + + case 'pgsql': + pg_send_query($connection, $adjust_sql[$i]); + $result = pg_get_result($connection); + break; + } + + if (!$result) { + return 0; + } + } + + return 1; +} + + +function install_step1() +{ + global $banner; + + echo " +
+
+ ".print_logo_status(1, 6)." +
+

Welcome to Pandora FMS installation Wizard

+

This wizard helps you to quick install Pandora FMS console and main database in your system.

+

In four steps, this installer will check all dependencies and will create your configuration, ready to use.

+

For more information, please refer to documentation.
+ Pandora FMS Development Team

+ "; + if (file_exists('include/config.php')) { + echo "
Warning: You already have a config.php file. + Configuration and database would be overwritten if you continued.
"; + } + + echo '
'; + echo '
diff --git a/pandora_console/general/main_menu.php b/pandora_console/general/main_menu.php index d20ce9335e..d8a03bc59d 100644 --- a/pandora_console/general/main_menu.php +++ b/pandora_console/general/main_menu.php @@ -19,39 +19,14 @@ if (! isset($config['id_user'])) { ?> '; - echo ''; @@ -155,23 +102,17 @@ if (check_acl($config['id_user'], 0, 'AW') require 'godmode/menu.php'; echo '
'; -echo ''; -echo ''; -/* - echo '
'; - html_print_input_hidden('button_collapse', 1); - echo '
'; -*/ + // require ("links_menu.php"); echo ''; // menu_container ui_require_jquery_file('cookie'); - -$config_fixed_menu = false; -if (isset($config['fixed_menu'])) { +/* + $config_fixed_menu = false; + if (isset($config['fixed_menu'])) { $config_fixed_menu = $config['fixed_menu']; -} +}*/ $config_fixed_header = false; if (isset($config['fixed_header'])) { @@ -184,34 +125,20 @@ if (isset($config['fixed_header'])) { -//var classic_menu; -//$(document).ready(function(){ +//var classic_menu; $('#button_collapse').on('click', function() { - -/* - var elem = document.getElementById('button_collapse'); -elem.className = elem.className.replace('button_collapse', 'cambiar'); -*/ if($('#menu_full').hasClass('menu_full_classic')){ localStorage.setItem("menuType", "collapsed"); - //$('#button_collapse').css('color','pink'); - document.getElementById("menu_type").innerHTML = localStorage.menuType; - $('ul.submenu').css('left', '59px');//hacer que esto se haga aqui - $('#top_btn').css('left', '0px'); + $('ul.submenu').css('left', '59px'); } else if($('#menu_full').hasClass('menu_full_collapsed')){ localStorage.setItem("menuType", "classic"); - //$('#button_collapse').css('color','blue'); - document.getElementById("menu_type").innerHTML = localStorage.menuType; - $('ul.submenu').css('left', '214px');//hacer que esto se haga aqui - $('#top_btn').css('left', '77.5px'); + $('ul.submenu').css('left', '214px'); } else{ console.log('else'); } - /* $('.logo_full').toggleClass("logo_show logo_hide"); - $('.logo_icon').toggleClass('logo_hide logo_show');*/ $('.logo_full').toggle(); $('.logo_icon').toggle(); $('#menu_full').toggleClass('menu_full_classic menu_full_collapsed'); @@ -222,53 +149,31 @@ elem.className = elem.className.replace('button_collapse', 'cambiar'); $('li.menu_icon').toggleClass("no_hidden_menu menu_icon_collapsed"); - - console.log('entra click'); - console.log(localStorage.menuType); -/* -if ($('#button_collapse').text() == 'classic') { - classic_menu = true; -} -else { - classic_menu = false; -} -console.log('aqui comprueba click, y si el menu no ha cambiado, no deberia recargar todo'); -console.log(classic_menu); -*/ - + console.log('entra click: '+localStorage.menuType); }); -//}); var autohidden_menu = ; -var fixed_menu = ; +//var fixed_menu = + +; var fixed_header = ; var id_user = ""; var cookie_name = id_user + '-pandora_menu_state'; var cookie_name_encoded = btoa(cookie_name); var click_display = ""; -//var classic_menu = parseInt(""); +//var classic_menu = parseInt(" + +"); + -//if ((isNaN(classic_menu)) || (classic_menu == 0)) { -//f(localStorage.menuType == 'classic'){ -/* -if ($('#button_collapse').text() == 'classic') { - classic_menu = true; -} -else { - classic_menu = false; -} -console.log('aqui comprueba si es classic_menu'); -console.log(classic_menu); -*/ -/* -if (classic_menu) { - autohidden_menu = 1; -} -*/ var menuState = $.cookie(cookie_name_encoded); if (!menuState) { @@ -295,175 +200,7 @@ function close_submenus () { $('div.menu>ul>li.selected>ul').addClass('invisible'); } -$(document).ready( function() { -// repeticion de if - -var classic_menu; -if ($('#menu_type').text() == 'classic') { - classic_menu = true; - -} -else { - classic_menu = false; - -} - - - -console.log('aqui comprueba repeticion '); -console.log(classic_menu); -// fin repeticion de if - - - //Daniel maya 02/06/2016 Fixed menu position--INI - /* if (fixed_menu) { - $('div#menu') - .css('position', 'fixed') - .css('z-index', '9000') - .css('top','80px') - }else{ - $('div#menu') - .css('z-index', '9000') - } - if (fixed_header) { - $('div#menu') - .css('position', 'fixed') - .css('z-index', '9000') - .css('top','80px') - $('#menu_tab_frame_view').css('margin-top','20px') - }*/ - - //console.log(click_display); - - // if (autohidden_menu) { - handsInMenu = 0; - openTimeMenu = 0; - if (classic_menu) { - //$('div#title_menu').show(); - handsInMenu = 1; - openTimeMenu = new Date().getTime(); - /*$('#menu').css('width', '145px'); - $('#menu').css('position', 'block'); - $('div#menu').css('top', '80px'); - $('li.menu_icon').removeClass('menu_icon_collapsed').addClass("no_hidden_menu");*/ - /*$('ul.submenu').css('left', '214px');*/ - /* $('#menu_full').css('width','215px'); - $('.button_collapse').css('width','215px'); - $('div#page').addClass('page_classic'); - $('#header_table').addClass('header_table_classic'); */ - console.log('a (es clasico)'); - /*$('#menu').mouseleave(function() { - handsInMenu = 0; - setTimeout(function() { - openedMenu = new Date().getTime() - openTimeMenu; - if(openedMenu > 1000 && handsInMenu == 0) { - /* $('#menu').css('width', '145px'); - $('#menu').css('position', 'block');*/ - /* console.log('a'); - console.log(classic_menu); - /* $('li.menu_icon').removeClass('menu_icon_collapsed').addClass("no_hidden_menu");*/ - /* $('ul.submenu').css('left', '214px'); - /* $('#menu_full').css('width','215px'); - $('.button_collapse').css('width','215px'); - $('div#page').addClass('page_classic'); - $('#header_table').addClass('header_table_classic');*/ - /* } - }, 2500); - });*/ - } - else { - //NO ES CLASSIC MENU - if(!click_display){ - $('#menu').mouseenter(function() { - // $('div#title_menu').show(); - handsInMenu = 1; - openTimeMenu = new Date().getTime(); - /*$('#menu').css('width', '145px');*/ - console.log('b (collapsed)'); - /* $('li.menu_icon').removeClass('menu_icon_collapsed').addClass("no_hidden_menu");*/ - $('li.menu_icon').find('li').addClass("no_hidden_menu"); - /*$('ul.submenu').css('left', '214px');*/ - /*$('#menu_full').css('width','215px'); - $('.button_collapse').css('width','215px'); - $('div#page').addClass('page_classic'); - $('#header_table').addClass('header_table_classic'); */ - }).mouseleave(function() { - handsInMenu = 0; - setTimeout(function() { - openedMenu = new Date().getTime() - openTimeMenu; - if(openedMenu > 1000 && handsInMenu == 0) { - console.log('c (collapsed)'); - /* $('#menu').css('width', '45px'); - $('li.menu_icon').removeClass("no_hidden_menu").addClass('menu_icon_collapsed');*/ - $('li.menu_icon').find('li').removeClass( " no_hidden_menu" ); - /* $('ul.submenu').css('left', '44px');*/ - //$('div#title_menu').hide(); - } - }, 2500); - }); - }else{ - $(document).ready(function() { - $('#menu').on("click", function() { - //$('div#title_menu').show(); - handsInMenu = 1; - openTimeMenu = new Date().getTime(); - /* $('#menu').css('width', '145px');*/ - console.log('d (collapsed)'); - /* $('li.menu_icon').removeClass('menu_icon_collapsed').addClass("no_hidden_menu");*/ - $('li.menu_icon').find('li').addClass("no_hidden_menu"); - /* $('ul.submenu').css('left', '44px');*/ - /* $('#menu_full').css('width','215px'); - $('.button_collapse').css('width','215px'); - $('div#page').addClass('page_classic'); - $('#header_table').addClass('header_table_classic'); */ - }) - .mouseleave(function() { - handsInMenu = 0; - setTimeout(function() { - openedMenu = new Date().getTime() - openTimeMenu; - if(openedMenu > 1000 && handsInMenu == 0) { - console.log('e (collapsed)'); - /* $('#menu').css('width', '45px'); - $('li.menu_icon').removeClass("no_hidden_menu").addClass('menu_icon_collapsed');*/ - $('li.menu_icon').find('li').removeClass( " no_hidden_menu" ); - /* $('ul.submenu').css('left', '44px');*/ - //$('div#title_menu').hide(); - } - }, 5500); - }); - }); - } - } - /* } - else { - $('div#title_menu').hide(); - if(!click_display){ - $('#menu').mouseenter(function() { - handsInMenu = 1; - openTimeMenu = new Date().getTime(); - $('ul.submenu').css('left', '44px'); - }).mouseleave(function() { - handsInMenu = 0; - setTimeout(function() { - openedMenu = new Date().getTime() - openTimeMenu; - if(openedMenu > 1000 && handsInMenu == 0) { - console.log('f'); - $('li.menu_icon').removeClass("no_hidden_menu").addClass('menu_icon_collapsed'); - $('li.menu_icon').find('li').removeClass( " no_hidden_menu" ); - $('ul.submenu').css('left', '44px'); - } - }, 2500); - }); - } - } - } - } - } - } - } - }*/ -}); /* ]]> */ @@ -551,122 +288,49 @@ console.log(classic_menu); $(document).ready(function() { - - // if (!classic_menu) { - //Daniel maya 02/06/2016 Display menu with click --INI - if(!click_display){ - $('#container').click(function() { - openTime = 4000; - if( typeof(table_hover) != 'undefined') - $("ul#sub"+table_hover[0].id).hide(); - if( typeof(table_hover2) != 'undefined') - $("ul#sub"+table_hover2[0].id).hide(); - /* $('#menu').css('width', '45px'); - $('li.menu_icon').removeClass("no_hidden_menu").addClass('menu_icon_collapsed'); - $('ul.submenu').css('left', '44px');*/ - //$('div#title_menu').hide(); - console.log('m (collapsed)'); - }); - }else{ - $('#main').click(function() { - openTime = 4000; - if( typeof(table_hover) != 'undefined') - $("ul#sub"+table_hover[0].id).hide(); - if( typeof(table_hover2) != 'undefined') - $("ul#sub"+table_hover2[0].id).hide(); - /*$('#menu').css('width', '45px'); - $('li.menu_icon').removeClass("no_hidden_menu").addClass('menu_icon_collapsed'); - $('ul.submenu').css('left', '44px');*/ - // $('div#title_menu').hide(); - console.log('n (collapsed)'); - }); - } - //Daniel maya 02/06/2016 Display menu with click --END - /* } - else { - if(!click_display){ - $('#container').click(function() { - openTime = 4000; - if( typeof(table_hover) != 'undefined') - $("ul#sub"+table_hover[0].id).hide(); - if( typeof(table_hover2) != 'undefined') - $("ul#sub"+table_hover2[0].id).hide(); - /*$('#menu').css('width', '145px');*/ - /* $('ul.submenu').css('left', '214px'); - $('#menu_full').css('width','215px'); - $('.button_collapse').css('width','215px'); - $('div#page').addClass('page_classic'); - $('#header_table').addClass('header_table_classic'); */ - /* console.log('o (es clasico)'); - }); - }else{ - $('#main').click(function() { - openTime = 4000; - if( typeof(table_hover) != 'undefined') - $("ul#sub"+table_hover[0].id).hide(); - if( typeof(table_hover2) != 'undefined') - $("ul#sub"+table_hover2[0].id).hide(); - /*$('#menu').css('width', '145px');*/ - /* $('ul.submenu').css('left', '214px'); - $('#menu_full').css('width','215px'); - $('.button_collapse').css('width','215px'); - $('div#page').addClass('page_classic'); - $('#header_table').addClass('header_table_classic'); */ - /* console.log('p (es clasico)'); - }); - } - }*/ - - // if (classic_menu) { - $('div.menu>ul>li>ul>li>a').click(function() { + if(!click_display){ + $('#container').click(function() { openTime = 4000; if( typeof(table_hover) != 'undefined') $("ul#sub"+table_hover[0].id).hide(); if( typeof(table_hover2) != 'undefined') $("ul#sub"+table_hover2[0].id).hide(); - /* $('ul.submenu').css('left', '214px');*/ - console.log('q (es clasico)'); - }); + + console.log('m'); // cuando no es de click, pero pinchas (dentro o fuera) (¿sirve de algo?) + }); + }else{ + $('#main').click(function() { + openTime = 4000; + if( typeof(table_hover) != 'undefined') + $("ul#sub"+table_hover[0].id).hide(); + if( typeof(table_hover2) != 'undefined') + $("ul#sub"+table_hover2[0].id).hide(); + + console.log('n'); //al pinchar fuera (es de click) + }); + } + + + $('div.menu>ul>li>ul>li>a').click(function() { + openTime = 4000; + if( typeof(table_hover) != 'undefined') + $("ul#sub"+table_hover[0].id).hide(); + if( typeof(table_hover2) != 'undefined') + $("ul#sub"+table_hover2[0].id).hide(); - $('div.menu>ul>li>ul>li>ul>li>a').click(function() { - openTime = 4000; - if( typeof(table_hover) != 'undefined') - $("ul#sub"+table_hover[0].id).hide(); - if( typeof(table_hover2) != 'undefined') - $("ul#sub"+table_hover2[0].id).hide(); - /*$('ul.submenu').css('left', '214px');*/ - console.log('r (es clasico)'); - }); - /* } - else { - $('div.menu>ul>li>ul>li>a').click(function() { - openTime = 4000; - if( typeof(table_hover) != 'undefined') - $("ul#sub"+table_hover[0].id).hide(); - if( typeof(table_hover2) != 'undefined') - $("ul#sub"+table_hover2[0].id).hide(); - /*$('#menu').css('width', '45px'); - $('li.menu_icon').removeClass("no_hidden_menu").addClass('menu_icon_collapsed'); - $('ul.submenu').css('left', '44px');*/ - //$('div#title_menu').hide(); - /* console.log('s (no es clasico)'); - }); - - $('div.menu>ul>li>ul>li>ul>li>a').click(function() { - openTime = 4000; - if( typeof(table_hover) != 'undefined') - $("ul#sub"+table_hover[0].id).hide(); - if( typeof(table_hover2) != 'undefined') - $("ul#sub"+table_hover2[0].id).hide(); - /* $('#menu').css('width', '45px'); - $('li.menu_icon').removeClass("no_hidden_menu").addClass('menu_icon_collapsed'); - $('ul.submenu').css('left', '44px');*/ - // $('div#title_menu').hide(); - /* console.log('t (no es clasico)'); - }); - }*/ + console.log('q'); //al pinchar en un enlace de un submenu + }); + + $('div.menu>ul>li>ul>li>ul>li>a').click(function() { + openTime = 4000; + if( typeof(table_hover) != 'undefined') + $("ul#sub"+table_hover[0].id).hide(); + if( typeof(table_hover2) != 'undefined') + $("ul#sub"+table_hover2[0].id).hide(); + + console.log('r'); //al pinchar en un enlace de un sub-submenu + }); + }); - - diff --git a/pandora_console/godmode/setup/setup_visuals.php b/pandora_console/godmode/setup/setup_visuals.php index 6aeab7bd8b..e74844585f 100755 --- a/pandora_console/godmode/setup/setup_visuals.php +++ b/pandora_console/godmode/setup/setup_visuals.php @@ -120,15 +120,16 @@ if (enterprise_installed()) { $row++; } -$table_behaviour->data[$row][0] = __('Classic menu mode').ui_print_help_tip(__('Text menu options always visible, don\'t hide'), true); -$table_behaviour->data[$row][1] = html_print_checkbox_toogle_switch( +/* + $table_behaviour->data[$row][0] = __('Classic menu mode').ui_print_help_tip(__('Text menu options always visible, don\'t hide'), true); + $table_behaviour->data[$row][1] = html_print_checkbox_toogle_switch( 'classic_menu', 1, $config['classic_menu'], true -); -$row++; - + ); + $row++; +*/ echo '
'; echo ''.__('Behaviour configuration').''; html_print_table($table_behaviour); @@ -543,16 +544,16 @@ $table_styles->data[$row][1] = html_print_checkbox_toogle_switch( true ); $row++; - -$table_styles->data[$row][0] = __('Fixed menu'); -$table_styles->data[$row][1] = html_print_checkbox_toogle_switch( +/* + $table_styles->data[$row][0] = __('Fixed menu'); + $table_styles->data[$row][1] = html_print_checkbox_toogle_switch( 'fixed_menu', 1, $config['fixed_menu'], true -); -$row++; - + ); + $row++; +*/ // For 5.1 Autohidden menu feature $table_styles->data['autohidden'][0] = __('Autohidden menu'); $table_styles->data['autohidden'][1] = html_print_checkbox_toogle_switch( diff --git a/pandora_console/images/builder.menu_gray.png b/pandora_console/images/builder.menu_gray.png index 9c3b0b6ff3ac42c9a5aa5e755ee2c0530a81ad85..bee9c472baa1869628b9c7fcae30a0a85c0df1c1 100644 GIT binary patch delta 603 zcmV-h0;K)Q0+el;>PyVI#Y z=@tt!%aK>FULNagYJ7;*pnw1Vu>i3c5Q_r2B0&5XNu4MwD}Sr3xVVHh10!RIppekr ziuwkJj>d*xOgOyEj^uT?W&i*GX8;<+40JW;ub)4~fG#wala~(w$zd1-^wxJFVd3pS z+YSP84F?Bj8PIjtKyn-$9M7&?zSJx7zW^{v|KYRM?#Ia*n zjvUy(_vpcc+kgHu{C}^ks^$dLAO|$)`JJ1$rmtPOV)xfCU(PtYxj+B&_m9?w)vMQH zgweGtSN;I0$1uL6j0`s$8yoAluU|o4V`67#=LU&yShM;MP;BwnuU~Fr1h%WE7dy~9 z#()3*eZs}bDY$3nj>muh{Q3DG6gWuX1OvOaZv$~oVt*Lq>FejGtg7k>49Km*A|f%@ zu3nk*^T&_7NMQ-m_zzp`pcwS|(lKph1@}Ubyt>xtc88)QUO%%YEML;$RfD$=1 p48oeBNj2yrl>UuJ4F&)RFaQFb*L8c8%nbkl002ovPDHLkV1n5gBm4jW delta 267 zcmV+m0rdWu11S7Wk2(7ai~uV-P4|B|r@X#Re!a70}ch5aYFlNGWy! zFd#v+0y$yCfRx8RQWDq{0h$`*0QDXNxzP{HYp?((+n@_jEP!Mn(EuR807rR4uhU9> R7ytkO07*qoL+_WfN+&3c&_#@R5Ek-5wtF(Sf1-KD2?C@SUNmH9dTDwQUJE>tmBPDR!cqssU{zfb zF-W68G_oa3iFvhvew6Flcdf4oY})e+vjn6X_Xi zY6+SGGb;u*Nl*rXAtH^Ju+lM)H8Yj0A7A3XailpH;CaIuv6n(CKrPCRuY&MrF$$$3 zL4jNYX*|foKb1a1S=%rBQH2oB4bb6Ph$p>heAWN8^3cPHNF2TTaPp_e ft=~F8J_Hy5;63oGV9?7Q00000NkvXXu0mjf6-vuR delta 720 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 delta 234 zcmVBYWXxIU~1_2ELX+96c0(g7@GRzQY*aKuiCNxF$1Poz- z%J<`R5zsXt1@9S%2ZG4qh3p~&2GW27F0YYlkO3}(1Q;j)Ok)gG0yHs*pG3X<7|{<+ z&HG6VCs5Qo0+YZ6ut8)Rf{|rdU>ri}1PUHNF}h)RbN_!V!i_-N8%T|{16ag1kQ4oZ kNE#nN!{P!i#Q*^Y006r=6kvOz+5i9m07*qoM6N<$f{!~?3;+NC diff --git a/pandora_console/images/gm_configuration.menu_gray.png b/pandora_console/images/gm_configuration.menu_gray.png index f791bed3e225f01323931d56a67ed4667cd9c50f..1d69e0f85b91a92c614bae6dfe4d173262122f0f 100644 GIT binary patch delta 753 zcmV< zEQv4qfAf9c;g|P+@6E^K{ii_o9tMXW78Vv2w^9@-RVuOf&woZozE4k0W(7j`9UYVPx%P{CW7#;)iyM!0|YVS+gMK=3G{9HORDm8l>=Af)?_lNM{{z_W{V{T`|;J~ zr9(k{Zt3eEc<^LoRJ_(_Q&usX$y`Q7M(0^5ekL3XqwLFKn%l3 zwAzAHG#dFx_P#k+k#P_%7@8L1xY~S5XNX54;fYP(#=#&+ z-33L}qbOR!G7JpGpQ+dd;HPvtEe7i?C3>AN8jk$f4}bO>ZgEtfm&Jmlw{oB8?xag;8Y7FY|W?|m>O|DchDwWC% zb~OO{0Ga?;om`>lEHhSk{KTfyPZ0ah(URNEo3Y#3S%<@)NF>Hebb6^wCcgkMD}df{ zFxXd1^MCR>%~jS_ug5dL6$tzd+8gU@Yt+up_Gd$BxmYU8vr!~@7C>)7^U#osB2jK@ zO?~~+;)2T+4uuW|ak1g`QsHoD+-Ry4!+yZ}$xg^F jA0W?r@7{UzOMn3Y=8Z;(+Dcf600000NkvXXu0mjf_H$ks delta 303 zcmV+~0nq-f2JQloNPhtkNklICQn#0d~z zeAEqa18@UIUoZehNoNGaB!k{GljjtR z_j3bjk3dQyO_R(bYupB?xgY2u>q*v55_!n%F4u-kg$&!sv5DM<#34ownTZX@W|+S? z^mLDy3FV6SKPVL~jFD{)3oJIW%yQCQWTyTC3;^SPY|x~vjc@<}002ovPDHLkV1hYR Bh_V0x diff --git a/pandora_console/images/gm_discovery.menu.png b/pandora_console/images/gm_discovery.menu.png index 0f396c08c688a8b396bd2f6817ed999fa71774dc..65fcf321e430260b9056db4caaec811bca089e31 100644 GIT binary patch delta 766 zcmVbTnI=r1Y0AjRD0Auj`KP$lF%vRKRb9hdOIv5ToV!M-adB6m0q=Nu zcou1>s_y3J<>6FNR(1-Hj^RdE&w|YmFJC_f9X-9cj~_q00J>)HkDotfxwtr$MMZ=d zzWw+iuc4*w3{po{bjjl?A+rL6e4xli!(@qPX9@sr2>hmVy0{`tose=R8~{^8@t z0HUH_-_XcIT2?j`=o&5wF;RVG1qB&#QBj6JfB!PPc>S9B_aC5%3=B)}-MRf6r;9AC zZ5U+b<=y}O{mcLH^JkM!pFe8>6C(qV&+zi~Ylf#!pEF2HON)B?`dQ!&Bfp>^UL|E^ z!;c?7vav8TGdzFwn&I)Yf9DJg|AEd2^4Zu}8GtSl`uypWD^U4foCX0E82|e9iy!0) zu-}=O7&v)(8JK|lA3uJ;lyL*omIY6uZr|Dk%p&(# z+1MEV{r$@bOjGjenwnfV4f_B8pEi)<=j7u0{o?ua{de!&E?Ty5f1%6FDU;pr-@TLn z=)wI1K>44NQc~On07*qoM6N<$f=&^KJpcdz delta 282 zcmV+#0p7i)&_E3X6aJ%u_dqN_Emu;zv zKw{s=r;mw%x$$WH2T)o8Xm9{Iu2et^OHc~fkHlY3j-mZ%UKfB`gdDa4lq4e%C_uC5 zKS@CV$~pfr!Fw!X^GS&)Y%aj&a8(CV47DfHQ=l+bAl6U^9O4InI1q>niBL;0JV77< zN9yP&H?KQjQ6~URA^V9jv;oaP0|E|sPi$dKbUGwd4!{)c#}EmgjK`^F9A{sZE_KrG6|#r5yh z@#6<3ba#G0*TaI%pud0rPG@9fbO$mSVPgOP|7T)mVL8mk#D#AIAAcW6%gC_v^9!&&dhp;4K^FmI${ZL*LNG%>;K%pxVp=-78BwtbQ;bZ_ zl8EveHxJJ*K7Rf;EG#Sxuvh~c%JlQc4~ZW?zRLi)FNpFQJ3IT^M-Lu8=Hljl0}LBk zU_kRg#Tgzwe6aE0-aQRpK7VGhcXn0~5ET0T?CFzVSbtr#dHuS#3uez;`SAYzQlRD= zurwqfAo$_j=~J5yAK3p0FzW#xf+jg^g!;m)mFYk&OsvD47R zL`Pai*68Wu$A-Uu|N5k>Z*b+$pFdZxU%m2$1&5bGq0IGo~$g`}WO;S&NqD zK7aDm3xCMw7nhJwZ||FM_v5Dzb9i4#5yA<(6&iTOiU=n1~ANCet7?W+4t|?J}EE|0zeljZ$EH&lC8aiD+7@LAiw}J W78=2>SA>}W0000Tr&Y^JBW6Ky7mCFYj7na&qCB(X@kjOB^YY-?LHc-Q$Mg|f9K!5=NztlowxQ{wA00000NkvXX Hu0mjf-$7uk diff --git a/pandora_console/images/gm_resources.menu_gray.png b/pandora_console/images/gm_resources.menu_gray.png index 7733a069d1db39115aed0623b66d53b48773ed39..7915645c477723303738428641e31622480742f9 100644 GIT binary patch delta 218 zcmV<0044vo0-FMmNq@abL_t(|+G1d!5@5t7F=xp#2SS=tVxkVo0uB7Yh-QcakXjGK22e#C@fhNdq|T8AP0|4>xd4a@K{ny>`UD`gAF6&oHm?}~ z4Y)u|07HWTY#1X{paDqP6QTD3(2_(n!$5lLVP3O`dW#s4h*M3FiCXDs7#jo&?1eNVN7UFZG_sefl!zL)g%I` z1yGmGX9Sw8Kty=JG#|j?vj3o9V1Wj#12F~xH92B43t5c1`!6JSeppM2Z>aF zf#|$O3IHaD1ZeUBrz2#E_0Tj0N-r0PGz83LL6d&~&5-+n3Mb+*haZRwplooyWWan{Yl!?wl<9? zr5&*?s~0|!bMHCd{qA>ef@3v?bLa}*-P1FWPN(gqDHVWgPk*D)_}Rbo>G`;8q@b_C zD@iU54$<}l-BbB|{-mm^MCCe;<5?V`slf6V=S|nh<~*rSx;%Up+t<~3TTv7Tkkk^3 z!8}8eq=RL-c?h4@B(gL%T1k>RmCI(|K==-T^s0eGF&GR2$Mb!#*`S^X>4{*GhvXo< zP6JYaHb8S341dE|mlhX%x5iwAaGF>(}CsXF_QeZ zw2G)uD9|8%m7=H(Ed*rBKC>)Kn9b%CtTAeZiB&{`ATW~;CKke>&t%}gVqz@0$)Xw$<$kysN_j2 z;24-5_s-3EUcZ`+=@V=n9aT3T)wsD?%3!d;H+2S%betCiYmLsTbrnHtP2YpTc}Wy! zS&j`w)_>MQ*nf;FBDg1n$9?bD>dMM{mg8DL+3wc%b}T7Lu|zx`Ep@iOB9KkwGTHR` z3m1FOo^v>pNvYXv-iDq%c|7^hecz+q=%%La2=cZh%7aHcIF8>1i9R@`i=2DZ@u2!Rz&ecB9Xr~Iy$ZG2rwkYNl=9y>_3F{A3mZr1KU_%*Zxah dec@jL1^{g}3MQ)HP5A%-002ovPDHLkV1l$kSj+$b delta 272 zcmV+r0q_3v1!4km~!1Gfng zjF4dB4aI;O0Rs{u8ax@)10H}V2E)O`_>V-vgm6*9MPtwdibfKU8-JCt31i*bZvE$L z!T{z<&FDHi)SihEXS~NeH58niNG5VQ5-sGG`u^Vv$G$kz#o^TS5Ev&PE8a z3RJP1rm3F6{(pWU20ByUaMWl_Ddq*9%CTDQurs1iC=ixq<#p+v<2b~al42`%IBr9T zM^O|DkO2+sg`)bh_oKPamJn&&_?$wtrd=!T{ab9M1zKxD+!QjiY0)M>;3Q-+lx1WO+rU6+lO})sSAV_wl2L12Zx> z3VJg(HskSldLbe9jsOsYonx zAUeHX)M~XG;c%D;k|YR3C4WRPc@?f}fxy;gb3=V)%xo$Ynol+)&uTDCns+MCab`&| zc%p!F*S5hjBoqwJ&n_(70oXf=3K4NrTUlCqNq>hZAIJ0W1)g`Orls{749N!sftQOx zB@4c2)M_=q?pd3B(AP5r6P8MU%I{giFIlNXny$1BIo)No3_~-}(lkJpj0E8TrTdfg z`l(+ltM-o8%VM+!O$2IbzlxMPT>{9apw-b=FP_&7-0Q1_Z>+wyO0Onbc^d`JJ6 zOD`?0Y2zOz+fGzfmqlYv_c5ZY`)+Qc{67K=0Q5j#Pwr+LSO5S307*qoM6N<$f(`zD A{Qv*} delta 363 zcmV-x0hIpn2C4&)NPhuLNkl)Q}47 z$tTa)6@(5Xg@5ED^V;l5sLsYw+tr9j z)OlY?+;qsk5@hWk5f66n?hher+3qgp1P&7gE#XIE2J(2B8pzhtcVP1xzdZ;fpOP1Q zU-+lQ`h|Jp?df?|)q?)mn$g}9JxCf=bOv4nigFG@-M$LgAf=GY)IRZCO?*|`DXysk zDly~<_~v3wKV;b`X4;eeMdV#pIj6514C!bY9e)-DZvJ`Z;KhiQ90@?kr0^{ZcjwOT?>~P0#3Iee z!pi#p*^|dlaT)|HM!+suJb&&UV)GhI58NPN7WmK2&BF`Aq-0tyZf-slgMhK|sk*6o o8Zb0JkRMncvHtz@hXEkK0D$s)^#_s+0)l=dLqMPah(U%Y zVpELIYY9Y(Q8$e68FYY1G28}019~D5KR^-&u_prM6o@hiYH0{4ear{qKp=L6;y|d_ zeyAFPu~vYT%FlxmDpD$DfW}-udhB5{C>~2TKnD)QgpmRfk)%M-YrvGtNbTq+JFgia q=VlU$kqgKMEhN(+7hrk;0t^7*&@U{&+@37}0000coNq-MXL_t(|+N@T+P69y?UM>_^pcg9wg(MaCo~1UxFYvUZFjA3dg`tqd#u+k;>$-a!#z`g@_IBUAc{?+Q10i;L zx0u354t)*X)n3=p1N7?A##3O!a4f)Sd|WW7kKSM~2}JKHcz+gsi-Q$SfgA&Pfx$iW z5*}(r$nuyorTr(?0JyorjPkhAH%O(LuQJ9xbgshd`CkE;IWfs-2PvC^B>_(bV`*#X zWtoYiFnmGZ)|ls*RhW_Xms%z_=*vV@@cJ>Q=4*#{V7O(~AB^GgJwi;;cLx5?N~8!$ zCiqhQVbwB!%}h+=6|L#gLMQ-SkBPssjIVyCgK(k zH_3tkDr>X*H;3zwFdd(R&4n`z@ToDme8u^gykC8bx;@tlI+Q)jbjk4C-PA~`jU}LEM*qc@%g?a6o{lF_K)pb p3K;#PAM&>)t#y2)zb#(^3;>~b@X0>k`mF!}002ovPDHLkV1nXxB+>u? diff --git a/pandora_console/images/links.menu_gray.png b/pandora_console/images/links.menu_gray.png index c390e9a268e0e03d8968a3bc1040eb9b735aa10e..7520e0f0562c4e3a260378637c72f5497a6744bc 100644 GIT binary patch delta 812 zcmV+{1JnG21Lp>iNPhzfNklz6No0adiEUa@@1zMVV&<1>gE#_$UYj+Bs)ER~Xx zZJW~H+r4<++!fL?GM^2NO>-3#l$ifB{6Bf?#&!J8Dkv*wn18Wg(W4y)kCeK3`EanY zvw_8d-s6c&PMNyr*on0fv2jxP%wPf$8d_TFK<|9)X>ZxGch`;|zkdD#OPZQne9<>F zI{os+3sq}dJ7-T{Kl}y(Z5CtW;P?a#hmU{%{DDiVs;fIFsiOuq5r`F}IDqRMJR4o*(EFXm;{)$b#xi{`1vmU{rmR-1H=D4OiavIB_t#`1%-tEKYH-sH`eI) z^z-8j3X5o!m6MlaWMudN6#DZ0+qW-2e*E|i1Pnm$F@N##@v}=vNpb)UVO_p>(OaNP z_x$?xYwzBjJ5Up(m!Cg_xP*i)&>L1jE*B90|Mm0dcNsZ3Ml%abuDf^c{JwVOGK-j) zxR_sXu+Gn)KYu-Y`eaICMEH6ZWP`SC+6bZ!Lopbzv9SrpBqs6m^7DVbcJ<1iCG+Qf zr0LgQ4ak2mV z_wV5Qckkqx@EHUQXriLP~AVt{wX~u3gO{EF!`!DJ9L@*4yU|O!ZoC-@e(%NK6r7@8ry! zo|D@GjOs{WsW2ZX^bY6}`=394n7?}UGO?gb;Aiw~LVLeG_?Rpge00002rvNm Wqioz2lBQz-0000 diff --git a/pandora_console/images/op_events.menu_gray.png b/pandora_console/images/op_events.menu_gray.png index 4073f154b0b78084485f0546ac3ce105fdebde73..84ab4bebf2e329f7241585c66dacf04ef53bd865 100644 GIT binary patch delta 569 zcmV-90>=H40`>%uNPhwtNklpy z-(hN4@EH&k9+BWe^{~fH)Tym-wGQe}CYHfM_;0wkJS5?c;|J zKakbqbkVvUaaQVW8%k$^V+KH~72~QBI0%_5RYv#?IaR{4wW^97aZtmRHcJ`UTfK>sy0OE8e z#t&b=emy22D1Y!&Ttec09=1Dg@%8g6dx>-X;5S-5fS8U|9*5d$=D0Wl~=vw!>e z@#D7VPoG}KrjUi0+|R_s!T=2DLz_3OpS}r;Ylv|XxYXd|uLh#u=5G!n3FI?Ya00000NkvXX Hu0mjf>I@|L delta 210 zcmV;@04@La1d;-fNPhsdNkl0u(#HI2BOkINtf9IiP)szLUoxCUPs{l^wt zK>Pt3YZw8}g2fO661OV M07*qoM6N<$f;1;n3;+NC diff --git a/pandora_console/images/op_monitoring.menu_gray.png b/pandora_console/images/op_monitoring.menu_gray.png index 3d1bc0e007ff5c9ea0c991c89a200719b517ec64..5456d64b1d9a9a7c923bbb92726da77547ff59d2 100644 GIT binary patch delta 679 zcmV;Y0$BZn1LFmdNPhx_Nkl*uH^iTy4ejO@^T8WWVsKvBROMBATU{n+n*RaVZ z{%4ugbdAA-13z}>&71$cee>Qj%zqkeHKWhp%edTbxBOE+f`92w&;-7NHzvUpnVpW0 z4u`L%Y6_hQ1h%?&crTSoB`;V7lc~Zl&$4VzQIu3Rlev*je+&@gVt0hr9 zl+Wimoo@l$0aZ$S>E-EU3ET(o=x20*FMs4funkNB2_(QMy>0T|2uMj@DVe-gC=?!JLHVa{hX|OOOU(3M4qo`(Yp)^^rfEyd!wpue z17Z!dS*r@5*GQR6&(9@%gP~CTkEV@9U#gp%oA06-Q);nj#|D8WQ>C4+AnG)_|K{St zLf_CpaK7gMNc$(9>}9%p_O~N?QRUgZ)X4i N002ovPDHLkV1je`Muz|Z delta 324 zcmV-K0lWU=1%m^SNPht(Nkl+s2S_l<5 z@Zkwm5K{qA0i**;V8yK9P$c08H?t#+tlL|!PD&F`%$KVY!w|>;&E*Tw0Ncsu_{Ysj z9RibB1KlJZXP^M#!7eCA#jl6t+e2jb?3wc*5=z|Ipz1WDtbaysCKc6zjXP}A^d=PR zn@5xvA{qcQ;K(r)mE!4y4Anfj=7sq~Lo^C}Y*<9|=wp$q$j2SkBrQ~FC8}>ciZago zB({xN00+6b15BCJr7s!BTuL{F((sDET*=N?tgyGo$jX1f#A(2@ASsz+<{ws(jIWrX z981sIB4uZvT0Pvai@3l~ZG!IaS+lF;b?Cr)alay9Y+922>uCD|yzLoD-}SIv1sDJ< W+FEZy@rl_00000-NqmgBajWU0nG$7zle`iVgR}UouC;2 z>GFa2ZJ2;E0o|b8fQ-O<(L2e6D-?<)%NN_RU+i~Dk~8Gt@hOLvJg4Urf!RZ8yG+g* z%nNjY7PmLo!wI!Y6`?fFI1>eCC!o25*{CsPl^U1~UO_LQm4A{NB_4pXLmp#Z%~}=+ z=+j6yCe97)AP4zq7bvi^!7PG&X^>bUnk@=cvCnl!hWKl7$v?@LLV&*gCjZ&YvV`6T zLS~U+&vhIo1Lu5N^SsgAF1ckFVXN0_3k`k+<%V*_gY2xGBJzP?;zz3ny_mn|>P>!+ zyyd4EA-NHM7HQKfBF@yL1@hK%la#L^Coua>YbS#X`2vdv_-fP4oB7p<^WDZ z6}PDwy-yY}64c>9%J&Mix@VO>h5pV^B0ttC{lkCA>k18;=Lq6MfB^s~aevis`CthE O0000|=I!Zr91xKhNvO=NeZB$sqMgiZ3a)<&z)R)4@?h+`bPNG6$fxGG2k z*%{MFGo;l20>O=qO#)?C${0G0K*p&djgS~S=MYE?D4PLV#|$B$eg|1#4G!(r>4fN9uk{wlJ|)?6c^_(xL)IdILDvwz>PFQZHAnvVWbO|ToDL$ou*j;S zkgb|L$_t10cWRE5#SbD4hncnDPS%ij{l0HdwmUO652xVlyGl&8hmSZ z06RE;h2!XMfGi%={185-i~VzkmOjzJL2B2vo%eZ@Av7`#}*Ku1=$v67M5o(o_{~T`Si(?e}oMB{rfiq z6BCm$$PMTQG5r7kpXJB*Z!BK^{{MCL^aWX2*_d{0+5F+msgpm@4Ps?wWk=S}g0A4# zuV24a)YQ!_ZEQ<8I5_w(oj(V1`az6QadCm9KBB9|YY@_zeOoVtMuQ z<*9pj?j(Ny@dKus6No{v_lupKZ7DGIe*h|D!e`JwUOs+?RZExr0OE%@y!{$PNJ~qz zz_JIrK}Y|9&gB6{wFoft63n!mT-0`LToNPhwnNkl z{=661)H35TBs418$1gB=3ec)hHa0dpW@cs&Wff&TVPVk&=g*$`g07wkn<24@$($bE zK8gST|1-I-SPc@Fkl^L!=6@CgYDV$;|9}73{{H=I zNVGv5oSbZ|tgP(+|NkdCT(KH7Z|00ACypIE$;HKuY62tUw_m@0Z6rFdHMF!8jm^xz z@$m4x1$u=CCDxQEZn*-}%YtlBa6}{@FTa4@w=Z8n;QElPqKfizfgBn68N66ufH8ytke@skFjDJLCufI4Ax_j%^x36Em{016E z$dG?P{065%bEZ#y`rzK(vm6{8fARW@k?{>M@6ExRAc29{0gT$CKv!Wk3@HBN&!6A> z-@Sdi5N|p#6Gib_hlz|1NN4U0b@40Op478aHj=g*u;o6yzyhp6%>H9LpH z+11_U%Pg1AhR|g4m5Yn(#K~jF4o&Ro!cY$oU;u8U$Ia$JHD>?-002ovPDHLkV1n_a BA4vcJ delta 276 zcmV+v0qg$o1k(bLNPhtJNklebK$(E%$p_I1XeTHe028$E z;Yl}W*q}^6MqmWal94J%BFBxA4n;yE(Y_rU8%|;pkX8 z0j&8=E&_yFPrgPGB?7|60wD_&QBp=z5@}8#%;1e+JZCJ{O@GXcDpqQ4R6vVV!+dBq zBY)DNVkZ9p?>M&tvnj-gB+uEufQH%J;Ux>vc^R>+uZS6Iuo_&9%1E)6zSgoxpj@Jw z#H{( zJaZG%Q-e|yQz{EjrrH1%E%9`545_%4l)}*T|Nnn&hLsEoVhIambP`&mD&~2yH637A zQ<&)B%IxUS(AmhAAR+bZ(`R3UWwREF&(BSoQEJ1}r&?>=f9=kI2!{to2&yG0) z7p8wwJ|B?6Jdsy1!@%I9`JdxVdNy}|?9W^-H$%;pk7a|Dmxr*TsYIJlvV!7Pof)3b z+1w-^F&UUD*z)kywH%%zWH9S{`-Fw;D{?g)8W2CH7g62Dtz})w`Me9DGWj(JCNex>J&XAP2tGH#Yi~tMM(Eh$or_B&@wv7B!Fw z6~5hJ&*AySoSFO5zD+q(k>nzYO>d*#?e)G*1BZo3c(^(sfu$Y&uc^_@=31rnS*Bo} z4NYHiO^^Cm9&*u;Q?PErp6HcC(ov&qoJyMqB=_>Ktk#BRb0xHXtVWD}5Q(%@+w9Pi zW?+=fgS!(iJ%dg-pwu+lDYN9nyVl00Mtv+y8HaBFr1$m*e**tMvNCw5qC*YQegqf* Xifn`UI9YYV00000NkvXXu0mjf*=ewo delta 364 zcmV-y0h9i@1FQp(Nq=4QMuC1C9yWeDXtk6Tk+v6I7WX zz)wF*CTK>;2E7q(gVsjxkmWi-6_%`v?D(DiY+vCFX}re2{AZ0000< KMNUMnLSTX}oTH@x diff --git a/pandora_console/include/functions_config.php b/pandora_console/include/functions_config.php index efb08fc02d..6c54271b70 100644 --- a/pandora_console/include/functions_config.php +++ b/pandora_console/include/functions_config.php @@ -1032,9 +1032,10 @@ function config_update_config() $error_update[] = __('Fixed header'); } - if (!config_update_value('fixed_menu', get_parameter('fixed_menu'))) { + /* + if (!config_update_value('fixed_menu', get_parameter('fixed_menu'))) { $error_update[] = __('Fixed menu'); - } + }*/ if (!config_update_value('paginate_module', get_parameter('paginate_module'))) { $error_update[] = __('Paginate module'); @@ -1116,9 +1117,10 @@ function config_update_config() $error_update[] = __('Default height of the chart image'); } - if (!config_update_value('classic_menu', (bool) get_parameter('classic_menu', false))) { + /* + if (!config_update_value('classic_menu', (bool) get_parameter('classic_menu', false))) { $error_update[] = __('Classic menu mode'); - } + }*/ // -------------------------------------------------- // CUSTOM VALUES POST PROCESS @@ -1791,9 +1793,10 @@ function config_process_config() config_update_value('fixed_graph', false); } - if (!isset($config['fixed_menu'])) { + /* + if (!isset($config['fixed_menu'])) { config_update_value('fixed_menu', false); - } + }*/ if (!isset($config['custom_favicon'])) { config_update_value('custom_favicon', ''); @@ -2515,9 +2518,10 @@ function config_process_config() } } - if (!isset($config['classic_menu'])) { + /* + if (!isset($config['classic_menu'])) { config_update_value('classic_menu', 0); - } + }*/ if (!isset($config['csv_divider'])) { config_update_value('csv_divider', ';'); diff --git a/pandora_console/include/functions_menu.php b/pandora_console/include/functions_menu.php index d6384595a8..c0ae82b4ec 100644 --- a/pandora_console/include/functions_menu.php +++ b/pandora_console/include/functions_menu.php @@ -723,6 +723,28 @@ function menu_sec3_in_sec2($sec, $sec2, $sec3) // 35px is the height of a menu item function menu_calculate_top($level1, $level2, $level3=false) { + /* + if(menu verde ){ + $item_height = 28; + } + else{ + $item_height = 35; + } + */ + + // $(".menu li").css("min-height"); + // console.log( parseInt($("#icon_oper-agents").css("min-height"))); + /* + $item_height= ''; + */ + $item_height = 35; + + // echo ' '.$level1.' '.$level2.' '.$level3.' '; $level2--; if ($level3 !== false) { // If level3 is set, the position is calculated like box is in the center. @@ -737,12 +759,12 @@ function menu_calculate_top($level1, $level2, $level3=false) // Positionate in the middle if ($total > 12 && (($total < 18) || (($level1 - $comp) <= 4))) { - return - ( floor($comp / 2) * 39); + return - ( floor($comp / 2) * $item_height); } // Positionate in the bottom if ($total >= 18) { - return (- $comp * 39); + return (- $comp * $item_height); } // return 0 by default diff --git a/pandora_console/include/styles/menu.css b/pandora_console/include/styles/menu.css index 63b9c3a0db..faa72fb288 100644 --- a/pandora_console/include/styles/menu.css +++ b/pandora_console/include/styles/menu.css @@ -16,16 +16,25 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +.operation li, +.godmode li { + display: flex !important; + justify-content: flex-start; + align-items: center; +} + +.operation > li.menu_icon.no_hidden_menu, +.godmode > li.menu_icon.no_hidden_menu { + justify-content: flex-end; +} + .operation .menu_icon ul.submenu > li, .godmode .menu_icon ul.submenu > li { background-color: #282828; + padding-left: 10px; + padding-right: 10px; } -.menu { - border-width: 0px 0px 0px 0px; - border-style: none; - border-color: #777; -} .menu ul { list-style-type: none; padding: 0; @@ -33,14 +42,15 @@ } .menu li.selected, .menu li.not_selected { - border: 0px none black; - border-bottom: 0px none #d4d4d4; + border: 0px none black; /* borrar?? */ + border-bottom: 0px none #d4d4d4; /* borrar?? */ margin: 0; } .menu li a { color: #ffffff; text-decoration: none; + width: 100%; } li:hover ul { @@ -48,16 +58,16 @@ li:hover ul { } .submenu_text { - padding: 10.5px; + /* padding: 10.5px; eee */ margin-left: 0px; width: 100%; - color: #91a2a7; + color: #9ca4a6; font-family: "Open Sans", sans-serif; - font-size: 10pt; + font-size: 9.4pt; } .menu li.subselected a { - background-color: grey !important; + background-color: grey !important; /* borrar?? */ } .menu a:hover { @@ -68,25 +78,23 @@ li:hover ul { margin: 0px 0px 0px 0px; position: absolute; z-index: 999; - /*left: 44px;*/ - min-height: 35px; - /*height: 35px;*/ - width: 180px; + width: 214px; } .submenu2 { position: absolute; z-index: 999; - left: 180px; + left: 214px; + width: 214px; } .sub_subMenu { - min-height: 35px !important; - /*height: 35px;*/ - width: 180px; font-weight: normal !important; background-color: #202020; + padding-left: 10px; + padding-right: 10px; } + .sub_subMenu.selected { font-weight: 600 !important; } @@ -103,17 +111,14 @@ li:hover ul { border-left: 1px; } -.menu li.has_submenu > a > div { - background: url(../../images/arrow.png) no-repeat 80% 50%; - z-index: 1; /* Positions it on top of the rest */ -} -.menu li.has_submenu > .SubNoLink { - background: url(../../images/arrow.png) no-repeat 80% 50%; +/*.menu li.has_submenu > a > div,*/ +.menu li.has_submenu /*> .SubNoLink*/ { + background: url(../../images/arrow.png) no-repeat 95% 50%; z-index: 1; /* Positions it on top of the rest */ } .is_submenu2 { - background-color: #e4e4e4 !important; + background-color: #e4e4e4 !important; /* borrar?? */ } .menu li.submenu_not_selected a, @@ -155,9 +160,9 @@ li.sub_subMenu.selected { background: url(../../images/op_network.menu_gray.png) no-repeat; } #icon_oper-agents { - border-top-right-radius: 5px; - border-right-style: solid; - border-right-width: 0px; + border-top-right-radius: 5px; /* borrar?? */ + border-right-style: solid; /* borrar?? */ + border-right-width: 0px; /* borrar?? */ background: url(../../images/op_monitoring.menu_gray.png) no-repeat; } #icon_oper-events { @@ -188,7 +193,7 @@ li.sub_subMenu.selected { /* Godmode images */ #icon_god-discovery { - background: url(../../images/gm_discovery.menu.png) no-repeat 50% 50%; + background: url(../../images/gm_discovery.menu.png) no-repeat; } #icon_god-resources { background: url(../../images/gm_resources.menu_gray.png) no-repeat; @@ -221,7 +226,7 @@ li.sub_subMenu.selected { background: url(../../images/links.menu_gray.png) no-repeat; } #icon_god-um_messages { - border-color: #777; + border-color: #777; /* borrar?? */ background: url(../../images/um_messages.menu_gray.png) no-repeat; } @@ -229,7 +234,7 @@ li.sub_subMenu.selected { z-index: 3; position: absolute; left: -80px; - background-color: #aaa; + background-color: #aaa; /* borrar?? */ } .notification_ball { @@ -286,7 +291,7 @@ ul li a:hover { */ .menu_icon { - transition-property: background-color; + /*transition-property: background-color; transition-duration: 0.5s; transition-timing-function: ease-out; -webkit-transition-property: background-color; @@ -297,11 +302,11 @@ ul li a:hover { -moz-transition-timing-function: ease-out; -o-transition-property: background-color; -o-transition-duration: 0.5s; - -o-transition-timing-function: ease-out; + -o-transition-timing-function: ease-out;*/ } .menu_icon:hover { - transition-property: background-color; + /*transition-property: background-color; transition-duration: 0.5s; transition-timing-function: ease-out; -webkit-transition-property: background-color; @@ -312,11 +317,11 @@ ul li a:hover { -moz-transition-timing-function: ease-out; -o-transition-property: background-color; -o-transition-duration: 0.5s; - -o-transition-timing-function: ease-out; + -o-transition-timing-function: ease-out;*/ background-color: #282828 !important; } .submenu_not_selected:hover { - transition-property: background-color; + /* transition-property: background-color; transition-duration: 0.5s; transition-timing-function: ease-out; -webkit-transition-property: background-color; @@ -327,14 +332,14 @@ ul li a:hover { -moz-transition-timing-function: ease-out; -o-transition-property: background-color; -o-transition-duration: 0.5s; - -o-transition-timing-function: ease-out; + -o-transition-timing-function: ease-out;*/ background-color: #202020 !important; } .submenu_selected:hover { background-color: #202020 !important; } .sub_subMenu { - transition-property: background-color; + /*transition-property: background-color; transition-duration: 0.5s; transition-timing-function: ease-out; -webkit-transition-property: background-color; @@ -344,10 +349,10 @@ ul li a:hover { -moz-transition-duration: 0.5s; -moz-transition-timing-function: ease-out; -o-transition-property: background-color; - -o-transition-duration: 0.5s; + -o-transition-duration: 0.5s;*/ } .sub_subMenu:hover { - transition-property: background-color; + /* transition-property: background-color; transition-duration: 0.5s; transition-timing-function: ease-out; -webkit-transition-property: background-color; @@ -357,7 +362,7 @@ ul li a:hover { -moz-transition-duration: 0.5s; -moz-transition-timing-function: ease-out; -o-transition-property: background-color; - -o-transition-duration: 0.5s; + -o-transition-duration: 0.5s;*/ background-color: #161616 !important; } @@ -375,9 +380,9 @@ ul li a:hover { */ .operation { background-color: #343434 !important; - border-top-right-radius: 5px; - border-right-style: solid; - border-right-width: 0px; + border-top-right-radius: 5px; /* borrar?? */ + border-right-style: solid; /* borrar?? */ + border-right-width: 0px; /* borrar?? */ padding-top: 20px !important; } @@ -393,12 +398,15 @@ ul li a:hover { } .menu li, -.menu .li.not_selected { - border-radius: 0px 0px 0px 0px; - display: block; +.menu li a, +.menu li div { min-height: 35px; - border-bottom: 0px none #424242; - vertical-align: middle; + display: flex; + align-items: center; +} + +.menu li div { + background-clip: text; /* Very important to fix a bug in Firefox */ } .godmode { @@ -465,14 +473,14 @@ ul li a:hover { left: 0; background-color: #343434; border-bottom: solid 3px #343434; - /*min-height: 943px;*/ - padding-bottom: 40px; /*Lo he quitado para que no ocupe todo el alto y fixed */ + min-height: 943px; + /*padding-bottom: 40px;*/ /*Lo he quitado para que no ocupe todo el alto y fixed */ /*overflow-x: hidden;*/ } .button_collapse { - height: 55px; - background-color: #4d4d4d; + height: 38px; + background-color: #6c6c6d; /*bottom: 0; /* Lo he quitado para que no ocupe todo el alto y fixed*/ /*position: fixed; /*coemntar tb*/ width: 60px; /* It is changed for classic menu (215px)*/ @@ -491,19 +499,6 @@ ul li a:hover { align-items: center; } -.operation > li.menu_icon.no_hidden_menu, -.godmode > li.menu_icon.no_hidden_menu { - display: flex; - justify-content: flex-end; - align-items: center; -} - -.operation > li.menu_icon, -.godmode > li.menu_icon { - padding-top: 2px; /* 3px */ - padding-bottom: 2px; -} - .operation div, .operation a, .godmode div, @@ -534,95 +529,57 @@ ul li a:hover { background-position: center; } -#top_btn { - display: none; - position: fixed; - bottom: 100px; - left: 0px; - border: none; - outline: none; - background: url("../../images/to_top_menu.png") no-repeat center; - background-color: #82b92e; - width: 60px; - height: 60px; - /* Estos borrarles despues xk sera img */ - color: white; - cursor: pointer; - font-size: 17px; - border-radius: 5px; -} - -#top_btn:hover { - background-color: #4d4d4d; - /* border: 2px solid #fff;*/ -} - -@media screen and (max-height: 600px) { - .operation > li.menu_icon, - .godmode > li.menu_icon { - padding-top: 1px; - padding-bottom: 1px; - } - .operation { - padding-top: 10px !important; - } - .button_collapse { - margin-top: 10px; - background-color: green; - } +@media screen and (max-height: 720px) { .menu li, - .menu .li.not_selected { - min-height: 25px !important; - } - .button_collapse { - height: 45px; - } - .submenu_text { - /* padding: 7.5px;*/ - } -} - -@media screen and (min-height: 601px) and (max-height: 700px) { - .operation > li.menu_icon, - .godmode > li.menu_icon { - padding-top: 1px; - padding-bottom: 2px; - } - .operation { - padding-top: 10px !important; - } - .button_collapse { - margin-top: 10px; - background-color: red; - } - .menu li, - .menu .li.not_selected { - min-height: 25px !important; - } - .button_collapse { - height: 48px; - } - .submenu_text { - /*padding: 7.5px;*/ - } -} - -@media screen and (min-height: 701px) and (max-height: 845px) { - .operation { - padding-top: 10px !important; - } - .button_collapse { - margin-top: 10px; - background-color: blue; - } - .menu li, - .menu .li.not_selected { + .menu li a, + .menu li div { min-height: 28px !important; } - .button_collapse { - height: 50px; +} +/* +Medidas menu: +601 verde y rojo +720 azul +735 normal +*/ +@media screen and (max-height: 735px) { + .operation { + padding-top: 10px !important; } - .submenu_text { - /*padding: 7.5px;*/ + .button_collapse { + margin-top: 10px; } } + +/* + * --------------------------------------------------------------------- + * - STYLES TO CHANGE CLASSIC MENU AND COLLAPSED MENU - + * --------------------------------------------------------------------- + */ +.page_classic { + padding-left: 215px !important; +} + +.page_collapsed { + padding-left: 60px !important; +} + +.header_table_classic { + padding-left: 250px !important; /* 215 + 35 */ +} + +.header_table_collapsed { + padding-left: 95px !important; /* 60 + 35 */ +} + +.title_menu_classic { + display: flex !important; +} + +.title_menu_collapsed { + display: none !important; +} + +.menu_icon_collapsed { + background-position: 50% 50% !important; +} diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css index 779deb39c7..70fb57a231 100644 --- a/pandora_console/include/styles/pandora.css +++ b/pandora_console/include/styles/pandora.css @@ -197,6 +197,9 @@ a:hover { color: #373737; text-decoration: underline; } +:focus { + outline-color: #82b92e; +} a:focus, input:focus, button:focus { @@ -403,8 +406,8 @@ div#page { width: auto; margin-top: 20px !important; padding-left: 60px; /* It is changed for classic menu (215px)*/ - margin-right: 30px; - margin-left: 30px; + margin-right: 35px; + margin-left: 35px; } body.pure { @@ -657,7 +660,7 @@ div#foot a, div#foot span { font-family: "Open Sans", sans-serif; font-size: 8.5pt; - color: #91a2a7; + color: #9ca4a6; } /* @@ -687,7 +690,7 @@ div#head { height: 60px; padding-top: 0px; margin: 0 auto; - border-bottom: 1px solid #91a2a7; + border-bottom: 1px solid #9ca4a6; min-width: 882px; background-color: #fff; color: #000; @@ -1317,7 +1320,7 @@ div.title_line { margin-top: 0; } -/* --- Submenu --- */ +/* --- Tabs Submenu --- */ ul.subsubmenu { border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; @@ -1325,12 +1328,10 @@ ul.subsubmenu { -moz-border-bottom-left-radius: 5px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px; - - background: #ececec !important; } ul.subsubmenu li { - background-color: #ececec; + background-color: #fff; font-weight: bold; text-decoration: none; font-size: 14px; @@ -2038,8 +2039,8 @@ div#pandora_logo_header { margin: 0px; padding: 0px; margin-top: 0px; - padding-left: 90px; /* It is changed for classic menu */ - padding-right: 30px; + padding-left: 95px; /* It is changed for classic menu */ + padding-right: 35px; } #header_table_inner { @@ -2143,13 +2144,6 @@ div#pandora_logo_header { font-family: "Open Sans", sans-serif; } -@media screen and (max-width: 1024px) { - #header_user span, - #header_searchbar a.tip img { - display: none; - } -} - .autorefresh_disabled { cursor: not-allowed !important; } @@ -2174,7 +2168,7 @@ div.warn { } .submenu_not_selected { - transition-property: background-color; + /*transition-property: background-color; transition-duration: 0.5s; transition-timing-function: ease-out; -webkit-transition-property: background-color; @@ -2186,7 +2180,7 @@ div.warn { -o-transition-property: background-color; -o-transition-duration: 0.5s; -o-transition-timing-function: ease-out; - font-weight: normal !important; + font-weight: normal !important;*/ } /* Submenus havent borders */ @@ -3303,7 +3297,7 @@ div.div_groups_status { } #title_menu { - color: #91a2a7; + color: #9ca4a6; float: right; width: 65%; letter-spacing: 0pt; @@ -3319,7 +3313,7 @@ div.div_groups_status { #menu_tab li.nomn, #menu_tab li.nomn_high { - /*background-color: #ececec;*/ + background-color: #fff; padding-right: 3px; padding-left: 3px; font-weight: bold; @@ -3331,6 +3325,10 @@ div.div_groups_status { height: 28px; } +#menu_tab li:hover { + background-color: #ececec; +} + #menu_tab li.nomn_high, #menu_tab li.nomn_high span { color: #fff; @@ -4445,10 +4443,10 @@ div#dialog_messages table th:last-child { */ .notification-ball { - border: white solid 2px; - border-radius: 50px; - width: 18px; - height: 18px; + border: #343434 solid 2px; + border-radius: 50%; + width: 20px; + height: 20px; display: flex; justify-content: center; align-items: center; @@ -4804,43 +4802,25 @@ input:checked + .p-slider:before { /* --- END TOAST --- */ -/* - * --------------------------------------------------------------------- - * - STYLES TO CHANGE CLASSIC MENU AND COLLAPSED MENU - - * --------------------------------------------------------------------- - */ -.page_classic { - padding-left: 215px !important; +/* Button for Go to top */ +#top_btn { + display: none; + position: fixed; + bottom: 100px; + right: 4px; + border: none; + outline: none; + background: url("../../images/to_top_menu.png") no-repeat center; + background-color: #82b92e; + width: 27px; + height: 27px; + background-size: 21px; + cursor: pointer; + border-radius: 5px; } -.page_collapsed { - padding-left: 60px !important; -} - -.header_table_classic { - padding-left: 245px !important; -} - -.header_table_collapsed { - padding-left: 90px !important; -} - -.title_menu_classic { - display: block !important; -} - -.title_menu_collapsed { - display: none !important; -} - -.logo_show { - display: block !important; -} - -.logo_hide { - display: none !important; -} - -.menu_icon_collapsed { - background-position: 50% 50% !important; +#top_btn:hover { + background: url("../../images/to_top_menu_hover.png") no-repeat center; + background-color: #fff; + border: 2px solid #82b92e; } diff --git a/pandora_console/index.php b/pandora_console/index.php index b68424d805..38e12621cb 100755 --- a/pandora_console/index.php +++ b/pandora_console/index.php @@ -1024,11 +1024,13 @@ if (get_parameter('login', 0) !== 0) { // Header if ($config['pure'] == 0) { if ($config['classic_menu']) { + // ya no existe BORRAR!!! echo '
'; + echo ''; echo '
'; } else { echo '
'; + echo ''; } } else { echo '
'; @@ -1248,6 +1251,27 @@ require 'include/php_to_js_values.php'; ?> \ No newline at end of file + diff --git a/pandora_console/general/main_menu.php b/pandora_console/general/main_menu.php index adda158e9b..cb5126b621 100644 --- a/pandora_console/general/main_menu.php +++ b/pandora_console/general/main_menu.php @@ -21,22 +21,7 @@ if (! isset($config['id_user'])) { $(document).ready(function(){ var menuType_value = localStorage.getItem("menuType"); - if (menuType_value == 'collapsed' || menuType_value == '' || menuType_value == null || menuType_value == undefined) { - if(menuType_value == '' || menuType_value == null || menuType_value == undefined){ - localStorage.setItem("menuType", "collapsed"); - } - - $('#menu_full').removeClass('menu_full_classic').addClass('menu_full_collapsed'); - $('.logo_full').css('display','none'); - $('.logo_icon').css('display','block'); - $('div#title_menu').removeClass('title_menu_classic').addClass('title_menu_collapsed'); - $('div#page').removeClass('page_classic').addClass('page_collapsed'); - $('#header_table').removeClass('header_table_classic').addClass('header_table_collapsed'); - $('#button_collapse').removeClass('button_classic').addClass('button_collapsed'); - $('ul.submenu').css('left', '59px'); - $('li.menu_icon').removeClass("no_hidden_menu").addClass('menu_icon_collapsed'); - } - else if (menuType_value == 'classic') { + if (menuType_value == 'classic') { $('#menu_full').removeClass('menu_full_collapsed').addClass('menu_full_classic'); $('.logo_icon').css('display','none'); $('.logo_full').css('display','block'); @@ -48,18 +33,26 @@ $(document).ready(function(){ $('li.menu_icon').removeClass('menu_icon_collapsed').addClass("no_hidden_menu"); } else{ - console.log('else no ha elegido aun, default-else'); - localStorage.setItem("menuType", "collapsed"); + if(menuType_value != 'collapsed'){ + localStorage.setItem("menuType", "collapsed"); + } + $('#menu_full').removeClass('menu_full_classic').addClass('menu_full_collapsed'); + $('.logo_full').css('display','none'); + $('.logo_icon').css('display','block'); + $('div#title_menu').removeClass('title_menu_classic').addClass('title_menu_collapsed'); + $('div#page').removeClass('page_classic').addClass('page_collapsed'); + $('#header_table').removeClass('header_table_classic').addClass('header_table_collapsed'); + $('#button_collapse').removeClass('button_classic').addClass('button_collapsed'); + $('ul.submenu').css('left', '59px'); + $('li.menu_icon').removeClass("no_hidden_menu").addClass('menu_icon_collapsed'); } - }); - // Set the height of the menu. - $(window).on('load', function (){ - $("#menu_full").height($("#container").height()); - }); - +// Set the height of the menu. +$(window).on('load', function (){ + $("#menu_full").height($("#container").height()); +}); '; +$custom_logo = 'images/custom_logo/'.$config['custom_logo']; +$custom_logo_collapsed = 'images/custom_logo/'.$config['custom_logo_collapsed']; + +if (!defined('PANDORA_ENTERPRISE')) { + $logo_title = get_product_name().' Opensource'; + $custom_logo = 'images/custom_logo/pandora_logo_head_green.png'; + $custom_logo_collapsed = 'images/custom_logo/pandora_logo_green_collapsed.png'; +} else { + if (file_exists(ENTERPRISE_DIR.'/'.$custom_logo)) { + $custom_logo = ENTERPRISE_DIR.'/'.$custom_logo; + } + + $logo_title = get_product_name().' Enterprise'; +} + echo ''; @@ -108,11 +116,6 @@ echo '
'; echo '
'; // menu_container ui_require_jquery_file('cookie'); -/* - $config_fixed_menu = false; - if (isset($config['fixed_menu'])) { - $config_fixed_menu = $config['fixed_menu']; -}*/ $config_fixed_header = false; if (isset($config['fixed_header'])) { @@ -123,10 +126,8 @@ if (isset($config['fixed_header'])) { diff --git a/pandora_console/godmode/setup/setup_visuals.php b/pandora_console/godmode/setup/setup_visuals.php index dbe33feb41..f2042193fb 100755 --- a/pandora_console/godmode/setup/setup_visuals.php +++ b/pandora_console/godmode/setup/setup_visuals.php @@ -120,17 +120,6 @@ if (enterprise_installed()) { $row++; } -/* - $table_behaviour->data[$row][0] = __('Classic menu mode').ui_print_help_tip(__('Text menu options always visible, don\'t hide'), true); - $table_behaviour->data[$row][1] = html_print_checkbox_switch( - 'classic_menu', - 1, - $config['classic_menu'], - true - ); - $row++; -*/ - echo '
'; echo ''.__('Behaviour configuration').''; html_print_table($table_behaviour); @@ -278,12 +267,12 @@ function logo_custom_enterprise($name, $logo) } -$table_styles->data[$row][0] = __('Custom logo (header)').ui_print_help_icon('custom_logo', true); +$table_styles->data[$row][0] = __('Custom logo (menu)').ui_print_help_icon('custom_logo', true); $table_styles->data[$row][1] = logo_custom_enterprise('custom_logo', $config['custom_logo']); $table_styles->data[$row][1] .= ' '.html_print_button(__('View'), 'custom_logo_preview', $open, '', 'class="sub camera logo_preview"', true, false, $open, 'visualmodal'); $row++; -$table_styles->data[$row][0] = __('Custom logo collapsed (header)').ui_print_help_icon('custom_logo_collapsed', true); +$table_styles->data[$row][0] = __('Custom logo collapsed (menu)').ui_print_help_icon('custom_logo_collapsed', true); $table_styles->data[$row][1] = logo_custom_enterprise('custom_logo_collapsed', $config['custom_logo_collapsed']); $table_styles->data[$row][1] .= ' '.html_print_button(__('View'), 'custom_logo_collapsed_preview', $open, '', 'class="sub camera logo_preview"', true, false, $open, 'visualmodal'); $row++; @@ -545,16 +534,7 @@ $table_styles->data[$row][1] = html_print_checkbox_switch( true ); $row++; -/* - $table_styles->data[$row][0] = __('Fixed menu'); - $table_styles->data[$row][1] = html_print_checkbox_switch( - 'fixed_menu', - 1, - $config['fixed_menu'], - true - ); - $row++; -*/ + // For 5.1 Autohidden menu feature $table_styles->data['autohidden'][0] = __('Autohidden menu'); diff --git a/pandora_console/images/custom_logo/pandora_logo_head_green.png b/pandora_console/images/custom_logo/pandora_logo_head_green.png index f2c8b2ca447ff47d55f00570fc8554b6493d9138..8bf5fbb1d389fcc31398444d8deb8fccc81299ca 100644 GIT binary patch delta 2686 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 delta 2932 zcmV-)3ybuh6_Xc`83+ad008y=FZ7WiCw~hyNkl0EsAU;;zS71sHqfG2F?J{32g_BK^`3^SF*f)*oG6KhD1Uwf^DFAbcz^vuGJkD0S--nxJ7aj@vE$Wq+PjClDC$ojbsM1Tmr1q<0+{Qk9@u6XS|S%4^1U!|9CR_+uEY-lHq~G&L)ZV z+~n)Eh~>v<-~7Va)UBMdT{1kp=|u*fK#76Wdt)koNi$iV&Uq|FMrP@S8vXB zxP5%i*ds@iL#YLnBnSi}{#v~LrtMgPwI?Inw$|@0TI~9ul8YECmRR%4v&qFPKTK|a zu$)UgUJKVRIMQl@{p7b#=eG4h`y#BQ!pE3G0!U)!@F$;1dOzBk>1599|5|fnqAlNl zdF-Xl-}AfKKfm1Zx!?NI&wm{W05K&B1Ix_(^40`J^!7W`!TFPoJ(9Bzv_H3ay6wor zC7kvbC!A=Lm0V&T?0=s}Xt1w$$gLY|z#RSc$pdqwU1*HIO!vw^x?%k$hL3lQn`iYi zqp8vk?WM>;*81KTayj9Ph_OhsvshUJXLB~v^?TiC^4zNTEF?QN`hSuW$msD!WGi`Q zVt6V!bLm8z6)h5Y8PmYtQMZw7n%^IScRm$rf3AYTJ!4Mr`gRZJ_Jd&ZVw}uh3s;QW zOxx!UzV7w_1t)tKyFTpAk5eVm@tI2bWkKc`TA%Fku4RsK>akPFYrlG`W1T|;Pp;fk zBqYgVLuD6!n2>uSCI6U%$d4E3UTr&&EL7wZ&=gS)L zb&yyJhtwMQa-fy4WV=y9_mx~sDo+zJ0pA*Ei-!hcQ6QgxaEvf!#c>=;S0R`07Wo>D zxv;p5gFdw2{dDfcra&@wtUz=^CZK7Hlz@<2lN5y`0&pmGRarOf3We6&DXf%edc4wB zV|9JG&4m*8OMknt+PY3C;%WC*yW>Sx%AaEyus<>fy;pf2h90Z0T(p-`MAR+G7UoSV zk5~van=O+-XpW^;Lr;qKGl6(T7NSTi#^UO&OYI6{@93t56cojXF-e9P3!eupzaGQj z-cF^1f(otol9x0JwJj3JPUSeMtjwERl4#O>=>5T!(|?LEOCAN!rn2YD5EdD?_e`op zo3dK9ESH{OEU~iU195LIUis0c2BkfMEgIXmeBIbkk`TU2Q?(!FB36-i5;S!V#A&PD zG#__zGJ-|fLW!UJgoIXjS`q2J&vW6bgcMop#LvV96xWb<*(-7PLYC+J!s#~4Bwy2J z#U;=d+<$x1HLjJ&#e_nWs6wpv!1M(de~I=$W8=p7eU0=_)+U#WvpnK5ZoTPf!U0dy z4@SmYC<%m6h;Tfezn>JSGxjFI=ViHZtigHZQitLxKcg2jzPtoOmJ%W^ly=1G?bdy| zBV(v769wXaNuDH%Qt2#|-z_88K!$4pDXJ1nTYoV$i6lWtkNVat*0pI%%NN8+60B>j z45`b+S3YoUsWOp`tm7VP1(TNysAREK62&JE#L|lFfJdaFjB1nMY*fhQdrt01V>mlh zK{=ecd15oe%k7L^>DSChC$>n`l!=kMmM!$-f{-=wGg>hqV-8m1=&46DG|zUhT7^R3eSHdRR}_6$n)C8r#4+n&Wf7Asq+)1+c0(% zizJ^kvGQDB=D>XBugy3m3emI+s1rs_CNwIMtFL#cQ#id0lnnG(dnm5DcB@#o)c{$mDv>Dbl@i2vVTm}NJN`^7kJ?z}{_oBzfrjshxf+PWW%u#`Bug;eAxI=TmYtVwmdEKDrUdE)p zn}$!On8X$?f6SPe@7X_`Y;3HREPt2386oTRc+In&rB>=UM9|oCC$ujmRR}Q!tVO^o zNa1VN^DZ!+JJFHZ;(6(BWo;qo9`bX&$L&R>7M``*OO8s+(?uJdn98E zrMDTY{(T4t+J=kahiK;?5TtbYeWE(r(H#~jk>nnOuy%wB$ZGcF(_=N|(5DRBtur;zUj z+S8?yBKq>6jzbEQG-=`&AElahDHw5Ui3+WiL$DZSRl0Y*|s6 zb@tb~%sRaY z_)YTrzy8dTNWUPe)Q&y*=t)8Mn;6OdN$Ow|B=Glm=g{7bZuQWnUu14=OZS;JbO2^l#&|m=&U^$#)l9}49f8(mg?Ut~%-C4q|>_1qTcEBi%YFn>O|=SR3wr|^Kx;eB@t z1;j{{%fw~{rK&lrsy%J62^NmEK^y!XNn2sqC`j zVBMts;N8)-!}+FxVx~d^`G8IvASN~a@4Vuthco1y{US{pb|>u5Ay0h$`S?TqvOOn z7dbT=`-{7Bw$=1?2#7VCadFaM*v@F|kAk9AV@q+$xPrK4Ml8caO|A_;f6-M|)UBR? zpp+O@bp;KE?SQWQM+}m<;1;p2+Aj3-Z_SmCEewW-j$vFH1dE*c_=l4c@OGSv7>ry7gTcsUFc`TE1|yfjU@&qS e4BHm}6JP*3NQXzX9TW2a0000JP-dK(-@3wamCAq7#!C+`W8! zzkmPM`s>$EcQp-7F>W62U6(GL|Bg*PBR0YKD8$6X#Qf{$ z&mT{L#PaJ`FE`AXJoz_X7o}uoiP_pa%w}L@3;-I!3$yJ1|9}6?EG#U7T-@9SlG4%& zvU2j9PoFpr*T;lzkf@kgJtr5J*WbT?+0o^IhB5s9{hODSjonpRM%E5l4#l9D#AJC{ zc?E~>-@miq3s|6uQa`?b&%tSsuD*dDA3s0ezkmPmn)B!PZ&qaq_er3gF5Xeve8Hfk}u^I%lG}SgG`hj_c6_~`C zfoX}6g_V^V2(~muyQ1V+SPm<}N!Azp4C9togf@DvU-fBw002ovPDHLkV1n~2Cp-WE delta 548 zcmV+<0^9wK1>yvdNq+=ML_t(|+G1d!5@5t985ADD;Oiea_0#8%5j@qtSy@<242+BvU}7i+{rK_S;P2nR9K=L7 z&}H1;zkj#HYJU(AaN&zdEDrYFeTC;kh(v(4EjfcK``~01_AxePJ-7Mfysd# z!yq*c4F+y*ZiD~8KqSgv|NnEcv$Gp%YHK6Xk)pCPdu2nTH!%5E{`&Px5SW6AF^Cmt zv68*B^ZiTbFWd*~ShRYL1`{LGN?`gC1{wki!2iHxz<&%>%mU5W|6w#x{x2|f{{edq z=ny7G#&5iQ{E;Aq4EOHb0eXuk`XA6=Pz(R?^6*Ntb8wpe|Nl=28k>wDLw^1IdHvJp zPp5%=SoUFj@!~n|Vk9{;%hb)oYu4w_pA2APK(G8de)w?fq`saeboER)QyVk$X`t86 mpoPm7CLLzx&Dhif1Q-A!BDPM|V?tyA0000L%cG5zMAUWJ5pznhYGF z0k1&FYaoLb05vVZ7C1n0kXHlIy~czV&<4;jDa04jK*K=cwE;Q6(Oo0}4VMo@6fcFy dNdh3i0Ev`Hoe+$%Wb6O{002ovPDHLkV1hExYCZq} delta 731 zcmV<10wn#`0+$AmNPhykNklNL5|K zTT5GKxtzR$G9N$xmW$`k{lcb>37;WBVd0!XAz^_ZKYS2pXXkKdW?{+4r53M2Z0zhl zynOs#|Ni}B`10j5o29jlYiwe&0!aq>hlFt2J39M){`^tm|9}7g3_pMVWZ>rJHWd;U zP9(`7Q896IF>!HMpaJiAd3Y9SsH*Pf=jGv4P*!#dkB;F+SI>gY5HDXp1|2=UxQ`z{ zya2jp?~k89Wx2RGl|@B_7{2}ZA+MpO?F>}5iJ*)042{GkB&DqQxVca8^YMNC@bQz! z{fCc~{{H#LAb%|>DgNQ(#{ifpbtZf)%<>lS~{{74U@$+YsPoF<)0TUwwkk9b)^=pQwPoFbL zOG}G-`ubVm4I{sxAYLV9Wy6mjKeDkfGc!DY^_t=Fvw!Cd4F7@72lCn2SQ&sW68ik< zlPgg9UYrI26&U~e^@|_m3b5aqm>4*Dc^R01{2xDlz?5+V)0PRLz%~M6AyC?3Wo2dH z1YAEdI1T#$|DQIH;^*Yz`u*bh^Zj@4 z+%8(SaDSo8%qf%I@87+X|LDQ}13>wol2TIK1?3gGSiL4DF2T&f!DYzA#KipN%a?77 z=FZ8!dil~rn0!TH!4@S|)x-T$XDoRC?ybwGj~_t>oy2faX-%z|in=;KCpY)y$-O-V z$cDfGD+|lV*RNjHv#_w-0&;b+dhOfSuS&o`{8aSy%jYs+_}syk#%^A}&QM!kdV`UX zsRI}x%DBSFR6syrdTV{%nR91O<17`PKYjA6tRVLc4>!*jm>58S0RWU+0W N002ovPDHLkV1hy=f+7F_ diff --git a/pandora_console/images/gm_discovery.menu_white.png b/pandora_console/images/gm_discovery.menu_white.png new file mode 100644 index 0000000000000000000000000000000000000000..d05d5e761672650352fc998ca20b209ae449391b GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1Gn><|{Ln>}1B`7fc`Tsw@u`!6jh^6B_^G3#{Y-|7XGk(`J zJo3<9%R}M%g1-UG_a?v9%D8dhK+UGu)@3&tI`_^CX->FT$^Ue|yAhAFrNKi36$TGZ zhn?&T?pZc0InpSTzt??n=XW_1#z)NWJ$rR)4m1WxEd2eSQ9$2;TUo$BLA6He!V{he zd-l$o;Q0Kbs?Cb)j*Rs{_Jb)tK5|EvGdwF{RPttJuQ5}dFhQI-p{9X>nIUsy)>_jm S>QO+~GkCiCxvX0onfB0_6gbNPhtbNklUFkK43v&&xg{EKo=gMY7jw#<~u11&S4x&=U2Zvf>FY?e?h4u61_EWl<73!ZQV<>+`a z?D~LYi6Op7)(2t-3Oog}M1Td4mq8h>ki^sk3YPs)!$D=%1**jX7Q+`%Es}8=PR&#l zkIisuTF?l@is*(@t*8JR`~g?}0rSBFv{IG&RVFZ^K((0ywgQV<79ghtTs0cVr-jfU sA*<2{`Jf)^6CYgR?Z_~g06>5N06n`_;ztkWN&o-=07*qoM6N<$g3n!g2LJ#7 delta 284 zcmV+%0ptGV0^0(RNPhtRNklB=(zlM#2mBOzN&&AAfL<;nBQ=3a1P7=uz$uDqaR4=ZK9b=Vs20h%45wx)ipOR+)p9Zr z1VZEO15JtwYzEVK&wJl)8Qt4lSR{FRqpbh9Lg`fpUmh=O0 i0JI9FO0xwZz!d;eBUoq%9P4-h0000jyy(9MYCpF>E}L(I=P0pm2aet!hO}^c~gfKr0wLUHx3vIVCg!0BNEz6aWAK delta 293 zcmV+=0owkp0mA|ziBL{Q4GJ0x0000DNk~Le0000j0000j2nGNE06H4tnvo$Wf8|L; zK~#9!?AYxMgCGzF;9@#}BXpFG;0U^bn{))biEh*p=#kjO{;+%q+-vh*LLlJ+5BHC2 zE+>qJXrhTGIw`It4z%lc8~y`~2@e2c!6U#Ja1Zza2ls&c zHK&Jxhk!S^`tTSq1Uv<-3O@o?dx7TwSB2*USAmxR7loGu7lGFRXNA`UXMt;g55YCT zNpJ*k6kHY~3OEoxx`Y`C8~~s9`W}OP{hylX_5NY+Mcw8VFYO9@D(-yUXXEA?EHYZq rpMHz%V*`?CqKPJ&Xrlic{T5&VMyUOB+_mRX00000NkvXXu0mjfsquG9l0e}Dl0F=K+c9_s{CjbBd00>D%PDHLkV1gc~I57YK delta 193 zcmV;y06zcF0fGXMNq?kCL_t(|+G1n?g8%>jD*&kgAQoVt94ugj8hD;c27F+u^7BnFrkbG_pKW58bvz7=L2N>Rg%|@jU8!a8(`g3tL2MAvm+~Xe zP-Fv<4IyYSF!4A1#{w=q-T1$0ryiIlMGge88cIkLAvG9=5;|ibA+;=+N#_Pe7~%pj vH6T3<41R>eloBwS_lJ<72dHf*K!5=N;S_Ao0gwnF00000NkvXXu0mjfcnn9| diff --git a/pandora_console/include/functions_config.php b/pandora_console/include/functions_config.php index 6c54271b70..3152430931 100644 --- a/pandora_console/include/functions_config.php +++ b/pandora_console/include/functions_config.php @@ -309,6 +309,10 @@ function config_update_config() if (!config_update_value('auditdir', get_parameter('auditdir'))) { $error_update[] = __('Audit log directory'); } + + if (!config_update_value('unique_ip', get_parameter('unique_ip'))) { + $error_update[] = __('unique_ip'); + } break; case 'enterprise': @@ -1032,11 +1036,6 @@ function config_update_config() $error_update[] = __('Fixed header'); } - /* - if (!config_update_value('fixed_menu', get_parameter('fixed_menu'))) { - $error_update[] = __('Fixed menu'); - }*/ - if (!config_update_value('paginate_module', get_parameter('paginate_module'))) { $error_update[] = __('Paginate module'); } @@ -1117,11 +1116,6 @@ function config_update_config() $error_update[] = __('Default height of the chart image'); } - /* - if (!config_update_value('classic_menu', (bool) get_parameter('classic_menu', false))) { - $error_update[] = __('Classic menu mode'); - }*/ - // -------------------------------------------------- // CUSTOM VALUES POST PROCESS // -------------------------------------------------- @@ -1793,11 +1787,6 @@ function config_process_config() config_update_value('fixed_graph', false); } - /* - if (!isset($config['fixed_menu'])) { - config_update_value('fixed_menu', false); - }*/ - if (!isset($config['custom_favicon'])) { config_update_value('custom_favicon', ''); } @@ -2518,11 +2507,6 @@ function config_process_config() } } - /* - if (!isset($config['classic_menu'])) { - config_update_value('classic_menu', 0); - }*/ - if (!isset($config['csv_divider'])) { config_update_value('csv_divider', ';'); } diff --git a/pandora_console/include/functions_menu.php b/pandora_console/include/functions_menu.php index c0ae82b4ec..9ff78b3e05 100644 --- a/pandora_console/include/functions_menu.php +++ b/pandora_console/include/functions_menu.php @@ -342,11 +342,8 @@ function menu_print_menu(&$menu) $sub_title = ''; } - // Added a top on inline styles - $top = menu_calculate_top($config['count_main_menu'], $count_sub, $count_sub2); - // Add submenu2 to submenu string - $submenu_output .= '
'; + echo " $label "; + echo ''; + if (!extension_loaded($ext)) { + echo ""; + return 1; + } else { + echo ""; + return 0; + } + + echo '
'; + echo " $label "; + echo ''; + if (!include $ext) { + echo ""; + return 1; + } else { + echo ""; + return 0; + } + + echo '
'; + echo " $label "; + echo ''; + if (!file_exists($file)) { + echo " "; + return 1; + } else { + echo " "; + return 0; + } + + echo '
"; + if ($ok == 0) { + echo " "; + echo ''; + echo " $label "; + echo '
'; + echo " $label "; + echo '
"; + if (file_exists($fullpath)) { + if (is_writable($fullpath)) { + echo " "; + echo ''; + echo " $label "; + echo '
'; + echo " $label "; + echo '
'; + echo " $label "; + echo '
'; + echo " $label "; + echo ''; + if ($mode == 1) { + if ($var >= $value) { + echo " "; + return 0; + } else { + echo " "; + return 1; + } + } else if ($var == $value) { + echo " "; + return 0; + } else { + echo " "; + return 1; + } + + echo '
'; + $writable = check_writable('include', 'Checking if ./include is writable'); + if (file_exists('include/config.php')) { + $writable += check_writable('include/config.php', 'Checking if include/config.php is writable'); + } + + echo '
'; + + echo "
Warning: This installer will overwrite and destroy + your existing Pandora FMS configuration and Database. Before continue, + please be sure that you have no valuable Pandora FMS data in your Database.
+
"; + + echo "
Upgrade: + If you want to upgrade from Pandora FMS 4.x to 5.0 version, please use the migration tool inside /extras directory in this setup. +
"; + + echo '
'; + + if ($writable == 0) { + echo "
"; + echo ""; + echo '
'; + } else { + echo "
ERROR:You need to setup permissions to be able to write in ./include directory
"; + } + + echo '
'; + + echo "
"; + echo " +
+
+ Pandora FMS is an OpenSource Software project registered at + SourceForge +
+
"; +} + + +function install_step1_licence() +{ + echo " +
+
+ ".print_logo_status(2, 6)." +
+

GPL2 Licence terms agreement

+

Pandora FMS is an OpenSource software project licensed under the GPL2 licence. Pandora FMS includes, as well, another software also licensed under LGPL and BSD licenses. Before continue, you must accept the licence terms.. +

For more information, please refer to our website at http://pandorafms.org and contact us if you have any kind of question about the usage of Pandora FMS

+

If you dont accept the licence terms, please, close your browser and delete Pandora FMS files.

+ "; + + if (!file_exists('COPYING')) { + echo "
Licence file 'COPYING' is not present in your distribution. This means you have some 'partial' Pandora FMS distribution. We cannot continue without accepting the licence file."; + echo '
'; + } else { + echo "
"; + echo "'; + echo '

'; + echo "

"; + } + + echo '
'; + + echo "
+
+
+ Pandora FMS is an OpenSource Software project registered at + SourceForge +
+
"; +} + + +function install_step2() +{ + echo " +
+
+ ".print_logo_status(3, 6)." +
"; + echo '

Checking software dependencies

'; + echo ''; + $res = 0; + $res += check_variable(phpversion(), '7.0', 'PHP version >= 7.0', 1); + $res += check_extension('gd', 'PHP GD extension'); + $res += check_extension('ldap', 'PHP LDAP extension'); + $res += check_extension('snmp', 'PHP SNMP extension'); + $res += check_extension('session', 'PHP session extension'); + $res += check_extension('gettext', 'PHP gettext extension'); + $res += check_extension('mbstring', 'PHP Multibyte String'); + $res += check_extension('zip', 'PHP Zip'); + $res += check_extension('zlib', 'PHP Zlib extension'); + $res += check_extension('json', 'PHP json extension'); + $res += check_extension('curl', 'CURL (Client URL Library)'); + $res += check_extension('filter', 'PHP filter extension'); + $res += check_extension('calendar', 'PHP calendar extension'); + if (PHP_OS == 'FreeBSD') { + $res += check_exists('/usr/local/bin/twopi', 'Graphviz Binary'); + } else if (PHP_OS == 'NetBSD') { + $res += check_exists('/usr/pkg/bin/twopi', 'Graphviz Binary'); + } else if (substr(PHP_OS, 0, 3) == 'WIN') { + $res += check_exists("..\\..\\..\\Graphviz\\bin\\twopi.exe", 'Graphviz Binary'); + } else { + $res += check_exists('/usr/bin/twopi', 'Graphviz Binary'); + } + + echo ''; + check_extension('mysqli', 'PHP MySQL(mysqli) extension'); + echo '
'; + echo "DB Engines"; + echo ''; + echo '
'; + + if ($res > 0) { + echo " +
You have some incomplete + dependencies. Please correct them or this installer + will not be able to finish your installation. +
+
+ Remember, if you install any PHP module to comply + with these dependences, you need to restart + your HTTP/Apache server after it to use the new + modules. +
+
+ Ignore it. +
"; + } else { + echo "
"; + echo " + "; + echo '
'; + } + + echo '
'; + echo "
"; + echo " +
+
+
+
+ Pandora FMS is an OpenSource Software project registered at + SourceForge +
+ "; +} + + +function install_step3() +{ + $options = ''; + if (extension_loaded('mysql')) { + $options .= ""; + } + + if (extension_loaded('mysqli')) { + $options .= ""; + } + + $error = false; + if (empty($options)) { + $error = true; + } + + echo " +
+
+ ".print_logo_status(4, 6)." +
+

Environment and database setup

+

+ This wizard will create your Pandora FMS database, + and populate it with all the data needed to run for the first time. +

+

+ You need a privileged user to create database schema, this is usually root user. + Information about root user will not be used or stored anymore. +

+

+ You can also deploy the scheme into an existing Database. + In this case you need a privileged Database user and password of that instance. +

+

+ Now, please, complete all details to configure your database and environment setup. +

+
+ Warning: This installer will overwrite and destroy your existing + Pandora FMS configuration and Database. Before continue, + please be sure that you have no valuable Pandora FMS data in your Database. +

+
"; + + if (extension_loaded('oci8')) { + echo "
For Oracle installation an existing Database with a privileged user is needed.
"; + } + + if (!$error) { + echo ""; + } + + echo ""; + echo '"; + + // the field dbgrant is only shown when the DB host is different from 127.0.0.1 or localhost + echo " + + "; + + echo " "; + + echo ""; + echo '
'; + echo 'DB Engine
'; + + if ($error) { + echo " +
+ Warning: You haven't a any DB engine with PHP. Please check the previous step to DB engine dependencies. +
"; + } else { + echo "'; + + echo '
'; + echo ' Installation in
'; + echo "'; + } + + echo "
DB User with privileges
+ + +
DB Password for this user
+ + +
DB Hostname
+ + +
DB Name (pandora by default)
+ + +
Drop Database if exists
+ +
Full path to HTTP publication directory
+ For example /var/www/pandora_console/ +
+ + +
'; + echo "URL path to Pandora FMS Console
+ For example '/pandora_console' +
+ +
+ "; + + if (!$error) { + echo "
"; + echo " + "; + echo '
'; + ?> + + '; + + echo ''; + + echo "
"; + echo "
+
+ Pandora FMS is an OpenSource Software project registered at + SourceForge +
+
"; +} + + +function install_step4() +{ + $pandora_config = 'include/config.php'; + + if ((! isset($_POST['user'])) || (! isset($_POST['dbname'])) || (! isset($_POST['host'])) + || (! isset($_POST['pass'])) || (!isset($_POST['engine'])) || (! isset($_POST['db_action'])) + ) { + $dbpassword = ''; + $dbuser = ''; + $dbhost = ''; + $dbname = ''; + $engine = ''; + $dbaction = ''; + $dbgrant = ''; + } else { + $engine = $_POST['engine']; + $dbpassword = $_POST['pass']; + $dbuser = $_POST['user']; + $dbhost = $_POST['host']; + $dbaction = $_POST['db_action']; + if (isset($_POST['dbgrant']) && $_POST['dbgrant'] != '') { + $dbgrant = $_POST['dbgrant']; + } else { + $dbgrant = $_SERVER['SERVER_ADDR']; + } + + if (isset($_POST['drop'])) { + $dbdrop = $_POST['drop']; + } else { + $dbdrop = 0; + } + + $dbname = $_POST['dbname']; + if (isset($_POST['url'])) { + $url = $_POST['url']; + } else { + $url = 'http://localhost'; + } + + if (isset($_POST['path'])) { + $path = $_POST['path']; + $path = str_replace('\\', '/', $path); + // Windows compatibility + } else { + $path = '/var/www'; + } + } + + $everything_ok = 0; + $step1 = 0; + $step2 = 0; + $step3 = 0; + $step4 = 0; + $step5 = 0; + $step6 = 0; + $step7 = 0; + + echo " +
+
+ ".print_logo_status(5, 6)." +
+

Creating database and default configuration file

+ "; + switch ($engine) { + case 'mysql': + if (! mysql_connect($dbhost, $dbuser, $dbpassword)) { + check_generic(0, 'Connection with Database'); + } else { + check_generic(1, 'Connection with Database'); + + // Drop database if needed and don't want to install over an existing DB + if ($dbdrop == 1) { + mysql_query("DROP DATABASE IF EXISTS `$dbname`"); + } + + // Create schema + if ($dbaction == 'db_new' || $dbdrop == 1) { + $step1 = mysql_query("CREATE DATABASE `$dbname`"); + check_generic($step1, "Creating database '$dbname'"); + } else { + $step1 = 1; + } + + if ($step1 == 1) { + $step2 = mysql_select_db($dbname); + check_generic($step2, "Opening database '$dbname'"); + + $step3 = parse_mysql_dump('pandoradb.sql'); + check_generic($step3, 'Creating schema'); + + $step4 = parse_mysql_dump('pandoradb_data.sql'); + check_generic($step4, 'Populating database'); + if (PHP_OS == 'FreeBSD') { + $step_freebsd = adjust_paths_for_freebsd($engine); + check_generic($step_freebsd, 'Adjusting paths in database for FreeBSD'); + } + + $random_password = random_name(8); + $host = $dbhost; + // set default granted origin to the origin of the queries + if (($dbhost != 'localhost') && ($dbhost != '127.0.0.1')) { + $host = $dbgrant; + // if the granted origin is different from local machine, set the valid origin + } + + $step5 = mysql_query( + "GRANT ALL PRIVILEGES ON `$dbname`.* to pandora@$host + IDENTIFIED BY '".$random_password."'" + ); + mysql_query('FLUSH PRIVILEGES'); + check_generic($step5, "Established privileges for user pandora. A new random password has been generated: $random_password
Please write it down, you will need to setup your Pandora FMS server, editing the /etc/pandora/pandora_server.conf file
"); + + $step6 = is_writable('include'); + check_generic($step6, "Write permissions to save config file in './include'"); + + $cfgin = fopen('include/config.inc.php', 'r'); + $cfgout = fopen($pandora_config, 'w'); + $config_contents = fread($cfgin, filesize('include/config.inc.php')); + $dbtype = 'mysql'; + $config_new = ''; + $step7 = fputs($cfgout, $config_new); + $step7 = ($step7 + fputs($cfgout, $config_contents)); + if ($step7 > 0) { + $step7 = 1; + } + + fclose($cfgin); + fclose($cfgout); + chmod($pandora_config, 0600); + check_generic($step7, "Created new config file at '".$pandora_config."'"); + } + } + + if (($step7 + $step6 + $step5 + $step4 + $step3 + $step2 + $step1) == 7) { + $everything_ok = 1; + } + break; + + case 'mysqli': + $connection = mysqli_connect($dbhost, $dbuser, $dbpassword); + if (mysqli_connect_error() > 0) { + check_generic(0, 'Connection with Database'); + } else { + check_generic(1, 'Connection with Database'); + + // Drop database if needed and don't want to install over an existing DB + if ($dbdrop == 1) { + mysqli_query($connection, "DROP DATABASE IF EXISTS `$dbname`"); + } + + // Create schema + if ($dbaction == 'db_new' || $dbdrop == 1) { + $step1 = mysqli_query($connection, "CREATE DATABASE `$dbname`"); + check_generic($step1, "Creating database '$dbname'"); + } else { + $step1 = 1; + } + + if ($step1 == 1) { + $step2 = mysqli_select_db($connection, $dbname); + check_generic($step2, "Opening database '$dbname'"); + + $step3 = parse_mysqli_dump($connection, 'pandoradb.sql'); + check_generic($step3, 'Creating schema'); + + $step4 = parse_mysqli_dump($connection, 'pandoradb_data.sql'); + check_generic($step4, 'Populating database'); + if (PHP_OS == 'FreeBSD') { + $step_freebsd = adjust_paths_for_freebsd($engine, $connection); + check_generic($step_freebsd, 'Adjusting paths in database for FreeBSD'); + } + + $random_password = random_name(8); + $host = $dbhost; + // set default granted origin to the origin of the queries + if (($dbhost != 'localhost') && ($dbhost != '127.0.0.1')) { + $host = $dbgrant; + // if the granted origin is different from local machine, set the valid origin + } + + $step5 = mysqli_query( + $connection, + "GRANT ALL PRIVILEGES ON `$dbname`.* to pandora@$host + IDENTIFIED BY '".$random_password."'" + ); + mysqli_query($connection, 'FLUSH PRIVILEGES'); + check_generic($step5, "Established privileges for user pandora. A new random password has been generated: $random_password
Please write it down, you will need to setup your Pandora FMS server, editing the /etc/pandora/pandora_server.conf file
"); + + $step6 = is_writable('include'); + check_generic($step6, "Write permissions to save config file in './include'"); + + $cfgin = fopen('include/config.inc.php', 'r'); + $cfgout = fopen($pandora_config, 'w'); + $config_contents = fread($cfgin, filesize('include/config.inc.php')); + $dbtype = 'mysql'; + $config_new = ''; + $step7 = fputs($cfgout, $config_new); + $step7 = ($step7 + fputs($cfgout, $config_contents)); + if ($step7 > 0) { + $step7 = 1; + } + + fclose($cfgin); + fclose($cfgout); + chmod($pandora_config, 0600); + check_generic($step7, "Created new config file at '".$pandora_config."'"); + } + } + + if (($step7 + $step6 + $step5 + $step4 + $step3 + $step2 + $step1) == 7) { + $everything_ok = 1; + } + break; + } + + echo '
'; + + if ($everything_ok == 1) { + echo "
"; + echo " + "; + echo '
'; + } else { + $info = "
There were some problems. + Installation was not completed. +

Please correct failures before trying again. + All database "; + if ($engine == 'oracle') { + $info .= 'objects '; + } else { + $info .= 'schemes '; + } + + $info .= 'created in this step have been dropped.

+
'; + echo $info; + + switch ($engine) { + case 'mysql': + if (mysql_error() != '') { + echo "
ERROR: ".mysql_error().'.
'; + } + + if ($step1 == 1) { + mysql_query("DROP DATABASE $dbname"); + } + break; + + case 'mysqli': + if (mysqli_error($connection) != '') { + echo "
ERROR: ".mysqli_error($connection).'.
'; + } + + if ($step1 == 1) { + mysqli_query($connection, "DROP DATABASE $dbname"); + } + break; + } + + echo '
'; + } + + echo '
'; + echo "
"; + echo " +
+
+ Pandora FMS is an Open Source Software project registered at + SourceForge +
+
"; +} + + +function install_step5() +{ + echo " +
+
+ ".print_logo_status(6, 6)." +
+

Installation complete

+

For security, you now must manually delete this installer + ('install.php') file before trying to access to your Pandora FMS console. +

You should also install Pandora FMS Servers before trying to monitor anything; + please read documentation on how to install it.

+

Default user is 'admin' with password 'pandora', + please change it both as soon as possible.

+

Don't forget to check http://pandorafms.com + for updates. +

Select if you want to rename 'install.php'.

+
+ + +
+


. +

+
"; + + echo "
+
+ Pandora FMS is an OpenSource Software project registered at + SourceForge +
+
"; +} From 4943521904091be8585e867c749cd0e518c5448e Mon Sep 17 00:00:00 2001 From: alejandro-campos Date: Tue, 5 Mar 2019 15:28:39 +0100 Subject: [PATCH 14/17] fix pandora migrate script Former-commit-id: 0d66837bf3f842aed32c3c64edc2608580d6ed7f --- .../extras/pandoradb_migrate_6.0_to_7.0.mysql.sql | 7 ------- 1 file changed, 7 deletions(-) diff --git a/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql b/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql index a60e6bfd8a..7028955322 100644 --- a/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql +++ b/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql @@ -1900,8 +1900,6 @@ CREATE TABLE IF NOT EXISTS `tevent_extended` ( -- ----------------------------------------------------- -- Table `tgis_map_layer_groups` -- ----------------------------------------------------- -DROP TABLE IF EXISTS `tgis_map_layer_groups`; - CREATE TABLE `tgis_map_layer_groups` ( `layer_id` int(11) NOT NULL, `group_id` mediumint(4) unsigned NOT NULL, @@ -2022,11 +2020,6 @@ CREATE TABLE `tnotification_source_group_user` ( ON UPDATE CASCADE ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; --- ---------------------------------------------------------------------- --- Table `tuser_task_scheduled` --- ---------------------------------------------------------------------- -ALTER TABLE `tuser_task_scheduled` ADD COLUMN `flag_delete` tinyint(1) unsigned NOT NULL DEFAULT '0'; - -- ---------------------------------------------------------------------- -- Add alert command 'Generate notification' -- ---------------------------------------------------------------------- From 88f1f16a5a87b3098041f76a5e104d8a069007d6 Mon Sep 17 00:00:00 2001 From: artica Date: Wed, 6 Mar 2019 00:01:33 +0100 Subject: [PATCH 15/17] Auto-updated build strings. Former-commit-id: 4e42c790d0cc4e621a9cd231c77b3d04fc8443c4 --- pandora_agents/unix/DEBIAN/control | 2 +- pandora_agents/unix/DEBIAN/make_deb_package.sh | 2 +- pandora_agents/unix/pandora_agent | 2 +- pandora_agents/unix/pandora_agent.redhat.spec | 2 +- pandora_agents/unix/pandora_agent.spec | 2 +- pandora_agents/unix/pandora_agent_installer | 2 +- pandora_agents/win32/installer/pandora.mpi | 2 +- pandora_agents/win32/pandora.cc | 2 +- pandora_agents/win32/versioninfo.rc | 2 +- pandora_console/DEBIAN/control | 2 +- pandora_console/DEBIAN/make_deb_package.sh | 2 +- pandora_console/include/config_process.php | 2 +- pandora_console/install.php | 2 +- pandora_console/pandora_console.redhat.spec | 2 +- pandora_console/pandora_console.spec | 2 +- pandora_server/DEBIAN/control | 2 +- pandora_server/DEBIAN/make_deb_package.sh | 2 +- pandora_server/lib/PandoraFMS/Config.pm | 2 +- pandora_server/lib/PandoraFMS/PluginTools.pm | 2 +- pandora_server/pandora_server.redhat.spec | 2 +- pandora_server/pandora_server.spec | 2 +- pandora_server/pandora_server_installer | 2 +- pandora_server/util/pandora_db.pl | 2 +- pandora_server/util/pandora_manage.pl | 2 +- 24 files changed, 24 insertions(+), 24 deletions(-) diff --git a/pandora_agents/unix/DEBIAN/control b/pandora_agents/unix/DEBIAN/control index a60da38117..1e3ae42078 100644 --- a/pandora_agents/unix/DEBIAN/control +++ b/pandora_agents/unix/DEBIAN/control @@ -1,5 +1,5 @@ package: pandorafms-agent-unix -Version: 7.0NG.732-190305 +Version: 7.0NG.732-190306 Architecture: all Priority: optional Section: admin diff --git a/pandora_agents/unix/DEBIAN/make_deb_package.sh b/pandora_agents/unix/DEBIAN/make_deb_package.sh index 5e5b7970e3..69d3728d28 100644 --- a/pandora_agents/unix/DEBIAN/make_deb_package.sh +++ b/pandora_agents/unix/DEBIAN/make_deb_package.sh @@ -14,7 +14,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -pandora_version="7.0NG.732-190305" +pandora_version="7.0NG.732-190306" echo "Test if you has the tools for to make the packages." whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null diff --git a/pandora_agents/unix/pandora_agent b/pandora_agents/unix/pandora_agent index b647a812e4..61fc3a9c19 100755 --- a/pandora_agents/unix/pandora_agent +++ b/pandora_agents/unix/pandora_agent @@ -42,7 +42,7 @@ my $Sem = undef; my $ThreadSem = undef; use constant AGENT_VERSION => '7.0NG.732'; -use constant AGENT_BUILD => '190305'; +use constant AGENT_BUILD => '190306'; # Agent log default file size maximum and instances use constant DEFAULT_MAX_LOG_SIZE => 600000; diff --git a/pandora_agents/unix/pandora_agent.redhat.spec b/pandora_agents/unix/pandora_agent.redhat.spec index 46c1332c53..8df72d2f4d 100644 --- a/pandora_agents/unix/pandora_agent.redhat.spec +++ b/pandora_agents/unix/pandora_agent.redhat.spec @@ -3,7 +3,7 @@ # %define name pandorafms_agent_unix %define version 7.0NG.732 -%define release 190305 +%define release 190306 Summary: Pandora FMS Linux agent, PERL version Name: %{name} diff --git a/pandora_agents/unix/pandora_agent.spec b/pandora_agents/unix/pandora_agent.spec index 55c914cbb0..b38fb0c45c 100644 --- a/pandora_agents/unix/pandora_agent.spec +++ b/pandora_agents/unix/pandora_agent.spec @@ -3,7 +3,7 @@ # %define name pandorafms_agent_unix %define version 7.0NG.732 -%define release 190305 +%define release 190306 Summary: Pandora FMS Linux agent, PERL version Name: %{name} diff --git a/pandora_agents/unix/pandora_agent_installer b/pandora_agents/unix/pandora_agent_installer index a5c8231bd7..a8eea69ed5 100755 --- a/pandora_agents/unix/pandora_agent_installer +++ b/pandora_agents/unix/pandora_agent_installer @@ -10,7 +10,7 @@ # ********************************************************************** PI_VERSION="7.0NG.732" -PI_BUILD="190305" +PI_BUILD="190306" OS_NAME=`uname -s` FORCE=0 diff --git a/pandora_agents/win32/installer/pandora.mpi b/pandora_agents/win32/installer/pandora.mpi index 555a4e405b..c5eda239d1 100644 --- a/pandora_agents/win32/installer/pandora.mpi +++ b/pandora_agents/win32/installer/pandora.mpi @@ -186,7 +186,7 @@ UpgradeApplicationID {} Version -{190305} +{190306} ViewReadme {Yes} diff --git a/pandora_agents/win32/pandora.cc b/pandora_agents/win32/pandora.cc index 187d8c3ec9..6bcec9ac58 100644 --- a/pandora_agents/win32/pandora.cc +++ b/pandora_agents/win32/pandora.cc @@ -30,7 +30,7 @@ using namespace Pandora; using namespace Pandora_Strutils; #define PATH_SIZE _MAX_PATH+1 -#define PANDORA_VERSION ("7.0NG.732(Build 190305)") +#define PANDORA_VERSION ("7.0NG.732(Build 190306)") string pandora_path; string pandora_dir; diff --git a/pandora_agents/win32/versioninfo.rc b/pandora_agents/win32/versioninfo.rc index 507f50d48f..afb7e2b05b 100644 --- a/pandora_agents/win32/versioninfo.rc +++ b/pandora_agents/win32/versioninfo.rc @@ -11,7 +11,7 @@ BEGIN VALUE "LegalCopyright", "Artica ST" VALUE "OriginalFilename", "PandoraAgent.exe" VALUE "ProductName", "Pandora FMS Windows Agent" - VALUE "ProductVersion", "(7.0NG.732(Build 190305))" + VALUE "ProductVersion", "(7.0NG.732(Build 190306))" VALUE "FileVersion", "1.0.0.0" END END diff --git a/pandora_console/DEBIAN/control b/pandora_console/DEBIAN/control index 209ebb30f6..e560460e93 100644 --- a/pandora_console/DEBIAN/control +++ b/pandora_console/DEBIAN/control @@ -1,5 +1,5 @@ package: pandorafms-console -Version: 7.0NG.732-190305 +Version: 7.0NG.732-190306 Architecture: all Priority: optional Section: admin diff --git a/pandora_console/DEBIAN/make_deb_package.sh b/pandora_console/DEBIAN/make_deb_package.sh index af3b144c81..07b9b05804 100644 --- a/pandora_console/DEBIAN/make_deb_package.sh +++ b/pandora_console/DEBIAN/make_deb_package.sh @@ -14,7 +14,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -pandora_version="7.0NG.732-190305" +pandora_version="7.0NG.732-190306" package_pear=0 package_pandora=1 diff --git a/pandora_console/include/config_process.php b/pandora_console/include/config_process.php index 9969fc6dc5..fa74d2780a 100644 --- a/pandora_console/include/config_process.php +++ b/pandora_console/include/config_process.php @@ -20,7 +20,7 @@ /** * Pandora build version and version */ -$build_version = 'PC190305'; +$build_version = 'PC190306'; $pandora_version = 'v7.0NG.732'; // Do not overwrite default timezone set if defined. diff --git a/pandora_console/install.php b/pandora_console/install.php index 90b397128c..594d22456c 100644 --- a/pandora_console/install.php +++ b/pandora_console/install.php @@ -129,7 +129,7 @@
[ qw() ] ); diff --git a/pandora_server/pandora_server.redhat.spec b/pandora_server/pandora_server.redhat.spec index a6f570fc3c..5ef7631700 100644 --- a/pandora_server/pandora_server.redhat.spec +++ b/pandora_server/pandora_server.redhat.spec @@ -3,7 +3,7 @@ # %define name pandorafms_server %define version 7.0NG.732 -%define release 190305 +%define release 190306 Summary: Pandora FMS Server Name: %{name} diff --git a/pandora_server/pandora_server.spec b/pandora_server/pandora_server.spec index 37b57fdffa..53bfba37b8 100644 --- a/pandora_server/pandora_server.spec +++ b/pandora_server/pandora_server.spec @@ -3,7 +3,7 @@ # %define name pandorafms_server %define version 7.0NG.732 -%define release 190305 +%define release 190306 Summary: Pandora FMS Server Name: %{name} diff --git a/pandora_server/pandora_server_installer b/pandora_server/pandora_server_installer index 03a886b556..b3fc8c30c0 100755 --- a/pandora_server/pandora_server_installer +++ b/pandora_server/pandora_server_installer @@ -9,7 +9,7 @@ # ********************************************************************** PI_VERSION="7.0NG.732" -PI_BUILD="190305" +PI_BUILD="190306" MODE=$1 if [ $# -gt 1 ]; then diff --git a/pandora_server/util/pandora_db.pl b/pandora_server/util/pandora_db.pl index fba751514f..945689e1a9 100644 --- a/pandora_server/util/pandora_db.pl +++ b/pandora_server/util/pandora_db.pl @@ -34,7 +34,7 @@ use PandoraFMS::Config; use PandoraFMS::DB; # version: define current version -my $version = "7.0NG.732 PS190305"; +my $version = "7.0NG.732 PS190306"; # Pandora server configuration my %conf; diff --git a/pandora_server/util/pandora_manage.pl b/pandora_server/util/pandora_manage.pl index ca63c1375a..1cf905d5bb 100644 --- a/pandora_server/util/pandora_manage.pl +++ b/pandora_server/util/pandora_manage.pl @@ -36,7 +36,7 @@ use Encode::Locale; Encode::Locale::decode_argv; # version: define current version -my $version = "7.0NG.732 PS190305"; +my $version = "7.0NG.732 PS190306"; # save program name for logging my $progname = basename($0); From b2bf4116085905aa42a93f0f5c96795fbace0800 Mon Sep 17 00:00:00 2001 From: Tatiana Llorente Date: Wed, 6 Mar 2019 08:59:41 +0100 Subject: [PATCH 16/17] Resolve conflict with install.php - #3432 Former-commit-id: 7b082b9f2f4aaae5dd2218abc6ae67d17640735e --- pandora_console/install.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandora_console/install.php b/pandora_console/install.php index 3ddfc53185..59813735b8 100644 --- a/pandora_console/install.php +++ b/pandora_console/install.php @@ -129,7 +129,7 @@
Date: Thu, 7 Mar 2019 00:01:27 +0100 Subject: [PATCH 17/17] Auto-updated build strings. Former-commit-id: 4c22b36dac2410ec75f5cae1c0e6ec7b81e5d78f --- pandora_agents/unix/DEBIAN/control | 2 +- pandora_agents/unix/DEBIAN/make_deb_package.sh | 2 +- pandora_agents/unix/pandora_agent | 2 +- pandora_agents/unix/pandora_agent.redhat.spec | 2 +- pandora_agents/unix/pandora_agent.spec | 2 +- pandora_agents/unix/pandora_agent_installer | 2 +- pandora_agents/win32/installer/pandora.mpi | 2 +- pandora_agents/win32/pandora.cc | 2 +- pandora_agents/win32/versioninfo.rc | 2 +- pandora_console/DEBIAN/control | 2 +- pandora_console/DEBIAN/make_deb_package.sh | 2 +- pandora_console/include/config_process.php | 2 +- pandora_console/install.php | 2 +- pandora_console/pandora_console.redhat.spec | 2 +- pandora_console/pandora_console.spec | 2 +- pandora_server/DEBIAN/control | 2 +- pandora_server/DEBIAN/make_deb_package.sh | 2 +- pandora_server/lib/PandoraFMS/Config.pm | 2 +- pandora_server/lib/PandoraFMS/PluginTools.pm | 2 +- pandora_server/pandora_server.redhat.spec | 2 +- pandora_server/pandora_server.spec | 2 +- pandora_server/pandora_server_installer | 2 +- pandora_server/util/pandora_db.pl | 2 +- pandora_server/util/pandora_manage.pl | 2 +- 24 files changed, 24 insertions(+), 24 deletions(-) diff --git a/pandora_agents/unix/DEBIAN/control b/pandora_agents/unix/DEBIAN/control index 1e3ae42078..f90226b707 100644 --- a/pandora_agents/unix/DEBIAN/control +++ b/pandora_agents/unix/DEBIAN/control @@ -1,5 +1,5 @@ package: pandorafms-agent-unix -Version: 7.0NG.732-190306 +Version: 7.0NG.732-190307 Architecture: all Priority: optional Section: admin diff --git a/pandora_agents/unix/DEBIAN/make_deb_package.sh b/pandora_agents/unix/DEBIAN/make_deb_package.sh index 69d3728d28..19e8634366 100644 --- a/pandora_agents/unix/DEBIAN/make_deb_package.sh +++ b/pandora_agents/unix/DEBIAN/make_deb_package.sh @@ -14,7 +14,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -pandora_version="7.0NG.732-190306" +pandora_version="7.0NG.732-190307" echo "Test if you has the tools for to make the packages." whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null diff --git a/pandora_agents/unix/pandora_agent b/pandora_agents/unix/pandora_agent index 61fc3a9c19..dfc55dae4b 100755 --- a/pandora_agents/unix/pandora_agent +++ b/pandora_agents/unix/pandora_agent @@ -42,7 +42,7 @@ my $Sem = undef; my $ThreadSem = undef; use constant AGENT_VERSION => '7.0NG.732'; -use constant AGENT_BUILD => '190306'; +use constant AGENT_BUILD => '190307'; # Agent log default file size maximum and instances use constant DEFAULT_MAX_LOG_SIZE => 600000; diff --git a/pandora_agents/unix/pandora_agent.redhat.spec b/pandora_agents/unix/pandora_agent.redhat.spec index 8df72d2f4d..3e212a7139 100644 --- a/pandora_agents/unix/pandora_agent.redhat.spec +++ b/pandora_agents/unix/pandora_agent.redhat.spec @@ -3,7 +3,7 @@ # %define name pandorafms_agent_unix %define version 7.0NG.732 -%define release 190306 +%define release 190307 Summary: Pandora FMS Linux agent, PERL version Name: %{name} diff --git a/pandora_agents/unix/pandora_agent.spec b/pandora_agents/unix/pandora_agent.spec index b38fb0c45c..8e7f60697d 100644 --- a/pandora_agents/unix/pandora_agent.spec +++ b/pandora_agents/unix/pandora_agent.spec @@ -3,7 +3,7 @@ # %define name pandorafms_agent_unix %define version 7.0NG.732 -%define release 190306 +%define release 190307 Summary: Pandora FMS Linux agent, PERL version Name: %{name} diff --git a/pandora_agents/unix/pandora_agent_installer b/pandora_agents/unix/pandora_agent_installer index a8eea69ed5..3ef65442bb 100755 --- a/pandora_agents/unix/pandora_agent_installer +++ b/pandora_agents/unix/pandora_agent_installer @@ -10,7 +10,7 @@ # ********************************************************************** PI_VERSION="7.0NG.732" -PI_BUILD="190306" +PI_BUILD="190307" OS_NAME=`uname -s` FORCE=0 diff --git a/pandora_agents/win32/installer/pandora.mpi b/pandora_agents/win32/installer/pandora.mpi index c5eda239d1..303d32ebe3 100644 --- a/pandora_agents/win32/installer/pandora.mpi +++ b/pandora_agents/win32/installer/pandora.mpi @@ -186,7 +186,7 @@ UpgradeApplicationID {} Version -{190306} +{190307} ViewReadme {Yes} diff --git a/pandora_agents/win32/pandora.cc b/pandora_agents/win32/pandora.cc index 6bcec9ac58..1cf874d803 100644 --- a/pandora_agents/win32/pandora.cc +++ b/pandora_agents/win32/pandora.cc @@ -30,7 +30,7 @@ using namespace Pandora; using namespace Pandora_Strutils; #define PATH_SIZE _MAX_PATH+1 -#define PANDORA_VERSION ("7.0NG.732(Build 190306)") +#define PANDORA_VERSION ("7.0NG.732(Build 190307)") string pandora_path; string pandora_dir; diff --git a/pandora_agents/win32/versioninfo.rc b/pandora_agents/win32/versioninfo.rc index afb7e2b05b..e30768134c 100644 --- a/pandora_agents/win32/versioninfo.rc +++ b/pandora_agents/win32/versioninfo.rc @@ -11,7 +11,7 @@ BEGIN VALUE "LegalCopyright", "Artica ST" VALUE "OriginalFilename", "PandoraAgent.exe" VALUE "ProductName", "Pandora FMS Windows Agent" - VALUE "ProductVersion", "(7.0NG.732(Build 190306))" + VALUE "ProductVersion", "(7.0NG.732(Build 190307))" VALUE "FileVersion", "1.0.0.0" END END diff --git a/pandora_console/DEBIAN/control b/pandora_console/DEBIAN/control index e560460e93..db5f4731d4 100644 --- a/pandora_console/DEBIAN/control +++ b/pandora_console/DEBIAN/control @@ -1,5 +1,5 @@ package: pandorafms-console -Version: 7.0NG.732-190306 +Version: 7.0NG.732-190307 Architecture: all Priority: optional Section: admin diff --git a/pandora_console/DEBIAN/make_deb_package.sh b/pandora_console/DEBIAN/make_deb_package.sh index 07b9b05804..a6c6534ff2 100644 --- a/pandora_console/DEBIAN/make_deb_package.sh +++ b/pandora_console/DEBIAN/make_deb_package.sh @@ -14,7 +14,7 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -pandora_version="7.0NG.732-190306" +pandora_version="7.0NG.732-190307" package_pear=0 package_pandora=1 diff --git a/pandora_console/include/config_process.php b/pandora_console/include/config_process.php index fa74d2780a..1057963b87 100644 --- a/pandora_console/include/config_process.php +++ b/pandora_console/include/config_process.php @@ -20,7 +20,7 @@ /** * Pandora build version and version */ -$build_version = 'PC190306'; +$build_version = 'PC190307'; $pandora_version = 'v7.0NG.732'; // Do not overwrite default timezone set if defined. diff --git a/pandora_console/install.php b/pandora_console/install.php index 594d22456c..a9d2a9b254 100644 --- a/pandora_console/install.php +++ b/pandora_console/install.php @@ -129,7 +129,7 @@
[ qw() ] ); diff --git a/pandora_server/pandora_server.redhat.spec b/pandora_server/pandora_server.redhat.spec index 5ef7631700..dccbcc4d4b 100644 --- a/pandora_server/pandora_server.redhat.spec +++ b/pandora_server/pandora_server.redhat.spec @@ -3,7 +3,7 @@ # %define name pandorafms_server %define version 7.0NG.732 -%define release 190306 +%define release 190307 Summary: Pandora FMS Server Name: %{name} diff --git a/pandora_server/pandora_server.spec b/pandora_server/pandora_server.spec index 53bfba37b8..9cdb2c0cfd 100644 --- a/pandora_server/pandora_server.spec +++ b/pandora_server/pandora_server.spec @@ -3,7 +3,7 @@ # %define name pandorafms_server %define version 7.0NG.732 -%define release 190306 +%define release 190307 Summary: Pandora FMS Server Name: %{name} diff --git a/pandora_server/pandora_server_installer b/pandora_server/pandora_server_installer index b3fc8c30c0..866b746b79 100755 --- a/pandora_server/pandora_server_installer +++ b/pandora_server/pandora_server_installer @@ -9,7 +9,7 @@ # ********************************************************************** PI_VERSION="7.0NG.732" -PI_BUILD="190306" +PI_BUILD="190307" MODE=$1 if [ $# -gt 1 ]; then diff --git a/pandora_server/util/pandora_db.pl b/pandora_server/util/pandora_db.pl index 945689e1a9..e1c17b78cd 100644 --- a/pandora_server/util/pandora_db.pl +++ b/pandora_server/util/pandora_db.pl @@ -34,7 +34,7 @@ use PandoraFMS::Config; use PandoraFMS::DB; # version: define current version -my $version = "7.0NG.732 PS190306"; +my $version = "7.0NG.732 PS190307"; # Pandora server configuration my %conf; diff --git a/pandora_server/util/pandora_manage.pl b/pandora_server/util/pandora_manage.pl index 1cf905d5bb..ccca4efe53 100644 --- a/pandora_server/util/pandora_manage.pl +++ b/pandora_server/util/pandora_manage.pl @@ -36,7 +36,7 @@ use Encode::Locale; Encode::Locale::decode_argv; # version: define current version -my $version = "7.0NG.732 PS190306"; +my $version = "7.0NG.732 PS190307"; # save program name for logging my $progname = basename($0);