Merge branch 'master' of git@github.com:webmin/webmin

This commit is contained in:
Jamie Cameron
2013-12-15 14:15:48 -08:00
5 changed files with 146 additions and 101 deletions

View File

@@ -607,12 +607,52 @@ mod_apachessl_ecacheport=Ralat pada Nombor port atau fail soket
mod_apachessl_ecacherundir=Hilang direktori dimana gcache dijalankan dalam
mod_apachessl_ecdnfile=Hilang fail terhadap pelanggan DN yang diperiksa
mod_apachessl_eramdomfileb=Bait mestilah integer
mod_apachessl_eramdomfilef=Fail/Soket untuk beban beberapa rawak hilang
mod_apachessl_esesstimeout=Masa dalam saat mestilah integer
mod_apachessl_exportcert=Sijil pelanggan eksport dan rantaian sijil di belakang mereka untuk CGIs
mod_apachessl_forcessl=Paksa capaian SSL/notSSL?
mod_apachessl_notssl=Nafikan capaian SSL
mod_apachessl_nov2=Nyah-aktifkan SSL versi 2
mod_apachessl_ramdomfile=Fail/Soket untuk beban beberapa rawak
mod_apachessl_ramdomfilee=Soket
mod_apachessl_ramdomfilef=Fail
mod_apachessl_sesstimeout=Masa dalam saat yang kunci sesi akan dicache
mod_auth_auth=Pengesahan fail teks
mod_auth_basic_dbm=Pangkalan data DBM
mod_auth_basic_file=Fail teks
mod_auth_dbm_auth=Pengesahan fail DBM
mod_auth_dbm_default=Format lalai DBM
mod_auth_dbm_egfile=Nama fail grup DBM tidak sah
mod_auth_dbm_eufile=Nama fail pengguna DBM tidak sah
mod_auth_dbm_gfile=Fail grup DBM
mod_auth_dbm_gtype=Jenis grup pangkalan data DBM
mod_auth_dbm_type=Jenis pangkalan data DBM
mod_auth_dbm_ufile=Fail pengguna DBM
mod_auth_egfile=Nama fail teks grup tidak sah
mod_auth_eufile=Nama fail teks pengguna tidak sah
mod_auth_gedit=Sunting grup
mod_auth_gfile=Fail teks grup
mod_auth_uedit=Sunting pengguna
mod_auth_ufile=Fail teks pengguna
mod_autoindex_asc=Menaik
mod_autoindex_date=Tarikh
mod_autoindex_default=Lalai
mod_autoindex_desc=Penerangan
mod_autoindex_descend=Menurun
mod_autoindex_name=Nama
mod_autoindex_size=Saiz
mod_autoindex_sort=Indeks direktori disusun mengikut
mod_band_all=Semua
mod_band_bandwidth=Had jalur lebar klien
mod_band_bw=Had (bait/saat)
mod_band_client=Untuk klien
mod_band_ebw='$1' bukanlah had jalur lebar yang sah
mod_band_ent=IP atau domain
mod_band_size=Saiz fail maksimum
mod_cern_meta_default=Lalai
mod_cern_meta_default2=Lalai
mod_cgi_default=Lalai
mod_cgi_none=Tiada
mod_env_clear=Bersihkan
mod_env_default=Lalai
mod_env_evalue='$1' bukanlah nilai pembolehubah yang sah
@@ -667,6 +707,7 @@ mod_mime_clangs=Bahasa kandungan
mod_mime_default=Lalai
mod_mime_deflang=Fail bahasa lalai
mod_mime_enc=Pengekodan
mod_mime_lang=Bahasa
mod_mime_magic_none=Tiada
mod_mime_none=Tiada
mod_mime_type=Jenis
@@ -677,6 +718,7 @@ mod_php_value_header=Nilai
mod_proxy_all=Semua
mod_proxy_default=Lalai
mod_proxy_domain=Domain
mod_ssl_default=Lalai
mod_ssl_proto=Protokol SSL
mod_ssl_req=Diperlukan
mod_userdir_default=Lalai

View File

