>quote\r\n
function bbcode_to_html($text, $settings, $sub)
{
if ( ($settings['enable_bbcode'] == FALSE) ) {
return $text;
}
$search = array (
'/(\[b\ )(.*)(\])/',
'/(\[i\ )(.*)(\])/',
'/(\[u\ )(.*)(\])/',
'/(\[s\ )(.*)(\])/',
'/(\[h\ )(.*)(\])/',
'/(\[sp\ )(.*)(\])/',
'/(\[li\ )(.*)(\])/',
'/(\[url\ )(.*)(\])/',
'/ s\/(.+)\/([0-9]+)/',
'/>> ([0-9]+)\r\n/',
'/>>(.*)\r\n/'
);
$replace = array (
'$2',
'$2',
'$2',
'$2',
'
';
if ( $link_to_reply != '' ) {
$html_string .= "
Jump to post $link_to_reply ";
}
$statement = $db->prepare("SELECT post_id, org_id, sub, text, timestamp,
name, tripcode, move_message,
edit_message
FROM threads WHERE sub = '$sub'
AND org_id = '$org_id'
AND shadow = 'no'
ORDER BY post_id DESC");
$result = $statement->execute();
while ($row = $result->fetchArray(SQLITE3_NUM)) {
$post_id = "{$row[0]}";
$org_id = "{$row[1]}";
$post_text = "{$row[3]}";
$post_text = break_text(bbcode_to_html($post_text, $settings, $sub),
$settings);
$id_text = make_id_text($post_id);
$timestamp = "{$row[4]}";
$name = "{$row[5]}";
$tripcode = "{$row[6]}";
$move_message = "{$row[7]}";
$edit_message = "{$row[8]}";
$html_string .= "
"
. "
#$id_text";
if ( !empty($timestamp) &&
$settings['enable_timestamps'] ) {
$html_string .= "
:$timestamp";
}
// $html_string .= "
$post_text
";
$html_string .= "
$post_text
";
if ( !empty($name) &&
$settings['enable_edit']) {
$html_string .= "
edit ";
}
if ( !empty($name) &&
$settings['enable_tripcodes']) {
$name_string = $name;
$link_string_4 = "/u/$name_string/css=$css";
$html_string .= "
$name_string";
}
if ( !empty($move_message) ) {
$html_string .= "
|$move_message|";
}
if ( !empty($edit_message) ) {
$html_string .= "
|$edit_message|";
}
$html_string .= '
';
}
echo "$html_string";
}
// Show each post of the overboard (so all original posts in their
// sequence, including bumps, except for the subs that are excluded)
function print_overboard($db, $css, $settings, $page)
{
$out = '';
$pagination = $settings['pagination'];
if ( (!empty($settings['no_overboard'])) ) {
$last = array_pop($settings['no_overboard']);
foreach($settings['no_overboard'] as $no_overboard) {
$str = "'" . $no_overboard . "', ";
$out .= $str;
}
$out .= "'" . $last . "'";
}
if ($page == 'all') {
$statement = $db->prepare("SELECT post_id, org_id,
sub, text, timestamp, name,
tripcode, move_message,
edit_message
FROM threads
WHERE org_id = original
AND shadow = 'no'
AND sub NOT IN ($out)
ORDER BY ROWID DESC");
} elseif ($page > 0) {
// if the page is defined
$page_start = ($page - 1) * $settings['pagination'];
$statement = $db->prepare("SELECT post_id, org_id,
sub, text, timestamp, name,
tripcode, move_message,
edit_message
FROM threads
WHERE org_id = original
AND shadow = 'no'
AND sub NOT IN ($out)
ORDER BY ROWID DESC
LIMIT '$page_start', '$pagination'");
} else {
$statement = $db->prepare("SELECT post_id, org_id,
sub, text, timestamp, name,
tripcode, move_message,
edit_message
FROM threads
WHERE org_id = original
AND shadow = 'no'
AND sub NOT IN ($out)
ORDER BY ROWID DESC
LIMIT '$pagination'");
}
$result = $statement->execute();
while ($row = $result->fetchArray(SQLITE3_NUM)) {
$html_string = '';
$post_id = "{$row[0]}";
$org_id = "{$row[1]}";
$sub = "{$row[2]}";
$text = "{$row[3]}";
$post_text = break_text(bbcode_to_html($text, $settings, $sub),
$settings);
$timestamp = "{$row[4]}";
$name = "{$row[5]}";
$tripcode = "{$row[6]}";
$move_message = "{$row[7]}";
$edit_message = "{$row[8]}";
$link_string_1 = "/r/$sub/$org_id/op/css=$css";
$link_string_2 = "/r/$sub/$org_id/css=$css";
$link_string_3 = "/s/$sub/css=$css";
$html_string .= "
"
. "
"
. "
$sub:"
. "
#$post_id";
if ( !empty($timestamp) &&
$settings['enable_timestamps'] ) {
$html_string .= "
:$timestamp";
}
$html_string .= "
$post_text
"
. "
reply ";
if ( !empty($name) &&
$settings['enable_edit']) {
$html_string .= "
edit ";
}
if ( !empty($name) &&
$settings['enable_tripcodes']) {
$name_string = $name;
$link_string_4 = "/u/$name_string/css=$css";
$html_string .= "
$name_string";
}
if ( !empty($move_message) ) {
$html_string .= "
|$move_message|";
}
if ( !empty($edit_message) ) {
$html_string .= "
|$edit_message|";
}
$html_string .= '
';
echo "$html_string";
if ($page == 'all') {
print_replies($db, $sub, $post_id, $org_id,
$settings, $css, 'open');
} else {
print_replies($db, $sub, $post_id, $org_id,
$settings, $css, 'closed');
}
echo "
";
}
}
// Show each post of an individual feed
function print_individual_feed($db, $css, $settings, $ex_subs, $in_subs)
{
$counter = 0;
if ( (!empty($ex_subs)) ) {
$out = '';
$last = array_pop($ex_subs);
foreach($ex_subs as $ex_sub) {
$str = "'" . $ex_sub . "', ";
$out .= $str;
}
$out .= "'" . $last . "'";
$statement = $db->prepare("SELECT post_id, org_id, sub, text,
timestamp, name, tripcode,
move_message, edit_message
FROM threads
WHERE org_id = original
AND shadow = 'no'
AND sub NOT IN ($out)
ORDER BY ROWID DESC");
} elseif ( (!empty($in_subs)) ) {
$in = '';
$last = array_pop($in_subs);
foreach($in_subs as $in_sub) {
$str = "'" . $in_sub . "', ";
$in .= $str;
}
$in .= "'" . $last . "'";
$statement = $db->prepare("SELECT post_id, org_id, sub, text,
timestamp, name, tripcode,
move_message, edit_message
FROM threads
WHERE org_id = original
AND shadow = 'no'
AND sub IN ($in)
ORDER BY ROWID DESC");
}
$result = $statement->execute();
while ($row = $result->fetchArray(SQLITE3_NUM)) {
$html_string = '';
$counter++;
$post_id = "{$row[0]}";
$org_id = "{$row[1]}";
$sub = "{$row[2]}";
$text = "{$row[3]}";
$post_text = break_text(bbcode_to_html($text, $settings, $sub),
$settings);
$timestamp = "{$row[4]}";
$name = "{$row[5]}";
$tripcode = "{$row[6]}";
$move_message = "{$row[7]}";
$edit_message = "{$row[8]}";
$link_string_1 = "/r/$sub/$org_id/op/css=$css";
$link_string_2 = "/r/$sub/$org_id/css=$css";
$link_string_3 = "/s/$sub/css=$css";
$html_string .= "
"
. "
"
. "
$sub:"
. "
#$post_id";
if ( !empty($timestamp) &&
$settings['enable_timestamps'] ) {
$html_string .= "
:$timestamp";
}
// $html_string .= "
$post_text
"
$html_string .= "
$post_text
"
. "
reply ";
if ( !empty($name) &&
$settings['enable_edit']) {
$html_string .= "
edit ";
}
if ( !empty($name) &&
$settings['enable_tripcodes']) {
$name_string = $name;
$link_string_4 = "/u/$name_string/css=$css";
$html_string .= "
$name_string";
}
if ( !empty($move_message) ) {
$html_string .= "
|$move_message|";
}
if ( !empty($edit_message) ) {
$html_string .= "
|$edit_message|";
}
$html_string .= '
';
echo "$html_string";
print_replies($db, $sub, $post_id, $org_id, $settings, $css, 'closed');
echo "