More ui-libification
authorJamie Cameron <jcameron@webmin.com>
Thu, 11 Dec 2008 01:36:50 +0000 (01:36 +0000)
committerJamie Cameron <jcameron@webmin.com>
Thu, 11 Dec 2008 01:36:50 +0000 (01:36 +0000)
quota/edit_group_mass.cgi
quota/edit_user_mass.cgi
quota/lang/en
quota/list_users.cgi
quota/user_grace_form.cgi

index ee3f7c6..feb4329 100755 (executable)
@@ -16,7 +16,7 @@ $access{'ro'} && &error(&text('egroup_eallowgr', $u));
 
 $bsize = &block_size($fs);
 
-print &text('gmass_count', scalar(@d)),"<br>\n";
+print &text('gmass_count', scalar(@d)),"<p>\n";
 print &ui_form_start("save_group_mass.cgi", "post");
 foreach $u (@d) {
        print &ui_hidden("d", $u),"\n";
index 8af3fee..e1634a9 100755 (executable)
@@ -16,7 +16,7 @@ $access{'ro'} && &error(&text('euser_eallowus', $u));
 
 $bsize = &block_size($fs);
 
-print &text('umass_count', scalar(@d)),"<br>\n";
+print &text('umass_count', scalar(@d)),"<p>\n";
 print &ui_form_start("save_user_mass.cgi", "post");
 foreach $u (@d) {
        print &ui_hidden("d", $u),"\n";
index 8fb2416..e004786 100644 (file)
@@ -233,6 +233,9 @@ ugraces_eedit=You cannot edit grace times on this filesystem
 ugraces_enumber='$1' is not a number
 
 lusers_failed=Failed to list users
+lusers_tablist=User list
+lusers_tabdefault=Default quotas
+lusers_tabemail=Email notifications
 lusers_eallow=You are not allowed to edit quotas on this filesystem
 lusers_title=Filesystem Quotas
 lusers_return=filesystems list
index 06e6fba..1473062 100755 (executable)
@@ -11,20 +11,44 @@ $whatfailed = $text{'lusers_failed'};
 $form = 0;
 
 # List quotas
-&ui_print_header(undef, $text{'lusers_title'}, "", "list_users");
+&ui_print_header(&text('lusers_qoutas', $f),
+                $text{'lusers_title'}, "", "list_users");
 
+# Build and show tabs
+$prog = "list_users.cgi?dir=".&urlize($f);
+@tabs = ( [ 'list', $text{'lusers_tablist'}, $prog."&mode=list" ] );
+if ($access{'default'}) {
+       push(@tabs, [ 'default', $text{'lusers_tabdefault'},
+                     $prog."&mode=default" ]);
+       }
+if ($access{'email'} && &foreign_check("cron") && &foreign_check("mailboxes")) {
+       push(@tabs, [ 'email', $text{'lusers_tabemail'},
+                     $prog."&mode=email" ]);
+       }
+print &ui_tabs_start(\@tabs, "mode", $in{'mode'} || 'list', 1);
+
+# Build user list links
+@ulinks = ( );
+if ($access{'ugrace'}) {
+       push(@ulinks, "<a href='user_grace_form.cgi?filesys=".&urlize($f).
+                     "'>$text{'lusers_egrace'}</a>");
+       }
+push(@ulinks, "<a href='check_quotas.cgi?filesys=".&urlize($f).
+             "&source=user'>$text{'lusers_check'}</a>");
+
+# Users list, in a tab
+print &ui_tabs_start_tab("mode", "list");
 $n = &filesystem_users($f);
 $bsize = &block_size($f);
 $fsbsize = &block_size($f, 1);
 if ($n > $config{'display_max'} && !$access{'ro'}) {
        print "<b>", &text('lusers_toomany', $f), "</b><br>\n";
+       print &ui_links_row(\@ulinks);
        }
 elsif ($n) {
        # no threshold (default) if <= 0% and >=101%
        my $threshold_pc = $config{'threshold_pc'} || 101;
        $threshold_pc = 101 if $threshold_pc < 1 or $threshold_pc > 101;
-       print &ui_subheading(&text('lusers_qoutas', $f));
-       &show_buttons();
        if (!$access{'ro'}) {
                print &ui_form_start("edit_user_mass.cgi", "post");
                print &ui_hidden('dir', $f),"\n";
@@ -32,7 +56,8 @@ elsif ($n) {
 
        # Generate select links
        @links = ( &select_all_link("d", $form),
-                  &select_invert_link("d", $form) );
+                  &select_invert_link("d", $form),
+                  @ulinks );
        if (!$access{'ro'}) {
                print &ui_links_row(\@links);
                }
@@ -202,42 +227,54 @@ elsif ($n) {
        }
 else {
        print "<b>",&text('lusers_noquota', $f),"</b><br>\n";
+       print &ui_links_row(\@ulinks);
        }
-&show_buttons();
+
+# Form to edit any user
+if (!$access{'ro'}) {
+       print &ui_form_start("edit_user_quota.cgi");
+       print &ui_hidden("filesys", $f);
+       print &ui_hidden("source", 0);
+       print &ui_submit($text{'lusers_equota'});
+       print &ui_user_textbox("user");
+       print &ui_form_end();
+       }
+
+print &ui_tabs_end_tab("mode", "list");
 
 # Show form for setting default quotas for new users
 if ($access{'default'}) {
-       print &ui_hr();
-       print &text('lusers_info', $text{'lusers_useradmin'});
-       print "<p>\n";
+       print &ui_tabs_start_tab("mode", "default");
+       print &text('lusers_info', $text{'lusers_useradmin'}),"<p>\n";
 
        @dquot = split(/\s+/, $config{"sync_$f"});
-       print "<form action=save_sync.cgi>\n";
-       print "<input type=hidden name=filesys value=\"$f\">\n";
-       print "<table width=100% border> <tr $tb>\n";
-       print "<td colspan=2><b>$text{'lusers_newuser'}</b></td> </tr> <tr $cb>\n";
-
-       print "<td width=50%><table><tr>\n";
-       print "<td><b>$text{'lusers_sblimit'}</b></td> <td>\n";
-       &quota_input("sblocks", $dquot[0], $bsize);
-       print "</td> </tr><tr> <td><b>$text{'lusers_hblimit'}</b></td> <td>\n";
-       &quota_input("hblocks", $dquot[1], $bsize);
-       print "</td> </tr></table></td>\n";
-
-       print "<td width=50%><table><tr>\n";
-       print "<td><b>$text{'lusers_sflimit'}</b></td> <td>\n";
-       &quota_input("sfiles", $dquot[2]);
-       print "</td> </tr><tr> <td><b>$text{'lusers_hflimit'}</b></td> <td>\n";
-       &quota_input("hfiles", $dquot[3]);
-       print "</td> </tr></table></td>\n";
-       print "</tr> </table>\n";
-       print "<input type=submit value=$text{'lusers_apply'}></form>\n";
+       print &ui_form_start("save_sync.cgi");
+       print &ui_hidden("filesys", $f);
+       print &ui_table_start($text{'lusers_newuser'}, "width=100%", 4);
+
+       # Default block limits
+       print &ui_table_row($text{'lusers_sblimit'},
+               &quota_input("sblocks", $dquot[0], $bsize));
+       print &ui_table_row($text{'lusers_hblimit'},
+               &quota_input("hblocks", $dquot[1], $bsize));
+
+       # Default file limits
+       print &ui_table_row($text{'lusers_sflimit'},
+               &quota_input("sfiles", $dquot[2]));
+       print &ui_table_row($text{'lusers_hflimit'},
+               &quota_input("hfiles", $dquot[3]));
+
+       print &ui_table_end();
+       print &ui_form_end([ [ undef, $text{'lusers_apply'} ] ]);
+
+       print &ui_tabs_end_tab("mode", "default");
        }
 
 # Show form for email notifications
 if ($access{'email'} && &foreign_check("cron") &&
     &foreign_check("mailboxes")) {
-       print &ui_hr();
+       print &ui_tabs_start_tab("mode", "email");
+
        print &ui_form_start("save_email.cgi");
        print &ui_hidden("filesys", $f);
        print &ui_table_start($text{'lusers_emailheader'}, "width=100%", 4);
@@ -275,41 +312,11 @@ if ($access{'email'} && &foreign_check("cron") &&
 
        print &ui_table_end();
        print &ui_form_end([ [ 'save', $text{'lusers_apply'} ] ]);
-       }
 
-&ui_print_footer("", $text{'lusers_return'});
-
-# show_buttons(form)
-sub show_buttons
-{
-print "<table width=100%><tr>\n";
-if (!$access{'ro'}) {
-       print "<form action=edit_user_quota.cgi>\n";
-       print "<input type=hidden name=filesys value=\"$f\">\n";
-       print "<input type=hidden name=source value=0>\n";
-       print "<td align=left width=33%>\n";
-       print "<input type=submit value=\"$text{'lusers_equota'}\">\n";
-       print "<input name=user size=8> ",
-             &user_chooser_button("user", 0, $form),"</td></form>\n";
-       $form++;
+       print &ui_tabs_end_tab("mode", "email");
        }
-else { print "<td width=33%></td>\n"; }
 
-if ($access{'ugrace'}) {
-       print "<form action=user_grace_form.cgi>\n";
-       print "<input type=hidden name=filesys value=\"$f\">\n";
-       print "<td align=center width=33%>\n";
-       print "<input type=submit value=\"$text{'lusers_egrace'}\">\n";
-       print "</td></form>\n";
-       $form++;
-       }
-else { print "<td width=33%></td>\n"; }
-
-print "<form action=check_quotas.cgi>\n";
-print "<input type=hidden name=filesys value=\"$f\">\n";
-print "<input type=hidden name=source value=user>\n";
-print "<td align=right width=33%><input type=submit value=\"$text{'lusers_check'}\">\n";
-print "</td></form> </tr></table>\n";
-$form++;
-}
+print &ui_tabs_end(1);
+
+&ui_print_footer("", $text{'lusers_return'});
 
index f670a0a..73bb3e2 100755 (executable)
@@ -11,46 +11,41 @@ $access{'ugrace'} && &can_edit_filesys($in{'filesys'}) ||
 print "$text{'ugracef_info'}<p>\n";
 
 @gr = &get_user_grace($in{'filesys'});
-print "<form action=user_grace_save.cgi>\n";
-print "<input type=hidden name=filesys value=\"$in{'filesys'}\">\n";
-print "<table border width=100%>\n";
-print "<tr $tb> <td colspan=2><b>",&text('ugracef_graces', $in{'filesys'}),"</b></td></tr>\n";
-
-print "<tr $cb> <td width=20%><b>$text{'ugracef_block'}</b></td> <td>\n";
+print &ui_form_start("user_grace_save.cgi");
+print &ui_hidden("filesys", $in{'filesys'});
+print &ui_table_start(&text('ugracef_graces', $in{'filesys'}),
+                     "width=100%", 4);
+
+# Block grace time
+$bfield = &ui_textbox("btime", $gr[0], 6)." ".
+         &select_units("bunits", $gr[1]);
 if (&default_grace()) {
-       printf "<input type=radio name=bdef value=1 %s> $text{'default'}\n",
-               $gr[0] ? "" : "checked";
-       printf "<input type=radio name=bdef value=0 %s>\n",
-               $gr[0] ? "checked" : "";
+       $bfield = &ui_radio("bdef", $gr[0] ? 0 : 1,
+                           [ [ 1, $text{'default'} ],
+                             [ 0, $bfield ] ]);
        }
-print "<input name=btime size=6 value=\"$gr[0]\">";
-&select_units("bunits", $gr[1]);
-print "</td> </tr>\n";
+print &ui_table_row($text{'ugracef_block'}, $bfield);
 
-print "<tr $cb> <td width=20%><b>$text{'ugracef_file'}</b></td> <td>\n";
+# Files grace time
+$ffield = &ui_textbox("ftime", $gr[2], 6)." ".
+         &select_units("funits", $gr[3]);
 if (&default_grace()) {
-       printf "<input type=radio name=fdef value=1 %s> $text{'default'}\n",
-               $gr[2] ? "" : "checked";
-       printf "<input type=radio name=fdef value=0 %s>\n",
-               $gr[2] ? "checked" : "";
+       $ffield = &ui_radio("fdef", $gr[2] ? 0 : 1,
+                           [ [ 1, $text{'default'} ],
+                             [ 0, $ffield ] ]);
        }
-print "<input name=ftime size=6 value=\"$gr[2]\">";
-&select_units("funits", $gr[3]);
-print "</td> </tr>\n";
+print &ui_table_row($text{'ugracef_file'}, $ffield);
 
-print "</table>\n";
-print "<input type=submit value=$text{'ugracef_update'}></form>\n";
+print &ui_table_end();
+print &ui_form_end([ [ undef, $text{'ugracef_update'} ] ]);
 
-&ui_print_footer("list_users.cgi?dir=".&urlize($in{'filesys'}), $text{'ugracef_return'});
+&ui_print_footer("list_users.cgi?dir=".&urlize($in{'filesys'}),
+                $text{'ugracef_return'});
 
 sub select_units
 {
-@uarr = &grace_units();
-print "<select name=$_[0]>\n";
-for($i=0; $i<@uarr; $i++) {
-       printf "<option value=$i %s>$uarr[$i]\n",
-               $i == $_[1] ? "selected" : "";
-       }
-print "</select>\n";
+local @uarr = &grace_units();
+return &ui_select($_[0], $_[1],
+       [ map { [ $_, $uarr[$_] ] } (0..$#uarr) ]);
 }