' .
+$table->head[5] = "";
+$table->head[5] .= html_print_checkbox('head_multiple_delete',
+ '', false, true, false, 'toggle_checkbox_multiple_delete();');
+$table->head[5] .= '' .
__('A.') . '';
$table->size = array();
@@ -248,16 +251,35 @@ foreach ($layoutDatas as $layoutData) {
//Delete row button
if (!defined('METACONSOLE')) {
- $table->data[$i + 1][5] = '' . html_print_image('images/cross.png', true) . '';
+ $url_delete = "index.php?" .
+ "sec=reporting&" .
+ "sec2=godmode/reporting/visual_console_builder&" .
+ "tab=" . $activeTab . "&" .
+ "action=delete&" .
+ "id_visual_console=" . $visualConsole["id"] . "&" .
+ "id_element=" . $idLayoutData;
+
+ $table->data[$i + 1][5] = "";
+ $table->data[$i + 1][5] .= html_print_checkbox('multiple_delete_items', $idLayoutData, false, true);
+ $table->data[$i + 1][5] .= '' .
+ html_print_image('images/cross.png', true) . '';
}
else {
- $pure = get_parameter('pure', 0);
+ $url_delete = "index.php?" .
+ "operation=edit_visualmap&" .
+ "sec=screen&" .
+ "sec2=screens/screens&" .
+ "action=visualmap&" .
+ "pure=" . (int)get_parameter('pure', 0) . "&" .
+ "tab=list_elements&" .
+ "action2=delete&" .
+ "id_visual_console=" . $visualConsole["id"] . "&" .
+ "id_element=" . $idLayoutData;
- $table->data[$i + 1][5] = '' . html_print_image('images/cross.png', true) . '';
+ $table->data[$i + 1][5] = '' .
+ html_print_image('images/cross.png', true) . '';
}
@@ -400,8 +422,12 @@ foreach ($layoutDatas as $layoutData) {
break;
default:
$table->data[$i + 2][4] = html_print_select_from_sql(
- 'SELECT id, name FROM tlayout WHERE id != ' . $idVisualConsole,
- 'map_linked_' . $idLayoutData, $layoutData['id_layout_linked'], '', 'None', '', true, false, true, '', false, "width: 120px");
+ 'SELECT id, name
+ FROM tlayout
+ WHERE id != ' . $idVisualConsole,
+ 'map_linked_' . $idLayoutData,
+ $layoutData['id_layout_linked'], '', 'None', '', true,
+ false, true, '', false, "width: 120px");
break;
}
@@ -435,16 +461,56 @@ if (!defined('METACONSOLE')) {
else {
html_print_input_hidden ('action2', 'update');
}
+
+echo "
";
+
html_print_input_hidden ('id_visual_console', $visualConsole["id"]);
html_print_submit_button (__('Update'), 'go', false, 'class="sub next"');
+echo " ";
+html_print_button(__('Delete'), 'delete', false, 'submit_delete_multiple_items();', 'class="sub delete"');
echo '';
html_print_table($table);
echo '';
html_print_submit_button (__('Update'), 'go', false, 'class="sub next"');
+echo " ";
+html_print_button(__('Delete'), 'delete', false, 'submit_delete_multiple_items();', 'class="sub delete"');
echo '
';
echo '';
+// Form for multiple delete
+if (!defined('METACONSOLE')) {
+ $url_multiple_delete = "index.php?" .
+ "sec=reporting&" .
+ "sec2=godmode/reporting/visual_console_builder&" .
+ "tab=" . $activeTab . "&" .
+ "id_visual_console=" . $visualConsole["id"];
+
+ echo '';
+
+
//Trick for it have a traduct text for javascript.
echo '' . __('IP') . '';
?>
@@ -530,4 +596,23 @@ ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/');
tinyMCE.activeEditor.setContent(label);
$("#dialog_label_editor").dialog("open");
}
+
+ function toggle_checkbox_multiple_delete() {
+ checked_head_multiple = $("input[name='head_multiple_delete']")
+ .is(":checked");
+
+ $("input[name='multiple_delete_items']")
+ .prop("checked", checked_head_multiple);
+ }
+
+ function submit_delete_multiple_items() {
+ delete_items = [];
+ jQuery.each($("input[name='multiple_delete_items']:checked"), function(i, item) {
+ delete_items.push($(item).val());
+ });
+
+
+ $("input[name='id_item_json']").val(JSON.stringify(delete_items));
+ $("#form_multiple_delete").submit();
+ }
diff --git a/pandora_console/godmode/reporting/visual_console_builder.php b/pandora_console/godmode/reporting/visual_console_builder.php
index 43306e109b..c7d9760690 100755
--- a/pandora_console/godmode/reporting/visual_console_builder.php
+++ b/pandora_console/godmode/reporting/visual_console_builder.php
@@ -41,12 +41,16 @@ else {
$id_layout = 0;
if (!defined('METACONSOLE')) {
- $action = get_parameterBetweenListValues('action', array('new', 'save', 'edit', 'update', 'delete'), 'new');
+ $action_name_parameter = 'action';
}
else {
- $action = get_parameterBetweenListValues('action2', array('new', 'save', 'edit', 'update', 'delete'), 'new');
+ $action_name_parameter = 'action2';
}
+$action = get_parameterBetweenListValues($action_name_parameter,
+ array('new', 'save', 'edit', 'update', 'delete', 'multiple_delete'),
+ 'new');
+
$activeTab = get_parameterBetweenListValues('tab', array('data', 'list_elements', 'wizard', 'wizard_services', 'editor'), 'data');
$refr = (int) get_parameter ('refr', $config['vc_refr']);
@@ -137,6 +141,32 @@ switch ($activeTab) {
case 'list_elements':
switch ($action) {
+ case 'multiple_delete':
+ $delete_items_json = io_safe_output(
+ get_parameter("id_item_json",
+ json_encode(array())));
+
+ $delete_items = json_decode($delete_items_json, true);
+ $id_visual_console = (int)get_parameter(
+ 'id_visual_console', 0);
+
+ if (!empty($delete_items)) {
+ $result = (bool)db_process_sql_delete(
+ 'tlayout_data',
+ array('id_layout' => $id_visual_console,
+ 'id' => $delete_items));
+
+ }
+ else {
+ $result = false;
+ }
+
+ $statusProcessInDB = array(
+ 'flag' => true,
+ 'message' => ui_print_result_message($result,
+ __('Successfully multiple delete.'),
+ __('Unsuccessfull multiple delete.'), '', true));
+ break;
case 'update':
//Update background
@@ -161,7 +191,7 @@ switch ($activeTab) {
$idsElements = db_get_all_rows_filter('tlayout_data',
array('id_layout' => $idVisualConsole), array('id'));
- if ($idsElements === false){
+ if ($idsElements === false) {
$idsElements = array();
}
@@ -497,11 +527,11 @@ if (!defined('METACONSOLE')) {
$buttons);
}
-//The source code for PAINT THE PAGE
if ($statusProcessInDB !== null) {
echo $statusProcessInDB['message'];
}
+//The source code for PAINT THE PAGE
switch ($activeTab) {
case 'wizard':
require_once($config['homedir'] . '/godmode/reporting/visual_console_builder.wizard.php');