| Server IP : 104.21.25.180 / Your IP : 104.23.197.123 Web Server : Apache/2.4.37 System : Linux almalinux.duckdns.org 4.18.0-553.111.1.el8_10.x86_64 #1 SMP Sun Mar 8 20:06:07 EDT 2026 x86_64 User : ricodeal ( 1046) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/libexec/webmin/mailboxes/ |
Upload File : |
#!/usr/bin/perl
@ARGV == 1 || die "usage: makelang.pl <language>";
$usermin = "/usr/local/useradmin/mailbox/ulang";
$mailboxes = "/usr/local/webadmin/mailboxes/lang";
$sendmail = "/usr/local/webadmin/sendmail/lang";
&read_file("$mailboxes/en", \%emailboxes, \@eorder);
&read_file("$sendmail/en", \%esendmail);
&read_file("$usermin/en", \%eusermin);
&read_file("$mailboxes/$ARGV[0]", \%fmailboxes);
&read_file("$sendmail/$ARGV[0]", \%fsendmail);
&read_file("$usermin/$ARGV[0]", \%fusermin);
foreach $k (@eorder) {
if ($emailboxes{$k} eq $esendmail{$k} &&
$fsendmail{$k} &&
$fsendmail{$k} ne $esendmail{$k}) {
print "$k=$fsendmail{$k}\n";
}
elsif ($emailboxes{$k} eq $eusermin{$k} &&
$fusermin{$k} &&
$fusermin{$k} ne $eusermin{$k}) {
print "$k=$fusermin{$k}\n";
}
}
# read_file(file, &assoc, [&order], [lowercase])
# Fill an associative array with name=value pairs from a file
sub read_file
{
local $_;
open(ARFILE, "<".$_[0]) || return 0;
while(<ARFILE>) {
chomp;
local $hash = index($_, "#");
local $eq = index($_, "=");
if ($hash != 0 && $eq >= 0) {
local $n = substr($_, 0, $eq);
local $v = substr($_, $eq+1);
$_[1]->{$_[3] ? lc($n) : $n} = $v;
push(@{$_[2]}, $n) if ($_[2]);
}
}
close(ARFILE);
if (defined($main::read_file_cache{$_[0]})) {
%{$main::read_file_cache{$_[0]}} = %{$_[1]};
}
return 1;
}