]> bicyclesonthemoon.info Git - ott/bsta/blobdiff - viewer.1.pl
static GOTO
[ott/bsta] / viewer.1.pl
index 4e8cc0e2039bf027bcfa0fb1dce2926979781add..280a0f9423057468cb4d6f455284bc4661103bcb 100644 (file)
@@ -41,7 +41,7 @@ use bsta_lib (
        'fail_method', 'fail_content_type', 'redirect',
        'get_remote_addr', 'get_frame', 'get_password',
        'merge_settings',
-       'print_viewer_page', 'write_index',
+       'print_viewer_page', 'write_index', 'write_static_goto',
        'ong'
 );
 
@@ -52,6 +52,7 @@ use bsta_lib (
 
 ###PERL_DATA_PATH:          DATA_PATH          = /botm/data/bsta/
 ###PERL_DATA_DEFAULT_PATH:  DATA_DEFAULT_PATH  = /botm/data/bsta/default
+###PERL_DATA_LIST_PATH:     DATA_LIST_PATH     = /botm/data/bsta/list
 ###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
@@ -177,9 +178,11 @@ if (open_encoded($fh, "+<:encoding(UTF-8)", DATA_STATE_PATH())) {
                                elsif ($state{'ip3'} eq '') {
                                        $new_state{'ip3'} = $IP;
                                        $new_state{'state'} = STATE->{'ready'};
+                                       write_static_goto(\%new_state, \%settings, '');
                                }
                                else {
                                        $new_state{'state'} = STATE->{'ready'};
+                                       write_static_goto(\%new_state, \%settings, '');
                                }
                                write_data_file($fh, \%new_state);
                        }
@@ -195,6 +198,7 @@ if (open_encoded($fh, "+<:encoding(UTF-8)", DATA_STATE_PATH())) {
                        my $r;
                        
                        %story     = read_data_file(DATA_STORY_PATH());
+                       %goto_list = read_data_file(DATA_LIST_PATH());
                        
                        if (
                                (int($story{'state'}) == INTF_STATE->{'>|'} ) &&
@@ -222,11 +226,14 @@ if (open_encoded($fh, "+<:encoding(UTF-8)", DATA_STATE_PATH())) {
                                        \%settings,
                                        \%default,
                                        \%frame_data,
-                                       ''         # %goto_list
+                                       \%goto_list
                                );
                                if ($r) {
                                        $r = write_index(\%state, \%settings);
                                }
+                               if ($r) {
+                                       $r = write_static_goto(\%state, \%settings, \%goto_list);
+                               }
                                if ($r) {
                                        $r = write_data_file($fh, \%state);
                                }