Move webserver options to new page
authorJamie Cameron <jcameron@webmin.com>
Mon, 2 May 2011 04:59:29 +0000 (21:59 -0700)
committerJamie Cameron <jcameron@webmin.com>
Mon, 2 May 2011 04:59:29 +0000 (21:59 -0700)
blue-theme/webmin/images/web.gif [new file with mode: 0644]
webmin/CHANGELOG
webmin/change_advanced.cgi
webmin/change_web.cgi [new file with mode: 0755]
webmin/edit_advanced.cgi
webmin/edit_web.cgi [new file with mode: 0755]
webmin/images/web.gif [new file with mode: 0644]
webmin/index.cgi
webmin/lang/en

diff --git a/blue-theme/webmin/images/web.gif b/blue-theme/webmin/images/web.gif
new file mode 100644 (file)
index 0000000..279202e
Binary files /dev/null and b/blue-theme/webmin/images/web.gif differ
index 778c2cf..0e99965 100644 (file)
@@ -105,3 +105,4 @@ Strong PCI-compliant ciphers can now be selected on the SSL Encryption page.
 Added the Sending Email page which controls how Webmin itself sends messages.
 ---- Changes since 1.550 ----
 Added fields to the Index Page Options page to control the display of Webmin and module updates.
+Moved settings related to Webmin's built-in webserver to the new Web Server Options page.
index 1b06860..a5dab9f 100755 (executable)
@@ -36,12 +36,6 @@ for($i=0; defined($tmod = $in{'tmod_'.$i}); $i++) {
        }
 &save_tempdirs(\%gconfig, \@tdirs);
 
-# Save stack trace option
-$gconfig{'error_stack'} = $in{'stack'};
-
-# Save showing of stderr
-$miniserv{'noshowstderr'} = !$in{'showstderr'};
-
 # Save umask
 if ($in{'umask_def'}) {
        delete($gconfig{'umask'});
@@ -97,16 +91,6 @@ else {
        $miniserv{'precache'} = $in{'precache'};
        }
 
-# Save password pass option
-$miniserv{'pass_password'} = $in{'pass'};
-
-# Save gzip option
-if ($in{'gzip'} == 1) {
-       eval "use Compress::Zlib";
-       $@ && &error(&text('advanced_egzip', '<tt>Compress::Zlib</tt>'));
-       }
-$miniserv{'gzip'} = $in{'gzip'};
-
 &lock_file($ENV{'MINISERV_CONFIG'});
 &put_miniserv_config(\%miniserv);
 &unlock_file($ENV{'MINISERV_CONFIG'});
diff --git a/webmin/change_web.cgi b/webmin/change_web.cgi
new file mode 100755 (executable)
index 0000000..12886db
--- /dev/null
@@ -0,0 +1,49 @@
+#!/usr/local/bin/perl
+# Save webserver options
+
+require './webmin-lib.pl';
+&ReadParse();
+&error_setup($text{'web_err'});
+&get_miniserv_config(\%miniserv);
+
+# Save expires
+if ($in{'expires_def'}) {
+       delete($miniserv{'expires'});
+       }
+else {
+       $in{'expires'} =~ /^\d+$/ ||
+               &error($text{'web_eexpires'});
+       $miniserv{'expires'} = $in{'expires'};
+       }
+
+# Save stack trace option
+$gconfig{'error_stack'} = $in{'stack'};
+
+# Save showing of stderr
+$miniserv{'noshowstderr'} = !$in{'showstderr'};
+
+if (!$miniserv{'session'}) {
+       # Save password pass option
+       $miniserv{'pass_password'} = $in{'pass'};
+       }
+
+# Save gzip option
+if ($in{'gzip'} == 1) {
+       eval "use Compress::Zlib";
+       $@ && &error(&text('advanced_egzip', '<tt>Compress::Zlib</tt>'));
+       }
+$miniserv{'gzip'} = $in{'gzip'};
+
+# Save global config
+&lock_file("$config_directory/config");
+&write_file("$config_directory/config", \%gconfig);
+&unlock_file("$config_directory/config");
+
+# Save miniserv config
+&lock_file($ENV{'MINISERV_CONFIG'});
+&put_miniserv_config(\%miniserv);
+&unlock_file($ENV{'MINISERV_CONFIG'});
+
+&show_restart_page();
+&webmin_log("web");
+
index f1b8966..3f13a6c 100755 (executable)
@@ -63,18 +63,6 @@ print &ui_table_row($text{'advanced_precache'},
                          &ui_textbox("precache",
                           $mode == 2 ? $miniserv{'precache'} : "", 40)) ] ]));
 
-# Show call stack on error
-print &ui_table_row($text{'advanced_stack'},
-                   &ui_yesno_radio("stack", int($gconfig{'error_stack'})));
-
-# Show CGI errors
-print &ui_table_row($text{'advanced_showstderr'},
-           &ui_yesno_radio("showstderr", int(!$miniserv{'noshowstderr'})));
-
-# Pass passwords to CGI programs
-print &ui_table_row($text{'advanced_pass'},
-                   &ui_yesno_radio("pass", int($miniserv{'pass_password'})));
-
 # Umask for created files
 print &ui_table_row($text{'advanced_umask'},
            &ui_opt_textbox("umask", $gconfig{'umask'}, 5, $text{'default'}));
@@ -110,13 +98,6 @@ if (&foreign_check("proc")) {
                }
        }
 
-# Gzip static files?
-print &ui_table_row($text{'advanced_gzip'},
-       &ui_radio("gzip", $miniserv{'gzip'},
-                 [ [ '', $text{'advanced_gzipauto'} ],
-                   [ 0, $text{'advanced_gzip0'} ],
-                   [ 1, $text{'advanced_gzip1'} ] ]));
-
 print &ui_table_end();
 print &ui_form_end([ [ "save", $text{'save'} ] ]);
 
