guyuehhh 发表于 2019-1-11 10:13:31

Cacti 插件中setup.php 文件的编写

  Cacti 插件中setup.php 文件的编写
  名词: 初始化函数   预定义函数
  cacti 插件存放在 /plugins 目录,由setup.php与cacti 做关联调用;
  setup.php文件由/include/plugins.php/lib/plugins.php这两个文件做解释和调用
  插件名要在/include/config.php 或/include/global.php 文件中声明
  声明格式如下:
  $plugins[] = 'thold';
  setup.php文件放置目录/plugins/插件名/setup.php
  setup.php的文件内容由插件初始化函数(plugin_init_插件名())和自定义函数组成
  初始化函数声明格式:
    $plugin_hooks
['user_admin_edit']
['thold']
=
'thold_user_admin_edit'
;
 
预定义函数名
插件名
 
自定义函数
 

  function plugin_init_thold() {
  global $plugin_hooks;
  $plugin_hooks['user_admin_edit']['thold'] = 'thold_user_admin_edit';
  }
  预定义函数名列表:
  预定义函数名
插件引用函数
对应修改页面
auth_alternate_realms
do_hook_function()
auth.php
login_options_navigate
api_plugin_hook_function()
auth_changepassword.php
 
 
auth_login.php
login_before
api_plugin_hook()
auth_login.php
cacti_image
api_plugin_hook_function()
auth_login.php
login_after
api_plugin_hook()
auth_login.php
data_sources_table
api_plugin_hook_function()
data_sources.php
graph_buttons
api_plugin_hook()
graph.php
 
 
/lib/html.php
graphs_action_array
api_plugin_hook_function()
graphs.php
graphs_action_execute
api_plugin_hook_function()
graphs.php
graphs_action_prepare
api_plugin_hook_function()
graphs.php
graphs_new_top_links
api_plugin_hook()
graphs_new.php
graph_image
api_plugin_hook_function()
graph_image.php
device_action_array
api_plugin_hook_function()
host.php
device_action_execute
api_plugin_hook_function()
host.php
device_action_prepare
api_plugin_hook_function()
host.php
console_before
api_plugin_hook()
index.php
console_after
api_plugin_hook()
index.php
poller_top
api_plugin_hook()
poller.php
poller_command_args
api_plugin_hook_function()
poller.php
poller_bottom
api_plugin_hook()
poller.php
user_admin_action
api_plugin_hook_function()
user_admin.php
user_admin_setup_sql_save
api_plugin_hook_function()
user_admin.php
user_admin_user_save
api_plugin_hook()
user_admin.php
user_admin_edit
api_plugin_hook_function()
user_admin.php
user_admin_tab
api_plugin_hook()
user_admin.php
user_admin_run_action
api_plugin_hook_function()
user_admin.php
utilities_action
api_plugin_hook_function()
utilities.php
utilities_list
api_plugin_hook()
utilities.php
config_arrays
api_plugin_hook()
/include/global_arrays.php
config_form
api_plugin_hook()
/include/global_form.php
valid_host_fields
api_plugin_hook_function()
/include/global_form.php
config_settings
api_plugin_hook()
/include/global_settings.php
top_graph_header
api_plugin_hook_function()
/include/top_graph_header.php
page_title
api_plugin_hook_function()
/include/top_graph_header.php
 
 
/include/top_header.php
top_graph_refresh
api_plugin_hook_function()
/include/top_graph_header.php
page_head
api_plugin_hook()
/include/top_graph_header.php
 
 
/include/top_header.php
top_graph_header_tabs
api_plugin_hook()
/include/top_graph_header.php
top_header
api_plugin_hook_function()
/include/top_header.php
top_header_tabs
api_plugin_hook()
/include/top_header.php
api_device_save
api_plugin_hook_function()
/lib/api_device.php
draw_navigation_tex
api_plugin_hook_function()
/lib/functions.php
poller_output
api_plugin_hook_function()
/lib/poller.php
poller_on_demand
api_plugin_hook_function()
/lib/poller.php
rrdtool_function_graph_cache_check
api_plugin_hook_function()
/lib/rrd.php
rrd_graph_graph_options
api_plugin_hook_function()
/lib/rrd.php
prep_graph_array
api_plugin_hook_function()
/lib/rrd.php
rrdtool_function_graph_set_file
api_plugin_hook_function()
/lib/rrd.php
substitute_host_data
api_plugin_hook_function()
/lib/variables.php

  自定义函数举例:
  function thold_user_admin_edit ($user) {
  global $fields_user_user_edit_host;
  $value = '';
  if ($user != 0) {
  $value = db_fetch_cell("SELECT data FROM plugin_thold_contacts WHERE user_id
  = $user AND type = 'email'");
  }
  $fields_user_user_edit_host['email'] = array(
  "method" => "textbox",
  "value" => $value,
  "friendly_name" => "电子邮件地址",
  "form_id" => "|arg1:id|",
  "default" => "",
  "max_length" => 255
  );
  }



页: [1]
查看完整版本: Cacti 插件中setup.php 文件的编写