~ubuntu-dev/ubuntu/lucid/zabbix/lucid-201002110857

« back to all changes in this revision

Viewing changes to frontends/php/include/media.inc.php

  • Committer: Bazaar Package Importer
  • Author(s): Michael Ablassmeier
  • Date: 2007-07-02 09:06:51 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20070702090651-8l6fl3fjw9rh6l2u
Tags: 1:1.4.1-2
Add patch from SVN in order to fix Incorrect processing of character '%'
in user parameters and remote commands.

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
**/
20
20
?>
21
21
<?php
 
22
 
 
23
        function        media_type2str($type)
 
24
        {
 
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;
 
29
                
 
30
                if(isset($str_type[$type]))
 
31
                        return $str_type[$type];
 
32
 
 
33
                return S_UNKNOWN;
 
34
        }
 
35
 
 
36
        function        media_severity2str($severity)
 
37
        {
 
38
 
 
39
                insert_showhint_javascript();
 
40
                $mapping = array(
 
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))
 
47
                );
 
48
 
 
49
                foreach($mapping as $id => $map)
 
50
                {
 
51
                        $result[$id] = new CSpan($map['letter'], $map['style']);
 
52
                        $result[$id]->SetHint(get_severity_description($id)." (".(isset($map['style']) ? "on" : "off").")");
 
53
                }
 
54
 
 
55
                return unpack_object($result);
 
56
        }
 
57
 
22
58
        function        get_media_by_mediaid($mediaid)
23
59
        {
24
60
                $sql="select * from media where mediaid=$mediaid"; 
34
70
                }
35
71
                return  $result;
36
72
        }
 
73
 
 
74
        # Delete Media definition by mediatypeid
 
75
 
 
76
        function        delete_media_by_mediatypeid($mediatypeid)
 
77
        {
 
78
                $sql="delete from media where mediatypeid=$mediatypeid";
 
79
                return  DBexecute($sql);
 
80
        }
 
81
 
 
82
        # Delete alrtes by mediatypeid
 
83
 
 
84
        function        delete_alerts_by_mediatypeid($mediatypeid)
 
85
        {
 
86
                $sql="delete from alerts where mediatypeid=$mediatypeid";
 
87
                return  DBexecute($sql);
 
88
        }
 
89
 
 
90
        function        get_mediatype_by_mediatypeid($mediatypeid)
 
91
        {
 
92
                $sql="select * from media_type where mediatypeid=$mediatypeid";
 
93
                $result=DBselect($sql);
 
94
                $row=DBfetch($result);
 
95
                if($row)
 
96
                {
 
97
                        return  $row;
 
98
                }
 
99
                else
 
100
                {
 
101
                        error("No media type with with mediatypeid=[$mediatypeid]");
 
102
                }
 
103
                return  $item;
 
104
        }
 
105
 
 
106
        # Delete media type
 
107
 
 
108
        function        delete_mediatype($mediatypeid)
 
109
        {
 
110
 
 
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);
 
115
        }
 
116
 
 
117
        # Update media type
 
118
 
 
119
        function        update_mediatype($mediatypeid,$type,$description,$smtp_server,$smtp_helo,$smtp_email,$exec_path,$gsm_modem,$username,$password)
 
120
        {
 
121
                $ret = 0;
 
122
 
 
123
                $sql="select * from media_type where description=".zbx_dbstr($description)." and mediatypeid!=$mediatypeid";
 
124
                $result=DBexecute($sql);
 
125
                if(DBfetch($result))
 
126
                {
 
127
                        error("An action type with description '$description' already exists.");
 
128
                }
 
129
                else
 
130
                {
 
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);
 
133
                }
 
134
                return $ret;
 
135
        }
 
136
 
 
137
        # Add Media type
 
138
 
 
139
        function        add_mediatype($type,$description,$smtp_server,$smtp_helo,$smtp_email,$exec_path,$gsm_modem,$username,$password)
 
140
        {
 
141
                $ret = 0;
 
142
 
 
143
                if($description==""){
 
144
                        error(S_INCORRECT_DESCRIPTION);
 
145
                        return 0;
 
146
                }
 
147
 
 
148
                $sql="select * from media_type where description=".zbx_dbstr($description);
 
149
                $result=DBexecute($sql);
 
150
                if(DBfetch($result))
 
151
                {
 
152
                        error("An action type with description '$description' already exists.");
 
153
                }
 
154
                else
 
155
                {
 
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;
 
160
                }
 
161
                return $ret;
 
162
        }
 
163
        
 
164
        # Add Media definition
 
165
 
 
166
        function        add_media( $userid, $mediatypeid, $sendto, $severity, $active, $period)
 
167
        {
 
168
                if( !validate_period($period) )
 
169
                {
 
170
                        error("Icorrect time period");
 
171
                        return NULL;
 
172
                }
 
173
 
 
174
                $c=count($severity);
 
175
                $s=0;
 
176
                for($i=0;$i<$c;$i++)
 
177
                {
 
178
                        $s=$s|pow(2,(int)$severity[$i]);
 
179
                }
 
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;
 
184
                return  $ret;
 
185
        }
 
186
 
 
187
        # Update Media definition
 
188
 
 
189
        function        update_media($mediaid, $userid, $mediatypeid, $sendto, $severity, $active, $period)
 
190
        {
 
191
                if( !validate_period($period) )
 
192
                {
 
193
                        error("Icorrect time period");
 
194
                        return NULL;
 
195
                }
 
196
 
 
197
                $c=count($severity);
 
198
                $s=0;
 
199
                for($i=0;$i<$c;$i++)
 
200
                {
 
201
                        $s=$s|pow(2,(int)$severity[$i]);
 
202
                }
 
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);
 
205
        }
 
206
 
 
207
        # Delete Media definition
 
208
 
 
209
        function        delete_media($mediaid)
 
210
        {
 
211
                return  DBexecute("delete from media where mediaid=$mediaid");
 
212
        }
 
213
 
 
214
        # Activate Media
 
215
 
 
216
        function        activate_media($mediaid)
 
217
        {
 
218
                return  DBexecute("update media set active=0 where mediaid=$mediaid");
 
219
        }
 
220
 
 
221
        # Disactivate Media
 
222
 
 
223
        function        disactivate_media($mediaid)
 
224
        {
 
225
                return  DBexecute("update media set active=1 where mediaid=$mediaid");
 
226
        }
 
227
 
37
228
?>