document rlm_otp fd leak fix
[freeradius.git] / dialup_admin / lib / sql / drivers / sqlrelay / functions.php3
1 <?php
2 function da_sql_limit($limit,$point,$config)
3 {
4         switch($point){
5                 case 0:
6                         return '';
7                 case 1:
8                         return '';
9                 case 2:
10                         return "LIMIT $limit";
11         }       
12 }
13
14 function da_sql_host_connect($server,$config)
15 {
16         $retrytime = 0;
17
18         if ($config[sql_use_http_credentials] == 'yes'){
19                 global $HTTP_SERVER_VARS;
20                 $SQL_user = $HTTP_SERVER_VARS["PHP_AUTH_USER"];
21                 $SQL_passwd = $HTTP_SERVER_VARS["PHP_AUTH_PW"];
22         }
23         else{
24                 $SQL_user = $config[sql_username];
25                 $SQL_passwd = $config[sql_password];
26         }
27
28         if ($config[sql_connect_timeout] != 0)
29                 $retrytime = $config[sql_connect_timeout];
30         if ($config[sql_debug] == 'true')
31                 print "<b>DEBUG(SQL,SQLRELAY DRIVER): Connect: User=$SQL_user,Password=$SQL_passwd </b><br>\n";
32         $link[con] = @sqlrcon_alloc($server,$port,'',$SQL_user,$SQL_passwd,$retrytime,1);
33         if ($link[con]){
34                 $link[cur] = @sqlrcur_alloc($link[con]);
35                 if ($link[cur])
36                         return $link;
37                 else
38                         return 0;
39         }
40         else
41                 return 0;
42 }
43
44 function da_sql_connect($config)
45 {
46         $retrytime = 0;
47
48         if ($config[sql_use_http_credentials] == 'yes'){
49                 global $HTTP_SERVER_VARS;
50                 $SQL_user = $HTTP_SERVER_VARS["PHP_AUTH_USER"];
51                 $SQL_passwd = $HTTP_SERVER_VARS["PHP_AUTH_PW"];
52         }
53         else{
54                 $SQL_user = $config[sql_username];
55                 $SQL_passwd = $config[sql_password];
56         }
57
58         if ($config[sql_connect_timeout] != 0)
59                 $retrytime = $config[sql_connect_timeout];
60         if ($config[sql_debug] == 'true')
61                 print "<b>DEBUG(SQL,SQLRELAY DRIVER): Connect: User=$SQL_user,Password=$SQL_passwd </b><br>\n";
62         $link[con] = @sqlrcon_alloc($config[sql_server],$config[sql_port],'',$SQL_user,$SQL_passwd,$retrytime,1);
63         if ($link[con]){
64                 $link[cur] = @sqlrcur_alloc($link[con]);
65                 if ($link[cur])
66                         return $link;
67                 else
68                         return 0;
69         }
70         else
71                 return 0;
72 }
73
74 function da_sql_pconnect($config)
75 {
76         $retrytime = 0;
77
78
79         if ($config[sql_use_http_credentials] == 'yes'){
80                 global $HTTP_SERVER_VARS;
81                 $SQL_user = $HTTP_SERVER_VARS["PHP_AUTH_USER"];
82                 $SQL_passwd = $HTTP_SERVER_VARS["PHP_AUTH_PW"];
83         }
84         else{
85                 $SQL_user = $config[sql_username];
86                 $SQL_passwd = $config[sql_password];
87         }
88
89         if ($config[sql_connect_timeout] != 0)
90                 $retrytime = $config[sql_connect_timeout];
91         if ($config[sql_debug] == 'true')
92                 print "<b>DEBUG(SQL,SQLRELAY DRIVER): Connect: Host=$config[sql_server],Port=$config[sql_port],User=$SQL_user,Password=$SQL_passwd </b><br>\n";
93         $link[con] = sqlrcon_alloc($config[sql_server],$config[sql_port],'',$SQL_user,$SQL_passwd,$retrytime,1);
94         if ($link[con]){
95                 sqlrcon_debugOn($link[con]);
96                 $link[cur] = sqlrcur_alloc($link[con]);
97                 if ($link[cur]){
98                         sqlrcur_setResultSetBufferSize($link[cur], 4);
99                         sqlrcur_lowerCaseColumnNames($link[cur]);
100                         return $link;
101                 }
102                 else
103                         return false;
104         }
105         else{
106                 return false;
107         }
108 }
109
110 function da_sql_close($link,$config)
111 {
112         if (sqlrcur_free($link[cur]))
113                 return sqlrcon_free($link[con]);
114         else
115                 return 0;
116 }
117
118 function da_sql_escape_string($string)
119 {
120         return addslashes($string);
121 }
122
123 function da_sql_query($link,$config,$query)
124 {
125         if ($config[sql_debug] == 'true')
126                 print "<b>DEBUG(SQL,SQLRELAY DRIVER): Query: <i>$query</i></b><br>\n";
127         if (sqlrcur_sendQuery($link[cur],$query)){
128                 sqlrcon_endSession($link[con]);
129                 $link[count] = sqlrcur_rowCount($link[cur]);
130                 return $link;
131         }
132         else{
133                 return false;
134         }
135 }
136
137 function da_sql_num_rows($result,$config)
138 {
139         if ($config[sql_debug] == 'true')
140                 print "<b>DEBUG(SQL,SQLRELAY DRIVER): Query Result: Num rows:: " . @sqlrcur_rowCount($result[cur]) . "</b><br>\n";
141         return sqlrcur_rowCount($result[cur]);
142         return 0;
143 }
144
145 function da_sql_fetch_array($result,$config)
146 {
147         static $counter = 0;
148         if ($counter < $result[count]){
149                 $row = sqlrcur_getRowAssoc($result[cur],$counter);
150                 $counter++;
151         }
152         else{
153                 $counter = 0;
154                 return false;
155         }
156         if ($config[sql_debug] == 'true'){
157                 print "<b>DEBUG(SQL,SQLRELAY DRIVER): Query Result: <pre>";
158         }
159         return $row;
160 }
161
162 function da_sql_affected_rows($link,$result,$config)
163 {
164         if ($config[sql_debug] == 'true')
165                 print "<b>DEBUG(SQL,SQLRELAY DRIVER): Query Result: Affected rows:: " . @sqlrcur_affectedRows($result[cur]) . "</b><br>\n";
166         return sqlrcur_affectedRows($result[cur]);
167 }
168
169 function da_sql_list_fields($table,$link,$config)
170 {
171         if (sqlrcur_sendQuery($link[cur],"SELECT * FROM $table WHERE  1 = 0;")){
172                 sqlrcon_endSession($link[con]);
173                 return $link[cur];
174         }
175         else
176                 return false;
177 }
178
179 function da_sql_num_fields($fields,$config)
180 {
181         return sqlrcur_colCount($fields);
182 }
183
184 function da_sql_field_name($fields,$num,$config)
185 {
186         return sqlrcur_getColumnName($fields,$num);
187 }
188
189 function da_sql_error($link,$config)
190 {
191         return sqlrcur_errorMessage($link[cur]);
192 }
193 ?>