Compare commits

...

38 Commits
1.960 ... 1.962

Author SHA1 Message Date
Jamie Cameron
b6ad8b0f41 Check for netplan command as well 2020-11-10 11:20:38 -08:00
Jamie Cameron
5eb2d26862 New dev version bump 2020-11-09 20:51:42 -08:00
Ilia Rostovtsev
2c0ac4fa56 Fix color for errors 2020-11-09 14:50:51 +03:00
Jamie Cameron
65f4c4149f Number can be negative https://github.com/webmin/webmin/issues/1321 2020-11-08 17:54:05 -08:00
Jamie Cameron
2a94a7dbd1 Merge branch 'master' of github.com:webmin/webmin 2020-11-08 14:33:52 -08:00
Jamie Cameron
6833ce004a Don't break os_type as it is used later 2020-11-08 14:28:51 -08:00
Ilia Rostovtsev
cdcfdfb2ad Change Others to Tools and update translations 2020-11-08 14:29:49 +03:00
Ilia Rostovtsev
3e8418eed2 Fix to update OS version properly 2020-11-06 18:54:27 +03:00
Jamie Cameron
c9f4968bcb Merge branch 'master' of github.com:webmin/webmin 2020-11-05 10:02:39 -08:00
Jamie Cameron
2437f73570 Netplan dir may exist but be empty https://www.virtualmin.com/node/70054 2020-11-03 20:35:40 -08:00
Ilia Rostovtsev
25b7ee5b1a Fix to call OS cache refresh on manual call only 2020-11-02 22:19:07 +03:00
Jamie Cameron
286eace8b7 Version bump 2020-11-01 22:28:38 -08:00
Jamie Cameron
ed59ce2984 Code cleanups 2020-11-01 22:11:11 -08:00
Jamie Cameron
8e3adcc605 more ui-lib conversion 2020-11-01 22:11:00 -08:00
Jamie Cameron
26d38556f0 Fix some wording 2020-11-01 17:21:52 -08:00
Jamie Cameron
5e7b0386ff Merge branch 'master' of github.com:webmin/webmin 2020-11-01 17:12:59 -08:00
Jamie Cameron
21f7dc9971 UI-lib conversion 2020-11-01 17:12:51 -08:00
Ilia Rostovtsev
66eccaf7e7 Fix to regenerate OS cache on info recollect 2020-11-01 12:53:30 +03:00
Ilia Rostovtsev
2a104b43c9 Remove no longer used variable (another one) 2020-10-31 13:24:56 +03:00
Ilia Rostovtsev
f69c84ef81 Remove no longer used variable 2020-10-31 12:34:02 +03:00
Ilia Rostovtsev
20a2fdf400 Fix to update OS cache every day
https://www.virtualmin.com/node/69596
2020-10-31 12:30:47 +03:00
Ilia Rostovtsev
b02acf87e5 Fix to escape other params 2020-10-30 19:40:49 +03:00
Ilia Rostovtsev
ec6e681818 Fix to urlize password for 2FA https://github.com/webmin/webmin/issues/1317#issuecomment-718707491
https://www.virtualmin.com/node/70081
https://sourceforge.net/p/webadmin/bugs/5418
2020-10-29 16:10:38 +03:00
Ilia Rostovtsev
32fe68ea12 Generate distinctive name for 2FA app
Example: sub1.domain.com (username)
2020-10-28 11:46:05 +03:00
Jamie Cameron
a6b3d26416 Fix perl warning https://sourceforge.net/p/webadmin/bugs/5422/ 2020-10-25 17:24:17 -07:00
Ilia Rostovtsev
c665f36af6 Add XCP-ng Linux support detection
https://sourceforge.net/p/webadmin/bugs/5019
2020-10-24 14:14:09 +03:00
Ilia Rostovtsev
18b12d3401 Fix a bug in UTF7 conversion to support other languages (like Russian) https://github.com/webmin/usermin/issues/62
Folder name like `.&BB8EQAQ4BDIENQRC-` wasn't working before
2020-10-23 22:40:26 +03:00
Ilia Rostovtsev
bec8d15d7a Add ability to decode UTF7 encoded imap folders https://github.com/webmin/usermin/issues/62 2020-10-23 17:11:29 +03:00
Ilia Rostovtsev
51894fe0c3 Fix OpenSUSE version detection
Previously, the version was grabbed as 15.2" from the string PRETTY_NAME="openSUSE Leap 15.2" - this patch makes sure that only 15.2 is grabbed
2020-10-23 12:41:25 +03:00
Ilia Rostovtsev
1b29af7780 Fix translator glitches #1313 2020-10-22 12:55:04 +03:00
Ilia Rostovtsev
7e5ccdc77a Merge pull request #1313 from mateusz-szafraniec/patch-1
fixed pl.auto
2020-10-22 12:53:51 +03:00
Jamie Cameron
3377c44813 Remove useless alignments 2020-10-21 17:06:41 -07:00
Mateusz Szafraniec
70019b7843 Update pl.auto
fixed translation
2020-10-21 15:01:21 +02:00
Jamie Cameron
0b864c966f Update perms 2020-10-20 15:35:18 -07:00
Jamie Cameron
5834437209 PID file can be in a different location on newer FreeBSD releases 2020-10-20 15:32:45 -07:00
Jamie Cameron
2cb5d88637 Work on ui-lib conversion 2020-10-20 15:30:55 -07:00
Jamie Cameron
546ea972de Fix perl warning 2020-10-19 10:25:53 -07:00
Jamie Cameron
d5331075bb Fix perl warning 2020-10-19 10:16:08 -07:00
103 changed files with 553 additions and 651 deletions

View File

