Imported Upstream version 0.8.7g upstream upstream/0.8.7g
authorNeutron Soutmun <neo.neutron@gmail.com>
Thu, 15 Dec 2011 17:18:32 +0000 (00:18 +0700)
committerNeutron Soutmun <neo.neutron@gmail.com>
Thu, 15 Dec 2011 17:18:32 +0000 (00:18 +0700)
474 files changed:
LICENSE [new file with mode: 0644]
README [new file with mode: 0644]
about.php [new file with mode: 0644]
auth_changepassword.php [new file with mode: 0644]
auth_login.php [new file with mode: 0644]
cacti.sql [new file with mode: 0644]
cdef.php [new file with mode: 0644]
cli/.htaccess [new file with mode: 0644]
cli/add_data_query.php [new file with mode: 0644]
cli/add_device.php [new file with mode: 0644]
cli/add_graph_template.php [new file with mode: 0644]
cli/add_graphs.php [new file with mode: 0644]
cli/add_perms.php [new file with mode: 0644]
cli/add_tree.php [new file with mode: 0644]
cli/convert_innodb.php [new file with mode: 0644]
cli/copy_user.php [new file with mode: 0644]
cli/host_update_template.php [new file with mode: 0644]
cli/import_template.php [new file with mode: 0644]
cli/poller_data_sources_reapply_names.php [new file with mode: 0644]
cli/poller_graphs_reapply_names.php [new file with mode: 0644]
cli/poller_output_empty.php [new file with mode: 0644]
cli/poller_reindex_hosts.php [new file with mode: 0644]
cli/rebuild_poller_cache.php [new file with mode: 0644]
cli/repair_database.php [new file with mode: 0644]
cli/repair_templates.php [new file with mode: 0644]
cli/structure_rra_paths.php [new file with mode: 0644]
cli/upgrade_database.php [new file with mode: 0644]
cmd.php [new file with mode: 0644]
color.php [new file with mode: 0644]
data_input.php [new file with mode: 0644]
data_queries.php [new file with mode: 0644]
data_sources.php [new file with mode: 0644]
data_templates.php [new file with mode: 0644]
docs/CHANGELOG [new file with mode: 0644]
docs/CONTRIB [new file with mode: 0644]
docs/README [new file with mode: 0644]
docs/html/LICENSE.html [new file with mode: 0644]
docs/html/advanced_topics.html [new file with mode: 0644]
docs/html/basics.html [new file with mode: 0644]
docs/html/batch_copy_users.html [new file with mode: 0644]
docs/html/bsd_ports.html [new file with mode: 0644]
docs/html/cacti_help.html [new file with mode: 0644]
docs/html/cdefs.html [new file with mode: 0644]
docs/html/check_cacti_poller.html [new file with mode: 0644]
docs/html/check_data_gathering.html [new file with mode: 0644]
docs/html/check_mysql_updating.html [new file with mode: 0644]
docs/html/check_rrd_graph.html [new file with mode: 0644]
docs/html/check_rrd_numbers.html [new file with mode: 0644]
docs/html/check_rrd_owner.html [new file with mode: 0644]
docs/html/check_rrd_updating.html [new file with mode: 0644]
docs/html/check_zero_values.html [new file with mode: 0644]
docs/html/cli_add_data_query.html [new file with mode: 0644]
docs/html/cli_add_device.html [new file with mode: 0644]
docs/html/cli_add_graph_template.html [new file with mode: 0644]
docs/html/cli_add_graphs.html [new file with mode: 0644]
docs/html/cli_add_perms.html [new file with mode: 0644]
docs/html/cli_add_tree.html [new file with mode: 0644]
docs/html/cli_copy_user.html [new file with mode: 0644]
docs/html/cli_poller_graphs_reapply_names.html [new file with mode: 0644]
docs/html/cli_poller_output_empty.html [new file with mode: 0644]
docs/html/cli_poller_reindex_hosts.html [new file with mode: 0644]
docs/html/copying_user.html [new file with mode: 0644]
docs/html/create_new_user.html [new file with mode: 0644]
docs/html/data_input_methods.html [new file with mode: 0644]
docs/html/data_presentation.html [new file with mode: 0644]
docs/html/data_queries.html [new file with mode: 0644]
docs/html/data_storage.html [new file with mode: 0644]
docs/html/debug_miscellaneous.html [new file with mode: 0644]
docs/html/debug_rpm_installation.html [new file with mode: 0644]
docs/html/debugging.html [new file with mode: 0644]
docs/html/delete_users.html [new file with mode: 0644]
docs/html/enable_disable_users.html [new file with mode: 0644]
docs/html/faq.html [new file with mode: 0644]
docs/html/graph_howto.html [new file with mode: 0644]
docs/html/graph_overview.html [new file with mode: 0644]
docs/html/graph_snmp_oid.html [new file with mode: 0644]
docs/html/graph_templates.html [new file with mode: 0644]
docs/html/graph_viewing.html [new file with mode: 0644]
docs/html/guest_access.html [new file with mode: 0644]
docs/html/host_templates.html [new file with mode: 0644]
docs/html/host_variables.html [new file with mode: 0644]
docs/html/how_to.html [new file with mode: 0644]
docs/html/images/data_source_title_example1.png [new file with mode: 0644]
docs/html/images/data_source_title_example2.png [new file with mode: 0644]
docs/html/images/data_source_title_template.png [new file with mode: 0644]
docs/html/images/data_template.png [new file with mode: 0644]
docs/html/images/export_template.png [new file with mode: 0644]
docs/html/images/graph_template.png [new file with mode: 0644]
docs/html/images/graph_tree.png [new file with mode: 0644]
docs/html/images/host_template.png [new file with mode: 0644]
docs/html/images/import_template.png [new file with mode: 0644]
docs/html/images/new_device.png [new file with mode: 0644]
docs/html/images/new_graphs.png [new file with mode: 0644]
docs/html/images/principles_of_operation.png [new file with mode: 0644]
docs/html/images/user_management_batch_copy_1.png [new file with mode: 0644]
docs/html/images/user_management_batch_copy_2.png [new file with mode: 0644]
docs/html/images/user_management_copy_1.png [new file with mode: 0644]
docs/html/images/user_management_copy_2.png [new file with mode: 0644]
docs/html/images/user_management_delete_1.png [new file with mode: 0644]
docs/html/images/user_management_delete_2.png [new file with mode: 0644]
docs/html/images/user_management_edit.png [new file with mode: 0644]
docs/html/images/user_management_enable_disable_1.png [new file with mode: 0644]
docs/html/images/user_management_enable_disable_2.png [new file with mode: 0644]
docs/html/images/user_management_list.png [new file with mode: 0644]
docs/html/images/user_management_new.png [new file with mode: 0644]
docs/html/index.html [new file with mode: 0644]
docs/html/install_unix.html [new file with mode: 0644]
docs/html/install_windows.html [new file with mode: 0644]
docs/html/installation.html [new file with mode: 0644]
docs/html/making_scripts_work_with_cacti.html [new file with mode: 0644]
docs/html/migration_php_scripts_to_script_server.html [new file with mode: 0644]
docs/html/new_graphs.html [new file with mode: 0644]
docs/html/operating_principles.html [new file with mode: 0644]
docs/html/php_script_server.html [new file with mode: 0644]
docs/html/reference.html [new file with mode: 0644]
docs/html/requirements.html [new file with mode: 0644]
docs/html/rrdtool_features.html [new file with mode: 0644]
docs/html/script_query_xml.html [new file with mode: 0644]
docs/html/scripts.html [new file with mode: 0644]
docs/html/snmp_query_xml.html [new file with mode: 0644]
docs/html/template_export.html [new file with mode: 0644]
docs/html/template_import.html [new file with mode: 0644]
docs/html/templates.html [new file with mode: 0644]
docs/html/testing_script_in_script_server.html [new file with mode: 0644]
docs/html/unix_apply_patches.html [new file with mode: 0644]
docs/html/unix_configure_cacti.html [new file with mode: 0644]
docs/html/unix_configure_httpd.html [new file with mode: 0644]
docs/html/unix_configure_mysql.html [new file with mode: 0644]
docs/html/unix_configure_php.html [new file with mode: 0644]
docs/html/unix_configure_spine.html [new file with mode: 0644]
docs/html/upgrade.html [new file with mode: 0644]
docs/html/upgrade_using_hostmib_data_queries.html [new file with mode: 0644]
docs/html/user_management.html [new file with mode: 0644]
docs/html/using_spine.html [new file with mode: 0644]
docs/html/variables.html [new file with mode: 0644]
docs/pdf/README [new file with mode: 0644]
docs/txt/manual.txt [new file with mode: 0644]
gprint_presets.php [new file with mode: 0644]
graph.php [new file with mode: 0644]
graph_image.php [new file with mode: 0644]
graph_settings.php [new file with mode: 0644]
graph_templates.php [new file with mode: 0644]
graph_templates_inputs.php [new file with mode: 0644]
graph_templates_items.php [new file with mode: 0644]
graph_view.php [new file with mode: 0644]
graph_xport.php [new file with mode: 0644]
graphs.php [new file with mode: 0644]
graphs_items.php [new file with mode: 0644]
graphs_new.php [new file with mode: 0644]
host.php [new file with mode: 0644]
host_templates.php [new file with mode: 0644]
images/arrow.gif [new file with mode: 0644]
images/auth_deny.gif [new file with mode: 0644]
images/auth_login.gif [new file with mode: 0644]
images/auth_logout.gif [new file with mode: 0644]
images/button_add.gif [new file with mode: 0644]
images/button_cancel.gif [new file with mode: 0644]
images/button_cancel2.gif [new file with mode: 0644]
images/button_clear.gif [new file with mode: 0644]
images/button_colapse_all.gif [new file with mode: 0644]
images/button_create.gif [new file with mode: 0644]
images/button_default.gif [new file with mode: 0644]
images/button_delete.gif [new file with mode: 0644]
images/button_expand_all.gif [new file with mode: 0644]
images/button_export.gif [new file with mode: 0644]
images/button_go.gif [new file with mode: 0644]
images/button_help.gif [new file with mode: 0644]
images/button_import.gif [new file with mode: 0644]
images/button_no.gif [new file with mode: 0644]
images/button_purge.gif [new file with mode: 0644]
images/button_refresh.gif [new file with mode: 0644]
images/button_save.gif [new file with mode: 0644]
images/button_view.gif [new file with mode: 0644]
images/button_yes.gif [new file with mode: 0644]
images/cacti_about_logo.gif [new file with mode: 0644]
images/cacti_backdrop.gif [new file with mode: 0644]
images/cacti_backdrop2.gif [new file with mode: 0644]
images/cacti_logo.gif [new file with mode: 0644]
images/calendar.gif [new file with mode: 0644]
images/delete_icon.gif [new file with mode: 0644]
images/delete_icon_large.gif [new file with mode: 0644]
images/favicon.ico [new file with mode: 0644]
images/graph_page_top.gif [new file with mode: 0644]
images/graph_properties.gif [new file with mode: 0644]
images/graph_query.png [new file with mode: 0644]
images/graph_zoom.gif [new file with mode: 0644]
images/hide.gif [new file with mode: 0644]
images/left_border.gif [new file with mode: 0644]
images/menu_line.gif [new file with mode: 0644]
images/menuarrow.gif [new file with mode: 0644]
images/move_down.gif [new file with mode: 0644]
images/move_left.gif [new file with mode: 0644]
images/move_right.gif [new file with mode: 0644]
images/move_up.gif [new file with mode: 0644]
images/reload_icon_small.gif [new file with mode: 0644]
images/shadow.gif [new file with mode: 0644]
images/shadow_gray.gif [new file with mode: 0644]
images/show.gif [new file with mode: 0644]
images/tab_cacti.gif [new file with mode: 0644]
images/tab_console.gif [new file with mode: 0644]
images/tab_console_down.gif [new file with mode: 0644]
images/tab_graphs.gif [new file with mode: 0644]
images/tab_graphs_down.gif [new file with mode: 0644]
images/tab_mode_list.gif [new file with mode: 0644]
images/tab_mode_list_down.gif [new file with mode: 0644]
images/tab_mode_preview.gif [new file with mode: 0644]
images/tab_mode_preview_down.gif [new file with mode: 0644]
images/tab_mode_tree.gif [new file with mode: 0644]
images/tab_mode_tree_down.gif [new file with mode: 0644]
images/tab_settings.gif [new file with mode: 0644]
images/tab_settings_down.gif [new file with mode: 0644]
images/transparent_line.gif [new file with mode: 0644]
include/auth.php [new file with mode: 0644]
include/bottom_footer.php [new file with mode: 0644]
include/config.php [new file with mode: 0644]
include/global.php [new file with mode: 0644]
include/global_arrays.php [new file with mode: 0644]
include/global_constants.php [new file with mode: 0644]
include/global_form.php [new file with mode: 0644]
include/global_settings.php [new file with mode: 0644]
include/jscalendar/calendar-setup.js [new file with mode: 0644]
include/jscalendar/calendar.js [new file with mode: 0644]
include/jscalendar/lang/calendar-af.js [new file with mode: 0644]
include/jscalendar/lang/calendar-al.js [new file with mode: 0644]
include/jscalendar/lang/calendar-bg.js [new file with mode: 0644]
include/jscalendar/lang/calendar-big5-utf8.js [new file with mode: 0644]
include/jscalendar/lang/calendar-big5.js [new file with mode: 0644]
include/jscalendar/lang/calendar-br.js [new file with mode: 0644]
include/jscalendar/lang/calendar-ca.js [new file with mode: 0644]
include/jscalendar/lang/calendar-cs-utf8.js [new file with mode: 0644]
include/jscalendar/lang/calendar-cs-win.js [new file with mode: 0644]
include/jscalendar/lang/calendar-da.js [new file with mode: 0644]
include/jscalendar/lang/calendar-de.js [new file with mode: 0644]
include/jscalendar/lang/calendar-du.js [new file with mode: 0644]
include/jscalendar/lang/calendar-el.js [new file with mode: 0644]
include/jscalendar/lang/calendar-en.js [new file with mode: 0644]
include/jscalendar/lang/calendar-es.js [new file with mode: 0644]
include/jscalendar/lang/calendar-fi.js [new file with mode: 0644]
include/jscalendar/lang/calendar-fr.js [new file with mode: 0644]
include/jscalendar/lang/calendar-he-utf8.js [new file with mode: 0644]
include/jscalendar/lang/calendar-hr-utf8.js [new file with mode: 0644]
include/jscalendar/lang/calendar-hr.js [new file with mode: 0644]
include/jscalendar/lang/calendar-hu.js [new file with mode: 0644]
include/jscalendar/lang/calendar-it.js [new file with mode: 0644]
include/jscalendar/lang/calendar-jp.js [new file with mode: 0644]
include/jscalendar/lang/calendar-ko-utf8.js [new file with mode: 0644]
include/jscalendar/lang/calendar-ko.js [new file with mode: 0644]
include/jscalendar/lang/calendar-lt-utf8.js [new file with mode: 0644]
include/jscalendar/lang/calendar-lt.js [new file with mode: 0644]
include/jscalendar/lang/calendar-lv.js [new file with mode: 0644]
include/jscalendar/lang/calendar-nl.js [new file with mode: 0644]
include/jscalendar/lang/calendar-no.js [new file with mode: 0644]
include/jscalendar/lang/calendar-pl-utf8.js [new file with mode: 0644]
include/jscalendar/lang/calendar-pl.js [new file with mode: 0644]
include/jscalendar/lang/calendar-pt.js [new file with mode: 0644]
include/jscalendar/lang/calendar-ro.js [new file with mode: 0644]
include/jscalendar/lang/calendar-ru.js [new file with mode: 0644]
include/jscalendar/lang/calendar-ru_win_.js [new file with mode: 0644]
include/jscalendar/lang/calendar-si.js [new file with mode: 0644]
include/jscalendar/lang/calendar-sk.js [new file with mode: 0644]
include/jscalendar/lang/calendar-sp.js [new file with mode: 0644]
include/jscalendar/lang/calendar-sv.js [new file with mode: 0644]
include/jscalendar/lang/calendar-tr.js [new file with mode: 0644]
include/jscalendar/lang/calendar-zh.js [new file with mode: 0644]
include/jscalendar/lang/cn_utf8.js [new file with mode: 0644]
include/layout.js [new file with mode: 0644]
include/main.css [new file with mode: 0644]
include/top_graph_header.php [new file with mode: 0644]
include/top_header.php [new file with mode: 0644]
include/treeview/ftiens4.js [new file with mode: 0644]
include/treeview/ftiens4_export.js [new file with mode: 0644]
include/treeview/ftv2blank.gif [new file with mode: 0644]
include/treeview/ftv2lastnode.gif [new file with mode: 0644]
include/treeview/ftv2mlastnode.gif [new file with mode: 0644]
include/treeview/ftv2mnode.gif [new file with mode: 0644]
include/treeview/ftv2node.gif [new file with mode: 0644]
include/treeview/ftv2plastnode.gif [new file with mode: 0644]
include/treeview/ftv2pnode.gif [new file with mode: 0644]
include/treeview/ftv2vertline.gif [new file with mode: 0644]
include/treeview/ua.js [new file with mode: 0644]
include/zoom.js [new file with mode: 0644]
index.php [new file with mode: 0644]
install/0_8_1_to_0_8_2.php [new file with mode: 0644]
install/0_8_2_to_0_8_2a.php [new file with mode: 0644]
install/0_8_2a_to_0_8_3.php [new file with mode: 0644]
install/0_8_3_to_0_8_4.php [new file with mode: 0644]
install/0_8_4_to_0_8_5.php [new file with mode: 0644]
install/0_8_5a_to_0_8_6.php [new file with mode: 0644]
install/0_8_6_to_0_8_6a.php [new file with mode: 0644]
install/0_8_6c_to_0_8_6d.php [new file with mode: 0644]
install/0_8_6d_to_0_8_6e.php [new file with mode: 0644]
install/0_8_6f_to_0_8_6g.php [new file with mode: 0644]
install/0_8_6g_to_0_8_6h.php [new file with mode: 0644]
install/0_8_6h_to_0_8_6i.php [new file with mode: 0644]
install/0_8_6j_to_0_8_7.php [new file with mode: 0644]
install/0_8_7_to_0_8_7a.php [new file with mode: 0644]
install/0_8_7a_to_0_8_7b.php [new file with mode: 0644]
install/0_8_7b_to_0_8_7c.php [new file with mode: 0644]
install/0_8_7c_to_0_8_7d.php [new file with mode: 0644]
install/0_8_7d_to_0_8_7e.php [new file with mode: 0644]
install/0_8_7e_to_0_8_7f.php [new file with mode: 0644]
install/0_8_7f_to_0_8_7g.php [new file with mode: 0644]
install/0_8_to_0_8_1.php [new file with mode: 0644]
install/index.php [new file with mode: 0644]
install/install_finish.gif [new file with mode: 0644]
install/install_next.gif [new file with mode: 0644]
lib/adodb/adodb-csvlib.inc.php [new file with mode: 0644]
lib/adodb/adodb-datadict.inc.php [new file with mode: 0644]
lib/adodb/adodb-error.inc.php [new file with mode: 0644]
lib/adodb/adodb-errorhandler.inc.php [new file with mode: 0644]
lib/adodb/adodb-errorpear.inc.php [new file with mode: 0644]
lib/adodb/adodb-exceptions.inc.php [new file with mode: 0644]
lib/adodb/adodb-iterator.inc.php [new file with mode: 0644]
lib/adodb/adodb-lib.inc.php [new file with mode: 0644]
lib/adodb/adodb-pear.inc.php [new file with mode: 0644]
lib/adodb/adodb-perf.inc.php [new file with mode: 0644]
lib/adodb/adodb-php4.inc.php [new file with mode: 0644]
lib/adodb/adodb-time.inc.php [new file with mode: 0644]
lib/adodb/adodb-xmlschema.inc.php [new file with mode: 0644]
lib/adodb/adodb.inc.php [new file with mode: 0644]
lib/adodb/datadict/datadict-access.inc.php [new file with mode: 0644]
lib/adodb/datadict/datadict-db2.inc.php [new file with mode: 0644]
lib/adodb/datadict/datadict-firebird.inc.php [new file with mode: 0644]
lib/adodb/datadict/datadict-generic.inc.php [new file with mode: 0644]
lib/adodb/datadict/datadict-ibase.inc.php [new file with mode: 0644]
lib/adodb/datadict/datadict-informix.inc.php [new file with mode: 0644]
lib/adodb/datadict/datadict-mssql.inc.php [new file with mode: 0644]
lib/adodb/datadict/datadict-mysql.inc.php [new file with mode: 0644]
lib/adodb/datadict/datadict-oci8.inc.php [new file with mode: 0644]
lib/adodb/datadict/datadict-postgres.inc.php [new file with mode: 0644]
lib/adodb/datadict/datadict-sapdb.inc.php [new file with mode: 0644]
lib/adodb/datadict/datadict-sybase.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-access.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-ado.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-ado5.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-ado_access.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-ado_mssql.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-borland_ibase.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-csv.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-db2.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-fbsql.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-firebird.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-ibase.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-informix.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-informix72.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-ldap.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-mssql.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-mssqlpo.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-mysql.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-mysqli.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-mysqlt.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-netezza.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-oci8.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-oci805.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-oci8po.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-odbc.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-odbc_mssql.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-odbc_oracle.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-odbtp.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-odbtp_unicode.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-oracle.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-pdo.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-postgres.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-postgres64.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-postgres7.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-proxy.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-sapdb.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-sqlanywhere.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-sqlite.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-sqlitepo.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-sybase.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-vfp.inc.php [new file with mode: 0644]
lib/adodb/lang/adodb-ar.inc.php [new file with mode: 0644]
lib/adodb/lang/adodb-bg.inc.php [new file with mode: 0644]
lib/adodb/lang/adodb-bgutf8.inc.php [new file with mode: 0644]
lib/adodb/lang/adodb-ca.inc.php [new file with mode: 0644]
lib/adodb/lang/adodb-cn.inc.php [new file with mode: 0644]
lib/adodb/lang/adodb-cz.inc.php [new file with mode: 0644]
lib/adodb/lang/adodb-de.inc.php [new file with mode: 0644]
lib/adodb/lang/adodb-en.inc.php [new file with mode: 0644]
lib/adodb/lang/adodb-es.inc.php [new file with mode: 0644]
lib/adodb/lang/adodb-fr.inc.php [new file with mode: 0644]
lib/adodb/lang/adodb-hu.inc.php [new file with mode: 0644]
lib/adodb/lang/adodb-it.inc.php [new file with mode: 0644]
lib/adodb/lang/adodb-nl.inc.php [new file with mode: 0644]
lib/adodb/lang/adodb-pl.inc.php [new file with mode: 0644]
lib/adodb/lang/adodb-pt-br.inc.php [new file with mode: 0644]
lib/adodb/lang/adodb-ro.inc.php [new file with mode: 0644]
lib/adodb/lang/adodb-ru1251.inc.php [new file with mode: 0644]
lib/adodb/lang/adodb-sv.inc.php [new file with mode: 0644]
lib/adodb/license.txt [new file with mode: 0644]
lib/adodb/toexport.inc.php [new file with mode: 0644]
lib/adodb/tohtml.inc.php [new file with mode: 0644]
lib/api_automation_tools.php [new file with mode: 0644]
lib/api_data_source.php [new file with mode: 0644]
lib/api_device.php [new file with mode: 0644]
lib/api_graph.php [new file with mode: 0644]
lib/api_poller.php [new file with mode: 0644]
lib/api_tree.php [new file with mode: 0644]
lib/auth.php [new file with mode: 0644]
lib/cdef.php [new file with mode: 0644]
lib/data_query.php [new file with mode: 0644]
lib/database.php [new file with mode: 0644]
lib/export.php [new file with mode: 0644]
lib/functions.php [new file with mode: 0644]
lib/graph_export.php [new file with mode: 0644]
lib/graph_variables.php [new file with mode: 0644]
lib/html.php [new file with mode: 0644]
lib/html_form.php [new file with mode: 0644]
lib/html_form_template.php [new file with mode: 0644]
lib/html_tree.php [new file with mode: 0644]
lib/html_utility.php [new file with mode: 0644]
lib/html_validate.php [new file with mode: 0644]
lib/import.php [new file with mode: 0644]
lib/ldap.php [new file with mode: 0644]
lib/ping.php [new file with mode: 0644]
lib/poller.php [new file with mode: 0644]
lib/rrd.php [new file with mode: 0644]
lib/snmp.php [new file with mode: 0644]
lib/sort.php [new file with mode: 0644]
lib/template.php [new file with mode: 0644]
lib/time.php [new file with mode: 0644]
lib/timespan_settings.php [new file with mode: 0644]
lib/tree.php [new file with mode: 0644]
lib/utility.php [new file with mode: 0644]
lib/variables.php [new file with mode: 0644]
lib/xml.php [new file with mode: 0644]
log/.htaccess [new file with mode: 0644]
log/cacti.log [new file with mode: 0644]
logout.php [new file with mode: 0644]
poller.php [new file with mode: 0644]
poller_commands.php [new file with mode: 0644]
poller_export.php [new file with mode: 0644]
resource/script_queries/host_cpu.xml [new file with mode: 0644]
resource/script_queries/host_disk.xml [new file with mode: 0644]
resource/script_queries/unix_disk.xml [new file with mode: 0644]
resource/script_server/host_cpu.xml [new file with mode: 0644]
resource/script_server/host_disk.xml [new file with mode: 0644]
resource/snmp_queries/host_disk.xml [new file with mode: 0644]
resource/snmp_queries/interface.xml [new file with mode: 0644]
resource/snmp_queries/kbridge.xml [new file with mode: 0644]
resource/snmp_queries/net-snmp_disk.xml [new file with mode: 0644]
resource/snmp_queries/netware_cpu.xml [new file with mode: 0644]
resource/snmp_queries/netware_disk.xml [new file with mode: 0644]
rra.php [new file with mode: 0644]
rra/.htaccess [new file with mode: 0644]
script_server.php [new file with mode: 0644]
script_server.pl [new file with mode: 0644]
scripts/3com_cable_modem.pl [new file with mode: 0644]
scripts/diskfree.pl [new file with mode: 0644]
scripts/diskfree.sh [new file with mode: 0644]
scripts/linux_memory.pl [new file with mode: 0644]
scripts/loadavg.pl [new file with mode: 0644]
scripts/loadavg_multi.pl [new file with mode: 0644]
scripts/ping.pl [new file with mode: 0644]
scripts/query_host_cpu.php [new file with mode: 0644]
scripts/query_host_partitions.php [new file with mode: 0644]
scripts/query_unix_partitions.pl [new file with mode: 0644]
scripts/sql.php [new file with mode: 0644]
scripts/ss_fping.php [new file with mode: 0644]
scripts/ss_host_cpu.php [new file with mode: 0644]
scripts/ss_host_disk.php [new file with mode: 0644]
scripts/ss_sql.php [new file with mode: 0644]
scripts/unix_processes.pl [new file with mode: 0644]
scripts/unix_tcp_connections.pl [new file with mode: 0644]
scripts/unix_users.pl [new file with mode: 0644]
scripts/weatherbug.pl [new file with mode: 0644]
scripts/webhits.pl [new file with mode: 0644]
settings.php [new file with mode: 0644]
templates_export.php [new file with mode: 0644]
templates_import.php [new file with mode: 0644]
tree.php [new file with mode: 0644]
user_admin.php [new file with mode: 0644]
utilities.php [new file with mode: 0644]

diff --git a/LICENSE b/LICENSE
new file mode 100644 (file)
index 0000000..589ce5b
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,280 @@
+                   GNU GENERAL PUBLIC LICENSE
+                      Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                           Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                   GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                           NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                    END OF TERMS AND CONDITIONS
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..5a7a641
--- /dev/null
+++ b/README
@@ -0,0 +1 @@
+Please view "docs/README" for more information.
diff --git a/about.php b/about.php
new file mode 100644 (file)
index 0000000..fe28acd
--- /dev/null
+++ b/about.php
@@ -0,0 +1,107 @@
+<?php
+/*
+ +-------------------------------------------------------------------------+
+ | Copyright (C) 2004-2010 The Cacti Group                                 |
+ |                                                                         |
+ | This program is free software; you can redistribute it and/or           |
+ | modify it under the terms of the GNU General Public License             |
+ | as published by the Free Software Foundation; either version 2          |
+ | of the License, or (at your option) any later version.                  |
+ |                                                                         |
+ | This program is distributed in the hope that it will be useful,         |
+ | but WITHOUT ANY WARRANTY; without even the implied warranty of          |
+ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           |
+ | GNU General Public License for more details.                            |
+ +-------------------------------------------------------------------------+
+ | Cacti: The Complete RRDTool-based Graphing Solution                     |
+ +-------------------------------------------------------------------------+
+ | This code is designed, written, and maintained by the Cacti Group. See  |
+ | about.php and/or the AUTHORS file for specific developer information.   |
+ +-------------------------------------------------------------------------+
+ | http://www.cacti.net/                                                   |
+ +-------------------------------------------------------------------------+
+*/
+
+include("./include/auth.php");
+include("./include/top_header.php");
+
+html_start_box("<strong>About Cacti</strong>", "100%", $colors["header"], "3", "center", "");
+?>
+
+<tr>
+       <td bgcolor="#<?php print $colors["header_panel"];?>" colspan="2">
+               <strong><font color="#<?php print $colors["header_text"];?>">Version <?php print $config["cacti_version"];?></font></strong>
+       </td>
+</tr>
+<tr>
+       <td valign="top" bgcolor="#<?php print $colors["light"];?>" class="textArea">
+               <a href="http://www.cacti.net/"><img align="right" src="images/cacti_about_logo.gif" border="0" alt="raXnet"></a>
+
+               Cacti is designed to be a complete graphing solution based on the RRDTool's framework. Its goal is to make a
+               network administrator's job easier by taking care of all the necessary details necessary to create
+               meaningful graphs.
+
+               <p>Please see the <a href="http://www.cacti.net/">official Cacti website</a> for information, support, and updates.</p>
+
+               <p><strong>Current Cacti Developers</strong><br>
+               <ul type="disc">
+                       <li><strong>Ian Berry</strong> (raX) is original creator of Cacti which was first released to the world in 2001. He remained the sole
+                               developer for over two years, writing code, supporting users, and keeping the project active. Today, Ian continues
+                               to actively develop Cacti, focusing on backend components such as templates, data queries, and graph management.</li>
+                       <li><strong>Larry Adams</strong> (TheWitness) joined the Cacti Group in June of 2004 right before the major 0.8.6 release. He helped bring the new poller
+                               architecture to life by providing ideas, writing code, and managing an active group of beta testers. Larry continues
+                               to focus on the poller as well as RRDTool integration and SNMP in a Windows environment.</li>
+                       <li><strong>Tony Roman</strong> (rony) joined the Cacti Group in October of 2004 offering years of programming and system administration
+                               experience to the project.</li>
+                       <li><strong>J.P. Pasnak, CD</strong> (Linegod) joined the Cacti Group in August of 2005.  He is contributing to releases and maintains the <a href="http://docs.cacti.net/">Documentation System</a>.
+                       </li>
+                       <li><strong>Jimmy Conner</strong> (cigamit) joined the Cacti Group in January of 2006.  He is currently in charge of the Plug-in Architecture, the new events system and maintaining many of the popular plugins.
+                       </li>
+                       <li><strong>Reinhard Scheck</strong> (gandalf) joined the Cacti team in June of 2007.  Reinhard is focusing on howto's and graph presentation as well as being the 'European Arm' of the Cacti Group.
+                       </li>
+               </ul>
+               </p>
+
+               <p><strong>Thanks</a></strong><br>
+               <ul type="disc">
+                       <li>A very special thanks to <a href="http://tobi.oetiker.ch/"><strong>Tobi Oetiker</strong></a>,
+                               the creator of <a href="http://www.rrdtool.org/">RRDTool</a> and the very popular
+                               <a href="http://www.rrdtool.org">MRTG</a>.</li>
+                       <li><strong>Brady Alleman</strong>, creator of NetMRG and
+                               <a href="http://www.thtech.net">Treehouse Technologies</a> for questions and ideas. Just
+                               as a note, NetMRG is a complete Network Monitoring solution also written in PHP/MySQL. His
+                               product also makes use of RRDTool's graphing capabilities, I encourage you to check it out.</li>
+                       <li><strong>Andy Blyler</strong>, for ideas, code, and that much needed overall support
+                               during really lengthy coding sessions.</li>
+                       <li><strong>The users of Cacti</strong>! Especially anyone who has taken the time to create a bug report, or otherwise
+                               help fix a Cacti-related problem. Also to anyone who has purchased an item from a developers amazon.com
+                               wishlist or donated money to the project.</li>
+
+               </ul>
+               </p>
+
+               <p><strong>License</strong><br>
+
+               <p>Cacti is licensed under the GNU GPL:</p>
+
+               <p><tt>This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.</tt></p>
+
+<p><tt>This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.</tt></p>
+
+               <p><strong>Cacti Variables</a></strong><span style="font-family: monospace; font-size: 10px;"><br>
+               <strong>Operating System:</strong> <?php print $config["cacti_server_os"];?><br>
+               <strong>PHP SNMP Support:</strong> <?php print $config["php_snmp_support"] ? "yes" : "no";?><br>
+               </span></p>
+       </td>
+</tr>
+
+<?php
+html_end_box();
+include("./include/bottom_footer.php");
+?>
diff --git a/auth_changepassword.php b/auth_changepassword.php
new file mode 100644 (file)
index 0000000..dd2fe82
--- /dev/null
@@ -0,0 +1,133 @@
+<?php
+/*
+ +-------------------------------------------------------------------------+
+ | Copyright (C) 2004-2010 The Cacti Group                                 |
+ |                                                                         |
+ | This program is free software; you can redistribute it and/or           |
+ | modify it under the terms of the GNU General Public License             |
+ | as published by the Free Software Foundation; either version 2          |
+ | of the License, or (at your option) any later version.                  |
+ |                                                                         |
+ | This program is distributed in the hope that it will be useful,         |
+ | but WITHOUT ANY WARRANTY; without even the implied warranty of          |
+ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           |
+ | GNU General Public License for more details.                            |
+ +-------------------------------------------------------------------------+
+ | Cacti: The Complete RRDTool-based Graphing Solution                     |
+ +-------------------------------------------------------------------------+
+ | This code is designed, written, and maintained by the Cacti Group. See  |
+ | about.php and/or the AUTHORS file for specific developer information.   |
+ +-------------------------------------------------------------------------+
+ | http://www.cacti.net/                                                   |
+ +-------------------------------------------------------------------------+
+*/
+
+include("./include/global.php");
+
+/* find out if we are logged in as a 'guest user' or not, if we are redirect away from password change */
+if (db_fetch_cell("select id from user_auth where username='" . read_config_option("guest_user") . "'") == $_SESSION["sess_user_id"]) {
+       header("Location: index.php");
+}
+
+$user = db_fetch_row("select * from user_auth where id=" . $_SESSION["sess_user_id"]);
+
+/* default to !bad_password */
+$bad_password = false;
+
+/* set default action */
+if (!isset($_REQUEST["action"])) { $_REQUEST["action"] = ""; }
+
+switch ($_REQUEST["action"]) {
+case 'changepassword':
+       if (($_POST["password"] == $_POST["confirm"]) && ($_POST["password"] != "")) {
+               db_execute("insert into user_log (username,result,ip) values('" . $user["username"] . "',3,'" . $_SERVER["REMOTE_ADDR"] . "')");
+               db_execute("update user_auth set must_change_password='',password='" . md5($_POST["password"]) . "' where id=" . $_SESSION["sess_user_id"]);
+
+               kill_session_var("sess_change_password");
+
+               /* ok, at the point the user has been sucessfully authenticated; so we must
+               decide what to do next */
+
+               /* if no console permissions show graphs otherwise, pay attention to user setting */
+               $realm_id = $user_auth_realm_filenames["index.php"];
+
+               if (sizeof(db_fetch_assoc("select user_auth_realm.realm_id from user_auth_realm where user_auth_realm.user_id = '" . $_SESSION["sess_user_id"] . "' and user_auth_realm.realm_id = '" . $realm_id . "'")) > 0) {
+                       switch ($user["login_opts"]) {
+                               case '1': /* referer */
+                                       header("Location: " . $_POST["ref"]); break;
+                               case '2': /* default console page */
+                                       header("Location: index.php"); break;
+                               case '3': /* default graph page */
+                                       header("Location: graph_view.php"); break;
+                       }
+               }else{
+                       header("Location: graph_view.php");
+               }
+               exit;
+
+       }else{
+               $bad_password = true;
+       }
+
+       break;
+}
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+       <title>Login to cacti</title>
+       <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
+       <STYLE TYPE="text/css">
+       <!--
+               BODY, TABLE, TR, TD {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px;}
+               A {text-decoration: none;}
+               A:active { text-decoration: none;}
+               A:hover {text-decoration: underline; color: #333333;}
+               A:visited {color: Blue;}
+       -->
+       </style>
+</head>
+
+<body onload="document.login.password.focus()">
+
+<form name="login" method="post" action="<?php print basename($_SERVER["PHP_SELF"]);?>">
+
+<table align="center">
+       <tr>
+               <td colspan="2"><img src="images/auth_login.gif" border="0" alt=""></td>
+       </tr>
+       <?php if ($bad_password == true) {?>
+       <tr style="height:10px;"><td></td></tr>
+       <tr>
+               <td colspan="2"><font color="#FF0000"><strong>Your passwords do not match, please retype:</strong></font></td>
+       </tr>
+       <?php }?>
+       <tr style="height:10px;"><td></td></tr>
+       <tr>
+               <td colspan="2">
+                       <strong><font color="#FF0000">*** Forced Password Change ***</font></strong><br><br>
+                       Please enter a new password for cacti:
+               </td>
+       </tr>
+       <tr style="height:10px;"><td></td></tr>
+       <tr>
+               <td>Password:</td>
+               <td><input type="password" name="password" size="40"></td>
+       </tr>
+       <tr>
+               <td>Confirm:</td>
+               <td><input type="password" name="confirm" size="40"></td>
+       </tr>
+       <tr style="height:10px;"><td></td></tr>
+       <tr>
+               <td><input type="submit" value="Save"></td>
+       </tr>
+</table>
+
+<input type="hidden" name="action" value="changepassword">
+<input type="hidden" name="ref" value="<?php print $_REQUEST["ref"];?>">
+
+</form>
+
+</body>
+</html>
diff --git a/auth_login.php b/auth_login.php
new file mode 100644 (file)
index 0000000..567cfc0
--- /dev/null
@@ -0,0 +1,324 @@
+<?php
+/*
+ +-------------------------------------------------------------------------+
+ | Copyright (C) 2004-2010 The Cacti Group                                 |
+ |                                                                         |
+ | This program is free software; you can redistribute it and/or           |
+ | modify it under the terms of the GNU General Public License             |
+ | as published by the Free Software Foundation; either version 2          |
+ | of the License, or (at your option) any later version.                  |
+ |                                                                         |
+ | This program is distributed in the hope that it will be useful,         |
+ | but WITHOUT ANY WARRANTY; without even the implied warranty of          |
+ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           |
+ | GNU General Public License for more details.                            |
+ +-------------------------------------------------------------------------+
+ | Cacti: The Complete RRDTool-based Graphing Solution                     |
+ +-------------------------------------------------------------------------+
+ | This code is designed, written, and maintained by the Cacti Group. See  |
+ | about.php and/or the AUTHORS file for specific developer information.   |
+ +-------------------------------------------------------------------------+
+ | http://www.cacti.net/                                                   |
+ +-------------------------------------------------------------------------+
+*/
+
+/* set default action */
+if (isset($_REQUEST["action"])) {
+       $action = $_REQUEST["action"];
+}else{
+       $action = "";
+}
+
+/* Get the username */
+if (read_config_option("auth_method") == "2") {
+       /* Get the Web Basic Auth username and set action so we login right away */
+       $action = "login";
+       if (isset($_SERVER["PHP_AUTH_USER"])) {
+               $username = str_replace("\\", "\\\\", $_SERVER["PHP_AUTH_USER"]);
+       }elseif (isset($_SERVER["REMOTE_USER"])) {
+               $username = str_replace("\\", "\\\\", $_SERVER["REMOTE_USER"]);
+       }elseif (isset($_SERVER["REDIRECT_REMOTE_USER"])) {
+               $username = str_replace("\\", "\\\\", $_SERVER["REDIRECT_REMOTE_USER"]);
+       }else{
+               /* No user - Bad juju! */
+               $username = "";
+               cacti_log("ERROR: No username passed with Web Basic Authentication enabled.", false, "AUTH");
+               auth_display_custom_error_message("Web Basic Authentication configured, but no username was passed from the web server.  Please make sure you have authentication enabled on the web server.");
+               exit;
+       }
+}else{
+       if ($action == "login") {
+               /* LDAP and Builtin get username from Form */
+               $username = get_request_var_post("login_username");
+       }else{
+               $username = "";
+       }
+}
+
+$username = sanitize_search_string($username);
+
+/* process login */
+$copy_user = false;
+$user_auth = false;
+$user_enabled = 1;
+$ldap_error = false;
+$ldap_error_message = "";
+$realm = 0;
+if ($action == 'login') {
+       switch (read_config_option("auth_method")) {
+       case "0":
+               /* No auth, no action, also shouldn't get here */
+               exit;
+
+               break;
+       case "2":
+               /* Web Basic Auth */
+               $copy_user = true;
+               $user_auth = true;
+               $realm = 2;
+               /* Locate user in database */
+               $user = db_fetch_row("SELECT * FROM user_auth WHERE username = '" . $username . "' AND realm = 2");
+
+               break;
+       case "3":
+               /* LDAP Auth */
+               if ((get_request_var_post("realm") == "ldap") && (strlen(get_request_var_post("login_password")) > 0)) {
+                       /* include LDAP lib */
+                       include_once("./lib/ldap.php");
+
+                       /* get user DN */
+                       $ldap_dn_search_response = cacti_ldap_search_dn($username);
+                       if ($ldap_dn_search_response["error_num"] == "0") {
+                               $ldap_dn = $ldap_dn_search_response["dn"];
+                       }else{
+                               /* Error searching */
+                               cacti_log("LOGIN: LDAP Error: " . $ldap_dn_search_response["error_text"], false, "AUTH");
+                               $ldap_error = true;
+                               $ldap_error_message = "LDAP Search Error: " . $ldap_dn_search_response["error_text"];
+                               $user_auth = false;
+                               $user = array();
+                       }
+
+                       if (!$ldap_error) {
+                               /* auth user with LDAP */
+                               $ldap_auth_response = cacti_ldap_auth($username,stripslashes(get_request_var_post("login_password")),$ldap_dn);
+
+                               if ($ldap_auth_response["error_num"] == "0") {
+                                       /* User ok */
+                                       $user_auth = true;
+                                       $copy_user = true;
+                                       $realm = 1;
+                                       /* Locate user in database */
+                                       cacti_log("LOGIN: LDAP User '" . $username . "' Authenticated", false, "AUTH");
+                                       $user = db_fetch_row("SELECT * FROM user_auth WHERE username = '" . $username . "' AND realm = 1");
+                               }else{
+                                       /* error */
+                                       cacti_log("LOGIN: LDAP Error: " . $ldap_auth_response["error_text"], false, "AUTH");
+                                       $ldap_error = true;
+                                       $ldap_error_message = "LDAP Error: " . $ldap_auth_response["error_text"];
+                                       $user_auth = false;
+                                       $user = array();
+                               }
+                       }
+
+               }
+
+       default:
+               /* Builtin Auth */
+               if ((!$user_auth) && (!$ldap_error)) {
+                       /* if auth has not occured process for builtin - AKA Ldap fall through */
+                       $user = db_fetch_row("SELECT * FROM user_auth WHERE username = '" . $username . "' AND password = '" . md5(get_request_var_post("login_password")) . "' AND realm = 0");
+               }
+       }
+       /* end of switch */
+
+       /* Create user from template if requested */
+       if ((!sizeof($user)) && ($copy_user) && (read_config_option("user_template") != "0") && (strlen($username) > 0)) {
+               cacti_log("WARN: User '" . $username . "' does not exist, copying template user", false, "AUTH");
+               /* check that template user exists */
+               if (db_fetch_row("SELECT id FROM user_auth WHERE username = '" . read_config_option("user_template") . "' AND realm = 0")) {
+                       /* template user found */
+                       user_copy(read_config_option("user_template"), $username, 0, $realm);
+                       /* requery newly created user */
+                       $user = db_fetch_row("SELECT * FROM user_auth WHERE username = '" . $username . "' AND realm = " . $realm);
+               }else{
+                       /* error */
+                       cacti_log("LOGIN: Template user '" . read_config_option("user_template") . "' does not exist.", false, "AUTH");
+                       auth_display_custom_error_message("Template user '" . read_config_option("user_template") . "' does not exist.");
+                       exit;
+               }
+       }
+
+       /* Guest account checking - Not for builtin */
+       $guest_user = false;
+       if ((sizeof($user) < 1) && ($user_auth) && (read_config_option("guest_user") != "0")) {
+               /* Locate guest user record */
+               $user = db_fetch_row("SELECT * FROM user_auth WHERE username = '" . read_config_option("guest_user") . "'");
+               if ($user) {
+                       cacti_log("LOGIN: Authenicated user '" . $username . "' using guest account '" . $user["username"] . "'", false, "AUTH");
+                       $guest_user = true;
+               }else{
+                       /* error */
+                       auth_display_custom_error_message("Guest user \"" . read_config_option("guest_user") . "\" does not exist.");
+                       cacti_log("LOGIN: Unable to locate guest user '" . read_config_option("guest_user") . "'", false, "AUTH");
+                       exit;
+               }
+       }
+
+       /* Process the user  */
+       if (sizeof($user) > 0) {
+               cacti_log("LOGIN: User '" . $user["username"] . "' Authenticated", false, "AUTH");
+               db_execute("INSERT INTO user_log (username,user_id,result,ip,time) VALUES ('" . $username ."'," . $user["id"] . ",1,'" . $_SERVER["REMOTE_ADDR"] . "',NOW())");
+               /* is user enabled */
+               $user_enabled = $user["enabled"];
+               if ($user_enabled != "on") {
+                       /* Display error */
+                       auth_display_custom_error_message("Access Denied, user account disabled.");
+                       exit;
+               }
+
+               /* set the php session */
+               $_SESSION["sess_user_id"] = $user["id"];
+
+               /* handle "force change password" */
+               if (($user["must_change_password"] == "on") && (read_config_option("auth_method") == 1)) {
+                       $_SESSION["sess_change_password"] = true;
+               }
+
+               /* ok, at the point the user has been sucessfully authenticated; so we must
+               decide what to do next */
+               switch ($user["login_opts"]) {
+                       case '1': /* referer */
+                               if (sizeof(db_fetch_assoc("SELECT realm_id FROM user_auth_realm WHERE realm_id = 8 AND user_id = " . $_SESSION["sess_user_id"])) == 0) {
+                                       header("Location: graph_view.php");
+                               }else{
+                                       if (isset($_SERVER["HTTP_REFERER"])) {
+                                               $referer = $_SERVER["HTTP_REFERER"];
+                                               if (basename($referer) == "logout.php") {
+                                                       $referer = "index.php";
+                                               }
+                                       } else if (isset($_SERVER["REQUEST_URI"])) {
+                                               $referer = $_SERVER["REQUEST_URI"];
+                                               if (basename($referer) == "logout.php") {
+                                                       $referer = "index.php";
+                                               }
+                                       } else {
+                                               $referer = "index.php";
+                                       }
+                                       header("Location: " . $referer);
+                               }
+                               break;
+                       case '2': /* default console page */
+                               header("Location: index.php"); break;
+                       case '3': /* default graph page */
+                               header("Location: graph_view.php"); break;
+               }
+               exit;
+       }else{
+               if ((!$guest_user) && ($user_auth)) {
+                       /* No guest account defined */
+                       auth_display_custom_error_message("Access Denied, please contact you Cacti Administrator.");
+                       cacti_log("LOGIN: Access Denied, No guest enabled or template user to copy", false, "AUTH");
+                       exit;
+               }else{
+                       /* BAD username/password builtin and LDAP */
+                       db_execute("INSERT INTO user_log (username,user_id,result,ip,time) VALUES ('" . $username . "',0,0,'" . $_SERVER["REMOTE_ADDR"] . "',NOW())");
+               }
+       }
+}
+
+/* auth_display_custom_error_message - displays a custom error message to the browser that looks like
+     the pre-defined error messages
+   @arg $message - the actual text of the error message to display */
+function auth_display_custom_error_message($message) {
+       /* kill the session */
+       setcookie(session_name(),"",time() - 3600,"/");
+       /* print error */
+       print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">";
+       print "<html>\n<head>\n";
+       print "     <title>" . "Cacti" . "</title>\n";
+       print "     <meta http-equiv='Content-Type' content='text/html;charset=utf-8'>";
+       print "     <link href=\"include/main.css\" type=\"text/css\" rel=\"stylesheet\">";
+       print "</head>\n";
+       print "<body>\n<br><br>\n";
+       display_custom_error_message($message);
+       print "</body>\n</html>\n";
+}
+
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+       <title>Login to Cacti</title>
+       <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
+       <STYLE TYPE="text/css">
+       <!--
+               BODY, TABLE, TR, TD {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px;}
+               A {text-decoration: none;}
+               A:active { text-decoration: none;}
+               A:hover {text-decoration: underline; color: #333333;}
+               A:visited {color: Blue;}
+       -->
+       </style>
+</head>
+<body bgcolor="#FFFFFF" onload="document.login.login_username.focus()">
+       <form name="login" method="post" action="<?php print basename($_SERVER["PHP_SELF"]);?>">
+       <input type="hidden" name="action" value="login">
+       <table align="center">
+               <tr>
+                       <td colspan="2"><img src="images/auth_login.gif" border="0" alt=""></td>
+               </tr>
+               <?php
+
+               if ($ldap_error) {?>
+               <tr style="height:10px;"><td></td></tr>
+               <tr>
+                       <td colspan="2"><font color="#FF0000"><strong><?php print $ldap_error_message; ?></strong></font></td>
+               </tr>
+               <?php }else{
+               if ($action == "login") {?>
+               <tr style="height:10px;"><td></td></tr>
+               <tr>
+                       <td colspan="2"><font color="#FF0000"><strong>Invalid User Name/Password Please Retype</strong></font></td>
+               </tr>
+               <?php }
+               if ($user_enabled == "0") {?>
+               <tr style="height:10px;"><td></td></tr>
+               <tr>
+                       <td colspan="2"><font color="#FF0000"><strong>User Account Disabled</strong></font></td>
+               </tr>
+               <?php } } ?>
+
+               <tr style="height:10px;"><td></td></tr>
+               <tr>
+                       <td colspan="2">Please enter your Cacti user name and password below:</td>
+               </tr>
+               <tr style="height:10px;"><td></td></tr>
+               <tr>
+                       <td>User Name:</td>
+                       <td><input type="text" name="login_username" size="40" style="width: 295px;" value="<?php print htmlspecialchars($username); ?>"></td>
+               </tr>
+               <tr>
+                       <td>Password:</td>
+                       <td><input type="password" name="login_password" size="40" style="width: 295px;"></td>
+               </tr>
+               <?php
+               if (read_config_option("auth_method") == "3") {?>
+               <tr>
+                       <td>Realm:</td>
+                       <td>
+                               <select name="realm" style="width: 295px;">
+                                       <option value="local">Local</option>
+                                       <option value="ldap" selected>LDAP</option>
+                               </select>
+                       </td>
+                       </tr>
+               <?php }?>
+               <tr style="height:10px;"><td></td></tr>
+               <tr>
+                       <td><input type="submit" value="Login"></td>
+               </tr>
+       </table>
+       </form>
+</body>
+</html>
diff --git a/cacti.sql b/cacti.sql
new file mode 100644 (file)
index 0000000..bd8dfa6
--- /dev/null
+++ b/cacti.sql
@@ -0,0 +1,2641 @@
+--
+-- Table structure for table `cdef`
+--
+
+CREATE TABLE cdef (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  hash varchar(32) NOT NULL default '',
+  name varchar(255) NOT NULL default '',
+  PRIMARY KEY  (id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `cdef`
+--
+
+INSERT INTO cdef VALUES (3,'3d352eed9fa8f7b2791205b3273708c7','Make Stack Negative');
+INSERT INTO cdef VALUES (4,'e961cc8ec04fda6ed4981cf5ad501aa5','Make Per 5 Minutes');
+INSERT INTO cdef VALUES (12,'f1ac79f05f255c02f914c920f1038c54','Total All Data Sources');
+INSERT INTO cdef VALUES (2,'73f95f8b77b5508157d64047342c421e','Turn Bytes into Bits');
+INSERT INTO cdef VALUES (14,'634a23af5e78af0964e8d33b1a4ed26b','Multiply by 1024');
+INSERT INTO cdef VALUES (15,'068984b5ccdfd2048869efae5166f722','Total All Data Sources, Multiply by 1024');
+
+--
+-- Table structure for table `cdef_items`
+--
+
+CREATE TABLE cdef_items (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  hash varchar(32) NOT NULL default '',
+  cdef_id mediumint(8) unsigned NOT NULL default '0',
+  sequence mediumint(8) unsigned NOT NULL default '0',
+  type tinyint(2) NOT NULL default '0',
+  value varchar(150) NOT NULL default '',
+  PRIMARY KEY  (id),
+  KEY cdef_id (cdef_id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `cdef_items`
+--
+
+INSERT INTO cdef_items VALUES (7,'9bbf6b792507bb9bb17d2af0970f9be9',2,1,4,'CURRENT_DATA_SOURCE');
+INSERT INTO cdef_items VALUES (9,'a4b8eb2c3bf4920a3ef571a7a004be53',2,2,6,'8');
+INSERT INTO cdef_items VALUES (8,'caa4e023ac2d7b1c4b4c8c4adfd55dfe',2,3,2,'3');
+INSERT INTO cdef_items VALUES (10,'c888c9fe6b62c26c4bfe23e18991731d',3,1,4,'CURRENT_DATA_SOURCE');
+INSERT INTO cdef_items VALUES (11,'1e1d0b29a94e08b648c8f053715442a0',3,3,2,'3');
+INSERT INTO cdef_items VALUES (12,'4355c197998c7f8b285be7821ddc6da4',3,2,6,'-1');
+INSERT INTO cdef_items VALUES (13,'40bb7a1143b0f2e2efca14eb356236de',4,1,4,'CURRENT_DATA_SOURCE');
+INSERT INTO cdef_items VALUES (14,'42686ea0925c0220924b7d333599cd67',4,3,2,'3');
+INSERT INTO cdef_items VALUES (15,'faf1b148b2c0e0527362ed5b8ca1d351',4,2,6,'300');
+INSERT INTO cdef_items VALUES (16,'0ef6b8a42dc83b4e43e437960fccd2ea',12,1,4,'ALL_DATA_SOURCES_NODUPS');
+INSERT INTO cdef_items VALUES (18,'86370cfa0008fe8c56b28be80ee39a40',14,1,4,'CURRENT_DATA_SOURCE');
+INSERT INTO cdef_items VALUES (19,'9a35cc60d47691af37f6fddf02064e20',14,2,6,'1024');
+INSERT INTO cdef_items VALUES (20,'5d7a7941ec0440b257e5598a27dd1688',14,3,2,'3');
+INSERT INTO cdef_items VALUES (21,'44fd595c60539ff0f5817731d9f43a85',15,1,4,'ALL_DATA_SOURCES_NODUPS');
+INSERT INTO cdef_items VALUES (22,'aa38be265e5ac31783e57ce6f9314e9a',15,2,6,'1024');
+INSERT INTO cdef_items VALUES (23,'204423d4b2598f1f7252eea19458345c',15,3,2,'3');
+
+--
+-- Table structure for table `colors`
+--
+
+CREATE TABLE colors (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  hex varchar(6) NOT NULL default '',
+  PRIMARY KEY  (id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `colors`
+--
+
+INSERT INTO colors VALUES (1,'000000');
+INSERT INTO colors VALUES (2,'FFFFFF');
+INSERT INTO colors VALUES (4,'FAFD9E');
+INSERT INTO colors VALUES (5,'C0C0C0');
+INSERT INTO colors VALUES (6,'74C366');
+INSERT INTO colors VALUES (7,'6DC8FE');
+INSERT INTO colors VALUES (8,'EA8F00');
+INSERT INTO colors VALUES (9,'FF0000');
+INSERT INTO colors VALUES (10,'4444FF');
+INSERT INTO colors VALUES (11,'FF00FF');
+INSERT INTO colors VALUES (12,'00FF00');
+INSERT INTO colors VALUES (13,'8D85F3');
+INSERT INTO colors VALUES (14,'AD3B6E');
+INSERT INTO colors VALUES (15,'EACC00');
+INSERT INTO colors VALUES (16,'12B3B5');
+INSERT INTO colors VALUES (17,'157419');
+INSERT INTO colors VALUES (18,'C4FD3D');
+INSERT INTO colors VALUES (19,'817C4E');
+INSERT INTO colors VALUES (20,'002A97');
+INSERT INTO colors VALUES (21,'0000FF');
+INSERT INTO colors VALUES (22,'00CF00');
+INSERT INTO colors VALUES (24,'F9FD5F');
+INSERT INTO colors VALUES (25,'FFF200');
+INSERT INTO colors VALUES (26,'CCBB00');
+INSERT INTO colors VALUES (27,'837C04');
+INSERT INTO colors VALUES (28,'EAAF00');
+INSERT INTO colors VALUES (29,'FFD660');
+INSERT INTO colors VALUES (30,'FFC73B');
+INSERT INTO colors VALUES (31,'FFAB00');
+INSERT INTO colors VALUES (33,'FF7D00');
+INSERT INTO colors VALUES (34,'ED7600');
+INSERT INTO colors VALUES (35,'FF5700');
+INSERT INTO colors VALUES (36,'EE5019');
+INSERT INTO colors VALUES (37,'B1441E');
+INSERT INTO colors VALUES (38,'FFC3C0');
+INSERT INTO colors VALUES (39,'FF897C');
+INSERT INTO colors VALUES (40,'FF6044');
+INSERT INTO colors VALUES (41,'FF4105');
+INSERT INTO colors VALUES (42,'DA4725');
+INSERT INTO colors VALUES (43,'942D0C');
+INSERT INTO colors VALUES (44,'FF3932');
+INSERT INTO colors VALUES (45,'862F2F');
+INSERT INTO colors VALUES (46,'FF5576');
+INSERT INTO colors VALUES (47,'562B29');
+INSERT INTO colors VALUES (48,'F51D30');
+INSERT INTO colors VALUES (49,'DE0056');
+INSERT INTO colors VALUES (50,'ED5394');
+INSERT INTO colors VALUES (51,'B90054');
+INSERT INTO colors VALUES (52,'8F005C');
+INSERT INTO colors VALUES (53,'F24AC8');
+INSERT INTO colors VALUES (54,'E8CDEF');
+INSERT INTO colors VALUES (55,'D8ACE0');
+INSERT INTO colors VALUES (56,'A150AA');
+INSERT INTO colors VALUES (57,'750F7D');
+INSERT INTO colors VALUES (58,'8D00BA');
+INSERT INTO colors VALUES (59,'623465');
+INSERT INTO colors VALUES (60,'55009D');
+INSERT INTO colors VALUES (61,'3D168B');
+INSERT INTO colors VALUES (62,'311F4E');
+INSERT INTO colors VALUES (63,'D2D8F9');
+INSERT INTO colors VALUES (64,'9FA4EE');
+INSERT INTO colors VALUES (65,'6557D0');
+INSERT INTO colors VALUES (66,'4123A1');
+INSERT INTO colors VALUES (67,'4668E4');
+INSERT INTO colors VALUES (68,'0D006A');
+INSERT INTO colors VALUES (69,'00004D');
+INSERT INTO colors VALUES (70,'001D61');
+INSERT INTO colors VALUES (71,'00234B');
+INSERT INTO colors VALUES (72,'002A8F');
+INSERT INTO colors VALUES (73,'2175D9');
+INSERT INTO colors VALUES (74,'7CB3F1');
+INSERT INTO colors VALUES (75,'005199');
+INSERT INTO colors VALUES (76,'004359');
+INSERT INTO colors VALUES (77,'00A0C1');
+INSERT INTO colors VALUES (78,'007283');
+INSERT INTO colors VALUES (79,'00BED9');
+INSERT INTO colors VALUES (80,'AFECED');
+INSERT INTO colors VALUES (81,'55D6D3');
+INSERT INTO colors VALUES (82,'00BBB4');
+INSERT INTO colors VALUES (83,'009485');
+INSERT INTO colors VALUES (84,'005D57');
+INSERT INTO colors VALUES (85,'008A77');
+INSERT INTO colors VALUES (86,'008A6D');
+INSERT INTO colors VALUES (87,'00B99B');
+INSERT INTO colors VALUES (88,'009F67');
+INSERT INTO colors VALUES (89,'00694A');
+INSERT INTO colors VALUES (90,'00A348');
+INSERT INTO colors VALUES (91,'00BF47');
+INSERT INTO colors VALUES (92,'96E78A');
+INSERT INTO colors VALUES (93,'00BD27');
+INSERT INTO colors VALUES (94,'35962B');
+INSERT INTO colors VALUES (95,'7EE600');
+INSERT INTO colors VALUES (96,'6EA100');
+INSERT INTO colors VALUES (97,'CAF100');
+INSERT INTO colors VALUES (98,'F5F800');
+INSERT INTO colors VALUES (99,'CDCFC4');
+INSERT INTO colors VALUES (100,'BCBEB3');
+INSERT INTO colors VALUES (101,'AAABA1');
+INSERT INTO colors VALUES (102,'8F9286');
+INSERT INTO colors VALUES (103,'797C6E');
+INSERT INTO colors VALUES (104,'2E3127');
+
+--
+-- Table structure for table `data_input`
+--
+
+CREATE TABLE data_input (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  hash varchar(32) NOT NULL default '',
+  name varchar(200) NOT NULL default '',
+  input_string varchar(255) default NULL,
+  type_id tinyint(2) NOT NULL default '0',
+  PRIMARY KEY (id),
+  KEY name (name)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `data_input`
+--
+
+INSERT INTO data_input VALUES (1,'3eb92bb845b9660a7445cf9740726522','Get SNMP Data','',2);
+INSERT INTO data_input VALUES (2,'bf566c869ac6443b0c75d1c32b5a350e','Get SNMP Data (Indexed)','',3);
+INSERT INTO data_input VALUES (3,'274f4685461170b9eb1b98d22567ab5e','Unix - Get Free Disk Space','<path_cacti>/scripts/diskfree.sh <partition>',1);
+INSERT INTO data_input VALUES (4,'95ed0993eb3095f9920d431ac80f4231','Unix - Get Load Average','perl <path_cacti>/scripts/loadavg_multi.pl',1);
+INSERT INTO data_input VALUES (5,'79a284e136bb6b061c6f96ec219ac448','Unix - Get Logged In Users','perl <path_cacti>/scripts/unix_users.pl <username>',1);
+INSERT INTO data_input VALUES (6,'362e6d4768937c4f899dd21b91ef0ff8','Linux - Get Memory Usage','perl <path_cacti>/scripts/linux_memory.pl <grepstr>',1);
+INSERT INTO data_input VALUES (7,'a637359e0a4287ba43048a5fdf202066','Unix - Get System Processes','perl <path_cacti>/scripts/unix_processes.pl',1);
+INSERT INTO data_input VALUES (8,'47d6bfe8be57a45171afd678920bd399','Unix - Get TCP Connections','perl <path_cacti>/scripts/unix_tcp_connections.pl <grepstr>',1);
+INSERT INTO data_input VALUES (9,'cc948e4de13f32b6aea45abaadd287a3','Unix - Get Web Hits','perl <path_cacti>/scripts/webhits.pl <log_path>',1);
+INSERT INTO data_input VALUES (10,'8bd153aeb06e3ff89efc73f35849a7a0','Unix - Ping Host','perl <path_cacti>/scripts/ping.pl <ip>',1);
+INSERT INTO data_input VALUES (11,'80e9e4c4191a5da189ae26d0e237f015','Get Script Data (Indexed)','',4);
+INSERT INTO data_input VALUES (12,'332111d8b54ac8ce939af87a7eac0c06','Get Script Server Data (Indexed)','',6);
+
+--
+-- Table structure for table `data_input_data`
+--
+
+CREATE TABLE data_input_data (
+  data_input_field_id mediumint(8) unsigned NOT NULL default '0',
+  data_template_data_id mediumint(8) unsigned NOT NULL default '0',
+  t_value char(2) default NULL,
+  value text,
+  PRIMARY KEY (data_input_field_id,data_template_data_id),
+  KEY t_value (t_value)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `data_input_data`
+--
+
+INSERT INTO data_input_data VALUES (14,1,'on','');
+INSERT INTO data_input_data VALUES (13,1,'on','');
+INSERT INTO data_input_data VALUES (12,1,'on','');
+INSERT INTO data_input_data VALUES (14,2,'on','');
+INSERT INTO data_input_data VALUES (13,2,'on','');
+INSERT INTO data_input_data VALUES (12,2,'on','');
+INSERT INTO data_input_data VALUES (14,3,'on','');
+INSERT INTO data_input_data VALUES (13,3,'on','');
+INSERT INTO data_input_data VALUES (12,3,'on','');
+INSERT INTO data_input_data VALUES (1,4,'','');
+INSERT INTO data_input_data VALUES (1,5,'','');
+INSERT INTO data_input_data VALUES (1,6,'','');
+INSERT INTO data_input_data VALUES (14,7,'on','');
+INSERT INTO data_input_data VALUES (13,7,'on','');
+INSERT INTO data_input_data VALUES (12,7,'on','');
+INSERT INTO data_input_data VALUES (14,8,'on','');
+INSERT INTO data_input_data VALUES (13,8,'on','');
+INSERT INTO data_input_data VALUES (12,8,'on','');
+INSERT INTO data_input_data VALUES (14,9,'on','');
+INSERT INTO data_input_data VALUES (13,9,'on','');
+INSERT INTO data_input_data VALUES (12,9,'on','');
+INSERT INTO data_input_data VALUES (14,10,'on','');
+INSERT INTO data_input_data VALUES (13,10,'on','');
+INSERT INTO data_input_data VALUES (12,10,'on','');
+INSERT INTO data_input_data VALUES (22,12,'','Buffers:');
+INSERT INTO data_input_data VALUES (22,13,'','MemFree:');
+INSERT INTO data_input_data VALUES (22,14,'','^Cached:');
+INSERT INTO data_input_data VALUES (22,15,'','SwapFree:');
+INSERT INTO data_input_data VALUES (29,18,'','');
+INSERT INTO data_input_data VALUES (1,19,'','');
+INSERT INTO data_input_data VALUES (2,19,'','');
+INSERT INTO data_input_data VALUES (6,21,'','.1.3.6.1.2.1.25.3.3.1.2.1');
+INSERT INTO data_input_data VALUES (1,27,'','');
+INSERT INTO data_input_data VALUES (6,28,'','.1.3.6.1.4.1.9.9.109.1.1.1.1.3.1');
+INSERT INTO data_input_data VALUES (6,29,'','.1.3.6.1.4.1.9.9.109.1.1.1.1.4.1');
+INSERT INTO data_input_data VALUES (1,30,'','');
+INSERT INTO data_input_data VALUES (1,31,'','');
+INSERT INTO data_input_data VALUES (1,32,'','');
+INSERT INTO data_input_data VALUES (1,33,'','');
+INSERT INTO data_input_data VALUES (1,34,'','');
+INSERT INTO data_input_data VALUES (14,35,'on','');
+INSERT INTO data_input_data VALUES (13,35,'on','');
+INSERT INTO data_input_data VALUES (12,35,'on','');
+INSERT INTO data_input_data VALUES (14,36,'on','');
+INSERT INTO data_input_data VALUES (13,36,'on','');
+INSERT INTO data_input_data VALUES (12,36,'on','');
+INSERT INTO data_input_data VALUES (1,22,'','');
+INSERT INTO data_input_data VALUES (1,23,'','');
+INSERT INTO data_input_data VALUES (1,24,'','');
+INSERT INTO data_input_data VALUES (1,25,'','');
+INSERT INTO data_input_data VALUES (1,26,'','');
+INSERT INTO data_input_data VALUES (33,37,'on','');
+INSERT INTO data_input_data VALUES (32,37,'on','');
+INSERT INTO data_input_data VALUES (31,37,'on','');
+INSERT INTO data_input_data VALUES (14,38,'on','');
+INSERT INTO data_input_data VALUES (13,38,'on','');
+INSERT INTO data_input_data VALUES (12,38,'on','');
+INSERT INTO data_input_data VALUES (14,39,'on','');
+INSERT INTO data_input_data VALUES (13,39,'on','');
+INSERT INTO data_input_data VALUES (12,39,'on','');
+INSERT INTO data_input_data VALUES (14,40,'on','');
+INSERT INTO data_input_data VALUES (13,40,'on','');
+INSERT INTO data_input_data VALUES (12,40,'on','');
+INSERT INTO data_input_data VALUES (14,41,'on','');
+INSERT INTO data_input_data VALUES (13,41,'on','');
+INSERT INTO data_input_data VALUES (12,41,'on','');
+INSERT INTO data_input_data VALUES (14,55,'on','');
+INSERT INTO data_input_data VALUES (13,55,'on','');
+INSERT INTO data_input_data VALUES (12,55,'on','');
+INSERT INTO data_input_data VALUES (37,56,'on','');
+INSERT INTO data_input_data VALUES (36,56,'on','');
+INSERT INTO data_input_data VALUES (35,56,'on','');
+INSERT INTO data_input_data VALUES (37,57,'on','');
+INSERT INTO data_input_data VALUES (36,57,'on','');
+INSERT INTO data_input_data VALUES (35,57,'on','');
+INSERT INTO data_input_data VALUES (1,58,'','');
+INSERT INTO data_input_data VALUES (1,59,'','');
+INSERT INTO data_input_data VALUES (1,20,'','');
+INSERT INTO data_input_data VALUES (5,6,'','');
+INSERT INTO data_input_data VALUES (22,62,NULL,'MemFree:');
+INSERT INTO data_input_data VALUES (22,63,NULL,'SwapFree:');
+INSERT INTO data_input_data VALUES (4,6,'','');
+INSERT INTO data_input_data VALUES (3,6,'','');
+INSERT INTO data_input_data VALUES (2,6,'','');
+INSERT INTO data_input_data VALUES (6,69,'on','');
+INSERT INTO data_input_data VALUES (1,68,'','');
+INSERT INTO data_input_data VALUES (2,68,'','');
+INSERT INTO data_input_data VALUES (6,6,'','.1.3.6.1.4.1.2021.11.51.0');
+INSERT INTO data_input_data VALUES (2,27,'','');
+INSERT INTO data_input_data VALUES (3,27,'','');
+INSERT INTO data_input_data VALUES (4,27,'','');
+INSERT INTO data_input_data VALUES (5,27,'','');
+INSERT INTO data_input_data VALUES (6,27,'','.1.3.6.1.4.1.9.2.1.58.0');
+INSERT INTO data_input_data VALUES (2,59,'','');
+INSERT INTO data_input_data VALUES (3,59,'','');
+INSERT INTO data_input_data VALUES (4,59,'','');
+INSERT INTO data_input_data VALUES (5,59,'','');
+INSERT INTO data_input_data VALUES (6,59,'','.1.3.6.1.2.1.25.1.5.0');
+INSERT INTO data_input_data VALUES (2,58,'','');
+INSERT INTO data_input_data VALUES (3,58,'','');
+INSERT INTO data_input_data VALUES (4,58,'','');
+INSERT INTO data_input_data VALUES (5,58,'','');
+INSERT INTO data_input_data VALUES (6,58,'','.1.3.6.1.2.1.25.1.6.0');
+INSERT INTO data_input_data VALUES (2,24,'','');
+INSERT INTO data_input_data VALUES (3,24,'','');
+INSERT INTO data_input_data VALUES (4,24,'','');
+INSERT INTO data_input_data VALUES (5,24,'','');
+INSERT INTO data_input_data VALUES (6,24,'','.1.3.6.1.4.1.23.2.28.2.5.0');
+INSERT INTO data_input_data VALUES (2,25,'','');
+INSERT INTO data_input_data VALUES (3,25,'','');
+INSERT INTO data_input_data VALUES (4,25,'','');
+INSERT INTO data_input_data VALUES (5,25,'','');
+INSERT INTO data_input_data VALUES (6,25,'','.1.3.6.1.4.1.23.2.28.2.6.0');
+INSERT INTO data_input_data VALUES (2,22,'','');
+INSERT INTO data_input_data VALUES (3,22,'','');
+INSERT INTO data_input_data VALUES (4,22,'','');
+INSERT INTO data_input_data VALUES (5,22,'','');
+INSERT INTO data_input_data VALUES (6,22,'','.1.3.6.1.4.1.23.2.28.2.1.0');
+INSERT INTO data_input_data VALUES (2,23,'','');
+INSERT INTO data_input_data VALUES (3,23,'','');
+INSERT INTO data_input_data VALUES (4,23,'','');
+INSERT INTO data_input_data VALUES (5,23,'','');
+INSERT INTO data_input_data VALUES (6,23,'','.1.3.6.1.4.1.23.2.28.2.2.0');
+INSERT INTO data_input_data VALUES (2,26,'','');
+INSERT INTO data_input_data VALUES (3,26,'','');
+INSERT INTO data_input_data VALUES (4,26,'','');
+INSERT INTO data_input_data VALUES (5,26,'','');
+INSERT INTO data_input_data VALUES (6,26,'','.1.3.6.1.4.1.23.2.28.2.7.0');
+INSERT INTO data_input_data VALUES (2,20,'','');
+INSERT INTO data_input_data VALUES (3,20,'','');
+INSERT INTO data_input_data VALUES (4,20,'','');
+INSERT INTO data_input_data VALUES (5,20,'','');
+INSERT INTO data_input_data VALUES (6,20,'','.1.3.6.1.4.1.23.2.28.3.2.0');
+INSERT INTO data_input_data VALUES (3,19,'','');
+INSERT INTO data_input_data VALUES (4,19,'','');
+INSERT INTO data_input_data VALUES (5,19,'','');
+INSERT INTO data_input_data VALUES (6,19,'','.1.3.6.1.4.1.23.2.28.3.1');
+INSERT INTO data_input_data VALUES (2,4,'','');
+INSERT INTO data_input_data VALUES (3,4,'','');
+INSERT INTO data_input_data VALUES (4,4,'','');
+INSERT INTO data_input_data VALUES (5,4,'','');
+INSERT INTO data_input_data VALUES (6,4,'','.1.3.6.1.4.1.2021.11.52.0');
+INSERT INTO data_input_data VALUES (2,5,'','');
+INSERT INTO data_input_data VALUES (3,5,'','');
+INSERT INTO data_input_data VALUES (4,5,'','');
+INSERT INTO data_input_data VALUES (5,5,'','');
+INSERT INTO data_input_data VALUES (6,5,'','.1.3.6.1.4.1.2021.11.50.0');
+INSERT INTO data_input_data VALUES (2,30,'','');
+INSERT INTO data_input_data VALUES (3,30,'','');
+INSERT INTO data_input_data VALUES (4,30,'','');
+INSERT INTO data_input_data VALUES (5,30,'','');
+INSERT INTO data_input_data VALUES (6,30,'','.1.3.6.1.4.1.2021.10.1.3.1');
+INSERT INTO data_input_data VALUES (2,32,'','');
+INSERT INTO data_input_data VALUES (3,32,'','');
+INSERT INTO data_input_data VALUES (4,32,'','');
+INSERT INTO data_input_data VALUES (5,32,'','');
+INSERT INTO data_input_data VALUES (6,32,'','.1.3.6.1.4.1.2021.10.1.3.3');
+INSERT INTO data_input_data VALUES (2,31,'','');
+INSERT INTO data_input_data VALUES (3,31,'','');
+INSERT INTO data_input_data VALUES (4,31,'','');
+INSERT INTO data_input_data VALUES (5,31,'','');
+INSERT INTO data_input_data VALUES (6,31,'','.1.3.6.1.4.1.2021.10.1.3.2');
+INSERT INTO data_input_data VALUES (2,33,'','');
+INSERT INTO data_input_data VALUES (3,33,'','');
+INSERT INTO data_input_data VALUES (4,33,'','');
+INSERT INTO data_input_data VALUES (5,33,'','');
+INSERT INTO data_input_data VALUES (6,33,'','.1.3.6.1.4.1.2021.4.14.0');
+INSERT INTO data_input_data VALUES (3,68,'','');
+INSERT INTO data_input_data VALUES (4,68,'','');
+INSERT INTO data_input_data VALUES (5,68,'','');
+INSERT INTO data_input_data VALUES (6,68,'','.1.3.6.1.4.1.2021.4.15.0');
+INSERT INTO data_input_data VALUES (2,34,'','');
+INSERT INTO data_input_data VALUES (3,34,'','');
+INSERT INTO data_input_data VALUES (4,34,'','');
+INSERT INTO data_input_data VALUES (5,34,'','');
+INSERT INTO data_input_data VALUES (6,34,'','.1.3.6.1.4.1.2021.4.6.0');
+INSERT INTO data_input_data VALUES (20,17,'','');
+INSERT INTO data_input_data VALUES (20,65,NULL,'');
+
+--
+-- Table structure for table `data_input_fields`
+--
+
+CREATE TABLE data_input_fields (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  hash varchar(32) NOT NULL default '',
+  data_input_id mediumint(8) unsigned NOT NULL default '0',
+  name varchar(200) NOT NULL default '',
+  data_name varchar(50) NOT NULL default '',
+  input_output char(3) NOT NULL default '',
+  update_rra char(2) default '0',
+  sequence smallint(5) NOT NULL default '0',
+  type_code varchar(40) default NULL,
+  regexp_match varchar(200) default NULL,
+  allow_nulls char(2) default NULL,
+  PRIMARY KEY  (id),
+  KEY data_input_id (data_input_id),
+  KEY type_code (type_code)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `data_input_fields`
+--
+
+INSERT INTO data_input_fields VALUES (1,'92f5906c8dc0f964b41f4253df582c38',1,'SNMP IP Address','management_ip','in','',0,'hostname','','');
+INSERT INTO data_input_fields VALUES (2,'32285d5bf16e56c478f5e83f32cda9ef',1,'SNMP Community','snmp_community','in','',0,'snmp_community','','');
+INSERT INTO data_input_fields VALUES (3,'ad14ac90641aed388139f6ba86a2e48b',1,'SNMP Username','snmp_username','in','',0,'snmp_username','','on');
+INSERT INTO data_input_fields VALUES (4,'9c55a74bd571b4f00a96fd4b793278c6',1,'SNMP Password','snmp_password','in','',0,'snmp_password','','on');
+INSERT INTO data_input_fields VALUES (5,'012ccb1d3687d3edb29c002ea66e72da',1,'SNMP Version (1, 2, or 3)','snmp_version','in','',0,'snmp_version','','on');
+INSERT INTO data_input_fields VALUES (6,'4276a5ec6e3fe33995129041b1909762',1,'OID','oid','in','',0,'snmp_oid','','');
+INSERT INTO data_input_fields VALUES (7,'617cdc8a230615e59f06f361ef6e7728',2,'SNMP IP Address','management_ip','in','',0,'hostname','','');
+INSERT INTO data_input_fields VALUES (8,'acb449d1451e8a2a655c2c99d31142c7',2,'SNMP Community','snmp_community','in','',0,'snmp_community','','');
+INSERT INTO data_input_fields VALUES (9,'f4facc5e2ca7ebee621f09bc6d9fc792',2,'SNMP Username (v3)','snmp_username','in','',0,'snmp_username','','on');
+INSERT INTO data_input_fields VALUES (10,'1cc1493a6781af2c478fa4de971531cf',2,'SNMP Password (v3)','snmp_password','in','',0,'snmp_password','','on');
+INSERT INTO data_input_fields VALUES (11,'b5c23f246559df38662c255f4aa21d6b',2,'SNMP Version (1, 2, or 3)','snmp_version','in','',0,'snmp_version','','');
+INSERT INTO data_input_fields VALUES (12,'6027a919c7c7731fbe095b6f53ab127b',2,'Index Type','index_type','in','',0,'index_type','','');
+INSERT INTO data_input_fields VALUES (13,'cbbe5c1ddfb264a6e5d509ce1c78c95f',2,'Index Value','index_value','in','',0,'index_value','','');
+INSERT INTO data_input_fields VALUES (14,'e6deda7be0f391399c5130e7c4a48b28',2,'Output Type ID','output_type','in','',0,'output_type','','');
+INSERT INTO data_input_fields VALUES (15,'edfd72783ad02df128ff82fc9324b4b9',3,'Disk Partition','partition','in','',1,'','','');
+INSERT INTO data_input_fields VALUES (16,'8b75fb61d288f0b5fc0bd3056af3689b',3,'Kilobytes Free','kilobytes','out','on',0,'','','');
+INSERT INTO data_input_fields VALUES (17,'363588d49b263d30aecb683c52774f39',4,'1 Minute Average','1min','out','on',0,'','','');
+INSERT INTO data_input_fields VALUES (18,'ad139a9e1d69881da36fca07889abf58',4,'5 Minute Average','5min','out','on',0,'','','');
+INSERT INTO data_input_fields VALUES (19,'5db9fee64824c08258c7ff6f8bc53337',4,'10 Minute Average','10min','out','on',0,'','','');
+INSERT INTO data_input_fields VALUES (20,'c0cfd0beae5e79927c5a360076706820',5,'Username (Optional)','username','in','',1,'','','on');
+INSERT INTO data_input_fields VALUES (21,'52c58ad414d9a2a83b00a7a51be75a53',5,'Logged In Users','users','out','on',0,'','','');
+INSERT INTO data_input_fields VALUES (22,'05eb5d710f0814871b8515845521f8d7',6,'Grep String','grepstr','in','',1,'','','');
+INSERT INTO data_input_fields VALUES (23,'86cb1cbfde66279dbc7f1144f43a3219',6,'Result (in Kilobytes)','kilobytes','out','on',0,'','','');
+INSERT INTO data_input_fields VALUES (24,'d5a8dd5fbe6a5af11667c0039af41386',7,'Number of Processes','proc','out','on',0,'','','');
+INSERT INTO data_input_fields VALUES (25,'8848cdcae831595951a3f6af04eec93b',8,'Grep String','grepstr','in','',1,'','','on');
+INSERT INTO data_input_fields VALUES (26,'3d1288d33008430ce354e8b9c162f7ff',8,'Connections','connections','out','on',0,'','','');
+INSERT INTO data_input_fields VALUES (27,'c6af570bb2ed9c84abf32033702e2860',9,'(Optional) Log Path','log_path','in','',1,'','','on');
+INSERT INTO data_input_fields VALUES (28,'f9389860f5c5340c9b27fca0b4ee5e71',9,'Web Hits','webhits','out','on',0,'','','');
+INSERT INTO data_input_fields VALUES (29,'5fbadb91ad66f203463c1187fe7bd9d5',10,'IP Address','ip','in','',1,'hostname','','');
+INSERT INTO data_input_fields VALUES (30,'6ac4330d123c69067d36a933d105e89a',10,'Milliseconds','out_ms','out','on',0,'','','');
+INSERT INTO data_input_fields VALUES (31,'d39556ecad6166701bfb0e28c5a11108',11,'Index Type','index_type','in','',0,'index_type','','');
+INSERT INTO data_input_fields VALUES (32,'3b7caa46eb809fc238de6ef18b6e10d5',11,'Index Value','index_value','in','',0,'index_value','','');
+INSERT INTO data_input_fields VALUES (33,'74af2e42dc12956c4817c2ef5d9983f9',11,'Output Type ID','output_type','in','',0,'output_type','','');
+INSERT INTO data_input_fields VALUES (34,'8ae57f09f787656bf4ac541e8bd12537',11,'Output Value','output','out','on',0,'','','');
+INSERT INTO data_input_fields VALUES (35,'172b4b0eacee4948c6479f587b62e512',12,'Index Type','index_type','in','',0,'index_type','','');
+INSERT INTO data_input_fields VALUES (36,'30fb5d5bcf3d66bb5abe88596f357c26',12,'Index Value','index_value','in','',0,'index_value','','');
+INSERT INTO data_input_fields VALUES (37,'31112c85ae4ff821d3b288336288818c',12,'Output Type ID','output_type','in','',0,'output_type','','');
+INSERT INTO data_input_fields VALUES (38,'5be8fa85472d89c621790b43510b5043',12,'Output Value','output','out','on',0,'','','');
+INSERT INTO data_input_fields VALUES (39,'c1f36ee60c3dc98945556d57f26e475b',2,'SNMP Port','snmp_port','in','',0,'snmp_port','','');
+INSERT INTO data_input_fields VALUES (40,'fc64b99742ec417cc424dbf8c7692d36',1,'SNMP Port','snmp_port','in','',0,'snmp_port','','');
+INSERT INTO data_input_fields VALUES (41,'20832ce12f099c8e54140793a091af90',1,'SNMP Authenticaion Protocol (v3)','snmp_auth_protocol','in','',0,'snmp_auth_protocol','','');
+INSERT INTO data_input_fields VALUES (42,'c60c9aac1e1b3555ea0620b8bbfd82cb',1,'SNMP Privacy Passphrase (v3)','snmp_priv_passphrase','in','',0,'snmp_priv_passphrase','','');
+INSERT INTO data_input_fields VALUES (43,'feda162701240101bc74148415ef415a',1,'SNMP Privacy Protocol (v3)','snmp_priv_protocol','in','',0,'snmp_priv_protocol','','');
+INSERT INTO data_input_fields VALUES (44,'2cf7129ad3ff819a7a7ac189bee48ce8',2,'SNMP Authenticaion Protocol (v3)','snmp_auth_protocol','in','',0,'snmp_auth_protocol','','');
+INSERT INTO data_input_fields VALUES (45,'6b13ac0a0194e171d241d4b06f913158',2,'SNMP Privacy Passphrase (v3)','snmp_priv_passphrase','in','',0,'snmp_priv_passphrase','','');
+INSERT INTO data_input_fields VALUES (46,'3a33d4fc65b8329ab2ac46a36da26b72',2,'SNMP Privacy Protocol (v3)','snmp_priv_protocol','in','',0,'snmp_priv_protocol','','');
+
+--
+-- Table structure for table `data_local`
+--
+
+CREATE TABLE data_local (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  data_template_id mediumint(8) unsigned NOT NULL default '0',
+  host_id mediumint(8) unsigned NOT NULL default '0',
+  snmp_query_id mediumint(8) NOT NULL default '0',
+  snmp_index varchar(255) NOT NULL default '',
+  PRIMARY KEY  (id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `data_local`
+--
+
+INSERT INTO data_local VALUES (3,13,1,0,'');
+INSERT INTO data_local VALUES (4,15,1,0,'');
+INSERT INTO data_local VALUES (5,11,1,0,'');
+INSERT INTO data_local VALUES (6,17,1,0,'');
+INSERT INTO data_local VALUES (7,16,1,0,'');
+
+--
+-- Table structure for table `data_template`
+--
+
+CREATE TABLE data_template (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  hash varchar(32) NOT NULL default '',
+  name varchar(150) NOT NULL default '',
+  PRIMARY KEY  (id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `data_template`
+--
+
+INSERT INTO data_template VALUES (3,'c8a8f50f5f4a465368222594c5709ede','ucd/net - Hard Drive Space');
+INSERT INTO data_template VALUES (4,'cdfed2d401723d2f41fc239d4ce249c7','ucd/net - CPU Usage - System');
+INSERT INTO data_template VALUES (5,'a27e816377d2ac6434a87c494559c726','ucd/net - CPU Usage - User');
+INSERT INTO data_template VALUES (6,'c06c3d20eccb9598939dc597701ff574','ucd/net - CPU Usage - Nice');
+INSERT INTO data_template VALUES (7,'a14f2d6f233b05e64263ff03a5b0b386','Karlnet - Noise Level');
+INSERT INTO data_template VALUES (8,'def1a9019d888ed2ad2e106aa9595ede','Karlnet - Signal Level');
+INSERT INTO data_template VALUES (9,'513a99ae3c9c4413609c1534ffc36eab','Karlnet - Wireless Transmits');
+INSERT INTO data_template VALUES (10,'77404ae93c9cc410f1c2c717e7117378','Karlnet - Wireless Re-Transmits');
+INSERT INTO data_template VALUES (11,'9e72511e127de200733eb502eb818e1d','Unix - Load Average');
+INSERT INTO data_template VALUES (13,'dc33aa9a8e71fb7c61ec0e7a6da074aa','Linux - Memory - Free');
+INSERT INTO data_template VALUES (15,'41f55087d067142d702dd3c73c98f020','Linux - Memory - Free Swap');
+INSERT INTO data_template VALUES (16,'9b8c92d3c32703900ff7dd653bfc9cd8','Unix - Processes');
+INSERT INTO data_template VALUES (17,'c221c2164c585b6da378013a7a6a2c13','Unix - Logged in Users');
+INSERT INTO data_template VALUES (18,'a30a81cb1de65b52b7da542c8df3f188','Unix - Ping Host');
+INSERT INTO data_template VALUES (19,'0de466a1b81dfe581d44ac014b86553a','Netware - Total Users');
+INSERT INTO data_template VALUES (20,'bbe2da0708103029fbf949817d3a4537','Netware - Total Logins');
+INSERT INTO data_template VALUES (22,'e4ac5d5fe73e3c773671c6d0498a8d9d','Netware - File System Reads');
+INSERT INTO data_template VALUES (23,'f29f8c998425eedd249be1e7caf90ceb','Netware - File System Writes');
+INSERT INTO data_template VALUES (24,'7a6216a113e19881e35565312db8a371','Netware - Cache Checks');
+INSERT INTO data_template VALUES (25,'1dbd1251c8e94b334c0e6aeae5ca4b8d','Netware - Cache Hits');
+INSERT INTO data_template VALUES (26,'1a4c5264eb27b5e57acd3160af770a61','Netware - Open Files');
+INSERT INTO data_template VALUES (27,'e9def3a0e409f517cb804dfeba4ccd90','Cisco Router - 5 Minute CPU');
+INSERT INTO data_template VALUES (30,'9b82d44eb563027659683765f92c9757','ucd/net - Load Average - 1 Minute');
+INSERT INTO data_template VALUES (31,'87847714d19f405ff3c74f3341b3f940','ucd/net - Load Average - 5 Minute');
+INSERT INTO data_template VALUES (32,'308ac157f24e2763f8cd828a80b3e5ff','ucd/net - Load Average - 15 Minute');
+INSERT INTO data_template VALUES (33,'797a3e92b0039841b52e441a2823a6fb','ucd/net - Memory - Buffers');
+INSERT INTO data_template VALUES (34,'fa15932d3cab0da2ab94c69b1a9f5ca7','ucd/net - Memory - Free');
+INSERT INTO data_template VALUES (35,'6ce4ab04378f9f3b03ee0623abb6479f','Netware - Volumes');
+INSERT INTO data_template VALUES (36,'03060555fab086b8412bbf9951179cd9','Netware - Directory Entries');
+INSERT INTO data_template VALUES (37,'e4ac6919d4f6f21ec5b281a1d6ac4d4e','Unix - Hard Drive Space');
+INSERT INTO data_template VALUES (38,'36335cd98633963a575b70639cd2fdad','Interface - Errors/Discards');
+INSERT INTO data_template VALUES (39,'2f654f7d69ac71a5d56b1db8543ccad3','Interface - Unicast Packets');
+INSERT INTO data_template VALUES (40,'c84e511401a747409053c90ba910d0fe','Interface - Non-Unicast Packets');
+INSERT INTO data_template VALUES (41,'6632e1e0b58a565c135d7ff90440c335','Interface - Traffic');
+INSERT INTO data_template VALUES (42,'1d17325f416b262921a0b55fe5f7e31d','Netware - CPU Utilization');
+INSERT INTO data_template VALUES (43,'d814fa3b79bd0f8933b6e0834d3f16d0','Host MIB - Hard Drive Space');
+INSERT INTO data_template VALUES (44,'f6e7d21c19434666bbdac00ccef9932f','Host MIB - CPU Utilization');
+INSERT INTO data_template VALUES (45,'f383db441d1c246cff8482f15e184e5f','Host MIB - Processes');
+INSERT INTO data_template VALUES (46,'2ef027cc76d75720ee5f7a528f0f1fda','Host MIB - Logged in Users');
+INSERT INTO data_template VALUES (47,'a274deec1f78654dca6c446ba75ebca4','ucd/net - Memory - Cache');
+INSERT INTO data_template VALUES (48,'d429e4a6019c91e6e84562593c1968ca','SNMP - Generic OID Template');
+
+--
+-- Table structure for table `data_template_data`
+--
+
+CREATE TABLE data_template_data (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  local_data_template_data_id mediumint(8) unsigned NOT NULL default '0',
+  local_data_id mediumint(8) unsigned NOT NULL default '0',
+  data_template_id mediumint(8) unsigned NOT NULL default '0',
+  data_input_id mediumint(8) unsigned NOT NULL default '0',
+  t_name char(2) default NULL,
+  name varchar(250) NOT NULL default '',
+  name_cache varchar(255) NOT NULL default '',
+  data_source_path varchar(255) default NULL,
+  t_active char(2) default NULL,
+  active char(2) default NULL,
+  t_rrd_step char(2) default NULL,
+  rrd_step mediumint(8) unsigned NOT NULL default '0',
+  t_rra_id char(2) default NULL,
+  PRIMARY KEY  (id),
+  KEY local_data_id (local_data_id),
+  KEY data_template_id (data_template_id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `data_template_data`
+--
+
+INSERT INTO data_template_data VALUES (3,0,0,3,2,'on','|host_description| - Hard Drive Space','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (4,0,0,4,1,'','|host_description| - CPU Usage - System','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (5,0,0,5,1,'','|host_description| - CPU Usage - User','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (6,0,0,6,1,'','|host_description| - CPU Usage - Nice','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (7,0,0,7,2,'on','|host_description| - Noise Level','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (8,0,0,8,2,'on','|host_description| - Signal Level','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (9,0,0,9,2,'on','|host_description| - Wireless Transmits','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (10,0,0,10,2,'on','|host_description| - Wireless Re-Transmits','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (11,0,0,11,4,'','|host_description| - Load Average','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (13,0,0,13,6,'','|host_description| - Memory - Free','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (15,0,0,15,6,'','|host_description| - Memory - Free Swap','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (16,0,0,16,7,'','|host_description| - Processes','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (17,0,0,17,5,'','|host_description| - Logged in Users','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (18,0,0,18,10,'','|host_description| - Ping Host','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (19,0,0,19,1,'','|host_description| - Total Users','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (20,0,0,20,1,'','|host_description| - Total Logins','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (22,0,0,22,1,'','|host_description| - File System Reads','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (23,0,0,23,1,'','|host_description| - File System Writes','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (24,0,0,24,1,'','|host_description| - Cache Checks','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (25,0,0,25,1,'','|host_description| - Cache Hits','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (26,0,0,26,1,'','|host_description| - Open Files','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (27,0,0,27,1,'','|host_description| - 5 Minute CPU','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (30,0,0,30,1,'','|host_description| - Load Average - 1 Minute','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (31,0,0,31,1,'','|host_description| - Load Average - 5 Minute','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (32,0,0,32,1,'','|host_description| - Load Average - 15 Minute','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (33,0,0,33,1,'','|host_description| - Memory - Buffers','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (34,0,0,34,1,'','|host_description| - Memory - Free','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (35,0,0,35,2,'on','|host_description| - Volumes','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (36,0,0,36,2,'on','|host_description| - Directory Entries','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (37,0,0,37,11,'on','|host_description| - Hard Drive Space','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (38,0,0,38,2,'on','|host_description| - Errors/Discards','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (39,0,0,39,2,'on','|host_description| - Unicast Packets','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (40,0,0,40,2,'on','|host_description| - Non-Unicast Packets','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (41,0,0,41,2,'on','|host_description| - Traffic','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (55,0,0,42,2,'','|host_description| - CPU Utilization','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (56,0,0,43,12,'','|host_description| - Hard Drive Space','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (57,0,0,44,12,'','|host_description| - CPU Utilization','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (58,0,0,45,1,'','|host_description| - Processes','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (59,0,0,46,1,'','|host_description| - Logged in Users','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (62,13,3,13,6,NULL,'|host_description| - Memory - Free','Localhost - Memory - Free','<path_rra>/localhost_mem_buffers_3.rrd',NULL,'on',NULL,300,NULL);
+INSERT INTO data_template_data VALUES (63,15,4,15,6,NULL,'|host_description| - Memory - Free Swap','Localhost - Memory - Free Swap','<path_rra>/localhost_mem_swap_4.rrd',NULL,'on',NULL,300,NULL);
+INSERT INTO data_template_data VALUES (64,11,5,11,4,NULL,'|host_description| - Load Average','Localhost - Load Average','<path_rra>/localhost_load_1min_5.rrd',NULL,'on',NULL,300,NULL);
+INSERT INTO data_template_data VALUES (65,17,6,17,5,NULL,'|host_description| - Logged in Users','Localhost - Logged in Users','<path_rra>/localhost_users_6.rrd',NULL,'on',NULL,300,NULL);
+INSERT INTO data_template_data VALUES (66,16,7,16,7,NULL,'|host_description| - Processes','Localhost - Processes','<path_rra>/localhost_proc_7.rrd',NULL,'on',NULL,300,NULL);
+INSERT INTO data_template_data VALUES (68,0,0,47,1,'','|host_description| - Memory - Cache','',NULL,'','on','',300,'');
+INSERT INTO data_template_data VALUES (69,0,0,48,1,'on','|host_description| -','',NULL,'','on','',300,'');
+
+--
+-- Table structure for table `data_template_data_rra`
+--
+
+CREATE TABLE data_template_data_rra (
+  data_template_data_id mediumint(8) unsigned NOT NULL default '0',
+  rra_id mediumint(8) unsigned NOT NULL default '0',
+  PRIMARY KEY  (data_template_data_id,rra_id),
+  KEY data_template_data_id (data_template_data_id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `data_template_data_rra`
+--
+
+INSERT INTO data_template_data_rra VALUES (3,1);
+INSERT INTO data_template_data_rra VALUES (3,2);
+INSERT INTO data_template_data_rra VALUES (3,3);
+INSERT INTO data_template_data_rra VALUES (3,4);
+INSERT INTO data_template_data_rra VALUES (4,1);
+INSERT INTO data_template_data_rra VALUES (4,2);
+INSERT INTO data_template_data_rra VALUES (4,3);
+INSERT INTO data_template_data_rra VALUES (4,4);
+INSERT INTO data_template_data_rra VALUES (5,1);
+INSERT INTO data_template_data_rra VALUES (5,2);
+INSERT INTO data_template_data_rra VALUES (5,3);
+INSERT INTO data_template_data_rra VALUES (5,4);
+INSERT INTO data_template_data_rra VALUES (6,1);
+INSERT INTO data_template_data_rra VALUES (6,2);
+INSERT INTO data_template_data_rra VALUES (6,3);
+INSERT INTO data_template_data_rra VALUES (6,4);
+INSERT INTO data_template_data_rra VALUES (7,1);
+INSERT INTO data_template_data_rra VALUES (7,2);
+INSERT INTO data_template_data_rra VALUES (7,3);
+INSERT INTO data_template_data_rra VALUES (7,4);
+INSERT INTO data_template_data_rra VALUES (8,1);
+INSERT INTO data_template_data_rra VALUES (8,2);
+INSERT INTO data_template_data_rra VALUES (8,3);
+INSERT INTO data_template_data_rra VALUES (8,4);
+INSERT INTO data_template_data_rra VALUES (9,1);
+INSERT INTO data_template_data_rra VALUES (9,2);
+INSERT INTO data_template_data_rra VALUES (9,3);
+INSERT INTO data_template_data_rra VALUES (9,4);
+INSERT INTO data_template_data_rra VALUES (10,1);
+INSERT INTO data_template_data_rra VALUES (10,2);
+INSERT INTO data_template_data_rra VALUES (10,3);
+INSERT INTO data_template_data_rra VALUES (10,4);
+INSERT INTO data_template_data_rra VALUES (11,1);
+INSERT INTO data_template_data_rra VALUES (11,2);
+INSERT INTO data_template_data_rra VALUES (11,3);
+INSERT INTO data_template_data_rra VALUES (11,4);
+INSERT INTO data_template_data_rra VALUES (13,1);
+INSERT INTO data_template_data_rra VALUES (13,2);
+INSERT INTO data_template_data_rra VALUES (13,3);
+INSERT INTO data_template_data_rra VALUES (13,4);
+INSERT INTO data_template_data_rra VALUES (15,1);
+INSERT INTO data_template_data_rra VALUES (15,2);
+INSERT INTO data_template_data_rra VALUES (15,3);
+INSERT INTO data_template_data_rra VALUES (15,4);
+INSERT INTO data_template_data_rra VALUES (16,1);
+INSERT INTO data_template_data_rra VALUES (16,2);
+INSERT INTO data_template_data_rra VALUES (16,3);
+INSERT INTO data_template_data_rra VALUES (16,4);
+INSERT INTO data_template_data_rra VALUES (17,1);
+INSERT INTO data_template_data_rra VALUES (17,2);
+INSERT INTO data_template_data_rra VALUES (17,3);
+INSERT INTO data_template_data_rra VALUES (17,4);
+INSERT INTO data_template_data_rra VALUES (18,1);
+INSERT INTO data_template_data_rra VALUES (18,2);
+INSERT INTO data_template_data_rra VALUES (18,3);
+INSERT INTO data_template_data_rra VALUES (18,4);
+INSERT INTO data_template_data_rra VALUES (19,1);
+INSERT INTO data_template_data_rra VALUES (19,2);
+INSERT INTO data_template_data_rra VALUES (19,3);
+INSERT INTO data_template_data_rra VALUES (19,4);
+INSERT INTO data_template_data_rra VALUES (20,1);
+INSERT INTO data_template_data_rra VALUES (20,2);
+INSERT INTO data_template_data_rra VALUES (20,3);
+INSERT INTO data_template_data_rra VALUES (20,4);
+INSERT INTO data_template_data_rra VALUES (22,1);
+INSERT INTO data_template_data_rra VALUES (22,2);
+INSERT INTO data_template_data_rra VALUES (22,3);
+INSERT INTO data_template_data_rra VALUES (22,4);
+INSERT INTO data_template_data_rra VALUES (23,1);
+INSERT INTO data_template_data_rra VALUES (23,2);
+INSERT INTO data_template_data_rra VALUES (23,3);
+INSERT INTO data_template_data_rra VALUES (23,4);
+INSERT INTO data_template_data_rra VALUES (24,1);
+INSERT INTO data_template_data_rra VALUES (24,2);
+INSERT INTO data_template_data_rra VALUES (24,3);
+INSERT INTO data_template_data_rra VALUES (24,4);
+INSERT INTO data_template_data_rra VALUES (25,1);
+INSERT INTO data_template_data_rra VALUES (25,2);
+INSERT INTO data_template_data_rra VALUES (25,3);
+INSERT INTO data_template_data_rra VALUES (25,4);
+INSERT INTO data_template_data_rra VALUES (26,1);
+INSERT INTO data_template_data_rra VALUES (26,2);
+INSERT INTO data_template_data_rra VALUES (26,3);
+INSERT INTO data_template_data_rra VALUES (26,4);
+INSERT INTO data_template_data_rra VALUES (27,1);
+INSERT INTO data_template_data_rra VALUES (27,2);
+INSERT INTO data_template_data_rra VALUES (27,3);
+INSERT INTO data_template_data_rra VALUES (27,4);
+INSERT INTO data_template_data_rra VALUES (30,1);
+INSERT INTO data_template_data_rra VALUES (30,2);
+INSERT INTO data_template_data_rra VALUES (30,3);
+INSERT INTO data_template_data_rra VALUES (30,4);
+INSERT INTO data_template_data_rra VALUES (31,1);
+INSERT INTO data_template_data_rra VALUES (31,2);
+INSERT INTO data_template_data_rra VALUES (31,3);
+INSERT INTO data_template_data_rra VALUES (31,4);
+INSERT INTO data_template_data_rra VALUES (32,1);
+INSERT INTO data_template_data_rra VALUES (32,2);
+INSERT INTO data_template_data_rra VALUES (32,3);
+INSERT INTO data_template_data_rra VALUES (32,4);
+INSERT INTO data_template_data_rra VALUES (33,1);
+INSERT INTO data_template_data_rra VALUES (33,2);
+INSERT INTO data_template_data_rra VALUES (33,3);
+INSERT INTO data_template_data_rra VALUES (33,4);
+INSERT INTO data_template_data_rra VALUES (34,1);
+INSERT INTO data_template_data_rra VALUES (34,2);
+INSERT INTO data_template_data_rra VALUES (34,3);
+INSERT INTO data_template_data_rra VALUES (34,4);
+INSERT INTO data_template_data_rra VALUES (35,1);
+INSERT INTO data_template_data_rra VALUES (35,2);
+INSERT INTO data_template_data_rra VALUES (35,3);
+INSERT INTO data_template_data_rra VALUES (35,4);
+INSERT INTO data_template_data_rra VALUES (36,1);
+INSERT INTO data_template_data_rra VALUES (36,2);
+INSERT INTO data_template_data_rra VALUES (36,3);
+INSERT INTO data_template_data_rra VALUES (36,4);
+INSERT INTO data_template_data_rra VALUES (37,1);
+INSERT INTO data_template_data_rra VALUES (37,2);
+INSERT INTO data_template_data_rra VALUES (37,3);
+INSERT INTO data_template_data_rra VALUES (37,4);
+INSERT INTO data_template_data_rra VALUES (38,1);
+INSERT INTO data_template_data_rra VALUES (38,2);
+INSERT INTO data_template_data_rra VALUES (38,3);
+INSERT INTO data_template_data_rra VALUES (38,4);
+INSERT INTO data_template_data_rra VALUES (39,1);
+INSERT INTO data_template_data_rra VALUES (39,2);
+INSERT INTO data_template_data_rra VALUES (39,3);
+INSERT INTO data_template_data_rra VALUES (39,4);
+INSERT INTO data_template_data_rra VALUES (40,1);
+INSERT INTO data_template_data_rra VALUES (40,2);
+INSERT INTO data_template_data_rra VALUES (40,3);
+INSERT INTO data_template_data_rra VALUES (40,4);
+INSERT INTO data_template_data_rra VALUES (41,1);
+INSERT INTO data_template_data_rra VALUES (41,2);
+INSERT INTO data_template_data_rra VALUES (41,3);
+INSERT INTO data_template_data_rra VALUES (41,4);
+INSERT INTO data_template_data_rra VALUES (55,1);
+INSERT INTO data_template_data_rra VALUES (55,2);
+INSERT INTO data_template_data_rra VALUES (55,3);
+INSERT INTO data_template_data_rra VALUES (55,4);
+INSERT INTO data_template_data_rra VALUES (56,1);
+INSERT INTO data_template_data_rra VALUES (56,2);
+INSERT INTO data_template_data_rra VALUES (56,3);
+INSERT INTO data_template_data_rra VALUES (56,4);
+INSERT INTO data_template_data_rra VALUES (57,1);
+INSERT INTO data_template_data_rra VALUES (57,2);
+INSERT INTO data_template_data_rra VALUES (57,3);
+INSERT INTO data_template_data_rra VALUES (57,4);
+INSERT INTO data_template_data_rra VALUES (58,1);
+INSERT INTO data_template_data_rra VALUES (58,2);
+INSERT INTO data_template_data_rra VALUES (58,3);
+INSERT INTO data_template_data_rra VALUES (58,4);
+INSERT INTO data_template_data_rra VALUES (59,1);
+INSERT INTO data_template_data_rra VALUES (59,2);
+INSERT INTO data_template_data_rra VALUES (59,3);
+INSERT INTO data_template_data_rra VALUES (59,4);
+INSERT INTO data_template_data_rra VALUES (62,1);
+INSERT INTO data_template_data_rra VALUES (62,2);
+INSERT INTO data_template_data_rra VALUES (62,3);
+INSERT INTO data_template_data_rra VALUES (62,4);
+INSERT INTO data_template_data_rra VALUES (63,1);
+INSERT INTO data_template_data_rra VALUES (63,2);
+INSERT INTO data_template_data_rra VALUES (63,3);
+INSERT INTO data_template_data_rra VALUES (63,4);
+INSERT INTO data_template_data_rra VALUES (64,1);
+INSERT INTO data_template_data_rra VALUES (64,2);
+INSERT INTO data_template_data_rra VALUES (64,3);
+INSERT INTO data_template_data_rra VALUES (64,4);
+INSERT INTO data_template_data_rra VALUES (65,1);
+INSERT INTO data_template_data_rra VALUES (65,2);
+INSERT INTO data_template_data_rra VALUES (65,3);
+INSERT INTO data_template_data_rra VALUES (65,4);
+INSERT INTO data_template_data_rra VALUES (66,1);
+INSERT INTO data_template_data_rra VALUES (66,2);
+INSERT INTO data_template_data_rra VALUES (66,3);
+INSERT INTO data_template_data_rra VALUES (66,4);
+INSERT INTO data_template_data_rra VALUES (68,1);
+INSERT INTO data_template_data_rra VALUES (68,2);
+INSERT INTO data_template_data_rra VALUES (68,3);
+INSERT INTO data_template_data_rra VALUES (68,4);
+INSERT INTO data_template_data_rra VALUES (69,1);
+INSERT INTO data_template_data_rra VALUES (69,2);
+INSERT INTO data_template_data_rra VALUES (69,3);
+INSERT INTO data_template_data_rra VALUES (69,4);
+
+--
+-- Table structure for table `data_template_rrd`
+--
+
+CREATE TABLE data_template_rrd (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  hash varchar(32) NOT NULL default '',
+  local_data_template_rrd_id mediumint(8) unsigned NOT NULL default '0',
+  local_data_id mediumint(8) unsigned NOT NULL default '0',
+  data_template_id mediumint(8) unsigned NOT NULL default '0',
+  t_rrd_maximum char(2) default NULL,
+  rrd_maximum varchar(20) NOT NULL default '0',
+  t_rrd_minimum char(2) default NULL,
+  rrd_minimum varchar(20) NOT NULL default '0',
+  t_rrd_heartbeat char(2) default NULL,
+  rrd_heartbeat mediumint(6) NOT NULL default '0',
+  t_data_source_type_id char(2) default NULL,
+  data_source_type_id smallint(5) NOT NULL default '0',
+  t_data_source_name char(2) default NULL,
+  data_source_name varchar(19) NOT NULL default '',
+  t_data_input_field_id char(2) default NULL,
+  data_input_field_id mediumint(8) unsigned NOT NULL default '0',
+  PRIMARY KEY  (id),
+  KEY local_data_id (local_data_id),
+  KEY data_template_id (data_template_id),
+  KEY local_data_template_rrd_id (local_data_template_rrd_id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `data_template_rrd`
+--
+
+INSERT INTO data_template_rrd VALUES (3,'2d53f9c76767a2ae8909f4152fd473a4',0,0,3,'','0','','0','',600,'',1,'','hdd_free','',0);
+INSERT INTO data_template_rrd VALUES (4,'93d91aa7a3cc5473e7b195d5d6e6e675',0,0,3,'','0','','0','',600,'',1,'','hdd_used','',0);
+INSERT INTO data_template_rrd VALUES (5,'7bee7987bbf30a3bc429d2a67c6b2595',0,0,4,'','100','','0','',600,'',2,'','cpu_system','',0);
+INSERT INTO data_template_rrd VALUES (6,'ddccd7fbdece499da0235b4098b87f9e',0,0,5,'','100','','0','',600,'',2,'','cpu_user','',0);
+INSERT INTO data_template_rrd VALUES (7,'122ab2097f8c6403b7b90cde7b9e2bc2',0,0,6,'','100','','0','',600,'',2,'','cpu_nice','',0);
+INSERT INTO data_template_rrd VALUES (8,'34f50c820092ea0fecba25b4b94a7946',0,0,7,'','100','','0','',600,'',1,'','wrls_noise','',0);
+INSERT INTO data_template_rrd VALUES (9,'830b811d1834e5ba0e2af93bd92db057',0,0,8,'','100','','0','',600,'',1,'','wrls_signal','',0);
+INSERT INTO data_template_rrd VALUES (10,'2f1b016a2465eef3f7369f6313cd4a94',0,0,9,'','1000000','','0','',600,'',2,'','wrls_transmits','',0);
+INSERT INTO data_template_rrd VALUES (11,'28ffcecaf8b50e49f676f2d4a822685d',0,0,10,'','1000000','','0','',600,'',2,'','wrls_retransmits','',0);
+INSERT INTO data_template_rrd VALUES (12,'8175ca431c8fe50efff5a1d3ae51b55d',0,0,11,'','500','','0','',600,'',1,'','load_1min','',17);
+INSERT INTO data_template_rrd VALUES (13,'a2eeb8acd6ea01cd0e3ac852965c0eb6',0,0,11,'','500','','0','',600,'',1,'','load_5min','',18);
+INSERT INTO data_template_rrd VALUES (14,'9f951b7fb3b19285a411aebb5254a831',0,0,11,'','500','','0','',600,'',1,'','load_15min','',19);
+INSERT INTO data_template_rrd VALUES (16,'a4df3de5238d3beabee1a2fe140d3d80',0,0,13,'','0','','0','',600,'',1,'','mem_buffers','',23);
+INSERT INTO data_template_rrd VALUES (18,'7fea6acc9b1a19484b4cb4cef2b6c5da',0,0,15,'','0','','0','',600,'',1,'','mem_swap','',23);
+INSERT INTO data_template_rrd VALUES (19,'f1ba3a5b17b95825021241398bb0f277',0,0,16,'','1000','','0','',600,'',1,'','proc','',24);
+INSERT INTO data_template_rrd VALUES (20,'46a5afe8e6c0419172c76421dc9e304a',0,0,17,'','500','','0','',600,'',1,'','users','',21);
+INSERT INTO data_template_rrd VALUES (21,'962fd1994fe9cae87fb36436bdb8a742',0,0,18,'','5000','','0','',600,'',1,'','ping','',30);
+INSERT INTO data_template_rrd VALUES (22,'7a8dd1111a8624369906bf2cd6ea9ca9',0,0,19,'','100000','','0','',600,'',1,'','total_users','',0);
+INSERT INTO data_template_rrd VALUES (23,'ddb6e74d34d2f1969ce85f809dbac23d',0,0,20,'','100000','','0','',600,'',1,'','total_logins','',0);
+INSERT INTO data_template_rrd VALUES (25,'289311d10336941d33d9a1c48a7b11ee',0,0,22,'','10000000','','0','',600,'',2,'','fs_reads','',0);
+INSERT INTO data_template_rrd VALUES (26,'02216f036cca04655ee2f67fedb6f4f0',0,0,23,'','10000000','','0','',600,'',2,'','fs_writes','',0);
+INSERT INTO data_template_rrd VALUES (27,'9e402c0f29131ef7139c20bd500b4e8a',0,0,24,'','10000000','','0','',600,'',2,'','cache_checks','',0);
+INSERT INTO data_template_rrd VALUES (28,'46717dfe3c8c030d8b5ec0874f9dbdca',0,0,25,'','1000000','','0','',600,'',2,'','cache_hits','',0);
+INSERT INTO data_template_rrd VALUES (29,'7a88a60729af62561812c43bde61dfc1',0,0,26,'','100000','','0','',600,'',1,'','open_files','',0);
+INSERT INTO data_template_rrd VALUES (30,'3c0fd1a188b64a662dfbfa985648397b',0,0,27,'','100','','0','',600,'',1,'','5min_cpu','',0);
+INSERT INTO data_template_rrd VALUES (33,'ed44c2438ef7e46e2aeed2b6c580815c',0,0,30,'','500','','0','',600,'',1,'','load_1min','',0);
+INSERT INTO data_template_rrd VALUES (34,'9b3a00c9e3530d9e58895ac38271361e',0,0,31,'','500','','0','',600,'',1,'','load_5min','',0);
+INSERT INTO data_template_rrd VALUES (35,'6746c2ed836ecc68a71bbddf06b0e5d9',0,0,32,'','500','','0','',600,'',1,'','load_15min','',0);
+INSERT INTO data_template_rrd VALUES (36,'9835d9e1a8c78aa2475d752e8fa74812',0,0,33,'','10000000','','0','',600,'',1,'','mem_buffers','',0);
+INSERT INTO data_template_rrd VALUES (37,'9c78dc1981bcea841b8c827c6dc0d26c',0,0,34,'','10000000','','0','',600,'',1,'','mem_free','',0);
+INSERT INTO data_template_rrd VALUES (38,'62a56dc76fe4cd8566a31b5df0274cc3',0,0,35,'','0','','0','',600,'',1,'','vol_total','',0);
+INSERT INTO data_template_rrd VALUES (39,'2e366ab49d0e0238fb4e3141ea5a88c3',0,0,35,'','0','','0','',600,'',1,'','vol_free','',0);
+INSERT INTO data_template_rrd VALUES (40,'dceedc84718dd93a5affe4b190bca810',0,0,35,'','0','','0','',600,'',1,'','vol_freeable','',0);
+INSERT INTO data_template_rrd VALUES (42,'93330503f1cf67db00d8fe636035e545',0,0,36,'','100000000000','','0','',600,'',1,'','dir_total','',0);
+INSERT INTO data_template_rrd VALUES (43,'6b0fe4aa6aaf22ef9cfbbe96d87fa0d7',0,0,36,'','100000000000','','0','',600,'',1,'','dir_used','',0);
+INSERT INTO data_template_rrd VALUES (44,'4c82df790325d789d304e6ee5cd4ab7d',0,0,37,'','0','','0','',600,'',1,'','hdd_free','',0);
+INSERT INTO data_template_rrd VALUES (46,'c802e2fd77f5b0a4c4298951bf65957c',0,0,38,'','10000000','','0','',600,'',2,'','errors_in','',0);
+INSERT INTO data_template_rrd VALUES (47,'4e2a72240955380dc8ffacfcc8c09874',0,0,38,'','10000000','','0','',600,'',2,'','discards_in','',0);
+INSERT INTO data_template_rrd VALUES (48,'636672962b5bb2f31d86985e2ab4bdfe',0,0,39,'','1000000000','','0','',600,'',2,'','unicast_in','',0);
+INSERT INTO data_template_rrd VALUES (49,'18ce92c125a236a190ee9dd948f56268',0,0,39,'','1000000000','','0','',600,'',2,'','unicast_out','',0);
+INSERT INTO data_template_rrd VALUES (50,'13ebb33f9cbccfcba828db1075a8167c',0,0,38,'','10000000','','0','',600,'',2,'','discards_out','',0);
+INSERT INTO data_template_rrd VALUES (51,'31399c3725bee7e09ec04049e3d5cd17',0,0,38,'','10000000','','0','',600,'',2,'','errors_out','',0);
+INSERT INTO data_template_rrd VALUES (52,'7be68cbc4ee0b2973eb9785f8c7a35c7',0,0,40,'','1000000000','','0','',600,'',2,'','nonunicast_out','',0);
+INSERT INTO data_template_rrd VALUES (53,'93e2b6f59b10b13f2ddf2da3ae98b89a',0,0,40,'','1000000000','','0','',600,'',2,'','nonunicast_in','',0);
+INSERT INTO data_template_rrd VALUES (54,'2df25c57022b0c7e7d0be4c035ada1a0',0,0,41,'on','100000000','','0','',600,'',2,'','traffic_in','',0);
+INSERT INTO data_template_rrd VALUES (55,'721c0794526d1ac1c359f27dc56faa49',0,0,41,'on','100000000','','0','',600,'',2,'','traffic_out','',0);
+INSERT INTO data_template_rrd VALUES (56,'07175541991def89bd02d28a215f6fcc',0,0,37,'','0','','0','',600,'',1,'','hdd_used','',0);
+INSERT INTO data_template_rrd VALUES (76,'07492e5cace6d74e7db3cb1fc005a3f3',0,0,42,'','100','','0','',600,'',1,'','cpu','',0);
+INSERT INTO data_template_rrd VALUES (78,'0ee6bb54957f6795a5369a29f818d860',0,0,43,'','0','','0','',600,'',1,'','hdd_used','',0);
+INSERT INTO data_template_rrd VALUES (79,'9825aaf7c0bdf1554c5b4b86680ac2c0',0,0,44,'','100','','0','',600,'',1,'','cpu','',0);
+INSERT INTO data_template_rrd VALUES (80,'50ccbe193c6c7fc29fb9f726cd6c48ee',0,0,45,'','1000','','0','',600,'',1,'','proc','',0);
+INSERT INTO data_template_rrd VALUES (81,'9464c91bcff47f23085ae5adae6ab987',0,0,46,'','5000','','0','',600,'',1,'','users','',0);
+INSERT INTO data_template_rrd VALUES (84,'',16,3,13,NULL,'0',NULL,'0',NULL,600,NULL,1,NULL,'mem_buffers',NULL,23);
+INSERT INTO data_template_rrd VALUES (85,'',18,4,15,NULL,'0',NULL,'0',NULL,600,NULL,1,NULL,'mem_swap',NULL,23);
+INSERT INTO data_template_rrd VALUES (86,'',12,5,11,NULL,'500',NULL,'0',NULL,600,NULL,1,NULL,'load_1min',NULL,17);
+INSERT INTO data_template_rrd VALUES (87,'',13,5,11,NULL,'500',NULL,'0',NULL,600,NULL,1,NULL,'load_5min',NULL,18);
+INSERT INTO data_template_rrd VALUES (88,'',14,5,11,NULL,'500',NULL,'0',NULL,600,NULL,1,NULL,'load_15min',NULL,19);
+INSERT INTO data_template_rrd VALUES (89,'',20,6,17,NULL,'500',NULL,'0',NULL,600,NULL,1,NULL,'users',NULL,21);
+INSERT INTO data_template_rrd VALUES (90,'',19,7,16,NULL,'1000',NULL,'0',NULL,600,NULL,1,NULL,'proc',NULL,24);
+INSERT INTO data_template_rrd VALUES (92,'165a0da5f461561c85d092dfe96b9551',0,0,43,'','0','','0','',600,'',1,'','hdd_total','',0);
+INSERT INTO data_template_rrd VALUES (95,'7a6ca455bbeff99ca891371bc77d5cf9',0,0,47,'','10000000','','0','',600,'',1,'','mem_cache','',0);
+INSERT INTO data_template_rrd VALUES (96,'224b83ea73f55f8a861bcf4c9bea0472',0,0,48,'on','100','','0','',600,'on',1,'','snmp_oid','',0);
+
+--
+-- Table structure for table `graph_local`
+--
+
+CREATE TABLE graph_local (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  graph_template_id mediumint(8) unsigned NOT NULL default '0',
+  host_id mediumint(8) unsigned NOT NULL default '0',
+  snmp_query_id mediumint(8) NOT NULL default '0',
+  snmp_index varchar(255) NOT NULL default '',
+  PRIMARY KEY  (id),
+  KEY host_id (host_id),
+  KEY graph_template_id (graph_template_id),
+  KEY snmp_query_id (snmp_query_id),
+  KEY snmp_index (snmp_index)
+) TYPE=MyISAM COMMENT='Creates a relationship for each item in a custom graph.';
+
+--
+-- Dumping data for table `graph_local`
+--
+
+INSERT INTO graph_local VALUES (1,12,1,0,'');
+INSERT INTO graph_local VALUES (2,9,1,0,'');
+INSERT INTO graph_local VALUES (3,10,1,0,'');
+INSERT INTO graph_local VALUES (4,8,1,0,'');
+
+--
+-- Table structure for table `graph_template_input`
+--
+
+CREATE TABLE graph_template_input (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  hash varchar(32) NOT NULL default '',
+  graph_template_id mediumint(8) unsigned NOT NULL default '0',
+  name varchar(255) NOT NULL default '',
+  description text,
+  column_name varchar(50) NOT NULL default '',
+  PRIMARY KEY  (id)
+) TYPE=MyISAM COMMENT='Stores the names for graph item input groups.';
+
+--
+-- Dumping data for table `graph_template_input`
+--
+
+INSERT INTO graph_template_input VALUES (3,'e9d4191277fdfd7d54171f153da57fb0',2,'Inbound Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (4,'7b361722a11a03238ee8ab7ce44a1037',2,'Outbound Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (5,'b33eb27833614056e06ee5952c3e0724',3,'Available Disk Space Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (6,'ef8799e63ee00e8904bcc4228015784a',3,'Used Disk Space Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (7,'2662ef4fbb0bf92317ffd42c7515af37',5,'Signal Level Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (8,'a6edef6624c796d3a6055305e2e3d4bf',5,'Noise Level Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (9,'b0e902db1875e392a9d7d69bfbb13515',5,'Signal Level Color','','color_id');
+INSERT INTO graph_template_input VALUES (10,'24632b1d4a561e937225d0a5fbe65e41',5,'Noise Level Color','','color_id');
+INSERT INTO graph_template_input VALUES (11,'6d078f1d58b70ad154a89eb80fe6ab75',6,'Transmissions Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (12,'878241872dd81c68d78e6ff94871d97d',6,'Re-Transmissions Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (13,'f8fcdc3a3f0e8ead33bd9751895a3462',6,'Transmissions Color','','color_id');
+INSERT INTO graph_template_input VALUES (14,'394ab4713a34198dddb5175aa40a2b4a',6,'Re-Transmissions Color','','color_id');
+INSERT INTO graph_template_input VALUES (15,'433f328369f9569446ddc59555a63eb8',7,'Ping Host Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (16,'a1a91c1514c65152d8cb73522ea9d4e6',7,'Legend Color','','color_id');
+INSERT INTO graph_template_input VALUES (17,'2fb4deb1448379b27ddc64e30e70dc42',7,'Legend Text','','text_format');
+INSERT INTO graph_template_input VALUES (18,'592cedd465877bc61ab549df688b0b2a',8,'Processes Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (19,'1d51dbabb200fcea5c4b157129a75410',8,'Legend Color','','color_id');
+INSERT INTO graph_template_input VALUES (20,'8cb8ed3378abec21a1819ea52dfee6a3',9,'1 Minute Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (21,'5dfcaf9fd771deb8c5430bce1562e371',9,'5 Minute Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (22,'6f3cc610315ee58bc8e0b1f272466324',9,'15 Minute Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (23,'b457a982bf46c6760e6ef5f5d06d41fb',10,'Logged in Users Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (24,'bd4a57adf93c884815b25a8036b67f98',10,'Legend Color','','color_id');
+INSERT INTO graph_template_input VALUES (25,'d7cdb63500c576e0f9f354de42c6cf3a',11,'1 Minute Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (26,'a23152f5ec02e7762ca27608c0d89f6c',11,'5 Minute Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (27,'2cc5d1818da577fba15115aa18f64d85',11,'15 Minute Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (30,'6273c71cdb7ed4ac525cdbcf6180918c',12,'Free Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (31,'5e62dbea1db699f1bda04c5863e7864d',12,'Swap Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (32,'4d52e112a836d4c9d451f56602682606',4,'System CPU Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (33,'f0310b066cc919d2f898b8d1ebf3b518',4,'User CPU Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (34,'d9eb6b9eb3d7dd44fd14fdefb4096b54',4,'Nice CPU Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (35,'f45def7cad112b450667aa67262258cb',13,'Memory Free Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (36,'f8c361a8c8b7ad80e8be03ba7ea5d0d6',13,'Memory Buffers Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (37,'03d11dce695963be30bd744bd6cbac69',14,'Cache Hits Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (38,'9cbc515234779af4bf6cdf71a81c556a',14,'Cache Checks Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (39,'2c4d561ee8132a8dda6de1104336a6ec',15,'CPU Utilization Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (40,'6e1cf7addc0cc419aa903552e3eedbea',16,'File System Reads Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (41,'7ea2aa0656f7064d25a36135dd0e9082',16,'File System Writes Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (42,'63480bca78a38435f24a5b5d5ed050d7',17,'Current Logins Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (44,'31fed1f9e139d4897d0460b10fb7be94',15,'Legend Color','','color_id');
+INSERT INTO graph_template_input VALUES (45,'bb9d83a02261583bc1f92d9e66ea705d',18,'CPU Usage Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (46,'51196222ed37b44236d9958116028980',18,'Legend Color','','color_id');
+INSERT INTO graph_template_input VALUES (47,'fd26b0f437b75715d6dff983e7efa710',19,'Free Space Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (48,'a463dd46862605c90ea60ccad74188db',19,'Total Space Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (49,'9977dd7a41bcf0f0c02872b442c7492e',19,'Freeable Space Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (51,'a7a69bbdf6890d6e6eaa7de16e815ec6',20,'Used Directory Entries Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (52,'0072b613a33f1fae5ce3e5903dec8fdb',20,'Available Directory Entries Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (53,'940beb0f0344e37f4c6cdfc17d2060bc',21,'Available Disk Space Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (54,'7b0674dd447a9badf0d11bec688028a8',21,'Used Disk Space Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (55,'fa83cd3a3b4271b644cb6459ea8c35dc',22,'Discards In Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (56,'7946e8ee1e38a65462b85e31a15e35e5',22,'Errors In Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (57,'00ae916640272f5aca54d73ae34c326b',23,'Unicast Packets Out Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (58,'1bc1652f82488ebfb7242c65d2ffa9c7',23,'Unicast Packets In Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (59,'e3177d0e56278de320db203f32fb803d',24,'Non-Unicast Packets In Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (60,'4f20fba2839764707f1c3373648c5fef',24,'Non-Unicast Packets Out Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (61,'e5acdd5368137c408d56ecf55b0e077c',22,'Discards Out Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (62,'a028e586e5fae667127c655fe0ac67f0',22,'Errors Out Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (63,'2764a4f142ba9fd95872106a1b43541e',25,'Inbound Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (64,'f73f7ddc1f4349356908122093dbfca2',25,'Outbound Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (65,'86bd8819d830a81d64267761e1fd8ec4',26,'Total Disk Space Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (66,'6c8967850102202de166951e4411d426',26,'Used Disk Space Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (67,'bdad718851a52b82eca0a310b0238450',27,'CPU Utilization Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (68,'e7b578e12eb8a82627557b955fd6ebd4',27,'Legend Color','','color_id');
+INSERT INTO graph_template_input VALUES (69,'37d09fb7ce88ecec914728bdb20027f3',28,'Logged in Users Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (70,'699bd7eff7ba0c3520db3692103a053d',28,'Legend Color','','color_id');
+INSERT INTO graph_template_input VALUES (71,'df905e159d13a5abed8a8a7710468831',29,'Processes Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (72,'8ca9e3c65c080dbf74a59338d64b0c14',29,'Legend Color','','color_id');
+INSERT INTO graph_template_input VALUES (73,'69ad68fc53af03565aef501ed5f04744',30,'Open Files Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (74,'562726cccdb67d5c6941e9e826ef4ef5',31,'Inbound Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (75,'82426afec226f8189c8928e7f083f80f',31,'Outbound Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (76,'69a23877302e7d142f254b208c58b596',32,'Inbound Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (77,'f28013abf8e5813870df0f4111a5e695',32,'Outbound Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (78,'8644b933b6a09dde6c32ff24655eeb9a',33,'Outbound Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (79,'49c4b4800f3e638a6f6bb681919aea80',33,'Inbound Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (80,'e0b395be8db4f7b938d16df7ae70065f',13,'Cache Memory Data Source','','task_item_id');
+INSERT INTO graph_template_input VALUES (81,'2dca37011521501b9c2b705d080db750',34,'Data Source [snmp_oid]',NULL,'task_item_id');
+INSERT INTO graph_template_input VALUES (82,'b8d8ade5f5f3dd7b12f8cc56bbb4083e',34,'Legend Color','','color_id');
+INSERT INTO graph_template_input VALUES (83,'ac2355b4895c37e14df827f969f31c12',34,'Legend Text','','text_format');
+
+--
+-- Table structure for table `graph_template_input_defs`
+--
+
+CREATE TABLE graph_template_input_defs (
+  graph_template_input_id mediumint(8) unsigned NOT NULL default '0',
+  graph_template_item_id int(12) unsigned NOT NULL default '0',
+  PRIMARY KEY  (graph_template_input_id,graph_template_item_id),
+  KEY graph_template_input_id (graph_template_input_id)
+) TYPE=MyISAM COMMENT='Stores the relationship for what graph iitems are associated';
+
+--
+-- Dumping data for table `graph_template_input_defs`
+--
+
+INSERT INTO graph_template_input_defs VALUES (3,9);
+INSERT INTO graph_template_input_defs VALUES (3,10);
+INSERT INTO graph_template_input_defs VALUES (3,11);
+INSERT INTO graph_template_input_defs VALUES (3,12);
+INSERT INTO graph_template_input_defs VALUES (4,13);
+INSERT INTO graph_template_input_defs VALUES (4,14);
+INSERT INTO graph_template_input_defs VALUES (4,15);
+INSERT INTO graph_template_input_defs VALUES (4,16);
+INSERT INTO graph_template_input_defs VALUES (5,21);
+INSERT INTO graph_template_input_defs VALUES (5,22);
+INSERT INTO graph_template_input_defs VALUES (5,23);
+INSERT INTO graph_template_input_defs VALUES (5,24);
+INSERT INTO graph_template_input_defs VALUES (6,17);
+INSERT INTO graph_template_input_defs VALUES (6,18);
+INSERT INTO graph_template_input_defs VALUES (6,19);
+INSERT INTO graph_template_input_defs VALUES (6,20);
+INSERT INTO graph_template_input_defs VALUES (7,45);
+INSERT INTO graph_template_input_defs VALUES (7,46);
+INSERT INTO graph_template_input_defs VALUES (7,47);
+INSERT INTO graph_template_input_defs VALUES (7,48);
+INSERT INTO graph_template_input_defs VALUES (8,49);
+INSERT INTO graph_template_input_defs VALUES (8,50);
+INSERT INTO graph_template_input_defs VALUES (8,51);
+INSERT INTO graph_template_input_defs VALUES (8,52);
+INSERT INTO graph_template_input_defs VALUES (9,45);
+INSERT INTO graph_template_input_defs VALUES (10,49);
+INSERT INTO graph_template_input_defs VALUES (11,53);
+INSERT INTO graph_template_input_defs VALUES (11,54);
+INSERT INTO graph_template_input_defs VALUES (11,55);
+INSERT INTO graph_template_input_defs VALUES (11,56);
+INSERT INTO graph_template_input_defs VALUES (12,57);
+INSERT INTO graph_template_input_defs VALUES (12,58);
+INSERT INTO graph_template_input_defs VALUES (12,59);
+INSERT INTO graph_template_input_defs VALUES (12,60);
+INSERT INTO graph_template_input_defs VALUES (13,53);
+INSERT INTO graph_template_input_defs VALUES (14,57);
+INSERT INTO graph_template_input_defs VALUES (15,61);
+INSERT INTO graph_template_input_defs VALUES (15,62);
+INSERT INTO graph_template_input_defs VALUES (15,63);
+INSERT INTO graph_template_input_defs VALUES (15,64);
+INSERT INTO graph_template_input_defs VALUES (16,61);
+INSERT INTO graph_template_input_defs VALUES (17,61);
+INSERT INTO graph_template_input_defs VALUES (18,65);
+INSERT INTO graph_template_input_defs VALUES (18,66);
+INSERT INTO graph_template_input_defs VALUES (18,67);
+INSERT INTO graph_template_input_defs VALUES (18,68);
+INSERT INTO graph_template_input_defs VALUES (19,65);
+INSERT INTO graph_template_input_defs VALUES (20,69);
+INSERT INTO graph_template_input_defs VALUES (20,70);
+INSERT INTO graph_template_input_defs VALUES (21,71);
+INSERT INTO graph_template_input_defs VALUES (21,72);
+INSERT INTO graph_template_input_defs VALUES (22,73);
+INSERT INTO graph_template_input_defs VALUES (22,74);
+INSERT INTO graph_template_input_defs VALUES (23,76);
+INSERT INTO graph_template_input_defs VALUES (23,77);
+INSERT INTO graph_template_input_defs VALUES (23,78);
+INSERT INTO graph_template_input_defs VALUES (23,79);
+INSERT INTO graph_template_input_defs VALUES (24,76);
+INSERT INTO graph_template_input_defs VALUES (25,80);
+INSERT INTO graph_template_input_defs VALUES (25,81);
+INSERT INTO graph_template_input_defs VALUES (26,82);
+INSERT INTO graph_template_input_defs VALUES (26,83);
+INSERT INTO graph_template_input_defs VALUES (27,84);
+INSERT INTO graph_template_input_defs VALUES (27,85);
+INSERT INTO graph_template_input_defs VALUES (30,95);
+INSERT INTO graph_template_input_defs VALUES (30,96);
+INSERT INTO graph_template_input_defs VALUES (30,97);
+INSERT INTO graph_template_input_defs VALUES (30,98);
+INSERT INTO graph_template_input_defs VALUES (31,99);
+INSERT INTO graph_template_input_defs VALUES (31,100);
+INSERT INTO graph_template_input_defs VALUES (31,101);
+INSERT INTO graph_template_input_defs VALUES (31,102);
+INSERT INTO graph_template_input_defs VALUES (32,29);
+INSERT INTO graph_template_input_defs VALUES (32,30);
+INSERT INTO graph_template_input_defs VALUES (32,31);
+INSERT INTO graph_template_input_defs VALUES (32,32);
+INSERT INTO graph_template_input_defs VALUES (33,33);
+INSERT INTO graph_template_input_defs VALUES (33,34);
+INSERT INTO graph_template_input_defs VALUES (33,35);
+INSERT INTO graph_template_input_defs VALUES (33,36);
+INSERT INTO graph_template_input_defs VALUES (34,37);
+INSERT INTO graph_template_input_defs VALUES (34,38);
+INSERT INTO graph_template_input_defs VALUES (34,39);
+INSERT INTO graph_template_input_defs VALUES (34,40);
+INSERT INTO graph_template_input_defs VALUES (35,103);
+INSERT INTO graph_template_input_defs VALUES (35,104);
+INSERT INTO graph_template_input_defs VALUES (35,105);
+INSERT INTO graph_template_input_defs VALUES (35,106);
+INSERT INTO graph_template_input_defs VALUES (36,107);
+INSERT INTO graph_template_input_defs VALUES (36,108);
+INSERT INTO graph_template_input_defs VALUES (36,109);
+INSERT INTO graph_template_input_defs VALUES (36,110);
+INSERT INTO graph_template_input_defs VALUES (37,111);
+INSERT INTO graph_template_input_defs VALUES (37,112);
+INSERT INTO graph_template_input_defs VALUES (37,113);
+INSERT INTO graph_template_input_defs VALUES (37,114);
+INSERT INTO graph_template_input_defs VALUES (38,115);
+INSERT INTO graph_template_input_defs VALUES (38,116);
+INSERT INTO graph_template_input_defs VALUES (38,117);
+INSERT INTO graph_template_input_defs VALUES (38,118);
+INSERT INTO graph_template_input_defs VALUES (39,119);
+INSERT INTO graph_template_input_defs VALUES (39,120);
+INSERT INTO graph_template_input_defs VALUES (39,121);
+INSERT INTO graph_template_input_defs VALUES (39,122);
+INSERT INTO graph_template_input_defs VALUES (40,123);
+INSERT INTO graph_template_input_defs VALUES (40,124);
+INSERT INTO graph_template_input_defs VALUES (40,125);
+INSERT INTO graph_template_input_defs VALUES (40,126);
+INSERT INTO graph_template_input_defs VALUES (41,127);
+INSERT INTO graph_template_input_defs VALUES (41,128);
+INSERT INTO graph_template_input_defs VALUES (41,129);
+INSERT INTO graph_template_input_defs VALUES (41,130);
+INSERT INTO graph_template_input_defs VALUES (42,131);
+INSERT INTO graph_template_input_defs VALUES (42,132);
+INSERT INTO graph_template_input_defs VALUES (42,133);
+INSERT INTO graph_template_input_defs VALUES (42,134);
+INSERT INTO graph_template_input_defs VALUES (44,119);
+INSERT INTO graph_template_input_defs VALUES (45,139);
+INSERT INTO graph_template_input_defs VALUES (45,140);
+INSERT INTO graph_template_input_defs VALUES (45,141);
+INSERT INTO graph_template_input_defs VALUES (45,142);
+INSERT INTO graph_template_input_defs VALUES (46,139);
+INSERT INTO graph_template_input_defs VALUES (47,143);
+INSERT INTO graph_template_input_defs VALUES (47,144);
+INSERT INTO graph_template_input_defs VALUES (47,145);
+INSERT INTO graph_template_input_defs VALUES (47,146);
+INSERT INTO graph_template_input_defs VALUES (48,147);
+INSERT INTO graph_template_input_defs VALUES (48,148);
+INSERT INTO graph_template_input_defs VALUES (48,149);
+INSERT INTO graph_template_input_defs VALUES (48,150);
+INSERT INTO graph_template_input_defs VALUES (49,151);
+INSERT INTO graph_template_input_defs VALUES (49,152);
+INSERT INTO graph_template_input_defs VALUES (49,153);
+INSERT INTO graph_template_input_defs VALUES (49,154);
+INSERT INTO graph_template_input_defs VALUES (51,159);
+INSERT INTO graph_template_input_defs VALUES (51,160);
+INSERT INTO graph_template_input_defs VALUES (51,161);
+INSERT INTO graph_template_input_defs VALUES (51,162);
+INSERT INTO graph_template_input_defs VALUES (52,163);
+INSERT INTO graph_template_input_defs VALUES (52,164);
+INSERT INTO graph_template_input_defs VALUES (52,165);
+INSERT INTO graph_template_input_defs VALUES (52,166);
+INSERT INTO graph_template_input_defs VALUES (53,172);
+INSERT INTO graph_template_input_defs VALUES (53,173);
+INSERT INTO graph_template_input_defs VALUES (53,174);
+INSERT INTO graph_template_input_defs VALUES (53,175);
+INSERT INTO graph_template_input_defs VALUES (54,167);
+INSERT INTO graph_template_input_defs VALUES (54,169);
+INSERT INTO graph_template_input_defs VALUES (54,170);
+INSERT INTO graph_template_input_defs VALUES (54,171);
+INSERT INTO graph_template_input_defs VALUES (55,180);
+INSERT INTO graph_template_input_defs VALUES (55,181);
+INSERT INTO graph_template_input_defs VALUES (55,182);
+INSERT INTO graph_template_input_defs VALUES (55,183);
+INSERT INTO graph_template_input_defs VALUES (56,184);
+INSERT INTO graph_template_input_defs VALUES (56,185);
+INSERT INTO graph_template_input_defs VALUES (56,186);
+INSERT INTO graph_template_input_defs VALUES (56,187);
+INSERT INTO graph_template_input_defs VALUES (57,188);
+INSERT INTO graph_template_input_defs VALUES (57,189);
+INSERT INTO graph_template_input_defs VALUES (57,190);
+INSERT INTO graph_template_input_defs VALUES (57,191);
+INSERT INTO graph_template_input_defs VALUES (58,192);
+INSERT INTO graph_template_input_defs VALUES (58,193);
+INSERT INTO graph_template_input_defs VALUES (58,194);
+INSERT INTO graph_template_input_defs VALUES (58,195);
+INSERT INTO graph_template_input_defs VALUES (59,196);
+INSERT INTO graph_template_input_defs VALUES (59,197);
+INSERT INTO graph_template_input_defs VALUES (59,198);
+INSERT INTO graph_template_input_defs VALUES (59,199);
+INSERT INTO graph_template_input_defs VALUES (60,200);
+INSERT INTO graph_template_input_defs VALUES (60,201);
+INSERT INTO graph_template_input_defs VALUES (60,202);
+INSERT INTO graph_template_input_defs VALUES (60,203);
+INSERT INTO graph_template_input_defs VALUES (61,204);
+INSERT INTO graph_template_input_defs VALUES (61,205);
+INSERT INTO graph_template_input_defs VALUES (61,206);
+INSERT INTO graph_template_input_defs VALUES (61,207);
+INSERT INTO graph_template_input_defs VALUES (62,208);
+INSERT INTO graph_template_input_defs VALUES (62,209);
+INSERT INTO graph_template_input_defs VALUES (62,210);
+INSERT INTO graph_template_input_defs VALUES (62,211);
+INSERT INTO graph_template_input_defs VALUES (63,212);
+INSERT INTO graph_template_input_defs VALUES (63,213);
+INSERT INTO graph_template_input_defs VALUES (63,214);
+INSERT INTO graph_template_input_defs VALUES (63,215);
+INSERT INTO graph_template_input_defs VALUES (64,216);
+INSERT INTO graph_template_input_defs VALUES (64,217);
+INSERT INTO graph_template_input_defs VALUES (64,218);
+INSERT INTO graph_template_input_defs VALUES (64,219);
+INSERT INTO graph_template_input_defs VALUES (65,307);
+INSERT INTO graph_template_input_defs VALUES (65,308);
+INSERT INTO graph_template_input_defs VALUES (65,309);
+INSERT INTO graph_template_input_defs VALUES (65,310);
+INSERT INTO graph_template_input_defs VALUES (66,303);
+INSERT INTO graph_template_input_defs VALUES (66,304);
+INSERT INTO graph_template_input_defs VALUES (66,305);
+INSERT INTO graph_template_input_defs VALUES (66,306);
+INSERT INTO graph_template_input_defs VALUES (67,315);
+INSERT INTO graph_template_input_defs VALUES (67,316);
+INSERT INTO graph_template_input_defs VALUES (67,317);
+INSERT INTO graph_template_input_defs VALUES (67,318);
+INSERT INTO graph_template_input_defs VALUES (68,315);
+INSERT INTO graph_template_input_defs VALUES (69,319);
+INSERT INTO graph_template_input_defs VALUES (69,320);
+INSERT INTO graph_template_input_defs VALUES (69,321);
+INSERT INTO graph_template_input_defs VALUES (69,322);
+INSERT INTO graph_template_input_defs VALUES (70,319);
+INSERT INTO graph_template_input_defs VALUES (71,323);
+INSERT INTO graph_template_input_defs VALUES (71,324);
+INSERT INTO graph_template_input_defs VALUES (71,325);
+INSERT INTO graph_template_input_defs VALUES (71,326);
+INSERT INTO graph_template_input_defs VALUES (72,323);
+INSERT INTO graph_template_input_defs VALUES (73,358);
+INSERT INTO graph_template_input_defs VALUES (73,359);
+INSERT INTO graph_template_input_defs VALUES (73,360);
+INSERT INTO graph_template_input_defs VALUES (73,361);
+INSERT INTO graph_template_input_defs VALUES (74,362);
+INSERT INTO graph_template_input_defs VALUES (74,363);
+INSERT INTO graph_template_input_defs VALUES (74,364);
+INSERT INTO graph_template_input_defs VALUES (74,365);
+INSERT INTO graph_template_input_defs VALUES (75,366);
+INSERT INTO graph_template_input_defs VALUES (75,367);
+INSERT INTO graph_template_input_defs VALUES (75,368);
+INSERT INTO graph_template_input_defs VALUES (75,369);
+INSERT INTO graph_template_input_defs VALUES (75,371);
+INSERT INTO graph_template_input_defs VALUES (75,372);
+INSERT INTO graph_template_input_defs VALUES (76,373);
+INSERT INTO graph_template_input_defs VALUES (76,374);
+INSERT INTO graph_template_input_defs VALUES (76,375);
+INSERT INTO graph_template_input_defs VALUES (76,376);
+INSERT INTO graph_template_input_defs VALUES (76,383);
+INSERT INTO graph_template_input_defs VALUES (77,377);
+INSERT INTO graph_template_input_defs VALUES (77,378);
+INSERT INTO graph_template_input_defs VALUES (77,379);
+INSERT INTO graph_template_input_defs VALUES (77,380);
+INSERT INTO graph_template_input_defs VALUES (77,384);
+INSERT INTO graph_template_input_defs VALUES (78,385);
+INSERT INTO graph_template_input_defs VALUES (78,386);
+INSERT INTO graph_template_input_defs VALUES (78,387);
+INSERT INTO graph_template_input_defs VALUES (78,388);
+INSERT INTO graph_template_input_defs VALUES (78,393);
+INSERT INTO graph_template_input_defs VALUES (79,389);
+INSERT INTO graph_template_input_defs VALUES (79,390);
+INSERT INTO graph_template_input_defs VALUES (79,391);
+INSERT INTO graph_template_input_defs VALUES (79,392);
+INSERT INTO graph_template_input_defs VALUES (79,394);
+INSERT INTO graph_template_input_defs VALUES (80,403);
+INSERT INTO graph_template_input_defs VALUES (80,404);
+INSERT INTO graph_template_input_defs VALUES (80,405);
+INSERT INTO graph_template_input_defs VALUES (80,406);
+INSERT INTO graph_template_input_defs VALUES (81,407);
+INSERT INTO graph_template_input_defs VALUES (81,408);
+INSERT INTO graph_template_input_defs VALUES (81,409);
+INSERT INTO graph_template_input_defs VALUES (81,410);
+INSERT INTO graph_template_input_defs VALUES (82,407);
+INSERT INTO graph_template_input_defs VALUES (83,407);
+
+--
+-- Table structure for table `graph_templates`
+--
+
+CREATE TABLE graph_templates (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  hash char(32) NOT NULL default '',
+  name char(255) NOT NULL default '',
+  PRIMARY KEY  (id),
+  KEY name (name)
+) TYPE=MyISAM COMMENT='Contains each graph template name.';
+
+--
+-- Dumping data for table `graph_templates`
+--
+
+INSERT INTO graph_templates VALUES (34,'010b90500e1fc6a05abfd542940584d0','SNMP - Generic OID Template');
+INSERT INTO graph_templates VALUES (2,'5deb0d66c81262843dce5f3861be9966','Interface - Traffic (bits/sec)');
+INSERT INTO graph_templates VALUES (3,'abb5e813c9f1e8cd6fc1e393092ef8cb','ucd/net - Available Disk Space');
+INSERT INTO graph_templates VALUES (4,'e334bdcf821cd27270a4cc945e80915e','ucd/net - CPU Usage');
+INSERT INTO graph_templates VALUES (5,'280e38336d77acde4672879a7db823f3','Karlnet - Wireless Levels');
+INSERT INTO graph_templates VALUES (6,'3109d88e6806d2ce50c025541b542499','Karlnet - Wireless Transmissions');
+INSERT INTO graph_templates VALUES (7,'cf96dfb22b58e08bf101ca825377fa4b','Unix - Ping Latency');
+INSERT INTO graph_templates VALUES (8,'9fe8b4da353689d376b99b2ea526cc6b','Unix - Processes');
+INSERT INTO graph_templates VALUES (9,'fe5edd777a76d48fc48c11aded5211ef','Unix - Load Average');
+INSERT INTO graph_templates VALUES (10,'63610139d44d52b195cc375636653ebd','Unix - Logged in Users');
+INSERT INTO graph_templates VALUES (11,'5107ec0206562e77d965ce6b852ef9d4','ucd/net - Load Average');
+INSERT INTO graph_templates VALUES (12,'6992ed4df4b44f3d5595386b8298f0ec','Linux - Memory Usage');
+INSERT INTO graph_templates VALUES (13,'be275639d5680e94c72c0ebb4e19056d','ucd/net - Memory Usage');
+INSERT INTO graph_templates VALUES (14,'f17e4a77b8496725dc924b8c35b60036','Netware - File System Cache');
+INSERT INTO graph_templates VALUES (15,'46bb77f4c0c69671980e3c60d3f22fa9','Netware - CPU Utilization');
+INSERT INTO graph_templates VALUES (16,'8e77a3036312fd0fda32eaea2b5f141b','Netware - File System Activity');
+INSERT INTO graph_templates VALUES (17,'5892c822b1bb2d38589b6c27934b9936','Netware - Logged In Users');
+INSERT INTO graph_templates VALUES (18,'9a5e6d7781cc1bd6cf24f64dd6ffb423','Cisco - CPU Usage');
+INSERT INTO graph_templates VALUES (19,'0dd0438d5e6cad6776f79ecaa96fb708','Netware - Volume Information');
+INSERT INTO graph_templates VALUES (20,'b18a3742ebea48c6198412b392d757fc','Netware - Directory Information');
+INSERT INTO graph_templates VALUES (21,'8e7c8a511652fe4a8e65c69f3d34779d','Unix - Available Disk Space');
+INSERT INTO graph_templates VALUES (22,'06621cd4a9289417cadcb8f9b5cfba80','Interface - Errors/Discards');
+INSERT INTO graph_templates VALUES (23,'e0d1625a1f4776a5294583659d5cee15','Interface - Unicast Packets');
+INSERT INTO graph_templates VALUES (24,'10ca5530554da7b73dc69d291bf55d38','Interface - Non-Unicast Packets');
+INSERT INTO graph_templates VALUES (25,'df244b337547b434b486662c3c5c7472','Interface - Traffic (bytes/sec)');
+INSERT INTO graph_templates VALUES (26,'7489e44466abee8a7d8636cb2cb14a1a','Host MIB - Available Disk Space');
+INSERT INTO graph_templates VALUES (27,'c6bb62bedec4ab97f9db9fd780bd85a6','Host MIB - CPU Utilization');
+INSERT INTO graph_templates VALUES (28,'e8462bbe094e4e9e814d4e681671ea82','Host MIB - Logged in Users');
+INSERT INTO graph_templates VALUES (29,'62205afbd4066e5c4700338841e3901e','Host MIB - Processes');
+INSERT INTO graph_templates VALUES (30,'e3780a13b0f7a3f85a44b70cd4d2fd36','Netware - Open Files');
+INSERT INTO graph_templates VALUES (31,'1742b2066384637022d178cc5072905a','Interface - Traffic (bits/sec, 95th Percentile)');
+INSERT INTO graph_templates VALUES (32,'13b47e10b2d5db45707d61851f69c52b','Interface - Traffic (bits/sec, Total Bandwidth)');
+INSERT INTO graph_templates VALUES (33,'8ad6790c22b693680e041f21d62537ac','Interface - Traffic (bytes/sec, Total Bandwidth)');
+
+--
+-- Table structure for table `graph_templates_gprint`
+--
+
+CREATE TABLE graph_templates_gprint (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  hash varchar(32) NOT NULL default '',
+  name varchar(100) NOT NULL default '',
+  gprint_text varchar(255) default NULL,
+  PRIMARY KEY  (id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `graph_templates_gprint`
+--
+
+INSERT INTO graph_templates_gprint VALUES (2,'e9c43831e54eca8069317a2ce8c6f751','Normal','%8.2lf %s');
+INSERT INTO graph_templates_gprint VALUES (3,'19414480d6897c8731c7dc6c5310653e','Exact Numbers','%8.0lf');
+INSERT INTO graph_templates_gprint VALUES (4,'304a778405392f878a6db435afffc1e9','Load Average','%8.2lf');
+
+--
+-- Table structure for table `graph_templates_graph`
+--
+
+CREATE TABLE graph_templates_graph (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  local_graph_template_graph_id mediumint(8) unsigned NOT NULL default '0',
+  local_graph_id mediumint(8) unsigned NOT NULL default '0',
+  graph_template_id mediumint(8) unsigned NOT NULL default '0',
+  t_image_format_id char(2) default '0',
+  image_format_id tinyint(1) NOT NULL default '0',
+  t_title char(2) default '0',
+  title varchar(255) NOT NULL default '',
+  title_cache varchar(255) NOT NULL default '',
+  t_height char(2) default '0',
+  height mediumint(8) NOT NULL default '0',
+  t_width char(2) default '0',
+  width mediumint(8) NOT NULL default '0',
+  t_upper_limit char(2) default '0',
+  upper_limit varchar(20) NOT NULL default '0',
+  t_lower_limit char(2) default '0',
+  lower_limit varchar(20) NOT NULL default '0',
+  t_vertical_label char(2) default '0',
+  vertical_label varchar(200) default NULL,
+  t_slope_mode char(2) default '0',
+  slope_mode char(2) default 'on',
+  t_auto_scale char(2) default '0',
+  auto_scale char(2) default NULL,
+  t_auto_scale_opts char(2) default '0',
+  auto_scale_opts tinyint(1) NOT NULL default '0',
+  t_auto_scale_log char(2) default '0',
+  auto_scale_log char(2) default NULL,
+  t_scale_log_units char(2) default '0',
+  scale_log_units char(2) default NULL,
+  t_auto_scale_rigid char(2) default '0',
+  auto_scale_rigid char(2) default NULL,
+  t_auto_padding char(2) default '0',
+  auto_padding char(2) default NULL,
+  t_base_value char(2) default '0',
+  base_value mediumint(8) NOT NULL default '0',
+  t_grouping char(2) default '0',
+  grouping char(2) NOT NULL default '',
+  t_export char(2) default '0',
+  export char(2) default NULL,
+  t_unit_value char(2) default '0',
+  unit_value varchar(20) default NULL,
+  t_unit_exponent_value char(2) default '0',
+  unit_exponent_value varchar(5) NOT NULL default '',
+  PRIMARY KEY  (id),
+  KEY local_graph_id (local_graph_id),
+  KEY graph_template_id (graph_template_id),
+  KEY title_cache (title_cache)
+) TYPE=MyISAM COMMENT='Stores the actual graph data.';
+
+--
+-- Dumping data for table `graph_templates_graph`
+--
+
+INSERT INTO graph_templates_graph VALUES (2,0,0,2,'',1,'on','|host_description| - Traffic','','',120,'',500,'','100','','0','','bits per second','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (3,0,0,3,'',1,'on','|host_description| - Hard Drive Space','','',120,'',500,'','100','','0','','bytes','0','on','','on','',2,'','','0','','','on','','on','',1024,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (4,0,0,4,'',1,'','|host_description| - CPU Usage','','',120,'',500,'','100','','0','','percent','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (5,0,0,5,'',1,'on','|host_description| - Wireless Levels','','',120,'',500,'','100','','0','','percent','0','on','','','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (6,0,0,6,'',1,'on','|host_description| - Wireless Transmissions','','',120,'',500,'','100','','0','','transmissions','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (7,0,0,7,'',1,'','|host_description| - Ping Latency','','',120,'',500,'','100','','0','','milliseconds','0','on','','on','',2,'','','0','','','','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (8,0,0,8,'',1,'','|host_description| - Processes','','',120,'',500,'','100','','0','','processes','0','on','','on','',2,'','','0','','','','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (9,0,0,9,'',1,'','|host_description| - Load Average','','',120,'',500,'','100','','0','','processes in the run queue','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','0');
+INSERT INTO graph_templates_graph VALUES (10,0,0,10,'',1,'','|host_description| - Logged in Users','','',120,'',500,'','100','','0','','users','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (11,0,0,11,'',1,'','|host_description| - Load Average','','',120,'',500,'','100','','0','','processes in the run queue','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','0');
+INSERT INTO graph_templates_graph VALUES (12,0,0,12,'',1,'','|host_description| - Memory Usage','','',120,'',500,'','100','','0','','kilobytes','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (13,0,0,13,'',1,'','|host_description| - Memory Usage','','',120,'',500,'','100','','0','','bytes','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (14,0,0,14,'',1,'','|host_description| - File System Cache','','',120,'',500,'','100','','0','','cache checks/hits','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (15,0,0,15,'',1,'','|host_description| - CPU Utilization','','',120,'',500,'','100','','0','','percent','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (16,0,0,16,'',1,'','|host_description| - File System Activity','','',120,'',500,'','100','','0','','reads/writes per sec','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (17,0,0,17,'',1,'','|host_description| - Logged In Users','','',120,'',500,'','100','','0','','users','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (18,0,0,18,'',1,'','|host_description| - CPU Usage','','',120,'',500,'','100','','0','','percent','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (19,0,0,19,'',1,'on','|host_description| - Volume Information','','',120,'',500,'','100','','0','','bytes','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (20,0,0,20,'',1,'','|host_description| - Directory Information','','',120,'',500,'','100','','0','','directory entries','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (21,0,0,21,'',1,'on','|host_description| - Available Disk Space','','',120,'',500,'','100','','0','','bytes','0','on','','on','',2,'','','0','','','on','','on','',1024,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (22,0,0,22,'',1,'on','|host_description| - Errors/Discards','','',120,'',500,'','100','','0','','errors/sec','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (23,0,0,23,'',1,'on','|host_description| - Unicast Packets','','',120,'',500,'','100','','0','','packets/sec','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (24,0,0,24,'',1,'on','|host_description| - Non-Unicast Packets','','',120,'',500,'','100','','0','','packets/sec','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (25,0,0,25,'',1,'on','|host_description| - Traffic','','',120,'',500,'','100','','0','','bytes per second','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (34,0,0,26,'',1,'on','|host_description| - Available Disk Space','','',120,'',500,'','100','','0','','bytes','0','on','','on','',2,'','','0','','','on','','on','',1024,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (35,0,0,27,'',1,'on','|host_description| - CPU Utilization','','',120,'',500,'','100','','0','','percent','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (36,0,0,28,'',1,'','|host_description| - Logged in Users','','',120,'',500,'','100','','0','','users','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (37,0,0,29,'',1,'','|host_description| - Processes','','',120,'',500,'','100','','0','','processes','0','on','','on','',2,'','','0','','','','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (38,12,1,12,'0',1,'0','|host_description| - Memory Usage','Localhost - Memory Usage','0',120,'0',500,'0','100','0','0','0','kilobytes','0','on','0','on','0',2,'0','','0','','0','on','0','on','0',1000,'0','','0','on','0','','0','');
+INSERT INTO graph_templates_graph VALUES (39,9,2,9,'0',1,'0','|host_description| - Load Average','Localhost - Load Average','0',120,'0',500,'0','100','0','0','0','processes in the run queue','0','on','0','on','0',2,'0','','0','','0','on','0','on','0',1000,'0','','0','on','0','','0','0');
+INSERT INTO graph_templates_graph VALUES (40,10,3,10,'0',1,'0','|host_description| - Logged in Users','Localhost - Logged in Users','0',120,'0',500,'0','100','0','0','0','users','0','on','0','on','0',2,'0','','0','','0','on','0','on','0',1000,'0','','0','on','0','','0','');
+INSERT INTO graph_templates_graph VALUES (41,8,4,8,'0',1,'0','|host_description| - Processes','Localhost - Processes','0',120,'0',500,'0','100','0','0','0','processes','0','on','0','on','0',2,'0','','0','','0','','0','on','0',1000,'0','','0','on','0','','0','');
+INSERT INTO graph_templates_graph VALUES (42,0,0,30,'',1,'','|host_description| - Open Files','','',120,'',500,'','100','','0','','files','0','on','','on','',2,'','','0','','','','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (43,0,0,31,'',1,'on','|host_description| - Traffic','','',120,'',500,'','100','','0','','bits per second','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (44,0,0,32,'',1,'on','|host_description| - Traffic','','',120,'',500,'','100','','0','','bits per second','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (45,0,0,33,'',1,'on','|host_description| - Traffic','','',120,'',500,'','100','','0','','bytes per second','0','on','','on','',2,'','','0','','','on','','on','',1000,'0','','','on','','','','');
+INSERT INTO graph_templates_graph VALUES (47,0,0,34,'',1,'on','|host_description| -','','',120,'',500,'','100','','0','on','','0','on','','on','',2,'','','0','','','','','on','',1000,'0','','','on','','','','');
+
+--
+-- Table structure for table `graph_templates_item`
+--
+
+CREATE TABLE graph_templates_item (
+  id int(12) unsigned NOT NULL auto_increment,
+  hash varchar(32) NOT NULL default '',
+  local_graph_template_item_id int(12) unsigned NOT NULL default '0',
+  local_graph_id mediumint(8) unsigned NOT NULL default '0',
+  graph_template_id mediumint(8) unsigned NOT NULL default '0',
+  task_item_id mediumint(8) unsigned NOT NULL default '0',
+  color_id mediumint(8) unsigned NOT NULL default '0',
+  alpha char(2) default 'FF',
+  graph_type_id tinyint(3) NOT NULL default '0',
+  cdef_id mediumint(8) unsigned NOT NULL default '0',
+  consolidation_function_id tinyint(2) NOT NULL default '0',
+  text_format varchar(255) default NULL,
+  value varchar(255) default NULL,
+  hard_return char(2) default NULL,
+  gprint_id mediumint(8) unsigned NOT NULL default '0',
+  sequence mediumint(8) unsigned NOT NULL default '0',
+  PRIMARY KEY  (id),
+  KEY graph_template_id (graph_template_id),
+  KEY local_graph_id (local_graph_id),
+  KEY task_item_id (task_item_id)
+) TYPE=MyISAM COMMENT='Stores the actual graph item data.';
+
+--
+-- Dumping data for table `graph_templates_item`
+--
+
+INSERT INTO graph_templates_item VALUES (9,'0470b2427dbfadb6b8346e10a71268fa',0,0,2,54,22,'FF',7,2,1,'Inbound','','',2,1);
+INSERT INTO graph_templates_item VALUES (10,'84a5fe0db518550266309823f994ce9c',0,0,2,54,0,'FF',9,2,4,'Current:','','',2,2);
+INSERT INTO graph_templates_item VALUES (11,'2f222f28084085cd06a1f46e4449c793',0,0,2,54,0,'FF',9,2,1,'Average:','','',2,3);
+INSERT INTO graph_templates_item VALUES (12,'55acbcc33f46ee6d754e8e81d1b54808',0,0,2,54,0,'FF',9,2,3,'Maximum:','','on',2,4);
+INSERT INTO graph_templates_item VALUES (13,'fdaf2321fc890e355711c2bffc07d036',0,0,2,55,20,'FF',4,2,1,'Outbound','','',2,5);
+INSERT INTO graph_templates_item VALUES (14,'768318f42819217ed81196d2179d3e1b',0,0,2,55,0,'FF',9,2,4,'Current:','','',2,6);
+INSERT INTO graph_templates_item VALUES (15,'cb3aa6256dcb3acd50d4517b77a1a5c3',0,0,2,55,0,'FF',9,2,1,'Average:','','',2,7);
+INSERT INTO graph_templates_item VALUES (16,'671e989be7cbf12c623b4e79d91c7bed',0,0,2,55,0,'FF',9,2,3,'Maximum:','','on',2,8);
+INSERT INTO graph_templates_item VALUES (17,'b561ed15b3ba66d277e6d7c1640b86f7',0,0,3,4,48,'FF',7,14,1,'Used','','',2,1);
+INSERT INTO graph_templates_item VALUES (18,'99ef051057fa6adfa6834a7632e9d8a2',0,0,3,4,0,'FF',9,14,4,'Current:','','',2,2);
+INSERT INTO graph_templates_item VALUES (19,'3986695132d3f4716872df4c6fbccb65',0,0,3,4,0,'FF',9,14,1,'Average:','','',2,3);
+INSERT INTO graph_templates_item VALUES (20,'0444300017b368e6257f010dca8bbd0d',0,0,3,4,0,'FF',9,14,3,'Maximum:','','on',2,4);
+INSERT INTO graph_templates_item VALUES (21,'4d6a0b9063124ca60e2d1702b3e15e41',0,0,3,3,20,'FF',8,14,1,'Available','','',2,5);
+INSERT INTO graph_templates_item VALUES (22,'181b08325e4d00cd50b8cdc8f8ae8e77',0,0,3,3,0,'FF',9,14,4,'Current:','','',2,6);
+INSERT INTO graph_templates_item VALUES (23,'bba0a9ff1357c990df50429d64314340',0,0,3,3,0,'FF',9,14,1,'Average:','','',2,7);
+INSERT INTO graph_templates_item VALUES (24,'d4a67883d53bc1df8aead21c97c0bc52',0,0,3,3,0,'FF',9,14,3,'Maximum:','','on',2,8);
+INSERT INTO graph_templates_item VALUES (25,'253c9ec2d66905245149c1c2dc8e536e',0,0,3,0,1,'FF',5,15,1,'Total','','',2,9);
+INSERT INTO graph_templates_item VALUES (26,'ea9ea883383f4eb462fec6aa309ba7b5',0,0,3,0,0,'FF',9,15,4,'Current:','','',2,10);
+INSERT INTO graph_templates_item VALUES (27,'83b746bcaba029eeca170a9f77ec4864',0,0,3,0,0,'FF',9,15,1,'Average:','','',2,11);
+INSERT INTO graph_templates_item VALUES (28,'82e01dd92fd37887c0696192efe7af65',0,0,3,0,0,'FF',9,15,3,'Maximum:','','on',2,12);
+INSERT INTO graph_templates_item VALUES (29,'ff0a6125acbb029b814ed1f271ad2d38',0,0,4,5,9,'FF',7,0,1,'System','','',2,1);
+INSERT INTO graph_templates_item VALUES (30,'f0776f7d6638bba76c2c27f75a424f0f',0,0,4,5,0,'FF',9,0,4,'Current:','','',2,2);
+INSERT INTO graph_templates_item VALUES (31,'39f4e021aa3fed9207b5f45a82122b21',0,0,4,5,0,'FF',9,0,1,'Average:','','',2,3);
+INSERT INTO graph_templates_item VALUES (32,'800f0b067c06f4ec9c2316711ea83c1e',0,0,4,5,0,'FF',9,0,3,'Maximum:','','on',2,4);
+INSERT INTO graph_templates_item VALUES (33,'9419dd5dbf549ba4c5dc1462da6ee321',0,0,4,6,21,'FF',8,0,1,'User','','',2,5);
+INSERT INTO graph_templates_item VALUES (34,'e461dd263ae47657ea2bf3fd82bec096',0,0,4,6,0,'FF',9,0,4,'Current:','','',2,6);
+INSERT INTO graph_templates_item VALUES (35,'f2d1fbb8078a424ffc8a6c9d44d8caa0',0,0,4,6,0,'FF',9,0,1,'Average:','','',2,7);
+INSERT INTO graph_templates_item VALUES (36,'e70a5de639df5ba1705b5883da7fccfc',0,0,4,6,0,'FF',9,0,3,'Maximum:','','on',2,8);
+INSERT INTO graph_templates_item VALUES (37,'85fefb25ce9fd0317da2706a5463fc42',0,0,4,7,12,'FF',8,0,1,'Nice','','',2,9);
+INSERT INTO graph_templates_item VALUES (38,'a1cb26878776999db16f1de7577b3c2a',0,0,4,7,0,'FF',9,0,4,'Current:','','',2,10);
+INSERT INTO graph_templates_item VALUES (39,'7d0f9bf64a0898a0095f099674754273',0,0,4,7,0,'FF',9,0,1,'Average:','','',2,11);
+INSERT INTO graph_templates_item VALUES (40,'b2879248a522d9679333e1f29e9a87c3',0,0,4,7,0,'FF',9,0,3,'Maximum:','','on',2,12);
+INSERT INTO graph_templates_item VALUES (41,'d800aa59eee45383b3d6d35a11cdc864',0,0,4,0,1,'FF',4,12,1,'Total','','',2,13);
+INSERT INTO graph_templates_item VALUES (42,'cab4ae79a546826288e273ca1411c867',0,0,4,0,0,'FF',9,12,4,'Current:','','',2,14);
+INSERT INTO graph_templates_item VALUES (43,'d44306ae85622fec971507460be63f5c',0,0,4,0,0,'FF',9,12,1,'Average:','','',2,15);
+INSERT INTO graph_templates_item VALUES (44,'aa5c2118035bb83be497d4e099afcc0d',0,0,4,0,0,'FF',9,12,3,'Maximum:','','on',2,16);
+INSERT INTO graph_templates_item VALUES (45,'4aa34ea1b7542b770ace48e8bc395a22',0,0,5,9,48,'FF',7,0,1,'Signal Level','','',2,1);
+INSERT INTO graph_templates_item VALUES (46,'22f118a9d81d0a9c8d922efbbc8a9cc1',0,0,5,9,0,'FF',9,0,4,'Current:','','',2,2);
+INSERT INTO graph_templates_item VALUES (47,'229de0c4b490de9d20d8f8d41059f933',0,0,5,9,0,'FF',9,0,1,'Average:','','',2,3);
+INSERT INTO graph_templates_item VALUES (48,'cd17feb30c02fd8f21e4d4dcde04e024',0,0,5,9,0,'FF',9,0,3,'Maximum:','','on',2,4);
+INSERT INTO graph_templates_item VALUES (49,'8723600cfd0f8a7b3f7dc1361981aabd',0,0,5,8,25,'FF',5,0,1,'Noise Level','','',2,5);
+INSERT INTO graph_templates_item VALUES (50,'cb06be2601b5abfb7a42fc07586de1c2',0,0,5,8,0,'FF',9,0,4,'Current:','','',2,6);
+INSERT INTO graph_templates_item VALUES (51,'55a2ee0fd511e5210ed85759171de58f',0,0,5,8,0,'FF',9,0,1,'Average:','','',2,7);
+INSERT INTO graph_templates_item VALUES (52,'704459564c84e42462e106eef20db169',0,0,5,8,0,'FF',9,0,3,'Maximum:','','on',2,8);
+INSERT INTO graph_templates_item VALUES (53,'aaebb19ec522497eaaf8c87a631b7919',0,0,6,10,48,'FF',7,0,1,'Transmissions','','',2,1);
+INSERT INTO graph_templates_item VALUES (54,'8b54843ac9d41bce2fcedd023560ed64',0,0,6,10,0,'FF',9,0,4,'Current:','','',2,2);
+INSERT INTO graph_templates_item VALUES (55,'05927dc83e07c7d9cffef387d68f35c9',0,0,6,10,0,'FF',9,0,1,'Average:','','',2,3);
+INSERT INTO graph_templates_item VALUES (56,'d11e62225a7e7a0cdce89242002ca547',0,0,6,10,0,'FF',9,0,3,'Maximum:','','on',2,4);
+INSERT INTO graph_templates_item VALUES (57,'6397b92032486c476b0e13a35b727041',0,0,6,11,25,'FF',5,0,1,'Re-Transmissions','','',2,5);
+INSERT INTO graph_templates_item VALUES (58,'cdfa5f8f82f4c479ff7f6f54160703f6',0,0,6,11,0,'FF',9,0,4,'Current:','','',2,6);
+INSERT INTO graph_templates_item VALUES (59,'ce2a309fb9ef64f83f471895069a6f07',0,0,6,11,0,'FF',9,0,1,'Average:','','',2,7);
+INSERT INTO graph_templates_item VALUES (60,'9cbfbf57ebde435b27887f27c7d3caea',0,0,6,11,0,'FF',9,0,3,'Maximum:','','on',2,8);
+INSERT INTO graph_templates_item VALUES (61,'80e0aa956f50c261e5143273da58b8a3',0,0,7,21,25,'FF',7,0,1,'','','',2,1);
+INSERT INTO graph_templates_item VALUES (62,'48fdcae893a7b7496e1a61efc3453599',0,0,7,21,0,'FF',9,0,4,'Current:','','',2,2);
+INSERT INTO graph_templates_item VALUES (63,'22f43e5fa20f2716666ba9ed9a7d1727',0,0,7,21,0,'FF',9,0,1,'Average:','','',2,3);
+INSERT INTO graph_templates_item VALUES (64,'3e86d497bcded7af7ab8408e4908e0d8',0,0,7,21,0,'FF',9,0,3,'Maximum:','','on',2,4);
+INSERT INTO graph_templates_item VALUES (65,'ba00ecd28b9774348322ff70a96f2826',0,0,8,19,48,'FF',7,0,1,'Running Processes','','',2,1);
+INSERT INTO graph_templates_item VALUES (66,'8d76de808efd73c51e9a9cbd70579512',0,0,8,19,0,'FF',9,0,4,'Current:','','',3,2);
+INSERT INTO graph_templates_item VALUES (67,'304244ca63d5b09e62a94c8ec6fbda8d',0,0,8,19,0,'FF',9,0,1,'Average:','','',3,3);
+INSERT INTO graph_templates_item VALUES (68,'da1ba71a93d2ed4a2a00d54592b14157',0,0,8,19,0,'FF',9,0,3,'Maximum:','','on',3,4);
+INSERT INTO graph_templates_item VALUES (69,'93ad2f2803b5edace85d86896620b9da',0,0,9,12,15,'FF',7,0,1,'1 Minute Average','','',2,1);
+INSERT INTO graph_templates_item VALUES (70,'e28736bf63d3a3bda03ea9f1e6ecb0f1',0,0,9,12,0,'FF',9,0,4,'Current:','','on',4,2);
+INSERT INTO graph_templates_item VALUES (71,'bbdfa13adc00398eed132b1ccb4337d2',0,0,9,13,8,'FF',8,0,1,'5 Minute Average','','',2,3);
+INSERT INTO graph_templates_item VALUES (72,'2c14062c7d67712f16adde06132675d6',0,0,9,13,0,'FF',9,0,4,'Current:','','on',4,4);
+INSERT INTO graph_templates_item VALUES (73,'9cf6ed48a6a54b9644a1de8c9929bd4e',0,0,9,14,9,'FF',8,0,1,'15 Minute Average','','',2,5);
+INSERT INTO graph_templates_item VALUES (74,'c9824064305b797f38feaeed2352e0e5',0,0,9,14,0,'FF',9,0,4,'Current:','','on',4,6);
+INSERT INTO graph_templates_item VALUES (75,'fa1bc4eff128c4da70f5247d55b8a444',0,0,9,0,1,'FF',4,12,1,'','','on',2,7);
+INSERT INTO graph_templates_item VALUES (76,'5c94ac24bc0d6d2712cc028fa7d4c7d2',0,0,10,20,67,'FF',7,0,1,'Users','','',2,1);
+INSERT INTO graph_templates_item VALUES (77,'8bc7f905526f62df7d5c2d8c27c143c1',0,0,10,20,0,'FF',9,0,4,'Current:','','',3,2);
+INSERT INTO graph_templates_item VALUES (78,'cd074cd2b920aab70d480c020276d45b',0,0,10,20,0,'FF',9,0,1,'Average:','','',3,3);
+INSERT INTO graph_templates_item VALUES (79,'415630f25f5384ba0c82adbdb05fe98b',0,0,10,20,0,'FF',9,0,3,'Maximum:','','on',3,4);
+INSERT INTO graph_templates_item VALUES (80,'d77d2050be357ab067666a9485426e6b',0,0,11,33,15,'FF',7,0,1,'1 Minute Average','','',2,1);
+INSERT INTO graph_templates_item VALUES (81,'13d22f5a0eac6d97bf6c97d7966f0a00',0,0,11,33,0,'FF',9,0,4,'Current:','','on',4,2);
+INSERT INTO graph_templates_item VALUES (82,'8580230d31d2851ec667c296a665cbf9',0,0,11,34,8,'FF',8,0,1,'5 Minute Average','','',2,3);
+INSERT INTO graph_templates_item VALUES (83,'b5b7d9b64e7640aa51dbf58c69b86d15',0,0,11,34,0,'FF',9,0,4,'Current:','','on',4,4);
+INSERT INTO graph_templates_item VALUES (84,'2ec10edf4bfaa866b7efd544d4c3f446',0,0,11,35,9,'FF',8,0,1,'15 Minute Average','','',2,5);
+INSERT INTO graph_templates_item VALUES (85,'b65666f0506c0c70966f493c19607b93',0,0,11,35,0,'FF',9,0,4,'Current:','','on',4,6);
+INSERT INTO graph_templates_item VALUES (86,'6c73575c74506cfc75b89c4276ef3455',0,0,11,0,1,'FF',4,12,1,'Total','','on',2,7);
+INSERT INTO graph_templates_item VALUES (95,'5fa7c2317f19440b757ab2ea1cae6abc',0,0,12,16,41,'FF',7,14,1,'Free','','',2,9);
+INSERT INTO graph_templates_item VALUES (96,'b1d18060bfd3f68e812c508ff4ac94ed',0,0,12,16,0,'FF',9,14,4,'Current:','','',2,10);
+INSERT INTO graph_templates_item VALUES (97,'780b6f0850aaf9431d1c246c55143061',0,0,12,16,0,'FF',9,14,1,'Average:','','',2,11);
+INSERT INTO graph_templates_item VALUES (98,'2d54a7e7bb45e6c52d97a09e24b7fba7',0,0,12,16,0,'FF',9,14,3,'Maximum:','','on',2,12);
+INSERT INTO graph_templates_item VALUES (99,'40206367a3c192b836539f49801a0b15',0,0,12,18,30,'FF',8,14,1,'Swap','','',2,13);
+INSERT INTO graph_templates_item VALUES (100,'7ee72e2bb3722d4f8a7f9c564e0dd0d0',0,0,12,18,0,'FF',9,14,4,'Current:','','',2,14);
+INSERT INTO graph_templates_item VALUES (101,'c8af33b949e8f47133ee25e63c91d4d0',0,0,12,18,0,'FF',9,14,1,'Average:','','',2,15);
+INSERT INTO graph_templates_item VALUES (102,'568128a16723d1195ce6a234d353ce00',0,0,12,18,0,'FF',9,14,3,'Maximum:','','on',2,16);
+INSERT INTO graph_templates_item VALUES (103,'7517a40d478e28ed88ba2b2a65e16b57',0,0,13,37,52,'FF',7,14,1,'Memory Free','','',2,1);
+INSERT INTO graph_templates_item VALUES (104,'df0c8b353d26c334cb909dc6243957c5',0,0,13,37,0,'FF',9,14,4,'Current:','','',2,2);
+INSERT INTO graph_templates_item VALUES (105,'c41a4cf6fefaf756a24f0a9510580724',0,0,13,37,0,'FF',9,14,1,'Average:','','',2,3);
+INSERT INTO graph_templates_item VALUES (106,'9efa8f01c6ed11364a21710ff170f422',0,0,13,37,0,'FF',9,14,3,'Maximum:','','on',2,4);
+INSERT INTO graph_templates_item VALUES (107,'95d6e4e5110b456f34324f7941d08318',0,0,13,36,35,'FF',8,14,1,'Memory Buffers','','',2,5);
+INSERT INTO graph_templates_item VALUES (108,'0c631bfc0785a9cca68489ea87a6c3da',0,0,13,36,0,'FF',9,14,4,'Current:','','',2,6);
+INSERT INTO graph_templates_item VALUES (109,'3468579d3b671dfb788696df7dcc1ec9',0,0,13,36,0,'FF',9,14,1,'Average:','','',2,7);
+INSERT INTO graph_templates_item VALUES (110,'c3ddfdaa65449f99b7f1a735307f9abe',0,0,13,36,0,'FF',9,14,3,'Maximum:','','on',2,8);
+INSERT INTO graph_templates_item VALUES (111,'4c64d5c1ce8b5d8b94129c23b46a5fd6',0,0,14,28,41,'FF',7,0,1,'Cache Hits','','',2,1);
+INSERT INTO graph_templates_item VALUES (112,'5c1845c9bd1af684a3c0ad843df69e3e',0,0,14,28,0,'FF',9,0,4,'Current:','','',3,2);
+INSERT INTO graph_templates_item VALUES (113,'e5169563f3f361701902a8da3ac0c77f',0,0,14,28,0,'FF',9,0,1,'Average:','','',3,3);
+INSERT INTO graph_templates_item VALUES (114,'35e87262efa521edbb1fd27f09c036f5',0,0,14,28,0,'FF',9,0,3,'Maximum:','','on',3,4);
+INSERT INTO graph_templates_item VALUES (115,'53069d7dba4c31b338f609bea4cd16f3',0,0,14,27,66,'FF',8,0,1,'Cache Checks','','',2,5);
+INSERT INTO graph_templates_item VALUES (116,'d9c102579839c5575806334d342b50de',0,0,14,27,0,'FF',9,0,4,'Current:','','',3,6);
+INSERT INTO graph_templates_item VALUES (117,'dc1897c3249dbabe269af49cee92f8c0',0,0,14,27,0,'FF',9,0,1,'Average:','','',3,7);
+INSERT INTO graph_templates_item VALUES (118,'ccd21fe0b5a8c24057f1eff4a6b66391',0,0,14,27,0,'FF',9,0,3,'Maximum:','','on',3,8);
+INSERT INTO graph_templates_item VALUES (119,'ab09d41c358f6b8a9d0cad4eccc25529',0,0,15,76,9,'FF',7,0,1,'CPU Utilization','','',2,1);
+INSERT INTO graph_templates_item VALUES (120,'5d5b8d8fbe751dc9c86ee86f85d7433b',0,0,15,76,0,'FF',9,0,4,'Current:','','',3,2);
+INSERT INTO graph_templates_item VALUES (121,'4822a98464c6da2afff10c6d12df1831',0,0,15,76,0,'FF',9,0,1,'Average:','','',3,3);
+INSERT INTO graph_templates_item VALUES (122,'fc6fbf2a964bea0b3c88ed0f18616aa7',0,0,15,76,0,'FF',9,0,3,'Maximum:','','on',3,4);
+INSERT INTO graph_templates_item VALUES (123,'e4094625d5443b4c87f9a87ba616a469',0,0,16,25,67,'FF',7,0,1,'File System Reads','','',2,1);
+INSERT INTO graph_templates_item VALUES (124,'ae68425cd10e8a6623076b2e6859a6aa',0,0,16,25,0,'FF',9,0,4,'Current:','','',3,2);
+INSERT INTO graph_templates_item VALUES (125,'40b8e14c6568b3f6be6a5d89d6a9f061',0,0,16,25,0,'FF',9,0,1,'Average:','','',3,3);
+INSERT INTO graph_templates_item VALUES (126,'4afbdc3851c03e206672930746b1a5e2',0,0,16,25,0,'FF',9,0,3,'Maximum:','','on',3,4);
+INSERT INTO graph_templates_item VALUES (127,'ea47d2b5516e334bc5f6ce1698a3ae76',0,0,16,26,93,'FF',8,0,1,'File System Writes','','',2,5);
+INSERT INTO graph_templates_item VALUES (128,'899c48a2f79ea3ad4629aff130d0f371',0,0,16,26,0,'FF',9,0,4,'Current:','','',3,6);
+INSERT INTO graph_templates_item VALUES (129,'ab474d7da77e9ec1f6a1d45c602580cd',0,0,16,26,0,'FF',9,0,1,'Average:','','',3,7);
+INSERT INTO graph_templates_item VALUES (130,'e143f8b4c6d4eeb6a28b052e6b8ce5a9',0,0,16,26,0,'FF',9,0,3,'Maximum:','','on',3,8);
+INSERT INTO graph_templates_item VALUES (131,'facfeeb6fc2255ba2985b2d2f695d78a',0,0,17,23,30,'FF',7,0,1,'Current Logins','','',2,1);
+INSERT INTO graph_templates_item VALUES (132,'2470e43034a5560260d79084432ed14f',0,0,17,23,0,'FF',9,0,4,'Current:','','',3,2);
+INSERT INTO graph_templates_item VALUES (133,'e9e645f07bde92b52d93a7a1f65efb30',0,0,17,23,0,'FF',9,0,1,'Average:','','',3,3);
+INSERT INTO graph_templates_item VALUES (134,'bdfe0d66103211cfdaa267a44a98b092',0,0,17,23,0,'FF',9,0,3,'Maximum:','','on',3,4);
+INSERT INTO graph_templates_item VALUES (139,'098b10c13a5701ddb7d4d1d2e2b0fdb7',0,0,18,30,9,'FF',7,0,1,'CPU Usage','','',2,1);
+INSERT INTO graph_templates_item VALUES (140,'1dbda412a9926b0ee5c025aa08f3b230',0,0,18,30,0,'FF',9,0,4,'Current:','','',3,2);
+INSERT INTO graph_templates_item VALUES (141,'725c45917146807b6a4257fc351f2bae',0,0,18,30,0,'FF',9,0,1,'Average:','','',3,3);
+INSERT INTO graph_templates_item VALUES (142,'4e336fdfeb84ce65f81ded0e0159a5e0',0,0,18,30,0,'FF',9,0,3,'Maximum:','','on',3,4);
+INSERT INTO graph_templates_item VALUES (143,'7dab7a3ceae2addd1cebddee6c483e7c',0,0,19,39,25,'FF',7,14,1,'Free Space','','',2,5);
+INSERT INTO graph_templates_item VALUES (144,'aea239f3ceea8c63d02e453e536190b8',0,0,19,39,0,'FF',9,14,4,'Current:','','',2,6);
+INSERT INTO graph_templates_item VALUES (145,'a0efae92968a6d4ae099b676e0f1430e',0,0,19,39,0,'FF',9,14,1,'Average:','','',2,7);
+INSERT INTO graph_templates_item VALUES (146,'4fd5ba88be16e3d513c9231b78ccf0e1',0,0,19,39,0,'FF',9,14,3,'Maximum:','','on',2,8);
+INSERT INTO graph_templates_item VALUES (147,'d2e98e51189e1d9be8888c3d5c5a4029',0,0,19,38,69,'FF',7,14,1,'Total Space','','',2,1);
+INSERT INTO graph_templates_item VALUES (148,'12829294ee3958f4a31a58a61228e027',0,0,19,38,0,'FF',9,14,4,'Current:','','',2,2);
+INSERT INTO graph_templates_item VALUES (149,'4b7e8755b0f2253723c1e9fb21fd37b1',0,0,19,38,0,'FF',9,14,1,'Average:','','',2,3);
+INSERT INTO graph_templates_item VALUES (150,'cbb19ffd7a0ead2bf61512e86d51ee8e',0,0,19,38,0,'FF',9,14,3,'Maximum:','','on',2,4);
+INSERT INTO graph_templates_item VALUES (151,'37b4cbed68f9b77e49149343069843b4',0,0,19,40,95,'FF',5,14,1,'Freeable Space','','',2,9);
+INSERT INTO graph_templates_item VALUES (152,'5eb7532200f2b5cc93e13743a7db027c',0,0,19,40,0,'FF',9,14,4,'Current:','','',2,10);
+INSERT INTO graph_templates_item VALUES (153,'b0f9f602fbeaaff090ea3f930b46c1c7',0,0,19,40,0,'FF',9,14,1,'Average:','','',2,11);
+INSERT INTO graph_templates_item VALUES (154,'06477f7ea46c63272cee7253e7cd8760',0,0,19,40,0,'FF',9,14,3,'Maximum:','','on',2,12);
+INSERT INTO graph_templates_item VALUES (171,'a751838f87068e073b95be9555c57bde',0,0,21,56,0,'FF',9,14,3,'Maximum:','','on',2,4);
+INSERT INTO graph_templates_item VALUES (170,'3b13eb2e542fe006c9bf86947a6854fa',0,0,21,56,0,'FF',9,14,1,'Average:','','',2,3);
+INSERT INTO graph_templates_item VALUES (169,'8ef3e7fb7ce962183f489725939ea40f',0,0,21,56,0,'FF',9,14,4,'Current:','','',2,2);
+INSERT INTO graph_templates_item VALUES (167,'6ca2161c37b0118786dbdb46ad767e5d',0,0,21,56,48,'FF',7,14,1,'Used','','',2,1);
+INSERT INTO graph_templates_item VALUES (159,'6877a2a5362a9390565758b08b9b37f7',0,0,20,43,77,'FF',7,0,1,'Used Directory Entries','','',2,1);
+INSERT INTO graph_templates_item VALUES (160,'a978834f3d02d833d3d2def243503bf2',0,0,20,43,0,'FF',9,0,4,'Current:','','',3,2);
+INSERT INTO graph_templates_item VALUES (161,'7422d87bc82de20a4333bd2f6460b2d4',0,0,20,43,0,'FF',9,0,1,'Average:','','',3,3);
+INSERT INTO graph_templates_item VALUES (162,'4d52762859a3fec297ebda0e7fd760d9',0,0,20,43,0,'FF',9,0,3,'Maximum:','','on',3,4);
+INSERT INTO graph_templates_item VALUES (163,'999d4ed1128ff03edf8ea47e56d361dd',0,0,20,42,1,'FF',5,0,1,'Available Directory Entries','','',2,5);
+INSERT INTO graph_templates_item VALUES (164,'3dfcd7f8c7a760ac89d34398af79b979',0,0,20,42,0,'FF',9,0,4,'Current:','','',3,6);
+INSERT INTO graph_templates_item VALUES (165,'217be75e28505c8f8148dec6b71b9b63',0,0,20,42,0,'FF',9,0,1,'Average:','','',3,7);
+INSERT INTO graph_templates_item VALUES (166,'69b89e1c5d6fc6182c93285b967f970a',0,0,20,42,0,'FF',9,0,3,'Maximum:','','on',3,8);
+INSERT INTO graph_templates_item VALUES (172,'5d6dff9c14c71dc1ebf83e87f1c25695',0,0,21,44,20,'FF',8,14,1,'Available','','',2,5);
+INSERT INTO graph_templates_item VALUES (173,'b27cb9a158187d29d17abddc6fdf0f15',0,0,21,44,0,'FF',9,14,4,'Current:','','',2,6);
+INSERT INTO graph_templates_item VALUES (174,'6c0555013bb9b964e51d22f108dae9b0',0,0,21,44,0,'FF',9,14,1,'Average:','','',2,7);
+INSERT INTO graph_templates_item VALUES (175,'42ce58ec17ef5199145fbf9c6ee39869',0,0,21,44,0,'FF',9,14,3,'Maximum:','','on',2,8);
+INSERT INTO graph_templates_item VALUES (176,'9bdff98f2394f666deea028cbca685f3',0,0,21,0,1,'FF',5,15,1,'Total','','',2,9);
+INSERT INTO graph_templates_item VALUES (177,'fb831fefcf602bc31d9d24e8e456c2e6',0,0,21,0,0,'FF',9,15,4,'Current:','','',2,10);
+INSERT INTO graph_templates_item VALUES (178,'5a958d56785a606c08200ef8dbf8deef',0,0,21,0,0,'FF',9,15,1,'Average:','','',2,11);
+INSERT INTO graph_templates_item VALUES (179,'5ce67a658cec37f526dc84ac9e08d6e7',0,0,21,0,0,'FF',9,15,3,'Maximum:','','on',2,12);
+INSERT INTO graph_templates_item VALUES (180,'7e04a041721df1f8828381a9ea2f2154',0,0,22,47,31,'FF',4,0,1,'Discards In','','',2,1);
+INSERT INTO graph_templates_item VALUES (181,'afc8bca6b1b3030a6d71818272336c6c',0,0,22,47,0,'FF',9,0,4,'Current:','','',2,2);
+INSERT INTO graph_templates_item VALUES (182,'6ac169785f5aeaf1cc5cdfd38dfcfb6c',0,0,22,47,0,'FF',9,0,1,'Average:','','',2,3);
+INSERT INTO graph_templates_item VALUES (183,'178c0a0ce001d36a663ff6f213c07505',0,0,22,47,0,'FF',9,0,3,'Maximum:','','on',2,4);
+INSERT INTO graph_templates_item VALUES (184,'8e3268c0abde7550616bff719f10ee2f',0,0,22,46,48,'FF',4,0,1,'Errors In','','',2,5);
+INSERT INTO graph_templates_item VALUES (185,'18891392b149de63b62c4258a68d75f8',0,0,22,46,0,'FF',9,0,4,'Current:','','',2,6);
+INSERT INTO graph_templates_item VALUES (186,'dfc9d23de0182c9967ae3dabdfa55a16',0,0,22,46,0,'FF',9,0,1,'Average:','','',2,7);
+INSERT INTO graph_templates_item VALUES (187,'c47ba64e2e5ea8bf84aceec644513176',0,0,22,46,0,'FF',9,0,3,'Maximum:','','on',2,8);
+INSERT INTO graph_templates_item VALUES (188,'9d052e7d632c479737fbfaced0821f79',0,0,23,49,71,'FF',4,0,1,'Unicast Packets Out','','',2,5);
+INSERT INTO graph_templates_item VALUES (189,'9b9fa6268571b6a04fa4411d8e08c730',0,0,23,49,0,'FF',9,0,4,'Current:','','',2,6);
+INSERT INTO graph_templates_item VALUES (190,'8e8f2fbeb624029cbda1d2a6ddd991ba',0,0,23,49,0,'FF',9,0,1,'Average:','','',2,7);
+INSERT INTO graph_templates_item VALUES (191,'c76495beb1ed01f0799838eb8a893124',0,0,23,49,0,'FF',9,0,3,'Maximum:','','on',2,8);
+INSERT INTO graph_templates_item VALUES (192,'d4e5f253f01c3ea77182c5a46418fc44',0,0,23,48,25,'FF',7,0,1,'Unicast Packets In','','',2,1);
+INSERT INTO graph_templates_item VALUES (193,'526a96add143da021c5f00d8764a6c12',0,0,23,48,0,'FF',9,0,4,'Current:','','',2,2);
+INSERT INTO graph_templates_item VALUES (194,'81eeb46f451212f00fd7caee42a81c0b',0,0,23,48,0,'FF',9,0,1,'Average:','','',2,3);
+INSERT INTO graph_templates_item VALUES (195,'089e4d1c3faeb00fd5dcc9622b06d656',0,0,23,48,0,'FF',9,0,3,'Maximum:','','on',2,4);
+INSERT INTO graph_templates_item VALUES (196,'fe66cb973966d22250de073405664200',0,0,24,53,25,'FF',7,0,1,'Non-Unicast Packets In','','',2,1);
+INSERT INTO graph_templates_item VALUES (197,'1ba3fc3466ad32fdd2669cac6cad6faa',0,0,24,53,0,'FF',9,0,4,'Current:','','',2,2);
+INSERT INTO graph_templates_item VALUES (198,'f810154d3a934c723c21659e66199cdf',0,0,24,53,0,'FF',9,0,1,'Average:','','',2,3);
+INSERT INTO graph_templates_item VALUES (199,'98a161df359b01304346657ff1a9d787',0,0,24,53,0,'FF',9,0,3,'Maximum:','','on',2,4);
+INSERT INTO graph_templates_item VALUES (200,'d5e55eaf617ad1f0516f6343b3f07c5e',0,0,24,52,71,'FF',4,0,1,'Non-Unicast Packets Out','','',2,5);
+INSERT INTO graph_templates_item VALUES (201,'9fde6b8c84089b9f9044e681162e7567',0,0,24,52,0,'FF',9,0,4,'Current:','','',2,6);
+INSERT INTO graph_templates_item VALUES (202,'9a3510727c3d9fa7e2e7a015783a99b3',0,0,24,52,0,'FF',9,0,1,'Average:','','',2,7);
+INSERT INTO graph_templates_item VALUES (203,'451afd23f2cb59ab9b975fd6e2735815',0,0,24,52,0,'FF',9,0,3,'Maximum:','','on',2,8);
+INSERT INTO graph_templates_item VALUES (204,'617d10dff9bbc3edd9d733d9c254da76',0,0,22,50,18,'FF',4,0,1,'Discards Out','','',2,9);
+INSERT INTO graph_templates_item VALUES (205,'9269a66502c34d00ac3c8b1fcc329ac6',0,0,22,50,0,'FF',9,0,4,'Current:','','',2,10);
+INSERT INTO graph_templates_item VALUES (206,'d45deed7e1ad8350f3b46b537ae0a933',0,0,22,50,0,'FF',9,0,1,'Average:','','',2,11);
+INSERT INTO graph_templates_item VALUES (207,'2f64cf47dc156e8c800ae03c3b893e3c',0,0,22,50,0,'FF',9,0,3,'Maximum:','','on',2,12);
+INSERT INTO graph_templates_item VALUES (208,'57434bef8cb21283c1a73f055b0ada19',0,0,22,51,89,'FF',4,0,1,'Errors Out','','',2,13);
+INSERT INTO graph_templates_item VALUES (209,'660a1b9365ccbba356fd142faaec9f04',0,0,22,51,0,'FF',9,0,4,'Current:','','',2,14);
+INSERT INTO graph_templates_item VALUES (210,'28c5297bdaedcca29acf245ef4bbed9e',0,0,22,51,0,'FF',9,0,1,'Average:','','',2,15);
+INSERT INTO graph_templates_item VALUES (211,'99098604fd0c78fd7dabac8f40f1fb29',0,0,22,51,0,'FF',9,0,3,'Maximum:','','on',2,16);
+INSERT INTO graph_templates_item VALUES (212,'de3eefd6d6c58afabdabcaf6c0168378',0,0,25,54,22,'FF',7,0,1,'Inbound','','',2,1);
+INSERT INTO graph_templates_item VALUES (213,'1a80fa108f5c46eecb03090c65bc9a12',0,0,25,54,0,'FF',9,0,4,'Current:','','',2,2);
+INSERT INTO graph_templates_item VALUES (214,'fe458892e7faa9d232e343d911e845f3',0,0,25,54,0,'FF',9,0,1,'Average:','','',2,3);
+INSERT INTO graph_templates_item VALUES (215,'175c0a68689bebc38aad2fbc271047b3',0,0,25,54,0,'FF',9,0,3,'Maximum:','','on',2,4);
+INSERT INTO graph_templates_item VALUES (216,'1bf2283106510491ddf3b9c1376c0b31',0,0,25,55,20,'FF',4,0,1,'Outbound','','',2,5);
+INSERT INTO graph_templates_item VALUES (217,'c5202f1690ffe45600c0d31a4a804f67',0,0,25,55,0,'FF',9,0,4,'Current:','','',2,6);
+INSERT INTO graph_templates_item VALUES (218,'eb9794e3fdafc2b74f0819269569ed40',0,0,25,55,0,'FF',9,0,1,'Average:','','',2,7);
+INSERT INTO graph_templates_item VALUES (219,'6bcedd61e3ccf7518ca431940c93c439',0,0,25,55,0,'FF',9,0,3,'Maximum:','','on',2,8);
+INSERT INTO graph_templates_item VALUES (303,'b7b381d47972f836785d338a3bef6661',0,0,26,78,0,'FF',9,0,3,'Maximum:','','on',2,8);
+INSERT INTO graph_templates_item VALUES (304,'36fa8063df3b07cece878d54443db727',0,0,26,78,0,'FF',9,0,1,'Average:','','',2,7);
+INSERT INTO graph_templates_item VALUES (305,'2c35b5cae64c5f146a55fcb416dd14b5',0,0,26,78,0,'FF',9,0,4,'Current:','','',2,6);
+INSERT INTO graph_templates_item VALUES (306,'16d6a9a7f608762ad65b0841e5ef4e9c',0,0,26,78,48,'FF',7,0,1,'Used','','',2,5);
+INSERT INTO graph_templates_item VALUES (307,'d80e4a4901ab86ee39c9cc613e13532f',0,0,26,92,20,'FF',7,0,1,'Total','','',2,1);
+INSERT INTO graph_templates_item VALUES (308,'567c2214ee4753aa712c3d101ea49a5d',0,0,26,92,0,'FF',9,0,4,'Current:','','',2,2);
+INSERT INTO graph_templates_item VALUES (309,'ba0b6a9e316ef9be66abba68b80f7587',0,0,26,92,0,'FF',9,0,1,'Average:','','',2,3);
+INSERT INTO graph_templates_item VALUES (310,'4b8e4a6bf2757f04c3e3a088338a2f7a',0,0,26,92,0,'FF',9,0,3,'Maximum:','','on',2,4);
+INSERT INTO graph_templates_item VALUES (317,'8536e034ab5268a61473f1ff2f6bd88f',0,0,27,79,0,'FF',9,0,1,'Average:','','',3,3);
+INSERT INTO graph_templates_item VALUES (316,'d478a76de1df9edf896c9ce51506c483',0,0,27,79,0,'FF',9,0,4,'Current:','','',3,2);
+INSERT INTO graph_templates_item VALUES (315,'42537599b5fb8ea852240b58a58633de',0,0,27,79,9,'FF',7,0,1,'CPU Utilization','','',2,1);
+INSERT INTO graph_templates_item VALUES (318,'87e10f9942b625aa323a0f39b60058e7',0,0,27,79,0,'FF',9,0,3,'Maximum:','','on',3,4);
+INSERT INTO graph_templates_item VALUES (319,'38f6891b0db92aa8950b4ce7ae902741',0,0,28,81,67,'FF',7,0,1,'Users','','',2,1);
+INSERT INTO graph_templates_item VALUES (320,'af13152956a20aa894ef4a4067b88f63',0,0,28,81,0,'FF',9,0,4,'Current:','','',3,2);
+INSERT INTO graph_templates_item VALUES (321,'1b2388bbede4459930c57dc93645284e',0,0,28,81,0,'FF',9,0,1,'Average:','','',3,3);
+INSERT INTO graph_templates_item VALUES (322,'6407dc226db1d03be9730f4d6f3eeccf',0,0,28,81,0,'FF',9,0,3,'Maximum:','','on',3,4);
+INSERT INTO graph_templates_item VALUES (323,'fca6a530c8f37476b9004a90b42ee988',0,0,29,80,48,'FF',7,0,1,'Running Processes','','',2,1);
+INSERT INTO graph_templates_item VALUES (324,'5acebbde3dc65e02f8fda03955852fbe',0,0,29,80,0,'FF',9,0,4,'Current:','','',3,2);
+INSERT INTO graph_templates_item VALUES (325,'311079ffffac75efaab2837df8123122',0,0,29,80,0,'FF',9,0,1,'Average:','','',3,3);
+INSERT INTO graph_templates_item VALUES (326,'724d27007ebf31016cfa5530fee1b867',0,0,29,80,0,'FF',9,0,3,'Maximum:','','on',3,4);
+INSERT INTO graph_templates_item VALUES (373,'1995d8c23e7d8e1efa2b2c55daf3c5a7',0,0,32,54,22,'FF',7,2,1,'Inbound','','',2,1);
+INSERT INTO graph_templates_item VALUES (335,'',95,1,12,84,41,'FF',7,0,1,'Free','','',2,9);
+INSERT INTO graph_templates_item VALUES (336,'',96,1,12,84,0,'FF',9,0,4,'Current:','','',2,10);
+INSERT INTO graph_templates_item VALUES (337,'',97,1,12,84,0,'FF',9,0,1,'Average:','','',2,11);
+INSERT INTO graph_templates_item VALUES (338,'',98,1,12,84,0,'FF',9,0,3,'Maximum:','','on',2,12);
+INSERT INTO graph_templates_item VALUES (339,'',99,1,12,85,30,'FF',8,0,1,'Swap','','',2,13);
+INSERT INTO graph_templates_item VALUES (340,'',100,1,12,85,0,'FF',9,0,4,'Current:','','',2,14);
+INSERT INTO graph_templates_item VALUES (341,'',101,1,12,85,0,'FF',9,0,1,'Average:','','',2,15);
+INSERT INTO graph_templates_item VALUES (342,'',102,1,12,85,0,'FF',9,0,3,'Maximum:','','on',2,16);
+INSERT INTO graph_templates_item VALUES (343,'',69,2,9,86,15,'FF',7,0,1,'1 Minute Average','','',2,1);
+INSERT INTO graph_templates_item VALUES (344,'',70,2,9,86,0,'FF',9,0,4,'Current:','','on',4,2);
+INSERT INTO graph_templates_item VALUES (345,'',71,2,9,87,8,'FF',8,0,1,'5 Minute Average','','',2,3);
+INSERT INTO graph_templates_item VALUES (346,'',72,2,9,87,0,'FF',9,0,4,'Current:','','on',4,4);
+INSERT INTO graph_templates_item VALUES (347,'',73,2,9,88,9,'FF',8,0,1,'15 Minute Average','','',2,5);
+INSERT INTO graph_templates_item VALUES (348,'',74,2,9,88,0,'FF',9,0,4,'Current:','','on',4,6);
+INSERT INTO graph_templates_item VALUES (349,'',75,2,9,0,1,'FF',4,12,1,'','','',2,7);
+INSERT INTO graph_templates_item VALUES (350,'',76,3,10,89,67,'FF',7,0,1,'Users','','',2,1);
+INSERT INTO graph_templates_item VALUES (351,'',77,3,10,89,0,'FF',9,0,4,'Current:','','',3,2);
+INSERT INTO graph_templates_item VALUES (352,'',78,3,10,89,0,'FF',9,0,1,'Average:','','',3,3);
+INSERT INTO graph_templates_item VALUES (353,'',79,3,10,89,0,'FF',9,0,3,'Maximum:','','on',3,4);
+INSERT INTO graph_templates_item VALUES (354,'',65,4,8,90,48,'FF',7,0,1,'Running Processes','','',2,1);
+INSERT INTO graph_templates_item VALUES (355,'',66,4,8,90,0,'FF',9,0,4,'Current:','','',3,2);
+INSERT INTO graph_templates_item VALUES (356,'',67,4,8,90,0,'FF',9,0,1,'Average:','','',3,3);
+INSERT INTO graph_templates_item VALUES (357,'',68,4,8,90,0,'FF',9,0,3,'Maximum:','','on',3,4);
+INSERT INTO graph_templates_item VALUES (358,'803b96bcaec33148901b4b562d9d2344',0,0,30,29,89,'FF',7,0,1,'Open Files','','',2,1);
+INSERT INTO graph_templates_item VALUES (359,'da26dd92666cb840f8a70e2ec5e90c07',0,0,30,29,0,'FF',9,0,4,'Current:','','',3,2);
+INSERT INTO graph_templates_item VALUES (360,'5258970186e4407ed31cca2782650c45',0,0,30,29,0,'FF',9,0,1,'Average:','','',3,3);
+INSERT INTO graph_templates_item VALUES (361,'7d08b996bde9cdc7efa650c7031137b4',0,0,30,29,0,'FF',9,0,3,'Maximum:','','on',3,4);
+INSERT INTO graph_templates_item VALUES (362,'918e6e7d41bb4bae0ea2937b461742a4',0,0,31,54,22,'FF',7,2,1,'Inbound','','',2,1);
+INSERT INTO graph_templates_item VALUES (363,'f19fbd06c989ea85acd6b4f926e4a456',0,0,31,54,0,'FF',9,2,4,'Current:','','',2,2);
+INSERT INTO graph_templates_item VALUES (364,'fc150a15e20c57e11e8d05feca557ef9',0,0,31,54,0,'FF',9,2,1,'Average:','','',2,3);
+INSERT INTO graph_templates_item VALUES (365,'ccbd86e03ccf07483b4d29e63612fb18',0,0,31,54,0,'FF',9,2,3,'Maximum:','','on',2,4);
+INSERT INTO graph_templates_item VALUES (366,'964c5c30cd05eaf5a49c0377d173de86',0,0,31,55,20,'FF',4,2,1,'Outbound','','',2,5);
+INSERT INTO graph_templates_item VALUES (367,'b1a6fb775cf62e79e1c4bc4933c7e4ce',0,0,31,55,0,'FF',9,2,4,'Current:','','',2,6);
+INSERT INTO graph_templates_item VALUES (368,'721038182a872ab266b5cf1bf7f7755c',0,0,31,55,0,'FF',9,2,1,'Average:','','',2,7);
+INSERT INTO graph_templates_item VALUES (369,'2302f80c2c70b897d12182a1fc11ecd6',0,0,31,55,0,'FF',9,2,3,'Maximum:','','on',2,8);
+INSERT INTO graph_templates_item VALUES (370,'4ffc7af8533d103748316752b70f8e3c',0,0,31,0,0,'FF',1,0,1,'','','',2,9);
+INSERT INTO graph_templates_item VALUES (371,'64527c4b6eeeaf627acc5117ff2180fd',0,0,31,55,9,'FF',2,0,1,'95th Percentile','|95:bits:0:max:2|','',2,10);
+INSERT INTO graph_templates_item VALUES (372,'d5bbcbdbf83ae858862611ac6de8fc62',0,0,31,55,0,'FF',1,0,1,'(|95:bits:6:max:2| mbit in+out)','','on',2,11);
+INSERT INTO graph_templates_item VALUES (374,'55083351cd728b82cc4dde68eb935700',0,0,32,54,0,'FF',9,2,4,'Current:','','',2,2);
+INSERT INTO graph_templates_item VALUES (375,'54782f71929e7d1734ed5ad4b8dda50d',0,0,32,54,0,'FF',9,2,1,'Average:','','',2,3);
+INSERT INTO graph_templates_item VALUES (376,'88d3094d5dc2164cbf2f974aeb92f051',0,0,32,54,0,'FF',9,2,3,'Maximum:','','on',2,4);
+INSERT INTO graph_templates_item VALUES (377,'4a381a8e87d4db1ac99cf8d9078266d3',0,0,32,55,20,'FF',4,2,1,'Outbound','','',2,6);
+INSERT INTO graph_templates_item VALUES (378,'5bff63207c7bf076d76ff3036b5dad54',0,0,32,55,0,'FF',9,2,4,'Current:','','',2,7);
+INSERT INTO graph_templates_item VALUES (379,'979fff9d691ca35e3f4b3383d9cae43f',0,0,32,55,0,'FF',9,2,1,'Average:','','',2,8);
+INSERT INTO graph_templates_item VALUES (380,'0e715933830112c23c15f7e3463f77b6',0,0,32,55,0,'FF',9,2,3,'Maximum:','','on',2,11);
+INSERT INTO graph_templates_item VALUES (383,'5b43e4102600ad75379c5afd235099c4',0,0,32,54,0,'FF',1,0,1,'Total In:  |sum:auto:current:2:auto|','','on',2,5);
+INSERT INTO graph_templates_item VALUES (384,'db7c15d253ca666601b3296f2574edc9',0,0,32,55,0,'FF',1,0,1,'Total Out: |sum:auto:current:2:auto|','','on',2,12);
+INSERT INTO graph_templates_item VALUES (385,'fdaec5b9227522c758ad55882c483a83',0,0,33,55,0,'FF',9,0,3,'Maximum:','','on',2,11);
+INSERT INTO graph_templates_item VALUES (386,'6824d29c3f13fe1e849f1dbb8377d3f1',0,0,33,55,0,'FF',9,0,1,'Average:','','',2,8);
+INSERT INTO graph_templates_item VALUES (387,'54e3971b3dd751dd2509f62721c12b41',0,0,33,55,0,'FF',9,0,4,'Current:','','',2,7);
+INSERT INTO graph_templates_item VALUES (388,'cf8c9f69878f0f595d583eac109a9be1',0,0,33,55,20,'FF',4,0,1,'Outbound','','',2,6);
+INSERT INTO graph_templates_item VALUES (389,'de265acbbfa99eb4b3e9f7e90c7feeda',0,0,33,54,0,'FF',9,0,3,'Maximum:','','on',2,4);
+INSERT INTO graph_templates_item VALUES (390,'777aa88fb0a79b60d081e0e3759f1cf7',0,0,33,54,0,'FF',9,0,1,'Average:','','',2,3);
+INSERT INTO graph_templates_item VALUES (391,'66bfdb701c8eeadffe55e926d6e77e71',0,0,33,54,0,'FF',9,0,4,'Current:','','',2,2);
+INSERT INTO graph_templates_item VALUES (392,'3ff8dba1ca6279692b3fcabed0bc2631',0,0,33,54,22,'FF',7,0,1,'Inbound','','',2,1);
+INSERT INTO graph_templates_item VALUES (393,'d6041d14f9c8fb9b7ddcf3556f763c03',0,0,33,55,0,'FF',1,0,1,'Total Out: |sum:auto:current:2:auto|','','on',2,12);
+INSERT INTO graph_templates_item VALUES (394,'76ae747365553a02313a2d8a0dd55c8a',0,0,33,54,0,'FF',1,0,1,'Total In:  |sum:auto:current:2:auto|','','on',2,5);
+INSERT INTO graph_templates_item VALUES (403,'8a1b44ab97d3b56207d0e9e77a035d25',0,0,13,95,30,'FF',8,14,1,'Cache Memory','','',2,9);
+INSERT INTO graph_templates_item VALUES (404,'6db3f439e9764941ff43fbaae348f5dc',0,0,13,95,0,'FF',9,14,4,'Current:','','',2,10);
+INSERT INTO graph_templates_item VALUES (405,'cc9b2fe7acf0820caa61c1519193f65e',0,0,13,95,0,'FF',9,14,1,'Average:','','',2,11);
+INSERT INTO graph_templates_item VALUES (406,'9eea140bdfeaa40d50c5cdcd1f23f72d',0,0,13,95,0,'FF',9,14,3,'Maximum:','','on',2,12);
+INSERT INTO graph_templates_item VALUES (407,'41316670b1a36171de2bda91a0cc2364',0,0,34,96,98,'FF',7,0,1,'','','',2,1);
+INSERT INTO graph_templates_item VALUES (408,'c9e8cbdca0215b434c902e68755903ea',0,0,34,96,0,'FF',9,0,4,'Current:','','',2,2);
+INSERT INTO graph_templates_item VALUES (409,'dab91d7093e720841393feea5bdcba85',0,0,34,96,0,'FF',9,0,1,'Average:','','',2,3);
+INSERT INTO graph_templates_item VALUES (410,'03e5bd2151fea3c90843eb1130b84458',0,0,34,96,0,'FF',9,0,3,'Maximum:','','on',2,4);
+
+--
+-- Table structure for table `graph_tree`
+--
+
+CREATE TABLE graph_tree (
+  id smallint(5) unsigned NOT NULL auto_increment,
+  sort_type tinyint(3) unsigned NOT NULL default '1',
+  name varchar(255) NOT NULL default '',
+  PRIMARY KEY  (id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `graph_tree`
+--
+
+INSERT INTO graph_tree VALUES (1,1,'Default Tree');
+
+--
+-- Table structure for table `graph_tree_items`
+--
+
+CREATE TABLE graph_tree_items (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  graph_tree_id smallint(5) unsigned NOT NULL default '0',
+  local_graph_id mediumint(8) unsigned NOT NULL default '0',
+  rra_id smallint(8) unsigned NOT NULL default '0',
+  title varchar(255) default NULL,
+  host_id mediumint(8) unsigned NOT NULL default '0',
+  order_key varchar(100) NOT NULL default '0',
+  host_grouping_type tinyint(3) unsigned NOT NULL default '1',
+  sort_children_type tinyint(3) unsigned NOT NULL default '1',
+  PRIMARY KEY  (id),
+  KEY graph_tree_id (graph_tree_id),
+  KEY host_id (host_id),
+  KEY local_graph_id (local_graph_id),
+  KEY order_key (order_key)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `graph_tree_items`
+--
+
+INSERT INTO graph_tree_items VALUES (7,1,0,0,'',1,'001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',1,1);
+
+--
+-- Table structure for table `host`
+--
+
+CREATE TABLE host (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  host_template_id mediumint(8) unsigned NOT NULL default '0',
+  description varchar(150) NOT NULL default '',
+  hostname varchar(250) default NULL,
+  notes text,
+  snmp_community varchar(100) default NULL,
+  snmp_version tinyint(1) unsigned NOT NULL default '1',
+  snmp_username varchar(50) default NULL,
+  snmp_password varchar(50) default NULL,
+  snmp_auth_protocol char(5) default '',
+  snmp_priv_passphrase varchar(200) default '',
+  snmp_priv_protocol char(6) default '',
+  snmp_context varchar(64) default '',
+  snmp_port mediumint(5) unsigned NOT NULL default '161',
+  snmp_timeout mediumint(8) unsigned NOT NULL default '500',
+  availability_method smallint(5) unsigned NOT NULL default '1',
+  ping_method smallint(5) unsigned default '0',
+  ping_port int(12) unsigned default '0',
+  ping_timeout int(12) unsigned default '500',
+  ping_retries int(12) unsigned default '2',
+  max_oids int(12) unsigned default '10',
+  disabled char(2) default NULL,
+  status tinyint(2) NOT NULL default '0',
+  status_event_count mediumint(8) unsigned NOT NULL default '0',
+  status_fail_date datetime NOT NULL default '0000-00-00 00:00:00',
+  status_rec_date datetime NOT NULL default '0000-00-00 00:00:00',
+  status_last_error varchar(255) default '',
+  min_time decimal(10,5) default '9.99999',
+  max_time decimal(10,5) default '0.00000',
+  cur_time decimal(10,5) default '0.00000',
+  avg_time decimal(10,5) default '0.00000',
+  total_polls int(12) unsigned default '0',
+  failed_polls int(12) unsigned default '0',
+  availability decimal(8,5) NOT NULL default '100.00000',
+  PRIMARY KEY  (id),
+  KEY disabled (disabled)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `host`
+--
+
+INSERT INTO `host` VALUES (1, 8, 'Localhost', '127.0.0.1', '', 'public', 0, '', '', 'MD5', '', 'DES', '', 161, 500, 3, 2, 23, 400, 1, 10, '', 0, 0, '0000-00-00 00:00:00', '0000-00-00 00:00:00', '', 9.99999, 0.00000, 0.00000, 0.00000, 0, 0, 100.00000);
+
+--
+-- Table structure for table `host_graph`
+--
+
+CREATE TABLE host_graph (
+  host_id mediumint(8) unsigned NOT NULL default '0',
+  graph_template_id mediumint(8) unsigned NOT NULL default '0',
+  PRIMARY KEY  (host_id,graph_template_id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `host_graph`
+--
+
+INSERT INTO host_graph VALUES (1,8);
+INSERT INTO host_graph VALUES (1,9);
+INSERT INTO host_graph VALUES (1,10);
+INSERT INTO host_graph VALUES (1,12);
+
+--
+-- Table structure for table `host_snmp_cache`
+--
+
+CREATE TABLE host_snmp_cache (
+  host_id mediumint(8) unsigned NOT NULL default '0',
+  snmp_query_id mediumint(8) unsigned NOT NULL default '0',
+  field_name varchar(50) NOT NULL default '',
+  field_value varchar(255) default NULL,
+  snmp_index varchar(255) NOT NULL default '',
+  oid TEXT NOT NULL,
+  PRIMARY KEY  (host_id,snmp_query_id,field_name,snmp_index),
+  KEY host_id (host_id,field_name),
+  KEY snmp_index (snmp_index),
+  KEY field_name (field_name),
+  KEY field_value (field_value),
+  KEY snmp_query_id (snmp_query_id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `host_snmp_cache`
+--
+
+
+--
+-- Table structure for table `host_snmp_query`
+--
+
+CREATE TABLE host_snmp_query (
+  host_id mediumint(8) unsigned NOT NULL default '0',
+  snmp_query_id mediumint(8) unsigned NOT NULL default '0',
+  sort_field varchar(50) NOT NULL default '',
+  title_format varchar(50) NOT NULL default '',
+  reindex_method tinyint(3) unsigned NOT NULL default '0',
+  PRIMARY KEY  (host_id,snmp_query_id),
+  KEY host_id (host_id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `host_snmp_query`
+--
+
+INSERT INTO host_snmp_query VALUES (1,6,'dskDevice','|query_dskDevice|',0);
+
+--
+-- Table structure for table `host_template`
+--
+
+CREATE TABLE host_template (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  hash varchar(32) NOT NULL default '',
+  name varchar(100) NOT NULL default '',
+  PRIMARY KEY  (id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `host_template`
+--
+
+INSERT INTO host_template VALUES (1,'4855b0e3e553085ed57219690285f91f','Generic SNMP-enabled Host');
+INSERT INTO host_template VALUES (3,'07d3fe6a52915f99e642d22e27d967a4','ucd/net SNMP Host');
+INSERT INTO host_template VALUES (4,'4e5dc8dd115264c2e9f3adb725c29413','Karlnet Wireless Bridge');
+INSERT INTO host_template VALUES (5,'cae6a879f86edacb2471055783bec6d0','Cisco Router');
+INSERT INTO host_template VALUES (6,'9ef418b4251751e09c3c416704b01b01','Netware 4/5 Server');
+INSERT INTO host_template VALUES (7,'5b8300be607dce4f030b026a381b91cd','Windows 2000/XP Host');
+INSERT INTO host_template VALUES (8,'2d3e47f416738c2d22c87c40218cc55e','Local Linux Machine');
+
+--
+-- Table structure for table `host_template_graph`
+--
+
+CREATE TABLE host_template_graph (
+  host_template_id mediumint(8) unsigned NOT NULL default '0',
+  graph_template_id mediumint(8) unsigned NOT NULL default '0',
+  PRIMARY KEY  (host_template_id,graph_template_id),
+  KEY host_template_id (host_template_id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `host_template_graph`
+--
+
+INSERT INTO host_template_graph VALUES (3,4);
+INSERT INTO host_template_graph VALUES (3,11);
+INSERT INTO host_template_graph VALUES (3,13);
+INSERT INTO host_template_graph VALUES (5,18);
+INSERT INTO host_template_graph VALUES (6,14);
+INSERT INTO host_template_graph VALUES (6,16);
+INSERT INTO host_template_graph VALUES (6,17);
+INSERT INTO host_template_graph VALUES (6,30);
+INSERT INTO host_template_graph VALUES (7,28);
+INSERT INTO host_template_graph VALUES (7,29);
+INSERT INTO host_template_graph VALUES (8,8);
+INSERT INTO host_template_graph VALUES (8,9);
+INSERT INTO host_template_graph VALUES (8,10);
+INSERT INTO host_template_graph VALUES (8,12);
+
+--
+-- Table structure for table `host_template_snmp_query`
+--
+
+CREATE TABLE host_template_snmp_query (
+  host_template_id mediumint(8) unsigned NOT NULL default '0',
+  snmp_query_id mediumint(8) unsigned NOT NULL default '0',
+  PRIMARY KEY  (host_template_id,snmp_query_id),
+  KEY host_template_id (host_template_id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `host_template_snmp_query`
+--
+
+INSERT INTO host_template_snmp_query VALUES (1,1);
+INSERT INTO host_template_snmp_query VALUES (3,1);
+INSERT INTO host_template_snmp_query VALUES (3,2);
+INSERT INTO host_template_snmp_query VALUES (4,1);
+INSERT INTO host_template_snmp_query VALUES (4,3);
+INSERT INTO host_template_snmp_query VALUES (5,1);
+INSERT INTO host_template_snmp_query VALUES (6,1);
+INSERT INTO host_template_snmp_query VALUES (6,4);
+INSERT INTO host_template_snmp_query VALUES (6,7);
+INSERT INTO host_template_snmp_query VALUES (7,1);
+INSERT INTO host_template_snmp_query VALUES (7,8);
+INSERT INTO host_template_snmp_query VALUES (7,9);
+INSERT INTO host_template_snmp_query VALUES (8,6);
+
+--
+-- Table structure for table `poller`
+--
+
+CREATE TABLE poller (
+  id smallint(5) unsigned NOT NULL auto_increment,
+  hostname varchar(250) NOT NULL default '',
+  ip_address int(11) unsigned NOT NULL default '0',
+  last_update datetime NOT NULL default '0000-00-00 00:00:00',
+  PRIMARY KEY  (id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `poller`
+--
+
+
+--
+-- Table structure for table `poller_command`
+--
+
+CREATE TABLE poller_command (
+  poller_id smallint(5) unsigned NOT NULL default '0',
+  time datetime NOT NULL default '0000-00-00 00:00:00',
+  action tinyint(3) unsigned NOT NULL default '0',
+  command varchar(200) NOT NULL default '',
+  PRIMARY KEY  (poller_id,action,command)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `poller_command`
+--
+
+
+--
+-- Table structure for table `poller_item`
+--
+
+CREATE TABLE poller_item (
+  local_data_id mediumint(8) unsigned NOT NULL default '0',
+  poller_id smallint(5) unsigned NOT NULL default '0',
+  host_id mediumint(8) NOT NULL default '0',
+  action tinyint(2) unsigned NOT NULL default '1',
+  hostname varchar(250) NOT NULL default '',
+  snmp_community varchar(100) NOT NULL default '',
+  snmp_version tinyint(1) unsigned NOT NULL default '0',
+  snmp_username varchar(50) NOT NULL default '',
+  snmp_password varchar(50) NOT NULL default '',
+  snmp_auth_protocol varchar(5) NOT NULL default '',
+  snmp_priv_passphrase varchar(200) NOT NULL default '',
+  snmp_priv_protocol varchar(6) NOT NULL default '',
+  snmp_context varchar(64) default '',
+  snmp_port mediumint(5) unsigned NOT NULL default '161',
+  snmp_timeout mediumint(8) unsigned NOT NULL default '0',
+  rrd_name varchar(19) NOT NULL default '',
+  rrd_path varchar(255) NOT NULL default '',
+  rrd_num tinyint(2) unsigned NOT NULL default '0',
+  rrd_step mediumint(8) NOT NULL default '300',
+  rrd_next_step mediumint(8) NOT NULL default '0',
+  arg1 TEXT default NULL,
+  arg2 varchar(255) default NULL,
+  arg3 varchar(255) default NULL,
+  PRIMARY KEY  (local_data_id,rrd_name),
+  KEY local_data_id (local_data_id),
+  KEY host_id (host_id),
+  KEY rrd_next_step (rrd_next_step),
+  KEY action (action)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `poller_item`
+--
+
+
+--
+-- Table structure for table `poller_output`
+--
+
+CREATE TABLE poller_output (
+  local_data_id mediumint(8) unsigned NOT NULL default '0',
+  rrd_name varchar(19) NOT NULL default '',
+  time datetime NOT NULL default '0000-00-00 00:00:00',
+  output text NOT NULL,
+  PRIMARY KEY  (local_data_id,rrd_name,time)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `poller_output`
+--
+
+
+--
+-- Table structure for table `poller_reindex`
+--
+
+CREATE TABLE poller_reindex (
+  host_id mediumint(8) unsigned NOT NULL default '0',
+  data_query_id mediumint(8) unsigned NOT NULL default '0',
+  action tinyint(3) unsigned NOT NULL default '0',
+  op char(1) NOT NULL default '',
+  assert_value varchar(100) NOT NULL default '',
+  arg1 varchar(255) NOT NULL default '',
+  PRIMARY KEY  (host_id,data_query_id,arg1)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `poller_reindex`
+--
+
+
+--
+-- Table structure for table `poller_time`
+--
+
+CREATE TABLE poller_time (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  pid int(11) unsigned NOT NULL default '0',
+  poller_id smallint(5) unsigned NOT NULL default '0',
+  start_time datetime NOT NULL default '0000-00-00 00:00:00',
+  end_time datetime NOT NULL default '0000-00-00 00:00:00',
+  PRIMARY KEY  (id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `poller_time`
+--
+
+
+--
+-- Table structure for table `rra`
+--
+
+CREATE TABLE rra (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  hash varchar(32) NOT NULL default '',
+  name varchar(100) NOT NULL default '',
+  x_files_factor double NOT NULL default '0.1',
+  steps mediumint(8) default '1',
+  rows int(12) NOT NULL default '600',
+  timespan int(12) unsigned NOT NULL default '0',
+  PRIMARY KEY  (id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `rra`
+--
+
+INSERT INTO rra VALUES (1,'c21df5178e5c955013591239eb0afd46','Daily (5 Minute Average)',0.5,1,600,86400);
+INSERT INTO rra VALUES (2,'0d9c0af8b8acdc7807943937b3208e29','Weekly (30 Minute Average)',0.5,6,700,604800);
+INSERT INTO rra VALUES (3,'6fc2d038fb42950138b0ce3e9874cc60','Monthly (2 Hour Average)',0.5,24,775,2678400);
+INSERT INTO rra VALUES (4,'e36f3adb9f152adfa5dc50fd2b23337e','Yearly (1 Day Average)',0.5,288,797,33053184);
+INSERT INTO rra VALUES (5,'283ea2bf1634d92ce081ec82a634f513','Hourly (1 Minute Average)',0.5,1,500,14400);
+
+--
+-- Table structure for table `rra_cf`
+--
+
+CREATE TABLE rra_cf (
+  rra_id mediumint(8) unsigned NOT NULL default '0',
+  consolidation_function_id smallint(5) unsigned NOT NULL default '0',
+  PRIMARY KEY  (rra_id,consolidation_function_id),
+  KEY rra_id (rra_id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `rra_cf`
+--
+
+INSERT INTO rra_cf VALUES (1,1);
+INSERT INTO rra_cf VALUES (1,3);
+INSERT INTO rra_cf VALUES (2,1);
+INSERT INTO rra_cf VALUES (2,3);
+INSERT INTO rra_cf VALUES (3,1);
+INSERT INTO rra_cf VALUES (3,3);
+INSERT INTO rra_cf VALUES (4,1);
+INSERT INTO rra_cf VALUES (4,3);
+INSERT INTO rra_cf VALUES (5,1);
+INSERT INTO rra_cf VALUES (5,3);
+
+--
+-- Table structure for table `settings`
+--
+
+CREATE TABLE settings (
+  name varchar(50) NOT NULL default '',
+  value varchar(255) NOT NULL default '',
+  PRIMARY KEY  (name)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `settings`
+--
+
+
+--
+-- Table structure for table `settings_graphs`
+--
+
+CREATE TABLE settings_graphs (
+  user_id smallint(8) unsigned NOT NULL default '0',
+  name varchar(50) NOT NULL default '',
+  value varchar(255) NOT NULL default '',
+  PRIMARY KEY  (user_id,name)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `settings_graphs`
+--
+
+
+--
+-- Table structure for table `settings_tree`
+--
+
+CREATE TABLE settings_tree (
+  user_id mediumint(8) unsigned NOT NULL default '0',
+  graph_tree_item_id mediumint(8) unsigned NOT NULL default '0',
+  status tinyint(1) NOT NULL default '0',
+  PRIMARY KEY  (user_id,graph_tree_item_id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `settings_tree`
+--
+
+
+--
+-- Table structure for table `snmp_query`
+--
+
+CREATE TABLE snmp_query (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  hash varchar(32) NOT NULL default '',
+  xml_path varchar(255) NOT NULL default '',
+  name varchar(100) NOT NULL default '',
+  description varchar(255) default NULL,
+  graph_template_id mediumint(8) unsigned NOT NULL default '0',
+  data_input_id mediumint(8) unsigned NOT NULL default '0',
+  PRIMARY KEY  (id),
+  KEY name (name)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `snmp_query`
+--
+
+INSERT INTO snmp_query VALUES (1,'d75e406fdeca4fcef45b8be3a9a63cbc','<path_cacti>/resource/snmp_queries/interface.xml','SNMP - Interface Statistics','Queries a host for a list of monitorable interfaces',0,2);
+INSERT INTO snmp_query VALUES (2,'3c1b27d94ad208a0090f293deadde753','<path_cacti>/resource/snmp_queries/net-snmp_disk.xml','ucd/net -  Get Monitored Partitions','Retrieves a list of monitored partitions/disks from a net-snmp enabled host.',0,2);
+INSERT INTO snmp_query VALUES (3,'59aab7b0feddc7860002ed9303085ba5','<path_cacti>/resource/snmp_queries/kbridge.xml','Karlnet - Wireless Bridge Statistics','Gets information about the wireless connectivity of each station from a Karlnet bridge.',0,2);
+INSERT INTO snmp_query VALUES (4,'ad06f46e22e991cb47c95c7233cfaee8','<path_cacti>/resource/snmp_queries/netware_disk.xml','Netware - Get Available Volumes','Retrieves a list of volumes from a Netware server.',0,2);
+INSERT INTO snmp_query VALUES (6,'8ffa36c1864124b38bcda2ae9bd61f46','<path_cacti>/resource/script_queries/unix_disk.xml','Unix - Get Mounted Partitions','Queries a list of mounted partitions on a unix-based host with the',0,11);
+INSERT INTO snmp_query VALUES (7,'30ec734bc0ae81a3d995be82c73f46c1','<path_cacti>/resource/snmp_queries/netware_cpu.xml','Netware - Get Processor Information','Gets information about running processors in a Netware server',0,2);
+INSERT INTO snmp_query VALUES (8,'9343eab1f4d88b0e61ffc9d020f35414','<path_cacti>/resource/script_server/host_disk.xml','SNMP - Get Mounted Partitions','Gets a list of partitions using SNMP',0,12);
+INSERT INTO snmp_query VALUES (9,'0d1ab53fe37487a5d0b9e1d3ee8c1d0d','<path_cacti>/resource/script_server/host_cpu.xml','SNMP - Get Processor Information','Gets usage for each processor in the system using the host MIB.',0,12);
+
+--
+-- Table structure for table `snmp_query_graph`
+--
+
+CREATE TABLE snmp_query_graph (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  hash varchar(32) NOT NULL default '',
+  snmp_query_id mediumint(8) unsigned NOT NULL default '0',
+  name varchar(100) NOT NULL default '',
+  graph_template_id mediumint(8) unsigned NOT NULL default '0',
+  PRIMARY KEY  (id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `snmp_query_graph`
+--
+
+INSERT INTO snmp_query_graph VALUES (2,'a4b829746fb45e35e10474c36c69c0cf',1,'In/Out Errors/Discarded Packets',22);
+INSERT INTO snmp_query_graph VALUES (3,'01e33224f8b15997d3d09d6b1bf83e18',1,'In/Out Non-Unicast Packets',24);
+INSERT INTO snmp_query_graph VALUES (4,'1e6edee3115c42d644dbd014f0577066',1,'In/Out Unicast Packets',23);
+INSERT INTO snmp_query_graph VALUES (6,'da43655bf1f641b07579256227806977',2,'Available/Used Disk Space',3);
+INSERT INTO snmp_query_graph VALUES (7,'1cc468ef92a5779d37a26349e27ef3ba',3,'Wireless Levels',5);
+INSERT INTO snmp_query_graph VALUES (8,'bef2dc94bc84bf91827f45424aac8d2a',3,'Wireless Transmissions',6);
+INSERT INTO snmp_query_graph VALUES (9,'ab93b588c29731ab15db601ca0bc9dec',1,'In/Out Bytes (64-bit Counters)',25);
+INSERT INTO snmp_query_graph VALUES (10,'5a5ce35edb4b195cbde99fd0161dfb4e',4,'Volume Information (free, freeable space)',19);
+INSERT INTO snmp_query_graph VALUES (11,'c1c2cfd33eaf5064300e92e26e20bc56',4,'Directory Information (total/available entries)',20);
+INSERT INTO snmp_query_graph VALUES (13,'ae34f5f385bed8c81a158bf3030f1089',1,'In/Out Bits',2);
+INSERT INTO snmp_query_graph VALUES (14,'1e16a505ddefb40356221d7a50619d91',1,'In/Out Bits (64-bit Counters)',2);
+INSERT INTO snmp_query_graph VALUES (15,'a0b3e7b63c2e66f9e1ea24a16ff245fc',6,'Available Disk Space',21);
+INSERT INTO snmp_query_graph VALUES (16,'d1e0d9b8efd4af98d28ce2aad81a87e7',1,'In/Out Bytes',25);
+INSERT INTO snmp_query_graph VALUES (17,'f6db4151aa07efa401a0af6c9b871844',7,'Get Processor Utilization',15);
+INSERT INTO snmp_query_graph VALUES (18,'46c4ee688932cf6370459527eceb8ef3',8,'Available Disk Space',26);
+INSERT INTO snmp_query_graph VALUES (19,'4a515b61441ea5f27ab7dee6c3cb7818',9,'Get Processor Utilization',27);
+INSERT INTO snmp_query_graph VALUES (20,'ed7f68175d7bb83db8ead332fc945720',1,'In/Out Bits with 95th Percentile',31);
+INSERT INTO snmp_query_graph VALUES (21,'f85386cd2fc94634ef167c7f1e5fbcd0',1,'In/Out Bits with Total Bandwidth',32);
+INSERT INTO snmp_query_graph VALUES (22,'7d309bf200b6e3cdb59a33493c2e58e0',1,'In/Out Bytes with Total Bandwidth',33);
+
+--
+-- Table structure for table `snmp_query_graph_rrd`
+--
+
+CREATE TABLE snmp_query_graph_rrd (
+  snmp_query_graph_id mediumint(8) unsigned NOT NULL default '0',
+  data_template_id mediumint(8) unsigned NOT NULL default '0',
+  data_template_rrd_id mediumint(8) unsigned NOT NULL default '0',
+  snmp_field_name varchar(50) NOT NULL default '0',
+  PRIMARY KEY  (snmp_query_graph_id,data_template_id,data_template_rrd_id),
+  KEY data_template_rrd_id (data_template_rrd_id),
+  KEY snmp_query_graph_id (snmp_query_graph_id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `snmp_query_graph_rrd`
+--
+
+INSERT INTO snmp_query_graph_rrd VALUES (2,38,47,'ifInDiscards');
+INSERT INTO snmp_query_graph_rrd VALUES (3,40,52,'ifOutNUcastPkts');
+INSERT INTO snmp_query_graph_rrd VALUES (3,40,53,'ifInNUcastPkts');
+INSERT INTO snmp_query_graph_rrd VALUES (4,39,48,'ifInUcastPkts');
+INSERT INTO snmp_query_graph_rrd VALUES (2,38,51,'ifOutErrors');
+INSERT INTO snmp_query_graph_rrd VALUES (6,3,3,'dskAvail');
+INSERT INTO snmp_query_graph_rrd VALUES (6,3,4,'dskUsed');
+INSERT INTO snmp_query_graph_rrd VALUES (7,7,8,'kbWirelessStationExclHellos');
+INSERT INTO snmp_query_graph_rrd VALUES (7,8,9,'kbWirelessStationExclHellos');
+INSERT INTO snmp_query_graph_rrd VALUES (8,10,11,'kbWirelessStationExclHellos');
+INSERT INTO snmp_query_graph_rrd VALUES (8,9,10,'kbWirelessStationExclHellos');
+INSERT INTO snmp_query_graph_rrd VALUES (9,41,55,'ifHCOutOctets');
+INSERT INTO snmp_query_graph_rrd VALUES (9,41,54,'ifHCInOctets');
+INSERT INTO snmp_query_graph_rrd VALUES (10,35,38,'nwVolSize');
+INSERT INTO snmp_query_graph_rrd VALUES (10,35,40,'nwVolFreeable');
+INSERT INTO snmp_query_graph_rrd VALUES (10,35,39,'nwVolFree');
+INSERT INTO snmp_query_graph_rrd VALUES (11,36,42,'nwVolTotalDirEntries');
+INSERT INTO snmp_query_graph_rrd VALUES (11,36,43,'nwVolUsedDirEntries');
+INSERT INTO snmp_query_graph_rrd VALUES (2,38,50,'ifOutDiscards');
+INSERT INTO snmp_query_graph_rrd VALUES (2,38,46,'ifInErrors');
+INSERT INTO snmp_query_graph_rrd VALUES (13,41,54,'ifInOctets');
+INSERT INTO snmp_query_graph_rrd VALUES (14,41,54,'ifHCInOctets');
+INSERT INTO snmp_query_graph_rrd VALUES (14,41,55,'ifHCOutOctets');
+INSERT INTO snmp_query_graph_rrd VALUES (13,41,55,'ifOutOctets');
+INSERT INTO snmp_query_graph_rrd VALUES (4,39,49,'ifOutUcastPkts');
+INSERT INTO snmp_query_graph_rrd VALUES (15,37,44,'dskAvailable');
+INSERT INTO snmp_query_graph_rrd VALUES (16,41,54,'ifInOctets');
+INSERT INTO snmp_query_graph_rrd VALUES (16,41,55,'ifOutOctets');
+INSERT INTO snmp_query_graph_rrd VALUES (15,37,56,'dskUsed');
+INSERT INTO snmp_query_graph_rrd VALUES (17,42,76,'nwhrProcessorUtilization');
+INSERT INTO snmp_query_graph_rrd VALUES (18,43,78,'hrStorageUsed');
+INSERT INTO snmp_query_graph_rrd VALUES (18,43,92,'hrStorageSize');
+INSERT INTO snmp_query_graph_rrd VALUES (19,44,79,'hrProcessorLoad');
+INSERT INTO snmp_query_graph_rrd VALUES (20,41,55,'ifOutOctets');
+INSERT INTO snmp_query_graph_rrd VALUES (20,41,54,'ifInOctets');
+INSERT INTO snmp_query_graph_rrd VALUES (21,41,55,'ifOutOctets');
+INSERT INTO snmp_query_graph_rrd VALUES (21,41,54,'ifInOctets');
+INSERT INTO snmp_query_graph_rrd VALUES (22,41,55,'ifOutOctets');
+INSERT INTO snmp_query_graph_rrd VALUES (22,41,54,'ifInOctets');
+
+--
+-- Table structure for table `snmp_query_graph_rrd_sv`
+--
+
+CREATE TABLE snmp_query_graph_rrd_sv (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  hash varchar(32) NOT NULL default '',
+  snmp_query_graph_id mediumint(8) unsigned NOT NULL default '0',
+  data_template_id mediumint(8) unsigned NOT NULL default '0',
+  sequence mediumint(8) unsigned NOT NULL default '0',
+  field_name varchar(100) NOT NULL default '',
+  text varchar(255) NOT NULL default '',
+  PRIMARY KEY  (id),
+  KEY snmp_query_graph_id (snmp_query_graph_id),
+  KEY data_template_id (data_template_id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `snmp_query_graph_rrd_sv`
+--
+
+INSERT INTO snmp_query_graph_rrd_sv VALUES (10,'5d3a8b2f4a454e5b0a1494e00fe7d424',6,3,1,'name','|host_description| - Partition - |query_dskDevice|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (11,'d0b49af67a83c258ef1eab3780f7b3dc',7,7,1,'name','|host_description| - Wireless Noise Level - |query_kbWirelessStationName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (12,'bf6b966dc369f3df2ea640a90845e94c',7,8,1,'name','|host_description| - Wireless Signal Level - |query_kbWirelessStationName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (13,'5c3616603a7ac9d0c1cb9556b377a74f',8,10,1,'name','|host_description| - Wireless Re-Transmissions - |query_kbWirelessStationName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (14,'080f0022f77044a512b083e3a8304e8b',8,9,1,'name','|host_description| - Wireless Transmissions - |query_kbWirelessStationName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (30,'8132fa9c446e199732f0102733cb1714',11,36,1,'name','|host_description| - Directories - |query_nwVolPhysicalName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (29,'8fc9a94a5f6ef902a3de0fa7549e7476',10,35,1,'name','|host_description| - Volumes - |query_nwVolPhysicalName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (80,'27eb220995925e1a5e0e41b2582a2af6',16,41,1,'rrd_maximum','|query_ifSpeed|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (85,'e85ddc56efa677b70448f9e931360b77',14,41,1,'rrd_maximum','|query_ifSpeed|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (84,'37bb8c5b38bb7e89ec88ea7ccacf44d4',14,41,4,'name','|host_description| - Traffic - |query_ifDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (83,'62a47c18be10f273a5f5a13a76b76f54',14,41,3,'name','|host_description| - Traffic - |query_ifIP|/|query_ifDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (32,'',12,37,1,'name','|host_description| - Partition - |query_dskDevice|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (49,'6537b3209e0697fbec278e94e7317b52',2,38,1,'name','|host_description| - Errors - |query_ifIP| - |query_ifName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (50,'6d3f612051016f48c951af8901720a1c',2,38,2,'name','|host_description| - Errors - |query_ifName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (51,'62bc981690576d0b2bd0041ec2e4aa6f',2,38,3,'name','|host_description| - Errors - |query_ifIP|/|query_ifDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (52,'adb270d55ba521d205eac6a21478804a',2,38,4,'name','|host_description| - Errors - |query_ifDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (54,'77065435f3bbb2ff99bc3b43b81de8fe',3,40,1,'name','|host_description| - Non-Unicast Packets - |query_ifIP| - |query_ifName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (55,'240d8893092619c97a54265e8d0b86a1',3,40,2,'name','|host_description| - Non-Unicast Packets - |query_ifName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (56,'4b200ecf445bdeb4c84975b74991df34',3,40,3,'name','|host_description| - Non-Unicast Packets - |query_ifIP|/|query_ifDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (57,'d6da3887646078e4d01fe60a123c2179',3,40,4,'name','|host_description| - Non-Unicast Packets - |query_ifDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (59,'ce7769b97d80ca31d21f83dc18ba93c2',4,39,1,'name','|host_description| - Unicast Packets - |query_ifIP| - |query_ifName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (60,'1ee1f9717f3f4771f7f823ca5a8b83dd',4,39,2,'name','|host_description| - Unicast Packets - |query_ifName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (61,'a7dbd54604533b592d4fae6e67587e32',4,39,3,'name','|host_description| - Unicast Packets - |query_ifIP|/|query_ifDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (62,'b148fa7199edcf06cd71c89e5c5d7b63',4,39,4,'name','|host_description| - Unicast Packets - |query_ifDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (69,'cb09784ba05e401a3f1450126ed1e395',15,37,1,'name','|host_description| - Free Space - |query_dskDevice|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (70,'87a659326af8c75158e5142874fd74b0',13,41,1,'name','|host_description| - Traffic - |query_ifIP| - |query_ifName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (72,'14aa2dead86bbad0f992f1514722c95e',13,41,2,'name','|host_description| - Traffic - |query_ifName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (73,'70390712158c3c5052a7d830fb456489',13,41,3,'name','|host_description| - Traffic - |query_ifIP|/|query_ifDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (74,'084efd82bbddb69fb2ac9bd0b0f16ac6',13,41,4,'name','|host_description| - Traffic - |query_ifDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (75,'7e093c535fa3d810fa76fc3d8c80c94b',13,41,1,'rrd_maximum','|query_ifSpeed|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (76,'c7ee2110bf81639086d2da03d9d88286',16,41,1,'name','|host_description| - Traffic - |query_ifIP| - |query_ifName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (77,'8ef8ae2ef548892ab95bb6c9f0b3170e',16,41,2,'name','|host_description| - Traffic - |query_ifName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (78,'3a0f707d1c8fd0e061b70241541c7e2e',16,41,3,'name','|host_description| - Traffic - |query_ifIP|/|query_ifDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (79,'2347e9f53564a54d43f3c00d4b60040d',16,41,4,'name','|host_description| - Traffic - |query_ifDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (81,'2e8b27c63d98249096ad5bc320787f43',14,41,1,'name','|host_description| - Traffic - |query_ifIP| - |query_ifName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (82,'8d820d091ec1a9683cfa74a462f239ee',14,41,2,'name','|host_description| - Traffic - |query_ifName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (86,'c582d3b37f19e4a703d9bf4908dc6548',9,41,1,'name','|host_description| - Traffic - |query_ifIP| - |query_ifName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (88,'e1be83d708ed3c0b8715ccb6517a0365',9,41,2,'name','|host_description| - Traffic - |query_ifName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (89,'57a9ae1f197498ca8dcde90194f61cbc',9,41,3,'name','|host_description| - Traffic - |query_ifIP|/|query_ifDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (90,'0110e120981c7ff15304e4a85cb42cbe',9,41,4,'name','|host_description| - Traffic - |query_ifDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (91,'ce0b9c92a15759d3ddbd7161d26a98b7',9,41,1,'rrd_maximum','|query_ifSpeed|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (92,'42277993a025f1bfd85374d6b4deeb60',17,42,1,'name','|host_description| - CPU Utilization - CPU|query_nwhrProcessorNum|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (93,'a3f280327b1592a1a948e256380b544f',18,43,1,'name','|host_description| - Used Space - |query_hrStorageDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (94,'b5a724edc36c10891fa2a5c370d55b6f',19,44,1,'name','|host_description| - CPU Utilization - CPU|query_hrProcessorFrwID|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (95,'7e87efd0075caba9908e2e6e569b25b0',20,41,1,'name','|host_description| - Traffic - |query_ifIP| - |query_ifName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (96,'dd28d96a253ab86846aedb25d1cca712',20,41,2,'name','|host_description| - Traffic - |query_ifName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (97,'ce425fed4eb3174e4f1cde9713eeafa0',20,41,3,'name','|host_description| - Traffic - |query_ifIP|/|query_ifDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (98,'d0d05156ddb2c65181588db4b64d3907',20,41,4,'name','|host_description| - Traffic - |query_ifDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (99,'3b018f789ff72cc5693ef79e3a794370',20,41,1,'rrd_maximum','|query_ifSpeed|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (100,'b225229dbbb48c1766cf90298674ceed',21,41,1,'name','|host_description| - Traffic - |query_ifIP| - |query_ifName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (101,'c79248ddbbd195907260887b021a055d',21,41,2,'name','|host_description| - Traffic - |query_ifName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (102,'12a6750d973b7f14783f205d86220082',21,41,3,'name','|host_description| - Traffic - |query_ifIP|/|query_ifDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (103,'25b151fcfe093812cb5c208e36dd697e',21,41,4,'name','|host_description| - Traffic - |query_ifDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (104,'e9ab404a294e406c20fdd30df766161f',21,41,1,'rrd_maximum','|query_ifSpeed|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (105,'119578a4f01ab47e820b0e894e5e5bb3',22,41,1,'name','|host_description| - Traffic - |query_ifIP| - |query_ifName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (106,'940e57d24b2623849c77b59ed05931b9',22,41,2,'name','|host_description| - Traffic - |query_ifName|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (107,'0f045eab01bbc4437b30da568ed5cb03',22,41,3,'name','|host_description| - Traffic - |query_ifIP|/|query_ifDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (108,'bd70bf71108d32f0bf91b24c85b87ff0',22,41,4,'name','|host_description| - Traffic - |query_ifDescr|');
+INSERT INTO snmp_query_graph_rrd_sv VALUES (109,'fdc4cb976c4b9053bfa2af791a21c5b5',22,41,1,'rrd_maximum','|query_ifSpeed|');
+
+--
+-- Table structure for table `snmp_query_graph_sv`
+--
+
+CREATE TABLE snmp_query_graph_sv (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  hash varchar(32) NOT NULL default '',
+  snmp_query_graph_id mediumint(8) unsigned NOT NULL default '0',
+  sequence mediumint(8) unsigned NOT NULL default '0',
+  field_name varchar(100) NOT NULL default '',
+  text varchar(255) NOT NULL default '',
+  PRIMARY KEY  (id),
+  KEY snmp_query_graph_id (snmp_query_graph_id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `snmp_query_graph_sv`
+--
+
+INSERT INTO snmp_query_graph_sv VALUES (7,'437918b8dcd66a64625c6cee481fff61',6,1,'title','|host_description| - Disk Space - |query_dskPath|');
+INSERT INTO snmp_query_graph_sv VALUES (5,'2ddc61ff4bd9634f33aedce9524b7690',7,1,'title','|host_description| - Wireless Levels (|query_kbWirelessStationName|)');
+INSERT INTO snmp_query_graph_sv VALUES (6,'c72e2da7af2cdbd6b44a5eb42c5b4758',8,1,'title','|host_description| - Wireless Transmissions (|query_kbWirelessStationName|)');
+INSERT INTO snmp_query_graph_sv VALUES (11,'a412c5dfa484b599ec0f570979fdbc9e',10,1,'title','|host_description| - Volume Information - |query_nwVolPhysicalName|');
+INSERT INTO snmp_query_graph_sv VALUES (12,'48f4792dd49fefd7d640ec46b1d7bdb3',11,1,'title','|host_description| - Directory Information - |query_nwVolPhysicalName|');
+INSERT INTO snmp_query_graph_sv VALUES (14,'',12,1,'title','|host_description| - Disk Space - |query_dskDevice|');
+INSERT INTO snmp_query_graph_sv VALUES (15,'49dca5592ac26ff149a4fbd18d690644',13,1,'title','|host_description| - Traffic - |query_ifName|');
+INSERT INTO snmp_query_graph_sv VALUES (16,'bda15298139ad22bdc8a3b0952d4e3ab',13,2,'title','|host_description| - Traffic - |query_ifIP| (|query_ifDescr|)');
+INSERT INTO snmp_query_graph_sv VALUES (17,'29e48483d0471fcd996bfb702a5960aa',13,3,'title','|host_description| - Traffic - |query_ifDescr|/|query_ifIndex|');
+INSERT INTO snmp_query_graph_sv VALUES (18,'3f42d358965cb94ce4f708b59e04f82b',14,1,'title','|host_description| - Traffic - |query_ifName|');
+INSERT INTO snmp_query_graph_sv VALUES (19,'45f44b2f811ea8a8ace1cbed8ef906f1',14,2,'title','|host_description| - Traffic - |query_ifIP| (|query_ifDescr|)');
+INSERT INTO snmp_query_graph_sv VALUES (20,'69c14fbcc23aecb9920b3cdad7f89901',14,3,'title','|host_description| - Traffic - |query_ifDescr|/|query_ifIndex|');
+INSERT INTO snmp_query_graph_sv VALUES (21,'299d3434851fc0d5c0e105429069709d',2,1,'title','|host_description| - Errors - |query_ifName|');
+INSERT INTO snmp_query_graph_sv VALUES (22,'8c8860b17fd67a9a500b4cb8b5e19d4b',2,2,'title','|host_description| - Errors - |query_ifIP| (|query_ifDescr|)');
+INSERT INTO snmp_query_graph_sv VALUES (23,'d96360ae5094e5732e7e7496ceceb636',2,3,'title','|host_description| - Errors - |query_ifDescr|/|query_ifIndex|');
+INSERT INTO snmp_query_graph_sv VALUES (24,'750a290cadc3dc60bb682a5c5f47df16',3,1,'title','|host_description| - Non-Unicast Packets - |query_ifName|');
+INSERT INTO snmp_query_graph_sv VALUES (25,'bde195eecc256c42ca9725f1f22c1dc0',3,2,'title','|host_description| - Non-Unicast Packets - |query_ifIP| (|query_ifDescr|)');
+INSERT INTO snmp_query_graph_sv VALUES (26,'d9e97d22689e4ffddaca23b46f2aa306',3,3,'title','|host_description| - Non-Unicast Packets - |query_ifDescr|/|query_ifIndex|');
+INSERT INTO snmp_query_graph_sv VALUES (27,'48ceaba62e0c2671a810a7f1adc5f751',4,1,'title','|host_description| - Unicast Packets - |query_ifName|');
+INSERT INTO snmp_query_graph_sv VALUES (28,'d6258884bed44abe46d264198adc7c5d',4,2,'title','|host_description| - Unicast Packets - |query_ifIP| (|query_ifDescr|)');
+INSERT INTO snmp_query_graph_sv VALUES (29,'6eb58d9835b2b86222306d6ced9961d9',4,3,'title','|host_description| - Unicast Packets - |query_ifDescr|/|query_ifIndex|');
+INSERT INTO snmp_query_graph_sv VALUES (30,'f21b23df740bc4a2d691d2d7b1b18dba',15,1,'title','|host_description| - Disk Space - |query_dskDevice|');
+INSERT INTO snmp_query_graph_sv VALUES (31,'7fb4a267065f960df81c15f9022cd3a4',16,1,'title','|host_description| - Traffic - |query_ifName|');
+INSERT INTO snmp_query_graph_sv VALUES (32,'e403f5a733bf5c8401a110609683deb3',16,2,'title','|host_description| - Traffic - |query_ifIP| (|query_ifDescr|)');
+INSERT INTO snmp_query_graph_sv VALUES (33,'809c2e80552d56b65ca496c1c2fff398',16,3,'title','|host_description| - Traffic - |query_ifDescr|/|query_ifIndex|');
+INSERT INTO snmp_query_graph_sv VALUES (34,'0a5eb36e98c04ad6be8e1ef66caeed3c',9,1,'title','|host_description| - Traffic - |query_ifName|');
+INSERT INTO snmp_query_graph_sv VALUES (35,'4c4386a96e6057b7bd0b78095209ddfa',9,2,'title','|host_description| - Traffic - |query_ifIP| (|query_ifDescr|)');
+INSERT INTO snmp_query_graph_sv VALUES (36,'fd3a384768b0388fa64119fe2f0cc113',9,3,'title','|host_description| - Traffic - |query_ifDescr|/|query_ifIndex|');
+INSERT INTO snmp_query_graph_sv VALUES (38,'9852782792ede7c0805990e506ac9618',18,1,'title','|host_description| - Used Space - |query_hrStorageDescr|');
+INSERT INTO snmp_query_graph_sv VALUES (39,'fa2f07ab54fce72eea684ba893dd9c95',19,1,'title','|host_description| - CPU Utilization - CPU|query_hrProcessorFrwID|');
+INSERT INTO snmp_query_graph_sv VALUES (40,'d99f8db04fd07bcd2260d246916e03da',17,1,'title','|host_description| - CPU Utilization - CPU|query_nwhrProcessorNum|');
+INSERT INTO snmp_query_graph_sv VALUES (41,'f434ec853c479d424276f367e9806a75',20,1,'title','|host_description| - Traffic - |query_ifName|');
+INSERT INTO snmp_query_graph_sv VALUES (42,'9b085245847444c5fb90ebbf4448e265',20,2,'title','|host_description| - Traffic - |query_ifIP| (|query_ifDescr|)');
+INSERT INTO snmp_query_graph_sv VALUES (43,'5977863f28629bd8eb93a2a9cbc3e306',20,3,'title','|host_description| - Traffic - |query_ifDescr|/|query_ifIndex|');
+INSERT INTO snmp_query_graph_sv VALUES (44,'37b6711af3930c56309cf8956d8bbf14',21,1,'title','|host_description| - Traffic - |query_ifName|');
+INSERT INTO snmp_query_graph_sv VALUES (45,'cc435c5884a75421329a9b08207c1c90',21,2,'title','|host_description| - Traffic - |query_ifIP| (|query_ifDescr|)');
+INSERT INTO snmp_query_graph_sv VALUES (46,'82edeea1ec249c9818773e3145836492',21,3,'title','|host_description| - Traffic - |query_ifDescr|/|query_ifIndex|');
+INSERT INTO snmp_query_graph_sv VALUES (47,'87522150ee8a601b4d6a1f6b9e919c47',22,1,'title','|host_description| - Traffic - |query_ifName|');
+INSERT INTO snmp_query_graph_sv VALUES (48,'993a87c04f550f1209d689d584aa8b45',22,2,'title','|host_description| - Traffic - |query_ifIP| (|query_ifDescr|)');
+INSERT INTO snmp_query_graph_sv VALUES (49,'183bb486c92a566fddcb0585ede37865',22,3,'title','|host_description| - Traffic - |query_ifDescr|/|query_ifIndex|');
+
+--
+-- Table structure for table `user_auth`
+--
+
+CREATE TABLE user_auth (
+  id mediumint(8) unsigned NOT NULL auto_increment,
+  username varchar(50) NOT NULL default '0',
+  password varchar(50) NOT NULL default '0',
+  realm mediumint(8) NOT NULL default '0',
+  full_name varchar(100) default '0',
+  must_change_password char(2) default NULL,
+  show_tree char(2) default 'on',
+  show_list char(2) default 'on',
+  show_preview char(2) NOT NULL default 'on',
+  graph_settings char(2) default NULL,
+  login_opts tinyint(1) NOT NULL default '1',
+  policy_graphs tinyint(1) unsigned NOT NULL default '1',
+  policy_trees tinyint(1) unsigned NOT NULL default '1',
+  policy_hosts tinyint(1) unsigned NOT NULL default '1',
+  policy_graph_templates tinyint(1) unsigned NOT NULL default '1',
+  enabled char(2) NOT NULL DEFAULT 'on',
+  PRIMARY KEY  (id),
+  KEY username (username),
+  KEY realm (realm),
+  KEY enabled (enabled)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `user_auth`
+--
+
+INSERT INTO user_auth VALUES (1,'admin','21232f297a57a5a743894a0e4a801fc3',0,'Administrator','on','on','on','on','on',1,1,1,1,1,'on');
+INSERT INTO user_auth VALUES (3,'guest','43e9a4ab75570f5b',0,'Guest Account','on','on','on','on','on',3,1,1,1,1,'');
+
+--
+-- Table structure for table `user_auth_perms`
+--
+
+CREATE TABLE user_auth_perms (
+  user_id mediumint(8) unsigned NOT NULL default '0',
+  item_id mediumint(8) unsigned NOT NULL default '0',
+  type tinyint(2) unsigned NOT NULL default '0',
+  PRIMARY KEY  (user_id,item_id,type),
+  KEY user_id (user_id,type)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `user_auth_perms`
+--
+
+
+--
+-- Table structure for table `user_auth_realm`
+--
+
+CREATE TABLE user_auth_realm (
+  realm_id mediumint(8) unsigned NOT NULL default '0',
+  user_id mediumint(8) unsigned NOT NULL default '0',
+  PRIMARY KEY  (realm_id,user_id),
+  KEY user_id (user_id)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `user_auth_realm`
+--
+
+INSERT INTO user_auth_realm VALUES (1,1);
+INSERT INTO user_auth_realm VALUES (2,1);
+INSERT INTO user_auth_realm VALUES (3,1);
+INSERT INTO user_auth_realm VALUES (4,1);
+INSERT INTO user_auth_realm VALUES (5,1);
+INSERT INTO user_auth_realm VALUES (7,1);
+INSERT INTO user_auth_realm VALUES (7,3);
+INSERT INTO user_auth_realm VALUES (8,1);
+INSERT INTO user_auth_realm VALUES (9,1);
+INSERT INTO user_auth_realm VALUES (10,1);
+INSERT INTO user_auth_realm VALUES (11,1);
+INSERT INTO user_auth_realm VALUES (12,1);
+INSERT INTO user_auth_realm VALUES (13,1);
+INSERT INTO user_auth_realm VALUES (14,1);
+INSERT INTO user_auth_realm VALUES (15,1);
+INSERT INTO user_auth_realm VALUES (16,1);
+INSERT INTO user_auth_realm VALUES (17,1);
+
+--
+-- Table structure for table `user_log`
+--
+
+CREATE TABLE user_log (
+  username varchar(50) NOT NULL default '0',
+  user_id mediumint(8) NOT NULL default '0',
+  time datetime NOT NULL default '0000-00-00 00:00:00',
+  result tinyint(1) NOT NULL default '0',
+  ip varchar(40) NOT NULL default '',
+  PRIMARY KEY  (username,user_id,time),
+  KEY username (username)
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `user_log`
+--
+
+
+--
+-- Table structure for table `version`
+--
+
+CREATE TABLE version (
+  cacti char(20) default NULL
+) TYPE=MyISAM;
+
+--
+-- Dumping data for table `version`
+--
+
+INSERT INTO version VALUES ('new_install');
diff --git a/cdef.php b/cdef.php
new file mode 100644 (file)
index 0000000..95e6c6b
--- /dev/null
+++ b/cdef.php
@@ -0,0 +1,587 @@
+<?php
+/*
+ +-------------------------------------------------------------------------+
+ | Copyright (C) 2004-2010 The Cacti Group                                 |
+ |                                                                         |
+ | This program is free software; you can redistribute it and/or           |
+ | modify it under the terms of the GNU General Public License             |
+ | as published by the Free Software Foundation; either version 2          |
+ | of the License, or (at your option) any later version.                  |
+ |                                                                         |
+ | This program is distributed in the hope that it will be useful,         |
+ | but WITHOUT ANY WARRANTY; without even the implied warranty of          |
+ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           |
+ | GNU General Public License for more details.                            |
+ +-------------------------------------------------------------------------+
+ | Cacti: The Complete RRDTool-based Graphing Solution                     |
+ +-------------------------------------------------------------------------+
+ | This code is designed, written, and maintained by the Cacti Group. See  |
+ | about.php and/or the AUTHORS file for specific developer information.   |
+ +-------------------------------------------------------------------------+
+ | http://www.cacti.net/                                                   |
+ +-------------------------------------------------------------------------+
+*/
+
+include("./include/auth.php");
+include_once("./lib/utility.php");
+include_once("./lib/cdef.php");
+
+define("MAX_DISPLAY_PAGES", 21);
+
+$cdef_actions = array(
+       1 => "Delete",
+       2 => "Duplicate"
+       );
+
+/* set default action */
+if (!isset($_REQUEST["action"])) { $_REQUEST["action"] = ""; }
+
+switch ($_REQUEST["action"]) {
+       case 'save':
+               form_save();
+
+               break;
+       case 'actions':
+               form_actions();
+
+               break;
+       case 'item_movedown':
+               item_movedown();
+
+               header("Location: cdef.php?action=edit&id=" . $_GET["cdef_id"]);
+               break;
+       case 'item_moveup':
+               item_moveup();
+
+               header("Location: cdef.php?action=edit&id=" . $_GET["cdef_id"]);
+               break;
+       case 'item_remove':
+               item_remove();
+
+               header("Location: cdef.php?action=edit&id=" . $_GET["cdef_id"]);
+               break;
+       case 'item_edit':
+               include_once("./include/top_header.php");
+
+               item_edit();
+
+               include_once("./include/bottom_footer.php");
+               break;
+       case 'remove':
+               cdef_remove();
+
+               header ("Location: cdef.php");
+               break;
+       case 'edit':
+               include_once("./include/top_header.php");
+
+               cdef_edit();
+
+               include_once("./include/bottom_footer.php");
+               break;
+       default:
+               include_once("./include/top_header.php");
+
+               cdef();
+
+               include_once("./include/bottom_footer.php");
+               break;
+}
+
+/* --------------------------
+    Global Form Functions
+   -------------------------- */
+
+function draw_cdef_preview($cdef_id) {
+       global $colors; ?>
+       <tr bgcolor="#<?php print $colors["panel"];?>">
+               <td>
+                       <pre>cdef=<?php print get_cdef($cdef_id, true);?></pre>
+               </td>
+       </tr>
+<?php }
+
+
+/* --------------------------
+    The Save Function
+   -------------------------- */
+
+function form_save() {
+       if (isset($_POST["save_component_cdef"])) {
+               $save["id"] = $_POST["id"];
+               $save["hash"] = get_hash_cdef($_POST["id"]);
+               $save["name"] = form_input_validate($_POST["name"], "name", "", false, 3);
+
+               if (!is_error_message()) {
+                       $cdef_id = sql_save($save, "cdef");
+
+                       if ($cdef_id) {
+                               raise_message(1);
+                       }else{
+                               raise_message(2);
+                       }
+               }
+
+               header("Location: cdef.php?action=edit&id=" . (empty($cdef_id) ? $_POST["id"] : $cdef_id));
+       }elseif (isset($_POST["save_component_item"])) {
+               $sequence = get_sequence($_POST["id"], "sequence", "cdef_items", "cdef_id=" . $_POST["cdef_id"]);
+
+               $save["id"] = $_POST["id"];
+               $save["hash"] = get_hash_cdef($_POST["id"], "cdef_item");
+               $save["cdef_id"] = $_POST["cdef_id"];
+               $save["sequence"] = $sequence;
+               $save["type"] = $_POST["type"];
+               $save["value"] = $_POST["value"];
+
+               if (!is_error_message()) {
+                       $cdef_item_id = sql_save($save, "cdef_items");
+
+                       if ($cdef_item_id) {
+                               raise_message(1);
+                       }else{
+                               raise_message(2);
+                       }
+               }
+
+               if (is_error_message()) {
+                       header("Location: cdef.php?action=item_edit&cdef_id=" . $_POST["cdef_id"] . "&id=" . (empty($cdef_item_id) ? $_POST["id"] : $cdef_item_id));
+               }else{
+                       header("Location: cdef.php?action=edit&id=" . $_POST["cdef_id"]);
+               }
+       }
+}
+
+/* ------------------------
+    The "actions" function
+   ------------------------ */
+
+function form_actions() {
+       global $colors, $cdef_actions;
+
+       /* if we are to save this form, instead of display it */
+       if (isset($_POST["selected_items"])) {
+               $selected_items = unserialize(stripslashes($_POST["selected_items"]));
+
+               if ($_POST["drp_action"] == "1") { /* delete */
+                       db_execute("delete from cdef where " . array_to_sql_or($selected_items, "id"));
+                       db_execute("delete from cdef_items where " . array_to_sql_or($selected_items, "cdef_id"));
+
+               }elseif ($_POST["drp_action"] == "2") { /* duplicate */
+                       for ($i=0;($i<count($selected_items));$i++) {
+                               /* ================= input validation ================= */
+                               input_validate_input_number($selected_items[$i]);
+                               /* ==================================================== */
+
+                               duplicate_cdef($selected_items[$i], $_POST["title_format"]);
+                       }
+               }
+
+               header("Location: cdef.php");
+               exit;
+       }
+
+       /* setup some variables */
+       $cdef_list = ""; $i = 0;
+
+       /* loop through each of the graphs selected on the previous page and get more info about them */
+       while (list($var,$val) = each($_POST)) {
+               if (ereg("^chk_([0-9]+)$", $var, $matches)) {
+                       /* ================= input validation ================= */
+                       input_validate_input_number($matches[1]);
+                       /* ==================================================== */
+
+                       $cdef_list .= "<li>" . db_fetch_cell("select name from cdef where id=" . $matches[1]) . "<br>";
+                       $cdef_array[$i] = $matches[1];
+
+                       $i++;
+               }
+       }
+
+       include_once("./include/top_header.php");
+
+       print "<form action='cdef.php' method='post'>\n";
+
+       html_start_box("<strong>" . $cdef_actions{$_POST["drp_action"]} . "</strong>", "60%", $colors["header_panel"], "3", "center", "");
+
+       if (isset($cdef_array) && sizeof($cdef_array)) {
+               if ($_POST["drp_action"] == "1") { /* delete */
+                       print " <tr>
+                                       <td class='textArea' bgcolor='#" . $colors["form_alternate1"]. "'>
+                                               <p>When you click \"Continue\", the folling CDEF(s) will be deleted.</p>
+                                               <p><ul>$cdef_list</ul></p>
+                                       </td>
+                               </tr>\n
+                               ";
+
+                       $save_html = "<input type='button' value='Cancel' onClick='window.history.back()'>&nbsp;<input type='submit' value='Continue' title='Delete CDEF(s)'>";
+               }elseif ($_POST["drp_action"] == "2") { /* duplicate */
+                       print " <tr>
+                                       <td class='textArea' bgcolor='#" . $colors["form_alternate1"]. "'>
+                                               <p>When you click \"Continue\", the following CDEFs will be duplicated. You can
+                                               optionally change the title format for the new CDEFs.</p>
+                                               <p><ul>$cdef_list</ul></p>
+                                               <p><strong>Title Format:</strong><br>"; form_text_box("title_format", "<cdef_title> (1)", "", "255", "30", "text"); print "</p>
+                                       </td>
+                               </tr>\n
+                               ";
+
+                       $save_html = "<input type='button' value='Cancel' onClick='window.history.back()'>&nbsp;<input type='submit' value='Continue' title='Duplicate CDEF(s)'>";
+               }
+       }else{
+               print "<tr><td bgcolor='#" . $colors["form_alternate1"]. "'><span class='textError'>You must select at least one CDEF.</span></td></tr>\n";
+               $save_html = "<input type='button' value='Return' onClick='window.history.back()'>";
+       }
+
+       print " <tr>
+                       <td align='right' bgcolor='#eaeaea'>
+                               <input type='hidden' name='action' value='actions'>
+                               <input type='hidden' name='selected_items' value='" . (isset($cdef_array) ? serialize($cdef_array) : '') . "'>
+                               <input type='hidden' name='drp_action' value='" . $_POST["drp_action"] . "'>
+                               $save_html
+                       </td>
+               </tr>
+               ";
+
+       html_end_box();
+
+       include_once("./include/bottom_footer.php");
+}
+
+/* --------------------------
+    CDEF Item Functions
+   -------------------------- */
+
+function item_movedown() {
+       /* ================= input validation ================= */
+       input_validate_input_number(get_request_var("id"));
+       input_validate_input_number(get_request_var("cdef_id"));
+       /* ==================================================== */
+
+       move_item_down("cdef_items", $_GET["id"], "cdef_id=" . $_GET["cdef_id"]);
+}
+
+function item_moveup() {
+       /* ================= input validation ================= */
+       input_validate_input_number(get_request_var("id"));
+       input_validate_input_number(get_request_var("cdef_id"));
+       /* ==================================================== */
+
+       move_item_up("cdef_items", $_GET["id"], "cdef_id=" . $_GET["cdef_id"]);
+}
+
+function item_remove() {
+       /* ================= input validation ================= */
+       input_validate_input_number(get_request_var("id"));
+       input_validate_input_number(get_request_var("cdef_id"));
+       /* ==================================================== */
+
+       db_execute("delete from cdef_items where id=" . $_GET["id"]);
+}
+
+function item_edit() {
+       global $colors, $cdef_item_types, $cdef_functions, $cdef_operators, $custom_data_source_types;
+
+       /* ================= input validation ================= */
+       input_validate_input_number(get_request_var("id"));
+       input_validate_input_number(get_request_var("cdef_id"));
+       /* ==================================================== */
+
+       if (!empty($_GET["id"])) {
+               $cdef = db_fetch_row("select * from cdef_items where id=" . $_GET["id"]);
+               $current_type = $cdef["type"];
+               $values[$current_type] = $cdef["value"];
+       }
+
+       html_start_box("", "100%", "aaaaaa", "3", "center", "");
+       draw_cdef_preview($_GET["cdef_id"]);
+       html_end_box();
+
+       print "<form method='post' action='cdef.php' name='form_cdef'>\n";
+
+       html_start_box("<strong>CDEF Items</strong> [edit: " . htmlspecialchars(db_fetch_cell("select name from cdef where id=" . $_GET["cdef_id"])) . "]", "100%", $colors["header"], "3", "center", "");
+
+       if (isset($_GET["type_select"])) {
+               $current_type = $_GET["type_select"];
+       }elseif (isset($cdef["type"])) {
+               $current_type = $cdef["type"];
+       }else{
+               $current_type = "1";
+       }
+
+       form_alternate_row_color($colors["form_alternate1"],$colors["form_alternate2"],0); ?>
+               <td width="50%">
+                       <font class="textEditTitle">CDEF Item Type</font><br>
+                       Choose what type of CDEF item this is.
+               </td>
+               <td>
+                       <select name="type_select" onChange="window.location=document.form_cdef.type_select.options[document.form_cdef.type_select.selectedIndex].value">
+                               <?php
+                               while (list($var, $val) = each($cdef_item_types)) {
+                                       print "<option value='cdef.php?action=item_edit" . (isset($_GET["id"]) ? "&id=" . $_GET["id"] : "") . "&cdef_id=" . $_GET["cdef_id"] . "&type_select=$var'"; if ($var == $current_type) { print " selected"; } print ">$val</option>\n";
+                               }
+                               ?>
+                       </select>
+               </td>
+       </tr>
+       <?php form_alternate_row_color($colors["form_alternate1"],$colors["form_alternate2"],1); ?>
+               <td width="50%">
+                       <font class="textEditTitle">CDEF Item Value</font><br>
+                       Enter a value for this CDEF item.
+               </td>
+               <td>
+                       <?php
+                       switch ($current_type) {
+                       case '1':
+                               form_dropdown("value", $cdef_functions, "", "", (isset($cdef["value"]) ? $cdef["value"] : ""), "", "");
+                               break;
+                       case '2':
+                               form_dropdown("value", $cdef_operators, "", "", (isset($cdef["value"]) ? $cdef["value"] : ""), "", "");
+                               break;
+                       case '4':
+                               form_dropdown("value", $custom_data_source_types, "", "", (isset($cdef["value"]) ? $cdef["value"] : ""), "", "");
+                               break;
+                       case '5':
+                               form_dropdown("value", db_fetch_assoc("select name,id from cdef order by name"), "name", "id", (isset($cdef["value"]) ? $cdef["value"] : ""), "", "");
+                               break;
+                       case '6':
+                               form_text_box("value", (isset($cdef["value"]) ? $cdef["value"] : ""), "", "255", 30, "text", (isset($_GET["id"]) ? $_GET["id"] : "0"));
+                               break;
+                       }
+                       ?>
+               </td>
+       </tr>
+       <?php
+
+       form_hidden_box("id", (isset($_GET["id"]) ? $_GET["id"] : "0"), "");
+       form_hidden_box("type", $current_type, "");
+       form_hidden_box("cdef_id", $_GET["cdef_id"], "");
+       form_hidden_box("save_component_item", "1", "");
+
+       html_end_box();
+
+       form_save_button("cdef.php?action=edit&id=" . $_GET["cdef_id"]);
+}
+
+/* ---------------------
+    CDEF Functions
+   --------------------- */
+
+function cdef_remove() {
+       /* ================= input validation ================= */
+       input_validate_input_number(get_request_var("id"));
+       /* ==================================================== */
+
+       if ((read_config_option("deletion_verification") == "on") && (!isset($_GET["confirm"]))) {
+               include("./include/top_header.php");
+               form_confirm("Are You Sure?", "Are you sure you want to delete the CDEF <strong>'" . htmlspecialchars(db_fetch_cell("select name from cdef where id=" . $_GET["id"])) . "'</strong>?", htmlspecialchars("cdef.php"), htmlspecialchars("cdef.php?action=remove&id=" . $_GET["id"]));
+               include("./include/bottom_footer.php");
+               exit;
+       }
+
+       if ((read_config_option("deletion_verification") == "") || (isset($_GET["confirm"]))) {
+               db_execute("delete from cdef where id=" . $_GET["id"]);
+               db_execute("delete from cdef_items where cdef_id=" . $_GET["id"]);
+       }
+}
+
+function cdef_edit() {
+       global $colors, $cdef_item_types, $fields_cdef_edit;
+
+       /* ================= input validation ================= */
+       input_validate_input_number(get_request_var("id"));
+       /* ==================================================== */
+
+       if (!empty($_GET["id"])) {
+               $cdef = db_fetch_row("select * from cdef where id=" . $_GET["id"]);
+               $header_label = "[edit: " . htmlspecialchars($cdef["name"]) . "]";
+       }else{
+               $header_label = "[new]";
+       }
+
+       html_start_box("<strong>CDEF's</strong> $header_label", "100%", $colors["header"], "3", "center", "");
+
+       draw_edit_form(array(
+               "config" => array(),
+               "fields" => inject_form_variables($fields_cdef_edit, (isset($cdef) ? $cdef : array()))
+               ));
+
+       html_end_box();
+
+       if (!empty($_GET["id"])) {
+               html_start_box("", "100%", "aaaaaa", "3", "center", "");
+               draw_cdef_preview($_GET["id"]);
+               html_end_box();
+
+               html_start_box("<strong>CDEF Items</strong>", "100%", $colors["header"], "3", "center", "cdef.php?action=item_edit&cdef_id=" . $cdef["id"]);
+
+               print "<tr bgcolor='#" . $colors["header_panel"] . "'>";
+                       DrawMatrixHeaderItem("Item",$colors["header_text"],1);
+                       DrawMatrixHeaderItem("Item Value",$colors["header_text"],1);
+                       DrawMatrixHeaderItem("&nbsp;",$colors["header_text"],2);
+               print "</tr>";
+
+               $cdef_items = db_fetch_assoc("select * from cdef_items where cdef_id=" . $_GET["id"] . " order by sequence");
+
+               $i = 0;
+               if (sizeof($cdef_items) > 0) {
+                       foreach ($cdef_items as $cdef_item) {
+                               form_alternate_row_color($colors["alternate"],$colors["light"],$i); $i++;
+                                       ?>
+                                       <td>
+                                               <a class="linkEditMain" href="<?php print htmlspecialchars("cdef.php?action=item_edit&id=" . $cdef_item["id"] . "&cdef_id=" . $cdef["id"]);?>">Item #<?php print htmlspecialchars($i);?></a>
+                                       </td>
+                                       <td>
+                                               <em><?php $cdef_item_type = $cdef_item["type"]; print $cdef_item_types[$cdef_item_type];?></em>: <strong><?php print get_cdef_item_name($cdef_item["id"]);?></strong>
+                                       </td>
+                                       <td>
+                                               <a href="<?php print htmlspecialchars("cdef.php?action=item_movedown&id=" . $cdef_item["id"] . "&cdef_id=" . $cdef["id"]);?>"><img src="images/move_down.gif" border="0" alt="Move Down"></a>
+                                               <a href="<?php print htmlspecialchars("cdef.php?action=item_moveup&id=" . $cdef_item["id"] . "&cdef_id=" . $cdef["id"]);?>"><img src="images/move_up.gif" border="0" alt="Move Up"></a>
+                                       </td>
+                                       <td align="right">
+                                               <a href="<?php print htmlspecialchars("cdef.php?action=item_remove&id=" . $cdef_item["id"] . "&cdef_id=" . $cdef["id"]);?>"><img src="images/delete_icon.gif" style="height:10px;width:10px;" border="0" alt="Delete"></a>
+                                       </td>
+                               </tr>
+                       <?php
+                       }
+               }
+               html_end_box();
+       }
+
+       form_save_button("cdef.php", "return");
+}
+
+function cdef() {
+       global $colors, $cdef_actions;
+
+       /* clean up search string */
+       if (isset($_REQUEST["filter"])) {
+               $_REQUEST["filter"] = sanitize_search_string(get_request_var("filter"));
+       }
+
+       /* clean up sort_column string */
+       if (isset($_REQUEST["sort_column"])) {
+               $_REQUEST["sort_column"] = sanitize_search_string(get_request_var("sort_column"));
+       }
+
+       /* clean up sort_direction string */
+       if (isset($_REQUEST["sort_direction"])) {
+               $_REQUEST["sort_direction"] = sanitize_search_string(get_request_var("sort_direction"));
+       }
+
+       /* if the user pushed the 'clear' button */
+       if (isset($_REQUEST["clear_x"])) {
+               kill_session_var("sess_cdef_current_page");
+               kill_session_var("sess_cdef_filter");
+               kill_session_var("sess_cdef_sort_column");
+               kill_session_var("sess_cdef_sort_direction");
+
+               unset($_REQUEST["page"]);
+               unset($_REQUEST["filter"]);
+               unset($_REQUEST["sort_column"]);
+               unset($_REQUEST["sort_direction"]);
+
+       }
+
+       /* remember these search fields in session vars so we don't have to keep passing them around */
+       load_current_session_value("page", "sess_cdef_current_page", "1");
+       load_current_session_value("filter", "sess_cdef_filter", "");
+       load_current_session_value("sort_column", "sess_cdef_sort_column", "name");
+       load_current_session_value("sort_direction", "sess_cdef_sort_direction", "ASC");
+
+       html_start_box("<strong>CDEF's</strong>", "100%", $colors["header"], "3", "center", "cdef.php?action=edit");
+
+       ?>
+       <tr bgcolor="#<?php print $colors["panel"];?>">
+               <td>
+                       <form name="form_cdef" action="cdef.php">
+                       <table width="100%" cellpadding="0" cellspacing="0">
+                               <tr>
+                                       <td nowrap style='white-space: nowrap;' width="50">
+                                               Search:&nbsp;
+                                       </td>
+                                       <td width="1">
+                                               <input type="text" name="filter" size="40" value="<?php print htmlspecialchars(get_request_var_request("filter"));?>">
+                                       </td>
+                                       <td nowrap style='white-space: nowrap;'>
+                                               &nbsp;<input type="submit" value="Go" title="Set/Refresh Filters">
+                                               <input type="submit" name="clear_x" value="Clear" title="Clear Filters">
+                                       </td>
+                               </tr>
+                       </table>
+                       <input type='hidden' name='page' value='1'>
+                       </form>
+               </td>
+       </tr>
+       <?php
+
+       html_end_box();
+
+       /* form the 'where' clause for our main sql query */
+       $sql_where = "WHERE (cdef.name LIKE '%%" . get_request_var_request("filter") . "%%')";
+
+       /* print checkbox form for validation */
+       print "<form name='chk' method='post' action='cdef.php'>\n";
+
+       html_start_box("", "100%", $colors["header"], "3", "center", "");
+
+       $total_rows = db_fetch_cell("SELECT
+               COUNT(cdef.id)
+               FROM cdef
+               $sql_where");
+
+       $cdef_list = db_fetch_assoc("SELECT
+               cdef.id,cdef.name
+               FROM cdef
+               $sql_where
+               ORDER BY " . get_request_var_request("sort_column") . " " . get_request_var_request("sort_direction") .
+               " LIMIT " . (read_config_option("num_rows_device")*(get_request_var_request("page")-1)) . "," . read_config_option("num_rows_device"));
+
+       /* generate page list */
+       $url_page_select = get_page_list(get_request_var_request("page"), MAX_DISPLAY_PAGES, read_config_option("num_rows_device"), $total_rows, "cdef.php?filter=" . get_request_var_request("filter"));
+
+       $nav = "<tr bgcolor='#" . $colors["header"] . "'>
+               <td colspan='7'>
+                       <table width='100%' cellspacing='0' cellpadding='0' border='0'>
+                               <tr>
+                                       <td align='left' class='textHeaderDark'>
+                                               <strong>&lt;&lt; "; if (get_request_var_request("page") > 1) { $nav .= "<a class='linkOverDark' href='" . htmlspecialchars("cdef.php?filter=" . get_request_var_request("filter") . "&page=" . (get_request_var_request("page")-1)) . "'>"; } $nav .= "Previous"; if (get_request_var_request("page") > 1) { $nav .= "</a>"; } $nav .= "</strong>
+                                       </td>\n
+                                       <td align='center' class='textHeaderDark'>
+                                               Showing Rows " . ((read_config_option("num_rows_device")*(get_request_var_request("page")-1))+1) . " to " . ((($total_rows < read_config_option("num_rows_device")) || ($total_rows < (read_config_option("num_rows_device")*get_request_var_request("page")))) ? $total_rows : (read_config_option("num_rows_device") * get_request_var_request("page"))) . " of $total_rows [$url_page_select]
+                                       </td>\n
+                                       <td align='right' class='textHeaderDark'>
+                                               <strong>"; if ((get_request_var_request("page") * read_config_option("num_rows_device")) < $total_rows) { $nav .= "<a class='linkOverDark' href='" . htmlspecialchars("cdef.php?filter=" . get_request_var_request("filter") . "&page=" . (get_request_var_request("page")+1)) . "'>"; } $nav .= "Next"; if ((get_request_var_request("page") * read_config_option("num_rows_device")) < $total_rows) { $nav .= "</a>"; } $nav .= " &gt;&gt;</strong>
+                                       </td>\n
+                               </tr>
+                       </table>
+               </td>
+               </tr>\n";
+
+       print $nav;
+
+       $display_text = array(
+               "name" => array("CDEF Title", "ASC"));
+
+       html_header_sort_checkbox($display_text, get_request_var_request("sort_column"), get_request_var_request("sort_direction"), false);
+
+       $i = 0;
+       if (sizeof($cdef_list) > 0) {
+               foreach ($cdef_list as $cdef) {
+                       form_alternate_row_color($colors["alternate"], $colors["light"], $i, 'line' . $cdef["id"]);$i++;
+                       form_selectable_cell("<a class='linkEditMain' href='" . htmlspecialchars("cdef.php?action=edit&id=" . $cdef["id"]) . "'>" . (strlen(get_request_var_request("filter")) ? eregi_replace("(" . preg_quote(get_request_var_request("filter")) . ")", "<span style='background-color: #F8D93D;'>\\1</span>", htmlspecialchars($cdef["name"])) : htmlspecialchars($cdef["name"])) . "</a>", $cdef["id"]);
+                       form_checkbox_cell($cdef["name"], $cdef["id"]);
+                       form_end_row();
+               }
+               print $nav;
+       }else{
+               print "<tr><td><em>No CDEFs</em></td></tr>\n";
+       }
+       html_end_box(false);
+
+       /* draw the dropdown containing a list of available actions for this form */
+       draw_actions_dropdown($cdef_actions);
+
+       print "</form>\n";
+}
+?>
+
diff --git a/cli/.htaccess b/cli/.htaccess
new file mode 100644 (file)
index 0000000..8050cc5
--- /dev/null
@@ -0,0 +1,4 @@
+
+Order deny,allow
+Deny from all
+
diff --git a/cli/add_data_query.php b/cli/add_data_query.php
new file mode 100644 (file)
index 0000000..6fefcb4
--- /dev/null
@@ -0,0 +1,220 @@
+#!/usr/bin/php -q
+<?php
+/*
+ +-------------------------------------------------------------------------+
+ | Copyright (C) 2004-2010 The Cacti Group                                 |
+ |                                                                         |
+ | This program is free software; you can redistribute it and/or           |
+ | modify it under the terms of the GNU General Public License             |
+ | as published by the Free Software Foundation; either version 2          |
+ | of the License, or (at your option) any later version.                  |
+ |                                                                         |
+ | This program is distributed in the hope that it will be useful,         |
+ | but WITHOUT ANY WARRANTY; without even the implied warranty of          |
+ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           |
+ | GNU General Public License for more details.                            |
+ +-------------------------------------------------------------------------+
+ | Cacti: The Complete RRDTool-based Graphing Solution                     |
+ +-------------------------------------------------------------------------+
+ | This code is designed, written, and maintained by the Cacti Group. See  |
+ | about.php and/or the AUTHORS file for specific developer information.   |
+ +-------------------------------------------------------------------------+
+ | http://www.cacti.net/                                                   |
+ +-------------------------------------------------------------------------+
+*/
+
+/* do NOT run this script through a web browser */
+if (!isset($_SERVER["argv"][0]) || isset($_SERVER['REQUEST_METHOD'])  || isset($_SERVER['REMOTE_ADDR'])) {
+       die("<br><strong>This script is only meant to run at the command line.</strong>");
+}
+
+/* We are not talking to the browser */
+$no_http_headers = true;
+
+include(dirname(__FILE__)."/../include/global.php");
+include_once($config["base_path"]."/lib/api_automation_tools.php");
+include_once($config["base_path"]."/lib/data_query.php");
+
+/* process calling arguments */
+$parms = $_SERVER["argv"];
+array_shift($parms);
+
+if (sizeof($parms)) {
+       $displayHosts           = FALSE;
+       $displayDataQueries = FALSE;
+       $quietMode                      = FALSE;
+       unset($host_id);
+       unset($data_query_id);
+       unset($reindex_method);
+
+       foreach($parms as $parameter) {
+               @list($arg, $value) = @explode("=", $parameter);
+
+               switch ($arg) {
+               case "-d":
+                       $debug = TRUE;
+
+                       break;
+               case "--host-id":
+                       $host_id = trim($value);
+                       if (!is_numeric($host_id)) {
+                               echo "ERROR: You must supply a valid host-id to run this script!\n";
+                               exit(1);
+                       }
+
+                       break;
+               case "--data-query-id":
+                       $data_query_id = $value;
+                       if (!is_numeric($data_query_id)) {
+                               echo "ERROR: You must supply a numeric data-query-id for all hosts!\n";
+                               exit(1);
+                       }
+
+                       break;
+               case "--reindex-method":
+                       if (is_numeric($value) &&
+                               ($value >= DATA_QUERY_AUTOINDEX_NONE) &&
+                               ($value <= DATA_QUERY_AUTOINDEX_FIELD_VERIFICATION)) {
+                               $reindex_method = $value;
+                       } else {
+                               switch (strtolower($value)) {
+                                       case "none":
+                                               $reindex_method = DATA_QUERY_AUTOINDEX_NONE;
+                                               break;
+                                       case "uptime":
+                                               $reindex_method = DATA_QUERY_AUTOINDEX_BACKWARDS_UPTIME;
+                                               break;
+                                       case "index":
+                                               $reindex_method = DATA_QUERY_AUTOINDEX_INDEX_NUM_CHANGE;
+                                               break;
+                                       case "fields":
+                                               $reindex_method = DATA_QUERY_AUTOINDEX_FIELD_VERIFICATION;
+                                               break;
+                                       default:
+                                               echo "ERROR: You must supply a valid reindex method for all hosts!\n";
+                                               exit(1);
+                               }
+                       }
+                       break;
+               case "--version":
+               case "-V":
+               case "-H":
+               case "--help":
+                       display_help();
+                       exit(0);
+               case "--list-hosts":
+                       $displayHosts = TRUE;
+                       break;
+               case "--list-data-queries":
+                       $displayDataQueries = TRUE;
+                       break;
+               case "--quiet":
+                       $quietMode = TRUE;
+                       break;
+               default:
+                       echo "ERROR: Invalid Argument: ($arg)\n\n";
+                       display_help();
+                       exit(1);
+               }
+       }
+
+       /* list options, recognizing $quietMode */
+       if ($displayHosts) {
+               $hosts = getHosts();
+               displayHosts($hosts, $quietMode);
+               exit(0);
+       }
+       if ($displayDataQueries) {
+               $data_queries = getSNMPQueries();
+               displaySNMPQueries($data_queries, $quietMode);
+               exit(0);
+       }
+
+       /*
+        * verify required parameters
+        * for update / insert options
+        */
+       if (!isset($host_id)) {
+               echo "ERROR: You must supply a valid host-id for all hosts!\n";
+               exit(1);
+       }
+
+       if (!isset($data_query_id)) {
+               echo "ERROR: You must supply a valid data-query-id for all hosts!\n";
+               exit(1);
+       }
+
+       if (!isset($reindex_method)) {
+               echo "ERROR: You must supply a valid reindex-method for all hosts!\n";
+               exit(1);
+       }
+
+
+       /*
+        * verify valid host id and get a name for it
+        */
+       $host_name = db_fetch_cell("SELECT hostname FROM host WHERE id = " . $host_id);
+       if (!isset($host_name)) {
+               echo "ERROR: Unknown Host Id ($host_id)\n";
+               exit(1);
+       }
+
+       /*
+        * verify valid data query and get a name for it
+        */
+       $data_query_name = db_fetch_cell("SELECT name FROM snmp_query WHERE id = " . $data_query_id);
+       if (!isset($data_query_name)) {
+               echo "ERROR: Unknown Data Query Id ($data_query_id)\n";
+               exit(1);
+       }
+
+       /*
+        * Now, add the data query and run it once to get the cache filled
+        */
+       $exists_already = db_fetch_cell("SELECT host_id FROM host_snmp_query WHERE host_id=$host_id AND snmp_query_id=$data_query_id AND reindex_method=$reindex_method");
+       if ((isset($exists_already)) &&
+               ($exists_already > 0)) {
+               echo "ERROR: Data Query is already associated for host: ($host_id: $host_name) data query ($data_query_id: $data_query_name) reindex method ($reindex_method: $reindex_types[$reindex_method])\n";
+               exit(1);
+       }else{
+               db_execute("REPLACE INTO host_snmp_query (host_id,snmp_query_id,reindex_method) " .
+                                  "VALUES (". $host_id . ","
+                                                        . $data_query_id . ","
+                                                        . $reindex_method . "
+                                                       )");
+               /* recache snmp data */
+               run_data_query($host_id, $data_query_id);
+       }
+
+       if (is_error_message()) {
+               echo "ERROR: Failed to add this data query for host ($host_id: $host_name) data query ($data_query_id: $data_query_name) reindex method ($reindex_method: $reindex_types[$reindex_method])\n";
+               exit(1);
+       } else {
+               echo "Success - Host ($host_id: $host_name) data query ($data_query_id: $data_query_name) reindex method ($reindex_method: $reindex_types[$reindex_method])\n";
+               exit(0);
+       }
+}else{
+       display_help();
+       exit(0);
+}
+
+function display_help() {
+       echo "Add Data Query Script 1.0, Copyright 2008 - The Cacti Group\n\n";
+       echo "A simple command line utility to add a data query to an existing device in Cacti\n\n";
+       echo "usage: add_data_query.php --host-id=[ID] --data-query-id=[dq_id] --reindex-method=[method] [--quiet]\n\n";
+       echo "Required:\n";
+       echo "    --host-id         the numerical ID of the host\n";
+       echo "    --data-query-id   the numerical ID of the data_query to be added\n";
+       echo "    --reindex-method  the reindex method to be used for that data query\n";
+       echo "                      0|None   = no reindexing\n";
+       echo "                      1|Uptime = Uptime goes Backwards\n";
+       echo "                      2|Index  = Index Count Changed\n";
+       echo "                      3|Fields = Verify all Fields\n";
+       echo "List Options:\n";
+       echo "    --list-hosts\n";
+       echo "    --list-data-queries\n";
+       echo "    --quiet - batch mode value return\n\n";
+       echo "If the data query was already associated, it will be reindexed.\n\n";
+}
+
+?>
diff --git a/cli/add_device.php b/cli/add_device.php
new file mode 100644 (file)
index 0000000..e625f95
--- /dev/null
@@ -0,0 +1,383 @@
+#!/usr/bin/php -q
+<?php
+/*
+ +-------------------------------------------------------------------------+
+ | Copyright (C) 2004-2010 The Cacti Group                                 |
+ |                                                                         |
+ | This program is free software; you can redistribute it and/or           |
+ | modify it under the terms of the GNU General Public License             |
+ | as published by the Free Software Foundation; either version 2          |
+ | of the License, or (at your option) any later version.                  |
+ |                                                                         |
+ | This program is distributed in the hope that it will be useful,         |
+ | but WITHOUT ANY WARRANTY; without even the implied warranty of          |
+ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           |
+ | GNU General Public License for more details.                            |
+ +-------------------------------------------------------------------------+
+ | Cacti: The Complete RRDTool-based Graphing Solution                     |
+ +-------------------------------------------------------------------------+
+ | This code is designed, written, and maintained by the Cacti Group. See  |
+ | about.php and/or the AUTHORS file for specific developer information.   |
+ +-------------------------------------------------------------------------+
+ | http://www.cacti.net/                                                   |
+ +-------------------------------------------------------------------------+
+*/
+
+/* do NOT run this script through a web browser */
+if (!isset($_SERVER["argv"][0]) || isset($_SERVER['REQUEST_METHOD'])  || isset($_SERVER['REMOTE_ADDR'])) {
+       die("<br><strong>This script is only meant to run at the command line.</strong>");
+}
+
+/* We are not talking to the browser */
+$no_http_headers = true;
+
+include(dirname(__FILE__)."/../include/global.php");
+include_once($config["base_path"]."/lib/api_automation_tools.php");
+include_once($config["base_path"]."/lib/utility.php");
+include_once($config["base_path"]."/lib/api_data_source.php");
+include_once($config["base_path"]."/lib/api_graph.php");
+include_once($config["base_path"]."/lib/snmp.php");
+include_once($config["base_path"]."/lib/data_query.php");
+include_once($config["base_path"]."/lib/api_device.php");
+
+/* process calling arguments */
+$parms = $_SERVER["argv"];
+array_shift($parms);
+
+if (sizeof($parms)) {
+       /* setup defaults */
+       $description   = "";
+       $ip            = "";
+       $template_id   = 0;
+       $community     = read_config_option("snmp_community");
+       $snmp_ver      = read_config_option("snmp_ver");
+       $disable       = 0;
+
+       $notes         = "";
+
+       $snmp_username        = read_config_option("snmp_username");
+       $snmp_password        = read_config_option("snmp_password");
+       $snmp_auth_protocol   = read_config_option("snmp_auth_protocol");
+       $snmp_priv_passphrase = read_config_option("snmp_priv_passphrase");
+       $snmp_priv_protocol   = read_config_option("snmp_priv_protocol");
+       $snmp_context         = "";
+       $snmp_port            = read_config_option("snmp_port");
+       $snmp_timeout         = read_config_option("snmp_timeout");
+
+       $avail        = 1;
+       $ping_method  = read_config_option("ping_method");
+       $ping_port    = read_config_option("ping_port");
+       $ping_timeout = read_config_option("ping_timeout");
+       $ping_retries = read_config_option("ping_retries");
+       $max_oids     = read_config_option("max_get_size");
+
+       $displayHostTemplates = FALSE;
+       $displayCommunities   = FALSE;
+       $quietMode            = FALSE;
+
+       foreach($parms as $parameter) {
+               @list($arg, $value) = @explode("=", $parameter);
+
+               switch ($arg) {
+               case "-d":
+                       $debug = TRUE;
+
+                       break;
+               case "--description":
+                       $description = trim($value);
+
+                       break;
+               case "--ip":
+                       $ip = trim($value);
+
+                       break;
+               case "--template":
+                       $template_id = $value;
+
+                       break;
+               case "--community":
+                       $community = trim($value);
+
+                       break;
+               case "--version":
+                       $snmp_ver = trim($value);
+
+                       break;
+               case "--notes":
+                       $notes = trim($value);
+
+                       break;
+               case "--disable":
+                       $disable  = $value;
+
+                       break;
+               case "--username":
+                       $snmp_username = trim($value);
+
+                       break;
+               case "--password":
+                       $snmp_password = trim($value);
+
+                       break;
+               case "--authproto":
+                       $snmp_auth_protocol = trim($value);
+
+                       break;
+               case "--privproto":
+                       $snmp_priv_protocol = trim($value);
+
+                       break;
+               case "--privpass":
+                       $snmp_priv_passphrase = trim($value);
+
+                       break;
+               case "--port":
+                       $snmp_port     = $value;
+
+                       break;
+               case "--timeout":
+                       $snmp_timeout  = $value;
+
+                       break;
+               case "--avail":
+                       switch($value) {
+                       case "none":
+                               $avail = '0'; /* tried to use AVAIL_NONE, but then ereg failes on validation, sigh */
+
+                               break;
+                       case "ping":
+                               $avail = AVAIL_PING;
+
+                               break;
+                       case "snmp":
+                               $avail = AVAIL_SNMP;
+
+                               break;
+                       case "pingsnmp":
+                               $avail = AVAIL_SNMP_AND_PING;
+
+                               break;
+                       default:
+                               echo "ERROR: Invalid Availability Parameter: ($value)\n\n";
+                               display_help();
+                               exit(1);
+                       }
+
+                       break;
+               case "--ping_method":
+                       switch(strtolower($value)) {
+                       case "icmp":
+                               $ping_method = PING_ICMP;
+
+                               break;
+                       case "tcp":
+                               $ping_method = PING_TCP;
+
+                               break;
+                       case "udp":
+                               $ping_method = PING_UDP;
+
+                               break;
+                       default:
+                               echo "ERROR: Invalid Ping Method: ($value)\n\n";
+                               display_help();
+                               exit(1);
+                       }
+
+                       break;
+               case "--ping_port":
+                       if (is_numeric($value) && ($value > 0)) {
+                               $ping_port = $value;
+                       }else{
+                               echo "ERROR: Invalid Ping Port: ($value)\n\n";
+                               display_help();
+                               exit(1);
+                       }
+
+                       break;
+               case "--ping_retries":
+                       if (is_numeric($value) && ($value > 0)) {
+                               $ping_retries = $value;
+                       }else{
+                               echo "ERROR: Invalid Ping Retries: ($value)\n\n";
+                               display_help();
+                               exit(1);
+                       }
+
+                       break;
+               case "--max_oids":
+                       if (is_numeric($value) && ($value > 0)) {
+                               $max_oids = $value;
+                       }else{
+                               echo "ERROR: Invalid Max OIDS: ($value)\n\n";
+                               display_help();
+                               exit(1);
+                       }
+
+                       break;
+               case "--version":
+               case "-V":
+               case "-H":
+               case "--help":
+                       display_help();
+                       exit(0);
+               case "--list-communities":
+                       $displayCommunities = TRUE;
+
+                       break;
+               case "--list-host-templates":
+                       $displayHostTemplates = TRUE;
+
+                       break;
+               case "--quiet":
+                       $quietMode = TRUE;
+
+                       break;
+               default:
+                       echo "ERROR: Invalid Argument: ($arg)\n\n";
+                       display_help();
+                       exit(1);
+               }
+       }
+
+       if ($displayCommunities) {
+               displayCommunities($quietMode);
+               exit(0);
+       }
+
+       if ($displayHostTemplates) {
+               displayHostTemplates(getHostTemplates(), $quietMode);
+               exit(0);
+       }
+
+       /* process the various lists into validation arrays */
+       $host_templates = getHostTemplates();
+       $hosts          = getHostsByDescription();
+       $addresses      = getAddresses();
+
+       /* process templates */
+       if (!isset($host_templates[$template_id])) {
+               echo "ERROR: Unknown template id ($template_id)\n";
+               exit(1);
+       }
+
+       /* process host description */
+       if (isset($hosts[$description])) {
+               db_execute("update host set hostname='$ip' where id=" . $hosts[$description]);
+               echo "This host already exists in the database ($description) device-id: (" . $hosts[$description] . ")\n";
+               exit(1);
+       }
+
+       if ($description == "") {
+               echo "ERROR: You must supply a description for all hosts!\n";
+               exit(1);
+       }
+
+       /* process ip */
+       if (isset($addresses[$ip])) {
+               db_execute("update host set description = '$description' where id = " . $addresses[$ip]);
+               echo "ERROR: This IP already exists in the database ($ip) device-id: (" . $addresses[$ip] . ")\n";
+               exit(1);
+       }
+
+       if ($ip == "") {
+               echo "ERROR: You must supply an IP address for all hosts!\n";
+               exit(1);
+       }
+
+       /* process snmp information */
+       if ($snmp_ver < 0 || $snmp_ver > 3) {
+               echo "ERROR: Invalid snmp version ($snmp_ver)\n";
+               exit(1);
+       }else{
+               if ($snmp_port <= 1 || $snmp_port > 65534) {
+                       echo "ERROR: Invalid port.  Valid values are from 1-65534\n";
+                       exit(1);
+               }
+
+               if ($snmp_timeout <= 0 || $snmp_timeout > 20000) {
+                       echo "ERROR: Invalid timeout.  Valid values are from 1 to 20000\n";
+                       exit(1);
+               }
+       }
+
+       /* community/user/password verification */
+       if ($snmp_ver != "3") {
+               /* snmp community can be blank */
+       }else{
+               if ($snmp_username == "" || $snmp_password == "") {
+                       echo "ERROR: When using snmpv3 you must supply an username and password\n";
+                       exit(1);
+               }
+       }
+
+       /* validate the disable state */
+       if ($disable != 1 && $disable != 0) {
+               echo "ERROR: Invalid disable flag ($disable)\n";
+               exit(1);
+       }
+
+       if ($disable == 0) {
+               $disable = "";
+       }else{
+               $disable = "on";
+       }
+
+       echo "Adding $description ($ip) as \"" . $host_templates[$template_id] . "\" using SNMP v$snmp_ver with community \"$community\"\n";
+
+       $host_id = api_device_save(0, $template_id, $description, $ip,
+                               $community, $snmp_ver, $snmp_username, $snmp_password,
+                               $snmp_port, $snmp_timeout, $disable, $avail, $ping_method,
+                               $ping_port, $ping_timeout, $ping_retries, $notes,
+                               $snmp_auth_protocol, $snmp_priv_passphrase,
+                               $snmp_priv_protocol, $snmp_context, $max_oids);
+
+       if (is_error_message()) {
+               echo "ERROR: Failed to add this device\n";
+               exit(1);
+       } else {
+               echo "Success - new device-id: ($host_id)\n";
+               exit(0);
+       }
+}else{
+       display_help();
+       exit(0);
+}
+
+function display_help() {
+       echo "Add Device Script 1.0, Copyright 2004-2010 - The Cacti Group\n\n";
+       echo "A simple command line utility to add a device in Cacti\n\n";
+       echo "usage: add_device.php --description=[description] --ip=[IP] --template=[ID] [--notes=\"[]\"] [--disable]\n";
+       echo "    [--avail=[ping]] --ping_method=[icmp] --ping_port=[N/A, 1-65534] --ping_retries=[2]\n";
+       echo "    [--version=[1|2|3]] [--community=] [--port=161] [--timeout=500]\n";
+       echo "    [--username= --password=] [--authproto=] [--privpass= --privproto=] [--context=]\n";
+       echo "    [--quiet]\n\n";
+       echo "Required:\n";
+       echo "    --description  the name that will be displayed by Cacti in the graphs\n";
+       echo "    --ip           self explanatory (can also be a FQDN)\n";
+       echo "Optional:\n";
+       echo "    --template     0, is a number (read below to get a list of templates)\n";
+       echo "    --notes        '', General information about this host.  Must be enclosed using double quotes.\n";
+       echo "    --disable      0, 1 to add this host but to disable checks and 0 to enable it\n";
+       echo "    --avail        pingsnmp, [ping][none, snmp, pingsnmp]\n";
+       echo "    --ping_method  tcp, icmp|tcp|udp\n";
+       echo "    --ping_port    '', 1-65534\n";
+       echo "    --ping_retries 2, the number of time to attempt to communicate with a host\n";
+       echo "    --version      1, 1|2|3, snmp version\n";
+       echo "    --community    '', snmp community string for snmpv1 and snmpv2.  Leave blank for no community\n";
+       echo "    --port         161\n";
+       echo "    --timeout      500\n";
+       echo "    --username     '', snmp username for snmpv3\n";
+       echo "    --password     '', snmp password for snmpv3\n";
+       echo "    --authproto    '', snmp authentication protocol for snmpv3\n";
+       echo "    --privpass     '', snmp privacy passphrase for snmpv3\n";
+       echo "    --privproto    '', snmp privacy protocol for snmpv3\n";
+       echo "    --context      '', snmp context for snmpv3\n";
+       echo "    --max_oids     10, 1-60, the number of OID's that can be obtained in a single SNMP Get request\n\n";
+       echo "List Options:\n";
+       echo "    --list-host-templates\n";
+       echo "    --list-communities\n";
+       echo "    --quiet - batch mode value return\n\n";
+}
+
+?>
diff --git a/cli/add_graph_template.php b/cli/add_graph_template.php
new file mode 100644 (file)
index 0000000..c4edfbc
--- /dev/null
@@ -0,0 +1,175 @@
+#!/usr/bin/php -q
+<?php
+/*
+ +-------------------------------------------------------------------------+
+ | Copyright (C) 2004-2010 The Cacti Group                                 |
+ |                                                                         |
+ | This program is free software; you can redistribute it and/or           |
+ | modify it under the terms of the GNU General Public License             |
+ | as published by the Free Software Foundation; either version 2          |
+ | of the License, or (at your option) any later version.                  |
+ |                                                                         |
+ | This program is distributed in the hope that it will be useful,         |
+ | but WITHOUT ANY WARRANTY; without even the implied warranty of          |
+ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           |
+ | GNU General Public License for more details.                            |
+ +-------------------------------------------------------------------------+
+ | Cacti: The Complete RRDTool-based Graphing Solution                     |
+ +-------------------------------------------------------------------------+
+ | This code is designed, written, and maintained by the Cacti Group. See  |
+ | about.php and/or the AUTHORS file for specific developer information.   |
+ +-------------------------------------------------------------------------+
+ | http://www.cacti.net/                                                   |
+ +-------------------------------------------------------------------------+
+*/
+
+/* do NOT run this script through a web browser */
+if (!isset($_SERVER["argv"][0]) || isset($_SERVER['REQUEST_METHOD'])  || isset($_SERVER['REMOTE_ADDR'])) {
+       die("<br><strong>This script is only meant to run at the command line.</strong>");
+}
+
+/* We are not talking to the browser */
+$no_http_headers = true;
+
+include(dirname(__FILE__)."/../include/global.php");
+include_once($config["base_path"]."/lib/api_automation_tools.php");
+
+/* process calling arguments */
+$parms = $_SERVER["argv"];
+array_shift($parms);
+
+if (sizeof($parms)) {
+       $displayHosts                   = FALSE;
+       $displayGraphTemplates  = FALSE;
+       $quietMode                              = FALSE;
+       unset($host_id);
+       unset($graph_template_id);
+
+       foreach($parms as $parameter) {
+               @list($arg, $value) = @explode("=", $parameter);
+
+               switch ($arg) {
+               case "-d":
+                       $debug = TRUE;
+
+                       break;
+               case "--host-id":
+                       $host_id = trim($value);
+                       if (!is_numeric($host_id)) {
+                               echo "ERROR: You must supply a valid host-id to run this script!\n";
+                               exit(1);
+                       }
+
+                       break;
+               case "--graph-template-id":
+                       $graph_template_id = $value;
+                       if (!is_numeric($graph_template_id)) {
+                               echo "ERROR: You must supply a numeric graph-template-id for all hosts!\n";
+                               exit(1);
+                       }
+
+                       break;
+               case "--version":
+               case "-V":
+               case "-H":
+               case "--help":
+                       display_help();
+                       exit(0);
+               case "--list-hosts":
+                       $displayHosts = TRUE;
+                       break;
+               case "--list-graph-templates":
+                       $displayGraphTemplates = TRUE;
+                       break;
+               case "--quiet":
+                       $quietMode = TRUE;
+                       break;
+               default:
+                       echo "ERROR: Invalid Argument: ($arg)\n\n";
+                       display_help();
+                       exit(1);
+               }
+       }
+
+       /* list options, recognizing $quiteMode */
+       if ($displayHosts) {
+               $hosts = getHosts();
+               displayHosts($hosts, $quietMode);
+               exit(0);
+       }
+
+       if ($displayGraphTemplates) {
+               $graphTemplates = getGraphTemplates();
+               displayGraphTemplates($graphTemplates, $quietMode);
+               exit(0);
+       }
+
+       /*
+        * verify required parameters
+        * for update / insert options
+        */
+       if (!isset($host_id)) {
+               echo "ERROR: You must supply a valid host-id for all hosts!\n";
+               exit(1);
+       }
+
+       if (!isset($graph_template_id)) {
+               echo "ERROR: You must supply a valid data-query-id for all hosts!\n";
+               exit(1);
+       }
+
+       /*
+        * verify valid host id and get a name for it
+        */
+       $host_name = db_fetch_cell("SELECT hostname FROM host WHERE id = " . $host_id);
+       if (!isset($host_name)) {
+               echo "ERROR: Unknown Host Id ($host_id)\n";
+               exit(1);
+       }
+
+       /*
+        * verify valid graph template and get a name for it
+        */
+       $graph_template_name = db_fetch_cell("SELECT name FROM graph_templates WHERE id = " . $graph_template_id);
+       if (!isset($graph_template_name)) {
+               echo "ERROR: Unknown Graph Template Id ($graph_template_id)\n";
+               exit(1);
+       }
+
+       /* check, if graph template was already associated */
+       $exists_already = db_fetch_cell("SELECT host_id FROM host_graph WHERE graph_template_id=$graph_template_id AND host_id=$host_id");
+       if ((isset($exists_already)) &&
+               ($exists_already > 0)) {
+               echo "ERROR: Graph Template is already associated for host: ($host_id: $host_name) - graph-template: ($graph_template_id: $graph_template_name)\n";
+               exit(1);
+       }else{
+               db_execute("replace into host_graph (host_id,graph_template_id) values (" . $host_id . "," . $graph_template_id . ")");
+       }
+
+       if (is_error_message()) {
+               echo "ERROR: Failed to add this graph template for host: ($host_id: $host_name) - graph-template: ($graph_template_id: $graph_template_name)\n";
+               exit(1);
+       } else {
+               echo "Success: Graph Template associated for host: ($host_id: $host_name) - graph-template: ($graph_template_id: $graph_template_name)\n";
+               exit(0);
+       }
+}else{
+       display_help();
+       exit(0);
+}
+
+function display_help() {
+       echo "Add Graph Template Script 1.0, Copyright 2008 - The Cacti Group\n\n";
+       echo "A simple command line utility to associate a graph template with a host in Cacti\n\n";
+       echo "usage: add_graph_template.php --host-id=[ID] --graph-template-id=[ID]\n";
+       echo "    [--quiet]\n\n";
+       echo "Required:\n";
+       echo "    --host-id             the numerical ID of the host\n";
+       echo "    --graph-template-id   the numerical ID of the graph template to be added\n\n";
+       echo "List Options:\n";
+       echo "    --list-hosts\n";
+       echo "    --list-graph-templates\n";
+       echo "    --quiet - batch mode value return\n\n";
+}
+
+?>
diff --git a/cli/add_graphs.php b/cli/add_graphs.php
new file mode 100644 (file)
index 0000000..1cb0e8c
--- /dev/null
@@ -0,0 +1,583 @@
+#!/usr/bin/php -q
+<?php
+/*
+ +-------------------------------------------------------------------------+
+ | Copyright (C) 2004-2010 The Cacti Group                                 |
+ |                                                                         |
+ | This program is free software; you can redistribute it and/or           |
+ | modify it under the terms of the GNU General Public License             |
+ | as published by the Free Software Foundation; either version 2          |
+ | of the License, or (at your option) any later version.                  |
+ |                                                                         |
+ | This program is distributed in the hope that it will be useful,         |
+ | but WITHOUT ANY WARRANTY; without even the implied warranty of          |
+ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           |
+ | GNU General Public License for more details.                            |
+ +-------------------------------------------------------------------------+
+ | Cacti: The Complete RRDTool-based Graphing Solution                     |
+ +-------------------------------------------------------------------------+
+ | This code is designed, written, and maintained by the Cacti Group. See  |
+ | about.php and/or the AUTHORS file for specific developer information.   |
+ +-------------------------------------------------------------------------+
+ | http://www.cacti.net/                                                   |
+ +-------------------------------------------------------------------------+
+*/
+
+/* do NOT run this script through a web browser */
+if (!isset($_SERVER["argv"][0]) || isset($_SERVER['REQUEST_METHOD'])  || isset($_SERVER['REMOTE_ADDR'])) {
+       die("<br><strong>This script is only meant to run at the command line.</strong>");
+}
+
+$no_http_headers = true;
+
+include(dirname(__FILE__)."/../include/global.php");
+include_once($config["base_path"]."/lib/api_automation_tools.php");
+include_once($config["base_path"]."/lib/data_query.php");
+include_once($config["base_path"]."/lib/utility.php");
+include_once($config["base_path"]."/lib/sort.php");
+include_once($config["base_path"]."/lib/template.php");
+include_once($config["base_path"]."/lib/api_data_source.php");
+include_once($config["base_path"]."/lib/api_graph.php");
+include_once($config["base_path"]."/lib/snmp.php");
+include_once($config["base_path"]."/lib/data_query.php");
+include_once($config["base_path"]."/lib/api_device.php");
+
+/* process calling arguments */
+$parms = $_SERVER["argv"];
+array_shift($parms);
+
+if (sizeof($parms)) {
+       /* setup defaults */
+       $graph_type    = "";
+       $templateGraph = array();
+       $dsGraph       = array();
+       $dsGraph["snmpFieldSpec"]  = "";
+       $dsGraph["snmpQueryId"]    = "";
+       $dsGraph["snmpQueryType"]  = "";
+       $dsGraph["snmpField"]      = "";
+       $dsGraph["snmpValue"]      = "";
+       $dsGraph["reindex_method"] = DATA_QUERY_AUTOINDEX_BACKWARDS_UPTIME;
+
+       $input_fields  = array();
+       $values["cg"]  = array();
+
+       $hosts          = getHosts();
+       $graphTemplates = getGraphTemplates();
+
+       $graphTitle = "";
+       $cgInputFields = "";
+
+       $hostId         = 0;
+       $templateId     = 0;
+       $hostTemplateId = 0;
+       $force          = 0;
+
+       $listHosts                      = FALSE;
+       $listGraphTemplates     = FALSE;
+       $listSNMPFields                 = FALSE;
+       $listSNMPValues                 = FALSE;
+       $listQueryTypes                 = FALSE;
+       $listSNMPQueries                = FALSE;
+       $listInputFields                = FALSE;
+
+       $quietMode       = FALSE;
+
+       foreach($parms as $parameter) {
+               @list($arg, $value) = @explode("=", $parameter, 2);
+
+               switch($arg) {
+               case "--graph-type":
+                       $graph_type = $value;
+
+                       break;
+               case "--graph-title":
+                       $graphTitle = $value;
+
+                       break;
+               case "--graph-template-id":
+                       $templateId = $value;
+
+                       break;
+               case "--host-template-id":
+                       $hostTemplateId = $value;
+
+                       break;
+               case "--host-id":
+                       $hostId = $value;
+
+                       break;
+               case "--input-fields":
+                       $cgInputFields = $value;
+
+                       break;
+               case "--snmp-query-id":
+                       $dsGraph["snmpQueryId"] = $value;
+
+                       break;
+               case "--snmp-query-type-id":
+                       $dsGraph["snmpQueryType"] = $value;
+
+                       break;
+               case "--snmp-field":
+                       $dsGraph["snmpField"] = $value;
+
+                       break;
+               case "--snmp-value":
+                       $dsGraph["snmpValue"] = $value;
+
+                       break;
+               case "--reindex-method":
+                       if (is_numeric($value) &&
+                               ($value >= DATA_QUERY_AUTOINDEX_NONE) &&
+                               ($value <= DATA_QUERY_AUTOINDEX_FIELD_VERIFICATION)) {
+                               $dsGraph["reindex_method"] = $value;
+                       } else {
+                               switch (strtolower($value)) {
+                                       case "none":
+                                               $dsGraph["reindex_method"] = DATA_QUERY_AUTOINDEX_NONE;
+                                               break;
+                                       case "uptime":
+                                               $dsGraph["reindex_method"] = DATA_QUERY_AUTOINDEX_BACKWARDS_UPTIME;
+                                               break;
+                                       case "index":
+                                               $dsGraph["reindex_method"] = DATA_QUERY_AUTOINDEX_INDEX_NUM_CHANGE;
+                                               break;
+                                       case "fields":
+                                               $dsGraph["reindex_method"] = DATA_QUERY_AUTOINDEX_FIELD_VERIFICATION;
+                                               break;
+                                       default:
+                                               echo "ERROR: You must supply a valid reindex method for this graph!\n";
+                                               exit(1);
+                               }
+                       }
+
+                       break;
+               case "--list-hosts":
+                       $listHosts = TRUE;
+
+                       break;
+               case "--list-snmp-fields":
+                       $listSNMPFields = TRUE;
+
+                       break;
+               case "--list-snmp-values":
+                       $listSNMPValues = TRUE;
+
+                       break;
+               case "--list-query-types":
+                       $listQueryTypes = TRUE;
+
+                       break;
+               case "--list-snmp-queries":
+                       $listSNMPQueries = TRUE;
+
+                       break;
+               case "--force":
+                       $force = TRUE;
+
+                       break;
+               case "--quiet":
+                       $quietMode = TRUE;
+
+                       break;
+               case "--list-input-fields":
+                       $listInputFields = TRUE;
+
+                       break;
+               case "--list-graph-templates":
+                       $listGraphTemplates = TRUE;
+
+                       break;
+               case "--version":
+               case "-V":
+               case "-H":
+               case "--help":
+                       display_help();
+                       exit(0);
+               default:
+                       echo "ERROR: Invalid Argument: ($arg)\n\n";
+                       display_help();
+                       exit(1);
+               }
+       }
+
+       if ($listGraphTemplates) {
+               /* is a Host Template Id is given, print the related Graph Templates */
+               if ($hostTemplateId > 0) {
+                       $graphTemplates = getGraphTemplatesByHostTemplate($hostTemplateId);
+                       if (!sizeof($graphTemplates)) {
+                               echo "ERROR: You must supply a valid --host-template-id before you can list its graph templates\n";
+                               echo "Try --list-graph-template-id --host-template-id=[ID]\n";
+                               exit(1);
+                       }
+               }
+
+               displayGraphTemplates($graphTemplates, $quietMode);
+
+               exit(0);
+       }
+
+
+       if ($listInputFields) {
+               if ($templateId > 0) {
+                       $input_fields = getInputFields($templateId, $quietMode);
+                       displayInputFields($input_fields, $quietMode);
+               } else {
+                       echo "ERROR: You must supply an graph-template-id before you can list its input fields\n";
+                       echo "Try --graph-template-id=[ID] --list-input-fields\n";
+                       exit(1);
+               }
+
+               exit(0);
+       }
+
+       if ($listHosts) {
+               displayHosts($hosts, $quietMode);
+               exit(0);
+       }
+
+       /* get the existing snmp queries */
+       $snmpQueries = getSNMPQueries();
+
+       if ($listSNMPQueries) {
+               displaySNMPQueries($snmpQueries, $quietMode);
+               exit(0);
+       }
+
+       /* Some sanity checking... */
+       if ($dsGraph["snmpQueryId"] != "") {
+               if (!isset($snmpQueries[$dsGraph["snmpQueryId"]])) {
+                       echo "ERROR: Unknown snmp-query-id (" . $dsGraph["snmpQueryId"] . ")\n";
+                       echo "Try --list-snmp-queries\n";
+                       exit(1);
+               }
+
+               /* get the snmp query types for comparison */
+               $snmp_query_types = getSNMPQueryTypes($dsGraph["snmpQueryId"]);
+
+               if ($listQueryTypes) {
+                       displayQueryTypes($snmp_query_types, $quietMode);
+                       exit(0);
+               }
+
+               if ($dsGraph["snmpQueryType"] != "") {
+                       if (!isset($snmp_query_types[$dsGraph["snmpQueryType"]])) {
+                               echo "ERROR: Unknown snmp-query-type-id (" . $dsGraph["snmpQueryType"] . ")\n";
+                               echo "Try --snmp-query-id=" . $dsGraph["snmpQueryId"] . " --list-query-types\n";
+                               exit(1);
+                       }
+               }
+
+               if (!($listHosts ||                     # you really want to create a new graph
+                       $listSNMPFields ||              # add this check to avoid reindexing on any list option
+                       $listSNMPValues ||
+                       $listQueryTypes ||
+                       $listSNMPQueries ||
+                       $listInputFields)) {
+
+                       /* if data query is not yet associated,
+                        * add it and run it once to get the cache filled */
+
+                       /* is this data query already associated (independent of the reindex method)? */
+                       $exists_already = db_fetch_cell("SELECT COUNT(host_id) FROM host_snmp_query WHERE host_id=$hostId AND snmp_query_id=" . $dsGraph["snmpQueryId"]);
+                       if ((isset($exists_already)) &&
+                               ($exists_already > 0)) {
+                               /* yes: do nothing, everything's fine */
+                       }else{
+                               db_execute("REPLACE INTO host_snmp_query (host_id,snmp_query_id,reindex_method) " .
+                                                  "VALUES (". $hostId . ","
+                                                                        . $dsGraph["snmpQueryId"] . ","
+                                                                        . $dsGraph["reindex_method"] .
+                                                                       ")");
+                               /* recache snmp data, this is time consuming,
+                                * but should happen only once even if multiple graphs
+                                * are added for the same data query
+                                * because we checked above, if dq was already associated */
+                               run_data_query($hostId, $dsGraph["snmpQueryId"]);
+                       }
+               }
+       }
+
+       /* Verify the host's existance */
+       if (!isset($hosts[$hostId]) || $hostId == 0) {
+               echo "ERROR: Unknown Host ID ($hostId)\n";
+               echo "Try --list-hosts\n";
+               exit(1);
+       }
+
+       /* process the snmp fields */
+       $snmpFields = getSNMPFields($hostId, $dsGraph["snmpQueryId"]);
+
+       if ($listSNMPFields) {
+               displaySNMPFields($snmpFields, $hostId, $quietMode);
+               exit(0);
+       }
+
+       $snmpValues = array();
+
+       /* More sanity checking */
+       if ($dsGraph["snmpField"] != "") {
+               if (!isset($snmpFields[$dsGraph["snmpField"]])) {
+                       echo "ERROR: Unknown snmp-field " . $dsGraph["snmpField"] . " for host $hostId\n";
+                       echo "Try --list-snmp-fields\n";
+                       exit(1);
+               }
+
+               $snmpValues = getSNMPValues($hostId, $dsGraph["snmpField"], $dsGraph["snmpQueryId"]);
+
+               if ($dsGraph["snmpValue"] != "") {
+                       if(!isset($snmpValues[$dsGraph["snmpValue"]])) {
+                               echo "ERROR: Unknown snmp-value for field " . $dsGraph["snmpField"] . " - " . $dsGraph["snmpValue"] . "\n";
+                               echo "Try --snmp-field=" . $dsGraph["snmpField"] . " --list-snmp-values\n";
+                               exit(1);
+                       }
+               }
+       }
+
+       if ($listSNMPValues)  {
+               if ($dsGraph["snmpField"] == "") {
+                       echo "ERROR: You must supply an snmp-field before you can list its values\n";
+                       echo "Try --list-snmp-fields\n";
+                       exit(1);
+               }
+
+               displaySNMPValues($snmpValues, $hostId, $dsGraph["snmpField"], $quietMode);
+               exit(0);
+       }
+
+       if (!isset($graphTemplates[$templateId])) {
+               echo "ERROR: Unknown graph-template-id (" . $templateId . ")\n";
+               echo "Try --list-graph-templates\n";
+               exit(1);
+       }
+
+       if ((!isset($templateId)) || (!isset($hostId))) {
+               echo "ERROR: Must have at least a host-id and a graph-template-id\n\n";
+               display_help();
+               exit(1);
+       }
+
+       if (strlen($cgInputFields)) {
+               $fields = explode(" ", $cgInputFields);
+               if ($templateId > 0) {
+                       $input_fields = getInputFields($templateId, $quietMode);
+               }
+
+               if (sizeof($fields)) {
+                       foreach ($fields as $option) {
+                               $data_template_id = 0;
+                               $option_value = explode("=", $option);
+
+                               if (substr_count($option_value[0], ":")) {
+                                       $compound = explode(":", $option_value[0]);
+                                       $data_template_id = $compound[0];
+                                       $field_name       = $compound[1];
+                               }else{
+                                       $field_name       = $option_value[0];
+                               }
+
+                               /* check for the input fields existance */
+                               $field_found = FALSE;
+                               if (sizeof($input_fields)) {
+                                       foreach ($input_fields as $key => $row) {
+                                               if (substr_count($key, $field_name)) {
+                                                       if ($data_template_id == 0) {
+                                                               $data_template_id = $row["data_template_id"];
+                                                       }
+
+                                                       $field_found = TRUE;
+
+                                                       break;
+                                               }
+                                       }
+                               }
+
+                               if (!$field_found) {
+                                       echo "ERROR: Unknown input-field (" . $field_name . ")\n";
+                                       echo "Try --list-input-fields\n";
+                                       exit(1);
+                               }
+
+                               $value = $option_value[1];
+
+                               $values["cg"][$templateId]["custom_data"][$data_template_id][$input_fields[$data_template_id . ":" . $field_name]["data_input_field_id"]] = $value;
+                       }
+               }
+       }
+
+       $returnArray = array();
+
+       if ($graph_type == "cg") {
+               $existsAlready = db_fetch_cell("SELECT id FROM graph_local WHERE graph_template_id=$templateId AND host_id=$hostId");
+
+               if ((isset($existsAlready)) &&
+                       ($existsAlready > 0) &&
+                       (!$force)) {
+                       $dataSourceId  = db_fetch_cell("SELECT
+                               data_template_rrd.local_data_id
+                               FROM graph_templates_item, data_template_rrd
+                               WHERE graph_templates_item.local_graph_id = " . $existsAlready . "
+                               AND graph_templates_item.task_item_id = data_template_rrd.id
+                               LIMIT 1");
+
+                       echo "NOTE: Not Adding Graph - this graph already exists - graph-id: ($existsAlready) - data-source-id: ($dataSourceId)\n";
+                       exit(1);
+               }else{
+                       $returnArray = create_complete_graph_from_template($templateId, $hostId, "", $values["cg"]);
+                       $dataSourceId = "";
+               }
+
+               if ($graphTitle != "") {
+                       db_execute("UPDATE graph_templates_graph
+                               SET title=\"$graphTitle\"
+                               WHERE local_graph_id=" . $returnArray["local_graph_id"]);
+
+                       update_graph_title_cache($returnArray["local_graph_id"]);
+               }
+
+               foreach($returnArray["local_data_id"] as $item) {
+                       push_out_host($hostId, $item);
+
+                       if (strlen($dataSourceId)) {
+                               $dataSourceId .= ", " . $item;
+                       }else{
+                               $dataSourceId = $item;
+                       }
+               }
+
+               /* add this graph template to the list of associated graph templates for this host */
+               db_execute("replace into host_graph (host_id,graph_template_id) values (" . $hostId . "," . $templateId . ")");
+
+               echo "Graph Added - graph-id: (" . $returnArray["local_graph_id"] . ") - data-source-ids: ($dataSourceId)\n";
+       }elseif ($graph_type == "ds") {
+               if (($dsGraph["snmpQueryId"] == "") || ($dsGraph["snmpQueryType"] == "") || ($dsGraph["snmpField"] == "") || ($dsGraph["snmpValue"] == "")) {
+                       echo "ERROR: For graph-type of 'ds' you must supply more options\n";
+                       display_help();
+                       exit(1);
+               }
+
+               $snmp_query_array = array();
+               $snmp_query_array["snmp_query_id"]       = $dsGraph["snmpQueryId"];
+               $snmp_query_array["snmp_index_on"]       = get_best_data_query_index_type($hostId, $dsGraph["snmpQueryId"]);
+               $snmp_query_array["snmp_query_graph_id"] = $dsGraph["snmpQueryType"];
+
+               $snmp_indexes = db_fetch_assoc("SELECT snmp_index
+                       FROM host_snmp_cache
+                       WHERE host_id=" . $hostId . "
+                       AND snmp_query_id=" . $dsGraph["snmpQueryId"] . "
+                       AND field_name='" . $dsGraph["snmpField"] . "'
+                       AND field_value='" . $dsGraph["snmpValue"] . "'");
+
+               if (sizeof($snmp_indexes)) {
+                       foreach ($snmp_indexes as $snmp_index) {
+                               $snmp_query_array["snmp_index"] = $snmp_index["snmp_index"];
+
+                               $existsAlready = db_fetch_cell("SELECT id
+                                       FROM graph_local
+                                       WHERE graph_template_id=$templateId
+                                       AND host_id=$hostId
+                                       AND snmp_query_id=" . $dsGraph["snmpQueryId"] . "
+                                       AND snmp_index='" . $snmp_query_array["snmp_index"] . "'");
+
+                               if (isset($existsAlready) && $existsAlready > 0) {
+                                       if ($graphTitle != "") {
+                                               db_execute("UPDATE graph_templates_graph
+                                                       SET title = \"$graphTitle\"
+                                                       WHERE local_graph_id = $existsAlready");
+
+                                               update_graph_title_cache($existsAlready);
+                                       }
+
+                                       $dataSourceId = db_fetch_cell("SELECT
+                                               data_template_rrd.local_data_id
+                                               FROM graph_templates_item, data_template_rrd
+                                               WHERE graph_templates_item.local_graph_id = " . $existsAlready . "
+                                               AND graph_templates_item.task_item_id = data_template_rrd.id
+                                               LIMIT 1");
+
+                                       echo "NOTE: Not Adding Graph - this graph already exists - graph-id: ($existsAlready) - data-source-id: ($dataSourceId)\n";
+
+                                       continue;
+                               }
+
+                               $empty = array(); /* Suggested Values are not been implemented */
+
+                               $returnArray = create_complete_graph_from_template($templateId, $hostId, $snmp_query_array, $empty);
+
+                               if ($graphTitle != "") {
+                                       db_execute("UPDATE graph_templates_graph
+                                               SET title=\"$graphTitle\"
+                                               WHERE local_graph_id=" . $returnArray["local_graph_id"]);
+
+                                       update_graph_title_cache($returnArray["local_graph_id"]);
+                               }
+
+                               $dataSourceId = db_fetch_cell("SELECT
+                                       data_template_rrd.local_data_id
+                                       FROM graph_templates_item, data_template_rrd
+                                       WHERE graph_templates_item.local_graph_id = " . $returnArray["local_graph_id"] . "
+                                       AND graph_templates_item.task_item_id = data_template_rrd.id
+                                       LIMIT 1");
+
+                               foreach($returnArray["local_data_id"] as $item) {
+                                       push_out_host($hostId, $item);
+
+                                       if (strlen($dataSourceId)) {
+                                               $dataSourceId .= ", " . $item;
+                                       }else{
+                                               $dataSourceId = $item;
+                                       }
+                               }
+
+                               echo "Graph Added - graph-id: (" . $returnArray["local_graph_id"] . ") - data-source-ids: ($dataSourceId)\n";
+                       }
+               }else{
+                       echo "ERROR: Could not find snmp-field " . $dsGraph["snmpField"] . " (" . $dsGraph["snmpValue"] . ") for host-id " . $hostId . " (" . $hosts[$hostId]["hostname"] . ")\n";
+                       echo "Try --host-id=" . $hostId . " --list-snmp-fields\n";
+                       exit(1);
+               }
+       }else{
+               echo "ERROR: Graph Types must be either 'cg' or 'ds'\n";
+               exit(1);
+       }
+
+       exit(0);
+}else{
+       display_help();
+       exit(1);
+}
+
+function display_help() {
+       echo "Add Graphs Script 1.2, Copyright 2008 - The Cacti Group\n\n";
+       echo "A simple command line utility to add graphs in Cacti\n\n";
+       echo "usage: add_graphs.php --graph-type=[cg|ds] --graph-template-id=[ID]\n";
+       echo "    --host-id=[ID] [--graph-title=title] [graph options] [--force] [--quiet]\n\n";
+       echo "For cg graphs:\n";
+       echo "    [--input-fields=\"[data-template-id:]field-name=value ...\"] [--force]\n\n";
+       echo "    --input-fields  If your data template allows for custom input data, you may specify that\n";
+       echo "                    here.  The data template id is optional and applies where two input fields\n";
+       echo "                    have the same name.\n";
+       echo "    --force         If you set this flag, then new cg graphs will be created, even though they\n";
+       echo "                    may already exist\n\n";
+       echo "For ds graphs:\n";
+       echo "    --snmp-query-id=[ID] --snmp-query-type-id=[ID] --snmp-field=[SNMP Field] --snmp-value=[SNMP Value]\n\n";
+       echo "    [--graph-title=]       Defaults to what ever is in the graph template/data-source template.\n\n";
+       echo "    [--reindex-method=]    the reindex method to be used for that data query\n";
+       echo "                           if data query already exists, the reindex method will not be changed\n";
+       echo "                    0|None   = no reindexing\n";
+       echo "                    1|Uptime = Uptime goes Backwards (Default)\n";
+       echo "                    2|Index  = Index Count Changed\n";
+       echo "                    3|Fields = Verify all Fields\n";
+       echo "List Options:\n";
+       echo "    --list-hosts\n";
+       echo "    --list-graph-templates [--host-template-id=[ID]]\n";
+       echo "    --list-input-fields --graph-template-id=[ID]\n";
+       echo "    --list-snmp-queries\n";
+       echo "    --list-query-types  --snmp-query-id [ID]\n";
+       echo "    --list-snmp-fields  --host-id=[ID] [--snmp-query-id=[ID]]\n";
+       echo "    --list-snmp-values  --host-id=[ID] [--snmp-query-id=[ID]] --snmp-field=[Field]\n\n";
+       echo "'cg' graphs are for things like CPU temp/fan speed, while \n";
+       echo "'ds' graphs are for data-source based graphs (interface stats etc.)\n";
+}
+
+?>
diff --git a/cli/add_perms.php b/cli/add_perms.php
new file mode 100644 (file)
index 0000000..e384b28
--- /dev/null
@@ -0,0 +1,249 @@
+#!/usr/bin/php -q
+<?php
+/*
+ +-------------------------------------------------------------------------+
+ | Copyright (C) 2004-2010 The Cacti Group                                 |
+ |                                                                         |
+ | This program is free software; you can redistribute it and/or           |
+ | modify it under the terms of the GNU General Public License             |
+ | as published by the Free Software Foundation; either version 2          |
+ | of the License, or (at your option) any later version.                  |
+ |                                                                         |
+ | This program is distributed in the hope that it will be useful,         |
+ | but WITHOUT ANY WARRANTY; without even the implied warranty of          |
+ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           |
+ | GNU General Public License for more details.                            |
+ +-------------------------------------------------------------------------+
+ | Cacti: The Complete RRDTool-based Graphing Solution                     |
+ +-------------------------------------------------------------------------+
+ | This code is designed, written, and maintained by the Cacti Group. See  |
+ | about.php and/or the AUTHORS file for specific developer information.   |
+ +-------------------------------------------------------------------------+
+ | http://www.cacti.net/                                                   |
+ +-------------------------------------------------------------------------+
+*/
+
+/* do NOT run this script through a web browser */
+if (!isset($_SERVER["argv"][0]) || isset($_SERVER['REQUEST_METHOD'])  || isset($_SERVER['REMOTE_ADDR'])) {
+       die("<br><strong>This script is only meant to run at the command line.</strong>");
+}
+
+$no_http_headers = true;
+
+include(dirname(__FILE__)."/../include/global.php");
+include_once($config["base_path"]."/lib/api_automation_tools.php");
+
+/* process calling arguments */
+$parms = $_SERVER["argv"];
+array_shift($parms);
+
+if (sizeof($parms) == 0) {
+       display_help();
+
+       exit(1);
+}else{
+       $userId    = 0;
+
+       /* TODO replace magic numbers by global constants, treat user_admin as well */
+       $itemTypes = array('graph' => 1, 'tree' => 2, 'host' => 3, 'graph_template' => 4);
+
+       $itemType = 0;
+       $itemId   = 0;
+       $hostId   = 0;
+
+       $quietMode                              = FALSE;
+       $displayGroups                  = FALSE;
+       $displayUsers                   = FALSE;
+       $displayTrees                   = FALSE;
+       $displayHosts                   = FALSE;
+       $displayGraphs                  = FALSE;
+       $displayGraphTemplates  = FALSE;
+
+       foreach($parms as $parameter) {
+               @list($arg, $value) = @explode("=", $parameter);
+
+               switch ($arg) {
+               case "--user-id":
+                       $userId = $value;
+
+                       break;
+               case "--item-type":
+                       /* TODO replace magic numbers by global constants, treat user_admin as well */
+                       if ( ($value == "graph") || ($value == "tree") || ($value == "host") || ($value == "graph_template")) {
+                               $itemType = $itemTypes[$value];
+                       }else{
+                               echo "ERROR: Invalid Item Type: ($value)\n\n";
+                               display_help();
+                               exit(1);
+