mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-29 16:55:05 +02:00
2009-09-09 Miguel de Dios <miguel.dedios@artica.es>
* include/functions_db.php: add new function "get_all_groups", this function return all groups. * operation/agentes/ver_agente.php: add another code block for to respond new ajax request (new select in form massive_edit_modules.php). * godmode/agentes/massive_edit_modules.php: Fix in part bug #2848951 in tracker sourceforge, rest things for to do is add more fields. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1922 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
f36a186e4f
commit
89646e9549
@ -1,8 +1,17 @@
|
|||||||
|
2009-09-09 Miguel de Dios <miguel.dedios@artica.es>
|
||||||
|
|
||||||
|
* include/functions_db.php: add new function "get_all_groups", this function
|
||||||
|
return all groups.
|
||||||
|
* operation/agentes/ver_agente.php: add another code block for to respond
|
||||||
|
new ajax request (new select in form massive_edit_modules.php).
|
||||||
|
* godmode/agentes/massive_edit_modules.php: Fix in part bug #2848951 in
|
||||||
|
tracker sourceforge, rest things for to do is add more fields.
|
||||||
|
|
||||||
2009-09-07 Miguel de Dios <miguel.dedios@artica.es>
|
2009-09-07 Miguel de Dios <miguel.dedios@artica.es>
|
||||||
|
|
||||||
* godmode/agentes/massive_edit_modules.php: now the select of
|
* godmode/agentes/massive_edit_modules.php: now the select of
|
||||||
Module name have got all modules but you can filter in the select of
|
Module name have got all modules but you can filter in the select of
|
||||||
Module type. Fix in part but #2848951 in tracker sourceforge, exactly
|
Module type. Fix in part bug #2848951 in tracker sourceforge, exactly
|
||||||
the first paragraph of bug.
|
the first paragraph of bug.
|
||||||
|
|
||||||
2009-09-07 Miguel de Dios <miguel.dedios@artica.es>
|
2009-09-07 Miguel de Dios <miguel.dedios@artica.es>
|
||||||
|
@ -28,16 +28,26 @@ require_once ('include/functions_modules.php');
|
|||||||
|
|
||||||
echo '<h3>'.__('Massive modules edition').'</h3>';
|
echo '<h3>'.__('Massive modules edition').'</h3>';
|
||||||
|
|
||||||
function process_manage_edit ($module_name) {
|
function process_manage_edit ($module_name, $group_select = null, $agents_select = null) {
|
||||||
if (is_int ($module_name) && $module_name <= 0) {
|
if (is_int ($module_name) && $module_name <= 0) {
|
||||||
echo '<h3 class="error">'.__('No modules selected').'</h3>';
|
echo '<h3 class="error">'.__('No modules selected').'</h3>';
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (($group_select === null) || ($group_select == 0))
|
||||||
$agents = array_keys (get_group_agents (array_keys (get_user_groups ()), false, "none"));
|
$agents = array_keys (get_group_agents (array_keys (get_user_groups ()), false, "none"));
|
||||||
|
else {
|
||||||
|
if (($agents_select === null) || ($agents_select == 0)) {
|
||||||
|
$agents = array_keys (get_group_agents ($group_select, false, "none"));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$agents = $agents_select;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* List of fields which can be updated */
|
/* List of fields which can be updated */
|
||||||
$fields = array ('min_warning', 'max_warning', 'min_critical', 'max_critical', 'min_ff_event');
|
$fields = array ('min_warning', 'max_warning', 'min_critical', 'max_critical', 'min_ff_event','module_interval',
|
||||||
|
'disabled','post_process','snmp_community','min','max','id_module_group');
|
||||||
$values = array ();
|
$values = array ();
|
||||||
foreach ($fields as $field) {
|
foreach ($fields as $field) {
|
||||||
$value = get_parameter ($field);
|
$value = get_parameter ($field);
|
||||||
@ -71,11 +81,15 @@ function process_manage_edit ($module_name) {
|
|||||||
|
|
||||||
$module_type = (int) get_parameter ('module_type');
|
$module_type = (int) get_parameter ('module_type');
|
||||||
$module_name = (string) get_parameter ('module_name');
|
$module_name = (string) get_parameter ('module_name');
|
||||||
|
$idGroupMassive = (int) get_parameter('id_group_massive');
|
||||||
|
$idAgentMassive = (int) get_parameter('id_agent_massive');
|
||||||
|
$group_select = get_parameter('groups_select');
|
||||||
|
$agents_select = get_parameter('agents_select');
|
||||||
|
|
||||||
$update = (bool) get_parameter_post ('update');
|
$update = (bool) get_parameter_post ('update');
|
||||||
|
|
||||||
if ($update) {
|
if ($update) {
|
||||||
$result = process_manage_edit ($module_name);
|
$result = process_manage_edit ($module_name, $group_select, $agents_select);
|
||||||
|
|
||||||
print_result_message ($result,
|
print_result_message ($result,
|
||||||
__('Successfully updated'),
|
__('Successfully updated'),
|
||||||
@ -98,6 +112,9 @@ $table->size[3] = '35%';
|
|||||||
if (! $module_type) {
|
if (! $module_type) {
|
||||||
$table->rowstyle['edit1'] = 'display: none';
|
$table->rowstyle['edit1'] = 'display: none';
|
||||||
$table->rowstyle['edit2'] = 'display: none';
|
$table->rowstyle['edit2'] = 'display: none';
|
||||||
|
$table->rowstyle['edit3'] = 'display: none';
|
||||||
|
$table->rowstyle['edit4'] = 'display: none';
|
||||||
|
$table->rowstyle['edit5'] = 'display: none';
|
||||||
}
|
}
|
||||||
$agents = get_group_agents (array_keys (get_user_groups ()), false, "none");
|
$agents = get_group_agents (array_keys (get_user_groups ()), false, "none");
|
||||||
$module_types = get_db_all_rows_filter ('tagente_modulo,ttipo_modulo',
|
$module_types = get_db_all_rows_filter ('tagente_modulo,ttipo_modulo',
|
||||||
@ -137,11 +154,21 @@ $names = get_agent_modules (array_keys ($agents),
|
|||||||
foreach ($names as $name) {
|
foreach ($names as $name) {
|
||||||
$modules[$name['nombre']] = $name['nombre'];
|
$modules[$name['nombre']] = $name['nombre'];
|
||||||
}
|
}
|
||||||
|
$agents = null;
|
||||||
|
|
||||||
$table->data[0][2] = __('Module name');
|
$table->data[0][2] = __('Module name');
|
||||||
$table->data[0][3] = print_select ($modules, 'module_name',
|
$table->data[0][3] = print_select ($modules, 'module_name',
|
||||||
$module_name, false, __('Select'), 0, true, false, false);
|
$module_name, false, __('Select'), 0, true, false, false);
|
||||||
|
|
||||||
|
$table->rowstyle[1] = 'vertical-align: top;';
|
||||||
|
$table->data[1][0] = __('Agent group');
|
||||||
|
$table->data[1][1] = print_select (get_all_groups(true), 'groups_select',
|
||||||
|
$idGroupMassive, false, __('All'), 0, true, false, false);
|
||||||
|
$table->data[1][2] = __('Agents');
|
||||||
|
$table->data[1][3] = print_select ($agents, 'agents_select[]',
|
||||||
|
$idAgentMassive, false, __('All'), 0, true, true, false);
|
||||||
|
|
||||||
|
|
||||||
$table->data['edit1'][0] = __('Warning status');
|
$table->data['edit1'][0] = __('Warning status');
|
||||||
$table->data['edit1'][1] = '<em>'.__('Min.').'</em>';
|
$table->data['edit1'][1] = '<em>'.__('Min.').'</em>';
|
||||||
$table->data['edit1'][1] .= print_input_text ('min_warning', '', '', 5, 15, true);
|
$table->data['edit1'][1] .= print_input_text ('min_warning', '', '', 5, 15, true);
|
||||||
@ -153,11 +180,30 @@ $table->data['edit1'][3] .= print_input_text ('min_critical', '', '', 5, 15, tru
|
|||||||
$table->data['edit1'][3] .= '<br /><em>'.__('Max.').'</em>';
|
$table->data['edit1'][3] .= '<br /><em>'.__('Max.').'</em>';
|
||||||
$table->data['edit1'][3] .= print_input_text ('max_critical', '', '', 5, 15, true);
|
$table->data['edit1'][3] .= print_input_text ('max_critical', '', '', 5, 15, true);
|
||||||
|
|
||||||
|
$table->data['edit2'][0] = __('Interval');
|
||||||
|
$table->data['edit2'][1] = print_input_text ('module_interval', '', '', 5, 15, true);
|
||||||
|
$table->data['edit2'][2] = __('Disabled');
|
||||||
|
$table->data['edit2'][3] = print_checkbox ("disabled", 1, '', true);
|
||||||
|
|
||||||
|
$table->data['edit3'][0] = __('Post process');
|
||||||
|
$table->data['edit3'][1] = print_input_text ('post_process', '', '', 10, 15, true);
|
||||||
|
$table->data['edit3'][2] = __('SMNP community');
|
||||||
|
$table->data['edit3'][3] = print_input_text ('snmp_community', '', '', 10, 15, true);
|
||||||
|
|
||||||
|
$table->data['edit4'][0] = __('Value');
|
||||||
|
$table->data['edit4'][1] = '<em>'.__('Min.').'</em>';
|
||||||
|
$table->data['edit4'][1] .= print_input_text ('min', '', '', 5, 15, true);
|
||||||
|
$table->data['edit4'][1] .= '<br /><em>'.__('Max.').'</em>';
|
||||||
|
$table->data['edit4'][1] .= print_input_text ('max', '', '', 5, 15, true);
|
||||||
|
$table->data['edit4'][2] = __('Group');
|
||||||
|
$table->data['edit4'][3] = print_select (get_modulegroups(),
|
||||||
|
'id_module_group', '', '', __('Select'), 0, true, false, false);
|
||||||
|
|
||||||
/* FF stands for Flip-flop */
|
/* FF stands for Flip-flop */
|
||||||
$table->data['edit2'][0] = __('FF threshold').' '.print_help_icon ('ff_threshold', true);
|
$table->data['edit5'][0] = __('FF threshold').' '.print_help_icon ('ff_threshold', true);
|
||||||
$table->data['edit2'][1] = print_input_text ('min_ff_event', '', '', 5, 15, true);
|
$table->data['edit5'][1] = print_input_text ('min_ff_event', '', '', 5, 15, true);
|
||||||
$table->data['edit2'][2] = __('Historical data');
|
$table->data['edit5'][2] = __('Historical data');
|
||||||
$table->data['edit2'][3] = print_checkbox ("history_data", 1, '', true);
|
$table->data['edit5'][3] = print_checkbox ("history_data", 1, '', true);
|
||||||
|
|
||||||
echo '<form method="post" id="form_edit" onsubmit="if (! confirm(\''.__('Are you sure?').'\')) return false;">';
|
echo '<form method="post" id="form_edit" onsubmit="if (! confirm(\''.__('Are you sure?').'\')) return false;">';
|
||||||
print_table ($table);
|
print_table ($table);
|
||||||
@ -209,15 +255,39 @@ $(document).ready (function () {
|
|||||||
|
|
||||||
$("#module_name").change (function () {
|
$("#module_name").change (function () {
|
||||||
if (this.value <= 0) {
|
if (this.value <= 0) {
|
||||||
$("td#delete_table-0-1").css ("width", "85%");
|
// $("td#delete_table-0-1").css ("width", "85%");
|
||||||
$("tr#delete_table-edit1, tr#delete_table-edit2").hide ();
|
$("tr#delete_table-edit1, tr#delete_table-edit2, tr#delete_table-edit3, tr#delete_table-edit4, tr#delete_table-edit5").hide ();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$("td#delete_table-0-1, td#delete_table-edit1-1, td#delete_table-edit2-1").css ("width", "35%");
|
$("td#delete_table-0-1, td#delete_table-edit1-1, td#delete_table-edit2-1").css ("width", "35%");
|
||||||
$("#form_edit input[type=text]").attr ("value", "");
|
$("#form_edit input[type=text]").attr ("value", "");
|
||||||
$("#form_edit input[type=checkbox]").removeAttr ("checked");
|
$("#form_edit input[type=checkbox]").removeAttr ("checked");
|
||||||
$("tr#delete_table-edit1, tr#delete_table-edit2").show ();
|
$("tr#delete_table-edit1, tr#delete_table-edit2, tr#delete_table-edit3, tr#delete_table-edit4, tr#delete_table-edit5").show ();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#groups_select").change (
|
||||||
|
function () {
|
||||||
|
jQuery.post ("ajax.php",
|
||||||
|
{"page" : "operation/agentes/ver_agente",
|
||||||
|
"get_agents_group_json" : 1,
|
||||||
|
"id_group" : this.value,
|
||||||
|
},
|
||||||
|
function (data, status) {
|
||||||
|
$("#agents_select").html('');
|
||||||
|
option = $("<option></option>").attr ("value", 0).html ("<?php echo __('All'); ?>").attr ("selected", "selected");
|
||||||
|
$("#agents_select").append (option);
|
||||||
|
|
||||||
|
jQuery.each (data, function (id, value) {
|
||||||
|
option = $("<option></option>").attr ("value", value["id_agente"]).html (value["nombre"]);
|
||||||
|
$("#agents_select").append (option);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
"json"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
/* ]]> */
|
/* ]]> */
|
||||||
</script>
|
</script>
|
||||||
|
@ -1173,6 +1173,24 @@ function give_agentmodule_flag ($id_agent_module) {
|
|||||||
return get_db_value ('flag', 'tagente_modulo', 'id_agente_modulo', $id_agent_module);
|
return get_db_value ('flag', 'tagente_modulo', 'id_agente_modulo', $id_agent_module);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all groups in array with index as id_group
|
||||||
|
*/
|
||||||
|
function get_all_groups($groupWithAgents = false) {
|
||||||
|
$sql = 'SELECT id_grupo, nombre FROM tgrupo';
|
||||||
|
|
||||||
|
if ($groupWithAgents)
|
||||||
|
$sql .= ' WHERE id_grupo IN (SELECT id_grupo FROM tagente GROUP BY id_grupo)';
|
||||||
|
|
||||||
|
$rows = get_db_all_rows_sql ($sql);
|
||||||
|
|
||||||
|
$return = array();
|
||||||
|
foreach ($rows as $row)
|
||||||
|
$return[$row['id_grupo']] = $row['nombre'];
|
||||||
|
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Prints a list of <options> HTML tags with the groups the user has
|
* Prints a list of <options> HTML tags with the groups the user has
|
||||||
* reading privileges.
|
* reading privileges.
|
||||||
|
@ -26,6 +26,16 @@ if (is_ajax ()) {
|
|||||||
$get_agent_json = (bool) get_parameter ('get_agent_json');
|
$get_agent_json = (bool) get_parameter ('get_agent_json');
|
||||||
$get_agent_modules_json = (bool) get_parameter ('get_agent_modules_json');
|
$get_agent_modules_json = (bool) get_parameter ('get_agent_modules_json');
|
||||||
$get_agent_status_tooltip = (bool) get_parameter ("get_agent_status_tooltip");
|
$get_agent_status_tooltip = (bool) get_parameter ("get_agent_status_tooltip");
|
||||||
|
$get_agents_group_json = (bool) get_parameter ("get_agents_group_json");
|
||||||
|
|
||||||
|
if ($get_agents_group_json) {
|
||||||
|
$id_group = get_parameter('id_group');
|
||||||
|
|
||||||
|
$agents = get_db_all_rows_sql("SELECT id_agente, nombre FROM tagente WHERE id_grupo = ". $id_group);
|
||||||
|
|
||||||
|
echo json_encode($agents);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if ($get_agent_json) {
|
if ($get_agent_json) {
|
||||||
$id_agent = (int) get_parameter ('id_agent');
|
$id_agent = (int) get_parameter ('id_agent');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user