@@ -29,7 +29,7 @@ Webmin can be installed in two different ways:
1. By downloading a pre-built package, available for different distributions (CentOS, Fedora, SuSE, Mandriva, Debian, Ubuntu, Solaris and [other](http://www.webmin.com/support.html)) from our [download page](http://webmin.com/download.html);
<kbd>Note: It is highly recommended to [add repository](https://doxfer.webmin.com/Webmin/Installation) to your system for having automatic updates.</kbd>
2. By downloading, extracting [source file](https://prdownloads.sourceforge.net/webadmin/webmin-1.960.tar.gz), and running [_setup.sh_](http://www.webmin.com/tgz.html) script, with no arguments, which will setup to run it directly from this directory, or with a command-line argument, such as targeted directory.
2. By downloading, extracting [source file](https://prdownloads.sourceforge.net/webadmin/webmin-1.962.tar.gz), and running [_setup.sh_](http://www.webmin.com/tgz.html) script, with no arguments, which will setup to run it directly from this directory, or with a command-line argument, such as targeted directory.
<kbd>Note: If you are installing Webmin [on Windows](http://www.webmin.com/windows.html) system, you must run the command `perl setup.pl` instead. The Windows version depends on several programs, and modules that may not be part of the standard distribution. You will need _process.exe_ commmand, _sc.exe_ command, and _Win32::Daemon_ Perl module.</kbd>
## Documentation

0
at/start.cgi Normal file → Executable file
View File

0
at/stop.cgi Normal file → Executable file
View File

View File

@@ -103,7 +103,7 @@ sub get_bind_version
{
if (&has_command($config{'named_path'})) {
my $out = &backquote_command("$config{'named_path'} -v 2>&1");
if ($out =~ /(bind|named)\s+([0-9\.]+)/i) {
if ($out && $out =~ /(bind|named)\s+([0-9\.]+)/i) {
return $2;
}
}

View File

@@ -39,3 +39,4 @@ checkconf=named-checkconf
other_slaves=1
force_random=0
spf_record=0
pid_file=/var/run/named/pid

View File

@@ -24,6 +24,7 @@ else {
}
&ui_print_header(undef, $text{'add_title'}, "");
print "<b>$msg</b><p>\n";
# Setup error handler for down hosts

View File

@@ -13,23 +13,23 @@ use WebminCore;
# Returns a list of all hosts whose users are being managed by this module
sub list_useradmin_hosts
{
local %smap = map { $_->{'id'}, $_ } &list_servers();
local $hdir = "$module_config_directory/hosts";
opendir(DIR, $hdir);
local ($h, @rv);
foreach $h (readdir(DIR)) {
my %smap = map { $_->{'id'}, $_ } &list_servers();
my $hdir = "$module_config_directory/hosts";
my @rv;
opendir(DIR, $hdir) || return ();
foreach my $h (readdir(DIR)) {
next if ($h eq "." || $h eq ".." || !-d "$hdir/$h");
local %host = ( 'id', $h );
my %host = ( 'id', $h );
next if (!$smap{$h}); # underlying server was deleted
opendir(UDIR, "$hdir/$h");
foreach $f (readdir(UDIR)) {
if ($f =~ /^(\S+)\.user$/) {
local %user;
my %user;
&read_file("$hdir/$h/$f", \%user);
push(@{$host{'users'}}, \%user);
}
elsif ($f =~ /^(\S+)\.group$/) {
local %group;
my %group;
&read_file("$hdir/$h/$f", \%group);
push(@{$host{'groups'}}, \%group);
}
@@ -44,32 +44,34 @@ return @rv;
# save_useradmin_host(&host)
sub save_useradmin_host
{
local $hdir = "$module_config_directory/hosts";
local %oldfile;
my ($host) = @_;
my $hdir = "$module_config_directory/hosts";
my %oldfile;
mkdir($hdir, 0700);
if (-d "$hdir/$_[0]->{'id'}") {
opendir(DIR, "$hdir/$_[0]->{'id'}");
map { $oldfile{$_}++ } readdir(DIR);
if (-d "$hdir/$host->{'id'}") {
opendir(DIR, "$hdir/$host->{'id'}");
%oldfile = map { $_, 1 } readdir(DIR);
closedir(DIR);
}
else {
mkdir("$hdir/$_[0]->{'id'}", 0700);
mkdir("$hdir/$host->{'id'}", 0700);
}
foreach $u (@{$_[0]->{'users'}}) {
&write_file("$hdir/$_[0]->{'id'}/$u->{'user'}.user", $u);
foreach my $u (@{$host->{'users'}}) {
&write_file("$hdir/$host->{'id'}/$u->{'user'}.user", $u);
delete($oldfile{"$u->{'user'}.user"});
}
foreach $g (@{$_[0]->{'groups'}}) {
&write_file("$hdir/$_[0]->{'id'}/$g->{'group'}.group", $g);
foreach my $g (@{$host->{'groups'}}) {
&write_file("$hdir/$host->{'id'}/$g->{'group'}.group", $g);
delete($oldfile{"$g->{'group'}.group"});
}
unlink(map { "$hdir/$_[0]->{'id'}/$_" } keys %oldfile);
unlink(map { "$hdir/$host->{'id'}/$_" } keys %oldfile);
}
# delete_useradmin_host(&host)
sub delete_useradmin_host
{
system("rm -rf '$module_config_directory/hosts/$_[0]->{'id'}'");
my ($host) = @_;
&unlink_file("$module_config_directory/hosts/$host->{'id'}");
}
# list_servers()
@@ -77,7 +79,7 @@ system("rm -rf '$module_config_directory/hosts/$_[0]->{'id'}'");
# managed, plus this server
sub list_servers
{
local @servers = &servers::list_servers_sorted();
my @servers = &servers::list_servers_sorted();
return ( &servers::this_server(), grep { $_->{'user'} } @servers );
}
@@ -86,6 +88,7 @@ return ( &servers::this_server(), grep { $_->{'user'} } @servers );
# parent dirs
sub auto_home_dir
{
my ($base, $user) = @_;
if ($uconfig{'home_style'} == 0) {
return $_[0]."/".$_[1];
}
@@ -105,99 +108,90 @@ elsif ($uconfig{'home_style'} == 3) {
# server_name(&server)
sub server_name
{
return $_[0]->{'desc'} ? $_[0]->{'desc'} : $_[0]->{'host'};
my ($server) = @_;
return $server->{'desc'} || $server->{'host'};
}
# supports_gothers(&server)
# Returns 1 if some server supports group syncing, 0 if not
sub supports_gothers
{
local $vers = $remote_server_version{$_[0]->{'host'}} ||
&remote_foreign_call($_[0]->{'host'}, "useradmin",
"get_webmin_version");
my ($server) = @_;
my $vers = $remote_server_version{$server->{'host'}} ||
&remote_foreign_call($server->{'host'}, "useradmin",
"get_webmin_version");
return $vers >= 1.090;
}
# create_on_input(desc, [no-donthave], [multiple])
# create_on_input([no-donthave], [multiple])
# Returns a selector for a server or group to create users on
sub create_on_input
{
local @hosts = &list_useradmin_hosts();
local @servers = &list_servers();
if ($_[0]) {
print "<tr> <td><b>$_[0]</b></td>\n";
print "<td colspan=2>\n";
}
if ($_[2]) {
print "<select name=server size=5 multiple>\n";
}
else {
print "<select name=server>\n";
}
print "<option value=-1>$text{'uedit_all'}</option>\n";
print "<option value=-2>$text{'uedit_donthave'}</option>\n" if (!$_[1]);
local @groups = &servers::list_all_groups(\@servers);
local $h;
my ($nodont, $mul) = @_;
my @hosts = &list_useradmin_hosts();
my @servers = &list_servers();
my @opts = ( [ -1, $text{'uedit_all'} ] );
push(@opts, [ -2, $text{'uedit_donthave'} ] ) if (!$nodont);
my @groups = &servers::list_all_groups(\@servers);
my $h;
foreach $h (@hosts) {
local ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
my ($s) = grep { $_->{'id'} == $h->{'id'} } @servers;
if ($s) {
print "<option value='$s->{'id'}'>",
$s->{'desc'} ? $s->{'desc'} : $s->{'host'},"</option>\n";
push(@opts, [ $s->{'id'}, &server_name($s) ]);
$gothost{$s->{'host'}}++;
}
}
local $g;
foreach $g (@groups) {
local ($found, $m);
foreach my $g (@groups) {
my ($found, $m);
foreach $m (@{$g->{'members'}}) {
($found++, last) if ($gothost{$m});
$found++ if ($gothost{$m});
}
print "<option value='group_$g->{'name'}'>",
&text('uedit_group', $g->{'name'}),"</option>\n" if ($found);
push(@opts, [ "group_$g->{'name'}",
&text('uedit_group', $g->{'name'}) ]) if ($found);
}
print "</select>\n";
if ($_[0]) {
print "</td> </tr>\n";
}
return &ui_select("server", undef, \@opts, $mul ? 5 : 1, $mul);
}
# create_on_parse(prefix, &already, name, [no-print])
# Returns a list of selected hosts from an input created by create_on_input
sub create_on_parse
{
local @allhosts = &list_useradmin_hosts();
local @servers = &list_servers();
local @hosts;
local $server;
my ($pfx, $already, $name, $noprint) = @_;
my @allhosts = &list_useradmin_hosts();
my @servers = &list_servers();
my @hosts;
my $server;
foreach $server (split(/\0/, $in{'server'})) {
if ($server == -2) {
# Check who has it already
local %already = map { $_->{'id'}, 1 } @{$_[1]};
my %already = map { $_->{'id'}, 1 } @$already;
push(@hosts, grep { !$already{$_->{'id'}} } @allhosts);
print "<b>",&text($_[0].'3', $_[2]),"</b><p>\n" if (!$_[3]);
print "<b>",&text($pfx.'3', $name),"</b><p>\n" if (!$noprint);
}
elsif ($server =~ /^group_(.*)/) {
# Install on members of some group
local ($group) = grep { $_->{'name'} eq $1 }
my ($group) = grep { $_->{'name'} eq $1 }
&servers::list_all_groups(\@servers);
push(@hosts, grep { local $hid = $_->{'id'};
local ($s) = grep { $_->{'id'} == $hid } @servers;
push(@hosts, grep { my $hid = $_->{'id'};
my ($s) = grep { $_->{'id'} == $hid } @servers;
&indexof($s->{'host'}, @{$group->{'members'}}) >= 0 }
@allhosts);
print "<b>",&text($_[0].'4', $_[2], $group->{'name'}),
"</b><p>\n" if (!$_[3]);
print "<b>",&text($pfx.'4', $name, $group->{'name'}),
"</b><p>\n" if (!$noprint);
}
elsif ($server != -1) {
# Just install on one host
local ($onehost) = grep { $_->{'id'} == $server } @allhosts;
my ($onehost) = grep { $_->{'id'} == $server } @allhosts;
push(@hosts, $onehost);
local ($s) = grep { $_->{'id'} == $onehost->{'id'} } @servers;
print "<b>",&text($_[0].'5', $_[2],
&server_name($s)),"</b><p>\n" if (!$_[3]);
my ($s) = grep { $_->{'id'} == $onehost->{'id'} } @servers;
print "<b>",&text($pfx.'5', $name,
&server_name($s)),"</b><p>\n" if (!$noprint);
}
else {
# Installing on every host
push(@hosts, @allhosts);
print "<b>",&text($_[0], join(" ", @names)),
"</b><p>\n" if (!$_[3]);
print "<b>",&text($pfx, join(" ", @names)),
"</b><p>\n" if (!$noprint);
}
}
return &unique(@hosts);

View File

@@ -1,11 +1,11 @@
line1=Display Options,11
sort_mode=Sort hosts by,1,1-Hostname,0-Order added,2-Description
table_mode=Show hosts as,1,1-Table,0-Icons
conf_host_links=Provide a link to modify host,1,1-Yes,0-No
conf_host_links=Provide a link to modify hosts?,1,1-Yes,0-No
line2=Users and Groups Options,11
conf_add_user=Allow user add,1,1-Yes,0-No
conf_add_group=Allow group add,1,1-Yes,0-No
conf_find_user=Allow user database searching,1,1-Yes,0-No
conf_find_group=Allow group database searching,1,1-Yes,0-No
conf_allow_refresh=Allow refresh of user and group lists,1,1-Yes,0-No
conf_allow_sync=Allow server synchronization,1,1-Yes,0-No
conf_add_user=Allow user add?,1,1-Yes,0-No
conf_add_group=Allow group add?,1,1-Yes,0-No
conf_find_user=Allow user database searching?,1,1-Yes,0-No
conf_find_group=Allow group database searching?,1,1-Yes,0-No
conf_allow_refresh=Allow refresh of user and group lists?,1,1-Yes,0-No
conf_allow_sync=Allow server synchronization?,1,1-Yes,0-No

View File

@@ -12,83 +12,63 @@ $server = &foreign_call("servers", "get_server", $in{'id'});
@packages = @{$host->{'packages'}};
# Show host details
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'host_header'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print &ui_table_start($text{'host_header'}, undef, 4);
print "<tr> <td><b>$text{'host_name'}</b></td>\n";
my $hmsg;
if ($server->{'id'}) {
print "<td>";
printf &ui_link("/servers/link.cgi/%s/","%s"),
$server->{'id'},
$hmsg = &ui_link("/servers/link.cgi/$server->{'id'}/",
$server->{'desc'} ?
"$server->{'desc'} ($server->{'host'}:$server->{'port'})" :
"$server->{'host'}:$server->{'port'}";
print "</td>";
"$server->{'desc'} ($server->{'host'}:$server->{'port'})" :
"$server->{'host'}:$server->{'port'}");
}
else {
print "<td colspan=3><a href=/>$text{'this_server'}</a></td>\n";
$hmsg = &ui_link("/", $text{'this_server'});
}
print &ui_table_row($text{'host_name'}, $hmsg, 3);
if ($server->{'id'}) {
print "<td><b>$text{'host_type'}</b></td> <td>\n";
foreach $t (@servers::server_types) {
print $t->[1] if ($t->[0] eq $server->{'type'});
}
print "</td>\n";
my ($t) = grep { $_->[0] eq $server->{'type'} } @servers::server_types;
print &ui_table_row($text{'host_type'}, $t ? $t->[1] : "");
}
print "</tr>\n";
print "<tr> <td><b>$text{'host_users'}</b></td>\n";
printf "<td>%d</td>\n", scalar(@{$host->{'users'}});
print &ui_table_row($text{'host_users'},
scalar(@{$host->{'users'}}));
print "<td><b>$text{'host_groups'}</b></td>\n";
printf "<td>%d</td> </tr>\n", scalar(@{$host->{'groups'}});
print &ui_table_row($text{'host_groups'},
scalar(@{$host->{'groups'}}));
print "</table></td></tr></table>\n";
print &ui_table_end();
# Show delete and refresh buttons
print "<p><table width=100%><tr>\n";
print &ui_buttons_start();
print "<td><form action=delete_host.cgi>\n";
print "<input type=hidden name=id value=$in{'id'}>\n";
print "<input type=submit value='$text{'host_delete'}'>\n";
print "</form></td>\n";
print &ui_buttons_row("delete_host.cgi", $text{'host_delete'}, undef,
[ [ "id", $in{'id'} ] ]);
print "<td align=right><form action=refresh.cgi>\n";
print "<input type=hidden name=id value=$in{'id'}>\n";
print "<input type=submit value='$text{'host_refresh'}'>\n";
print "</form></td>\n";
print &ui_buttons_row("refresh.cgi", $text{'host_refresh'}, undef,
[ [ "id", $in{'id'} ] ]);
print "</tr></table>\n";
print &ui_buttons_end();
# Show users and groups
print &ui_hr();
print &ui_subheading($text{'host_ulist'});
print "<table width=100% border>\n";
print "<tr $tb> <td><b>$text{'index_users'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
foreach $u (@{$host->{'users'}}) {
if ($i%4 == 0) { print "<tr>\n"; }
print "<td><a href=\"edit_user.cgi?user=$u->{'user'}&",
"host=$server->{'id'}\">$u->{'user'}</a></td>\n";
if ($i%4 == 3) { print "</tr>\n"; }
$i++;
print &ui_table_start($text{'host_users'}, undef, 2);
my @ugrid;
foreach my $u (@{$host->{'users'}}) {
push(@ugrid, &ui_link("edit_user.cgi?user=".&urlize($u->{'user'}).
"&host=".&urlize($server->{'id'}), $u->{'user'}));
}
print "</table></td> </tr></table>\n";
print &ui_table_row(undef, &ui_grid_table(\@ugrid, 4), 2);
print &ui_table_end();
print &ui_subheading($text{'host_glist'});
print "<table width=100% border>\n";
print "<tr $tb> <td><b>$text{'index_groups'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print &ui_table_start($text{'host_groups'}, undef, 2);
my @ggrid;
foreach $g (@{$host->{'groups'}}) {
if ($j%4 == 0) { print "<tr>\n"; }
print "<td><a href=\"edit_group.cgi?group=$g->{'group'}&",
"host=$server->{'id'}\">$g->{'group'}</a></td>\n";
if ($j%4 == 3) { print "</tr>\n"; }
$j++;
push(@ggrid, &ui_link("edit_group.cgi?group=".&urlize($g->{'group'}).
"&host=".&urlize($server->{'id'}), $g->{'group'}));
}
print "</table></td> </tr></table>\n";
print &ui_table_row(undef, &ui_grid_table(\@ggrid, 4), 2);
print &ui_table_end();
&ui_print_footer("", $text{'index_return'});

View File

@@ -50,7 +50,8 @@ print "<td><input type=radio name=others value=1 checked> $text{'yes'}</td>\n";
print "<td><input type=radio name=others value=0> $text{'no'}</td> </tr>\n";
# Show server selection input
&create_on_input($text{'uedit_servers'});
print "<tr> <td>$text{'uedit_servers'}</td> ",
"<td>",&create_on_input(),"</td> </tr>\n";
print "</table></td> </tr></table><p></p><p></p>\n";

View File

@@ -27,9 +27,8 @@ foreach $h (@hosts) {
push(@titles, $s->{'desc'} ? $s->{'desc'}
: "$s->{'host'}:$s->{'port'}");
push(@links, $link);
push(@icons, $gconfig{'webprefix'} ?
($gconfig{'webprefix'}."/servers/images/".$s->{'type'}.".gif") :
("../servers/images/".$s->{'type'}.".gif"));
push(@icons, $gconfig{'webprefix'}."/servers/images/".
$s->{'type'}.".gif");
push(@installed, @{$h->{'packages'}});
$gothost{$h->{'id'}}++;
}
@@ -47,7 +46,8 @@ if (@links) {
local ($type) = grep { $_->[0] eq $s->{'type'} }
@servers::server_types;
local ($link) = $config{'conf_host_links'} ?
&ui_link("edit_host.cgi?id=$h->{'id'}",($s->{'host'} || &get_system_hostname())) :
&ui_link("edit_host.cgi?id=$h->{'id'}",
($s->{'host'} || &get_system_hostname())) :
($s->{'host'} || &get_system_hostname());
print &ui_columns_row([
$link,
@@ -67,39 +67,40 @@ if (@links) {
else {
print "<b>$text{'index_nohosts'}</b><p>\n";
}
$formno++;
print "<form data-post-icon-row-submit action=add.cgi>\n";
print "<table width=100%><tr>\n";
@addservers = grep { !$gothost{$_->{'id'}} } @servers;
print &ui_buttons_start();
# Add one server
my @addservers = grep { !$gothost{$_->{'id'}} } @servers;
if (@addservers) {
print "<td><input type=submit name=add value='$text{'index_add'}'>\n";
print "<select name=server>\n";
foreach $s (@addservers) {
print "<option value=$s->{'id'}>",
$s->{'desc'} ? $s->{'desc'} : $s->{'host'},"</option>\n";
}
print "</select></td>\n";
print &ui_buttons_row("add.cgi", $text{'index_add'}, undef,
[ [ "add", 1 ] ],
&ui_select("server", undef,
[ map { [ $_->{'id'}, &server_name($_) ] }
@addservers ]));
}
# Add one group
@groups = &servers::list_all_groups(\@servers);
if (@groups) {
print "<td align=right><input type=submit name=gadd ",
"value='$text{'index_gadd'}'>\n";
print "<select name=group>\n";
foreach $g (@groups) {
print "<option>$g->{'name'}</option>\n";
}
print "</select></td>\n";
print &ui_buttons_row("add.cgi", $text{'index_gadd'}, undef,
[ [ "gadd", 1 ] ],
&ui_select("group", undef,
[ map { $_->{'name'} } @groups ]));
}
print "</tr></table></form>\n";
if ($config{'conf_add_user'} == 0 &&
$config{'conf_add_group'} == 0 &&
$config{'conf_allow_refresh'} == 0 &&
$config{'conf_allow_sync'} == 0 &&
$config{'conf_find_user'} == 0 &&
$config{'conf_find_group'} == 0) {
# If we have configured EVERY possible 'host' action off, then don't show
# the header/horizontal-rule/etc...
print &ui_buttons_end();
if (!$config{'conf_add_user'} &&
!$config{'conf_add_group'} &&
!$config{'conf_allow_refresh'} &&
!$config{'conf_allow_sync'} &&
!$config{'conf_find_user'} &&
!$config{'conf_find_group'}) {
# If we have configured EVERY possible 'host' action off, then don't
# show the header/horizontal-rule/etc...
@hosts = ();
}
@@ -108,126 +109,73 @@ if (@hosts) {
print &ui_hr();
print &ui_subheading($text{'index_users'});
print "<table width=100%>";
if ($config{'conf_find_user'} == 1 ||
$config{'conf_add_user'} == 1) {
print "<tr>\n";
}
if ($config{'conf_find_user'} == 1) {
print "<td>\n";
print "<form action=search_user.cgi>\n";
print "<b>$text{'index_finduser'}</b> <select name=field>\n";
print "<option value=user checked>$text{'user'}</option>\n";
print "<option value=real>$text{'real'}</option>\n";
print "<option value=shell>$text{'shell'}</option>\n";
print "<option value=home>$text{'home'}</option>\n";
print "<option value=uid>$text{'uid'}</option>\n";
print "</select> <select name=match>\n";
print "<option value=0 checked>$text{'index_equals'}";
print "</option>\n";
print "<option value=4>$text{'index_contains'}</option>\n";
print "<option value=1>$text{'index_matches'}</option>\n";
print "<option value=5>$text{'index_ncontains'}</option>\n";
print "<option value=3>$text{'index_nmatches'}</option>\n";
print "</select> <input name=what size=15>&nbsp;&nbsp;\n";
print "<input type=submit value=\"$text{'find'}\"></form>\n";
print "</td>\n";
}
print &ui_buttons_start();
if ($config{'conf_add_user'} == 1 &&
$config{'conf_find_user'} == 1) {
print "<td align=right>\n";
}
elsif ($config{'conf_add_user'} == 1) {
print "<td>\n";
}
if ($config{'conf_add_user'} == 1) {
print "<form action=user_form.cgi>\n";
print "<input type=hidden name=new value=1>\n";
print "<input type=submit value='$text{'index_newuser'}'>\n";
print "</form>\n";
print "</td>\n";
}
if ($config{'conf_find_user'} == 1 ||
$config{'conf_add_user'} == 1) {
print "</tr>\n";
}
if ($config{'conf_find_user'}) {
print &ui_buttons_row(
"search_user.cgi",
$text{'index_finduser'},
undef,
undef,
&ui_select("field", "user",
[ [ "user", $text{'user'} ],
[ "real", $text{'real'} ],
[ "shell", $text{'shell'} ],
[ "home", $text{'home'} ],
[ "uid", $text{'uid'} ] ])." ".
&ui_select("match", 0,
[ [ 0, $text{'index_equals'} ],
[ 4, $text{'index_contains'} ],
[ 1, $text{'index_matches'} ],
[ 5, $text{'index_ncontains'} ],
[ 3, $text{'index_nmatches'} ] ])." ".
&ui_textbox("what", undef, 15));
}
if ($config{'conf_find_group'} == 1 ||
$config{'conf_add_group'} == 1) {
print "<tr>\n";
}
if ($config{'conf_find_group'} == 1) {
print "<td>\n";
print "<form action=search_group.cgi>";
print "<b>$text{'index_findgroup'}</b> <select name=field>\n";
print "<option value=group checked>$text{'gedit_group'}";
print "</option>\n";
print "<option value=members>$text{'gedit_members'}";
print "</option>\n";
print "<option value=gid>$text{'gedit_gid'}</option>\n";
print "</select> <select name=match>\n";
print "<option value=0 checked>$text{'index_equals'}";
print "</option>\n";
print "<option value=4>$text{'index_contains'}</option>\n";
print "<option value=1>$text{'index_matches'}</option>\n";
print "<option value=5>$text{'index_ncontains'}</option>\n";
print "<option value=3>$text{'index_nmatches'}</option>\n";
print "</select> <input name=what size=15>&nbsp;&nbsp;\n";
print "<input type=submit value=\"$text{'find'}\">";
print "</form>\n";
print "</td>";
}
if ($config{'conf_find_group'}) {
print &ui_buttons_row(
"search_group.cgi",
$text{'index_findgroup'},
undef,
undef,
&ui_select("field", "group",
[ [ "group", $text{'gedit_group'} ],
[ "members", $text{'gedit_members'} ],
[ "gid", $text{'gid'} ] ])." ".
&ui_select("match", 0,
[ [ 0, $text{'index_equals'} ],
[ 4, $text{'index_contains'} ],
[ 1, $text{'index_matches'} ],
[ 5, $text{'index_ncontains'} ],
[ 3, $text{'index_nmatches'} ] ])." ".
&ui_textbox("what", undef, 15));
}
if ($config{'conf_add_group'} == 1 &&
$config{'conf_find_group'} == 1) {
print "<td align=right>\n";
}
elsif ($config{'conf_add_group'} == 1) {
print "<td>\n";
}
if ($config{'conf_add_group'} == 1) {
print "<form action=group_form.cgi>\n";
print "<input type=hidden name=new value=1>\n";
print "<input type=submit value='$text{'index_newgroup'}'>\n";
print "</form></td>\n";
}
if ($config{'conf_find_group'} == 1 ||
$config{'conf_add_group'} == 1) {
print "</tr>\n";
}
if ($config{'conf_add_user'}) {
print &ui_buttons_row("user_form.cgi",
$text{'index_newuser'},
undef,
[ [ "new", 1 ] ]);
}
if ($config{'conf_allow_refresh'} == 1 ||
$config{'conf_allow_sync'} == 1) {
print "<tr>\n";
}
if ($config{'conf_allow_refresh'} == 1) {
print "<td>\n";
print "<form action=refresh.cgi>\n";
print "<input type=submit value='$text{'index_refresh'}'>\n";
&create_on_input(undef, 1);
print "</form>\n";
print "</td>\n";
}
if ($config{'conf_add_group'}) {
print &ui_buttons_row("group_form.cgi",
$text{'index_newgroup'},
undef,
[ [ "new", 1 ] ]);
}
if ($config{'conf_allow_refresh'} == 1 &&
$config{'conf_allow_sync'} == 1) {
print "<td align=right>";
if ($config{'conf_allow_refresh'}) {
print &ui_buttons_row("refresh.cgi",
$text{'index_refresh'}, undef, undef,
&create_on_input(1));
}
if ($config{'conf_allow_sync'}) {
print &ui_buttons_row("sync_form.cgi", $text{'index_sync'});
}
print &ui_buttons_end();
}
else {
print "<td>";
}
if ($config{'conf_allow_sync'} == 1) {
print "<form action=sync_form.cgi>\n";
print "<input type=submit value='$text{'index_sync'}'>\n";
print "</form>\n";
print "</td>\n";
}
if ($config{'conf_allow_refresh'} == 1 ||
$config{'conf_allow_sync'} == 1) {
print "</tr>\n";
}
print "</table>\n";
}
&ui_print_footer("/", $text{'index'});

View File

@@ -29,16 +29,16 @@ add_egft=Server $1 does not use the same group file format as this host
add_ok=Added $1 with $2 users and $3 groups.
host_title=Managed Server
host_header=Software managed server details
host_header=Users and groups managed server details
host_name=Host name
host_type=Server type
host_delete=Remove From Managed List
host_refresh=Refresh Users and Groups
host_users=Number of users
host_groups=Number of groups
host_ulist=Users on Server
host_glist=Groups on Server
host_return=server details
host_users=Users on Server
host_groups=Groups on Server
refresh_title=Refresh Users and Groups
refresh_header=Re-requesting user and group lists from all servers ..

View File

@@ -7,68 +7,55 @@ require './cluster-useradmin-lib.pl';
&ui_print_header(undef, $text{'sync_title'}, "");
print "$text{'sync_desc'}<p>\n";
print "<form action=sync.cgi>\n";
print "<table width='100%'>\n";
print "<tr> <td valign=top><b>$text{'sync_hosts'}</b></td> <td>\n";
&create_on_input(undef, 1, 1);
print "</td> </tr>\n";
print &ui_form_start("sync.cgi", "post");
print &ui_table_start($text{'sync_hosts'}, undef, 2);
print "<tr> <td valign=top><b>$text{'sync_users'}</b></td> <td>\n";
print "<input type=radio name=users_mode value=1> ",
"$text{'sync_uall'}&nbsp;&nbsp;\n";
print "<input type=radio name=users_mode value=0 checked> ",
"$text{'sync_unone'}<br>\n";
print "<input type=radio name=users_mode value=2> ",
"$text{'sync_usel'}\n";
print "<input name=usel size=30> ",&user_chooser_button("usel", 1),"<br>\n";
print "<input type=radio name=users_mode value=3> ",
"$text{'sync_unot'}\n";
print "<input name=unot size=30> ",&user_chooser_button("unot", 1),"<br>\n";
print "<input type=radio name=users_mode value=4> ",
"$text{'sync_uuid'}\n";
print "<input name=uuid1 size=6> - <input name=uuid2 size=6><br>\n";
print "<input type=radio name=users_mode value=5> ",
"$text{'sync_ugid'}\n";
print &unix_group_input("ugid"),"<br>\n";
print "</td> </tr>\n";
# Hosts to sync
print &ui_table_row($text{'sync_hosts'},
&create_on_input(1, 1));
print "<tr> <td valign=top><b>$text{'sync_groups'}</b></td> <td>\n";
print "<input type=radio name=groups_mode value=1> ",
"$text{'sync_gall'}&nbsp;&nbsp;\n";
print "<input type=radio name=groups_mode value=0 checked> ",
"$text{'sync_gnone'}<br>\n";
print "<input type=radio name=groups_mode value=2> ",
"$text{'sync_gsel'}\n";
print "<input name=gsel size=30> ",&group_chooser_button("gsel", 1),"<br>\n";
print "<input type=radio name=groups_mode value=3> ",
"$text{'sync_gnot'}\n";
print "<input name=gnot size=30> ",&group_chooser_button("gnot", 1),"<br>\n";
print "<input type=radio name=groups_mode value=4> ",
"$text{'sync_ggid'}\n";
print "<input name=ggid1 size=6> - <input name=ggid2 size=6><br>\n";
print "</td> </tr>\n";
# Users to sync
print &ui_table_row($text{'sync_users'},
&ui_radio_table("users_mode", 0,
[ [ 1, $text{'sync_uall'} ],
[ 0, $text{'sync_unone'} ],
[ 2, $text{'sync_usel'}, &ui_users_textbox("usel") ],
[ 3, $text{'sync_unot'}, &ui_users_textbox("unot") ],
[ 4, $text{'sync_uuid'}, &ui_textbox("uuid1", "", 6)." - ".
&ui_textbox("uuid2", "", 6) ],
[ 5, $text{'sync_ugid'}, &ui_group_textbox("ugid") ],
]));
print "<tr> <td><b>$text{'sync_test'}</b></td>\n";
print "<td><input type=radio name=test value=1> $text{'yes'}\n";
print "<input type=radio name=test value=0 checked> $text{'no'}</td> </tr>\n";
# Groups to sync
print &ui_table_row($text{'sync_groups'},
&ui_radio_table("groups_mode", 0,
[ [ 1, $text{'sync_gall'} ],
[ 0, $text{'sync_gnone'} ],
[ 2, $text{'sync_gsel'}, &ui_groups_textbox("gsel") ],
[ 3, $text{'sync_gnot'}, &ui_groups_textbox("gnot") ],
[ 4, $text{'sync_ggid'}, &ui_textbox("ggid1", "", 6)." - ".
&ui_textbox("ggid2", "", 6) ],
]));
print "<tr> <td><b>$text{'sync_makehome'}</b></td>\n";
print "<td><input type=radio name=makehome value=1 checked> $text{'yes'}\n";
print "<input type=radio name=makehome value=0> $text{'no'}</td>\n";
print "</tr>\n";
# Test mode?
print &ui_table_row($text{'sync_test'},
&ui_yesno_radio("test", 0));
print "<tr> <td><b>$text{'sync_copy'}</b></td>\n";
print "<td><input type=radio name=copy_files value=1 checked> $text{'yes'}\n";
print "<input type=radio name=copy_files value=0> $text{'no'}</td>\n";
print "</tr>\n";
# Create home dir?
print &ui_table_row($text{'sync_makehome'},
&ui_yesno_radio("makehome", 1));
print "<tr> <td><b>$text{'sync_others'}</b></td>\n";
print "<td><input type=radio name=others value=1 checked> $text{'yes'}\n";
print "<input type=radio name=others value=0> $text{'no'}</td> </tr>\n";
# Copy home dir files?
print &ui_table_row($text{'sync_copy'},
&ui_yesno_radio("copy_files", 1));
print "</table><p></p><p></p>\n";
print "<input type=submit value='$text{'sync_ok'}'></form>\n";
# Create in other modules?
print &ui_table_row($text{'sync_others'},
&ui_yesno_radio("others", 1));
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'sync_ok'} ] ]);
&ui_print_footer("", $text{'index_return'});

View File

@@ -29,243 +29,182 @@ while(<SHELLS>) {
}
close(SHELLS);
print "<form action=create_user.cgi method=post>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'uedit_details'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print &ui_form_start("save_user.cgi", "post");
print &ui_table_start($text{'uedit_details'}, "width=100%", 2);
print "<tr> <td><b>$text{'user'}</b></td>\n";
print "<td><input name=user size=10></td>\n";
# Username
print &ui_table_row($text{'user'},
&ui_textbox("user", undef, 40));
# Find the first free UID above the base
print "<td><b>$text{'uid'}</b></td>\n";
$newuid = int($uconfig{'base_uid'});
while($used{$newuid}) {
$newuid++;
}
print "<td><input name=uid size=10 value='$newuid'></td> </tr>\n";
print &ui_table_row($text{'uid'},
&ui_textbox("uid", $newuid, 10));
# Real name and possibly other fields
if ($uconfig{'extra_real'}) {
print "<tr> <td><b>$text{'real'}</b></td>\n";
print "<td><input name=real size=20></td>\n";
print &ui_table_row($text{'real'},
&ui_textbox("real", undef, 40));
print "<td><b>$text{'office'}</b></td>\n";
print "<td><input name=office size=20 value=\"$real[1]\"></td> </tr>\n";
print &ui_table_row($text{'office'},
&ui_textbox("office", undef, 20));
print "<tr> <td><b>$text{'workph'}</b></td>\n";
print "<td><input name=workph size=20></td>\n";
print &ui_table_row($text{'workph'},
&ui_textbox("workph", undef, 20));
print "<td><b>$text{'homeph'}</b></td>\n";
print "<td><input name=homeph size=20></td> </tr>\n";
print &ui_table_row($text{'homeph'},
&ui_textbox("homeph", undef, 20));
print "<tr> <td><b>$text{'extra'}</b></td>\n";
print "<td><input name=extra size=20></td>\n";
print &ui_table_row($text{'extra'},
&ui_textbox("extra", undef, 20));
}
else {
print "<tr> <td><b>$text{'real'}</b></td>\n";
print "<td><input name=real size=20></td>\n";
print &ui_table_row($text{'real'},
&ui_textbox("real", undef, 40));
}
print "<td><b>$text{'home'}</b></td>\n";
print "<td>\n";
if ($uconfig{'home_base'}) {
printf "<input type=radio name=home_base value=1 checked> %s\n",
$text{'uedit_auto'};
printf "<input type=radio name=home_base value=0>\n";
printf "<input name=home size=25> %s\n",
&file_chooser_button("home", 1);
}
else {
print "<input name=home size=25>\n",
&file_chooser_button("home", 1);
}
print "</td> </tr>\n";
# Home directory
print &ui_table_row($text{'home'},
$uconfig{'home_base'} ?
&ui_radio("home_base", 1,
[ [ 1, $text{'uedit_auto'} ],
[ 0, &ui_filebox("home", "", 40) ] ]) :
&ui_filebox("home", "", 40));
print "<tr> <td valign=top><b>$text{'shell'}</b></td>\n";
print "<td valign=top><select name=shell>\n";
# Login shell
@shlist = &unique(@shlist);
foreach $s (@shlist) {
printf "<option value='%s'>%s</option>\n", $s,
$s eq "" ? "&lt;None&gt;" : $s;
}
print "<option value=*>$text{'uedit_other'}</option>\n";
print "</select></td>\n";
push(@shlist, [ "*", $text{'uedit_other'} ]);
print &ui_table_row($text{'shell'},
&ui_select("shell", undef, \@shlist)." ".
&ui_filebox("othersh", undef, 25));
&seed_random();
foreach (1 .. 15) {
$random_password .= $random_password_chars[
rand(scalar(@random_password_chars))];
}
print "<td valign=top rowspan=3><b>$text{'pass'}</b>",
"</td> <td rowspan=3 valign=top>\n";
printf "<input type=radio name=passmode value=0> %s<br>\n",
$uconfig{'empty_mode'} ? $text{'none1'} : $text{'none2'};
printf "<input type=radio name=passmode value=1 checked> %s<br>\n",
$text{'nologin'};
printf "<input type=radio name=passmode value=3> %s\n",
$text{'clear'};
printf "<input %s name=pass size=15 value='%s'><br>\n",
$uconfig{'passwd_stars'} ? "type=password" : "",
$uconfig{'random_password'} ? $random_password : "";
printf "<input type=radio name=passmode value=2> $text{'encrypted'}\n";
printf "<input name=encpass size=13>\n";
print "</td> </tr>\n";
# Password or locked account
$rp = $uconfig{'random_password'} ? &useradmin::generate_random_password() : "";
$pfield = $uconfig{'passwd_stars'} ? &ui_password("pass", $rp, 40)
: &ui_textbox("pass", $rp, 40);
print &ui_table_row($text{'pass'},
&ui_radio_table("passmode", 1,
[ [ 0, $uconfig{'empty_mode'} ? $text{'none1'} : $text{'none2'} ],
[ 1, $text{'nologin'} ],
[ 3, $text{'clear'}, $pfield ],
[ 2, &ui_textbox("encpass", undef, 40) ] ]));
print "<tr> <td valign=top>$text{'uedit_other'}</td>\n";
print "<td valign=top><input size=25 name=othersh>\n";
print &file_chooser_button("othersh", 0),"</td> </tr>\n";
print "<tr> <td colspan=2><br></td> </tr>\n";
print "</table></td></tr></table><p>\n";
print &ui_table_end();
$pft = &foreign_call("useradmin", "passfiles_type");
if ($pft == 1 || $pft == 6) {
# This is a BSD system.. a few extra password options are supported
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'uedit_passopts'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print "<tr> <td><b>$text{'change2'}</b></td>\n";
print "<td>";
&date_input("", "", "", 'change');
print " &nbsp; <input name=changeh size=3>";
print ":<input name=changemi size=3></td>\n";
print &ui_table_start($text{'uedit_passopts'}, undef, 2);
print "<td colspan=1><b>$text{'expire2'}</b></td>\n";
print "<td colspan=3>";
&date_input("", "", "", 'expire');
print " &nbsp; <input name=expireh size=3>";
print ":<input name=expiremi size=3></td> </tr>\n";
print &ui_table_row($text{'change2'},
&useradmin::date_input("", "", "", 'change')." ".
&ui_textbox("changeh", "", 3).":".
&ui_textbox("changemi", "", 3));
print "<tr> <td><b>$text{'class'}</b></td>\n";
print "<td><input name=class size=10></td>\n";
print "</tr>\n";
print "</table></td></tr></table><p>\n";
print &ui_table_row($text{'expire2'},
&useradmin::date_input("", "", "", 'expire')." ".
&ui_textbox("expireh", "", 3).":".
&ui_textbox("expiremi", "", 3));
print &ui_table_row($text{'class'},
&ui_textbox("class", "", 10));
print &ui_table_end();
}
elsif ($pft == 2) {
# System has a shadow password file as well.. which means it supports
# password expiry and so on
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'uedit_passopts'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print &ui_table_start($text{'uedit_passopts'}, undef, 2);
print "<td colspan=1><b>$text{'expire'}</b></td>\n";
print "<td colspan=3>";
&date_input($eday, $emon, $eyear, 'expire');
print "</td> </tr>\n";
print &ui_table_row($text{'expire'},
&useradmin::date_input($eday, $emon, $eyear, 'expire'));
print "<tr> <td><b>$text{'min'}</b></td>\n";
print "<td><input size=5 name=min></td>\n";
print &ui_table_row($text{'min'},
&ui_textbox("min", undef, 5));
print "<td><b>$text{'max'}</b></td>\n";
print "<td><input size=5 name=max></td></tr>\n";
print &ui_table_row($text{'max'},
&ui_textbox("max", undef, 5));
print "<tr> <td><b>$text{'warn'}</b></td>\n";
print "<td><input size=5 name=warn></td>\n";
print &ui_table_row($text{'warn'},
&ui_textbox("warn", undef, 5));
print "<td><b>$text{'inactive'}</b></td>\n";
print "<td><input size=5 name=inactive></td></tr>\n";
print &ui_table_row($text{'inactive'},
&ui_textbox("inactive", undef, 5));
print "</table></td></tr></table><p>\n";
print &ui_table_end();
}
elsif ($pft == 4) {
# This is an AIX system
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'uedit_passopts'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print &ui_table_start($text{'uedit_passopts'}, undef, 2);
print "<tr> <td><b>$text{'expire'}</b></td>\n";
print "<td>";
&date_input("", "", "", 'expire');
print " &nbsp; <input name=expireh size=3>";
print "<b>:</b><input name=expiremi size=3></td> </tr>\n";
print &ui_table_row($text{'expire'},
&useradmin::date_input("", "", "", 'expire')." ".
&ui_textbox("expireh", undef, 3).":".
&ui_textbox("expiremi", undef, 3));
print "<tr> <td><b>$text{'min_weeks'}</b></td>\n";
print "<td><input size=5 name=min></td>\n";
print &ui_table_row($text{'min_weeks'},
&ui_textbox("min", undef, 5));
print "<td><b>$text{'max_weeks'}</b></td>\n";
print "<td><input size=5 name=max></td></tr>\n";
print &ui_table_row($text{'max_weeks'},
&ui_textbox("max", undef, 5));
print "<tr> <td valign=top><b>$text{'warn'}</b></td>\n";
print "<td valign=top><input size=5 name=warn></td>\n";
print &ui_table_row($text{'warn'},
&ui_textbox("warn", undef, 5));
print "<td valign=top><b>$text{'flags'}</b></td> <td>\n";
printf "<input type=checkbox name=flags value=admin> %s<br>\n",
$text{'uedit_admin'};
printf "<input type=checkbox name=flags value=admchg> %s<br>\n",
$text{'uedit_admchg'};
printf "<input type=checkbox name=flags value=nocheck> %s\n",
$text{'uedit_nocheck'};
print "</td> </tr>\n";
print &ui_table_row($text{'flags'},
&ui_checkbox("flags", "admin", $text{'uedit_admin'})." ".
&ui_checkbox("flags", "admchg", $text{'uedit_admchg'})." ".
&ui_checkbox("flags", "nocheck", $text{'uedit_nocheck'}));
print "</table></td></tr></table><p>\n";
print &ui_table_end();
}
# Output group memberships
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'uedit_gmem'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print "<tr> <td valign=top><b>$text{'group'}</b></td> <td valign=top>\n";
printf "<input name=gid size=15 value=\"%s\">\n",
$uconfig{'default_group'};
print "<input type=button onClick='ifield = document.forms[0].gid; chooser = window.open(\"/useradmin/my_group_chooser.cgi?multi=0&group=\"+escape(ifield.value), \"chooser\", \"toolbar=no,menubar=no,scrollbars=yes,width=300,height=200\"); chooser.ifield = ifield' value=\"...\"></td>\n";
print &ui_table_start($text{'uedit_gmem'}, "width=100%", 2);
print "<td valign=top><b>$text{'uedit_2nd'}</b></td>\n";
print "<td><select name=sgid multiple size=5>\n";
# Primary group
print &ui_table_row($text{'group'},
&ui_group_textbox("gid", $uconfig{'default_group'}));
# Secondary groups
@glist = sort { $a->{'group'} cmp $b->{'group'} } @glist
if ($uconfig{'sort_mode'});
foreach $g (@glist) {
@mems = split(/,/ , $g->{'members'});
print "<option value=\"$g->{'gid'}\">$g->{'group'} ($g->{'gid'})</option>\n";
}
print "</select></td> </tr>\n";
print "</table></td></tr></table><p>\n";
print &ui_table_row($text{'uedit_2nd'},
&ui_select("sgid", undef,
[ map { [ $_->{'gid'}, $_->{'group'} ] } @glist ],
5, 1));
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'uedit_oncreate'}</b></td> </tr>\n";
print "<tr $cb> <td><table>\n";
print &ui_table_end();
print "<tr> <td><b>$text{'uedit_makehome'}</b></td>\n";
print "<td><input type=radio name=makehome value=1 checked> $text{'yes'}</td>\n";
print "<td><input type=radio name=makehome value=0> $text{'no'}</td> </tr>\n";
print &ui_table_start($text{'uedit_oncreate'}, "width=100%", 2);
# Create home dir?
print &ui_table_row($text{'uedit_makehome'},
&ui_yesno_radio("makehome", 1));
# Copy home dir files?
if ($uconfig{'user_files'} =~ /\S/) {
print "<tr> <td><b>$text{'uedit_copy'}<b></td>\n";
print "<td><input type=radio name=copy_files ",
"value=1 checked> $text{'yes'}</td>\n";
print "<td><input type=radio name=copy_files ",
"value=0> $text{'no'}</td> </tr>\n";
print &ui_table_row($text{'uedit_copy'},
&ui_yesno_radio("copy_files", 1));
}
# Show make home on all servers option
print "<tr> <td><b>$text{'uedit_servs'}</b></td>\n";
print "<td><input type=radio name=servs value=1> $text{'uedit_mall'}</td>\n";
print "<td><input type=radio name=servs value=0 checked> $text{'uedit_mthis'}</td> </tr>\n";
# Create home dir on all servers?
print &ui_table_row($text{'uedit_servs'},
&ui_radio("servs", 0, [ [ 1, $text{'uedit_mall'} ],
[ 0, $text{'uedit_mthis'} ] ]));
# Show other modules option
print "<tr> <td><b>$text{'uedit_others'}</b></td>\n";
print "<td><input type=radio name=others value=1 checked> $text{'yes'}</td>\n";
print "<td><input type=radio name=others value=0> $text{'no'}</td> </tr>\n";
print &ui_table_row($text{'uedit_others'},
&ui_yesno_radio("others", 1));
# Show selector for hosts to create on
&create_on_input($text{'uedit_servers'});
print &ui_table_row($text{'uedit_servers'},
&create_on_input());
print "</table></td> </tr></table><p></p><p></p>\n";
print "<input type=submit value=\"$text{'create'}\"></form>\n";
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'create'} ] ]);
&ui_print_footer("", $text{'index_return'});
# date_input(day, month, year, prefix)
sub date_input
{
print "<input name=$_[3]d size=3 value='$_[0]'>";
print "/<select name=$_[3]m>\n";
local $m;
foreach $m (1..12) {
printf "<option value=%d %s>%s</option>\n",
$m, $_[1] eq $m ? 'selected' : '', $text{"smonth_$m"};
}
print "</select>";
print "/<input name=$_[3]y size=5 value='$_[2]'>";
print &date_chooser_button("$_[3]d", "$_[3]m", "$_[3]y");
}

View File

@@ -195,7 +195,7 @@ if ($? || $out =~ /Could not perform SendTargets discovery/i) {
}
my @rv;
foreach my $l (@lines) {
if ($l =~ /^(\S+):(\d+),(\d+)\s+(\S+):(\S+)/) {
if ($l =~ /^(\S+):(\d+),([0-9\-]+)\s+(\S+):(\S+)/) {
push(@rv, { 'ip' => $1,
'port' => $2,
'name' => $4,

View File

@@ -16,7 +16,6 @@ category_net=Netwerk
category_syslet=Syslets
category_cluster=Groepe
category_info=Inligting
category_=Ander
header_webmin=Webmin Indeks
header_module=Module Indeks
header_help=Hulp..

View File

@@ -3,6 +3,7 @@ main_readonly=(Leesalleen modus)
main_unused=Ongebruikte modules
main_refreshmods=Verfris modules
link_essl=Die Net::SSLeay Perl-module wat nodig is om HTTPS-verbindings te maak, is nie op u stelsel geïnstalleer nie.
category_=Gereedskap
longcategory_servers=Modules vir konfigurasie-web-, e-pos-, FTP- en ander bedieners
longcategory_hardware=Modules vir konfigurasie van drukker, skyf en ander hardeware
longcategory_system=Modules vir gebruikers, lêerstelsels, Cron-take en ander stelselinstellings
@@ -10,7 +11,7 @@ longcategory_webmin=Modules vir die opstel van Webmin self
longcategory_net=Modules vir die opstel van netwerk- en netwerkdienste
longcategory_cluster=Modules wat verskeie bedieners vanaf 'n enkele koppelvlak kan bestuur
longcategory_info=Modules wat inligting oor u stelsel vertoon
longcategory_=Modules wat nie in 'n ander kategorie val nie
longcategory_=Modules wat ander diverse take verrig
error_previous=vorige bladsy
error_stack=Bel stapelspoor
error_file=lêer

View File

@@ -21,7 +21,6 @@ category_net=الشبكات
category_syslet=الملاحقات
category_cluster=العنقودية
category_info=معلومات
category_=أخرى
longcategory_servers=وحدات لتكوين الويب والبريد الإلكتروني وبروتوكول نقل الملفات والخوادم الأخرى
longcategory_hardware=وحدات الطابعة والقرص وتكوين الأجهزة الأخرى
longcategory_system=الوحدات النمطية للمستخدمين ، أنظمة الملفات ، وظائف Cron وغيرها من إعدادات النظام
@@ -29,7 +28,6 @@ longcategory_webmin=الوحدات النمطية لتكوين Webmin نفسها
longcategory_net=وحدات لتكوين الشبكات وخدمات الشبكة
longcategory_cluster=الوحدات النمطية التي يمكنها إدارة خوادم متعددة من واجهة واحدة
longcategory_info=الوحدات النمطية التي تعرض معلومات حول النظام الخاص بك
longcategory_=الوحدات التي لا تقع في أي فئة أخرى
header_webmin=مؤشر Webmin
header_module=مؤشر الوحدة
header_help=مساعدة ..

View File

@@ -1,3 +1,5 @@
category_=أدوات
longcategory_=الوحدات التي تؤدي مهام متنوعة أخرى
config_emodule=وحدة غير موجودة
nice_size_PB=PB
nice_size_PiB=PIB

View File

@@ -21,7 +21,7 @@ category_net=Стварэнне сетак
category_syslet=Сыслец
category_cluster=Кластар
category_info=Інфармацыя
category_=Іншыя
category_=Інструменты
longcategory_servers=Модулі для налады сеткі, электроннай пошты, FTP і іншых сервераў
longcategory_hardware=Модулі для налады друкаркі, дыска і іншага абсталявання
longcategory_system=Модулі для карыстальнікаў, файлавых сістэм, задач Cron і іншых параметраў сістэмы
@@ -29,7 +29,7 @@ longcategory_webmin=Модулі для налады самога Webmin
longcategory_net=Модулі для налады сеткавых і сеткавых паслуг
longcategory_cluster=Модулі, якія могуць кіраваць некалькімі серверамі з аднаго інтэрфейсу
longcategory_info=Модулі, якія адлюстроўваюць інфармацыю пра вашу сістэму
longcategory_=Модулі, якія не трапляюць ні ў якую іншую катэгорыю
longcategory_=Модулі, якія выконваюць іншыя розныя задачы
header_webmin=Індэкс Webmin
header_module=Індэкс модуля
header_help=Даведка ..

View File

@@ -17,7 +17,6 @@ category_net=Мрежа
category_syslet=Сислети
category_cluster=Клъстър
category_info=Информация
category_=Други
longcategory_servers=Модули за конфигуриране на WEB, MAIL, FTP и други сървъри
longcategory_hardware=Модули за принтери, дискове и други хардуерни конфигурации
longcategory_system=Модули за юзери, файлови системи, Cron jobs и други системни настройки
@@ -25,7 +24,6 @@ longcategory_webmin=Модули за конфигуриране на Webmin
longcategory_net=Модули за конфигуриране на мрежа и мрежови услуги
longcategory_cluster=Модули за управление на група сървъри от един интерфес
longcategory_info=Модули показващи информация за системата
longcategory_=Модули неспадащи към никоя категория
header_webmin=Webmin Индекс
header_module=Модулен Индекс
header_help=Помощ..

View File

@@ -2,6 +2,8 @@ main_title3=Webmin $1 ($2)
main_readonly=(Режим само за четене)
main_unused=Неизползвани модули
main_refreshmods=Обновяване на модули
category_=Инструменти
longcategory_=Модули, които изпълняват други различни задачи
error_previous=предишна страница
error_stack=Проследяване на стека на обажданията
error_file=досие

View File

@@ -21,7 +21,6 @@ category_net=Xarxa
category_syslet=Syslets
category_cluster=Cluster
category_info=Informació
category_=Altres
longcategory_servers=Mòduls per configurar web, correu electrònic, FTP i altres servidors
longcategory_hardware=Mòduls per impressores, discs i altres configuracions de maquinari
longcategory_system=Mòduls per usuaris, sistemes de fitxers, treballs cron i altres valors del sistema
@@ -29,7 +28,6 @@ longcategory_webmin=Mòduls per configurar el propi Webmin
longcategory_net=Mòduls per configurar la xarxa i els serveis de xarxa
longcategory_cluster=Mòduls que poden gestionar servidors múltiples des d'una sola interfície
longcategory_info=Mòduls que mostren informació del sistema
longcategory_=Mòduls que no estan en cap altra categoria
header_webmin=Índex de Webmin
header_module=Índex de Mòduls
header_help=Ajuda...

View File

@@ -1,3 +1,5 @@
category_=Eines
longcategory_=Mòduls que realitzen altres tasques diverses
config_emodule=El mòdul no existeix
progress_size2=Baixant $1 ($2) ..
progress_datan=S'ha rebut $1 ($2 %)

View File

@@ -21,7 +21,6 @@ category_net=Sítě
category_syslet=Systémové hlášky
category_cluster=Cluster
category_info=Informace
category_=Ostatní
longcategory_servers=Moduly pro konfiguraci webu, emailu, FTP a podobných serverů
longcategory_hardware=Moduly pro tiskárnu, disk a konfiguraci podobných zařízení
longcategory_system=Moduly pro uživatele, souborové systémy, crony a podobná nastavení systému
@@ -29,7 +28,6 @@ longcategory_webmin=Moduly pro konfiguraci samotného Webminu
longcategory_net=Moduly, které konfigurují sítě a síťová zařízení
longcategory_cluster=Moduly, které umožňují správu více serverů pod jedním rozhraním
longcategory_info=Moduly, které zobrazují informaci o vašem systému
longcategory_=Moduly, které nenáleží do žádné kategorie
header_webmin=Úvodní stránka Webminu
header_module=Úvodní stránka Modulu
header_help=Nápověda..

View File

@@ -1,3 +1,5 @@
category_=Nástroje
longcategory_=Moduly, které plní další různé úkoly
fail=Selhalo
config_emodule=Modul neexistuje
log_email_subject=Akce Webmin v $1

View File

@@ -21,7 +21,6 @@ category_net=Netværk
category_syslet=Syslets
category_cluster=Cluster
category_info=Information
category_=Andre
longcategory_servers=Moduler for konfiguration af web, email, FTP og andre services.
longcategory_hardware=Moduler for printer, disk og andet hardware konfiguration
longcategory_system=Moduler for brugere, filsystemer, Cron jobs og andre system instillinger.
@@ -29,7 +28,6 @@ longcategory_webmin=Moduler for konfiguration af Webmin selv.
longcategory_net=Modul for konfiguration af netværk og netværks services.
longcategory_cluster=Moduler der kan styre flere servere fra et enkelt interface.
longcategory_info=Moduler der viser information omkring dit system.
longcategory_=Moduler der ikke falder ind i de andre kategorier.
header_webmin=Webmin Indeks
header_module=Module Indeks
header_help=Hjælp..

View File

@@ -1,3 +1,5 @@
category_=Værktøjer
longcategory_=Moduler, der udfører andre diverse opgaver
config_emodule=Modulet findes ikke
nice_size_PB=PB
nice_size_PiB=PIB

View File

@@ -21,7 +21,6 @@ category_net=Netzwerk
category_syslet=Syslets
category_cluster=Cluster
category_info=Information
category_=Sonstiges
longcategory_servers=Module für Web-, E-Mail-, FTP- und andere Server
longcategory_hardware=Module für Drucker-, Festplatten- und andere Hardware-Konfigurationen
longcategory_system=Module für Benutzer, Dateisysteme, Cron-Aufträge und andere Systemeinstellungen
@@ -29,7 +28,6 @@ longcategory_webmin=Module, um Webmin selbst zu konfigurieren.
longcategory_net=Module, die Netzwerk und Netzwerk-Dienste konfigurieren
longcategory_cluster=Module, die verschiedene Server von einem Interface aus steuern
longcategory_info=Module, die Informationen über Ihr System darstellen
longcategory_=Module, die nicht in andere Kategorien einzuordnen sind
header_webmin=Webmin-Index
header_module=Modulindex
header_help=Hilfe..

View File

@@ -1 +1,3 @@
category_=Werkzeuge
longcategory_=Module, die andere verschiedene Aufgaben ausführen
langauto_include=Fügen Sie maschinelle Übersetzungen hinzu

View File

@@ -18,7 +18,6 @@ category_net=Δικτύωση
category_syslet=Syslets
category_cluster=Συστοιχία
category_info=Πληροφορίες
category_=¶λλα
longcategory_servers=Αρθρώματα ρυθμίσεων web, email, FTP και άλλων εξυπηρετητών
longcategory_hardware=Αρθρώματα για εκτυπωτές, δίσκους και άλλες ρυθμίσεις υλικού
longcategory_system=Αρθρώματα για χρήστες, συστήματα αρχείων, Προγραμματιζόμενες εργασίες και άλλες ρυθμίσεις συστήματος
@@ -26,7 +25,6 @@ longcategory_webmin=Αρθρώματα για τη ρύθμιση του ίδι
longcategory_net=Αρθρώματα για δικτυακές ρυθμίσεις και υπηρεσίες
longcategory_cluster=Αρθρώματα που μπορούν να χειριστούν πολλαπλούς εξυπηρετητές μέσα από μία μόνο διεπαφή
longcategory_info=Αρθρώματα που εμφανίζουν πληροφορίες σχετικά με το σύστημά σας
longcategory_=Αρθρώματα που δεν εντάσσονται σε οποιαδήποτε άλλη κατηγορία
header_webmin=Ευρετήριο Webmin
header_module=Ευρετήριο Αρθρωμάτων
header_help=Βοήθεια..

View File

@@ -1,6 +1,8 @@
main_title3=Webmin $1 ($2)
main_unused=Μονάδες που δεν χρησιμοποιούνται
main_refreshmods=Ανανέωση μονάδων
category_=Εργαλεία
longcategory_=Ενότητες που εκτελούν άλλες διάφορες εργασίες
fail=Απέτυχε
euserdbacl=Δεν ήταν δυνατή η εξαγωγή του χρήστη ACL : $1
euserdbacl2=Αποτυχία ενημέρωσης του χρήστη ACL : $1

View File

@@ -23,7 +23,7 @@ category_net=Networking
category_syslet=Syslets
category_cluster=Cluster
category_info=Information
category_=Others
category_=Tools
longcategory_servers=Modules for configuration web, email, FTP and other servers
longcategory_hardware=Modules for printer, disk and other hardware configuration
@@ -32,7 +32,7 @@ longcategory_webmin=Modules for configuring Webmin itself
longcategory_net=Modules for configuring networking and network services
longcategory_cluster=Modules that can manage multiple servers from a single interface
longcategory_info=Modules that display information about your system
longcategory_=Modules that do not fall into any other category
longcategory_=Modules that perform other miscellaneous tasks
header_webmin=Webmin Index
header_module=Module Index

View File

@@ -21,7 +21,6 @@ category_net=Red
category_syslet=Syslets
category_cluster=Cluster
category_info=Información
category_=Otros
longcategory_servers=Módulos para configuración web, correo electrónico, FTP y otros servidores
longcategory_hardware=Módulos para impresora, disco y otras configuraciones de hardware
longcategory_system=Módulos para usuarios, sistemas de archivos, trabajos del cron y otras configuraciones del sistema
@@ -29,7 +28,6 @@ longcategory_webmin=Módulos para la configuración de Webmin
longcategory_net=Módulos para la configuración de la red y de servicios de red
longcategory_cluster=Módulos que pueden administrar servidores múltiples desde una única interfaz
longcategory_info=Módulos que despliegan información sobre el sistema
longcategory_=Módulos que no están en ninguna otra categoría
header_webmin=Índice de Webmin
header_module=Indice de Módulo
header_help=Ayuda..

View File

@@ -1,2 +1,4 @@
category_=Herramientas
longcategory_=Módulos que realizan otras tareas diversas
session_twofailed=La autenticación de dos factores falló : $1
langauto_include=Incluir traducciones automáticas

View File

@@ -19,7 +19,6 @@ category_net=Sareratzea
category_syslet=Syslets
category_cluster=Cluster
category_info=Informazioa
category_=Besteak
longcategory_servers=Posta, FTP, web-a eta beste zerbitzariak konfiguratzeko moduluak
longcategory_hardware=Imprimagailu, diska eta beste hardwarea konfiguratzeko moduluak
longcategory_system=Erabiltzaileak, fitxategi sistema, Cron lanak eta beste sistemaren ezarpenen moduluak
@@ -27,7 +26,6 @@ longcategory_webmin=Webmin bere baitan konfiguratzeko moduluak
longcategory_net=Sareratzea eta sareko zerbitzuak konfiguratzeko moduluak
longcategory_cluster=Zerbitzari bat baino gehiago interfaze bakarretik kudeatzeko moduluak
longcategory_info=Zure sistemaren gaineko informazioa erakusten duten moduluak
longcategory_=Beste inongo kategorietan aurkitzen ez diren moduluak
header_webmin=Webmin Aurkibidea
header_module=Modulu Aurkibidea
header_help=Laguntza..

View File

@@ -1,5 +1,7 @@
main_title3=Webmin $1 ($2)
main_refreshmods=Eguneratu moduluak
category_=Tresnak
longcategory_=Askotariko zereginak betetzen dituzten moduluak
fail=Huts
euserdbacl=Huts egin du ACL erabiltzailea eskuratzean : $1
euserdbacl2=Huts egin du ACL erabiltzailea eguneratzean : $1

View File

@@ -17,7 +17,6 @@ category_net=استفاده از شبکه
category_syslet=Syslets
category_cluster=خوشه
category_info=اطلاعات
category_=سايرين
longcategory_servers=پيمانه‌هاي مورد نياز براي پيکربندي وب، نامه الکترونيکي، قاپ کردن و ساير کارسازها
longcategory_hardware=پيمانه‌هاي مورد نياز براي پيکربندي چاپگر، ديسک و ساير سخت افزارها
longcategory_system=پيمانه‌هاي مورد نياز براي تنظيمات کاربران، سيستمهاي پرونده، کارهاي کرون و ساير تنظيمات سيستم.
@@ -25,7 +24,6 @@ longcategory_webmin=پيمانه‌هاي مورد نياز براي پيکرب
longcategory_net=پيمانه‌هاي مورد نياز براي پيکربندي استفاده از شبکه و خدمات شبکه
longcategory_cluster=پيمانه‌هايي که توانايي مديريت چندين کارساز را از طريق يک رابط گرافيکي دارا مي‌باشند.
longcategory_info=پيمانه‌هايي که اطلاعات مربوط به سيستم شما را نمايش مي‌دهند.
longcategory_=پيمانه‌هايي که در هيچ دسته ديگري جاي نمي گيرند.
header_webmin=نمايه وب‌مين
header_module=نمايه پيمانه
header_help=کمک…

View File

@@ -2,6 +2,8 @@ main_title3=Webmin $1 ($2)
main_readonly=(حالت فقط خواندنی)
main_unused=ماژول های بدون استفاده
main_refreshmods=تازه کردن ماژول ها
category_=ابزارها
longcategory_=ماژول هایی که کارهای متفرقه دیگر را انجام می دهند
error_previous=صفحه قبلی
error_stack=با Stack Trace تماس بگیرید
error_file=فایل

View File

@@ -18,7 +18,6 @@ category_net=Verkkoliikenne
category_syslet=Sysletit
category_cluster=Klusteri
category_info=Tiedot
category_=Muut
longcategory_servers=Moduulit webin, sähköpostin, FTP ja muiden palvelimien konfigurointiin
longcategory_hardware=Moduulit printtereiden, kiintolevyjen ja muiden laitteistojen konfigurointiin
longcategory_system=Moduulit käyttäjien, tiedostojärjestelmien, ajastettujen komentojen ja muiden konfigurointiin
@@ -26,7 +25,6 @@ longcategory_webmin=Moduulit itse Webminin konfigurointiin
longcategory_net=Moduulit verkkoliikenteen konfigurointiin
longcategory_cluster=Moduulit, joilla voidaan hallita samanaikaisesti useita palvelimia
longcategory_info=Moduulit, jotka näyttävät tietoja järjestelmästäsi
longcategory_=Moduulit, jotka eivät sovi muihin kategorioihin
header_webmin=Webmin aloitussivu
header_module=Moduuli aloitussivu
header_help=Apua..

View File

@@ -1,6 +1,8 @@
main_title3=Webmin $1 ($2)
main_unused=Käyttämättömät moduulit
main_refreshmods=Päivitä moduulit
category_=Työkalut
longcategory_=Moduulit, jotka suorittavat muita sekalaisia tehtäviä
fail=epäonnistui
euserdbacl=Käyttäjän ACL: n nouto epäonnistui : $1
euserdbacl2=Käyttäjän ACL: n päivitys epäonnistui : $1

View File

@@ -18,7 +18,6 @@ category_net=Réseau
category_syslet=Syslets
category_cluster=Cluster
category_info=Information
category_=Autres
longcategory_servers=Modules pour les configurations web, email, FTP et autres serveurs
longcategory_hardware=Modules pour les imprimantes, disques et autres configurations de matériel
longcategory_system=Modules pour les utilisateurs, fichiers système, tâches Cron et autres paramètres du système
@@ -26,7 +25,6 @@ longcategory_webmin=Modules pour configurer Webmin lui même
longcategory_net=Modules pour la configuration de gestion du réseau et des services réseau
longcategory_cluster=Modules permettant de contrôler de multiple serveurs à partir d'une seule interface
longcategory_info=Modules qui affichent des informations sur votre système
longcategory_=Modules qui ne vont pas dans les autres catégories
header_webmin=Index de Webmin
header_module=Index du module
header_help=Aide...

View File

@@ -1,6 +1,8 @@
main_title3=Webmin $1 ($2)
main_unused=Modules inutilisés
main_refreshmods=Rafraîchir les modules
category_=Outils
longcategory_=Modules qui effectuent d'autres tâches diverses
error_stack=Trace de pile d'appel
error_file=Fichier
error_line=Ligne

View File

@@ -10,7 +10,6 @@ category_hardware=חומרה
category_system=מערכת
category_webmin=Webmin
category_net=רשת
category_=שונות
header_webmin=Webmin Index
header_module=אינדקס מודולים
header_help=עזרה..

View File

@@ -9,6 +9,7 @@ link_essl=מודול Net::SSLeay Perl הדרוש ליצירת חיבורי HTTPS
category_syslet=Syslets
category_cluster=אשכול
category_info=מידע
category_=כלים
longcategory_servers=מודולים לתצורת רשת, דוא"ל, FTP ושרתים אחרים
longcategory_hardware=מודולים לתצורת מדפסת, דיסק ותצורת חומרה אחרת
longcategory_system=מודולים למשתמשים, מערכות קבצים, עבודות Cron והגדרות מערכת אחרות
@@ -16,7 +17,7 @@ longcategory_webmin=מודולים לקביעת התצורה של Webmin עצמ
longcategory_net=מודולים להגדרת תצורה של רשתות ושירותי רשת
longcategory_cluster=מודולים שיכולים לנהל מספר שרתים מממשק יחיד
longcategory_info=מודולים המציגים מידע על המערכת שלך
longcategory_=מודולים שאינם נופלים בשום קטגוריה אחרת
longcategory_=מודולים המבצעים משימות שונות אחרות
error_previous=עמוד קודם
error_stack=התקשר לעקוב אחר סטאק
error_file=קובץ

View File

@@ -21,7 +21,7 @@ category_net=Umrežavanje
category_syslet=Syslets
category_cluster=Klastera
category_info=Informacija
category_=Drugi
category_=Alati
longcategory_servers=Moduli za konfiguracijski web, e-poštu, FTP i druge poslužitelje
longcategory_hardware=Moduli za konfiguraciju pisača, diska i drugog hardvera
longcategory_system=Moduli za korisnike, datotečne sustave, Cron zadatke i ostale postavke sustava
@@ -29,7 +29,7 @@ longcategory_webmin=Moduli za konfiguriranje samog Webmin-a
longcategory_net=Moduli za konfiguriranje mrežnih i mrežnih usluga
longcategory_cluster=Moduli koji mogu upravljati s više poslužitelja s jednog sučelja
longcategory_info=Moduli koji prikazuju informacije o vašem sustavu
longcategory_=Moduli koji ne spadaju u nijednu drugu kategoriju
longcategory_=Moduli koji izvode druge razne zadatke
header_webmin=Webmin indeks
header_module=Indeks modula
header_help=Pomozite ..
@@ -335,14 +335,14 @@ log_email_script=Webmin skripta: $1
log_email_session=ID sesije: $1
log_email_remote=Adresa klijenta: $1
nice_size_PB=PB
nice_size_PiB=PIB
nice_size_PiB=PiB
nice_size_TB=TB
nice_size_TiB=TIB
nice_size_GB=HR
nice_size_GiB=Klin s kukom
nice_size_TiB=TiB
nice_size_GB=GB
nice_size_GiB=GiB
nice_size_MB=MB
nice_size_MiB=MiB
nice_size_kB=kB
nice_size_kiB=KIB
nice_size_kiB=KiB
nice_size_b=bajtova
langauto_include=Uključite strojne prijevode

View File

@@ -21,7 +21,6 @@ category_net=Hálózat
category_syslet=Sysletek
category_cluster=Cluster
category_info=Információ
category_=Egyebek
longcategory_servers=A web, email, FTP és egyéb szerveralkalmazások konfigurálásához használatos modulok
longcategory_hardware=A nyomtató, disk és egyéb hardverelem konfigurálásához használatos modulok
longcategory_system=A felhasználók, filerendszerek, időzített (cron) munkák és egyéb rendszerelemek konfigurálásához használatos modulok
@@ -29,7 +28,6 @@ longcategory_webmin=Magának a Webmin konfigurálásához használatos modulok
longcategory_net=A hálózat és hálózati alkalmazások konfigurálásához használatos modulok
longcategory_cluster=Egy felületről több szerver kezelésére használatos modulok
longcategory_info=A rendszer adatait megjelenítő modulok
longcategory_=Minden egyéb modul
header_webmin=Webmin főoldal
header_module=Modul főoldal
header_help=Súgó...

View File

@@ -1,3 +1,5 @@
category_=Eszközök
longcategory_=Egyéb különféle feladatokat ellátó modulok
error_stack=Hívja a Stack Trace-t
error_line=Vonal
error_stackline=A $1 fájlban a $2 sorban hívja a $3

View File

@@ -18,7 +18,6 @@ category_net=Rete
category_syslet=Syslet
category_cluster=Cluster
category_info=Informazioni
category_=Altri
longcategory_servers=Moduli per la configurazione web, email, FTP ed altri server
longcategory_hardware=Moduli per configurazioen stampanti, dischi ed altro hardware
longcategory_system=Moduli per impostazioni utente, filesystem, cron jobs ed altre impostazioni del sistema
@@ -26,7 +25,6 @@ longcategory_webmin=Moduli per la configurazione di Webmin
longcategory_net=Moduli per la configurazione della rete e dei servizi di rete
longcategory_cluster=Moduli per gestire server multipli da una singola interfaccia
longcategory_info=Moduli per visualizzare informazioni sul sistema
longcategory_=Moduli che non rientrano nelle altre categorie
header_webmin=Indice Webmin
header_module=Indice modulo
header_help=Aiuto

View File

@@ -1,6 +1,8 @@
main_title3=Webmin $1 ($2)
main_unused=Moduli non utilizzati
main_refreshmods=Aggiorna i moduli
category_=Utensili
longcategory_=Moduli che svolgono altre attività varie
fail=mancato
euserdbacl=Impossibile recuperare ACL utente : $1
euserdbacl2=Aggiornamento ACL utente non riuscito : $1

View File

@@ -21,7 +21,6 @@ category_net= ネットワーキング
category_syslet= シセレット
category_cluster= クラスタ
category_info= 情報
category_= その他
longcategory_servers= Web、電子メール、FTP、その他のサーバの設定用のモジュール
longcategory_hardware= プリンタ、ディスク、その他のハードウェア構成用のモジュール
longcategory_system= ユーザー、ファイルシステム、Cronジョブ、その他のシステム設定用のモジュール
@@ -29,7 +28,6 @@ longcategory_webmin= Webmin自身を設定するためのモジュール
longcategory_net= ネットワークとネットワークサービスを設定するためのモジュール
longcategory_cluster= 1つのインターフェースから複数のサーバーを管理できるモジュール
longcategory_info= システムに関する情報を表示するモジュール
longcategory_= 他のカテゴリに属さないモジュール
header_webmin=Webmin インデックス
header_module=Module インデックス
header_help=ヘルプ..

2
lang/ja.auto Normal file
View File

@@ -0,0 +1,2 @@
category_=ツール
longcategory_=その他のその他のタスクを実行するモジュール

View File

@@ -20,7 +20,6 @@ category_net=네트워킹
category_syslet=Syslets
category_cluster=클러스터
category_info=정보
category_=그 외
longcategory_servers=웹, 이메일, FTP 및 다른 서버들의 설정을 위한 모듈
longcategory_hardware=프린터, 디스크등의 하드웨어 설정을 위한 모듈
longcategory_system=유저, 파일 시스템, cron 잡 등 시스템 세팅을 위한 모듈
@@ -28,7 +27,6 @@ longcategory_webmin=Webmin 자체 설정을 위한 모듈
longcategory_net=네트워킹과 네트워크 서비스 설정을 위한 모듈
longcategory_cluster=하나의 인터페이스로 부터 여러 서버들을 관리하기 위한 모듈
longcategory_info=시스템에 대한 정보를 출력하는 모듈
longcategory_=다른 카테고리 안에 포함되지 않는 모듈
header_webmin=Webmin 인덱스
header_module=모듈 인덱스
header_help=도움말..

View File

@@ -1,4 +1,6 @@
main_title3=Webmin $1 ($2)
category_=도구
longcategory_=기타 기타 작업을 수행하는 모듈
fail=실패한
euserdbacl=사용자 ACL을 가져 오지 못했습니다 : $1
euserdbacl2=사용자 ACL을 업데이트하지 못했습니다 : $1

View File

@@ -16,7 +16,6 @@ category_net=Tinklas
category_syslet=Syslets
category_cluster=Klasteris
category_info=Info
category_=Kita
header_webmin=Webmin indeksas
header_module=Modulio indeksas
header_help=Pagalba..

View File

@@ -3,6 +3,7 @@ main_readonly=(Tik skaitymo režimas)
main_unused=Nenaudojami moduliai
main_refreshmods=Atnaujinkite modulius
link_essl=„Net::SSLeay Perl“ modulis, reikalingas HTTPS ryšiams užmegzti, jūsų sistemoje neįdiegtas.
category_=Įrankiai
longcategory_servers=Tinklo, el. Pašto, FTP ir kitų serverių konfigūravimo moduliai
longcategory_hardware=Spausdintuvo, disko ir kitos aparatinės įrangos konfigūravimo moduliai
longcategory_system=Moduliai vartotojams, failų sistemos, „Cron“ darbai ir kiti sistemos parametrai
@@ -10,7 +11,7 @@ longcategory_webmin=Paties „Webmin“ konfigūravimo moduliai
longcategory_net=Tinklo ir tinklo paslaugų konfigūravimo moduliai
longcategory_cluster=Moduliai, galintys valdyti kelis serverius iš vienos sąsajos
longcategory_info=Moduliai, rodantys informaciją apie jūsų sistemą
longcategory_=Moduliai, kurie nepatenka į jokią kitą kategoriją
longcategory_=Moduliai, atliekantys kitas įvairias užduotis
error_previous=Ankstesnis puslapis
error_stack=Skambinkite „Stack Trace“
error_file=Byla

View File

@@ -21,7 +21,7 @@ category_net=Tīklošana
category_syslet=Sinteles
category_cluster=Klastera
category_info=Informācija
category_=Citi
category_=Rīki
longcategory_servers=Tīkla, e-pasta, FTP un citu serveru konfigurācijas moduļi
longcategory_hardware=Moduļi printera, diska un citas aparatūras konfigurēšanai
longcategory_system=Moduļi lietotājiem, failu sistēmas, Cron darbi un citi sistēmas iestatījumi
@@ -29,7 +29,7 @@ longcategory_webmin=Paši Webmin konfigurēšanas moduļi
longcategory_net=Tīkla un tīkla pakalpojumu konfigurēšanas moduļi
longcategory_cluster=Moduļi, kas var pārvaldīt vairākus serverus no vienas saskarnes
longcategory_info=Moduļi, kas parāda informāciju par jūsu sistēmu
longcategory_=Moduļi, kas neietilpst nevienā citā kategorijā
longcategory_=Moduļi, kas veic citus dažādus uzdevumus
header_webmin=Webmin indekss
header_module=Moduļu indekss
header_help=Palīdzība ..

View File

@@ -21,7 +21,6 @@ category_net=Rangkaian
category_syslet=Syslets
category_cluster=Kluster
category_info=Maklumat
category_=Lain-lain
longcategory_servers=Modul-modul untuk mengkonfigurasikan web, email, FTP dan pelayan lain
longcategory_hardware=Modul-modul untuk pencetak, disk dan penetapan perkakasan lain
longcategory_system=Modul-modul untuk pengguna, fail sistem, Tugas Cron dan lain-lain tetapan.
@@ -29,7 +28,6 @@ longcategory_webmin=Modul-modul untuk mengkonfigurasi Webmin sendiri
longcategory_net=Modul-modul untuk mengkkonfigurasikan rangkaian serta servis rangkaian
longcategory_cluster=Modul-modul yang dapat manguruskan beberapa pelayan daripada antara muka tunggal
longcategory_info=Modul-modul yang memaparkan maklumat perihal sistem anda
longcategory_=Modul-modul yang tidak terlibat dengan mana-mana kategori yang lain
header_webmin=Indeks Webmin
header_module=Indeks Modul
header_help=Bantuan..

View File

@@ -1,3 +1,5 @@
category_=Alat
longcategory_=Modul yang menjalankan tugas lain-lain
fail=Gagal
config_emodule=Modul tidak wujud
referer_fix3u=Pastikan pelayar anda dikonfigurasikan untuk menghantar maklumat rujukan supaya ia dapat disahkan oleh Webmin.

View File

@@ -21,7 +21,7 @@ category_net=Netwerking
category_syslet=Syslets
category_cluster=Cluster
category_info=Informazzjoni
category_=Oħrajn
category_=Għodda
longcategory_servers=Moduli għall-konfigurazzjoni tal-web, email, FTP u servers oħra
longcategory_hardware=Moduli għall-istampatur, diska u konfigurazzjoni oħra tal-ħardwer
longcategory_system=Moduli għall-utenti, sistemi ta 'fajls, impjiegi Cron u settings oħra tas-sistema
@@ -29,7 +29,7 @@ longcategory_webmin=Moduli għall-konfigurazzjoni ta 'Webmin innifsu
longcategory_net=Moduli għall-konfigurazzjoni ta 'netwerking u servizzi ta' netwerk
longcategory_cluster=Moduli li jistgħu jimmaniġġjaw servers multipli minn interface waħda
longcategory_info=Moduli li juru informazzjoni dwar is-sistema tiegħek
longcategory_=Moduli li ma jaqgħux f'kategorija oħra
longcategory_=Moduli li jwettqu kompiti mixxellanji oħra
header_webmin=Indiċi tal-Webmin
header_module=Indiċi tal-Modulu
header_help=Għajnuna ..

View File

@@ -21,7 +21,6 @@ category_net=Netwerken
category_syslet=Syslets
category_cluster=Cluster
category_info=Informatie
category_=Overige
longcategory_servers=Modules voor het configureren van web, email, FTP en andere servers
longcategory_hardware=Modules voor printer, harddisk en andere hardware configuratie
longcategory_system=Modules voor gebruikers, file systemen, Cron taken en andere systeem instellingen
@@ -29,7 +28,6 @@ longcategory_webmin=Modules om Webmin zelf te configureren
longcategory_net=Modules voor het configureren van netwerken en netwerk services
longcategory_cluster=Modules die meerdere servers tegelijkertijd kunnen bedienen via een enkele interface.
longcategory_info=Modules die informatie over uw systeem tonen
longcategory_=Modules die in geen enkele categorie vallen
header_webmin=Webmin Index
header_module=Module Index
header_help=Help..

View File

@@ -1,3 +1,5 @@
category_=Gereedschap
longcategory_=Modules die andere diverse taken uitvoeren
fail=mislukt
config_emodule=Module bestaat niet
referer_fix3u=Zorg ervoor dat uw browser is geconfigureerd om verwijzende informatie te verzenden, zodat deze door Webmin kan worden geverifieerd.

View File

@@ -21,7 +21,6 @@ category_net=Nettverk
category_syslet=Syslets
category_cluster=Klynge
category_info=Informasjon
category_=Andre
longcategory_servers=Moduler for konfigurering av web, e-post, FTP og andre tjenere
longcategory_hardware=Moduler for skriver, disk og annen maskinvarekonfigurasjon
longcategory_system=Moduler for brukere, filsystemer, Cron jobber og andre systeminnstillinger
@@ -29,7 +28,6 @@ longcategory_webmin=Moduler for konfigurering av Webmin
longcategory_net=Moduler for konfigurering av nettverk og nettverkstjenester
longcategory_cluster=Moduler som kan vedlikeholde flere Webmin servere fra ett enkelt grensesnitt
longcategory_info=Moduler som viser informasjon om systemet ditt
longcategory_=Moduler som ikke passer inn i noen annen kategori
header_webmin=Webmin Index
header_module=Modulindeks
header_help=Hjelp ...

View File

@@ -1,3 +1,5 @@
category_=Verktøy
longcategory_=Moduler som utfører andre oppgaver
fail=mislyktes
config_emodule=Modulen eksisterer ikke
nice_size_PB=PB

View File

@@ -21,7 +21,6 @@ category_net=Sieć
category_syslet=Syslet
category_cluster=Klaster
category_info=Informacje
category_=Inne
longcategory_servers=Moduły do konfiguracji www, e-mail, FTP i innych usług
longcategory_hardware=Moduły do konfiguracji drukarek, dysków i innych urządzeń
longcategory_system=Moduły dla użytkowników, systemów plików, zadań crona i innych ustawień systemowych
@@ -29,7 +28,6 @@ longcategory_webmin=Moduły do konfigurowania Webmina
longcategory_net=Moduły do konfiguracji sieci i usług sieciowych
longcategory_cluster=Moduły, które mogą zarządzać wieloma serwerami z jednego interfejsu
longcategory_info=Moduły, które wyświetlają informacje o Twoim systemie
longcategory_=Moduły, które nie pasują do żadnej innej kategorii
header_webmin=Indeks Webmina
header_module=Indeks modułu
header_help=Pomoc..

View File

@@ -1,3 +1,5 @@
category_=Przybory
longcategory_=Moduły, które wykonują inne różnorodne zadania
fail=Nie powiodło się
config_emodule=Moduł nie istnieje
log_email_subject=Działanie Webmina w $1
@@ -16,7 +18,7 @@ nice_size_PiB=PiB
nice_size_TB=TB
nice_size_TiB=TiB
nice_size_GB=GB
nice_size_GiB=Klin
nice_size_GiB=GiB
nice_size_MB=MB
nice_size_MiB=MiB
nice_size_kB=kB

View File

@@ -21,7 +21,6 @@ category_net=Rede
category_syslet=Syslets
category_cluster=Cluster
category_info=Informação
category_=Outros
longcategory_servers=Módulos para configuração web, email, FTP e outros servidores
longcategory_hardware=Módulos para configuração de impressora, disco e outro hardware
longcategory_system=Módulos para utilizadores, sistemas de ficheiros, Cron jobs e outras definições de sistema
@@ -29,7 +28,6 @@ longcategory_webmin=Módulos para configuração do Webmin
longcategory_net=Módulos para configuração de rede e outros serviços de rede
longcategory_cluster=Módulos que podem gerir múltiplos servidores a partir de um único interface
longcategory_info=Módulos que apresentam informação acerca do seu sistema
longcategory_=Módulos que não pertencem a nenhuma outra categoria
header_webmin=Índice do Webmin
header_module=Índice de Módulos
header_help=Ajuda..

View File

@@ -1,3 +1,5 @@
category_=Ferramentas
longcategory_=Módulos que realizam outras tarefas diversas
fail=Falhou
euserdbacl=Falha ao buscar a ACL do usuário : $1
euserdbacl2=Falha ao atualizar a ACL do usuário : $1

View File

@@ -15,7 +15,6 @@ category_net=Rede
category_syslet=Syslets
category_cluster=Cluster
category_info=Informação
category_=Outros
header_webmin=Índice do Webmin
header_module=Índice do Módulo
header_help=Ajuda ..

View File

@@ -4,6 +4,7 @@ main_readonly=(Modo somente leitura)
main_unused=Módulos não utilizados
main_refreshmods=Módulos de atualização
link_essl=O módulo Net::SSLeay Perl necessário para fazer conexões HTTPS não está instalado no seu sistema.
category_=Ferramentas
longcategory_servers=Módulos para configuração da web, email, FTP e outros servidores
longcategory_hardware=Módulos para impressora, disco e outras configurações de hardware
longcategory_system=Módulos para usuários, sistemas de arquivos, tarefas Cron e outras configurações do sistema
@@ -11,7 +12,7 @@ longcategory_webmin=Módulos para configurar o próprio Webmin
longcategory_net=Módulos para configurar serviços de rede e rede
longcategory_cluster=Módulos que podem gerenciar vários servidores a partir de uma única interface
longcategory_info=Módulos que exibem informações sobre seu sistema
longcategory_=Módulos que não se enquadram em nenhuma outra categoria
longcategory_=Módulos que realizam outras tarefas diversas
error_previous=página anterior
error_stack=Rastreamento de pilha de chamadas
error_file=Arquivo

View File

@@ -18,7 +18,6 @@ category_net=Retea
category_syslet=Syslets
category_cluster=Cluster
category_info=Informatii
category_=Altele
longcategory_servers=Module pentru configurare web, email, FTP si alte servere
longcategory_hardware=Module pentru imprimanta, disc si alte configuratii hardware
longcategory_system=Module pentru utilizatori, fisiere sistem, Cron jobs si alte setari
@@ -26,7 +25,6 @@ longcategory_webmin=Module pentru configurarea Webmin
longcategory_net=Module pentru configurare retea si servicii de retea
longcategory_cluster=Module pentru managamentul mai multor servere dintr-o singura interfata
longcategory_info=Module care afiseaza informatii despre propriul sistem
longcategory_=Module care nu pot fi incadrate in nicio alta categorie
header_webmin=Webmin Index
header_module=Module Index
header_help=Ajutor..

View File

@@ -1,6 +1,8 @@
main_title3=Webmin $1 ($2)
main_unused=Module neutilizate
main_refreshmods=Module de actualizare
category_=Instrumente
longcategory_=Module care efectuează alte sarcini diverse
fail=A eșuat
euserdbacl=Nu a reușit să preia ACL-ul utilizatorului : $1
euserdbacl2=Actualizarea ACL a utilizatorului nu a reușit : $1

View File

@@ -21,7 +21,6 @@ category_net=Сеть
category_syslet=Сислеты
category_cluster=Кластер
category_info=Информация
category_=Прочее
longcategory_servers=Модули для настройки web, email, FTP и других серверов
longcategory_hardware=Модули для принтеров, дисков и другого аппаратного оборудования
longcategory_system=Модули для настройки пользователей, файловых систем, запланированных задач (Cron jobs) и других системных настроек
@@ -29,7 +28,6 @@ longcategory_webmin=Модули для настройки самого Webmin
longcategory_net=Модули для настройки сети и сетевых служб
longcategory_cluster=Модули, которые могут управлять множеством серверов через один интерфейс
longcategory_info=Модули отображающие информацию о вашей системе
longcategory_=Модули, не относящиеся ни к какой другой категории
header_webmin=Главное меню Webmin
header_module=Меню модуля
header_help=Справка..

View File

@@ -1,3 +1,5 @@
category_=Инструменты
longcategory_=Модули, выполняющие другие разные задачи
error_stack=Трассировка стека вызовов
error_stackline=В файле $1 в строке $2 вызывается $3
fail=Не удалось

View File

@@ -17,7 +17,6 @@ category_net=Sieť
category_syslet=Syslets
category_cluster=Cluster
category_info=Informácie
category_=Iné
longcategory_servers=Moduly pre konfiguráciu webu, e-mailu, FTP a ďaľších serverových služieb
longcategory_hardware=Moduly pre tlačiarne, disky a ďaľšiu hardvérovú konfiguráciu
longcategory_system=Moduly pre užívateľov, súborové systémy, plánované úlohy ako aj ďaľšie systémové nastavenia
@@ -25,7 +24,6 @@ longcategory_webmin=Moduly pre konfiguráciu samotného Webminu
longcategory_net=Moduly pre konfiguráciu siete a sieťových služieb
longcategory_cluster=Moduly, ktoré umožňujú spravovanie viacerých serverov z jedného miesta
longcategory_info=Moduly, ktoré zobrazujú informácie o Vašom systéme
longcategory_=Moduly, ktoré nespadajú do žiadnej inej kategórie
header_webmin=Index Webminu
header_module=Index Modulov
header_help=Nápoveda..

View File

@@ -2,6 +2,8 @@ main_title3=Webmin $1 ($2)
main_readonly=(Režim len na čítanie)
main_unused=Nepoužité moduly
main_refreshmods=Obnovte moduly
category_=Náradie
longcategory_=Moduly, ktoré vykonávajú ďalšie rôzne úlohy
error_previous=predchádzajúca strana
error_stack=Zavolajte do sledovania zásobníka
error_file=súbor

View File

@@ -21,7 +21,7 @@ category_net=Mreženje
category_syslet=Syslets
category_cluster=Grozd
category_info=Informacije
category_=Drugi
category_=Orodja
longcategory_servers=Moduli za konfiguracijski splet, e-pošto, FTP in druge strežnike
longcategory_hardware=Moduli za konfiguracijo tiskalnika, diska in druge strojne opreme
longcategory_system=Moduli za uporabnike, datotečne sisteme, Cron opravila in druge sistemske nastavitve
@@ -29,7 +29,7 @@ longcategory_webmin=Moduli za konfiguriranje samega Webmina
longcategory_net=Moduli za konfiguriranje omrežnih in mrežnih storitev
longcategory_cluster=Moduli, ki lahko upravljajo z več strežniki iz enega vmesnika
longcategory_info=Moduli, ki prikazujejo podatke o vašem sistemu
longcategory_=Moduli, ki ne sodijo v nobeno drugo kategorijo
longcategory_=Moduli, ki opravljajo druge raznovrstne naloge
header_webmin=Webmin indeks
header_module=Kazalo modula
header_help=Pomoč ..

View File

@@ -10,7 +10,6 @@ category_hardware=Hårdvara
category_system=System
category_webmin=Webmin
category_net=Nätverk
category_=Övrigt
header_webmin=Webmin Index
header_module=Modulindex
header_help=Hjälp ...

View File

@@ -9,6 +9,7 @@ link_essl=Modulen Net::SSLeay Perl som behövs för att skapa HTTPS-anslutningar
category_syslet=Syslets
category_cluster=Klunga
category_info=Information
category_=Verktyg
longcategory_servers=Moduler för konfigurationsweb, e-post, FTP och andra servrar
longcategory_hardware=Moduler för skrivare, disk och annan hårdvarukonfiguration
longcategory_system=Moduler för användare, filsystem, Cron-jobb och andra systeminställningar
@@ -16,7 +17,7 @@ longcategory_webmin=Moduler för att konfigurera Webmin själv
longcategory_net=Moduler för konfigurering av nätverk och nätverkstjänster
longcategory_cluster=Moduler som kan hantera flera servrar från ett enda gränssnitt
longcategory_info=Moduler som visar information om ditt system
longcategory_=Moduler som inte ingår i någon annan kategori
longcategory_=Moduler som utför andra diverse uppgifter
error_previous=föregående sida
error_stack=Ring Stack Trace
error_file=Fil

View File

@@ -13,7 +13,6 @@ category_system=ระบบ
category_webmin=Webmin
category_net=เครือข่าย
category_syslet=Syslets
category_=อื่นๆ
header_webmin=Webmin Index
header_module=Module Index
header_help=คำแนะนำ..

View File

@@ -6,6 +6,7 @@ main_refreshmods=รีเฟรชโมดูล
link_essl=โมดูล Net::SSLeay Perl ที่จำเป็นสำหรับการเชื่อมต่อ HTTPS ไม่ได้ติดตั้งในระบบของคุณ
category_cluster=กลุ่ม
category_info=ข้อมูล
category_=เครื่องมือ
longcategory_servers=โมดูลสำหรับเว็บการตั้งค่าอีเมล FTP และเซิร์ฟเวอร์อื่น ๆ
longcategory_hardware=โมดูลสำหรับเครื่องพิมพ์ดิสก์และการกำหนดค่าฮาร์ดแวร์อื่น ๆ
longcategory_system=โมดูลสำหรับผู้ใช้ระบบไฟล์งาน Cron และการตั้งค่าระบบอื่น ๆ
@@ -13,7 +14,7 @@ longcategory_webmin=โมดูลสำหรับการกำหนดค
longcategory_net=โมดูลสำหรับการกำหนดค่าเครือข่ายและบริการเครือข่าย
longcategory_cluster=โมดูลที่สามารถจัดการเซิร์ฟเวอร์หลายเครื่องได้จากอินเทอร์เฟซเดียว
longcategory_info=โมดูลที่แสดงข้อมูลเกี่ยวกับระบบของคุณ
longcategory_=โมดูลที่ไม่ได้อยู่ในหมวดหมู่อื่น ๆ
longcategory_=โมดูลที่ทำงานเบ็ดเตล็ดอื่น ๆ
error_previous=หน้าก่อนหน้า
error_stack=โทรติดตามสแต็ค
error_file=ไฟล์

View File

@@ -11,7 +11,6 @@ category_hardware=Donanım
category_system=Sistem
category_webmin=Webmin
category_net=Ağ
category_=Diğer
header_webmin=Webmin Indeksi
header_module=Modül Indeksi
header_help=Yardım..

View File

@@ -8,6 +8,7 @@ link_essl=HTTPS bağlantıları yapmak için gereken Net::SSLeay Perl modülü s
category_syslet=Syslets
category_cluster=küme
category_info=Bilgi
category_=Araçlar
longcategory_servers=Web, e-posta, FTP ve diğer sunucular için yapılandırma modülleri
longcategory_hardware=Yazıcı, disk ve diğer donanım yapılandırması için modüller
longcategory_system=Kullanıcılar, dosya sistemleri, Cron işleri ve diğer sistem ayarları için modüller
@@ -15,7 +16,7 @@ longcategory_webmin=Webmin'in kendisini yapılandırmak için modüller
longcategory_net=Ağ ve ağ hizmetlerini yapılandırmak için modüller
longcategory_cluster=Tek bir arabirimden birden çok sunucuyu yönetebilen modüller
longcategory_info=Sisteminiz hakkında bilgi görüntüleyen modüller
longcategory_=Başka bir kategoriye girmeyen modüller
longcategory_=Diğer çeşitli görevleri yerine getiren modüller
error_previous=önceki sayfa
error_stack=Çağrı Yığını İzi
error_file=Dosya

View File

@@ -18,7 +18,6 @@ category_net=Мережа
category_syslet=Сислети
category_cluster=Кластер
category_info=Інформація
category_=Інше
longcategory_servers=Модулі для налаштування web, email, FTP та інших серверів
longcategory_hardware=Модулі для принетрів, жорстких дисків та налаштувань інших пристроїв
longcategory_system=Модулі для користувачів, файлових систем, планувань(Cron jobs) та інших системних налаштувань
@@ -26,7 +25,6 @@ longcategory_webmin=Модулі для налаштування самого We
longcategory_net=Модулі для налаштування мережі й мережевих сервісів
longcategory_cluster=Модулі для адміністрування кількох серверів через одну оболонку
longcategory_info=Модулі для відображення інформації про систему
longcategory_=Всі інші модулі
header_webmin=Головне меню Webmin
header_module=Меню модуля
header_help=Довідка..

View File

@@ -1,6 +1,8 @@
main_title3=Webmin $1 ($2)
main_unused=Не використовувані модулі
main_refreshmods=Оновити модулі
category_=Інструменти
longcategory_=Модулі, що виконують інші різні завдання
fail=Не вдалося
euserdbacl=Не вдалося отримати користувача ACL : $1
euserdbacl2=Помилка оновлення користувача ACL : $1

View File

@@ -21,7 +21,7 @@ category_net=نیٹ ورکنگ
category_syslet=سائلٹس
category_cluster=جھرمٹ
category_info=معلومات
category_=دوسرے
category_=اوزار
longcategory_servers=کنفگریشن ویب ، ای میل ، ایف ٹی پی اور دوسرے سرورز کے ماڈیولز
longcategory_hardware=پرنٹر ، ڈسک اور دیگر ہارڈویئر ترتیب کے ماڈیولز
longcategory_system=صارفین ، فائل سسٹمز ، کرون ملازمتوں اور دیگر سسٹم کی ترتیبات کے ل Mod ماڈیول
@@ -29,7 +29,7 @@ longcategory_webmin=خود Webmin کی تشکیل کے ل Mod ماڈیولز
longcategory_net=نیٹ ورکنگ اور نیٹ ورک کی خدمات کی تشکیل کے ل Mod ماڈیولز
longcategory_cluster=ماڈیولز جو ایک ہی انٹرفیس سے ایک سے زیادہ سرورز کا نظم کرسکتے ہیں
longcategory_info=آپ کے سسٹم کے بارے میں معلومات ظاہر کرنے والے ماڈیولز
longcategory_=وہ ماڈیول جو کسی اور قسم میں نہیں آتے ہیں
longcategory_=وہ ماڈیول جو دوسرے متفرق کام انجام دیتے ہیں
header_webmin=ویبمین انڈیکس
header_module=ماڈیول انڈیکس
header_help=مدد ..

View File

@@ -21,7 +21,7 @@ category_net=Mạng
category_syslet=Syslets
category_cluster=Cụm
category_info=Thông tin
category_=Khác
category_=Công cụ
longcategory_servers=Các mô-đun cho cấu hình web, email, FTP và các máy chủ khác
longcategory_hardware=Các mô-đun cho máy in, đĩa và cấu hình phần cứng khác
longcategory_system=Các mô-đun cho người dùng, hệ thống tập tin, công việc Cron và các cài đặt hệ thống khác
@@ -29,7 +29,7 @@ longcategory_webmin=Các mô-đun để tự cấu hình Webmin
longcategory_net=Các mô-đun để cấu hình các dịch vụ mạng và mạng
longcategory_cluster=Các mô-đun có thể quản lý nhiều máy chủ từ một giao diện duy nhất
longcategory_info=Các mô-đun hiển thị thông tin về hệ thống của bạn
longcategory_=Các mô-đun không thuộc bất kỳ loại nào khác
longcategory_=Các mô-đun thực hiện các tác vụ linh tinh khác
header_webmin=Chỉ số Webmin
header_module=Chỉ số mô-đun
header_help=Cứu giúp ..

View File

@@ -17,7 +17,6 @@ category_net=网络
category_syslet=Syslets
category_cluster=群集
category_info=信息
category_=其它
longcategory_servers=此模块可配置 web, email, FTP 等服务器
longcategory_hardware=此模块可以配置 打印机, 磁盘 等硬件的设置
longcategory_system=此模块可以配置 用户, 文件系统, 守护程序 等系统设置
@@ -25,7 +24,6 @@ longcategory_webmin=此模块可以配置 Webmin 自身
longcategory_net=此模块可以配置 网络和网络服务
longcategory_cluster=此模块可以 在一个界面中管理多个服务器
longcategory_info=此模块可以 显示关于你的系统的信息
longcategory_=此模块可以配置 其它类别的设置
header_webmin=Webmin 索引
header_module=Module 索引
header_help=帮助..

View File

@@ -2,6 +2,8 @@ main_title3=Webmin $1$2
main_readonly=(只读模式)
main_unused=未使用的模块
main_refreshmods=刷新模块
category_=工具类
longcategory_=执行其他杂项任务的模块
error_previous=上一页
error_stack=调用堆栈跟踪
error_file=文件

View File

@@ -17,7 +17,6 @@ category_net=網路
category_syslet=網管
category_cluster=電腦叢集
category_info=資訊
category_=其他
longcategory_servers=web, email, FTP和其他服務的組態模組
longcategory_hardware=列表機,磁碟和其他硬體組態模組
longcategory_system=使用者,檔案系統,工作排程和其他系統設定
@@ -25,7 +24,6 @@ longcategory_webmin=組態Webmin自己的模組
longcategory_net=網路和網路服務組態模組
longcategory_cluster=從單一介面管理多重服務
longcategory_info=顯示您的系統資訊的模組
longcategory_=無法分類的其他模組
header_webmin=Webmin 索引
header_module=模組索引
header_help=說明...

View File

@@ -2,6 +2,8 @@ main_title3=Webmin $1$2
main_readonly=(只讀模式)
main_unused=未使用的模塊
main_refreshmods=刷新模塊
category_=工具類
longcategory_=執行其他雜項任務的模塊
error_previous=上一頁
error_stack=調用堆棧跟踪
error_file=文件

View File

@@ -1692,6 +1692,48 @@ eval {
return $str;
}
# decode_utf7(string)
# If possible, convert a string like `Gel&APY-schte` to `Gelöschte`
# It will also convert complex strings like `Gel&APY-schte & Spam`
sub decode_utf7
{
my ($a) = @_;
eval "use Encode";
return $a if ($@);
my $u = find_encoding("UTF-16BE");
return $a if (!$u);
my $s = ' ';
my @a = split($s, $a);
my @b;
foreach my $c (@a) {
my $b;
# Based on Encode::Unicode::UTF7 by Dan Kogai
while (pos($c) < length($c)) {
if ($c =~ /\G([^&]+)/ogc) {
$b .= "$1";
}
elsif ($c =~ /\G\&-/ogc) {
$b .= "&";
}
elsif ($c =~ /\G\&([A-Za-z0-9+,]+)-?/ogsc) {
my $d = $1;
$d =~ s/,/\//g;
my $p = length($d) % 4;
$d .= "=" x (4 - $p) if ($p);
$b .= $u->decode(decode_base64($d));
}
elsif ($c =~ /\G\&/ogc) {
$b = $c;
}
else {
return $a;
}
}
push(@b, $b);
}
return join($s, @b);
}
# encode_mimewords_address(string, %params)
# Given a string containing addresses into one with real names mime-words
# escaped

View File

@@ -2059,12 +2059,12 @@ if ($config{'userfile'}) {
$querystring = "page=".&urlize($rpage);
}
$method = "GET";
$querystring .= "&failed=$failed_user"
$querystring .= "&failed=".&urlize($failed_user)
if ($failed_user);
if ($twofactor_msg) {
$querystring .= "&failed_save=$failed_save";
$querystring .= "&failed_pass=$failed_pass";
$querystring .= "&failed_twofactor_attempt=$failed_twofactor_attempt";
$querystring .= "&failed_save=".&urlize($failed_save);
$querystring .= "&failed_pass=".&urlize($failed_pass);
$querystring .= "&failed_twofactor_attempt=".&urlize($failed_twofactor_attempt);
$querystring .= "&twofactor_msg=".&urlize($twofactor_msg);
}
$querystring .= "&timed_out=$timed_out"
@@ -2087,7 +2087,7 @@ if ($config{'userfile'}) {
&reset_byte_count();
&write_data("<html>\n");
&write_data("<head><title>Unauthorized</title></head>\n");
&write_data("<body><h2 style='color: crimson; margin-bottom: -8px;'>Unauthorized</h2>\n");
&write_data("<body><h2 style='color: #de0000; margin-bottom: -8px;'>Unauthorized</h2>\n");
&write_data("A password is required to access this\n");
&write_data("web server. Please try again. <p>\n");
&write_data("</body></html>\n");
@@ -2345,7 +2345,7 @@ if (-d _) {
&write_keep_alive(0);
&write_data("\r\n");
&reset_byte_count();
&write_data("<h2 style='color: crimson; margin-bottom: -8px;'>Index of $simple</h2>\n");
&write_data("<h2 style='color: #de0000; margin-bottom: -8px;'>Index of $simple</h2>\n");
&write_data("<pre>\n");
&write_data(sprintf "%-35.35s %-20.20s %-10.10s\n",
"Name", "Last Modified", "Size");
@@ -2761,7 +2761,7 @@ else {
&write_keep_alive(0);
&write_data("\r\n");
&reset_byte_count();
&write_data("<h2 style='color: crimson; margin-bottom: -8px;'>Error - $msg</h2>\n");
&write_data("<h2 style='color: #de0000; margin-bottom: -8px;'>Error - $msg</h2>\n");
if ($body) {
&write_data("<p>$body</p>\n");
}

View File

@@ -21,7 +21,8 @@ elsif ($gconfig{'os_type'} eq 'slackware-linux' &&
# Special case for Slackware 9.1+
do "$gconfig{'os_type'}-9.1-ALL-lib.pl";
}
elsif ($gconfig{'os_type'} eq 'debian-linux' && -d "/etc/netplan") {
elsif ($gconfig{'os_type'} eq 'debian-linux' && -d "/etc/netplan" &&
&has_command("netplan")) {
# Special case for newer Ubuntu versions
do "netplan-lib.pl";
}

View File

@@ -52,6 +52,7 @@ Oracle Enterprise Linux $2 redhat-linux $2+8.0 `cat /etc/enterprise-release 2>
Oracle Linux $2 redhat-linux $2+8.0 `cat /etc/oracle-release 2>/dev/null` =~ /Oracle\s+Linux\s+Server\s+release\s+([0-9\.]+)/i
Oracle VM $2 redhat-linux $2+8.0 `cat /etc/ovs-release 2>/dev/null` =~ /Oracle.*VM\s+server\s+release\s+(\d+)/i
XenServer Linux $1 redhat-linux 13.0 `cat /etc/redhat-release 2>/dev/null` =~ /XenServer\s+release\s+5\./
XCP-ng Linux $1 redhat-linux $2+8.0 `cat /etc/redhat-release 2>/dev/null` =~ /XCP-ng\s+release\s+([\d\.]+)/
CloudLinux $1 redhat-linux $2+8.0 `cat /etc/redhat-release 2>/dev/null` =~ /CloudLinux.*release\s+(\S+)/
MostlyLinux $1 redhat-linux $2+8.0 `cat /etc/redhat-release 2>/dev/null` =~ /MostlyLinux\s+Linux\s+release\s+(\d+)/
Cloudrouter Linux $1 redhat-linux 15 `cat /etc/cloudrouter-release 2>/dev/null` =~ /CloudRouter\s+release\s+(\d+)\s+/
@@ -171,7 +172,7 @@ SuSE OpenExchange Linux $1 suse-linux 8.2 `cat /etc/SLOX-release 2>/dev/null` =
SuSE SLES Linux $1 suse-linux sprintf("%.1f", $1) $etc_issue =~ /SuSE\s+SLES-(\S+)/i
# SuSE Linux
SuSE Linux $1 suse-linux $1 `cat /etc/SuSE-release 2>/dev/null` =~ /([0-9\.]+)/ || `cat /etc/os-release 2>/dev/null` =~ /openSUSE\s+Leap\s+(\S+)/ || $etc_issue =~ /SuSE\s+Linux\s+(\S+)\s/i || `cat /etc/SUSE-brand 2>/dev/null` =~ /VERSION\s*=\s(\S+)/
SuSE Linux $1 suse-linux $1 `cat /etc/SuSE-release 2>/dev/null` =~ /([0-9\.]+)/ || `cat /etc/os-release 2>/dev/null` =~ /openSUSE\s+Leap\s+([\d\.]+)/ || $etc_issue =~ /SuSE\s+Linux\s+(\S+)\s/i || `cat /etc/SUSE-brand 2>/dev/null` =~ /VERSION\s*=\s(\S+)/
# United Linux only ever had version 1.0 I think
United Linux $1 united-linux $1 `cat /etc/UnitedLinux-release 2>/dev/null` =~ /([0-9\.]+)/
@@ -213,7 +214,7 @@ Mandriva Linux $2 mandrake-linux 10.5 $etc_issue =~ /(Mandrakelinux|Mandriva).
Mandriva Linux $2 mandrake-linux $2 $etc_issue =~ /(Mandriva).*(20\d\d\.\d+)/i || `cat /etc/mandriva-release 2>/dev/null` =~ /(Mandriva).*(20\d\d\.\d+)/i
# Mandriva Corporate
Mandrake Linux Corporate Server $i mandrake-linux $i $etc_issue =~ /Mandrake\s+Linux\s+Corporate\s+Server\s+release\s+([0-9\.]+)/i
Mandrake Linux Corporate Server $i mandrake-linux $i $etc_issue =~ /Mandrake\s+Linux\s+Corporate\s+Server\s+release\s+([0-9\.]+)/i
Mandriva Linux Enterprise Server 5.0 mandrake-linux 2009 $etc_issue =~ /Mandriva\s+Linux\s+Enterprise\s+Server\s+release\s+5\.0\s+\(Official\)\s+for\s+(i586|x86_64)/i
# Conectiva Linux (now subsumed into Mandrake?)

View File

@@ -442,9 +442,11 @@ else
# Ask whether to run at boot time
if [ "$atboot" = "" ]; then
if echo "$os_type" | grep -q "\-linux$"; then
os_type="linux"
grep_os_type="linux"
else
grep_os_type="$os_type"
fi
initsupp=`grep "^os_support=" "$srcdir/init/module.info" | sed -e 's/os_support=//g' | grep $os_type`
initsupp=`grep "^os_support=" "$srcdir/init/module.info" | sed -e 's/os_support=//g' | grep $grep_os_type`
atboot=0
if [ "$initsupp" != "" ]; then
printf "Start Webmin at boot time (y/n): "

View File

@@ -4,5 +4,5 @@
use strict;
use warnings;
require './system-status-lib.pl';
&scheduled_collect_system_info();
&scheduled_collect_system_info(1);
&redirect($ENV{'HTTP_REFERER'});

View File

@@ -6,8 +6,8 @@ no warnings 'redefine';
BEGIN { push(@INC, ".."); };
eval "use WebminCore;";
&init_config();
our ($module_config_directory, %config, %gconfig, $module_name,
$no_log_file_changes, $module_var_directory);
our ($module_config_directory, $module_var_directory, $var_directory,
%config, %gconfig, $module_name, $no_log_file_changes);
our $systeminfo_cron_cmd = "$module_config_directory/systeminfo.pl";
our $collected_info_file = "$module_config_directory/info";
if (!-e $collected_info_file) {
@@ -19,10 +19,11 @@ if (!-e $historic_info_dir) {
}
our $get_collected_info_cache;
# collect_system_info()
# collect_system_info([manual])
# Returns a hash reference containing system information
sub collect_system_info
{
my ($manual) = @_;
my $info = { };
if (&foreign_check("proc")) {
@@ -87,6 +88,14 @@ if (defined(&proc::get_cpu_io_usage)) {
}
}
# Regenerate OS cache
if ($manual) {
if (&foreign_available('webmin')) {
&foreign_require("webmin");
&webmin::detect_operating_system();
}
}
return $info;
}
@@ -284,7 +293,9 @@ foreach my $stat (@stats) {
my %maxpossible;
&read_file("$historic_info_dir/maxes", \%maxpossible);
foreach my $stat (@stats) {
if ($stat->[2] && $stat->[2] > $maxpossible{$stat->[0]}) {
if ($stat->[2] &&
(!$maxpossible{$stat->[0]} ||
$stat->[2] > $maxpossible{$stat->[0]})) {
$maxpossible{$stat->[0]} = $stat->[2];
}
}
@@ -443,10 +454,11 @@ if (!$config{'collect_notemp'} &&
return @rv;
}
# scheduled_collect_system_info()
# scheduled_collect_system_info([manual])
# Called by Webmin Cron to collect system info
sub scheduled_collect_system_info
{
my ($manual) = @_;
my $start = time();
# Make sure we are not already running
@@ -463,7 +475,7 @@ $WebminCore::gconfig{'logfullfiles'} = 0;
$no_log_file_changes = 1;
&lock_file($collected_info_file);
my $info = &collect_system_info();
my $info = &collect_system_info($manual);
if ($info) {
&save_collected_info($info);
&add_historic_collected_info($info, $start);

View File

@@ -35,7 +35,7 @@ if (&show_section('host')) {
# Hostname
my $ip = $info && $info->{'ips'} ? $info->{'ips'}->[0]->[0]
: &to_ipaddress(get_system_hostname());
$ip = " ($ip)" if ($ip);
$ip = $ip ? " ($ip)" : "";
push(@table, { 'desc' => $text{'right_host'},
'value' => &get_system_hostname().$ip });

View File

@@ -2465,8 +2465,8 @@ Returns HTML for selecting a date
=cut
sub date_input
{
local ($d, $m, $y, $prefix) = @_;
local $rv;
my ($d, $m, $y, $prefix) = @_;
my $rv;
$rv .= &ui_textbox($prefix."d", $d, 3)."/";
$rv .= &ui_select($prefix."m", $m,
[ map { [ $_, $text{"smonth_".$_} ] } (1..12) ])."/";

Some files were not shown because too many files have changed in this diff Show More