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'];