From ee022c4241ebe6d01ad4c17797990413a82f54df Mon Sep 17 00:00:00 2001 From: mdtrooper Date: Thu, 23 Aug 2012 14:24:43 +0000 Subject: [PATCH] 2012-08-23 Miguel de Dios * godmode/menu.php, godmode/agentes/planned_downtime.php, godmode/agentes/planned_downtime.list.php, godmode/agentes/planned_downtime.editor.php: refactoriced the code of planned downtime in Pandora Console. Now it is more easy to improve and maintenace. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6908 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f --- pandora_console/ChangeLog | 8 + .../agentes/planned_downtime.editor.php | 400 ++++++++++++++ .../godmode/agentes/planned_downtime.list.php | 144 +++++ .../godmode/agentes/planned_downtime.php | 494 ------------------ pandora_console/godmode/menu.php | 2 +- 5 files changed, 553 insertions(+), 495 deletions(-) create mode 100755 pandora_console/godmode/agentes/planned_downtime.editor.php create mode 100755 pandora_console/godmode/agentes/planned_downtime.list.php delete mode 100644 pandora_console/godmode/agentes/planned_downtime.php diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index bff774d69c..b06419ba51 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,11 @@ +2012-08-23 Miguel de Dios + + * godmode/menu.php, godmode/agentes/planned_downtime.php, + godmode/agentes/planned_downtime.list.php, + godmode/agentes/planned_downtime.editor.php: refactoriced the code + of planned downtime in Pandora Console. Now it is more easy to + improve and maintenace. + 2012-08-23 Sergio Martin * include/functions_visual_map.php diff --git a/pandora_console/godmode/agentes/planned_downtime.editor.php b/pandora_console/godmode/agentes/planned_downtime.editor.php new file mode 100755 index 0000000000..5612e2b0ee --- /dev/null +++ b/pandora_console/godmode/agentes/planned_downtime.editor.php @@ -0,0 +1,400 @@ + $name, + 'description' => $description, + 'date_from' => $date_from, + 'date_to' => $date_time_stop, + 'executed' => $executed, + 'id_group' => $id_group, + 'only_alerts' => $only_alerts + ); + + $result = db_process_sql_update('tplanned_downtime', $values, array ('id' => $id_downtime)); +} + +// INSERT A NEW DOWNTIME_AGENT ASSOCIATION +if ($insert_downtime_agent == 1) { + $agents = $_POST["id_agent"]; + for ($a=0;$a $id_downtime, + 'id_agent' => $id_agente_dt); + $result = db_process_sql_insert('tplanned_downtime_agents', $values); + } +} + +// DELETE A DOWNTIME_AGENT ASSOCIATION +if ($delete_downtime_agent == 1) { + + $id_da = get_parameter ("id_downtime_agent"); + + $result = db_process_sql_delete('tplanned_downtime_agents', array('id' => $id_da)); +} + +// UPDATE OR CREATE A DOWNTIME (MAIN DATA, NOT AGENT ASSOCIATION) +if ($create_downtime || $update_downtime) { + $description = (string) get_parameter ('description'); + $name = (string) get_parameter ('name'); + $check = db_get_value ('name', 'tplanned_downtime', 'name', $name); + + $datetime_from = strtotime ($date_from.' '.$time_from); + $datetime_to = strtotime ($date_to.' '.$time_to); + + if ($datetime_from > $datetime_to) { + echo '

'.__('Not created. Error inserting data').': START > END

'; + } + else { + $sql = ''; + if ($create_downtime) { + if (trim(io_safe_output($name)) != '') { + if (!$check) { + $values = array( + 'name' => $name, + 'description' => $description, + 'date_from' => $datetime_from, + 'date_to' => $datetime_to, + 'id_group' => $id_group, + 'only_alerts' => (int)$only_alerts); + $result = db_process_sql_insert('tplanned_downtime', $values); + } + else { + echo "

" . + __('Each planned downtime must have a different name')."

"; + } + } + else { + echo '

' . + __('Planned downtime must have a name').'

'; + } + } + else if ($update_downtime) { + if (trim(io_safe_output($name)) != '') { + $values = array( + 'name' => $name, + 'description' => $description, + 'date_from' => $datetime_from, + 'date_to' => $datetime_to, + 'id_group' => $id_group, + 'only_alerts' => (int)$only_alerts); + $result = db_process_sql_update('tplanned_downtime', $values, array('id' => $id_downtime)); + } + else { + echo '

