$id_plugin)); echo htmlentities (safe_output($description), ENT_QUOTES, "UTF-8", true); return; } // Load global vars global $config; check_login (); if (! give_acl ($config['id_user'], 0, "LM")) { audit_db ($config['id_user'], $_SERVER['REMOTE_ADDR'], "ACL Violation", "Trying to access Plugin Management"); require ("general/noaccess.php"); return; } $view = get_parameter ("view", ""); $create = get_parameter ("create", ""); if ($view != ""){ $form_id = $view; $plugin = get_db_row ("tplugin", "id", $form_id); $form_name = $plugin["name"]; $form_description = $plugin["description"]; $form_max_timeout = $plugin ["max_timeout"]; $form_execute = $plugin ["execute"]; $form_net_dst_opt = $plugin ["net_dst_opt"]; $form_net_port_opt = $plugin ["net_port_opt"]; $form_user_opt = $plugin ["user_opt"]; $form_pass_opt = $plugin ["pass_opt"]; $form_plugin_type = $plugin ["plugin_type"]; } if ($create != ""){ $form_name = ""; $form_description = ""; $form_max_timeout = ""; $form_execute = ""; $form_net_dst_opt = ""; $form_net_port_opt = ""; $form_user_opt = ""; $form_pass_opt = ""; $form_plugin_type = 0; } // SHOW THE FORM // ================================================================= if (($create != "") OR ($view != "")){ if ($create != "") print_page_header (__('Plugin creation'), "", false, "", true); else { print_page_header (__('Plugin update'), "", false, "", true); $plugin_id = get_parameter ("view",""); } print_help_icon("plugin_definition"); if ($create == "") echo "
"; else echo ""; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
'.__('Name'); echo ''; echo '
'.__('Plugin command'); echo ''; echo '
'.__('Plugin type'); echo ''; $fields[0]= __("Standard"); $fields[1]= __("Nagios"); print_select ($fields, "form_plugin_type", $form_plugin_type); echo '
'.__('Max. timeout'); echo ''; echo '
'.__('IP address option'); echo ''; echo '
'.__('Port option'); echo ''; echo '
'.__('User option'); echo ''; echo '
'.__('Password option'); echo ''; echo '
'.__('Description').'
'; echo ''; echo '
'; if ($create != ""){ echo ""; } else { echo ""; } echo '
'; } else { print_page_header (__('Plugins registered in Pandora FMS'), "", false, "", true); // Update plugin if (isset($_GET["update_plugin"])){ // if modified any parameter $plugin_id = get_parameter ("update_plugin", 0); $plugin_name = get_parameter ("form_name", ""); $plugin_description = get_parameter ("form_description", ""); $plugin_max_timeout = get_parameter ("form_max_timeout", ""); $plugin_execute = get_parameter ("form_execute", ""); $plugin_net_dst_opt = get_parameter ("form_net_dst_opt", ""); $plugin_net_port_opt = get_parameter ("form_net_port_opt", ""); $plugin_user_opt = get_parameter ("form_user_opt", ""); $plugin_pass_opt = get_parameter ("form_pass_opt", ""); $plugin_plugin_type = get_parameter ("form_plugin_type", "0"); $sql_update ="UPDATE tplugin SET name = '$plugin_name', description = '$plugin_description', max_timeout = '$plugin_max_timeout', execute = '$plugin_execute', net_dst_opt = '$plugin_net_dst_opt', net_port_opt = '$plugin_net_port_opt', user_opt = '$plugin_user_opt', plugin_type = '$plugin_plugin_type', pass_opt = '$plugin_pass_opt' WHERE id = $plugin_id"; $result=mysql_query($sql_update); if (! $result) { echo "

".__('Problem updating plugin')."

"; } else { echo "

".__('Plugin updated successfully')."

"; } } // Create plugin if (isset($_GET["create_plugin"])){ $plugin_name = get_parameter ("form_name", ""); $plugin_description = get_parameter ("form_description", ""); $plugin_max_timeout = get_parameter ("form_max_timeout", ""); $plugin_execute = get_parameter ("form_execute", ""); $plugin_net_dst_opt = get_parameter ("form_net_dst_opt", ""); $plugin_net_port_opt = get_parameter ("form_net_port_opt", ""); $plugin_user_opt = get_parameter ("form_user_opt", ""); $plugin_pass_opt = get_parameter ("form_pass_opt", ""); $plugin_plugin_type = get_parameter ("form_plugin_type", "0"); $sql_insert ="INSERT tplugin (name, description, max_timeout, execute, net_dst_opt, net_port_opt, user_opt, pass_opt, plugin_type) VALUES ('$plugin_name', '$plugin_description', '$plugin_max_timeout', '$plugin_execute', '$plugin_net_dst_opt', '$plugin_net_port_opt', '$plugin_user_opt', '$plugin_pass_opt', $plugin_plugin_type)"; $result=mysql_query($sql_insert); if (! $result){ echo "

".__('Problem creating plugin')."

"; echo $sql_insert; } else { echo "

".__('Plugin created successfully')."

"; } } if (isset($_GET["kill_plugin"])){ // if delete alert $plugin_id = get_parameter ("kill_plugin", 0); $sql_delete= "DELETE FROM tplugin WHERE id= ".$plugin_id; $result=mysql_query($sql_delete); if (! $result){ echo "

".__('Problem deleting plugin')."

"; } else { echo "

".__('Plugin deleted successfully')."

"; } if ($plugin_id != 0){ $sql_delete2 ="DELETE FROM tagente_modulo WHERE id_plugin = ".$plugin_id; $result=mysql_query($sql_delete2); } } // If not edition or insert, then list available plugins $sql1='SELECT * FROM tplugin ORDER BY name'; $result=mysql_query($sql1); if (mysql_num_rows($result) > 0){ echo ''; echo ""; echo ""; echo ""; echo ""; $color = 0; while ($row=mysql_fetch_array($result)){ if ($color == 1){ $tdcolor = "datos"; $color = 0; } else { $tdcolor = "datos2"; $color = 1; } echo ""; echo ""; echo ""; } echo "
".__('Name')."".__('Type')."".__('Command')."".__('Delete')."
"; echo ""; echo $row["name"]; echo ""; if ($row["plugin_type"] == 0) echo __('Standard'); else echo __('Nagios'); echo ""; echo $row["execute"]; echo ""; echo ""; echo "
"; } else { echo '
'. __('There are no plugins in the system'); echo "
"; } echo ""; echo "
"; echo "
"; echo ""; echo "
"; } ?>