qq489498494 发表于 2019-1-10 12:34:26

cacti分组发飞信模块开发

  cacti分组发飞信模块开发
  功能:
  1、在阈值配置页面添加手机号码输入框
  2、实现不同阈值发送不同的手机号码
  实现过程:
  1、修改数据库:修改thold_data,和thold_template表分别添加字段“mobile”,varchar类型,长度15
  2、修改thold.php
  1)在$form_array = array()的最后添加代码:
  'mobile' => array(
  'friendly_name' => '报警短信手机号码',
  'method' => 'textarea',
  'textarea_rows' => 3,
  'textarea_cols' => 50,
  'description' => '您可以在这里指定接收报警短信的手机号码(多个手机号码用英文逗号分隔)',
  'value' => isset($thold_item_data['mobile']) ? $thold_item_data['mobile'] : ''
  ),
  2)在_f.notify_extra.disabled = status;的下面添加代码:
  _f.mobile.disabled = status;
  3、用php封装飞信发送接口得到PHPFetion.php,放到plugins/thold/下
  4、修改thold_functions.php
  1)在开头添加代码
  require 'PHPFetion.php';
  function sendsms($mobile,$sms){
  $fetion = new PHPFetion('手机号码', '飞信密码'); // 手机号、飞信密码
  $fetion->send($mobile, $sms); // 接收人手机号、飞信内容
  }
  2)在thold_check_threshold函数中添加代码:$mobile = $item['mobile'];
  3)在所有下面代码的后面
  if (trim($alert_emails) != '')
  thold_mail($alert_emails, '', $subject, $msg, $file_array);
  添加发送飞信代码
  if (trim($mobile) != '')
  sendsms($mobile,$subject);
  4)在
  $save['notify_extra'] = (trim($_POST['notify_extra'])) == '' ? '' : $_POST['notify_extra'];
  的下面添加代码:
  $save['mobile'] = (trim($_POST['mobile'])) == '' ? '' : $_POST['mobile'];
  5)在
  $insert['notify_extra'] = $template[$y]['notify_extra'];
  的下面添加代码:
  $insert['mobile'] = $template[$y]['mobile'];
  6)在
  thold_data.notify_extra = thold_template.notify_extra,
  的下面添加代码:
  thold_data.mobile = thold_template.mobile,
  7)在
  thold_data.notify_extra = thold_template.notify_extra,
  的下面添加代码:
  thold_data.mobile = thold_template.mobile,
  8)在
  if (trim($alert_emails) != '' && $item['restored_alert'] != 'on')
  thold_mail($alert_emails, '', $subject, $msg, $file_array);
  的下面添加代码:
  if (trim($mobile) != '' && $item['restored_alert'] != 'on')
  sendsms($mobile,$subject);
  5、修改thold_templates.php
  1)在$form_array = array()的最后添加代码:
  'mobile' => array(
  'friendly_name' => '报警短信手机号码',
  'method' => 'textarea',
  'textarea_rows' => 3,
  'textarea_cols' => 50,
  'description' => '您可以在这里指定接收报警短信的手机号码(多个手机号码用英文逗号分隔)',
  'value' => isset($thold_item_data['mobile']) ? $thold_item_data['mobile'] : ''
  ),
  2)在$save['notify_extra'] = $_POST['notify_extra'];的下面添加代码:
  $save['mobile'] = $_POST['mobile'];
  6、修改thold.sql
  1)在notify_extra varchar(255) NOT NULL default '',的下面添加代码:
  mobile varchar(15) NOT NULL default '',
  2)在`notify_extra` varchar(255) default NULL,的下面添加代码:
  `mobile` varchar(15) default NULL,
  7、修改thold_add.php
  在$insert['notify_extra'] = $template['notify_extra'];的下面添加代码:
  $insert['mobile'] = $template['mobile'];
  




页: [1]
查看完整版本: cacti分组发飞信模块开发