'.__('Planned downtime must have a name').'

'; + } + } + + if ($result === false) { + if ($create_downtime) { + echo '

'.__('Could not be created').'

'; + } + else { + echo '

'.__('Could not be updated').'

'; + } + } + else { + if ($create_downtime && $name && !$check) { + $id_downtime = $result; + echo '

' . __('Successfully created') . '

'; + } + else if ($update_downtime && $name) { + echo '

'.__('Successfully updated').'

'; + } + } + } +} + +// Have any data to show ? +if ($id_downtime > 0) { + switch ($config["dbtype"]) { + case "mysql": + $sql = sprintf ("SELECT `id`, `name`, `description`, `date_from`, `date_to`, `id_group`, `only_alerts` + FROM `tplanned_downtime` WHERE `id` = %d", + $id_downtime); + break; + case "postgresql": + $sql = sprintf ("SELECT \"id\", \"name\", \"description\", \"date_from\", \"date_to\", \"id_group\", \"only_alerts\" + FROM \"tplanned_downtime\" WHERE \"id\" = %d", + $id_downtime); + break; + case "oracle": + $sql = sprintf ("SELECT id, name, description, date_from, date_to, id_group, only_alerts + FROM tplanned_downtime WHERE id = %d", + $id_downtime); + break; + } + + $result = db_get_row_sql ($sql); + $name = $result["name"]; + $description = $result["description"]; + $date_from = strftime ('%Y-%m-%d', $result["date_from"]); + $date_to = strftime ('%Y-%m-%d', $result["date_to"]); + $time_from = strftime ('%I:%M%p', $result["date_from"]); + $time_to = strftime ('%I:%M%p', $result["date_to"]); + $only_alerts = $result["only_alerts"]; + + if ($id_group == 0) + $id_group = $result['id_group']; +} + +$table->class = 'databox_color'; +$table->width = '98%'; +$table->data = array (); +$table->data[0][0] = __('Name'); +$table->data[0][1] = html_print_input_text ('name', $name, '', 25, 40, true); +$table->data[2][0] = __('Description'); +$table->data[2][1] = html_print_textarea ('description', 3, 35, $description, '', true); +$table->data[3][0] = __('Timestamp from'); +$table->data[3][1] = html_print_input_text ('date_from', $date_from, '', 10, 10, true); +$table->data[3][1] .= html_print_input_text ('time_from', $time_from, '', 7, 7, true); + +$table->data[4][0] = __('Timestamp to'); +$table->data[4][1] = html_print_input_text ('date_to', $date_to, '', 10, 10, true); +$table->data[4][1] .= html_print_input_text ('time_to', $time_to, '', 7, 7, true); + +$table->data[5][0] = __('Group'); +$table->data[5][1] = html_print_select_groups(false, "AR", true, 'id_group', $id_group, '', '', 0, true); +$table->data[6][0] = __('Only alerts'); +$table->data[6][1] = html_print_checkbox('only_alerts', 1, $only_alerts, true); +echo '
'; + +if ($id_downtime > 0) { + echo ""; + echo "
"; +} + +//Editor form +html_print_table ($table); + +html_print_input_hidden ('id_agent', $id_agent); +echo '
'; +if ($id_downtime) { + html_print_input_hidden ('update_downtime', 1); + html_print_input_hidden ('id_downtime', $id_downtime); + html_print_submit_button (__('Update'), 'updbutton', false, 'class="sub upd"'); +} +else { + html_print_input_hidden ('create_downtime', 1); + html_print_submit_button (__('Add'), 'crtbutton', false, 'class="sub wand"'); +} +echo '
'; +echo ''; + +if ($id_downtime > 0) { + + echo "
"; + // Show available agents to include into downtime + echo '

'.__('Available agents').':

