Handle hostnames with upper-case letters
[webmin.git] / jabber / save_admin.cgi
1 #!/usr/local/bin/perl
2 # save_admin.cgi
3 # Save admin users and autoreply
4
5 require './jabber-lib.pl';
6 &ReadParse();
7 &error_setup($text{'admin_err'});
8
9 $conf = &get_jabber_config();
10 $session = &find_by_tag("service", "id", "sessions", $conf);
11 $jsm = &find("jsm", $session);
12 $admin = &find("admin", $jsm);
13 if (!$admin) {
14         $admin = [ "admin", [ { } ] ];
15         }
16
17 # Validate and save inputs
18 foreach $r (split(/\s+/, $in{'read'})) {
19         push(@read, [ 'read', [ { }, 0, $r ] ] );
20         }
21 &save_directive($admin, "read", \@read);
22 foreach $w (split(/\s+/, $in{'write'})) {
23         push(@write, [ 'write', [ { }, 0, $w ] ] );
24         }
25 &save_directive($admin, "write", \@write);
26 if ($in{'reply_def'}) {
27         &save_directive($admin, "reply");
28         }
29 else {
30         $reply = &find("reply", $admin);
31         if (!$reply) {
32                 $reply = [ "reply", [ { } ] ];
33                 &save_directive($admin, "reply", [ $reply ] );
34                 }
35         &save_directive($reply, "subject",
36                         [ [ 'subject', [ { }, 0, $in{'rsubject'} ] ] ]);
37         &save_directive($reply, "body",
38                         [ [ 'body', [ { }, 0, $in{'rbody'} ] ] ]);
39         }
40 @am = @{$admin->[1]};
41 if (@am > 1) {
42         &save_directive($jsm, "admin", [ $admin ]);
43         }
44 else {
45         &save_directive($jsm, "admin");
46         }
47
48 &save_jabber_config($conf);
49 &redirect("");
50