'read_data_file', 'write_data_file',
'join_path',
'merge_url',
- 'html_entitiy_encode_dec',
- 'print_html_start', 'print_html_end',
- 'print_html_head_start', 'print_html_head_end',
- 'print_html_body_start', 'print_html_body_end'
+ 'read_header_env',
+ 'html_entity_encode_dec',
+ 'url_query_decode'
);
use bsta_lib (
'STATE', 'INTF_STATE',
'fail_method', 'fail_content_type',
- 'read_header_env',
- 'url_query_decode',
-
-
-
- # to replace
- 'failpage',
- 'gethttpheader',
- 'getcgi',
- 'entityencode',
- 'readdatafile',
- 'writedatafile',
- 'urlencode',
- 'bb2ht'
+ 'print_html_start', 'print_html_end',
+ 'print_html_head_start', 'print_html_head_end',
+ 'print_html_body_start', 'print_html_body_end',
+ 'write_index',
+ 'get_remote_addr',
+ 'merge_settings'
);
use File::Copy;
my $message;
my $first_letter;
my $second_letter;
+my $last_letter;
my $intf_state;
my $intf_pass;
my $intf_pause;
%settings = read_data_file(DATA_SETTINGS_PATH());
%state = read_data_file(DATA_STATE_PATH());
$ong_state = int($state{'state'});
-$cmd_clear = settings{'password'}.' clear';
-$cmd_clear_all = settings{'password'}.' clearall';
+$cmd_clear = $settings{'password'}.' clear';
+$cmd_clear_all = $settings{'password'}.' clearall';
$story_lock=0;
if (open ($story_file,"+<:encoding(UTF-8)",DATA_STORY_PATH())){
if (flock($story_file,2)) {
$story_lock=2;
}
- %story = $read_data_file($story_file);
+ %story = read_data_file($story_file);
if ($story{'lastip'} =~ /^.+$/) {
$last_IP=$&;
$story{'pass' } = 0;
$story{'state' } = INTF_STATE->{'X'};
$turn = 0;
- if($ong_state == STATE->{'inactive'}) {
- writeindex(WWW_INDEX_PATH,0,0,0); # TO REPLACE
+ if ($ong_state == STATE->{'inactive'}) {
+ write_index(
+ \%state,
+ \%settings,
+ $story{'pass'},
+ $story{'state'},
+ 0 # pause
+ );
}
write_data_file($story_file, '', '', \%story);
}
$intf_pause= 0;
if($ong_state == STATE->{'inactive'}) {
# ONG not activated yet; reset index
- writeindex(WWW_INDEX_PATH,0,0,0); # TO REPLACE
+ write_index(
+ \%state,
+ \%settings,
+ $intf_pass,
+ $intf_mode,
+ $intf_pause
+ );
}
# save new game
write_data_file($story_file, '', '', \%new_story);
$intf_pass = 2;
$story{'pass'} = 2;
if($ong_state == STATE->{'inactive'}) {
- writeindex(WWW_INDEX_PATH,2,0,0); # TO REPLACE
+ write_index(
+ \%state,
+ \%settings,
+ $intf_pass,
+ $intf_mode,
+ $intf_pause
+ );
}
}
elsif(lc($2).' '.lc($4) eq $settings{'unlock'}) {
# prepare to ONG frame 0!
- $frame_data_path = joint_path(PATH_SEPARATOR(), DATA_PATH(), 0);
+ $frame_data_path = join_path(PATH_SEPARATOR(), DATA_PATH(), 0);
%frame_data = read_data_file($frame_data_path);
%default = read_data_file(DATA_DEFAULT_PATH());
%frame_data = merge_settings(\%default, \%frame_data);
# set ONG time of frame 0
# NOTE: might get overwritten later if ONG not launched
$frame_data{'ongtime'} = $time;
- write_data_file($frame_data_path, '', '' \%frame_data);
+ write_data_file($frame_data_path, '', '', \%frame_data);
# update the GOTO list with frame 0
$goto_list{'title-0' } = $frame_data{'title'};
$intf_pause = 0;
$story{'pass'} = 1;
$story{'state'} = INTF_STATE->{'X'};
- writeindex(WWW_INDEX_PATH,1,0,0); # to replace
+ write_index(
+ \%state,
+ \%settings,
+ $intf_pass,
+ $intf_mode,
+ $intf_pause
+ );
}
}
}
write_data_file($story_file, '', '', \%story);
}
}
- else {
- $message = 'Please, two words, not more, not less (some punctuation is allowed).';
- }
+ }
+ else {
+ $message = 'Please, two words, not more, not less (some punctuation is allowed).';
}
}
elsif (
$intf_mode = $intf_state & INTF_STATE->{'mode'};
$intf_pause = $intf_state & INTF_STATE->{'||'};
$story{'state'} = $intf_state;
- writeindex(WWW_INDEX_PATH,1,$intf_mode,$intf_pause); # TO REPLACE
- write_data_file($story_file, '', '' \%story);
+ write_index(
+ \%state,
+ \%settings,
+ $intf_pass,
+ $intf_mode,
+ $intf_pause
+ );
+ write_data_file($story_file, '', '', \%story);
}
@story_lines = split(/\r?\n/, $story{'content'});
if(@story_lines & 1) {
my $newer_available = ($page > 0);
my $older_available = ($page < $max_page);
my $show_intf = ($intf_pass == 1) && ($ong_state == STATE=>{'inactive'});
+my $id_start =
+ $story_id-1 -(
+ ($page == 0) ? 0 : (
+ (($page-1) * PAGE_LENGTH ) + FIRSTPAGE_LENGTH
+ )
+ );
+my $id_stop = $story_id-1 - (($page*PAGE_LENGTH) + FIRSTPAGE_LENGTH);
+if ($id_stop < 0) {
+ $id_stop = -1;
+}
+my $bsta_url = CGI_PATH;
my $twowords_url = CGI_2WORDS_PATH;
my $newer_url;
my $older_url;
my $oldest_url;
-my $newerst_url = merge_url(
+my $newest_url = merge_url(
{'path' => $twowords_url},
{'path' => 0}
);
{'path' => $max_page}
);
}
-my $buton_5_url = merge_url(
- {'path' => CGI_PATH},
- {'path' =>
-
+my $button_4_url = merge_url(
+ {'path' => $twowords_url},
+ {'query' => {'s' => (INTF_STATE->{'>'} | $intf_pause)}}
+);
+my $button_3_url = merge_url(
+ {'path' => $twowords_url},
+ {'query' => {'s' => (INTF_STATE->{'<<'} | $intf_pause)}}
+);
+my $button_2_url = merge_url(
+ {'path' => $twowords_url},
+ {'query' => {'s' => (INTF_STATE->{'>>'} | $intf_pause)}}
+);
+my $button_1_url = merge_url(
+ {'path' => $twowords_url},
+ {'query' => {'s' => INTF_STATE->{'X'}}}
+);
+my $button_0_url = merge_url(
+ {'path' => $twowords_url},
+ {'query' => {'s' => ($intf_pause ? $intf_mode : ($intf_mode | INTF_STATE->{'||'}))}}
+);
+my $button_5_img = merge_url(
+ {'path' => CGI_PATH()},
+ {'path' => 'intf-20.gif'}
+);
+my $button_4_img = merge_url(
+ {'path' => CGI_PATH()},
+ {'path' => 'intf-10'.(($intf_mode == INTF_STATE->{'>'}) ? '_' : '').'.gif'}
+);
+my $button_3_img = merge_url(
+ {'path' => CGI_PATH()},
+ {'path' => 'intf-08'.(($intf_mode == INTF_STATE->{'<<'}) ? '_' : '').'.gif'}
+);
+my $button_2_img = merge_url(
+ {'path' => CGI_PATH()},
+ {'path' => 'intf-04'.(($intf_mode == INTF_STATE->{'>>'}) ? '_' : '').'.gif'}
+);
+my $button_1_img = merge_url(
+ {'path' => CGI_PATH()},
+ {'path' => 'intf-02.gif'}
+);
+my $button_0_img = merge_url(
+ {'path' => CGI_PATH()},
+ {'path' => 'intf-01'.($intf_pause ? '_' : '').'.gif'}
+);
+my $intf_img_id = '';
+if ($intf_state == INTF_STATE->{'>'}) {
+ $intf_img_id = '_10'
+}
+elsif ($intf_mode == INTF_STATE->{'<<'}) {
+ $intf_img_id = '_08'
+}
+elsif ($intf_mode == INTF_STATE->{'>>'}) {
+ $intf_img_id = '_04'
+}
+my $intf_img = merge_url(
+ {'path' => CGI_PATH()},
+ {'path' => 'intf-00'.$intf_img_id.'.gif'}
+);
+my $_bsta_url = html_entity_encode_dec($bsta_url , 1);
my $_twowords_url = html_entity_encode_dec($twowords_url , 1);
my $_newest_url = html_entity_encode_dec($newest_url , 1);
my $_newer_url = html_entity_encode_dec($newer_url , 1);
my $_older_url = html_entity_encode_dec($older_url , 1);
my $_oldest_url = html_entity_encode_dec($oldest_url , 1);
+my $_button_4_url = html_entity_encode_dec($button_4_url , 1);
+my $_button_3_url = html_entity_encode_dec($button_3_url , 1);
+my $_button_2_url = html_entity_encode_dec($button_2_url , 1);
+my $_button_1_url = html_entity_encode_dec($button_1_url , 1);
+my $_button_0_url = html_entity_encode_dec($button_0_url , 1);
+my $_button_5_img = html_entity_encode_dec($button_5_img , 1);
+my $_button_4_img = html_entity_encode_dec($button_4_img , 1);
+my $_button_3_img = html_entity_encode_dec($button_3_img , 1);
+my $_button_2_img = html_entity_encode_dec($button_2_img , 1);
+my $_button_1_img = html_entity_encode_dec($button_1_img , 1);
+my $_button_0_img = html_entity_encode_dec($button_0_img , 1);
+my $_intf_img = html_entity_encode_dec($intf_img , 1);
my $_message = html_entity_encode_dec($message , 1);
my $_website_name = html_entity_encode_dec(WEBSITE_NAME(), 1);
print ' <link rel="next" href="'.$_newer_url.'">'."\n";
}
-print_html_head_end($fh);
-print_html_body_start($fh);
+print_html_head_end(\*STDOUT);
+print_html_body_start(\*STDOUT);
print ' <div id="inst" class="ins">'."\n";
print ' <div id="framespace">'."\n";
print ' <table id="intftable" cellspacing="0" cellpadding="0">'."\n";
print ' <tr class="intf">'."\n";
- print ' <td colspan="6" class="intf"><img src="'.$_intf_img.'.gif" alt="" class="intf"></td>'."\n";
+ print ' <td colspan="6" class="intf"><img src="'.$_intf_img.'" alt="" class="intf"></td>'."\n";
print ' </tr>'."\n";
print ' <tr class="intf">'."\n";
print_html_body_end(\*STDOUT);
print_html_end(\*STDOUT);
-sub writeindex {
- (my $indexpath, my $pass, my $mode, my $pause) = @_;
- my $indexfile;
- my $indexof;
+# sub writeindex {
+ # (my $indexpath, my $pass, my $mode, my $pause) = @_;
+ # my $indexfile;
+ # my $indexof;
- if(ref($indexpath)) {
- $indexfile=$indexpath;
- unless (seek($indexfile, 0, 0)) {
- return 0;
- }
- }
- else {
- unless (open ($indexfile, ">", $indexpath)) {
- return 0;
- }
- }
+ # if(ref($indexpath)) {
+ # $indexfile=$indexpath;
+ # unless (seek($indexfile, 0, 0)) {
+ # return 0;
+ # }
+ # }
+ # else {
+ # unless (open ($indexfile, ">", $indexpath)) {
+ # return 0;
+ # }
+ # }
- $indexof = CGI_PATH;
- $indexof =~ s/\/$//g;
+ # $indexof = CGI_PATH;
+ # $indexof =~ s/\/$//g;
- my %coin = readdatafile(DATA_COIN_PATH);
+ # my %coin = readdatafile(DATA_COIN_PATH);
- if ($pass != 1) {
- print $indexfile '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">'."\n";
- print $indexfile '<html>'."\n";
- print $indexfile ' <head>'."\n";
- print $indexfile ' <title>Index of '.$indexof.'</title>'."\n";
- print $indexfile ' </head>'."\n";
- print $indexfile ' <body>'."\n";
- print $indexfile '<h1>Index of '.$indexof.'</h1>'."\n";
- print $indexfile '<table><tr><th><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr><tr><th colspan="5"><hr></th></tr>'."\n";
- print $indexfile '<tr><td valign="top"><img src="/icons/back.gif" alt="[DIR]"></td><td><a href="/">Parent Directory</a></td><td> </td><td align="right"> - </td><td> </td></tr>'."\n";
- print $indexfile '<tr><td valign="top"><img src="/icons/folder.gif" alt="[DIR]"></td><td><a href="2words/">2words/</a></td><td align="right">'.INTF_DATE.' </td><td align="right"> - </td><td> </td></tr>'."\n";
- print $indexfile '<tr><td valign="top"><img src="/icons/folder.gif" alt="[DIR]"></td><td><a href="coin/">coin/</a></td><td align="right">'.COIN_DATE.' </td><td align="right"> - </td><td> Coincidence </td></tr>'."\n";
- print $indexfile '<tr><th colspan="5"><hr></th></tr>'."\n";
- print $indexfile '</table>'."\n";
- print $indexfile '<address>Apache/2.2.22 (Debian) Server at '.WEBSITE.' Port 80</address>'."\n";
- print $indexfile '</body></html>'."\n";
- }
- else {
- my %framedata;
- my %nextframedata;
- my %default;
+ # if ($pass != 1) {
+ # print $indexfile '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">'."\n";
+ # print $indexfile '<html>'."\n";
+ # print $indexfile ' <head>'."\n";
+ # print $indexfile ' <title>Index of '.$indexof.'</title>'."\n";
+ # print $indexfile ' </head>'."\n";
+ # print $indexfile ' <body>'."\n";
+ # print $indexfile '<h1>Index of '.$indexof.'</h1>'."\n";
+ # print $indexfile '<table><tr><th><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr><tr><th colspan="5"><hr></th></tr>'."\n";
+ # print $indexfile '<tr><td valign="top"><img src="/icons/back.gif" alt="[DIR]"></td><td><a href="/">Parent Directory</a></td><td> </td><td align="right"> - </td><td> </td></tr>'."\n";
+ # print $indexfile '<tr><td valign="top"><img src="/icons/folder.gif" alt="[DIR]"></td><td><a href="2words/">2words/</a></td><td align="right">'.INTF_DATE.' </td><td align="right"> - </td><td> </td></tr>'."\n";
+ # print $indexfile '<tr><td valign="top"><img src="/icons/folder.gif" alt="[DIR]"></td><td><a href="coin/">coin/</a></td><td align="right">'.COIN_DATE.' </td><td align="right"> - </td><td> Coincidence </td></tr>'."\n";
+ # print $indexfile '<tr><th colspan="5"><hr></th></tr>'."\n";
+ # print $indexfile '</table>'."\n";
+ # print $indexfile '<address>Apache/2.2.22 (Debian) Server at '.WEBSITE.' Port 80</address>'."\n";
+ # print $indexfile '</body></html>'."\n";
+ # }
+ # else {
+ # my %framedata;
+ # my %nextframedata;
+ # my %default;
- %framedata = readdatafile(DATA_PATH.0);
- %nextframedata = readdatafile(DATA_PATH.1);
- %default=readdatafile(DATA_DEFAULT_PATH);
+ # %framedata = readdatafile(DATA_PATH.0);
+ # %nextframedata = readdatafile(DATA_PATH.1);
+ # %default=readdatafile(DATA_DEFAULT_PATH);
- # if($mode == 16 && $pause) {
- # $framedata{'ongtime'} = $time;
- # writedatafile(DATA_PATH.0,%framedata);
- # }
+ # # if($mode == 16 && $pause) {
+ # # $framedata{'ongtime'} = $time;
+ # # writedatafile(DATA_PATH.0,%framedata);
+ # # }
- foreach my $ind (keys %default) {
- unless(defined($framedata{$ind})){
- $framedata{$ind}=$default{$ind};
- }
- unless(defined($nextframedata{$ind})){
- $nextframedata{$ind}=$default{$ind};
- }
- }
+ # foreach my $ind (keys %default) {
+ # unless(defined($framedata{$ind})){
+ # $framedata{$ind}=$default{$ind};
+ # }
+ # unless(defined($nextframedata{$ind})){
+ # $nextframedata{$ind}=$default{$ind};
+ # }
+ # }
- print $indexfile '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">'."\n";
- print $indexfile '<html lang="en"><head>'."\n";
- print $indexfile '<title>';
- if($mode == 8 || $mode == 4) {
- print $indexfile 'Index of';
- }
- elsif($mode == 16) {
- print $indexfile entityencode($settings{'story'});
- if($pause) {
- print $indexfile ' • '.WEBSITE_NAME;
- }
- }
- else {
- print $indexfile 'Index of '.$indexof;
- }
- print $indexfile '</title>'."\n";
- print $indexfile '<meta http-equiv="Content-type" content="text/html; charset=UTF-8">'."\n";
- print $indexfile '<link rel="icon" type="image/png" href="'.FAVICON_PATH.'">'."\n";
- print $indexfile '<link rel="stylesheet" href="'.CGI_CSS_PATH.'">'."\n";
- print $indexfile '</head><body>'."\n";
- print $indexfile '<a href="/"><img id="botmlogo" src="'.CGI_LOGO_PATH.'" alt="'.WEBSITE.'"></a>'."\n";
- print $indexfile '<div id="all">'."\n";
+ # print $indexfile '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">'."\n";
+ # print $indexfile '<html lang="en"><head>'."\n";
+ # print $indexfile '<title>';
+ # if($mode == 8 || $mode == 4) {
+ # print $indexfile 'Index of';
+ # }
+ # elsif($mode == 16) {
+ # print $indexfile entityencode($settings{'story'});
+ # if($pause) {
+ # print $indexfile ' • '.WEBSITE_NAME;
+ # }
+ # }
+ # else {
+ # print $indexfile 'Index of '.$indexof;
+ # }
+ # print $indexfile '</title>'."\n";
+ # print $indexfile '<meta http-equiv="Content-type" content="text/html; charset=UTF-8">'."\n";
+ # print $indexfile '<link rel="icon" type="image/png" href="'.FAVICON_PATH.'">'."\n";
+ # print $indexfile '<link rel="stylesheet" href="'.CGI_CSS_PATH.'">'."\n";
+ # print $indexfile '</head><body>'."\n";
+ # print $indexfile '<a href="/"><img id="botmlogo" src="'.CGI_LOGO_PATH.'" alt="'.WEBSITE.'"></a>'."\n";
+ # print $indexfile '<div id="all">'."\n";
- print $indexfile '<div id="inst" class="ins">'."\n";
+ # print $indexfile '<div id="inst" class="ins">'."\n";
- print $indexfile '<div id="title">'."\n";
- print $indexfile '<H1 id="titletext">';
- if($mode == 8 || $mode == 4) {
- print $indexfile 'Index of';
- }
- elsif($mode == 16) {
- print $indexfile entityencode($settings{'story'});
- }
- else {
- print $indexfile 'Index of '.$indexof;
- }
- print $indexfile '</H1>'."\n";
- print $indexfile '</div>'."\n";
+ # print $indexfile '<div id="title">'."\n";
+ # print $indexfile '<H1 id="titletext">';
+ # if($mode == 8 || $mode == 4) {
+ # print $indexfile 'Index of';
+ # }
+ # elsif($mode == 16) {
+ # print $indexfile entityencode($settings{'story'});
+ # }
+ # else {
+ # print $indexfile 'Index of '.$indexof;
+ # }
+ # print $indexfile '</H1>'."\n";
+ # print $indexfile '</div>'."\n";
- print $indexfile '</div><div id="framespace">'."\n";
- print $indexfile '<img src="'.CGI_PATH;
- if($mode == 8) {
- print $indexfile 'intf-ll.gif'
- }
- elsif($mode == 4) {
- print $indexfile 'intf-pp.gif'
- }
- elsif($mode == 16) {
- if($pause) {
- print $indexfile sprintf($settings{'frame'},0,$framedata{'ext'}).'" title="'.entityencode($framedata{'title'});
- }
- else {
- print $indexfile 'intf-tr.gif'
- }
- }
- else {
- print $indexfile 'intf-kw.gif'
- }
- print $indexfile '" alt="0" id="frame">'."\n";
+ # print $indexfile '</div><div id="framespace">'."\n";
+ # print $indexfile '<img src="'.CGI_PATH;
+ # if($mode == 8) {
+ # print $indexfile 'intf-ll.gif'
+ # }
+ # elsif($mode == 4) {
+ # print $indexfile 'intf-pp.gif'
+ # }
+ # elsif($mode == 16) {
+ # if($pause) {
+ # print $indexfile sprintf($settings{'frame'},0,$framedata{'ext'}).'" title="'.entityencode($framedata{'title'});
+ # }
+ # else {
+ # print $indexfile 'intf-tr.gif'
+ # }
+ # }
+ # else {
+ # print $indexfile 'intf-kw.gif'
+ # }
+ # print $indexfile '" alt="0" id="frame">'."\n";
- print $indexfile '</div><div id="insb" class="ins">'."\n";
- print $indexfile '<div id="undertext">'."\n";
- if($mode == 8 || $mode == 4) {
- print $indexfile '<img src="/icons/back.gif" alt="[DIR]"> <a href="/">Parent Directory</a><br><img src="/icons/folder.gif" alt="[DIR]"> <a href="#">yyyyb/</a>'."\n";
- }
- elsif ($mode == 16) {
- if($pause) {
- print $indexfile bb2ht($framedata{'content'})."\n";
- }
- else {
- print $indexfile "...\n";
- }
- }
- else {
- print $indexfile '<img src="/icons/back.gif" alt="[DIR]"> <a href="/">Parent Directory</a><br>'."\n";
- print $indexfile '<img src="/icons/folder.gif" alt="[DIR]"> <a href="2words/">2words/</a> '.INTF_DATE.' - <br>'."\n";
- print $indexfile '<img src="/icons/folder.gif" alt="[DIR]"> <a href="coin/">coin/</a> '.COIN_DATE.' - '.entityencode($coin{'server'})."\n";
- }
- print $indexfile '</div>'."\n";
+ # print $indexfile '</div><div id="insb" class="ins">'."\n";
+ # print $indexfile '<div id="undertext">'."\n";
+ # if($mode == 8 || $mode == 4) {
+ # print $indexfile '<img src="/icons/back.gif" alt="[DIR]"> <a href="/">Parent Directory</a><br><img src="/icons/folder.gif" alt="[DIR]"> <a href="#">yyyyb/</a>'."\n";
+ # }
+ # elsif ($mode == 16) {
+ # if($pause) {
+ # print $indexfile bb2ht($framedata{'content'})."\n";
+ # }
+ # else {
+ # print $indexfile "...\n";
+ # }
+ # }
+ # else {
+ # print $indexfile '<img src="/icons/back.gif" alt="[DIR]"> <a href="/">Parent Directory</a><br>'."\n";
+ # print $indexfile '<img src="/icons/folder.gif" alt="[DIR]"> <a href="2words/">2words/</a> '.INTF_DATE.' - <br>'."\n";
+ # print $indexfile '<img src="/icons/folder.gif" alt="[DIR]"> <a href="coin/">coin/</a> '.COIN_DATE.' - '.entityencode($coin{'server'})."\n";
+ # }
+ # print $indexfile '</div>'."\n";
- print $indexfile '<div id="command">'."\n";
- if ($mode == 8) {
- print $indexfile '[<span class="br">EE</span>:<span class="br">EE</span>:<span class="br">EE</span>]'."\n";
- }
- elsif ($mode == 4) {
- print $indexfile '[<span class="ni">EE</span>:<span class="ni">EE</span>:<span class="ni">EE</span>]'."\n";
- }
- elsif ($mode == 16) {
- if($pause) {
- print $indexfile '[<span class="br">00</span>:<span class="br">00</span>:<span class="br">00</span>]<br>'."\n";
- print $indexfile '><a href="'.CGI_VIEWER_PATH.'/1">'.entityencode($nextframedata{'title'}).'</a>'."\n";
- }
- else {
- print $indexfile '[<span class="ni">--</span>:<span class="ni">--</span>:<span class="ni">--</span>]<br>'."\n";
- print $indexfile '>...<span class="inp">_</span>'."\n";
- }
- }
- else {
- }
- print $indexfile '</div>'."\n";
+ # print $indexfile '<div id="command">'."\n";
+ # if ($mode == 8) {
+ # print $indexfile '[<span class="br">EE</span>:<span class="br">EE</span>:<span class="br">EE</span>]'."\n";
+ # }
+ # elsif ($mode == 4) {
+ # print $indexfile '[<span class="ni">EE</span>:<span class="ni">EE</span>:<span class="ni">EE</span>]'."\n";
+ # }
+ # elsif ($mode == 16) {
+ # if($pause) {
+ # print $indexfile '[<span class="br">00</span>:<span class="br">00</span>:<span class="br">00</span>]<br>'."\n";
+ # print $indexfile '><a href="'.CGI_VIEWER_PATH.'/1">'.entityencode($nextframedata{'title'}).'</a>'."\n";
+ # }
+ # else {
+ # print $indexfile '[<span class="ni">--</span>:<span class="ni">--</span>:<span class="ni">--</span>]<br>'."\n";
+ # print $indexfile '>...<span class="inp">_</span>'."\n";
+ # }
+ # }
+ # else {
+ # }
+ # print $indexfile '</div>'."\n";
- print $indexfile '</div>'."\n";
+ # print $indexfile '</div>'."\n";
- print $indexfile '</div>'."\n";
- print $indexfile '<a href="/" class="cz">'.WEBSITE.'</a>'."\n";
+ # print $indexfile '</div>'."\n";
+ # print $indexfile '<a href="/" class="cz">'.WEBSITE.'</a>'."\n";
- print $indexfile '</body></html>'."\n";
- }
+ # print $indexfile '</body></html>'."\n";
+ # }
- unless (ref($indexpath)) {
- close ($indexfile);
- }
- else {
- truncate ($indexfile , tell($indexfile));
- }
+ # unless (ref($indexpath)) {
+ # close ($indexfile);
+ # }
+ # else {
+ # truncate ($indexfile , tell($indexfile));
+ # }
- return 1;
-}
+ # return 1;
+# }
'failpage', 'fail_method', 'fail_content_type',
'get_remote_addr', 'get_frame', 'get_password',
'merge_settings',
+ 'print_html_start', 'print_html_end',
+ 'print_html_head_start', 'print_html_head_end',
+ 'print_html_body_start', 'print_html_body_end',
'print_viewer_page',
'write_index',
###PERL_PATH_SEPARATOR: PATH_SEPARATOR = /
###PERL_CGI_PATH: CGI_PATH = /bsta/
+###PERL_CGI_2WORDS_PATH: CGI_2WORDS_PATH = /bsta/2words
###PERL_CGI_BBCODE_PATH: CGI_BBCODE_PATH = /bsta/b
+###PERL_CGI_COIN_PATH: CGI_COIN_PATH = /bsta/coin
###PERL_CGI_CSS_PATH: CGI_CSS_PATH = /bsta/bsta.css
###PERL_CGI_FRAME_PATH: CGI_FRAME_PATH = /bsta/f
###PERL_CGI_GOTO_PATH: CGI_GOTO_PATH = /bsta/g
###PERL_CGI_VIEWER_PATH: CGI_VIEWER_PATH = /bsta/v
###PERL_DATA_PATH: DATA_PATH = /botm/data/bsta/
+###PERL_DATA_COIN_PATH: DATA_COIN_PATH = /botm/data/bsta/coincidence
###PERL_DATA_DEFAULT_PATH: DATA_DEFAULT_PATH = /botm/data/bsta/default
###PERL_WWW_INDEX_PATH: WWW_INDEX_PATH = /botm/www/1190/bsta/index.htm
###PERL_WEBSITE_NAME: WEBSITE_NAME = Bicycles on the Moon
###PERL_FAVICON_PATH: FAVICON_PATH = /img/favicon.png
+###PERL_COIN_DATE: COIN_DATE = 13-Nov-2016 22:15
+###PERL_INTF_DATE: INTF_DATE = 28-Sep-2016 20:34
use constant STATE => {
'inactive' => 0,
my $timer_h;
my $timer_m;
my $timer_s;
- if ($timer > 0) {
+ if (
+ ($timer > 0) ||
+ (($timer >= 0) && ($frame == 0))
+ ) {
$timer_s = sprintf('%02d', $timer % 60);
$timer_h = int($timer / 60);
$timer_m = sprintf('%02d', $timer_h % 60);
)
);
my $show_timer = (
- ($frame == $last_frame) && (
- ($ong_state == STATE->{'waiting'}) ||
- ($ong_state == STATE->{'ready'})
+ (
+ $access &&
+ ($ong_state == STATE->{'inactive'}) &&
+ ($frame == 0)
+ ) || (
+ ($frame == $last_frame) && (
+ ($ong_state == STATE->{'waiting'}) ||
+ ($ong_state == STATE->{'ready'})
+ )
)
);
my $show_command = (
my $settings,
my $pass,
my $mode,
- my $index
+ my $pause
) = @_;
my $fh;
- my $r;
+ my $r = 1;
+ my $ong_state = int($state->{'state'});
unless (open ($fh, ">:encoding(UTF-8)", encode('locale_fs', WWW_INDEX_PATH()))) {
return 0;
}
# normal running story
- if ($state > STATE->{'inactive'}) {
+ if ($ong_state > STATE->{'inactive'}) {
my %frame_data = read_data_file(join_path(PATH_SEPARATOR(), DATA_PATH(), 0));
my %next_frame_data= read_data_file(join_path(PATH_SEPARATOR(), DATA_PATH(), 1));
my %default = read_data_file(DATA_DEFAULT_PATH());
my $index_of = CGI_PATH;
$index_of =~ s/\/$//g;
- my $_index_of = html_entity_encode_dec($index_of, 1);
-
+ my $_index_of = html_entity_encode_dec($index_of , 1);
+ my $_2words_date = html_entity_encode_dec(INTF_DATE(), 1);
+ my $_coin_date = html_entity_encode_dec(COIN_DATE(), 1);
+ my $_website = html_entity_encode_dec(WEBSITE() , 1);
print_html_start ($fh);
print $fh ' <head>'."\n";
print $fh ' </tr><tr>'."\n";
print $fh ' <td valign="top"><img src="/icons/folder.gif" alt="[DIR]"></td>'."\n";
print $fh ' <td><a href="2words/">2words/</a></td>'."\n";
- print $fh ' <td align="right">'.INTF_DATE.' </td>'."\n";
+ print $fh ' <td align="right">'.$_2words_date.' </td>'."\n";
print $fh ' <td align="right"> - </td><td> </td>'."\n";
print $fh ' </tr><tr>'."\n";
print $fh ' <td valign="top"><img src="/icons/folder.gif" alt="[DIR]"></td>'."\n";
print $fh ' <td><a href="coin/">coin/</a></td>'."\n";
- print $fh ' <td align="right">'.COIN_DATE.' </td>'."\n";
+ print $fh ' <td align="right">'.$_coin_date.' </td>'."\n";
print $fh ' <td align="right"> - </td><td> Coincidence </td>'."\n";
print $fh ' </tr><tr>'."\n";
print $fh ' <th colspan="5"><hr></th>'."\n";
print $fh ' </tr>'."\n";
print $fh ' </table>'."\n";
- print $fh ' <address>Apache/2.2.22 (Debian) Server at '.WEBSITE.' Port 80</address>'."\n";
+ print $fh ' <address>Apache/2.2.22 (Debian) Server at '.$_website.' Port 80</address>'."\n";
print $fh ' /body>'."\n";
print_html_end ($fh);
}
+ # the launch index
else {
+ my %frame_data = read_data_file(join_path(PATH_SEPARATOR(), DATA_PATH(), 0));
+ my %next_frame_data= read_data_file(join_path(PATH_SEPARATOR(), DATA_PATH(), 1));
+ my %default = read_data_file(DATA_DEFAULT_PATH());
+ my %coin_data = read_data_file(DATA_COIN_PATH());
+
+ %frame_data = merge_settings(\%default, \%frame_data);
+ %next_frame_data= merge_settings(\%default, \%next_frame_data);
+
+ if (($mode == INTF_STATE->{'>'}) && $pause) {
+ $r = print_viewer_page(
+ $fh,
+ {
+ 'frame' => 0,
+ 'access' => 1,
+ 'password_ok' => 0,
+ 'timer_unlocked' => 3,
+ 'timer' => 0,
+ 'static' => 1,
+ 'show_command' => 1
+ },
+ $state,
+ $settings,
+ \%frame_data,
+ \%next_frame_data
+ );
+ return $r;
+ }
+
+ my $index_of = CGI_PATH;
+ $index_of =~ s/\/$//g;
+ my $title;
+ my $frame_file;
+ my $undertext = '';
+ my $show_parent_dir = 0;
+ my $show_yb = 0;
+ my $show_folders = 0;
+ my $timer = '';
+ my $timer_color = 'ni';
+ if ($mode == INTF_STATE->{'>'}) {
+ $title = $settings->{'story'}; # $frame_data{'title'} ?
+ $frame_file = 'intf-tr.gif';
+ $undertext = '...';
+ $timer = '--';
+ $timer_color = 'br';
+ }
+ elsif ($mode == INTF_STATE->{'<<'}) {
+ $title = 'Index of';
+ $frame_file = 'intf-ll.gif';
+ $show_parent_dir = 1;
+ $show_yb = 1;
+ $timer = 'EE';
+ }
+ elsif ($mode == INTF_STATE->{'>>'}) {
+ $title = 'Index of';
+ $frame_file = 'intf-ll.gif';
+ $show_parent_dir = 1;
+ $show_yb = 1;
+ $timer = 'EE';
+ }
+ else
+ {
+ $title = 'Index of '.$index_of;
+ $frame_file = 'intf-kw.gif';
+ $show_parent_dir = 1;
+ $show_folders = 1;
+ }
+ my $frame_url = merge_url(
+ {'path' => CGI_PATH()},
+ {'path' => $frame_file}
+ );
+ my $coin_server = $coin_data{'server'};
+
+ my $_title = html_entity_encode_dec($title , 1);
+ my $_website_name = html_entity_encode_dec(WEBSITE_NAME() , 1);
+ my $_frame_url = html_entity_encode_dec($frame_url , 1);
+ my $_undertext = html_entity_encode_dec($undertext , 1);
+ my $_2words_date = html_entity_encode_dec(INTF_DATE() , 1);
+ my $_coin_date = html_entity_encode_dec(COIN_DATE() , 1);
+ my $_coin_server = html_entity_encode_dec($coin_server , 1);
+ my $_2words_url = html_entity_encode_dec(CGI_2WORDS_PATH(), 1);
+ my $_coin_url = html_entity_encode_dec(CGI_COIN_PATH() , 1);
+
+ print_html_start($fh);
+ print_html_head_start($fh);
+
+ print $fh ' <title>'.$_title.' $bull; '.$_website_name.'</title>'."\n";
+
+ print_html_head_end($fh);
+ print_html_body_start($fh);
+
+ print $fh ' <div id="inst" class="ins">'."\n";
+
+ print $fh ' <div id="title">'."\n";
+ print $fh ' <h1 id="titletext">'.$_title.'</h1>'."\n";
+ print $fh ' </div>'."\n";
+
+ print $fh ' </div>'."\n";
+ print $fh ' <div id="framespace">'."\n";
+
+ print $fh ' <img src="'.$_frame_url.'" id="frame" alt="0">'."\n"; # title="'.$_title.'"
+
+ print $fh ' </div>'."\n";
+ print $fh ' <div id="insb" class="ins">'."\n";
+
+ print $fh ' <div id="undertext">'."\n";
+
+ if ($show_parent_dir) {
+ print $fh ' <img src="/icons/back.gif" alt="[DIR]"> <a href="..">Parent Directory</a><br>'."\n";
+ }
+ if ($show_folders) {
+ print $fh ' <img src="/icons/folder.gif" alt="[DIR]"> <a href="'.$_2words_url.'">2words/</a> '.$_2words_date.' - <br>'."\n";
+ print $fh ' <img src="/icons/folder.gif" alt="[DIR]"> <a href="'.$_coin_url.'">coin/</a> '.$_coin_date.' - '.$_coin_server."\n";
+ }
+ elsif ($show_yb) {
+ print $fh ' <img src="/icons/folder.gif" alt="[DIR]"> <a href="#">yyyyb/</a>'."\n";
+ }
+ if ($undertext ne '') {
+ print $fh ' '.$_undertext."\n";
+ }
+
+ print $fh ' </div>'."\n";
+
+ if ($timer ne '') {
+ print $fh ' <div id="command">'."\n";
+
+ print $fh ' [<span id="ongh" class="'.$timer_color.'">'.$timer.'</span>';
+ print $fh ':<span id="ongm" class="'.$timer_color.'">'.$timer.'</span>';
+ print $fh ':<span id="ongs" class="'.$timer_color.'">'.$timer.'</span>]<br>'."\n";
+
+ if ($undertext ne '') {
+ print $fh '>'.$_undertext.'<span class="inp">_</span>'."\n";
+ }
+ print $fh " </div>\n";
+ }
+
+ print $fh " </div>\n";
+ print_html_body_end($fh);
+ print_html_end($fh);
}
close ($fh);
return $r