diff --git a/apache/lang/ms_MY b/apache/lang/ms_MY
index 1d3db8ef0..e836c5ec1 100644
--- a/apache/lang/ms_MY
+++ b/apache/lang/ms_MY
@@ -171,3 +171,22 @@ core_cpulimit=Had sumber CPU
core_cpulimit2=Had sumber CPU
core_custom=Jawapan ralat suai langgan
core_default=Lalai
+core_defchar=Set aksara untuk dokumen
+core_defmime=Jenis MIME lalai
+core_diropts=Pilihan direktori
+core_disable=Nyah-aktif
+core_docroot=Direktori dokumen root
+core_dport=Port lalai:
+core_eaddress='$1' bukan;ah a;amat yang sah
+core_ebody=Permintaan saiz badan tidak sah
+core_ebufsize=Saiz buffer TCP send mesti integer
+core_ecandoc=Anda tidak dibenarkan untuk menggunakan dokumen root '$1'
+core_ecore=Direktori core dump tidak sah
+core_edefchar=Hilang atau set aksara bagi dokumen tidak sah
+core_edefmime=Jenis MIME lalai mestilah dalam jenis/subjenis
+core_edefport=Port lalai tidak sah
+core_edirlog=Fail log ralat bukan dalam direktori yang dibenarkan
+core_eerror='$1' bukanlah kod ralat yang sah
+core_eerrordir=Direktori untuk fail log ralat tidak wujud
+core_efilelog=fail log ralat tidak sah
+core_efilemiss=Hilang fail log ralat
diff --git a/chooser.cgi b/chooser.cgi
index 73be02d3c..955a43aba 100755
--- a/chooser.cgi
+++ b/chooser.cgi
@@ -164,11 +164,15 @@ location = "chooser.cgi?frame=1&chroot=$uchroot&type=$utype&file="+p;
}
EOF
-
+ print "";
+ print "
";
print "",&text('chooser_dir', &html_escape($dir)),"\n";
opendir(DIR, $in{'chroot'}.$dir) ||
&popup_error(&text('chooser_eopen', "$!"));
print &ui_columns_start(undef, 100);
+ my $cnt = 0;
foreach $f (sort { $a cmp $b } readdir(DIR)) {
$path = "$in{'chroot'}$dir$f";
if ($f eq ".") { next; }
@@ -198,9 +202,13 @@ EOF
$tm[3], $text{'smonth_'.($tm[4]+1)}, $tm[5]+1900);
push(@cols, sprintf "%.2d:%.2d", $tm[2], $tm[1]);
print &ui_columns_row(\@cols);
+ $cnt++;
}
closedir(DIR);
print &ui_columns_end();
+ if ( $cnt >= 10 ) {
+ print "";
+ }
&popup_footer();
}
elsif ($in{'frame'} == 2) {
diff --git a/group_chooser.cgi b/group_chooser.cgi
index 4e6a73466..627f0431a 100755
--- a/group_chooser.cgi
+++ b/group_chooser.cgi
@@ -33,7 +33,13 @@ if ($in{'multi'}) {
for($i=0; $i<$len; $i++) {
print "sel[$i] = \"".
"e_escape($ul[$i], '"')."\";\n";
- @ginfo = getgrnam($ul[$i]);
+
+ # samba valid system group can start with @ + &
+ $gn = $ul[$i];
+ $gn =~ s/^(@|\+|&)+//g;
+ @ginfo = getgrnam($gn);
+
+ #@ginfo = getgrnam($ul[$i]);
if (@ginfo) {
@mems = &unique( split(/ /, $ginfo[3]),
@{$members{$ginfo[2]}} );
@@ -65,15 +71,24 @@ if ($in{'multi'}) {
print "return false;\n";
print "}\n";
print "\n";
+ print "";
print "$text{'groups_all'}\n";
+ print "";
print "\n";
+ my $cnt = 0;
foreach $u (&get_groups_list()) {
- if ($in{'group'} eq $u->[0]) { print "\n"; }
- else { print "
\n"; }
+ if ($in{'group'} eq $u->[0]) { print "
\n"; }
+ else { print "
\n"; }
print "| $u->[0] | \n";
print "$u->[3] |
\n";
+ $cnt++;
}
print "
\n";
+ if ( $cnt >= 10 ) {
+ print "";
+ }
&popup_footer();
}
elsif ($in{'frame'} == 2) {
@@ -145,14 +160,23 @@ else {
print "return false;\n";
print "}\n";
print "\n";
+ print "";
+ print "";
print "\n";
+ my $cnt = 0;
foreach $u (&get_groups_list()) {
- if ($in{'group'} eq $u->[0]) { print "\n"; }
- else { print "
\n"; }
+ if ($in{'group'} eq $u->[0]) { print "
\n"; }
+ else { print "
\n"; }
print "| $u->[0] | \n";
print "$u->[3] |
\n";
+ $cnt++;
}
print "
\n";
+ if ( $cnt >= 10 ) {
+ print "";
+ }
&popup_footer();
}
diff --git a/lang/en b/lang/en
old mode 100644
new mode 100755
index d77ad2755..c65884bd5
--- a/lang/en
+++ b/lang/en
@@ -303,6 +303,7 @@ ui_edate=Invalid date
ui_etime=Invalid time
ui_paging=Showing rows $1 to $2 of $3
ui_rowlabel=$2 in row $1 :
+ui_filterbox=Type to filter..
header_statusmsg=$1 logged into $2 $3 on $4 ($5)
diff --git a/samba/save_sec.cgi b/samba/save_sec.cgi
index 3d4e16036..3d4e8c03f 100755
--- a/samba/save_sec.cgi
+++ b/samba/save_sec.cgi
@@ -65,6 +65,8 @@ sub split_input
{
local @rv;
local $str = $_[0];
+# remove '@' if smb.conf was manually edited
+$str =~ s/(@)+//g;
while($str =~ /^\s*(\S*"[^"]+"\S*)(.*)$/ || $str =~ /^\s*(\S+)(.*)$/) {
push(@rv, $_[1].$1);
$str = $2;
diff --git a/unauthenticated/filter_match.js b/unauthenticated/filter_match.js
new file mode 100644
index 000000000..5d0018b8c
--- /dev/null
+++ b/unauthenticated/filter_match.js
@@ -0,0 +1,70 @@
+/* filter_match: show/hide table row when match string in achor tag ()
+ * 28-Nov-2013: nawawi jamili
+ */
+
+/* ie8 and below */
+if ( !String.prototype.trim ) {
+ String.prototype.trim = function() {
+ return this.replace(/^\s+|\s+$/g,'');
+ };
+};
+
+function filter_match(str, _cname, _match) {
+ _cname = _cname || "filter_match";
+ _match = _match || false;
+
+ var show_hide = function(n,clear) {
+ clear = clear || false;
+ var ls = document.getElementsByTagName("tr");
+ if ( ls.length > 0 ) {
+ for(var x=0; x < ls.length; x++) {
+ var tt=ls[x];
+ var cl = tt.className;
+ if ( !_match && cl !== _cname ) continue;
+ if ( _match && cl.match(_cname) === null ) continue;
+ if ( n === null ) {
+ if ( clear ) {
+ tt.style.display='';
+ } else {
+ tt.style.display='none';
+ }
+ } else if ( x === n ) {
+ tt.style.display='';
+ }
+ }
+ }
+ };
+
+ str = str.trim();
+ if ( str !== '' ) {
+ show_hide(null,false);
+ var ls = document.getElementsByTagName("tr");
+ if ( ls.length > 0 ) {
+ for(var x=0; x < ls.length; x++) {
+ var cl = ls[x].className;
+ if ( !_match && cl !== _cname ) continue;
+ if ( _match && cl.match(_cname) === null ) continue;
+ var y = ls[x].getElementsByTagName("a");
+ for(var t=0; t < y.length; t++) {
+ var strm = y[t].innerHTML;
+ strm = strm.toLowerCase();
+ if ( strm.match(str.toLowerCase()) ) {
+ show_hide(x);
+ }
+ }
+ }
+ }
+ } else {
+ show_hide(null,true);
+ }
+};
+/* show/hide filter box */
+function filter_match_box(show) {
+ show = show || true;
+ if ( true ) {
+ document.getElementsBy('filter_box').style.display='';
+ } else {
+ document.getElementsBy('filter_box').style.display='none';
+ }
+};
+
diff --git a/user_chooser.cgi b/user_chooser.cgi
index 74046a669..1cbb005b1 100755
--- a/user_chooser.cgi
+++ b/user_chooser.cgi
@@ -26,7 +26,13 @@ if ($in{'multi'}) {
for($i=0; $i<$len; $i++) {
print "sel[$i] = \"".
"e_escape($ul[$i], '"')."\";\n";
- @uinfo = getpwnam($ul[$i]);
+
+ # samba valid system user can start with @ + &
+ $gn = $ul[$i];
+ $gn =~ s/^(@|\+|&)+//g;
+ @uinfo = getpwnam($gn);
+
+ #@uinfo = getpwnam($ul[$i]);
if (@uinfo) {
print "selr[$i] = \"".
"e_escape($uinfo[6])."\";\n";
@@ -57,16 +63,25 @@ if ($in{'multi'}) {
print "return false;\n";
print "}\n";
print "\n";
+ print "";
print "$text{'users_all'}\n";
+ print "";
print "\n";
+ my $cnt = 0;
foreach $u (&get_users_list()) {
- if ($in{'user'} eq $u->[0]) { print "\n"; }
- else { print "
\n"; }
+ if ($in{'user'} eq $u->[0]) { print "
\n"; }
+ else { print "
\n"; }
$u->[6] =~ s/'/'/g;
print "| $u->[0] | \n";
print "$u->[6] |
\n";
+ $cnt++;
}
print "
\n";
+ if ( $cnt >= 10 ) {
+ print "";
+ }
&popup_footer();
}
elsif ($in{'frame'} == 2) {
@@ -137,14 +152,23 @@ else {
print "return false;\n";
print "}\n";
print "\n";
+ print "";
+ print "";
print "\n";
+ my $cnt = 0;
foreach $u (&get_users_list()) {
- if ($in{'user'} eq $u->[0]) { print "\n"; }
- else { print "
\n"; }
+ if ($in{'user'} eq $u->[0]) { print "
\n"; }
+ else { print "
\n"; }
print "| $u->[0] | \n";
print "$u->[6] |
\n";
+ $cnt++;
}
print "
\n";
+ if ( $cnt >= 10 ) {
+ print "";
+ }
&popup_footer();
}
diff --git a/useradmin/my_group_chooser.cgi b/useradmin/my_group_chooser.cgi
index 509e2169b..455686c88 100755
--- a/useradmin/my_group_chooser.cgi
+++ b/useradmin/my_group_chooser.cgi
@@ -59,15 +59,24 @@ if ($in{'multi'}) {
print "return false;\n";
print "}\n";
print "\n";
+ print "";
print "$text{'groups_all'}\n";
+ print "";
print "\n";
+ my $cnt = 0;
foreach $u (&get_groups_list()) {
- if ($in{'group'} eq $u->[0]) { print "\n"; }
- else { print "
\n"; }
+ if ($in{'group'} eq $u->[0]) { print "
\n"; }
+ else { print "
\n"; }
print "| $u->[0] | \n";
print "$u->[3] |
\n";
+ $cnt++;
}
print "
\n";
+ if ( $cnt >= 10 ) {
+ print "";
+ }
&popup_footer();
}
elsif ($in{'frame'} == 2) {
@@ -138,14 +147,23 @@ else {
print "return false;\n";
print "}\n";
print "\n";
+ print "";
+ print "";
print "\n";
+ my $cnt = 0;
foreach $u (&get_groups_list()) {
- if ($in{'group'} eq $u->[0]) { print "\n"; }
- else { print "
\n"; }
+ if ($in{'group'} eq $u->[0]) { print "
\n"; }
+ else { print "
\n"; }
print "| ".&html_escape($u->[0])." | \n";
print "".&html_escape($u->[3])." |
\n";
+ $cnt++;
}
print "
\n";
+ if ( $cnt >= 10 ) {
+ print "";
+ }
&popup_footer();
}
diff --git a/useradmin/my_user_chooser.cgi b/useradmin/my_user_chooser.cgi
index a8baa656d..50005cd5a 100755
--- a/useradmin/my_user_chooser.cgi
+++ b/useradmin/my_user_chooser.cgi
@@ -51,16 +51,25 @@ if ($in{'multi'}) {
print "return false;\n";
print "}\n";
print "\n";
+ print "";
print "$text{'users_all'}\n";
+ print "";
print "\n";
+ my $cnt = 0;
foreach $u (&get_users_list()) {
- if ($in{'user'} eq $u->[0]) { print "\n"; }
- else { print "
\n"; }
+ if ($in{'user'} eq $u->[0]) { print "
\n"; }
+ else { print "
\n"; }
$u->[6] =~ s/'/'/g;
print "| $u->[0] | \n";
print "$u->[6] |
\n";
+ $cnt++;
}
print "
\n";
+ if ( $cnt >= 10 ) {
+ print "";
+ }
&popup_footer();
}
elsif ($in{'frame'} == 2) {
@@ -131,14 +140,23 @@ else {
print "return false;\n";
print "}\n";
print "\n";
+ print "";
+ print "";
print "\n";
+ my $cnt = 0;
foreach $u (&get_users_list()) {
- if ($in{'user'} eq $u->[0]) { print "\n"; }
- else { print "
\n"; }
+ if ($in{'user'} eq $u->[0]) { print "
\n"; }
+ else { print "
\n"; }
print "| $u->[0] | \n";
print "$u->[6] |
\n";
+ $cnt++;
}
print "
\n";
+ if ( $cnt >= 10 ) {
+ print "";
+ }
&popup_footer();
}
diff --git a/webmin/standard_chooser.cgi b/webmin/standard_chooser.cgi
index d92f2f5e0..abe8bfb41 100755
--- a/webmin/standard_chooser.cgi
+++ b/webmin/standard_chooser.cgi
@@ -9,6 +9,10 @@ if (!ref($mods)) {
print "",&text('standard_failed', $mods),"\n";
}
else {
+ print "";
+ print "
";
print "$text{'standard_header'}
\n";
if ($mods->[0]->[1] > &get_webmin_version()) {
print &text('standard_warn', $mods->[0]->[1]),"
\n";
@@ -22,6 +26,7 @@ else {
print "}\n";
print "\n";
@table = ( );
+ my $cnt = 0;
foreach $m (@$mods) {
my $minfo = { 'os_support' => $m->[3] };
next if (!&check_os_support($minfo));
@@ -29,8 +34,12 @@ else {
"$m->[0]",
&html_escape($m->[4]),
]);
+ $cnt++;
}
print &ui_columns_table(undef, 100, \@table);
}
+ if ( $cnt >= 10 ) {
+ print "";
+ }
&ui_print_footer();
diff --git a/webmin/third_chooser.cgi b/webmin/third_chooser.cgi
index ae72ee541..0a68e73ce 100755
--- a/webmin/third_chooser.cgi
+++ b/webmin/third_chooser.cgi
@@ -10,6 +10,10 @@ if (!ref($mods)) {
print "",&text('third_failed', $mods),"\n";
}
else {
+ print "";
+ print "
";
print "$text{'third_header'}
\n";
print "\n";
@table = ( );
+ my $cnt = 0;
foreach $m (@$mods) {
push(@table, [
"$m->[0]",
$m->[1] eq "NONE" ? "" : &html_escape($m->[1]),
$m->[3],
]);
+ $cnt++;
}
print &ui_columns_table(undef, 100, \@table);
}
+ if ( $cnt >= 10 ) {
+ print "";
+ }
&popup_footer();