]> bicyclesonthemoon.info Git - ott/bsta/blobdiff - frame.1.pl
input validation; goto form; show version; 2 words password
[ott/bsta] / frame.1.pl
index 9bea1c2a91c5ef12152886e14be93afbfcee84e0..a0a81fd8acb11d352a285d193cd23a4cb312bec4 100644 (file)
@@ -30,7 +30,6 @@ use botm_common (
        'HTTP_STATUS',
        'read_header_env',
        'url_query_decode',
-       'read_data_file',
        'join_path',
        'merge_url',
        'open_encoded', 'stat_encoded',
@@ -40,20 +39,16 @@ use bsta_lib (
        'STATE', 'INTF_STATE',
        'fail_method', 'fail_content_type', 'fail_open_file', 'fail_500', 'redirect',
        'get_frame', 'get_password',
-       'merge_settings'
+       'merge_settings',
+       'get_frame_file',
+       'read_frame_data', 'read_default', 'read_noaccess',
+       'read_settings', 'read_state', 'read_story'
 );
 
 ###PERL_PATH_SEPARATOR:     PATH_SEPARATOR     = /
 
 ###PERL_CGI_PATH:           CGI_PATH           = /bsta/
-
 ###PERL_DATA_PATH:          DATA_PATH          = /botm/data/bsta
-###PERL_DATA_DEFAULT_PATH:  DATA_DEFAULT_PATH  = /botm/data/bsta/default
-###PERL_DATA_NOACCESS_PATH: DATA_NOACCESS_PATH = /botm/data/bsta/noaccess
-###PERL_DATA_SETTINGS_PATH: DATA_SETTINGS_PATH = /botm/data/bsta/settings
-###PERL_DATA_STATE_PATH:    DATA_STATE_PATH    = /botm/data/bsta/state
-###PERL_DATA_STORY_PATH:    DATA_STORY_PATH    = /botm/data/bsta/story
-
 ###PERL_WWW_PATH:           WWW_PATH           = /botm/www/1190/bsta/
 
 binmode STDIN,  ':encoding(UTF-8)';
@@ -79,7 +74,6 @@ my $IP;
 my $access;
 my $try_onged;
 my $frame_path;
-my $frame_data_path;
 my $frame_file;
 my $fh;
 my $buffer;
@@ -114,9 +108,9 @@ if ($method eq 'POST') {
 $frame    = get_frame(\%cgi);
 $password = get_password(\%cgi);
 
-%settings  = read_data_file(DATA_SETTINGS_PATH());
-%default   = read_data_file(DATA_DEFAULT_PATH());
-%state     = read_data_file(DATA_STATE_PATH());
+%settings  = read_settings();
+%default   = read_default();
+%state     = read_state();
 
 $ong_state  = int($state{'state'});
 $last_frame = int($state{'last'});
@@ -141,7 +135,7 @@ elsif (
        ($ong_state == STATE->{'inactive'}) &&
        ($frame == 0)
 ) {
-       my %story = read_data_file(DATA_STORY_PATH());
+       my %story = read_story();
        if (
                (int($story{'pass'}) == 1) &&
                (int($story{'state'}) == INTF_STATE->{'>|'})
@@ -158,23 +152,12 @@ $try_onged = (
 );
 
 if ($access) {
-       $frame_data_path = join_path(PATH_SEPARATOR(), DATA_PATH(), $frame);
-       %frame_data = read_data_file($frame_data_path);
-       %frame_data = merge_settings(\%default, \%frame_data);
-}
-else {
-       %frame_data = read_data_file(DATA_NOACCESS_PATH());
-       %frame_data = merge_settings(\%default, \%frame_data);
-}
-if ($frame_data{'frame'} ne '') {
-       $frame_file = $frame_data{'frame'};
+       %frame_data = read_frame_data($frame, \%default);
 }
 else {
-       $frame_file = sprintf(
-               $settings{'frame'},
-               $frame, $frame_data{'ext'}
-       );
+       %frame_data = read_noaccess(\%default);
 }
+$frame_file = get_frame_file($frame, \%frame_data, \%settings);
 
 if ($try_onged) {
        $frame_path = join_path(PATH_SEPARATOR(), WWW_PATH(), $frame_file);