'; + + $filter_group = get_parameter("filter_group", 0); + + $filter_cond = ''; + if($filter_group > 0) + $filter_cond = " AND id_grupo = $filter_group "; + $sql = sprintf ("SELECT tagente.id_agente, tagente.nombre, tagente.id_grupo + FROM tagente + WHERE tagente.id_agente NOT IN ( + SELECT tagente.id_agente + FROM tagente, tplanned_downtime_agents + WHERE tplanned_downtime_agents.id_agent = tagente.id_agente + AND tplanned_downtime_agents.id_downtime = %d + ) AND disabled = 0 $filter_cond + ORDER by tagente.nombre", $id_downtime); + $downtimes = db_get_all_rows_sql ($sql); + $data = array (); + if ($downtimes) { + foreach ($downtimes as $downtime) { + if (check_acl ($config["id_user"], $downtime['id_grupo'], "AR")) { + $data[$downtime['id_agente']] = $downtime['nombre']; + } + } + } + + $disabled_add_button = false; + if (empty($data)) { + $disabled_add_button = true; + } + + echo "
"; + + html_print_select_groups(false, "AR", true, 'filter_group', $filter_group, '', '', '', false, false, true, '', false, 'width:180px'); + + echo "

"; + html_print_submit_button (__('Filter by group'), '', false, 'class="sub next"',false); + echo "
"; + + echo "
"; + + echo html_print_select ($data, "id_agent[]", '', '', '', 0, false, true, true, '', false, 'width: 180px;'); + echo "


"; + html_print_submit_button (__('Add'), '', $disabled_add_button, 'class="sub next"',false); + echo "
"; + echo "
"; + + //Start Overview of existing planned downtime + echo '

'.__('Agents planned for this downtime').':

'; + + $sql = sprintf ("SELECT tagente.nombre, tplanned_downtime_agents.id, + tagente.id_os, tagente.id_agente, tagente.id_grupo, + tagente.ultimo_contacto + FROM tagente, tplanned_downtime_agents + WHERE tplanned_downtime_agents.id_agent = tagente.id_agente + AND tplanned_downtime_agents.id_downtime = %d ",$id_downtime); + + $downtimes = db_get_all_rows_sql ($sql); + if ($downtimes === false) { + echo '
'. __('There are no scheduled downtimes').'
'; + } + else { + $table->class = 'databox'; + $table->width = '98%'; + $table->data = array (); + $table->head = array (); + $table->head[0] = __('Name'); + $table->head[1] = __('Group'); + $table->head[2] = __('OS'); + $table->head[3] = __('Last contact'); + $table->head[4] = __('Remove'); + $table->align[4] = "center";; + + foreach ($downtimes as $downtime) { + $data = array (); + + $data[0] = $downtime['nombre']; + + $data[1] = db_get_sql ("SELECT nombre FROM tgrupo WHERE id_grupo = ". $downtime["id_grupo"]); + + $data[2] = ui_print_os_icon ($downtime["id_os"], true, true); + + $data[3] = $downtime["ultimo_contacto"]; + + $data[4] = '' . + html_print_image("images/cross.png", true, array("border" => '0', "alt" => __('Delete'))); + + array_push ($table->data, $data); + } + html_print_table ($table); + } +} + +ui_require_css_file ('datepicker'); +ui_require_jquery_file ('ui.core'); +ui_require_jquery_file ('ui.datepicker'); +ui_require_jquery_file ('timeentry'); + +?> + \ No newline at end of file diff --git a/pandora_console/godmode/agentes/planned_downtime.list.php b/pandora_console/godmode/agentes/planned_downtime.list.php new file mode 100755 index 0000000000..3a7a368922 --- /dev/null +++ b/pandora_console/godmode/agentes/planned_downtime.list.php @@ -0,0 +1,144 @@ + $id_downtime)); + + $result2 = db_process_sql_delete('tplanned_downtime_agents', array('id' => $id_downtime)); + + if (($result === false) OR ($result2 === false)) { + echo '

'.__('Not deleted. Error deleting data').'

'; + } + else { + echo '

'.__('Successfully deleted').'

