|
55 | 55 | $form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete |
56 | 56 | $form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete |
57 | 57 |
|
| 58 | +$muc_available = $muc_pastebin_available = $muc_httparchive_available = $anon_available = $vjud_available = $proxy_available = $status_available = true; |
| 59 | +if(!$app->auth->is_admin()) { |
| 60 | + $client_group_id = $_SESSION["s"]["user"]["default_group"]; |
| 61 | + $client = $app->db->queryOneRecord("SELECT limit_xmpp_muc, limit_xmpp_anon, limit_xmpp_vjud, limit_xmpp_proxy, limit_xmpp_status, limit_xmpp_pastebin, limit_xmpp_httparchive FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"); |
| 62 | + |
| 63 | + if($client['limit_xmpp_muc'] != 'y') $muc_available = false; |
| 64 | + if($client['limit_xmpp_pastebin'] != 'y' || $client['limit_xmpp_muc'] != 'y') $muc_pastebin_available = false; |
| 65 | + if($client['limit_xmpp_httparchive'] != 'y' || $client['limit_xmpp_muc'] != 'y') $muc_httparchive_available = false; |
| 66 | + if($client['limit_xmpp_anon'] != 'y') $anon_available = false; |
| 67 | + if($client['limit_xmpp_vjud'] != 'y') $vjud_available = false; |
| 68 | + if($client['limit_xmpp_proxy'] != 'y') $proxy_available= false; |
| 69 | + if($client['limit_xmpp_status'] != 'y') $status_available = false; |
| 70 | +} |
| 71 | + |
58 | 72 | $form["tabs"]['domain'] = array ( |
59 | 73 | 'title' => "Domain", |
60 | 74 | 'width' => 100, |
|
149 | 163 | ) |
150 | 164 | ); |
151 | 165 |
|
152 | | - |
153 | 166 | $form["tabs"]['features'] = array ( |
154 | 167 | 'title' => "Modules", |
155 | 168 | 'width' => 100, |
|
158 | 171 | //################################# |
159 | 172 | // Begin Datatable fields |
160 | 173 | //################################# |
161 | | - 'use_anon_host' => array ( |
162 | | - 'datatype' => 'VARCHAR', |
163 | | - 'formtype' => 'CHECKBOX', |
164 | | - 'default' => 'y', |
165 | | - 'value' => array(0 => 'n', 1 => 'y') |
166 | | - ), |
167 | 174 | 'use_pubsub' => array ( |
168 | 175 | 'datatype' => 'VARCHAR', |
169 | 176 | 'formtype' => 'CHECKBOX', |
170 | 177 | 'default' => 'y', |
171 | 178 | 'value' => array(0 => 'n', 1 => 'y') |
172 | | - ), |
173 | | - 'use_vjud' => array ( |
174 | | - 'datatype' => 'VARCHAR', |
175 | | - 'formtype' => 'CHECKBOX', |
176 | | - 'default' => 'y', |
177 | | - 'value' => array(0 => 'n', 1 => 'y') |
178 | | - ), |
179 | | - 'vjud_opt_mode' => array ( |
180 | | - 'datatype' => 'VARCHAR', |
181 | | - 'formtype' => 'SELECT', |
182 | | - 'default' => '0', |
183 | | - 'value' => array(0 => 'Opt-In', 1 => 'Opt-Out') |
184 | | - ), |
185 | | - 'use_proxy' => array ( |
186 | | - 'datatype' => 'VARCHAR', |
187 | | - 'formtype' => 'CHECKBOX', |
188 | | - 'default' => 'y', |
189 | | - 'value' => array(0 => 'n', 1 => 'y') |
190 | | - ), |
191 | | - 'use_status_host' => array ( |
192 | | - 'datatype' => 'VARCHAR', |
193 | | - 'formtype' => 'CHECKBOX', |
194 | | - 'default' => 'y', |
195 | | - 'value' => array(0 => 'n', 1 => 'y') |
196 | | - ), |
| 179 | + ) |
197 | 180 | //################################# |
198 | 181 | // ENDE Datatable fields |
199 | 182 | //################################# |
200 | 183 | ) |
201 | 184 | ); |
| 185 | +if($anon_available) |
| 186 | + $form['tabs']['features']['fields']['use_anon_host'] = array ( |
| 187 | + 'datatype' => 'VARCHAR', |
| 188 | + 'formtype' => 'CHECKBOX', |
| 189 | + 'default' => 'y', |
| 190 | + 'value' => array(0 => 'n', 1 => 'y') |
| 191 | + ); |
| 192 | +if($vjud_available){ |
| 193 | + $form['tabs']['features']['fields']['use_vjud'] = array ( |
| 194 | + 'datatype' => 'VARCHAR', |
| 195 | + 'formtype' => 'CHECKBOX', |
| 196 | + 'default' => 'y', |
| 197 | + 'value' => array(0 => 'n', 1 => 'y') |
| 198 | + ); |
| 199 | + $form['tabs']['features']['fields']['vjud_opt_mode'] = array ( |
| 200 | + 'datatype' => 'VARCHAR', |
| 201 | + 'formtype' => 'SELECT', |
| 202 | + 'default' => '0', |
| 203 | + 'value' => array(0 => 'Opt-In', 1 => 'Opt-Out') |
| 204 | + ); |
| 205 | +} |
202 | 206 |
|
203 | | -$form["tabs"]['muc'] = array ( |
204 | | - 'title' => "MUC", |
205 | | - 'width' => 100, |
206 | | - 'template' => "templates/xmpp_domain_edit_muc.htm", |
207 | | - 'fields' => array ( |
208 | | - //################################# |
209 | | - // Begin Datatable fields |
210 | | - //################################# |
211 | | - 'use_muc_host' => array ( |
212 | | - 'datatype' => 'VARCHAR', |
213 | | - 'formtype' => 'CHECKBOX', |
214 | | - 'default' => 'y', |
215 | | - 'value' => array(0 => 'n', 1 => 'y') |
216 | | - ), |
217 | | - 'muc_name' => array( |
218 | | - 'datatype' => 'VARCHAR', |
219 | | - 'formtype' => 'TEXT', |
220 | | - 'default' => '' |
221 | | - ), |
222 | | - 'muc_restrict_room_creation' => array ( |
223 | | - 'datatype' => 'VARCHAR', |
224 | | - 'formtype' => 'SELECT', |
225 | | - 'default' => '1', |
226 | | - 'value' => array(0 => 'Everyone', 1 => 'Members', 2 => 'Admins') |
227 | | - ), |
228 | | - 'muc_admins' => array( |
229 | | - 'datatype' => 'VARCHAR', |
230 | | - 'formtype' => 'TEXT', |
231 | | - 'default' => 'admin@service.com, superuser@service.com', |
232 | | - 'value' => '', |
233 | | - 'width' => '15', |
234 | | - 'maxlength' => '3' |
235 | | - ), |
236 | | - 'use_pastebin' => array ( |
237 | | - 'datatype' => 'VARCHAR', |
238 | | - 'formtype' => 'CHECKBOX', |
239 | | - 'default' => 'y', |
240 | | - 'value' => array(0 => 'n', 1 => 'y') |
241 | | - ), |
242 | | - 'pastebin_expire_after' => array( |
243 | | - 'datatype' => 'VARCHAR', |
244 | | - 'formtype' => 'TEXT', |
245 | | - 'default' => '48', |
246 | | - 'validators' => array(0 => array('type' => 'ISINT'), |
247 | | - array('type'=>'RANGE', 'range'=>'1:168') |
| 207 | +if($proxy_available) |
| 208 | + $form['tabs']['features']['fields']['use_proxy'] = array ( |
| 209 | + 'datatype' => 'VARCHAR', |
| 210 | + 'formtype' => 'CHECKBOX', |
| 211 | + 'default' => 'y', |
| 212 | + 'value' => array(0 => 'n', 1 => 'y') |
| 213 | + ); |
| 214 | +if($status_available) |
| 215 | + $form['tabs']['features']['fields']['use_status_host'] = array ( |
| 216 | + 'datatype' => 'VARCHAR', |
| 217 | + 'formtype' => 'CHECKBOX', |
| 218 | + 'default' => 'y', |
| 219 | + 'value' => array(0 => 'n', 1 => 'y') |
| 220 | + ); |
| 221 | + |
| 222 | + |
| 223 | +if($muc_available) |
| 224 | + $form["tabs"]['muc'] = array ( |
| 225 | + 'title' => "MUC", |
| 226 | + 'width' => 100, |
| 227 | + 'template' => "templates/xmpp_domain_edit_muc.htm", |
| 228 | + 'fields' => array ( |
| 229 | + //################################# |
| 230 | + // Begin Datatable fields |
| 231 | + //################################# |
| 232 | + 'use_muc_host' => array ( |
| 233 | + 'datatype' => 'VARCHAR', |
| 234 | + 'formtype' => 'CHECKBOX', |
| 235 | + 'default' => 'y', |
| 236 | + 'value' => array(0 => 'n', 1 => 'y') |
248 | 237 | ), |
249 | | - 'value' => '', |
250 | | - 'width' => '15' |
251 | | - ), |
252 | | - 'pastebin_trigger' => array( |
253 | | - 'datatype' => 'VARCHAR', |
254 | | - 'formtype' => 'TEXT', |
255 | | - 'default' => '!paste', |
256 | | - 'value' => '', |
257 | | - 'width' => '15' |
258 | | - ), |
259 | | - 'use_http_archive' => array ( |
260 | | - 'datatype' => 'VARCHAR', |
261 | | - 'formtype' => 'CHECKBOX', |
262 | | - 'default' => 'y', |
263 | | - 'value' => array(0 => 'n', 1 => 'y') |
264 | | - ), |
265 | | - 'http_archive_show_join' => array ( |
266 | | - 'datatype' => 'VARCHAR', |
267 | | - 'formtype' => 'CHECKBOX', |
268 | | - 'default' => 'y', |
269 | | - 'value' => array(0 => 'n', 1 => 'y') |
270 | | - ), |
271 | | - 'http_archive_show_status' => array ( |
272 | | - 'datatype' => 'VARCHAR', |
273 | | - 'formtype' => 'CHECKBOX', |
274 | | - 'default' => 'y', |
275 | | - 'value' => array(0 => 'n', 1 => 'y') |
| 238 | + 'muc_name' => array( |
| 239 | + 'datatype' => 'VARCHAR', |
| 240 | + 'formtype' => 'TEXT', |
| 241 | + 'default' => '' |
| 242 | + ), |
| 243 | + 'muc_restrict_room_creation' => array ( |
| 244 | + 'datatype' => 'VARCHAR', |
| 245 | + 'formtype' => 'SELECT', |
| 246 | + 'default' => '1', |
| 247 | + 'value' => array(0 => 'Everyone', 1 => 'Members', 2 => 'Admins') |
| 248 | + ), |
| 249 | + 'muc_admins' => array( |
| 250 | + 'datatype' => 'VARCHAR', |
| 251 | + 'formtype' => 'TEXT', |
| 252 | + 'default' => 'admin@service.com, superuser@service.com', |
| 253 | + 'value' => '', |
| 254 | + 'width' => '15', |
| 255 | + 'maxlength' => '3' |
| 256 | + ), |
| 257 | + //################################# |
| 258 | + // ENDE Datatable fields |
| 259 | + //################################# |
| 260 | + ) |
| 261 | + ); |
| 262 | +if($muc_available && $muc_pastebin_available){ |
| 263 | + $form['tabs']['muc']['fields']['use_pastebin'] = array ( |
| 264 | + 'datatype' => 'VARCHAR', |
| 265 | + 'formtype' => 'CHECKBOX', |
| 266 | + 'default' => 'y', |
| 267 | + 'value' => array(0 => 'n', 1 => 'y') |
| 268 | + ); |
| 269 | + $form['tabs']['muc']['fields']['pastebin_expire_after'] = array( |
| 270 | + 'datatype' => 'VARCHAR', |
| 271 | + 'formtype' => 'TEXT', |
| 272 | + 'default' => '48', |
| 273 | + 'validators' => array(0 => array('type' => 'ISINT'), |
| 274 | + array('type'=>'RANGE', 'range'=>'1:168') |
276 | 275 | ), |
277 | | - //################################# |
278 | | - // ENDE Datatable fields |
279 | | - //################################# |
280 | | - ) |
281 | | -); |
| 276 | + 'value' => '', |
| 277 | + 'width' => '15' |
| 278 | + ); |
| 279 | + $form['tabs']['muc']['fields']['pastebin_trigger'] = array( |
| 280 | + 'datatype' => 'VARCHAR', |
| 281 | + 'formtype' => 'TEXT', |
| 282 | + 'default' => '!paste', |
| 283 | + 'value' => '', |
| 284 | + 'width' => '15' |
| 285 | + ); |
| 286 | +} |
| 287 | +if($muc_available && $muc_httparchive_available){ |
| 288 | + $form['tabs']['muc']['fields']['use_http_archive'] = array ( |
| 289 | + 'datatype' => 'VARCHAR', |
| 290 | + 'formtype' => 'CHECKBOX', |
| 291 | + 'default' => 'y', |
| 292 | + 'value' => array(0 => 'n', 1 => 'y') |
| 293 | + ); |
| 294 | + $form['tabs']['muc']['fields']['http_archive_show_join'] = array ( |
| 295 | + 'datatype' => 'VARCHAR', |
| 296 | + 'formtype' => 'CHECKBOX', |
| 297 | + 'default' => 'y', |
| 298 | + 'value' => array(0 => 'n', 1 => 'y') |
| 299 | + ); |
| 300 | + $form['tabs']['muc']['fields']['http_archive_show_status'] = array ( |
| 301 | + 'datatype' => 'VARCHAR', |
| 302 | + 'formtype' => 'CHECKBOX', |
| 303 | + 'default' => 'y', |
| 304 | + 'value' => array(0 => 'n', 1 => 'y') |
| 305 | + ); |
| 306 | +} |
282 | 307 |
|
283 | 308 | $form["tabs"]['ssl'] = array ( |
284 | 309 | 'title' => "SSL", |
|
0 commit comments