From 0b5678fba62c25de2b2b9ceb9c513694272fb746 Mon Sep 17 00:00:00 2001 From: daniel Date: Thu, 28 Dec 2017 15:13:06 +0100 Subject: [PATCH] add new funtionality view favourite console visual --- pandora_console/extras/mr/11.sql | 5 + .../pandoradb_migrate_6.0_to_7.0.mysql.sql | 1 + .../godmode/reporting/map_builder.php | 6 +- .../reporting/visual_console_builder.data.php | 19 +++ .../reporting/visual_console_builder.php | 8 +- .../reporting/visual_console_favorite.php | 123 ++++++++++++++++++ .../godmode/setup/setup_visuals.php | 40 +++++- pandora_console/include/functions_config.php | 5 + pandora_console/include/functions_menu.php | 2 +- .../include/functions_visual_map.php | 17 ++- pandora_console/include/styles/pandora.css | 81 ++++++++++++ pandora_console/operation/menu.php | 123 +++++++++++------- .../visual_console/public_console.php | 2 +- .../operation/visual_console/pure_ajax.php | 2 +- .../operation/visual_console/render_view.php | 2 +- pandora_console/pandoradb.sql | 1 + 16 files changed, 378 insertions(+), 59 deletions(-) create mode 100644 pandora_console/extras/mr/11.sql create mode 100644 pandora_console/godmode/reporting/visual_console_favorite.php diff --git a/pandora_console/extras/mr/11.sql b/pandora_console/extras/mr/11.sql new file mode 100644 index 0000000000..bb4e38ec2e --- /dev/null +++ b/pandora_console/extras/mr/11.sql @@ -0,0 +1,5 @@ +START TRANSACTION; + +ALTER TABLE `tlayout` ADD `is_favourite` int(1) NOT NULL DEFAULT 0; + +COMMIT; \ No newline at end of file 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 78ff5bf563..cc9e84b4c4 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 @@ -1234,6 +1234,7 @@ UPDATE tagente SET tagente.alias = tagente.nombre; -- Table `tlayout` -- --------------------------------------------------------------------- ALTER TABLE tlayout ADD `background_color` varchar(50) NOT NULL default '#FFF'; +ALTER TABLE tlayout ADD `is_favourite` int(1) NOT NULL DEFAULT 0; -- --------------------------------------------------------------------- -- Table `tlayout_data` diff --git a/pandora_console/godmode/reporting/map_builder.php b/pandora_console/godmode/reporting/map_builder.php index 720d8750ba..24d45a4841 100644 --- a/pandora_console/godmode/reporting/map_builder.php +++ b/pandora_console/godmode/reporting/map_builder.php @@ -34,10 +34,14 @@ $hack_metaconsole = ''; if (defined('METACONSOLE')) $hack_metaconsole = '../../'; +$buttons['visual_console_favorite'] = array('active' => false, + 'text' => '' . + html_print_image ("images/list.png", true, array ("title" => __('Visual Favourite Console'))) .''); + if (!defined('METACONSOLE')) { ui_print_page_header( __('Reporting') .' » ' . __('Visual Console'), - "images/op_reporting.png", false, "map_builder"); + "images/op_reporting.png", false, "map_builder", false, $buttons); } $id_layout = (int) get_parameter ('id_layout'); diff --git a/pandora_console/godmode/reporting/visual_console_builder.data.php b/pandora_console/godmode/reporting/visual_console_builder.data.php index 805d12a241..5d56bcfc47 100644 --- a/pandora_console/godmode/reporting/visual_console_builder.data.php +++ b/pandora_console/godmode/reporting/visual_console_builder.data.php @@ -177,6 +177,9 @@ $table->data[5][1] .= ''; +$table->data[6][0] = __('Fovourite visual console'); +$table->data[6][1] = html_print_checkbox('is_favourite', 0, $is_favourite, true); + if ($action == 'new') { $textButtonSubmit = __('Save'); $classButtonSubmit = 'sub wand'; @@ -379,6 +382,22 @@ $(document).ready (function () { $("#text-background_color").attachColorPicker(); + if($("#checkbox-is_favourite").is(":checked")) { + $("#hidden-is_favourite_sent").val(1); + } + else{ + $("#hidden-is_favourite_sent").val(0); + } + + $("#checkbox-is_favourite").change(function(){ + if($(this).is(":checked")) { + $("#hidden-is_favourite_sent").val(1); + } + else{ + $("#hidden-is_favourite_sent").val(0); + } + }); + }); \ No newline at end of file diff --git a/pandora_console/godmode/reporting/visual_console_builder.php b/pandora_console/godmode/reporting/visual_console_builder.php index e93d353283..6e3654f914 100755 --- a/pandora_console/godmode/reporting/visual_console_builder.php +++ b/pandora_console/godmode/reporting/visual_console_builder.php @@ -107,6 +107,7 @@ switch ($activeTab) { $width = ''; $height = ''; $visualConsoleName = ''; + $is_favourite = 0; break; case 'update': @@ -117,7 +118,8 @@ switch ($activeTab) { $width = (int) get_parameter('width'); $height = (int) get_parameter('height'); $visualConsoleName = (string) get_parameter('name'); - + $is_favourite = (int) get_parameter('is_favourite_sent'); + // ACL for the new visual console //$vconsole_read_new = check_acl ($config['id_user'], $idGroup, "VR"); $vconsole_write_new = check_acl ($config['id_user'], $idGroup, "VW"); @@ -137,7 +139,8 @@ switch ($activeTab) { 'background' => $background, 'background_color' => $background_color, 'width' => $width, - 'height' => $height + 'height' => $height, + 'is_favourite' => $is_favourite ); $error = $_FILES['background_image']['error']; @@ -268,6 +271,7 @@ switch ($activeTab) { $background_color = $visualConsole['background_color']; $width = $visualConsole['width']; $height = $visualConsole['height']; + $is_favourite = $visualConsole['is_favourite']; break; } break; diff --git a/pandora_console/godmode/reporting/visual_console_favorite.php b/pandora_console/godmode/reporting/visual_console_favorite.php new file mode 100644 index 0000000000..d8f58da452 --- /dev/null +++ b/pandora_console/godmode/reporting/visual_console_favorite.php @@ -0,0 +1,123 @@ + false, + 'text' => '' . + html_print_image ("images/visual_console.png", true, array ("title" => __('Visual Console'))) .''); + +if (!defined('METACONSOLE')) { + ui_print_page_header( + __('Reporting') .' » ' . __('Visual Favourite Console'), + "images/op_reporting.png", false, "map_builder", false, $buttons); +} + +$search = (string) get_parameter("search",""); +$ag_group = (int) get_parameter("ag_group",0); +$recursion = (int) get_parameter("recursion",0); + + +if(!is_metaconsole()){ + echo "
"; +} else { + echo ""; +} + echo ""; +echo "
"; + + +$returnAllGroups = 0; +$filters = array(); +if(!empty($search)){ + $filters['name'] = io_safe_input($search); +} + +if ($ag_group > 0) { + $ag_groups = array(); + $ag_groups = (array)$ag_group; + if ($recursion) { + $ag_groups = groups_get_id_recursive($ag_group, true); + } +} +elseif($own_info['is_admin']){ + $returnAllGroups = 1; +} + +if($ag_group){ + $filters['group'] = array_flip($ag_groups); +} + +$favorite_array = visual_map_get_user_layouts ($config['id_user'],false,$filters,$returnAllGroups,true); + +echo "
"; + if($favorite_array == false){ + ui_print_error_message(__('No data to show')); + } + else{ + echo ""; + } +echo "
"; +?> \ No newline at end of file diff --git a/pandora_console/godmode/setup/setup_visuals.php b/pandora_console/godmode/setup/setup_visuals.php index 145904d85d..aa99a20009 100755 --- a/pandora_console/godmode/setup/setup_visuals.php +++ b/pandora_console/godmode/setup/setup_visuals.php @@ -561,6 +561,41 @@ html_print_table ($table_chars); echo ""; //---------------------------------------------------------------------- +//---------------------------------------------------------------------- +// Visual Consoles +//---------------------------------------------------------------------- +$table_vc = new stdClass(); +$table_vc->width = '100%'; +$table_vc->class = "databox filters"; +$table_vc->style[0] = 'font-weight: bold'; +$table_vc->size[0] = '50%'; +$table_vc->data = array (); + +$vc_favourite_view_array[0] = 'Classic view'; +$vc_favourite_view_array[1] = 'View of favorites'; +$table_vc->data[$row][0] = __('Type of view of visual consoles') . + ui_print_help_tip(__('Allows you to directly display the list of favorite visual consoles'), true); +$table_vc->data[$row][1] = html_print_select($vc_favourite_view_array, 'vc_favourite_view', $config["vc_favourite_view"], '', '', 0, true); +$row++; + +$table_vc->data[$row][0] = __('Number of favorite visual consoles to show in the menu') . + ui_print_help_tip(__('If the number is 0 it will not show the pull-down menu and maximum 25 favorite consoles'), true); +//$table_vc->data[$row][1] = html_print_input_text ('vc_menu_items', $config["vc_menu_items"], '', 5, 5, true); +$table_vc->data[$row][1] = ""; +$row++; + +if (empty($config["vc_line_thickness"])) $config["vc_line_thickness"] = 2; +$table_vc->data[$row][0] = __('Default line thickness for the Visual Console') . + ui_print_help_tip(__('This interval will affect to the lines between elements on the Visual Console'), true); +$table_vc->data[$row][1] = html_print_input_text ('vc_line_thickness', $config["vc_line_thickness"], '', 5, 5, true); + + +echo "
"; +echo "" . __('Visual consoles configuration') . ""; + html_print_table ($table_vc); +echo "
"; + + //---------------------------------------------------------------------- // OTHER CONFIGURATION //---------------------------------------------------------------------- @@ -571,11 +606,6 @@ $table_other->style[0] = 'font-weight: bold;'; $table_other->size[0] = '50%'; $table_other->data = array (); -if (empty($config["vc_line_thickness"])) $config["vc_line_thickness"] = 2; -$table_other->data[$row][0] = __('Default line thickness for the Visual Console') . ui_print_help_tip(__('This interval will affect to the lines between elements on the Visual Console'), true); -$table_other->data[$row][1] = html_print_input_text ('vc_line_thickness', $config["vc_line_thickness"], '', 5, 5, true); -$row++; - // Enrique (27/01/2017) New feature: Show report info on top of reports $table_other->data[$row][0] = __('Show report info with description') . ui_print_help_tip( diff --git a/pandora_console/include/functions_config.php b/pandora_console/include/functions_config.php index 30078c5685..41e9912851 100644 --- a/pandora_console/include/functions_config.php +++ b/pandora_console/include/functions_config.php @@ -526,8 +526,13 @@ function config_update_config () { if (!config_update_value ('vc_refr', get_parameter('vc_refr'))) $error_update[] = __('Default interval for refresh on Visual Console'); + if (!config_update_value ('vc_favourite_view', (int) get_parameter('vc_favourite_view', 0))) + $error_update[] = __('Default line favourite_view for the Visual Console'); + if (!config_update_value ('vc_menu_items', (int) get_parameter('vc_menu_items', 10))) + $error_update[] = __('Default line menu items for the Visual Console'); if (!config_update_value ('vc_line_thickness', (int) get_parameter('vc_line_thickness'))) $error_update[] = __('Default line thickness for the Visual Console'); + if (!config_update_value ('agent_size_text_small', get_parameter('agent_size_text_small'))) $error_update[] = __('Agent size text'); if (!config_update_value ('agent_size_text_medium', get_parameter('agent_size_text_medium'))) diff --git a/pandora_console/include/functions_menu.php b/pandora_console/include/functions_menu.php index 058f0c172d..c2ef3f3fb1 100644 --- a/pandora_console/include/functions_menu.php +++ b/pandora_console/include/functions_menu.php @@ -379,7 +379,7 @@ function menu_print_menu (&$menu) { $display .= "top: " . $top . "px;'"; } //Add submenu2 to submenu string - $submenu_output .= "