'; + } +} + +$groups = users_get_groups (); + +// View available downtimes present in database (if any of them) +$table->class = 'databox'; +//Start Overview of existing planned downtime +$table->width = '98%'; +$table->data = array (); +$table->head = array (); +$table->head[0] = __('Name #Ag.'); +$table->head[1] = __('Description'); +$table->head[2] = __('Group'); +$table->head[3] = __('From'); +$table->head[4] = __('To'); +$table->head[5] = __('Affect'); +$table->head[6] = __('Delete'); +$table->head[7] = __('Update'); +$table->head[8] = __('Running'); +$table->head[9] = __('Stop downtime'); +$table->align[2] = "center"; +$table->align[5] = "center"; +$table->align[6] = "center"; +$table->align[7] = "center"; +$table->align[8] = "center"; +$table->align[9] = "center"; + +if(!empty($groups)) { + $sql = "SELECT * + FROM tplanned_downtime + WHERE id_group IN (" . implode (",", array_keys ($groups)) . ")"; + $downtimes = db_get_all_rows_sql ($sql); +} +else { + $downtimes = array(); +} + +if (!$downtimes) { + echo '
'.__('No planned downtime').'
'; +} +else { + foreach ($downtimes as $downtime) { + $data = array(); + $total = db_get_sql ("SELECT COUNT(id_agent) + FROM tplanned_downtime_agents + WHERE id_downtime = ".$downtime["id"]); + + $data[0] = $downtime['name']. " ($total)"; + $data[1] = $downtime['description']; + $data[2] = ui_print_group_icon ($downtime['id_group'], true); + $data[3] = date ("Y-m-d H:i", $downtime['date_from']); + $data[4] = date ("Y-m-d H:i", $downtime['date_to']); + if ($downtime['only_alerts']) { + $data[5] = __('Only alerts'); + } + else { + $data[5] = __('All'); + } + if ($downtime["executed"] == 0) { + $data[6] = '
' . + html_print_image("images/cross.png", true, array("border" => '0', "alt" => __('Delete'))); + $data[7] = '' . + html_print_image("images/config.png", true, array("border" => '0', "alt" => __('Update'))) . ''; + } + else { + $data[6]= "N/A"; + $data[7]= "N/A"; + + } + if ($downtime["executed"] == 0) + $data[8] = html_print_image ("images/pixel_green.png", true, array ('width' => 20, 'height' => 20, 'alt' => __('Executed'))); + else + $data[8] = html_print_image ("images/pixel_red.png", true, array ('width' => 20, 'height' => 20, 'alt' => __('Not executed'))); + + if ($downtime["executed"] != 0) { + $data[9] = '' . + html_print_image("images/cancel.png", true, array("border" => '0', "alt" => __('Stop downtime'))); + } + + array_push ($table->data, $data); + } + html_print_table ($table); +} +echo '
'; + +echo '
'; +html_print_submit_button (__('Create'), 'create', false, 'class="sub next"'); +echo '
'; +echo '
'; \ No newline at end of file diff --git a/pandora_console/godmode/agentes/planned_downtime.php b/pandora_console/godmode/agentes/planned_downtime.php deleted file mode 100644 index 29de131a84..0000000000 --- a/pandora_console/godmode/agentes/planned_downtime.php +++ /dev/null @@ -1,494 +0,0 @@ - $name, - 'description' => $description, - 'date_from' => $date_from, - 'date_to' => $date_time_stop, - 'executed' => $executed, - 'id_group' => $id_group, - 'only_alerts' => $only_alerts - ); - - $result = db_process_sql_update('tplanned_downtime', $values, array ('id' => $id_downtime)); -} - -// INSERT A NEW DOWNTIME_AGENT ASSOCIATION -if ($insert_downtime_agent == 1){ - $agents = $_POST["id_agent"]; - for ($a=0;$a $id_downtime, - 'id_agent' => $id_agente_dt); - $result = db_process_sql_insert('tplanned_downtime_agents', $values); - } -} - -// DELETE A DOWNTIME_AGENT ASSOCIATION -if ($delete_downtime_agent == 1){ - - $id_da = get_parameter ("id_downtime_agent"); - - $result = db_process_sql_delete('tplanned_downtime_agents', array('id' => $id_da)); -} - -// DELETE WHOLE DOWNTIME! -if ($delete_downtime) { - $result = db_process_sql_delete('tplanned_downtime', array('id' => $id_downtime)); - - $result2 = db_process_sql_delete('tplanned_downtime_agents', array('id' => $id_downtime)); - - if (($result === false) OR ($result2 === false)){ - echo '

'.__('Not deleted. Error deleting data').'

'; - } - else { - echo '

'.__('Successfully deleted').'