@@ -302,14 +302,17 @@ sub opt_input
{
local($v, $rv);
$v = &find($_[1], $_[2]);
$rv = "<td><b>$_[0]</b></td> <td nowrap";
$rv = "<td valign=middle><b>$_[0]</b></td><td valign=middle nowrap";
$rv .= $_[4] > 30 ? " colspan=3>\n" : ">\n";
$rv .= sprintf "<input type=radio name=$_[1]_def value=1 %s> $_[3]\n",
$v ? "" : "checked";
$rv .= sprintf "<input type=radio name=$_[1]_def value=0 %s> ",
$v ? "checked" : "";
$rv .= sprintf "<input name=$_[1] size=$_[4] value=\"%s\"> $_[5]</td>\n",
$v ? $v->{'value'} : "";
$rv .= &ui_radio($_[1]."_def", ( $v ? 0 : 1 ), [ [ 1, $_[3] ], [ 0, "&nbsp;" ] ]);
$rv .= &ui_textbox($_[1], ( $v ? $v->{'value'} : "" ), $_[4])."&nbsp;".$_[5];
$rv .= "</td>";
#$rv .= sprintf "<input type=radio name=$_[1]_def value=1 %s> $_[3]\n",
# $v ? "" : "checked";
#$rv .= sprintf "<input type=radio name=$_[1]_def value=0 %s> ",
# $v ? "checked" : "";
#$rv .= sprintf "<input name=$_[1] size=$_[4] value=\"%s\"> $_[5]</td>\n",
# $v ? $v->{'value'} : "";
return $rv;
}

View File

