$id_plugin)); echo htmlentities (io_safe_output($description), ENT_QUOTES, "UTF-8", true); return; } // Load global vars global $config; check_login (); if (! check_acl ($config['id_user'], 0, "LM")) { db_pandora_audit("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 = db_get_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 != "") ui_print_page_header (__('Plugin creation') . ui_print_help_icon("plugin_definition", true), "", false, "", true); else { ui_print_page_header (__('Plugin update') . ui_print_help_icon("plugin_definition", true), "", false, "", true); $plugin_id = get_parameter ("view",""); } 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"); html_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 { ui_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"); $values = array( '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); $result = false; if ($values['name'] != '' && $values['execute'] != '') $result = db_process_sql_update('tplugin', $values, array('id' => $plugin_id)); 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"); $values = array( '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, 'pass_opt' => $plugin_pass_opt, 'plugin_type' => $plugin_plugin_type); $result = false; if ($values['name'] != '' && $values['execute'] != '') $result = db_process_sql_insert('tplugin', $values); if (! $result) { echo "

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

"; } else { echo "

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

"; } } if (isset($_GET["kill_plugin"])){ // if delete alert $plugin_id = get_parameter ("kill_plugin", 0); $result = db_process_sql_delete('tplugin', array('id' => $plugin_id)); if (! $result){ echo "

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

"; } else { echo "

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

"; } if ($plugin_id != 0){ $result = db_process_sql_delete('tagente_modulo', array('id_plugin' => $plugin_id)); } } // If not edition or insert, then list available plugins $rows = db_get_all_rows_sql('SELECT * FROM tplugin ORDER BY name'); if ($rows !== false) { echo ''; echo ""; echo ""; echo ""; echo ""; $color = 0; foreach ($rows as $row) { if ($color == 1){ $tdcolor = "datos"; $color = 0; } else { $tdcolor = "datos2"; $color = 1; } echo ""; echo ""; echo ""; } echo "
".__('Name')."".__('Type')."".__('Command')."" . '' . __('Op.') . '' . "
"; echo ""; echo $row["name"]; echo ""; if ($row["plugin_type"] == 0) echo __('Standard'); else echo __('Nagios'); echo ""; echo $row["execute"]; echo ""; echo "" . html_print_image('images/config.png', true, array("title" => __("Edit"))) . "  "; echo "" . html_print_image("images/cross.png", true, array("border" => '0')) . ""; echo "
"; } else { echo '
'. __('There are no plugins in the system') . '
'; echo "
"; } echo ""; echo "
"; echo "
"; echo ""; echo "
"; } ?>