'; - } -} - -// UPDATE OR CREATE A DOWNTIME (MAIN DATA, NOT AGENT ASSOCIATION) - -if ($create_downtime || $update_downtime) { - $description = (string) get_parameter ('description'); - $name = (string) get_parameter ('name'); - $check = db_get_value ('name', 'tplanned_downtime', 'name', $name); - - $datetime_from = strtotime ($date_from.' '.$time_from); - $datetime_to = strtotime ($date_to.' '.$time_to); - - if ($datetime_from > $datetime_to) { - echo '

'.__('Not created. Error inserting data').': START > END

'; - } - else { - $sql = ''; - if ($create_downtime) { - if (trim(io_safe_output($name)) != '') { - if (!$check) { - $values = array( - 'name' => $name, - 'description' => $description, - 'date_from' => $datetime_from, - 'date_to' => $datetime_to, - 'id_group' => $id_group, - 'only_alerts' => (int)$only_alerts); - $result = db_process_sql_insert('tplanned_downtime', $values); - } - else { - echo "

".__('Each planned downtime must have a different name')."

"; - } - } - else { - echo '

'.__('Planned downtime must have a name').'

'; - } - } - else if ($update_downtime) { - if (trim(io_safe_output($name)) != '') { - $values = array( - 'name' => $name, - 'description' => $description, - 'date_from' => $datetime_from, - 'date_to' => $datetime_to, - 'id_group' => $id_group, - 'only_alerts' => (int)$only_alerts); - $result = db_process_sql_update('tplanned_downtime', $values, array('id' => $id_downtime)); - } - else { - echo '

'.__('Planned downtime must have a name').'

'; - } - } - - if ($result === false) { - if($create_downtime) { - echo '

'.__('Could not be created').'

'; - } - else { - echo '

'.__('Could not be updated').'

'; - } - } - else { - if($create_downtime && $name && !$check) { - echo '

'.__('Successfully created').'

'; - } - else if ($update_downtime && $name) { - echo '

'.__('Successfully updated').'

'; - } - } - } -} - - -//////////////////////////////// -// Show create / update form -//////////////////////////////// -if (($first_create != 0) OR ($first_update != 0)){ - // Have any data to show ? - if ($id_downtime > 0) { - switch ($config["dbtype"]) { - case "mysql": - $sql = sprintf ("SELECT `id`, `name`, `description`, `date_from`, `date_to`, `id_group`, `only_alerts` - FROM `tplanned_downtime` WHERE `id` = %d", - $id_downtime); - break; - case "postgresql": - $sql = sprintf ("SELECT \"id\", \"name\", \"description\", \"date_from\", \"date_to\", \"id_group\", \"only_alerts\" - FROM \"tplanned_downtime\" WHERE \"id\" = %d", - $id_downtime); - break; - case "oracle": - $sql = sprintf ("SELECT id, name, description, date_from, date_to, id_group, only_alerts - FROM tplanned_downtime WHERE id = %d", - $id_downtime); - break; - } - - $result = db_get_row_sql ($sql); - $name = $result["name"]; - $description = $result["description"]; - $date_from = strftime ('%Y-%m-%d', $result["date_from"]); - $date_to = strftime ('%Y-%m-%d', $result["date_to"]); - $time_from = strftime ('%I:%M%p', $result["date_from"]); - $time_to = strftime ('%I:%M%p', $result["date_to"]); - $only_alerts = $result["only_alerts"]; - - if ($id_group == 0) - $id_group = $result['id_group']; - } - - $table->class = 'databox_color'; - $table->width = '98%'; - $table->data = array (); - $table->data[0][0] = __('Name'); - $table->data[0][1] = html_print_input_text ('name', $name, '', 25, 40, true); - $table->data[2][0] = __('Description'); - $table->data[2][1] = html_print_textarea ('description', 3, 35, $description, '', true); - $table->data[3][0] = __('Timestamp from'); - $table->data[3][1] = html_print_input_text ('date_from', $date_from, '', 10, 10, true); - $table->data[3][1] .= html_print_input_text ('time_from', $time_from, '', 7, 7, true); - - $table->data[4][0] = __('Timestamp to'); - $table->data[4][1] = html_print_input_text ('date_to', $date_to, '', 10, 10, true); - $table->data[4][1] .= html_print_input_text ('time_to', $time_to, '', 7, 7, true); - - $table->data[5][0] = __('Group'); - $table->data[5][1] = html_print_select_groups(false, "AR", true, 'id_group', $id_group, '', '', 0, true); - $table->data[6][0] = __('Only alerts'); - $table->data[6][1] = html_print_checkbox('only_alerts', 1, $only_alerts, true); - echo '
'; - - if ($id_downtime > 0){ - echo ""; - echo "
"; - } - - //Editor form - html_print_table ($table); - - html_print_input_hidden ('id_agent', $id_agent); - echo '
'; - if ($id_downtime) { - html_print_input_hidden ('update_downtime', 1); - html_print_input_hidden ('id_downtime', $id_downtime); - html_print_submit_button (__('Update'), 'updbutton', false, 'class="sub upd"'); - } - else { - html_print_input_hidden ('create_downtime', 1); - html_print_submit_button (__('Add'), 'crtbutton', false, 'class="sub wand"'); - } - echo '
'; - echo ''; - - if ($id_downtime > 0) { - - echo "
"; - // Show available agents to include into downtime - echo '

