]> bicyclesonthemoon.info Git - ott/bsta/blobdiff - bbcode.1.pl
update config; drop unneeded oldlogs.1.pl
[ott/bsta] / bbcode.1.pl
index a478cdc23dd24e58916da4d96bb251d254afa112..28e5e6d4bf612801dbc83270bbafc5b7a40b50cc 100644 (file)
@@ -27,30 +27,27 @@ use Encode ('encode', 'decode');
 
 ###PERL_LIB: use lib /botm/lib/bsta
 use botm_common (
+       'HTTP_STATUS',
        'read_header_env',
-       'read_data_file',
        'url_query_decode',
-       'join_path',
-       'merge_url'
+       'merge_url',
+       'http_header_status'
 );
 use bsta_lib (
        'STATE',
        'fail_method', 'fail_content_type',
        'get_frame', 'get_password',
        'merge_settings',
-       'eval_bb', 'bb_to_bbcode'
+       'eval_bb', 'bb_to_bbcode',
+       'get_frame_file',
+       'read_frame_data', 'read_default', 'read_noaccess',
+       'read_settings', 'read_state'
 );
 
-###PERL_PATH_SEPARATOR:     PATH_SEPARATOR     = /
-
 ###PERL_CGI_PATH:           CGI_PATH           = /bsta/
 ###PERL_CGI_VIEWER_PATH:    CGI_VIEWER_PATH    = /bsta/v
 
 ###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_SCHEME:             SCHEME             = http
 ###PERL_WEBSITE:            WEBSITE            = 1190.bicyclesonthemoon.info
@@ -88,7 +85,7 @@ if ($ENV{'REQUEST_METHOD'} =~ /^(HEAD|GET|POST)$/) {
        $method = $1;
 }
 else{
-       exit fail_method($ENV{'REQUEST_METHOD'}, 'GET, POST, HEAD');
+       exit fail_method($ENV{'REQUEST_METHOD'}, ['GET', 'POST', 'HEAD']);
 }
 
 %http = read_header_env(\%ENV);
@@ -108,9 +105,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'});
@@ -120,9 +117,7 @@ $password_ok = ($password eq $settings{'password'});
 if ($frame < 0) {
        $frame = $last_frame + $frame +1;
 }
-$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);
+%frame_data = read_frame_data($frame, \%default);
 
 if (
        $password_ok || (
@@ -135,22 +130,13 @@ if (
 }
 else {
        $access=0;
-       %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'};
-}
-else {
-       $frame_file = sprintf(
-               $settings{'frame'},
-               $frame, $frame_data{'ext'}
-       );
+       %frame_data = read_noaccess(\%default);
 }
+$frame_file = get_frame_file($frame, \%frame_data, \%settings);
 
 print "Content-type: text/plain; charset=UTF-8\n";
 if(!$access) {
-       print "Status: 403 Forbidden\n";
+       print http_header_status(HTTP_STATUS->{'forbidden'});
 }
 print "\n";
 if($method eq 'HEAD') {