diff --git a/WebminCore.pm b/WebminCore.pm
index d557719c1..949f567e3 100644
--- a/WebminCore.pm
+++ b/WebminCore.pm
@@ -23,7 +23,7 @@ $main::export_to_caller = 1;
# Add functions in web-lib-funcs.pl
# Generated with :
# grep -h "^sub " web-lib-funcs.pl ui-lib.pl | sed -e 's/sub //' | xargs echo
-@EXPORT = qw(read_file read_file_cached read_file_cached_with_stat write_file html_escape html_unescape html_strip quote_escape quote_javascript tempname_dir tempname_dir_sys tempname transname transname_timestamped trunc indexof indexoflc sysprint check_ipaddress check_ip6address generate_icon urlize un_urlize include copydata ReadParseMime ReadParse read_fully read_parse_mime_callback read_parse_mime_javascript PrintHeader header get_html_title get_html_framed_title get_html_status_line popup_header footer popup_footer load_module_preferences load_theme_library redirect kill_byname kill_byname_logged find_byname error error_stderr popup_error register_error_handler call_error_handlers error_setup wait_for fast_wait_for has_command make_date make_date_relative file_chooser_button popup_window_button popup_window_link read_acl acl_filename acl_check get_miniserv_config_file get_miniserv_config put_miniserv_config restart_miniserv reload_miniserv check_os_support http_download complete_http_download http_post ftp_download ftp_upload no_proxy open_socket download_timeout ftp_command to_ipaddress to_ip6address to_hostname icons_table replace_meta replace_file_line read_file_lines flush_file_lines unflush_file_lines unix_user_input unix_group_input hlink user_chooser_button group_chooser_button foreign_check foreign_exists foreign_available foreign_require foreign_call foreign_config foreign_installed foreign_defined get_system_hostname get_webmin_version get_webmin_version_release get_webmin_full_version get_module_acl get_group_module_acl save_module_acl save_group_module_acl init_config load_language_auto load_language text_subs text encode_base64 decode_base64 encode_base32 decode_base32 get_module_info get_all_module_infos list_themes get_theme_info list_locales list_languages safe_language read_env_file write_env_file lock_file unlock_file test_lock unlock_all_files can_lock_file webmin_log additional_log var_dump webmin_debug_log system_logged backquote_logged backquote_with_timeout backquote_command kill_logged rename_logged rename_file symlink_logged symlink_file link_file make_dir make_dir_recursive set_ownership_permissions unlink_logged unlink_file copy_permissions_source_dest copy_source_dest move_source_dest remote_session_name verify_session_id remote_foreign_require remote_foreign_call remote_foreign_check remote_foreign_config remote_eval remote_write remote_read remote_finished remote_error_setup remote_rpc_call remote_multi_callback remote_multi_callback_error serialise_variable unserialise_variable other_groups date_chooser_button help_file read_help_file seed_random disk_usage_kb recursive_disk_usage help_search_link make_http_connection validate_ssl_connection read_http_connection write_http_connection close_http_connection clean_environment reset_environment clean_language progress_callback switch_to_remote_user switch_to_unix_user eval_as_unix_user create_user_config_dirs create_missing_homedir filter_javascript resolve_links simplify_path same_file flush_webmin_caches list_usermods available_usermods get_available_module_infos get_visible_module_infos get_visible_modules_categories is_under_directory parse_http_url check_clicks_function load_entities_map entities_to_ascii get_product_name get_charset get_display_hostname save_module_config save_user_module_config nice_size get_perl_path get_goto_module select_all_link select_invert_link select_rows_link check_pid_file get_mod_lib module_root_directory list_mime_types guess_mime_type open_tempfile close_tempfile print_tempfile is_selinux_enabled get_clear_file_attributes reset_file_attributes cleanup_tempnames open_lock_tempfile END month_to_number number_to_month get_rbac_module_acl supports_rbac supports_ipv6 use_rbac_module_acl execute_command open_readfile open_execute_command translate_filename translate_command register_filename_callback register_command_callback capture_function_output capture_function_output_tempfile modules_chooser_button substitute_template substitute_pattern running_in_zone running_in_vserver running_in_xen running_in_openvz list_categories is_readonly_mode command_as_user list_osdn_mirrors convert_osdn_url get_current_dir supports_users supports_symlinks quote_path get_windows_root read_file_contents write_file_contents read_file_contents_limit unix_crypt split_quoted_string write_to_http_cache check_in_http_cache clear_http_cache supports_javascript get_module_name get_module_variable clear_time_locale reset_time_locale callers_package web_libs_package get_userdb_string connect_userdb disconnect_userdb split_userdb_string uniquelc list_combined_webmin_menu list_modules_webmin_menu module_to_menu_item list_combined_system_info shell_is_bash compare_version_numbers convert_to_json convert_from_json print_json get_referer_relative get_webmin_email_url get_webmin_browser_url trim ui_link ui_help ui_img ui_link_button ui_table_start ui_table_end ui_table_row ui_table_hr ui_table_span ui_columns_start ui_columns_row ui_columns_header ui_checked_columns_row ui_radio_columns_row ui_columns_end ui_columns_table ui_form_columns_table ui_form_elements_wrapper ui_form_start ui_form_end ui_textbox ui_filebox ui_bytesbox ui_upload ui_password ui_hidden ui_select ui_multi_select ui_multi_select_javascript ui_radio ui_yesno_radio ui_radio_row ui_checkbox ui_oneradio ui_textarea ui_user_textbox ui_users_textbox ui_group_textbox ui_groups_textbox ui_opt_textbox ui_submit ui_reset ui_button ui_date_input ui_buttons_start ui_buttons_end ui_buttons_row ui_buttons_hr ui_post_header ui_pre_footer ui_print_header ui_print_unbuffered_header ui_print_footer ui_config_link ui_print_endpage ui_subheading ui_links_row ui_hidden_javascript ui_hidden_start ui_hidden_end ui_hidden_table_row_start ui_hidden_table_row_end ui_hidden_table_start ui_hidden_table_end ui_tabs_start ui_tabs_end ui_tabs_start_tab ui_tabs_start_tabletab ui_tabs_end_tab ui_tabs_end_tabletab ui_max_text_width ui_radio_selector ui_radio_selector_javascript ui_switch_theme_javascript ui_grid_table ui_radio_table ui_up_down_arrows ui_hr ui_nav_link ui_confirmation_form ui_text_color ui_alert_box js_disable_inputs ui_page_flipper js_checkbox_disable js_redirect ui_webmin_link ui_line_break_double ui_page_refresh ui_details ui_div_row ui_space ui_newline ui_text_wrap ui_element_inline ui_paginations ui_hide_outside_of_viewport ui_read_file_contents_limit ui_note ui_brh ui_tag_start ui_tag_content ui_tag_end ui_tag ui_alert ui_button_icon ui_link_icon ui_icon ui_br ui_p ui_text_mask get_python_cmd get_buffer_size get_buffer_size_binary get_webprefix get_sub_ref_name setvar getvar delvar print_call_stack webmin_user_can_rpc webmin_user_login_mode webmin_user_is_admin webmin_user_is get_current_theme_info_cached miniserv_using_default_cert is_int float is_float parse_accepted_language get_default_system_locale get_http_redirect get_http_cookie create_wrapper get_lock_links_dir allocate_miniserv_websocket get_miniserv_websocket_url remove_miniserv_websocket cleanup_miniserv_websockets get_miniserv_websockets_modules get_webmin_base_url encrypt_phrase decrypt_phrase is_encrypt_phrase);
+@EXPORT = qw(read_file read_file_cached read_file_cached_with_stat write_file html_escape html_unescape html_strip quote_escape quote_javascript default_webmin_temp_dir tempname_dir tempname_dir_sys tempname transname transname_timestamped trunc indexof indexoflc sysprint check_ipaddress check_ip6address generate_icon urlize un_urlize include copydata ReadParseMime ReadParse read_fully read_parse_mime_callback read_parse_mime_javascript PrintHeader header get_html_title get_html_framed_title get_html_status_line popup_header footer popup_footer load_module_preferences load_theme_library redirect kill_byname kill_byname_logged find_byname error error_stderr popup_error register_error_handler call_error_handlers error_setup wait_for fast_wait_for has_command make_date make_date_relative file_chooser_button popup_window_button popup_window_link read_acl acl_filename acl_check get_miniserv_config_file get_miniserv_config put_miniserv_config restart_miniserv reload_miniserv check_os_support http_download complete_http_download http_post ftp_download ftp_upload no_proxy open_socket download_timeout ftp_command to_ipaddress to_ip6address to_hostname icons_table replace_meta replace_file_line read_file_lines flush_file_lines unflush_file_lines unix_user_input unix_group_input hlink user_chooser_button group_chooser_button foreign_check foreign_exists foreign_available foreign_require foreign_call foreign_config foreign_installed foreign_defined get_system_hostname get_webmin_version get_webmin_version_release get_webmin_full_version get_module_acl get_group_module_acl save_module_acl save_group_module_acl init_config load_language_auto load_language text_subs text encode_base64 decode_base64 encode_base32 decode_base32 get_module_info get_all_module_infos list_themes get_theme_info list_locales list_languages safe_language read_env_file write_env_file lock_file unlock_file test_lock unlock_all_files can_lock_file webmin_log additional_log var_dump webmin_debug_log system_logged backquote_logged backquote_with_timeout backquote_command kill_logged rename_logged rename_file symlink_logged symlink_file link_file make_dir make_dir_recursive set_ownership_permissions unlink_logged unlink_file copy_permissions_source_dest copy_source_dest move_source_dest remote_session_name verify_session_id remote_foreign_require remote_foreign_call remote_foreign_check remote_foreign_config remote_eval remote_write remote_read remote_finished remote_error_setup remote_rpc_call remote_multi_callback remote_multi_callback_error serialise_variable unserialise_variable other_groups date_chooser_button help_file read_help_file seed_random disk_usage_kb recursive_disk_usage help_search_link make_http_connection validate_ssl_connection read_http_connection write_http_connection close_http_connection clean_environment reset_environment clean_language progress_callback switch_to_remote_user switch_to_unix_user eval_as_unix_user create_user_config_dirs create_missing_homedir filter_javascript resolve_links simplify_path same_file flush_webmin_caches list_usermods available_usermods get_available_module_infos get_visible_module_infos get_visible_modules_categories is_under_directory parse_http_url check_clicks_function load_entities_map entities_to_ascii get_product_name get_charset get_display_hostname save_module_config save_user_module_config nice_size get_perl_path get_goto_module select_all_link select_invert_link select_rows_link check_pid_file get_mod_lib module_root_directory list_mime_types guess_mime_type open_tempfile close_tempfile print_tempfile is_selinux_enabled get_clear_file_attributes reset_file_attributes cleanup_tempnames open_lock_tempfile END month_to_number number_to_month get_rbac_module_acl supports_rbac supports_ipv6 use_rbac_module_acl execute_command open_readfile open_execute_command translate_filename translate_command register_filename_callback register_command_callback capture_function_output capture_function_output_tempfile modules_chooser_button substitute_template substitute_pattern running_in_zone running_in_vserver running_in_xen running_in_openvz list_categories is_readonly_mode command_as_user list_osdn_mirrors convert_osdn_url get_current_dir supports_users supports_symlinks quote_path get_windows_root read_file_contents write_file_contents read_file_contents_limit unix_crypt split_quoted_string write_to_http_cache check_in_http_cache clear_http_cache supports_javascript get_module_name get_module_variable clear_time_locale reset_time_locale callers_package web_libs_package get_userdb_string connect_userdb disconnect_userdb split_userdb_string uniquelc list_combined_webmin_menu list_modules_webmin_menu module_to_menu_item list_combined_system_info shell_is_bash compare_version_numbers convert_to_json convert_from_json print_json get_referer_relative get_webmin_email_url get_webmin_browser_url trim ui_link ui_help ui_img ui_link_button ui_table_start ui_table_end ui_table_row ui_table_hr ui_table_span ui_columns_start ui_columns_row ui_columns_header ui_checked_columns_row ui_radio_columns_row ui_columns_end ui_columns_table ui_form_columns_table ui_form_elements_wrapper ui_form_start ui_form_end ui_textbox ui_filebox ui_bytesbox ui_upload ui_password ui_hidden ui_select ui_multi_select ui_multi_select_javascript ui_radio ui_yesno_radio ui_radio_row ui_checkbox ui_oneradio ui_textarea ui_user_textbox ui_users_textbox ui_group_textbox ui_groups_textbox ui_opt_textbox ui_submit ui_reset ui_button ui_date_input ui_buttons_start ui_buttons_end ui_buttons_row ui_buttons_hr ui_post_header ui_pre_footer ui_print_header ui_print_unbuffered_header ui_print_footer ui_config_link ui_print_endpage ui_subheading ui_links_row ui_hidden_javascript ui_hidden_start ui_hidden_end ui_hidden_table_row_start ui_hidden_table_row_end ui_hidden_table_start ui_hidden_table_end ui_tabs_start ui_tabs_end ui_tabs_start_tab ui_tabs_start_tabletab ui_tabs_end_tab ui_tabs_end_tabletab ui_max_text_width ui_radio_selector ui_radio_selector_javascript ui_switch_theme_javascript ui_grid_table ui_radio_table ui_up_down_arrows ui_hr ui_nav_link ui_confirmation_form ui_text_color ui_alert_box js_disable_inputs ui_page_flipper js_checkbox_disable js_redirect ui_webmin_link ui_line_break_double ui_page_refresh ui_details ui_div_row ui_space ui_newline ui_text_wrap ui_element_inline ui_paginations ui_hide_outside_of_viewport ui_read_file_contents_limit ui_note ui_brh ui_tag_start ui_tag_content ui_tag_end ui_tag ui_alert ui_button_icon ui_link_icon ui_icon ui_br ui_p ui_text_mask get_python_cmd get_buffer_size get_buffer_size_binary get_webprefix get_sub_ref_name setvar getvar delvar print_call_stack webmin_user_can_rpc webmin_user_login_mode webmin_user_is_admin webmin_user_is get_current_theme_info_cached miniserv_using_default_cert is_int float is_float parse_accepted_language get_default_system_locale get_http_redirect get_http_cookie create_wrapper get_lock_links_dir allocate_miniserv_websocket get_miniserv_websocket_url remove_miniserv_websocket cleanup_miniserv_websockets get_miniserv_websockets_modules get_webmin_base_url encrypt_phrase decrypt_phrase is_encrypt_phrase);
# Add global variables in web-lib.pl
push(@EXPORT, qw(&unique));
diff --git a/cluster-usermin/upgrade.cgi b/cluster-usermin/upgrade.cgi
index 6e9f8e42d..506509202 100755
--- a/cluster-usermin/upgrade.cgi
+++ b/cluster-usermin/upgrade.cgi
@@ -332,7 +332,8 @@ foreach $h (@hosts) {
\$ENV{'config_dir'} = \$config{'usermin_dir'};
\$ENV{'webmin_upgrade'} = 1;
\$ENV{'autothird'} = 1;
- \$out = `(cd $extract/usermin-$version && $setup) &1 | tee /tmp/.webmin/usermin-setup.out`;
+ \$tmp = &tempname_dir();
+ \$out = `(cd $extract/usermin-$version && $setup) &1 | tee \$tmp/usermin-setup.out`;
(\$out, \$?)");
if ($out !~ /success/i) {
print $wh &serialise_variable(
diff --git a/cluster-webmin/upgrade.cgi b/cluster-webmin/upgrade.cgi
index 29153a713..d4be5dbd7 100755
--- a/cluster-webmin/upgrade.cgi
+++ b/cluster-webmin/upgrade.cgi
@@ -423,7 +423,8 @@ foreach $h (@hosts) {
\$ENV{'config_dir'} = \$config_directory;
\$ENV{'webmin_upgrade'} = 1;
\$ENV{'autothird'} = 1;
- \$out = `(cd $extract/webmin-$version && $setup) &1 | tee /tmp/.webmin/webmin-setup.out`;
+ \$tmp = &tempname_dir();
+ \$out = `(cd $extract/webmin-$version && $setup) &1 | tee \$tmp/webmin-setup.out`;
(\$out, \$?)");
if ($ex || $out !~ /success|^0$/i) {
print $wh &serialise_variable(
diff --git a/cpan/delete_file.cgi b/cpan/delete_file.cgi
index be9c63084..a427b48ef 100755
--- a/cpan/delete_file.cgi
+++ b/cpan/delete_file.cgi
@@ -4,7 +4,7 @@
require './cpan-lib.pl';
&ReadParse();
-$tmp_base = $gconfig{'tempdir'} || "/tmp/.webmin";
+$tmp_base = $gconfig{'tempdir'} || &default_webmin_temp_dir();
foreach $f (split(/\0/, $in{'file'})) {
$f =~ /^\Q$tmp_base\E\// || &error($text{'delete_efile'});
unlink($f);
diff --git a/cron/cron-lib.pl b/cron/cron-lib.pl
index ba56110fb..6991d062e 100755
--- a/cron/cron-lib.pl
+++ b/cron/cron-lib.pl
@@ -1558,7 +1558,7 @@ if ($err) {
=head2 cleanup_temp_files
-Called from cron to delete old files in the Webmin /tmp directory, and also
+Called from cron to delete old files in the Webmin temp directory, and also
old lock links directories.
=cut
@@ -1570,7 +1570,7 @@ if (!$gconfig{'tempdelete_days'}) {
return;
}
-# Cleanup files in /tmp/.webmin
+# Cleanup files in the default Webmin temp directory
if ($gconfig{'tempdir'} && !$gconfig{'tempdirdelete'}) {
print STDERR "Temp file clearing is not done for the custom directory $gconfig{'tempdir'}\n";
}
@@ -1578,7 +1578,7 @@ else {
my $tempdir = &transname();
$tempdir =~ s/\/([^\/]+)$//;
if (!$tempdir || $tempdir eq "/") {
- $tempdir = "/tmp/.webmin";
+ $tempdir = &default_webmin_temp_dir();
}
my $cutoff = time() - $gconfig{'tempdelete_days'}*24*60*60;
diff --git a/software/delete_file.cgi b/software/delete_file.cgi
index d18c120be..ce5ad101a 100755
--- a/software/delete_file.cgi
+++ b/software/delete_file.cgi
@@ -4,7 +4,8 @@
require './software-lib.pl';
&ReadParse();
-$in{'file'} =~ /^\/tmp\/.webmin\// || &error($text{'delete_efile'});
+my $tmp_base = $gconfig{'tempdir'} || &default_webmin_temp_dir();
+$in{'file'} =~ /^\Q$tmp_base\E\// || &error($text{'delete_efile'});
unlink($in{'file'});
&redirect("");
diff --git a/web-lib-funcs.pl b/web-lib-funcs.pl
index a6beea306..cc6cfc445 100755
--- a/web-lib-funcs.pl
+++ b/web-lib-funcs.pl
@@ -440,6 +440,17 @@ my $keys = ($modk && $gconfig{$modk}) ? "$modk or tempdir_sys" : "tempdir_sys";
"directory in $config_directory/config and try again.");
}
+=head2 default_webmin_temp_dir()
+
+Returns the built-in Webmin temporary directory path used when no tempdir
+configuration or environment override is set.
+
+=cut
+sub default_webmin_temp_dir
+{
+return -d "c:/temp" ? "c:/temp" : "/tmp/.webmin";
+}
+
=head2 tempname_dir()
Returns the base directory under which temp files can be created.
@@ -452,7 +463,7 @@ my $tmp_base = $gconfig{'tempdir_'.&get_module_name()} ?
$gconfig{'tempdir'} ? $gconfig{'tempdir'} :
$ENV{'TEMP'} && $ENV{'TEMP'} ne "/tmp" ? $ENV{'TEMP'} :
$ENV{'TMP'} && $ENV{'TMP'} ne "/tmp" ? $ENV{'TMP'} :
- -d "c:/temp" ? "c:/temp" : "/tmp/.webmin";
+ &default_webmin_temp_dir();
my $tmp_dir;
if (@remote_user_info && -d $remote_user_info[7] &&
-w $remote_user_info[7] && !$gconfig{'nohometemp'}) {
@@ -478,9 +489,9 @@ return $tmp_dir;
=head2 tempname([filename])
-Returns a mostly random temporary file name, typically under the /tmp/.webmin
-directory. If filename is given, this will be the base name used. Otherwise
-a unique name is selected randomly.
+Returns a mostly random temporary file name, typically under Webmin's default
+temp directory. If filename is given, this will be the base name used.
+Otherwise a unique name is selected randomly.
=cut
sub tempname
diff --git a/webmin/edit_advanced.cgi b/webmin/edit_advanced.cgi
index c0f367932..0037976df 100755
--- a/webmin/edit_advanced.cgi
+++ b/webmin/edit_advanced.cgi
@@ -10,8 +10,9 @@ print &ui_table_start($text{'advanced_header'}, undef, 2);
# Global temp directory
print &ui_table_row($text{'advanced_temp'},
- &ui_opt_textbox("tempdir", $gconfig{'tempdir'},
- 30, $text{'advanced_tempdef'})."
".
+ &ui_opt_textbox("tempdir", $gconfig{'tempdir'}, 30,
+ &text('advanced_tempdef', &default_webmin_temp_dir())).
+ "
".
&ui_checkbox("tempdirdelete", 1, $text{'advanced_tdd'},
$gconfig{'tempdirdelete'}));
diff --git a/webmin/lang/ar.auto b/webmin/lang/ar.auto
index 036e5f70b..577c71625 100644
--- a/webmin/lang/ar.auto
+++ b/webmin/lang/ar.auto
@@ -817,7 +817,7 @@ export_done=Successfully exported the selected modules to $1.
export_title=وحدات التصدير
advanced_temp=دليل الملفات المؤقتة
-advanced_tempdef=Default (/tmp/.webmin)
+advanced_tempdef=Default ($1)
advanced_tdd=مسح الملفات المؤقتة في الدليل غير القياسي؟
advanced_tempdelete=الحد الأقصى لسن الملفات المؤقتة
advanced_preload=قبل تحميل مكتبة وظائف Webmin؟
diff --git a/webmin/lang/bg.auto b/webmin/lang/bg.auto
index 6362ea3d1..cdf1c7d37 100644
--- a/webmin/lang/bg.auto
+++ b/webmin/lang/bg.auto
@@ -914,7 +914,7 @@ export_title=Експортиране на модули
advanced_title=Разширени опции
advanced_header=Разширени и експериментални опции
advanced_temp=Временна директория с файлове
-advanced_tempdef=По подразбиране (/tmp/.webmin)
+advanced_tempdef=По подразбиране ($1)
advanced_tdd=Изчистване на темп файловете в нестандартна директория?
advanced_tempdelete=Максимална възраст на временните файлове
advanced_nodelete=неограничен
diff --git a/webmin/lang/ca b/webmin/lang/ca
index 70496a817..f6b83525f 100644
--- a/webmin/lang/ca
+++ b/webmin/lang/ca
@@ -812,7 +812,7 @@ export_title=Exportació de Mòduls
advanced_title=Opcions Avançades
advanced_header=Opcions avançades i experimentals
advanced_temp=Directori de fitxers temporals
-advanced_tempdef=Per defecte (/tmp/.webmin)
+advanced_tempdef=Per defecte ($1)
advanced_tdd=Neteja els fitxers temporals del directori no estàndard
advanced_tempdelete=Edat màxima dels fitxers temporal
advanced_nodelete=Il·limitada
diff --git a/webmin/lang/cs b/webmin/lang/cs
index 9578606da..1e14188fe 100644
--- a/webmin/lang/cs
+++ b/webmin/lang/cs
@@ -683,7 +683,7 @@ export_title=Exportovat moduly
advanced_title=Rozšířené možnosti
advanced_header=Rozšířené a experimentální volby
advanced_temp=Adresář pro dočasné soubory
-advanced_tempdef=Výchozí (/tmp/.webmin)
+advanced_tempdef=Výchozí ($1)
advanced_tdd=Vyčistit dočasné soubory z nestandardních adresářů?
advanced_tempdelete=Maximální stáří dočasných souborů
advanced_nodelete=Neomezeno
diff --git a/webmin/lang/da.auto b/webmin/lang/da.auto
index 9ff4334f0..485fad8af 100644
--- a/webmin/lang/da.auto
+++ b/webmin/lang/da.auto
@@ -914,7 +914,7 @@ export_title=Eksport moduler
advanced_title=Avancerede indstillinger
advanced_header=Avancerede og eksperimentelle indstillinger
advanced_temp=Midlertidig filmappe
-advanced_tempdef=Standard (/tmp/.webmin)
+advanced_tempdef=Standard ($1)
advanced_tdd=Rydde temp-filer i ikke-standard katalog?
advanced_tempdelete=Maksimal alder for midlertidige filer
advanced_nodelete=Ubegrænset
diff --git a/webmin/lang/de b/webmin/lang/de
index 01de953c6..c6bfb3a74 100644
--- a/webmin/lang/de
+++ b/webmin/lang/de
@@ -914,7 +914,7 @@ export_title=Module exportieren
advanced_title=Erweiterte Optionen
advanced_header=Erweiterte und experimentelle Optionen
advanced_temp=Verzeichnis für temporäre Dateien
-advanced_tempdef=Standard (/tmp/.webmin)
+advanced_tempdef=Standard ($1)
advanced_tdd=Temporäre Dateien im benutzerdefinierten Verzeichnis löschen?
advanced_tempdelete=Maximales Alter temporärer Dateien
advanced_nodelete=Unbegrenzt
diff --git a/webmin/lang/el.auto b/webmin/lang/el.auto
index 1ca0b8233..453ca8534 100644
--- a/webmin/lang/el.auto
+++ b/webmin/lang/el.auto
@@ -914,7 +914,7 @@ export_title=Εξαγωγικές μονάδες
advanced_title=Προχωρημένες επιλογές
advanced_header=Προηγμένες και πειραματικές επιλογές
advanced_temp=Κατάλογος προσωρινών αρχείων
-advanced_tempdef=Προεπιλογή (/tmp/.webmin)
+advanced_tempdef=Προεπιλογή ($1)
advanced_tdd=Εκκαθάριση αρχείων temp σε μη τυπικό κατάλογο;
advanced_tempdelete=Μέγιστη ηλικία προσωρινών αρχείων
advanced_nodelete=Απεριόριστος
diff --git a/webmin/lang/en b/webmin/lang/en
index 9f077dc6a..d673d88ce 100644
--- a/webmin/lang/en
+++ b/webmin/lang/en
@@ -917,7 +917,7 @@ export_title=Export Modules
advanced_title=Advanced Options
advanced_header=Advanced and experimental options
advanced_temp=Temporary files directory
-advanced_tempdef=Default (/tmp/.webmin)
+advanced_tempdef=Default ($1)
advanced_tdd=Clear temp files in non-standard directory?
advanced_tempdelete=Maximum age of temporary files
advanced_nodelete=Unlimited
diff --git a/webmin/lang/es b/webmin/lang/es
index 28a998545..ac8db69c1 100644
--- a/webmin/lang/es
+++ b/webmin/lang/es
@@ -568,7 +568,7 @@ export_ecmd=Falta comando necesario $1
advanced_title=Opciones Avanzadas
advanced_header=Opciones avanzadas y experimentales
advanced_temp=Directorio de archivos temporales
-advanced_tempdef=Por defecto (/tmp/.webmin)
+advanced_tempdef=Por defecto ($1)
advanced_preload=¿Precargar librería de funciones Webmin?
advanced_err=Fallo al salvar opciones avanzadas
advanced_etemp=El directorio de archivos temporales falta o no existe
diff --git a/webmin/lang/eu.auto b/webmin/lang/eu.auto
index 7bce91136..a9ae87259 100644
--- a/webmin/lang/eu.auto
+++ b/webmin/lang/eu.auto
@@ -914,7 +914,7 @@ export_title=Esportazio moduluak
advanced_title=Aukera aurreratuak
advanced_header=Aukera aurreratuak eta esperimentalak
advanced_temp=Aldi baterako fitxategien direktorio
-advanced_tempdef=Lehenespenez (/tmp/.webmin)
+advanced_tempdef=Lehenespenez ($1)
advanced_tdd=Direktorio ez estandarraren fitxategiak garbitu?
advanced_tempdelete=Aldi baterako fitxategien gehieneko adina
advanced_nodelete=Mugarik gabe
diff --git a/webmin/lang/fa.auto b/webmin/lang/fa.auto
index 9e6d960d5..e0225f5aa 100644
--- a/webmin/lang/fa.auto
+++ b/webmin/lang/fa.auto
@@ -407,7 +407,7 @@ export_title=ماژول های صادراتی
advanced_title=گزینه های پیشرفته
advanced_header=گزینه های پیشرفته و آزمایشی
advanced_temp=فهرست پرونده های موقتی
-advanced_tempdef=Default (/tmp/.webmin)
+advanced_tempdef=Default ($1)
advanced_tdd=پاک کردن پرونده های دما در فهرست غیر استاندارد؟
advanced_tempdelete=حداکثر سن پرونده های موقتی
advanced_nodelete=نامحدود
diff --git a/webmin/lang/fi.auto b/webmin/lang/fi.auto
index 2b7125a8b..bcc62979d 100644
--- a/webmin/lang/fi.auto
+++ b/webmin/lang/fi.auto
@@ -914,7 +914,7 @@ export_title=Vie moduulit
advanced_title=Edistyneet asetukset
advanced_header=Lisäasetukset ja kokeelliset vaihtoehdot
advanced_temp=Väliaikaisten tiedostojen hakemisto
-advanced_tempdef=Oletus (/tmp/.webmin)
+advanced_tempdef=Oletus ($1)
advanced_tdd=Poistetaanko temp-tiedostot epästandardissa hakemistossa?
advanced_tempdelete=Väliaikaisten tiedostojen enimmäisikä
advanced_nodelete=Rajoittamaton
diff --git a/webmin/lang/fr b/webmin/lang/fr
index 7d9e6fa0f..fe85ee3bb 100644
--- a/webmin/lang/fr
+++ b/webmin/lang/fr
@@ -818,7 +818,7 @@ export_title=Modules d'exportation
advanced_title=Options avancées
advanced_header=Options avancées et expérimentales
advanced_temp=Répertoire des fichiers temporaires
-advanced_tempdef=Défaut (/tmp/.webmin)
+advanced_tempdef=Défaut ($1)
advanced_tdd=Effacer les fichiers temporaires dans un répertoire non standard?
advanced_tempdelete=Âge maximum des fichiers temporaires
advanced_nodelete=Illimité
diff --git a/webmin/lang/hr.auto b/webmin/lang/hr.auto
index 9a7f778cb..154be4fcc 100644
--- a/webmin/lang/hr.auto
+++ b/webmin/lang/hr.auto
@@ -914,7 +914,7 @@ export_title=Izvoz modula
advanced_title=Napredne opcije
advanced_header=Napredne i eksperimentalne mogućnosti
advanced_temp=Imenik privremenih datoteka
-advanced_tempdef=Zadano (/tmp/.webmin)
+advanced_tempdef=Zadano ($1)
advanced_tdd=Želite li obrisati temp datoteke u nestandardnom direktoriju?
advanced_tempdelete=Maksimalna dob privremenih datoteka
advanced_nodelete=Neograničen
diff --git a/webmin/lang/hu.auto b/webmin/lang/hu.auto
index cfa5cd7fc..d70a88e0f 100644
--- a/webmin/lang/hu.auto
+++ b/webmin/lang/hu.auto
@@ -821,7 +821,7 @@ export_title=Export modulok
advanced_title=Haladó beállítások
advanced_header=Speciális és kísérleti lehetőségek
advanced_temp=Ideiglenes fájlok könyvtára
-advanced_tempdef=Alapértelmezett (/tmp/.webmin)
+advanced_tempdef=Alapértelmezett ($1)
advanced_tdd=Törli a ideiglenes fájlokat a nem szabványos könyvtárban?
advanced_tempdelete=Az ideiglenes fájlok maximális életkora
advanced_nodelete=Korlátlan
diff --git a/webmin/lang/it b/webmin/lang/it
index 12cce1154..fa1ce2cf3 100644
--- a/webmin/lang/it
+++ b/webmin/lang/it
@@ -683,7 +683,7 @@ export_title=Esporta Moduli
advanced_title=Opzioni avanzate
advanced_header=Opzioni avanzate e sperimentali
advanced_temp=Directory dei file temporanei
-advanced_tempdef=Predefinito (/tmp/.webmin)
+advanced_tempdef=Predefinito ($1)
advanced_tdd=Eliminare i file temporanei nelle directory non standard?
advanced_tempdelete=Durata massima dei file temporanei
advanced_nodelete=Illimitata
diff --git a/webmin/lang/ja b/webmin/lang/ja
index 53c45428c..e6f47ce73 100644
--- a/webmin/lang/ja
+++ b/webmin/lang/ja
@@ -829,7 +829,7 @@ export_title=モジュールのエクスポート
advanced_title=高度なオプション
advanced_header=高度で実験的なオプション
advanced_temp=一時ファイルを置くディレクトリ
-advanced_tempdef=既定 ( /tmp/.webmin )
+advanced_tempdef=既定 ( $1 )
advanced_tdd=変更した 一時ファイルを置くディレクトリ 内のファイルを定期的に削除する
advanced_tempdelete=一時ファイルを残す期間
advanced_nodelete=無制限
diff --git a/webmin/lang/ko b/webmin/lang/ko
index b91726fe9..c1ce527fc 100644
--- a/webmin/lang/ko
+++ b/webmin/lang/ko
@@ -685,7 +685,7 @@ export_title=모듈 내보내기
advanced_title=고급 옵션
advanced_header=고급과 실험적인 옵션
advanced_temp=임시 파일 디렉토리
-advanced_tempdef=기본 (/tmp/.webmin)
+advanced_tempdef=기본 ($1)
advanced_tdd=non-standard 디렉토리의 임시 파일을 제거 하겠습니까?
advanced_tempdelete=임시 파일 보존 기간
advanced_nodelete=제한 없음
diff --git a/webmin/lang/ms b/webmin/lang/ms
index a37aa1948..d6e59b2e6 100644
--- a/webmin/lang/ms
+++ b/webmin/lang/ms
@@ -769,7 +769,7 @@ export_title=Eksport modul
advanced_title=Pilihan Lanjutan
advanced_header=Pilihan lanjutan dan eksperimen
advanced_temp=Direktori fail sementara
-advanced_tempdef=Lalai (/tmp/.webmin)
+advanced_tempdef=Lalai ($1)
advanced_tdd=Bersihkan fail sementara di dalam direktori tidak standard?
advanced_tempdelete=Tempoh maksimum fail sementara
advanced_nodelete=Tiada had
diff --git a/webmin/lang/nl b/webmin/lang/nl
index 15b3aeab6..c248601d3 100644
--- a/webmin/lang/nl
+++ b/webmin/lang/nl
@@ -752,7 +752,7 @@ export_title=Export Modules
advanced_title=Geavanceerde Opties
advanced_header=Geavanceerde en experimentele opties
advanced_temp=Directory voor tijdelijke bestanden
-advanced_tempdef=Standaard (/tmp/.webmin)
+advanced_tempdef=Standaard ($1)
advanced_tdd=Wis tijdelijke files in niet standaard directory?
advanced_tempdelete=Maximum leeftijd voor tijdelijke files
advanced_nodelete=Ongelimiteerd
diff --git a/webmin/lang/no b/webmin/lang/no
index 37d70266e..2a2e815a7 100644
--- a/webmin/lang/no
+++ b/webmin/lang/no
@@ -818,7 +818,7 @@ export_title=Eksporter moduler
advanced_title=Avanserte innstillinger
advanced_header=Avanserte og eksperimentelle innstillinger
advanced_temp=Katalog for midlertidige filer
-advanced_tempdef=Standard (/tmp/.webmin)
+advanced_tempdef=Standard ($1)
advanced_tdd=Fjern temp filer i ikke-standard katalog?
advanced_tempdelete=Maks. alder på midlertidige filer
advanced_nodelete=Ubegrenset
diff --git a/webmin/lang/pl b/webmin/lang/pl
index 108afa30b..a23853947 100644
--- a/webmin/lang/pl
+++ b/webmin/lang/pl
@@ -784,7 +784,7 @@ export_title=Eksportuj moduły
advanced_title=Opcje zaawansowane
advanced_header=Opcje zaawansowane i eksperymentalne
advanced_temp=Katalog plików tymczasowych
-advanced_tempdef=Domyślnie (/tmp/.webmin)
+advanced_tempdef=Domyślnie ($1)
advanced_tdd=Czyścić pliki tymczasowe w katalogu niestandardowym?
advanced_tempdelete=Maksymalny wiem plików tymczasowych
advanced_nodelete=Bez limitu
diff --git a/webmin/lang/pt.auto b/webmin/lang/pt.auto
index 4edbeb820..3b14a1adb 100644
--- a/webmin/lang/pt.auto
+++ b/webmin/lang/pt.auto
@@ -426,7 +426,7 @@ export_title=Módulos de Exportação
advanced_title=Opções avançadas
advanced_header=Opções avançadas e experimentais
advanced_temp=Diretório de arquivos temporários
-advanced_tempdef=Padrão (/tmp/.webmin)
+advanced_tempdef=Padrão ($1)
advanced_tdd=Limpar arquivos temporários no diretório não padrão?
advanced_tempdelete=Idade máxima dos arquivos temporários
advanced_nodelete=Ilimitado
diff --git a/webmin/lang/pt_BR b/webmin/lang/pt_BR
index 7ff15e3b0..d7f244d7e 100644
--- a/webmin/lang/pt_BR
+++ b/webmin/lang/pt_BR
@@ -710,7 +710,7 @@ export_title=Exportar Módulos
advanced_title=Opções Avançadas
advanced_header=Opções avançadas e experimentais
advanced_temp=Diretório de arquivos temporários
-advanced_tempdef=Padrão (/tmp/.webmin)
+advanced_tempdef=Padrão ($1)
advanced_tdd=Limpar arquivos temporários em diretórios não-padrão?
advanced_tempdelete=Idade máxima de arquivos temporários
advanced_nodelete=Ilimitado
diff --git a/webmin/lang/ru b/webmin/lang/ru
index b3ed2b099..41aa9b186 100644
--- a/webmin/lang/ru
+++ b/webmin/lang/ru
@@ -697,7 +697,7 @@ export_title=Экспорт модулей
advanced_title=Дополнительные опции
advanced_header=Продвинутые и экспериментальные опции
advanced_temp=Директория для временных файлов
-advanced_tempdef=По-умолчанию (/tmp/.webmin)
+advanced_tempdef=По-умолчанию ($1)
advanced_tdd=Очищать временные файлы в нестандартной директории?
advanced_tempdelete=Максимальный возраст временных файлов
advanced_nodelete=Неограниченный
diff --git a/webmin/lang/sk b/webmin/lang/sk
index 74b2f0b04..6101e032d 100644
--- a/webmin/lang/sk
+++ b/webmin/lang/sk
@@ -632,7 +632,7 @@ export_title=Exportovanie modulov
advanced_title=Rozšírené Nastavenia
advanced_header=Rozšírené a experimentálne voľby
advanced_temp=Dočasný súborový adresár
-advanced_tempdef=Štandardný (/tmp/.webmin)
+advanced_tempdef=Štandardný ($1)
advanced_tdd=Zmazať dočasné súbory v adresári nie-štandartnom?
advanced_tempdelete=Maximálny vek dočasných súborov
advanced_nodelete=Neobmedzené
diff --git a/webmin/lang/sv b/webmin/lang/sv
index d76e735dc..cfbbb82dd 100644
--- a/webmin/lang/sv
+++ b/webmin/lang/sv
@@ -261,7 +261,7 @@ referers_referer=Ska webbsidekontrollen vara påslagen?
advanced_header=Avancerade och experimentella alternativ
advanced_temp=Tillfälliga filer-mapp
-advanced_tempdef=Standard (/tmp/.webmin)
+advanced_tempdef=Standard ($1)
advanced_tempdelete=Högsta ålder av temporära filer
advanced_nodelete=Obegränsad
advanced_days=dagar
diff --git a/webmin/lang/tr.auto b/webmin/lang/tr.auto
index b1cea91bf..648775db7 100644
--- a/webmin/lang/tr.auto
+++ b/webmin/lang/tr.auto
@@ -437,7 +437,7 @@ export_title=İhracat Modülleri
advanced_title=Gelişmiş seçenekler
advanced_header=Gelişmiş ve deneysel seçenekler
advanced_temp=Geçici dosyalar dizini
-advanced_tempdef=Varsayılan (/tmp/.webmin)
+advanced_tempdef=Varsayılan ($1)
advanced_tdd=Standart olmayan dizindeki geçici dosyalar temizlensin mi?
advanced_tempdelete=Maksimum geçici dosya yaşı
advanced_nodelete=Sınırsız
diff --git a/webmin/lang/uk.auto b/webmin/lang/uk.auto
index ac81359ee..41ef7a492 100644
--- a/webmin/lang/uk.auto
+++ b/webmin/lang/uk.auto
@@ -528,7 +528,7 @@ export_title=Експорт модулів
advanced_title=Розширені опції
advanced_header=Розширені та експериментальні варіанти
advanced_temp=Каталог тимчасових файлів
-advanced_tempdef=За замовчуванням (/tmp/.webmin)
+advanced_tempdef=За замовчуванням ($1)
advanced_tdd=Очистити тимчасові файли в нестандартному каталозі?
advanced_tempdelete=Максимальний вік тимчасових файлів
advanced_nodelete=Необмежений
diff --git a/webmin/lang/zh b/webmin/lang/zh
index 1860f6301..91c0c8022 100644
--- a/webmin/lang/zh
+++ b/webmin/lang/zh
@@ -895,7 +895,7 @@ export_title=导出模块
advanced_title=高级选项
advanced_header=高级和实验选项
advanced_temp=临时文件目录
-advanced_tempdef=默认值 (/tmp/.webmin)
+advanced_tempdef=默认值 ($1)
advanced_tdd=是否清除非标准目录中的临时文件?
advanced_tempdelete=时文件的最长期限
advanced_nodelete=不限制
diff --git a/webmin/lang/zh_TW.auto b/webmin/lang/zh_TW.auto
index 1ae9ecbe6..f0783d9c5 100644
--- a/webmin/lang/zh_TW.auto
+++ b/webmin/lang/zh_TW.auto
@@ -471,7 +471,7 @@ export_title=導出模塊
advanced_title=高級選項
advanced_header=進階和實驗選項
advanced_temp=臨時文件目錄
-advanced_tempdef=默認值(/tmp/.webmin)
+advanced_tempdef=默認值($1)
advanced_tdd=清除非標準目錄中的臨時文件?
advanced_tempdelete=臨時文件的最長期限
advanced_nodelete=無限