'.__('Available agents').':

'; - - $filter_group = get_parameter("filter_group", 0); - - $filter_cond = ''; - if($filter_group > 0) - $filter_cond = " AND id_grupo = $filter_group "; - $sql = sprintf ("SELECT tagente.id_agente, tagente.nombre, tagente.id_grupo - FROM tagente - WHERE tagente.id_agente NOT IN ( - SELECT tagente.id_agente - FROM tagente, tplanned_downtime_agents - WHERE tplanned_downtime_agents.id_agent = tagente.id_agente - AND tplanned_downtime_agents.id_downtime = %d - ) AND disabled = 0 $filter_cond - ORDER by tagente.nombre", $id_downtime); - $downtimes = db_get_all_rows_sql ($sql); - $data = array (); - if ($downtimes) { - foreach ($downtimes as $downtime) { - if (check_acl ($config["id_user"], $downtime['id_grupo'], "AR")) { - $data[$downtime['id_agente']] = $downtime['nombre']; - } - } - } - - $disabled_add_button = false; - if (empty($data)) { - $disabled_add_button = true; - } - - echo "
"; - - html_print_select_groups(false, "AR", true, 'filter_group', $filter_group, '', '', '', false, false, true, '', false, 'width:180px'); - - echo "

"; - html_print_submit_button (__('Filter by group'), '', false, 'class="sub next"',false); - echo "
"; - - echo "
"; - - echo html_print_select ($data, "id_agent[]", '', '', '', 0, false, true, true, '', false, 'width: 180px;'); - echo "


"; - html_print_submit_button (__('Add'), '', $disabled_add_button, 'class="sub next"',false); - echo "
"; - echo "
"; - - //Start Overview of existing planned downtime - echo '

'.__('Agents planned for this downtime').':

