'/fq' => '</div>',
'tq' => '<div class="tq">',
'/tq' => '</div>',
- 'quote' => '<div class="tq">',
- 'quote=' => '<div class="tq"><b class="br">',
- 'quote/='=> '</b> wrote:<br>',
- '/quote' => '</div>',
+ 'quote' => '<div class="opomba"><div class="opomba_text">',
+ 'quote=' => '<div class="opomba"><div class="opomba_info"><b>',
+ 'quote/='=> '</b> wrote:</div><div class="opomba_text">',
+ '/quote' => '</div></div>',
'ni' => '<span class="ni">',
'/ni' => '</span>',
'br' => '<span class="br">',
);
my $show_command_link = ($next_available || (!$access));
my $show_command_cursor = ((!$next_available) || ($command eq ''));
+ my $show_words = ($password_ok || ($access && !$launch));
+
my $frame_indirect = !(
(!$access) || (
($frame <= $last_frame) &&
if ($password_ok) {
$password_query = url_query_encode({'p', $settings->{'password'}});
- $goto_url = merge_url($goto_url , {'query' => $password_query, 'append_query' => 1});
- $info_url = merge_url($info_url , {'query' => $password_query, 'append_query' => 1});
- $words_url = merge_url($words_url , {'query' => $password_query, 'append_query' => 1});
- $bbcode_url = merge_url($bbcode_url , {'query' => $password_query, 'append_query' => 1});
- $viewer_url = merge_url($viewer_url , {'query' => $password_query, 'append_query' => 1});
- $viewer_0_url = merge_url($viewer_0_url , {'query' => $password_query, 'append_query' => 1});
- $viewer_prev_url = merge_url($viewer_prev_url, {'query' => $password_query, 'append_query' => 1});
- $viewer_next_url = merge_url($viewer_next_url, {'query' => $password_query, 'append_query' => 1});
- $viewer_last_url = merge_url($viewer_last_url, {'query' => $password_query, 'append_query' => 1});
+ $goto_url = merge_url($goto_url , {'query' => $password_query, 'append_query' => 1, 'preserve_fragment' => 1});
+ $info_url = merge_url($info_url , {'query' => $password_query, 'append_query' => 1, 'preserve_fragment' => 1});
+ $words_url = merge_url($words_url , {'query' => $password_query, 'append_query' => 1, 'preserve_fragment' => 1});
+ $bbcode_url = merge_url($bbcode_url , {'query' => $password_query, 'append_query' => 1, 'preserve_fragment' => 1});
+ $viewer_url = merge_url($viewer_url , {'query' => $password_query, 'append_query' => 1, 'preserve_fragment' => 1});
+ $viewer_0_url = merge_url($viewer_0_url , {'query' => $password_query, 'append_query' => 1, 'preserve_fragment' => 1});
+ $viewer_prev_url = merge_url($viewer_prev_url, {'query' => $password_query, 'append_query' => 1, 'preserve_fragment' => 1});
+ $viewer_next_url = merge_url($viewer_next_url, {'query' => $password_query, 'append_query' => 1, 'preserve_fragment' => 1});
+ $viewer_last_url = merge_url($viewer_last_url, {'query' => $password_query, 'append_query' => 1, 'preserve_fragment' => 1});
if ($frame_indirect) {
- $frame_url = merge_url($frame_url , {'query' => $password_query, 'append_query' => 1});
+ $frame_url = merge_url($frame_url , {'query' => $password_query, 'append_query' => 1, 'preserve_fragment' => 1});
}
if ($nextframe_indirect) {
- $frame_next_url= merge_url($frame_next_url , {'query' => $password_query, 'append_query' => 1});
+ $frame_next_url= merge_url($frame_next_url , {'query' => $password_query, 'append_query' => 1, 'preserve_fragment' => 1});
}
}
my $_base_url = html_entity_encode_dec($base_url , 1);
print $fh '<a href="'.$_goto_url.'">GOTO</a>'."\n";
print $fh ' <span style="float: right;">'."\n ";
if ($text_mode == TEXT_MODE->{'normal'}) {
- print $fh '<a href="'.$_words_url.'">'.$words_link_text.'</a> | ';
+ if ($show_words) {
+ print $fh '<a href="'.$_words_url.'">'.$words_link_text.'</a> | ';
+ }
}
else {
print $fh '<a href="'.$_viewer_url.'">Without</a> | ';
print $fh " </div>\n";
print $fh " </div>\n";
- if ($text_mode == TEXT_MODE->{'words'}) {
+ if (($text_mode == TEXT_MODE->{'words'}) && $show_words) {
print_comments($fh, $context, $settings, $words_data);
}
my $frame = int($context->{'frame'});
my $page = int($context->{'words_page'});
my $post_count = int($words_data->{'posts'});
+ my $id_start = $page * COMMENT_PAGE_LENGTH();
+ my $id_stop = $id_start + COMMENT_PAGE_LENGTH();
+ my $older = ($page > 0) ? ($page-1) : '';
+ my $newer;
+ my $password_query;
+ if ($id_stop >= $post_count) {
+ $id_stop = $post_count;
+ }
+ else {
+ $newer = $page+1;
+ }
+ my $links;
+
+ my $words_url = merge_url(
+ {'path' => CGI_VIEWER_PATH()},
+ {
+ 'path' => $frame,
+ 'query' => {'b' => TEXT_MODE->{'words'}},
+ }
+ );
+ my $older_url = merge_url(
+ $words_url,
+ {
+ 'query' => {'i' => $page-1},
+ 'fragment' => 'insw',
+ 'append_query' => 1
+ }
+ );
+ my $newer_url = merge_url(
+ $words_url,
+ {
+ 'query' => {'i' => $page+1},
+ 'fragment' => 'insw',
+ 'append_query' => 1
+ }
+ );
+
+ if ($password_ok) {
+ $password_query = url_query_encode({'p', $settings->{'password'}});
+ $older_url = merge_url($older_url, {'query' => $password_query, 'append_query' => 1, 'preserve_fragment' => 1});
+ $newer_url = merge_url($older_url, {'query' => $password_query, 'append_query' => 1, 'preserve_fragment' => 1});
+ }
my $_post_url = html_entity_encode_dec(CGI_WORDS_PATH(), 1);
my $_password = html_entity_encode_dec($settings->{'password'}, 1);
+ my $_older_url = html_entity_encode_dec($older_url, 1);
+ my $_newer_url = html_entity_encode_dec($newer_url, 1);
+
+ if (($older ne '') || ($newer ne '')) {
+ $links .= ' <div class="underlinks">'."\n";
+ $links .= ' ';
+ if ($older ne '') {
+ $links .= '<a href="'.$_older_url.'">Older</a>'
+ }
+ if (($older ne '') && ($newer ne '')) {
+ $links .= ' | ';
+ }
+ if ($newer ne '') {
+ $links .= '<a href="'.$_newer_url.'">Newer</a>';
+ }
+ $links .= "\n";
+ $links .= ' </div>'."\n";
+ }
print $fh ' <div class="space"></div>'."\n";
print $fh ' <div id="insw" class="ins">'."\n";
print $fh ' <h1 class="titletext" id="wordstitletext">Words</h1>'."\n";
print $fh ' </div>'."\n";
+ if ($links ne '') {
+ print $fh $links;
+ }
+
print $fh ' <div class="undertext" id="words">'."\n";
if ($post_count > 0) {
- my $start = $page * COMMENT_PAGE_LENGTH();
- my $stop = $start + COMMENT_PAGE_LENGTH();
- if ($stop > $post_count) {
- $stop = $post_count;
- }
- for (my $i=$start; $i<$stop; ++$i) {
+ for (my $i=$id_start; $i<$id_stop; ++$i) {
my $ID = $words_data->{'content'}->[$i];
my $post_path = join_path(PATH_SEPARATOR(), DATA_WORDS_PATH(), $ID);
my %post_data = read_data_file($post_path);
$time_tab[1]
);
}
+ my $quote_url = merge_url(
+ {'path' => CGI_WORDS_PATH()},
+ {
+ 'query' => {
+ 'f' => $frame,
+ 'quote' => $ID,
+ 'p' => ($password_ok ? $settings->{'password'} : '')
+ }
+ }
+ );
+ my $edit_url = merge_url(
+ {'path' => CGI_WORDS_PATH()},
+ {
+ 'query' => {
+ 'f' => $frame,
+ 'edit' => $ID,
+ 'key' => $post_data{'key'},
+ 'username' => $post_data{'name'},
+ 'p' => ($password_ok ? $settings->{'password'} : '')
+ }
+ }
+ );
+ my $remove_url = merge_url(
+ {'path' => CGI_WORDS_PATH()},
+ {
+ 'query' => {
+ 'f' => $frame,
+ 'remove' => $ID,
+ 'key' => $post_data{'key'},
+ 'username' => $post_data{'name'},
+ 'p' => ($password_ok ? $settings->{'password'} : '')
+ }
+ }
+ );
- my $_ID = html_entity_encode_dec($ID, 1);
- my $_name = html_entity_encode_dec($post_data{'name'}, 1);
+ my $_ID = html_entity_encode_dec($ID, 1);
+ my $_name = html_entity_encode_dec($post_data{'name'}, 1);
+ my $_quote_url = html_entity_encode_dec($quote_url, 1);
+ my $_edit_url = html_entity_encode_dec($edit_url, 1);
+ my $_remove_url = html_entity_encode_dec($remove_url, 1);
print $fh ' <div id="'.$_ID.'"class="opomba">'."\n";
print $fh ' <div class="opomba_info">'."\n";
- print $fh ' '.$i.': '.$_name;
+ print $fh ' <a href="#'.$_ID.'" class="bi hu">'.$i.': '.$_name;
if ($post_time_text ne '') {
print $fh ' • '.$post_time_text;
}
if ($edit_time_text ne '') {
print $fh ' • '.$edit_time_text;
}
+ print $fh '</a>'."\n";
print $fh ' <div class="pr">'."\n";
- print $fh ' edit | remove'."\n";
+ print $fh ' <a href="'.$_quote_url.'" class="bi hu">quote</a> | <a href="'.$_edit_url.'" class="bi hu">edit</a> | <a href="'.$_remove_url.'" class="bi hu">remove</a>'."\n";
print $fh ' </div>'."\n";
print $fh ' </div>'."\n";
print $fh ' <div class="opomba_text">'."\n";
}
}
- print $fh ' <form method="get" action="'.$_post_url.'">'."\n";
- print $fh ' <b>Your words</b>'."\n";
+ print $fh ' <form method="post" action="'.$_post_url.'">'."\n";
+ print $fh ' <b>Your words:</b>'."\n";
print $fh ' <textarea class="inta" name="words" rows="4"></textarea>'."\n";
print $fh ' <table cellpadding="0" cellspacing="0" border="0"><tr>'."\n";
print $fh ' <td><b>Your name: </b></td>'."\n";
print $fh ' </tr><tr>'."\n";
print $fh ' <td><b>Leave this empty: </b></td>'."\n";
print $fh ' <td><input class="intx" type="text" name="password2" value=""></td>'."\n";
- print $fh ' <td><input class="inbt" type="submit" name="post" value="Send"></td>'."\n";
+ print $fh ' <td>'."\n";
+ print $fh ' <input class="inbt" type="submit" name="post" value="Send">'."\n";
+ print $fh ' <input class="inbt" type="submit" name="preview" value="Preview">'."\n";
+ print $fh ' </td>'."\n";
print $fh ' </tr></table>'."\n";
print $fh ' <input type="hidden" name="f" value="'.$frame.'">'."\n";
if ($password_ok) {
print $fh ' </form>'."\n";
print $fh ' </div>'."\n";
+ if ($links ne '') {
+ print $fh $links;
+ }
+
print $fh ' </div>'."\n";
}
$write_data = 1;
}
if ($write_data) {
- $r = write_data_file($frame_data_path, '', '', \%frame_data);
+ $r = write_data_file($frame_data_path, \%frame_data);
unless ($r) {
print STDERR "fail writing $frame_data_path\n";
if ($print) {
}
$goto_list{'title-' .$frame} = $frame_full_data{'title'};
$goto_list{'ongtime-'.$frame} = $frame_full_data{'ongtime'};
- $r = write_data_file(DATA_LIST_PATH(), '', '', \%goto_list);
+ $r = write_data_file(DATA_LIST_PATH(), \%goto_list);
unless ($r) {
print STDERR "fail writing ".DATA_LIST_PATH()."\n";
if ($print) {