|
|
|
@ -295,18 +295,59 @@ sub validate_doc_language
|
|
|
|
|
|
|
|
|
|
$pagedata = load_hdf();
|
|
|
|
|
|
|
|
|
|
# BEWARE: there are two kinds of actions:
|
|
|
|
|
# * some require a harddisk
|
|
|
|
|
# * some do not require a harddisk
|
|
|
|
|
# take care, that you put a new action into the appropriate block below
|
|
|
|
|
|
|
|
|
|
# first: check for ssl!
|
|
|
|
|
if ( ! &check_ssl()) {
|
|
|
|
|
$pagedata->setValue('Data.Error', 'NoSSL');
|
|
|
|
|
$pagedata->setValue('Data.Redirect.URL', "https://" . $ENV{'HTTP_HOST'} . $ENV{'SCRIPT_NAME'});
|
|
|
|
|
$pagedata->setValue('Data.Redirect.Delay', "3");
|
|
|
|
|
} elsif ( ! &is_harddisk_available()) {
|
|
|
|
|
$pagedata->setValue('Data.Error', 'NoHardDisk');
|
|
|
|
|
} elsif ($query->param('action')) {
|
|
|
|
|
my $action = $query->param('action');
|
|
|
|
|
#--------------------------------------------------------------#
|
|
|
|
|
# here you may define all cases that do not require a harddisk #
|
|
|
|
|
# put all other cases below the harddisk check #
|
|
|
|
|
#--------------------------------------------------------------#
|
|
|
|
|
#################### show_log #######################
|
|
|
|
|
if ($action eq 'show_log') {
|
|
|
|
|
$pagedata->setValue('Data.Action', 'show_log');
|
|
|
|
|
##################### doc ############################
|
|
|
|
|
} elsif ($action eq 'doc') {
|
|
|
|
|
if ($query->param('page')) {
|
|
|
|
|
$pagedata->setValue('Data.Doc.Page', $query->param('page'));
|
|
|
|
|
$pagedata->setValue('Data.Action', 'doc');
|
|
|
|
|
} else {
|
|
|
|
|
$pagedata->setValue('Data.Doc.Page', 'CryptoBoxUser');
|
|
|
|
|
$pagedata->setValue('Data.Action', 'doc');
|
|
|
|
|
}
|
|
|
|
|
##################### poweroff ######################
|
|
|
|
|
} elsif ($action eq 'shutdown_ask') {
|
|
|
|
|
$pagedata->setValue('Data.Action', 'shutdown_form');
|
|
|
|
|
##################### reboot ########################
|
|
|
|
|
} elsif ($action eq 'shutdown_do') {
|
|
|
|
|
if ($query->param('type') eq 'reboot') {
|
|
|
|
|
&system_reboot();
|
|
|
|
|
$pagedata->setValue('Data.Success', 'ReBoot');
|
|
|
|
|
$pagedata->setValue('Data.Redirect.Action', 'status');
|
|
|
|
|
$pagedata->setValue('Data.Redirect.Delay', "180");
|
|
|
|
|
} else {
|
|
|
|
|
&system_poweroff();
|
|
|
|
|
$pagedata->setValue('Data.Success', 'PowerOff');
|
|
|
|
|
}
|
|
|
|
|
$pagedata->setValue('Data.Action', 'empty');
|
|
|
|
|
##################### check for a harddisk ##########################
|
|
|
|
|
# catch this error, to prevent all following actions from execution #
|
|
|
|
|
#####################################################################
|
|
|
|
|
} elsif ( ! &is_harddisk_available()) {
|
|
|
|
|
$pagedata->setValue('Data.Error', 'NoHardDisk');
|
|
|
|
|
#-------------------------------------------------------#
|
|
|
|
|
# here you may define all cases that require a harddisk #
|
|
|
|
|
#-------------------------------------------------------#
|
|
|
|
|
################ umount_do #######################
|
|
|
|
|
if ($action eq 'umount_do') {
|
|
|
|
|
} elsif ($action eq 'umount_do') {
|
|
|
|
|
if ( ! &check_config()) {
|
|
|
|
|
$pagedata->setValue('Data.Warning', 'NotInitialized');
|
|
|
|
|
$pagedata->setValue('Data.Action', 'init_form');
|
|
|
|
@ -497,33 +538,6 @@ if ( ! &check_ssl()) {
|
|
|
|
|
$pagedata->setValue('Data.Redirect.Delay', "30");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#################### show_log #######################
|
|
|
|
|
} elsif ($action eq 'show_log') {
|
|
|
|
|
$pagedata->setValue('Data.Action', 'show_log');
|
|
|
|
|
##################### doc ############################
|
|
|
|
|
} elsif ($action eq 'doc') {
|
|
|
|
|
if ($query->param('page')) {
|
|
|
|
|
$pagedata->setValue('Data.Doc.Page', $query->param('page'));
|
|
|
|
|
$pagedata->setValue('Data.Action', 'doc');
|
|
|
|
|
} else {
|
|
|
|
|
$pagedata->setValue('Data.Doc.Page', 'CryptoBoxUser');
|
|
|
|
|
$pagedata->setValue('Data.Action', 'doc');
|
|
|
|
|
}
|
|
|
|
|
##################### poweroff ######################
|
|
|
|
|
} elsif ($action eq 'shutdown_ask') {
|
|
|
|
|
$pagedata->setValue('Data.Action', 'shutdown_form');
|
|
|
|
|
##################### reboot ########################
|
|
|
|
|
} elsif ($action eq 'shutdown_do') {
|
|
|
|
|
if ($query->param('type') eq 'reboot') {
|
|
|
|
|
&system_reboot();
|
|
|
|
|
$pagedata->setValue('Data.Success', 'ReBoot');
|
|
|
|
|
$pagedata->setValue('Data.Redirect.Action', 'status');
|
|
|
|
|
$pagedata->setValue('Data.Redirect.Delay', "180");
|
|
|
|
|
} else {
|
|
|
|
|
&system_poweroff();
|
|
|
|
|
$pagedata->setValue('Data.Success', 'PowerOff');
|
|
|
|
|
}
|
|
|
|
|
$pagedata->setValue('Data.Action', 'empty');
|
|
|
|
|
#################### status #########################
|
|
|
|
|
} elsif ($action eq 'status') {
|
|
|
|
|
if ( ! &check_config()) {
|
|
|
|
@ -543,7 +557,11 @@ if ( ! &check_ssl()) {
|
|
|
|
|
} else {
|
|
|
|
|
$pagedata->setValue('Data.Error', 'UnknownAction');
|
|
|
|
|
}
|
|
|
|
|
###################### default ##########################
|
|
|
|
|
#################### default action ##########################
|
|
|
|
|
# check for a harddisk again, as this check was skipped
|
|
|
|
|
# because there was no action defined
|
|
|
|
|
} elsif ( ! &is_harddisk_available()) {
|
|
|
|
|
$pagedata->setValue('Data.Error', 'NoHardDisk');
|
|
|
|
|
} else {
|
|
|
|
|
if (&check_init_running()) {
|
|
|
|
|
$pagedata->setValue('Data.Warning', 'InitNotFinished');
|
|
|
|
|