'; - - $sql = sprintf ("SELECT tagente.nombre, tplanned_downtime_agents.id, - tagente.id_os, tagente.id_agente, tagente.id_grupo, - tagente.ultimo_contacto - FROM tagente, tplanned_downtime_agents - WHERE tplanned_downtime_agents.id_agent = tagente.id_agente - AND tplanned_downtime_agents.id_downtime = %d ",$id_downtime); - - $downtimes = db_get_all_rows_sql ($sql); - if ($downtimes === false) { - echo '
'. __('There are no scheduled downtimes').'
'; - } - else { - $table->class = 'databox'; - $table->width = '98%'; - $table->data = array (); - $table->head = array (); - $table->head[0] = __('Name'); - $table->head[1] = __('Group'); - $table->head[2] = __('OS'); - $table->head[3] = __('Last contact'); - $table->head[4] = __('Remove'); - $table->align[4] = "center";; - - foreach ($downtimes as $downtime) { - $data = array (); - - $data[0] = $downtime['nombre']; - - $data[1] = db_get_sql ("SELECT nombre FROM tgrupo WHERE id_grupo = ". $downtime["id_grupo"]); - - $data[2] = ui_print_os_icon ($downtime["id_os"], true, true); - - $data[3] = $downtime["ultimo_contacto"]; - - $data[4] = '
' . - html_print_image("images/cross.png", true, array("border" => '0', "alt" => __('Delete'))); - - array_push ($table->data, $data); - } - html_print_table ($table); - } - } -} -else { - - // View available downtimes present in database (if any of them) - $table->class = 'databox'; - //Start Overview of existing planned downtime - $table->width = '98%'; - $table->data = array (); - $table->head = array (); - $table->head[0] = __('Name #Ag.'); - $table->head[1] = __('Description'); - $table->head[2] = __('Group'); - $table->head[3] = __('From'); - $table->head[4] = __('To'); - $table->head[5] = __('Affect'); - $table->head[6] = __('Delete'); - $table->head[7] = __('Update'); - $table->head[8] = __('Running'); - $table->head[9] = __('Stop downtime'); - $table->align[2] = "center"; - $table->align[5] = "center"; - $table->align[6] = "center"; - $table->align[7] = "center"; - $table->align[8] = "center"; - $table->align[9] = "center"; - - if(!empty($groups)) { - $sql = "SELECT * FROM tplanned_downtime WHERE id_group IN (" . implode (",", array_keys ($groups)) . ")"; - $downtimes = db_get_all_rows_sql ($sql); - } - else { - $downtimes = array(); - } - - if (!$downtimes) { - echo '
'.__('No planned downtime').'
'; - } - else { - foreach ($downtimes as $downtime) { - $data = array(); - $total = db_get_sql ("SELECT COUNT(id_agent) FROM tplanned_downtime_agents WHERE id_downtime = ".$downtime["id"]); - - $data[0] = $downtime['name']. " ($total)"; - $data[1] = $downtime['description']; - $data[2] = ui_print_group_icon ($downtime['id_group'], true); - $data[3] = date ("Y-m-d H:i", $downtime['date_from']); - $data[4] = date ("Y-m-d H:i", $downtime['date_to']); - if($downtime['only_alerts']) { - $data[5] = __('Only alerts'); - } - else { - $data[5] = __('All'); - } - if ($downtime["executed"] == 0){ - $data[6] = '
' . - html_print_image("images/cross.png", true, array("border" => '0', "alt" => __('Delete'))); - $data[7] = '' . - html_print_image("images/config.png", true, array("border" => '0', "alt" => __('Update'))) . ''; - } - else { - $data[6]= "N/A"; - $data[7]= "N/A"; - - } - if ($downtime["executed"] == 0) - $data[8] = html_print_image ("images/pixel_green.png", true, array ('width' => 20, 'height' => 20, 'alt' => __('Executed'))); - else - $data[8] = html_print_image ("images/pixel_red.png", true, array ('width' => 20, 'height' => 20, 'alt' => __('Not executed'))); - - if ($downtime["executed"] != 0) { - $data[9] = '' . - html_print_image("images/cancel.png", true, array("border" => '0', "alt" => __('Stop downtime'))); - } - - array_push ($table->data, $data); - } - html_print_table ($table); - } - echo '
'; - - echo '
'; - html_print_input_hidden ("first_create", 1); - html_print_submit_button (__('Create'), 'create', false, 'class="sub next"'); - echo '
'; - echo '
'; -} - -ui_require_css_file ('datepicker'); -ui_require_jquery_file ('ui.core'); -ui_require_jquery_file ('ui.datepicker'); -ui_require_jquery_file ('timeentry'); - -?> - diff --git a/pandora_console/godmode/menu.php b/pandora_console/godmode/menu.php index efea920ed0..6c1042979c 100644 --- a/pandora_console/godmode/menu.php +++ b/pandora_console/godmode/menu.php @@ -39,7 +39,7 @@ if (check_acl ($config['id_user'], 0, "AW")) { if (check_acl ($config["id_user"], 0, "PM")) { $sub["godmode/groups/group_list"]["text"] = __('Manage groups'); $sub["godmode/groups/modu_group_list"]["text"] = __('Module groups'); - $sub["godmode/agentes/planned_downtime"]["text"] = __('Scheduled downtime'); + $sub["godmode/agentes/planned_downtime.list"]["text"] = __('Scheduled downtime'); $sub["godmode/agentes/fields_manager"]["text"] = __('Manage custom fields'); } enterprise_hook('agents_submenu');