diff --git a/webmin/edit_web.cgi b/webmin/edit_web.cgi
new file mode 100755 (executable)
index 0000000..686fdc2
--- /dev/null
@@ -0,0 +1,41 @@
+#!/usr/local/bin/perl
+# Show the web serving options form
+
+require './webmin-lib.pl';
+&ui_print_header(undef, $text{'web_title'}, "");
+&get_miniserv_config(\%miniserv);
+
+print &ui_form_start("change_web.cgi", "post");
+print &ui_table_start($text{'web_header'}, undef, 2);
+
+# Default content expiry time
+print &ui_table_row($text{'web_expires'},
+       &ui_opt_textbox("expires", $miniserv{'expires'}, 10,
+                       $text{'web_expiresdef'}, $text{'web_expiressecs'}));
+
+# Show call stack on error
+print &ui_table_row($text{'advanced_stack'},
+                   &ui_yesno_radio("stack", int($gconfig{'error_stack'})));
+
+# Show CGI errors
+print &ui_table_row($text{'advanced_showstderr'},
+           &ui_yesno_radio("showstderr", int(!$miniserv{'noshowstderr'})));
+
+if (!$miniserv{'session'}) {
+       # Pass passwords to CGI programs
+       print &ui_table_row($text{'advanced_pass'},
+                   &ui_yesno_radio("pass", int($miniserv{'pass_password'})));
+       }
+
+# Gzip static files?
+print &ui_table_row($text{'advanced_gzip'},
+       &ui_radio("gzip", $miniserv{'gzip'},
+                 [ [ '', $text{'advanced_gzipauto'} ],
+                   [ 0, $text{'advanced_gzip0'} ],
+                   [ 1, $text{'advanced_gzip1'} ] ]));
+
+print &ui_table_end();
+print &ui_form_end([ [ "save", $text{'save'} ] ]);
+
+&ui_print_footer("", $text{'index_return'});
+
diff --git a/webmin/images/web.gif b/webmin/images/web.gif
new file mode 100644 (file)
index 0000000..b5d640d
Binary files /dev/null and b/webmin/images/web.gif differ
index 85dd1c1..829bac5 100755 (executable)
@@ -20,7 +20,7 @@ my (@wlinks, @wtitles, @wicons);
            "edit_categories.cgi", "edit_descs.cgi", "edit_themes.cgi",
            "edit_referers.cgi", "edit_anon.cgi", "edit_lock.cgi",
            "edit_mobile.cgi", "edit_blocked.cgi", "edit_status.cgi",
-            "edit_advanced.cgi", "edit_debug.cgi" );
+            "edit_advanced.cgi", "edit_debug.cgi", "edit_web.cgi", );
 @wtitles = ( $text{'access_title'}, $text{'bind_title'},
             $text{'log_title'}, $text{'proxy_title'},
             $text{'ui_title'}, $text{'mods_title'},
@@ -32,7 +32,7 @@ my (@wlinks, @wtitles, @wicons);
             $text{'anon_title'}, $text{'lock_title'},
             $text{'mobile_title'}, $text{'blocked_title'},
             $text{'status_title'}, $text{'advanced_title'},
-            $text{'debug_title'}, );
+            $text{'debug_title'}, $text{'web_title'}, );
 @wicons = ( "images/access.gif", "images/bind.gif", "images/log.gif",
            "images/proxy.gif", "images/ui.gif", "images/mods.gif",
            "images/os.gif", "images/lang.gif", "images/startpage.gif",
@@ -41,7 +41,7 @@ my (@wlinks, @wtitles, @wicons);
            "images/descs.gif", "images/themes.gif", "images/referers.gif",
            "images/anon.gif", "images/lock.gif", "images/mobile.gif",
            "images/blocked.gif", "images/status.gif",
-           "images/advanced.gif", "images/debug.gif" );
+           "images/advanced.gif", "images/debug.gif", "images/web.gif", );
 if ($gconfig{'eazel'}) {
        push(@wlinks, "edit_syslet.cgi");
        push(@wtitles, $text{'syslet_title'});
index 5685cbe..ffa03c2 100644 (file)
@@ -617,6 +617,7 @@ log_theme_def=Changed theme to Webmin default
 log_referers=Changed trusted referrers
 log_descs=Changed module titles
 log_advanced=Changed advanced options
+log_web=Changed web server options
 log_osdnclear=Cleared download cache
 log_savekey=Uploaded existing SSL key
 log_deletecache=Deleted $1 URLs from cache
@@ -798,9 +799,9 @@ advanced_pri=Priority level
 advanced_sclass=IO class for scheduled jobs
 advanced_sprio=IO priority for scheduled jobs
 advanced_gzip=Gzip compress static files?
-advanced_gzipauto=Only pre-compressed .gz file exists
+advanced_gzipauto=Only if pre-compressed .gz file exists
 advanced_gzip0=Never
-advanced_gzip1=Use pre-compressed file or compress dynamically
+advanced_gzip1=Use pre-compressed file and compress dynamically
 advanced_egzip=Gzip compression cannot be enabled unless the $1 perl module is installed
 
 syslog_errorlog=Webmin error log
@@ -929,4 +930,12 @@ sendmail_esmtp=Missing or un-resolvable SMTP server hostname
 sendmail_elogin=Missing SMTP server login
 sendmail_efrom=Missing or incorrectly formatted from address
 
+web_title=Web Server Options
+web_header=Options for Webmin's built-in webserver
+web_expires=Client-side cache time for static files
+web_expiresdef=Webmin default (7 days)
+web_expiressecs=Time in seconds
+web_err=Failed to save web server options
+web_eexpires=Missing or non-numeric client size cache time
+
 __norefs=1