mirror of
https://github.com/webmin/webmin.git
synced 2025-08-17 19:06:28 +00:00
51 lines
1.2 KiB
Perl
Executable File
51 lines
1.2 KiB
Perl
Executable File
#!/usr/local/bin/perl
|
|
# save_admin.cgi
|
|
# Save admin users and autoreply
|
|
|
|
require './jabber-lib.pl';
|
|
&ReadParse();
|
|
&error_setup($text{'admin_err'});
|
|
|
|
$conf = &get_jabber_config();
|
|
$session = &find_by_tag("service", "id", "sessions", $conf);
|
|
$jsm = &find("jsm", $session);
|
|
$admin = &find("admin", $jsm);
|
|
if (!$admin) {
|
|
$admin = [ "admin", [ { } ] ];
|
|
}
|
|
|
|
# Validate and save inputs
|
|
foreach $r (split(/\s+/, $in{'read'})) {
|
|
push(@read, [ 'read', [ { }, 0, $r ] ] );
|
|
}
|
|
&save_directive($admin, "read", \@read);
|
|
foreach $w (split(/\s+/, $in{'write'})) {
|
|
push(@write, [ 'write', [ { }, 0, $w ] ] );
|
|
}
|
|
&save_directive($admin, "write", \@write);
|
|
if ($in{'reply_def'}) {
|
|
&save_directive($admin, "reply");
|
|
}
|
|
else {
|
|
$reply = &find("reply", $admin);
|
|
if (!$reply) {
|
|
$reply = [ "reply", [ { } ] ];
|
|
&save_directive($admin, "reply", [ $reply ] );
|
|
}
|
|
&save_directive($reply, "subject",
|
|
[ [ 'subject', [ { }, 0, $in{'rsubject'} ] ] ]);
|
|
&save_directive($reply, "body",
|
|
[ [ 'body', [ { }, 0, $in{'rbody'} ] ] ]);
|
|
}
|
|
@am = @{$admin->[1]};
|
|
if (@am > 1) {
|
|
&save_directive($jsm, "admin", [ $admin ]);
|
|
}
|
|
else {
|
|
&save_directive($jsm, "admin");
|
|
}
|
|
|
|
&save_jabber_config($conf);
|
|
&redirect("");
|
|
|