23
function media_type2str($type)
25
$str_type[ALERT_TYPE_EMAIL] = S_EMAIL;
26
$str_type[ALERT_TYPE_EXEC] = S_SCRIPT;
27
$str_type[ALERT_TYPE_SMS] = S_SMS;
28
$str_type[ALERT_TYPE_JABBER] = S_JABBER;
30
if(isset($str_type[$type]))
31
return $str_type[$type];
36
function media_severity2str($severity)
39
insert_showhint_javascript();
41
0 => array('letter' => 'N', 'style' => (($severity & 1) ? 'enabled' : NULL)),
42
1 => array('letter' => 'I', 'style' => (($severity & 2) ? 'enabled' : NULL)),
43
2 => array('letter' => 'W', 'style' => (($severity & 4) ? 'enabled' : NULL)),
44
3 => array('letter' => 'A', 'style' => (($severity & 8) ? 'enabled' : NULL)),
45
4 => array('letter' => 'H', 'style' => (($severity & 16) ? 'enabled' : NULL)),
46
5 => array('letter' => 'D', 'style' => (($severity & 32) ? 'enabled' : NULL))
49
foreach($mapping as $id => $map)
51
$result[$id] = new CSpan($map['letter'], $map['style']);
52
$result[$id]->SetHint(get_severity_description($id)." (".(isset($map['style']) ? "on" : "off").")");
55
return unpack_object($result);
22
58
function get_media_by_mediaid($mediaid)
24
60
$sql="select * from media where mediaid=$mediaid";
74
# Delete Media definition by mediatypeid
76
function delete_media_by_mediatypeid($mediatypeid)
78
$sql="delete from media where mediatypeid=$mediatypeid";
79
return DBexecute($sql);
82
# Delete alrtes by mediatypeid
84
function delete_alerts_by_mediatypeid($mediatypeid)
86
$sql="delete from alerts where mediatypeid=$mediatypeid";
87
return DBexecute($sql);
90
function get_mediatype_by_mediatypeid($mediatypeid)
92
$sql="select * from media_type where mediatypeid=$mediatypeid";
93
$result=DBselect($sql);
94
$row=DBfetch($result);
101
error("No media type with with mediatypeid=[$mediatypeid]");
108
function delete_mediatype($mediatypeid)
111
delete_media_by_mediatypeid($mediatypeid);
112
delete_alerts_by_mediatypeid($mediatypeid);
113
$sql="delete from media_type where mediatypeid=$mediatypeid";
114
return DBexecute($sql);
119
function update_mediatype($mediatypeid,$type,$description,$smtp_server,$smtp_helo,$smtp_email,$exec_path,$gsm_modem,$username,$password)
123
$sql="select * from media_type where description=".zbx_dbstr($description)." and mediatypeid!=$mediatypeid";
124
$result=DBexecute($sql);
127
error("An action type with description '$description' already exists.");
131
$sql="update media_type set type=$type,description=".zbx_dbstr($description).",smtp_server=".zbx_dbstr($smtp_server).",smtp_helo=".zbx_dbstr($smtp_helo).",smtp_email=".zbx_dbstr($smtp_email).",exec_path=".zbx_dbstr($exec_path).",gsm_modem=".zbx_dbstr($gsm_modem).",username=".zbx_dbstr($username).",passwd=".zbx_dbstr($password)." where mediatypeid=$mediatypeid";
132
$ret = DBexecute($sql);
139
function add_mediatype($type,$description,$smtp_server,$smtp_helo,$smtp_email,$exec_path,$gsm_modem,$username,$password)
143
if($description==""){
144
error(S_INCORRECT_DESCRIPTION);
148
$sql="select * from media_type where description=".zbx_dbstr($description);
149
$result=DBexecute($sql);
152
error("An action type with description '$description' already exists.");
156
$mediatypeid=get_dbid("media_type","mediatypeid");
157
$sql="insert into media_type (mediatypeid,type,description,smtp_server,smtp_helo,smtp_email,exec_path,gsm_modem,username,passwd) values ($mediatypeid,$type,".zbx_dbstr($description).",".zbx_dbstr($smtp_server).",".zbx_dbstr($smtp_helo).",".zbx_dbstr($smtp_email).",".zbx_dbstr($exec_path).",".zbx_dbstr($gsm_modem).",".zbx_dbstr($username).",".zbx_dbstr($password).")";
158
$ret = DBexecute($sql);
159
if($ret) $ret = $mediatypeid;
164
# Add Media definition
166
function add_media( $userid, $mediatypeid, $sendto, $severity, $active, $period)
168
if( !validate_period($period) )
170
error("Icorrect time period");
178
$s=$s|pow(2,(int)$severity[$i]);
180
$mediaid=get_dbid("media","mediaid");
181
$sql="insert into media (mediaid,userid,mediatypeid,sendto,active,severity,period) values ($mediaid,$userid,".zbx_dbstr($mediatypeid).",".zbx_dbstr($sendto).",$active,$s,".zbx_dbstr($period).")";
182
$ret = DBexecute($sql);
183
if($ret) $ret = $mediaid;
187
# Update Media definition
189
function update_media($mediaid, $userid, $mediatypeid, $sendto, $severity, $active, $period)
191
if( !validate_period($period) )
193
error("Icorrect time period");
201
$s=$s|pow(2,(int)$severity[$i]);
203
$sql="update media set userid=$userid, mediatypeid=$mediatypeid, sendto=".zbx_dbstr($sendto).", active=$active,severity=$s,period=".zbx_dbstr($period)." where mediaid=$mediaid";
204
return DBexecute($sql);
207
# Delete Media definition
209
function delete_media($mediaid)
211
return DBexecute("delete from media where mediaid=$mediaid");
216
function activate_media($mediaid)
218
return DBexecute("update media set active=0 where mediaid=$mediaid");
223
function disactivate_media($mediaid)
225
return DBexecute("update media set active=1 where mediaid=$mediaid");