|
|
|
@ -42,7 +42,9 @@ sub load_hdf()
|
|
|
|
|
|
|
|
|
|
# if it was requested as directory index (link from index.html), we should
|
|
|
|
|
# set a real script name - otherwise links with a query string will break
|
|
|
|
|
$hdf->setValue("ScriptName", ($ENV{'SCRIPT_NAME'} eq '/')? '/cryptobox' : $ENV{'SCRIPT_NAME'});
|
|
|
|
|
# ignore POST part of the SCRIPT_NAME (after "&")
|
|
|
|
|
(my $script_url = $ENV{'SCRIPT_NAME'}) =~ m/^[^&]*/;
|
|
|
|
|
$hdf->setValue("ScriptName", ($ENV{'SCRIPT_NAME'} eq '/')? '/cryptobox' : $script_url );
|
|
|
|
|
|
|
|
|
|
&load_language_data($hdf, $LANGUAGE);
|
|
|
|
|
|
|
|
|
@ -246,6 +248,24 @@ $pagedata = load_hdf();
|
|
|
|
|
|
|
|
|
|
#TODO: check result of actions and set Data.Error for failures
|
|
|
|
|
|
|
|
|
|
######### temporary language setting? ############
|
|
|
|
|
# the default language can be overriden by the language links in the
|
|
|
|
|
# upper right of the page
|
|
|
|
|
if ($query->param('weblang')) {
|
|
|
|
|
my $weblang = $query->param('weblang');
|
|
|
|
|
if (&validate_language($weblang)) {
|
|
|
|
|
&log_msg("lang: $weblang");
|
|
|
|
|
# load the data
|
|
|
|
|
&load_language_data($pagedata, "$weblang");
|
|
|
|
|
&log_msg("loaded: $weblang");
|
|
|
|
|
# add the setting to every link
|
|
|
|
|
$pagedata->setValue('Data.PostData.weblang', "$weblang");
|
|
|
|
|
&log_msg("set: $weblang");
|
|
|
|
|
} else {
|
|
|
|
|
$pagedata->setValue('Data.Warning', 'InvalidLanguage');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# first: check for ssl!
|
|
|
|
|
if ( ! &check_ssl()) {
|
|
|
|
|
$pagedata->setValue('Data.Error', 'NoSSL');
|
|
|
|
@ -253,7 +273,7 @@ if ( ! &check_ssl()) {
|
|
|
|
|
$pagedata->setValue('Data.Redirect.Delay', "3");
|
|
|
|
|
} elsif ( ! &is_harddisk_available()) {
|
|
|
|
|
$pagedata->setValue('Data.Error', 'NoHardDisk');
|
|
|
|
|
} elsif ($query->param) {
|
|
|
|
|
} elsif ($query->param('action')) {
|
|
|
|
|
my $action = $query->param('action');
|
|
|
|
|
################ umount_do #######################
|
|
|
|
|
if ($action eq 'umount_do') {
|
|
|
|
@ -371,18 +391,6 @@ if ( ! &check_ssl()) {
|
|
|
|
|
} else {
|
|
|
|
|
$pagedata->setValue('Data.Action', 'config_form');
|
|
|
|
|
}
|
|
|
|
|
#################### set_lang ########################
|
|
|
|
|
# this action is called by the language links in the upper left of the web interface
|
|
|
|
|
} elsif ($action eq 'set_lang') {
|
|
|
|
|
# TODO: ugly problem: can't save the setting, as long as the box is unconfigured
|
|
|
|
|
my $language = $query->param('language');
|
|
|
|
|
if (&validate_language($language)) {
|
|
|
|
|
system("$CB_SCRIPT", "set_config", "language", "$language");
|
|
|
|
|
&load_language_data($pagedata, $language);
|
|
|
|
|
} else {
|
|
|
|
|
$pagedata->setValue('Data.Warning', 'InvalidLanguage');
|
|
|
|
|
}
|
|
|
|
|
$pagedata->setValue('Data.Action', 'intro');
|
|
|
|
|
#################### config_do #######################
|
|
|
|
|
} elsif ($action eq 'config_do') {
|
|
|
|
|
if ( ! &check_config()) {
|
|
|
|
|