Separated the Configure Module page into tabs, to make it clearer which options are global and which are default user preferences.
---- Changes since 1.370 ----
The format for dates displayed by Webmin can be changed by a new option on the User Interface page.
+---- Changes since 1.380 ----
+Added the Mobule Device Options page, for setting a theme specifically for small-screen browsers.
--- /dev/null
+#!/usr/local/bin/perl
+# Display options specific to mobile devices
+
+require './usermin-lib.pl';
+&ReadParse();
+&error_setup($webmin::text{'mobile_err'});
+
+&lock_file($usermin_miniserv_config);
+&lock_file("$config{'usermin_dir'}/config");
+&get_usermin_miniserv_config(\%miniserv);
+&get_usermin_config(\%uconfig);
+
+# Validate and store inputs
+if ($in{'theme'} eq '*') {
+ delete($miniserv{'mobile_preroot'});
+ delete($uconfig{'mobile_theme'});
+ }
+else {
+ $miniserv{'mobile_preroot'} = $in{'theme'};
+ $uconfig{'mobile_theme'} = $in{'theme'};
+ }
+$miniserv{'mobile_nosession'} = $in{'nosession'};
+$in{'agents'} =~ s/\r//g;
+$miniserv{'mobile_agents'} = join("\t", split(/\n+/, $in{'agents'}));
+$miniserv{'mobile_prefixes'} = $in{'prefixes'};
+
+# Write out files
+&put_usermin_miniserv_config(\%miniserv);
+&unlock_file($usermin_miniserv_config);
+&put_usermin_config(\%uconfig);
+&unlock_file("$config{'usermin_dir'}/config");
+
+&reload_usermin_miniserv();
+&webmin_log('mobile', undef, undef, \%in);
+&redirect("");
+
+
descs=1
blocked=1
advanced=1
+mobile=1
--- /dev/null
+#!/usr/local/bin/perl
+# Display options specific to mobile devices
+
+require './usermin-lib.pl';
+&ReadParse();
+&ui_print_header(undef, $text{'mobile_title'}, "");
+&get_usermin_miniserv_config(\%miniserv);
+
+print &ui_form_start("change_mobile.cgi");
+print &ui_table_start($webmin::text{'mobile_header'}, undef, 2);
+
+# Custom theme for mobile devices
+@themes = &list_themes();
+$m = $miniserv{'mobile_preroot'};
+print &ui_table_row($webmin::text{'mobile_theme'},
+ &ui_select("theme", defined($m) ? $m : "*",
+ [ [ "*", $webmin::text{'mobile_themeglob'} ],
+ [ "", $webmin::text{'themes_default'} ],
+ map { [ $_->{'dir'}, $_->{'desc'} ] } @themes ]));
+
+# Skip session login for mobile devices
+print &ui_table_row($webmin::text{'mobile_nosession'},
+ &ui_yesno_radio("nosession", int($miniserv{'mobile_nosession'})));
+
+# Extra user agents
+print &ui_table_row($webmin::text{'mobile_agents'},
+ &ui_textarea("agents",
+ join("\n", split(/\t+/, $miniserv{'mobile_agents'})), 5, 50));
+
+# Hostname prefixes for mobile
+print &ui_table_row($webmin::text{'mobile_prefixes'},
+ &ui_textbox("prefixes", $miniserv{'mobile_prefixes'}, 50));
+
+print &ui_table_end();
+print &ui_form_end([ [ "save", $text{'save'} ] ]);
+
+&ui_print_footer("", $text{'index_return'});
$ver < 1.181 ? ( ) : ( "edit_dav.cgi" ),
"list_sessions.cgi",
"edit_blocked.cgi",
+ "edit_mobile.cgi",
"edit_advanced.cgi" );
@titles = map { /_(\S+).cgi/; $text{"${1}_title"} } @links;
@icons = map { /_(\S+).cgi/; "images/$1.gif" } @links;
log_logout=Changed auto-logout times
log_dav=Changed DAV server settings
log_advanced=Changed advanced options
+log_mobile=Changed mobile device options
update_err=Failed to update modules
update_eurl=Missing or invalid update URL
blocked_none=No hosts or users are currently blocked by Usermin.
blocked_user=Usermin user
blocked_cleardesc=Click this button to clear all current host and user blocks, by restarting the Usermin server process.
+
+mobile_title=Mobile Device Options
+
{
return undef if (&is_readonly_mode());
local %miniserv;
-&get_miniserv_config(\%miniserv) || return;
+&get_usermin_miniserv_config(\%miniserv) || return;
$miniserv{'inetd'} && return;
local($pid, $addr, $i);