@@ -23,23 +23,23 @@ else {
# display
&ui_print_header(undef, $in{'new'} ? $text{'esh_crheader'} : $text{'esh_eheader'}, "");
print &ui_form_start("save_shared.cgi", "post");
print &ui_table_start($text{'esh_tabhdr'}, "width=100%", 4);
print "<form action=save_shared.cgi method=post>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'esh_tabhdr'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print "<tr><td valign=middle><b>$text{'esh_desc'}</b></td>\n";
print "<td valign=middle colspan=3>";
print &ui_textbox("desc", ( $sha ? &html_escape($sha->{'comment'}) : "" ), 60);
print "</td>";
print "</tr>";
print "<tr> <td><b>$text{'esh_desc'}</b></td>\n";
printf "<td colspan=3><input name=desc size=60 value='%s'></td> </tr>\n",
$sha ? &html_escape($sha->{'comment'}) : "";
print "<tr> <td><b>$text{'esh_netname'}</b></td>\n";
printf "<td><input name=name size=15 value=\"%s\"></td>\n",
$sha ? $sha->{'values'}->[0] : "";
print "<tr><td valign=middle><b>$text{'esh_netname'}</b></td>\n";
print "<td valign=middle>";
print &ui_textbox("name", ( $sha ? $sha->{'values'}->[0] : "" ), 15);
print "</td>";
&display_params($sconf, "shared-network");
print "<tr> <td colspan=4> <table border=0 width=100%>\n";
print "<tr><td colspan=4><table border=0 width=100%>\n";
foreach $h (&find("host", $conf)) {
push(@host, $h) if &can('r', \%access, $h);
}
@@ -129,7 +129,8 @@ if (!$in{'new'}) {
}
print "</table></td></tr>\n";
print "</table></td></tr></table>\n";
print &ui_table_end();
if (!$in{'new'}) {
print "<input type=hidden name=idx value=\"$in{'idx'}\">\n";
print "<table width=100%><tr>\n";
@@ -178,6 +179,6 @@ if ($config{'dhcpd_version'} >= 3 && !$in{'new'}) {
"$text{'esub_pooladd'}</a><br>\n";
}
print "</form>\n";
print &ui_form_end();
&ui_print_footer("", $text{'esh_return'});

View File

@@ -35,56 +35,54 @@ foreach $s (&find("shared-network", $conf)) {
}
}
print "<form action=save_subnet.cgi method=post>\n";
print "<input name=ret value=\"$in{'ret'}\" type=hidden>\n";
print "<table border width=100%>\n";
print "<tr $tb> <td><b>$text{'esub_tabhdr'}</b></td> </tr>\n";
print "<tr $cb> <td><table width=100%>\n";
print &ui_form_start("save_subnet.cgi", "post");
print &ui_hidden("ret",$in{'ret'});
print &ui_table_start($text{'esub_tabhdr'}, "width=100%", 4);
print "<tr> <td><b>$text{'esub_desc'}</b></td>\n";
printf "<td colspan=3><input name=desc size=60 value='%s'></td> </tr>\n",
$sub ? &html_escape($sub->{'comment'}) : "";
print "<tr><td valign=middle><b>$text{'esub_desc'}</b></td>\n";
print "<td valign=middle colspan=3>";
print &ui_textbox("desc", ( $sub ? &html_escape($sub->{'comment'}) : "" ), 60);
print "</td>";
print "</tr>";
print "<tr> <td><b>$text{'esub_naddr'}</b></td>\n";
printf "<td><input name=network size=25 value=\"%s\"></td>\n",
$sub ? $sub->{'values'}->[0] : "";
print "<tr><td valign=middle><b>$text{'esub_naddr'}</b></td>\n";
print "<td valign=middle>";
print &ui_textbox("network", ( $sub ? $sub->{'values'}->[0] : "" ), 25);
print "</td>";
print "<td><b>$text{'esub_nmask'}</b></td>\n";
printf "<td><input name=netmask size=15 value=\"%s\"></td> </tr>\n",
$sub ? $sub->{'values'}->[2] : "";
print "<td valign=middle><b>$text{'esub_nmask'}</b></td>\n";
print "<td valign=middle>";
print &ui_textbox("netmask", ( $sub ? $sub->{'values'}->[2] : "" ), 25);
print "</td>";
print "</tr>";
@range = $sub ? &find("range", $sub->{'members'}) : ();
print "<tr> <td valign=top><b>$text{'esub_arange'}</b></td> <td colspan=3>\n";
print "<tr><td valign=middle><b>$text{'esub_arange'}</b></td><td valign=middle colspan=3>\n";
for($i=0; $i<=@range; $i++) {
$r = $range[$i];
local $dyn = ($r->{'values'}->[0] eq "dynamic-bootp");
printf "<input name=range_low_$i size=15 value=\"%s\"> - \n",
$r->{'values'}->[$dyn];
printf "<input name=range_hi_$i size=15 value=\"%s\">&nbsp;\n",
$r->{'values'}->[$dyn+1];
printf "<input type=checkbox name=range_dyn_$i value=1 %s>\n",
$dyn ? "checked" : "";
print "$text{'esub_dbooptpq'}<br>\n";
my $dyn = ($r->{'values'}->[0] eq "dynamic-bootp");
print &ui_textbox("range_low_".$i, $r->{'values'}->[$dyn], 15);
print "&nbsp;-&nbsp;";
print &ui_textbox("range_hi_".$i, $r->{'values'}->[$dyn+1], 15);
print "&nbsp;";
print &ui_checkbox("range_dyn_".$i, 1, $text{'esub_dbooptpq'}, ($dyn ? 1 : 0 ) );
}
print "</td> </tr>\n";
print "</td></tr>\n";
if (!defined($in{'ret'})) {
print "<tr> <td><b>$text{'esub_shnet'}</b></td>\n";
print "<td><select name=parent>\n";
printf "<option value=\"\" '%s'>&lt;%s&gt;</option>\n",
$s_parent ? "" : "checked", $text{'esub_none'};
foreach $s (&find("shared-network", $conf)) {
printf "<option value=\"%s\" %s>%s</option>\n",
$s->{'index'},
$s eq $s_parent ? "selected" : "",
$s->{'values'}->[0]
if &can('rw', \%access, $s);
}
print "</select></td>\n";
print "<tr><td valign=middle><b>$text{'esub_shnet'}</b></td>\n";
print "<td valign=middle>";
my @shn;
push(@shn, [ "", "&lt;$text{'esub_none'}&gt;", ( $s_parent ? "" : "selected" ) ]);
foreach $s (&find("shared-network", $conf)) {
push(@shn, [ $s->{'index'}, ( &can('rw', \%access, $s) ? $s->{'values'}->[0] : "" ), ( $s eq $s_parent ? "" : "selected" ) ]);
}
print &ui_select("parent", undef, \@shn);
print "</td>\n";
}
else {
print "<input name=parent type=hidden value=$s_parent->{'index'}>\n";
print "<tr> <td>&nbsp;</td> <td>&nbsp;</td>\n";
print "<tr>";
print "<td>".&ui_hidden("parent",$s_parent->{'index'})."&nbsp;</td><td>&nbsp;</td>\n";
}
&display_params($sconf, "subnet");
@@ -112,76 +110,77 @@ foreach $s (&find("subnet", $mems)) {
@host = sort { $a->{'values'}->[0] cmp $b->{'values'}->[0] } @host;
# @group = sort { @{$a->{'members'}} <=> @{$b->{'members'}} } @group;
print "<tr> <td valign=top><b>$text{'esub_hosts'}</b></td>\n";
print "<td><select name=hosts size=3 multiple>\n";
print "<tr><td valign=top><b>$text{'esub_hosts'}</b></td>\n";
print "<td valign=top>";
my @esub_hosts_sel;
foreach $h (@host) {
next if !&can('r', \%access, $h);
printf "<option value=\"%s,%s\" %s>%s</option>\n",
$h->{'index'}, $insubn{$h},
(!$in{'new'}) && $insubn{$h} eq $sub->{'index'} ? "selected" : "",
$h->{'values'}->[0];
push(@esub_hosts_sel, [$h->{'index'}.",".$insubn{$h}, $h->{'values'}->[0], ( (!$in{'new'}) && $insubn{$h} eq $sub->{'index'} ? "selected" : "" ) ] );
}
print "</select></td>\n";
print &ui_select("hosts", undef, \@esub_hosts_sel, 3, 1);
print "</td>\n";
print "<td valign=top><b>$text{'esub_groups'}</b></td>\n";
print "<td><select name=groups size=3 multiple>\n";
print "<td valign=top>";
my @esub_groups_sel;
foreach $g (@group) {
local $gm = 0;
my $gm = 0;
next if !&can('r', \%access, $g);
foreach $h (@{$g->{'members'}}) {
if ($h->{'name'} eq "host") { $gm++; }
}
printf "<option value=\"%s,%s\" %s>%s</option>\n",
$g->{'index'}, $insubn{$g},
(!$in{'new'}) && $insubn{$g} eq $sub->{'index'} ? "selected" : "",
&group_name($gm, $g);
push(@esub_groups_sel, [$g->{'index'}.",".$insubn{$g}, &group_name($gm, $g), ( (!$in{'new'}) && $insubn{$g} eq $sub->{'index'} ? "selected" : "" ) ] );
}
print "</select></td>\n";
print &ui_select("groups", undef, \@esub_groups_sel, 3, 1);
print "</td>\n";
if (!$in{'new'}) {
# inaccessible hosts in this subnet
foreach $h (@host) {
if (!&can('r', \%access, $h) && $insubn{$h} eq $sub->{'index'}) {
print "<input name=hosts value=\"$h->{'index'},$sub->{'index'}\" type=hidden>\n";
print &ui_hidden("hosts","$h->{'index'},$sub->{'index'}");
#print "<input name=hosts value=\"$h->{'index'},$sub->{'index'}\" type=hidden>\n";
}
}
# inaccessible groups in this subnet
foreach $g (@group) {
if (!&can('r', \%access, $g) && $insubn{$g} eq $sub->{'index'}) {
print "<input name=groups value=\"$g->{'index'},$sub->{'index'}\" type=hidden>\n";
print &ui_hidden("groups","$g->{'index'},$sub->{'index'}");
#print "<input name=groups value=\"$g->{'index'},$sub->{'index'}\" type=hidden>\n";
}
}
}
print "</table></td></tr></table>\n";
print "<input type=hidden name=sidx value=\"$in{'sidx'}\">\n";
print &ui_table_end();
print &ui_hidden("sidx", $in{'sidx'});
if (!$in{'new'}) {
# Show buttons for existing subnet
print "<input type=hidden name=idx value=\"$in{'idx'}\">\n";
print &ui_hidden("idx", $in{'idx'});
print "<table width=100%><tr>\n";
print "<td><input type=submit value=\"$text{'save'}\"></td>\n"
if &can('rw', \%access, $sub);
print "<td align=center><input type=submit name=options value=\"",
&can('rw', \%access, $sub) ? $text{'butt_eco'} : $text{'butt_vco'},
"\"></td>\n";
print "<td>";
print &ui_submit($text{'save'}) if &can('rw', \%access, $sub);
print "</td>";
print "<td align=center>";
print &ui_submit( (&can('rw', \%access, $sub) ? $text{'butt_eco'} : $text{'butt_vco'} ), "options");
print "</td>";
if ($access{'r_leases'}) {
print "<td align=center><input type=submit name=leases ",
"value=\"$text{'butt_leases'}\"></td>\n";
print "<td align=center>";
print &ui_submit($text{'butt_leases'},"leases");
print "</td>";
}
print "<td align=right><input type=submit name=delete ",
"value=\"$text{'delete'}\"></td>\n" if &can('rw', \%access, $sub, 1);
print "<td align=right>";
print &ui_submit($text{'delete'}, "delete") if &can('rw', \%access, $sub, 1);
print "</td>";
print "</tr></table>\n";
print "<a href=\"edit_host.cgi?new=1&sidx=$in{'sidx'}&uidx=$in{'idx'}"
."&ret=subnet\">$text{'index_addhst'}</a>&nbsp;&nbsp;\n"
if &can('rw', \%access, $sub);
print "<a href=\"edit_group.cgi?new=1&sidx=$in{'sidx'}&uidx=$in{'idx'}"
."&ret=subnet\">$text{'index_addhstg'}</a><p>\n"
if &can('rw', \%access, $sub);
print &ui_link("edit_host.cgi?new=1&sidx=$in{'sidx'}&uidx=$in{'idx'}&ret=subnet", $text{'index_addhst'})."&nbsp;&nbsp;" if &can('rw', \%access, $sub);
print &ui_link("edit_group.cgi?new=1&sidx=$in{'sidx'}&uidx=$in{'idx'}&ret=subnet", $text{'index_addhstg'}) if &can('rw', \%access, $sub);
}
else {
# Show create button for new subnet
print "<input type=hidden name=new value=1>\n";
print "<input type=submit value=\"$text{'create'}\">\n";
print &ui_hidden("new", "1");
print "<br>";
print &ui_submit($text{'create'});
}
if ($config{'dhcpd_version'} >= 3 && !$in{'new'}) {
@@ -201,11 +200,11 @@ if ($config{'dhcpd_version'} >= 3 && !$in{'new'}) {
else {
&icons_table(\@links, \@titles, \@icons, 5);
}
print "<a href='edit_pool.cgi?uidx=$in{'idx'}&sidx=$in{'sidx'}&new=1'>",
"$text{'esub_pooladd'}</a><br>\n";
print &ui_link("edit_pool.cgi?uidx=$in{'idx'}&sidx=$in{'sidx'}&new=1",$text{'esub_pooladd'});
}
print "</form>\n";
print &ui_form_end();
print "<br>";
if ($in{'ret'} eq "shared") {
&ui_print_footer("edit_shared.cgi?idx=$in{'sidx'}", $text{'esub_retshar'});
}

View File

@@ -72,7 +72,7 @@ if ($st[7] != $config{'dhcpd_size'} || $st[9] != $config{'dhcpd_mtime'}) {
# Create lookup type HTML
# XXX change text, add to lookup_*
print ui_select("match", undef, [ [0,$text{'index_match0'},"selected"],
$matches = ui_select("match", undef, [ [0,$text{'index_match0'},"selected"],
[1,$text{'index_match1'},""],
[2,$text{'index_match2'},""] ]);
@@ -445,7 +445,7 @@ if ($config{'dhcpd_version'} >= 3 && $access{'zones'}) {
@zones = sort { $a->{'values'}->[0] <=> $b->{'values'}->[0] } @zones;
if (@zones) {
# display zones
print &ui_link("edit_zones.cgi?new=1",$text{'index_addzone'})."&nbsp;&nbsp;"\n" if $access{'c_sub'};
print &ui_link("edit_zones.cgi?new=1",$text{'index_addzone'})."&nbsp;&nbsp;\n" if $access{'c_sub'};
foreach $z (@zones) {
# print "ZONE: $z->{'value'} <br>";
push(@zlinks, "edit_zones.cgi?idx=$z->{'index'}");
@@ -464,7 +464,7 @@ if ($config{'dhcpd_version'} >= 3 && $access{'zones'}) {
else {
print "<b>$text{'index_nozones'}</b><p>\n";
}
print &ui_link("edit_zones.cgi?new=1",$text{'index_addzone'})."&nbsp;&nbsp;"\n" if $access{'c_sub'};
print &ui_link("edit_zones.cgi?new=1",$text{'index_addzone'})."&nbsp;&nbsp;\n" if $access{'c_sub'};
print &ui_hr();
}