[home] [login]





<?php


// page_engine.php

// this is passed:
// $page_modifier
// $page_modifier_value
// $query_string
// $open_html
// $close_html



if ($directory[included_style] == "alphabetical") {
    
$order_by "alphabetize";
}
if (
$directory[included_style] == "numeric") {
    
$order_by "numeric_order";
}
if (
$directory[included_style] == "chronological") {
    
$order_by "datetime";
}
if (
$directory[direction] == '1') {
    
$the_direction "DESC";
}
else {
    
$the_direction "ASC";
}

if (
$query_string == 'order=reverse') {
    
$order 'reverse';
    if (
$directory[direction] == '0') {
        
$directory[direction] = '1';
        
$the_direction "DESC";
        
    }
    else {
        
$directory[direction] == '0';
        
$the_direction "ASC";
    }
    unset(
$query_string);
}


if(
$homepage != true) {
    
$querydid "did = '$directory[did]'";
}
else {
    
$publicdid = array('2','10','12','16','490','666','671','695','763');
//    $querydid = "(did='2' or did='10' or did='12' or did='16' or did='490' or did='666' or did='671' or did='695' or did='763'";
    
if($user['uid'] > 2) {
        
// not a guest, so get private pages they have on their home page
        
$subquery "select did from subscription where uid='" $user['uid'] . "' and home_page > 0";
        
$subres mysql_query($subquery);
        while(
$sub mysql_fetch_assoc($subres)) {
            if(
in_array($sub['did'],$publicdid)) {
                continue;
            }
            
$publicdid[] = $sub['did'];
        }
    }
    
$querydid '(';
    foreach(
$publicdid as $did) {
        
$querydid .= 'did=\'' $did '\' or ';
    }
    
$querydid substr($querydid,0,-4) . ')';
    
$the_direction "DESC";
    
$order_by "datetime";
    
$directory['window'] = 25;
    
$directory['post_foot'] = 1;
    
$directory['post_comment'] = 1;
    
$directory['included_style'] = 'chronological';
    
$directory['direction'] = 1;
    
    
}




if (
$page_modifier == "" and $query_string == "") {

    
// just spit out the regular page view
    
if ($directory[window] == '0') {
        
// infinite window
        
$postquery "select did, bid, name, uid, datetime, real_datetime, post, num_comments, num_references, alphabetize, numeric_order from blog where " $querydid " order by $order_by $the_direction";
    }
    else {
        if (
$directory[included_style] == "alphabetical" or $directory[included_style] == "numeric") {
            
$postquery "select did, bid, name, uid, datetime, real_datetime, post, num_comments, num_references, alphabetize, numeric_order from blog where " $querydid " order by $order_by ${the_direction}, datetime $the_direction limit $directory[window]";
        }
        else {
            
$postquery "select did, bid, name, uid, datetime, real_datetime, post, num_comments, num_references, alphabetize, numeric_order from blog where " $querydid " order by $order_by $the_direction limit $directory[window]";
        }
    }
    
}
elseif (
$query_string != "") {

    
// is it a search or is it a specific post or new?
    
$search_test explode("search="$query_string);
    
$order_test explode("order="$query_string);
    if (
$search_test[1] != "") {
        
$search $search_test[1];
        
$original_search_string $search;
        
$search str_replace("+"" ""$search");
        
$string_length strlen($search);
        for(
$i=0;$i<$string_length;$i++) {
                
            
$char substr($search$i1);
            if (
$char != " ") {
                
$convert_char strtoupper($char);
                if (
$convert_char == $char) {
                    
$convert_char strtolower($char);
                }
                
$ci_phrase $ci_phrase "[${char}${convert_char}]";
            }
            else {
                
$ci_phrase $ci_phrase " ";
            }    
                
        }
        
$this_is_a_search "true";
        
$postquery "select did, bid, name, uid, datetime, real_datetime, post, num_comments, num_references from blog where " $querydid " and post rlike '.*${ci_phrase}.*' order by $order_by $the_direction LIMIT 50";
            
    }
    else {
        
$specific_post $query_string;
        if (
$specific_post == "new" and $user[uid] != '2') {
            
$new_posts "true";
            
$postquery "select blog.did, blog.bid, blog.name, blog.uid, blog.datetime, blog.real_datetime, blog.post, blog.num_comments, blog.num_references from blog where blog.did = '$directory[did]' and blog.real_datetime > '$subscription[last_seen]' order by $order_by $the_direction";
        }
        elseif (
$specific_post == "preview") {
            
$preview "true";
            
$postquery "select preview.prid, preview.name, preview.uid, preview.datetime, preview.post from preview where preview.did = '$directory[did]' and (preview.uid = '$user[uid]' or $user[uid] = '$directory[uid]' or $user[group_level] >= '900')";
        }
        else {
            
$postquery "select did, bid, name, uid, datetime, real_datetime, post, num_comments, num_references from blog where " $querydid " and bid = '$specific_post'";
        }
    }
}
else {

    
// there is a $page_modifier
    
if ($directory[direction] == '1') {
        if (
$page_modifier == "pageback" or $page_modifier == "next") {
            
// we want the next $window many posts with a smaller datetime, numeric_order, or alphabetize
            
if ($directory[included_style] == "chronological") {
                if (
$directory[window] != 0) {
                    
$lastdatetime mysql_query("select datetime, real_datetime from blog where bid='$page_modifier_value'");
                    
$lastdate mysql_fetch_assoc($lastdatetime);
                    
$postquery "select did, bid, name, uid, datetime, real_datetime, post, num_comments, num_references from blog where " $querydid " and datetime < '$lastdate[datetime]' order by datetime DESC limit $directory[window]";
                }
            }
            elseif (
$directory[included_style] == "alphabetical") {
                if (
$directory[window] != 0) {
                    
$lastalpha mysql_query("select alphabetize,datetime,real_datetime from blog where bid='$page_modifier_value'");
                    
$lastalphab mysql_fetch_assoc($lastalpha);
                    
                    
// we have to grab every post where alphabetize is greater than $lastalphab[alphabetize] so we can make sure we
                    // don't repeat any bids. Otherwise there is no way to keep things straight in case there are similar blog.alphabetize
                    // or more likely similarly null blog.alphabetize
                    
$everyresult mysql_query("select bid,alphabetize,datetime,real_datetime from blog where did='$directory[did]' and alphabetize >= '$lastalphab[alphabetize]' order by alphabetize DESC, datetime DESC");
                    
$everycount mysql_num_rows($everyresult);
                    if (
$everycount 0) {
                        while(
$every mysql_fetch_assoc($everyresult)) {
                            if (
$every[alphabetize] < $lastalphab[alphabetize]) {
                                continue;
                            }
                            if (
$every[alphabetize] == $lastalphab[alphabetize]) {
                                if (
$every[datetime] < $lastalphab[datetime]) {
                                    continue;
                                }
                            }
                            
$exclude $exclude " and bid != '$every[bid]'";
                        }
                    }
                    
                    
                    
$postquery "select did, bid, name, uid, datetime,real_datetime, post, num_comments, num_references, alphabetize from blog where " $querydid " and alphabetize <= '$lastalphab[alphabetize]$exclude order by alphabetize DESC, datetime DESC limit $directory[window]";
                }
            }
            elseif (
$directory[included_style] == "numeric") {
                if (
$directory[window] != 0) {
                    
$lastalpha mysql_query("select numeric_order,datetime,real_datetime from blog where bid='$page_modifier_value'");
                    
$lastalphab mysql_fetch_assoc($lastalpha);
                    
                    
// we have to grab every post where numeric_order is greater than $lastalphab[numeric_order] so we can make sure we
                    // don't repeat any bids. Otherwise there is no way to keep things straight in case there are similar blog.numeric_order
                    // or more likely similarly null blog.numeric_order
                    
$everyresult mysql_query("select bid,numeric_order,datetime,real_datetime from blog where did='$directory[did]' and numeric_order >= '$lastalphab[numeric_order]' order by numeric_order DESC, datetime DESC");
                    
$everycount mysql_num_rows($everyresult);
                    if (
$everycount 0) {
                        while(
$every mysql_fetch_assoc($everyresult)) {
                            if (
$every[numeric_order] < $lastalphab[numeric_order]) {
                                continue;
                            }
                            if (
$every[numeric_order] == $lastalphab[numeric_order]) {
                                if (
$every[datetime] < $lastalphab[datetime]) {
                                    continue;
                                }
                            }
                            
$exclude $exclude " and bid != '$every[bid]'";
                        }
                    }
                    
                    
                    
$postquery "select did, bid, name, uid, datetime,real_datetime, post, num_comments, num_references, numeric_order from blog where " $querydid " and numeric_order <= '$lastalphab[numeric_order]$exclude order by numeric_order DESC, datetime DESC limit $directory[window]";
                }
            }        
        }
        elseif (
$page_modifier == "pageforward" or $page_modifier == "previous") {
            
// we want the next $window many posts with a larger datetime, numeric_order, or alphabetize
            
if ($directory[included_style] == "chronological") {
                if (
$directory[window] != 0) {
                    
$lastdatetime mysql_query("select datetime,real_datetime from blog where bid='$page_modifier_value'");
                    
$lastdate mysql_fetch_assoc($lastdatetime);
                    
// now we need the other end of the datetime range to make the select ($lastdate is one end of the range)
                    
$lq "select datetime,real_datetime from blog where " $querydid " and datetime > '$lastdate[datetime]' order by datetime limit $directory[window]";
                    
$lowerquery mysql_query($lq);
                    while(
$firstdateresult mysql_fetch_assoc($lowerquery)) {
                        
$firstdate $firstdateresult[datetime];

                    }
                    
// we should exit this while loop with the the lower datetime boundary in $firstdate
                    
$postquery "select did, bid, name, uid, datetime,real_datetime, post, num_comments, num_references from blog where " $querydid " and datetime <= '$firstdate' and datetime > '$lastdate[datetime]' order by datetime DESC limit $directory[window]";
                }
            }
            elseif (
$directory[included_style] == "alphabetical") {
                if (
$directory[window] != 0) {
                    while (
$bids_gotten $directory[window]) {
                        
$last_query "select bid,alphabetize,datetime,real_datetime from blog where bid='$page_modifier_value'";
                        
$last_result mysql_query($last_query);
                        
$last mysql_fetch_assoc($last_result);
                        
                        
// are there other bids with same alphabetize (in the right direction)?
                        
$other_same_check mysql_query("select count(bid) from blog where did='$directory[did]' and alphabetize='$last[alphabetize]' and datetime > '$last[datetime]'");
                        
$other_same_count mysql_fetch_row($other_same_check);
                        
                        if (
$other_same_count[0] > 0) {
                            
// yes there are other bids with the same alphabetize
                            // Are there at least as many as window?
                            
if ($other_same_count[0] >= $directory[window]) {
                                
// so get that many ordered by datetime
                                
$entire_result mysql_query("select bid from blog where did='$directory[did]' and alphabetize = '$last[alphabetize]' order by datetime");
                                while(
$entire mysql_fetch_assoc($entire_result) and $bids_gotten $directory[window]) {
                                    if (
$entire[bid] == $last[bid] or $got_there == "true") {
                                        
$got_there "true";
                                    }
                                    else {
                                        continue;
                                    }
                                    if (
$entire[bid] == $last[bid]) {
                                        continue;
                                    }
                                    
$bids_to_get[] = $entire[bid];
                                    
$bids_gotten $bids_gotten 1;
                                    
$page_modifier_value $entire[bid];
                                }
                                
                            }
                            else {
                                
// yes there are other bids with the same alphabetize
                                // but not enough to fill the page
                                
                                // so we have to put the ones that are here into $bids_to_get[]
                                // and make note of how many we get by incrementing $bids_gotten
                                // and then send ourselves back through the big while loop again with
                                // $page_modifier_value now set to the last $bid from the loop we're
                                // about to take (real clear, no?)
                                
                                
$partial_result mysql_query("select bid from blog where did='$directory[did]' and bid != '$last[bid]' and alphabetize = '$last[alphabetize]' and datetime > '$last[datetime]' order by datetime");
                                while(
$partial mysql_fetch_assoc($partial_result)) {
                                    
$bids_to_get[] = $partial[bid];
                                    
$bids_gotten $bids_gotten 1;
                                    
$page_modifier_value $partial[bid];
                                }
                                
                            }
                        }
                        else {
                            
// no matches for this alphabetize
                            // so get the next alphabetize from this page (just the next one)
                            // add it to $bids_to_get[]
                            // increment $bids_gotten
                            // and send yourself back through the big while with $page_modifier_value = the bid you just got
                            // so we can check that one for duplicates
                            
                            
$get_previous_result mysql_query("select bid from blog where did='$directory[did]' and alphabetize > '$last[alphabetize]' order by alphabetize, datetime limit 1");
                            
$get_previous mysql_fetch_assoc($get_previous_result);
                            
$bids_gotten $bids_gotten 1;
                            
$bids_to_get[] = $get_previous[bid];
                            
$page_modifier_value $get_previous[bid];
                        }
                    }
                    
                    
                    
                    
// we have to build the query using $bids_to_get[]
                        
                    
$postquery "select * from blog where";
                    
$to_get_count count($bids_to_get);
                    for (
$i=0;$i<$to_get_count;$i++) {
                        if (
$i == 0) {
                            
$postquery $postquery " bid = '$bids_to_get[$i]'";
                        }
                        else {
                            
$postquery $postquery " or bid = '$bids_to_get[$i]'";
                        }
                    }
                    
$postquery $postquery " order by alphabetize DESC, datetime DESC";
                
                }
            }
            elseif (
$directory[included_style] == "numeric") {
                if (
$directory[window] != 0) {
                    while (
$bids_gotten $directory[window]) {
                        
$last_query "select bid,numeric_order,datetime,real_datetime from blog where bid='$page_modifier_value'";
                        
$last_result mysql_query($last_query);
                        
$last mysql_fetch_assoc($last_result);
                        
                        
// are there other bids with same numeric_order (in the right direction)?
                        
$other_same_check mysql_query("select count(bid) from blog where did='$directory[did]' and numeric_order='$last[numeric_order]' and datetime > '$last[datetime]'");
                        
$other_same_count mysql_fetch_row($other_same_check);
                        
                        if (
$other_same_count[0] > 0) {
                            
// yes there are other bids with the same numeric_order
                            // Are there at least as many as window?
                            
if ($other_same_count[0] >= $directory[window]) {
                                
// so get that many ordered by datetime
                                
$entire_result mysql_query("select bid from blog where did='$directory[did]' and numeric_order = '$last[numeric_order]' order by datetime");
                                while(
$entire mysql_fetch_assoc($entire_result) and $bids_gotten $directory[window]) {
                                    if (
$entire[bid] == $last[bid] or $got_there == "true") {
                                        
$got_there "true";
                                    }
                                    else {
                                        continue;
                                    }
                                    if (
$entire[bid] == $last[bid]) {
                                        continue;
                                    }
                                    
$bids_to_get[] = $entire[bid];
                                    
$bids_gotten $bids_gotten 1;
                                    
$page_modifier_value $entire[bid];
                                }
                                
                            }
                            else {
                                
// yes there are other bids with the same numeric_order
                                // but not enough to fill the page
                                
                                // so we have to put the ones that are here into $bids_to_get[]
                                // and make note of how many we get by incrementing $bids_gotten
                                // and then send ourselves back through the big while loop again with
                                // $page_modifier_value now set to the last $bid from the loop we're
                                // about to take (real clear, no?)
                                
                                
$partial_result mysql_query("select bid from blog where did='$directory[did]' and bid != '$last[bid]' and numeric_order = '$last[numeric_order]' and datetime > '$last[datetime]' order by datetime");
                                while(
$partial mysql_fetch_assoc($partial_result)) {
                                    
$bids_to_get[] = $partial[bid];
                                    
$bids_gotten $bids_gotten 1;
                                    
$page_modifier_value $partial[bid];
                                }
                                
                            }
                        }
                        else {
                            
// no matches for this numeric_order
                            // so get the next numeric_order from this page (just the next one)
                            // add it to $bids_to_get[]
                            // increment $bids_gotten
                            // and send yourself back through the big while with $page_modifier_value = the bid you just got
                            // so we can check that one for duplicates
                            
                            
$get_previous_result mysql_query("select bid from blog where did='$directory[did]' and numeric_order > '$last[numeric_order]' order by numeric_order, datetime limit 1");
                            
$get_previous mysql_fetch_assoc($get_previous_result);
                            
$bids_gotten $bids_gotten 1;
                            
$bids_to_get[] = $get_previous[bid];
                            
$page_modifier_value $get_previous[bid];
                        }
                    }
                    
                    
                    
                    
// we have to build the query using $bids_to_get[]
                        
                    
$postquery "select * from blog where";
                    
$to_get_count count($bids_to_get);
                    for (
$i=0;$i<$to_get_count;$i++) {
                        if (
$i == 0) {
                            
$postquery $postquery " bid = '$bids_to_get[$i]'";
                        }
                        else {
                            
$postquery $postquery " or bid = '$bids_to_get[$i]'";
                        }
                    }
                    
$postquery $postquery " order by numeric_order DESC, datetime DESC";
                }
            }    
        
        }
        
    }
    else {
        
// direction = 0
        
if ($page_modifier == "next") {
            
// we want the next $window many posts with larger datetime, alpha, or numeric_order
            
if ($directory[included_style] == "chronological") {
                if (
$directory[window] != 0) {
                    
$lastdatetime mysql_query("select datetime,real_datetime from blog where bid='$page_modifier_value'");
                    
$lastdate mysql_fetch_assoc($lastdatetime);
                    
$postquery "select did, bid, name, uid, datetime,real_datetime, post, num_comments, num_references from blog where " $querydid " and datetime > '$lastdate[datetime]' order by datetime limit $directory[window]";
                }
            }
            elseif (
$directory[included_style] == "alphabetical") {
                if (
$directory[window] != 0) {
                    
$lastalpha mysql_query("select bid,alphabetize,datetime,real_datetime from blog where bid='$page_modifier_value'");
                    
$lastalphab mysql_fetch_assoc($lastalpha);
                    
                    
// we have to grab every post where alphabetize is greater than $lastalphab[alphabetize] so we can make sure we
                    // don't repeat any bids. Otherwise there is no way to keep things straight in case there are similar blog.alphabetize
                    // or more likely similarly null blog.alphabetize
                    
$everyresult mysql_query("select bid,alphabetize,datetime,real_datetime from blog where did='$directory[did]' and alphabetize <= '$lastalphab[alphabetize]' order by alphabetize, datetime");
                    
$everycount mysql_num_rows($everyresult);
                    if (
$everycount 0) {
                        while(
$every mysql_fetch_assoc($everyresult)) {
                            if (
$every[alphabetize] > $lastalphab[alphabetize]) {
                                continue;
                            }
                            if (
$every[alphabetize] == $lastalphab[alphabetize]) {
                                if (
$every[datetime] > $lastalphab[datetime]) {
                                    continue;
                                }
                            }
                            
$exclude $exclude " and bid != '$every[bid]'";
                        }
                    }
                    
                    
                    
$postquery "select did, bid, name, uid, datetime,real_datetime, post, num_comments, num_references, alphabetize from blog where " $querydid " and alphabetize >= '$lastalphab[alphabetize]$exclude order by alphabetize, datetime limit $directory[window]";
                
                }
            }
            elseif (
$directory[included_style] == "numeric") {
                if (
$directory[window] != 0) {
                    
$lastalpha mysql_query("select bid,numeric_order,datetime,real_datetime from blog where bid='$page_modifier_value'");
                    
$lastalphab mysql_fetch_assoc($lastalpha);
                    
                    
// we have to grab every post where numeric_order is greater than $lastalphab[numeric_order] so we can make sure we
                    // don't repeat any bids. Otherwise there is no way to keep things straight in case there are similar blog.numeric_order
                    // or more likely similarly null blog.numeric_order
                    
$everyresult mysql_query("select bid,numeric_order,datetime,real_datetime from blog where did='$directory[did]' and numeric_order <= '$lastalphab[numeric_order]' order by numeric_order, datetime");
                    
$everycount mysql_num_rows($everyresult);
                    if (
$everycount 0) {
                        while(
$every mysql_fetch_assoc($everyresult)) {
                            if (
$every[numeric_order] > $lastalphab[numeric_order]) {
                                continue;
                            }
                            if (
$every[numeric_order] == $lastalphab[numeric_order]) {
                                if (
$every[datetime] > $lastalphab[datetime]) {
                                    continue;
                                }
                            }
                            
$exclude $exclude " and bid != '$every[bid]'";
                        }
                    }
                    
                    
                    
$postquery "select did, bid, name, uid, datetime,real_datetime, post, num_comments, num_references, numeric_order from blog where " $querydid " and numeric_order >= '$lastalphab[numeric_order]$exclude order by numeric_order, datetime limit $directory[window]";
                
                }
            
            }    
        }
        elseif (
$page_modifier == "previous") {
            
// we want the next $window many posts with a smaller datetime, numeric_order, or alphabetize
            
if ($directory[included_style] == "chronological") {
                if (
$directory[window] != 0) {
                    
$lastdatetime mysql_query("select datetime,real_datetime from blog where bid='$page_modifier_value'");
                    
$lastdate mysql_fetch_assoc($lastdatetime); // that tells us the upper bound
                    // now we need the lower bound, or else we'll just get the very top of the page
                    
$lowerquery mysql_query("select datetime,real_datetime from blog where did='$directory[did]' and datetime < '$lastdate[datetime]' order by datetime DESC limit $directory[window]");
                    while(
$firstdateresult mysql_fetch_assoc($lowerquery)) {
                        
$firstdate $firstdateresult[datetime];
                    }
                    
// we should exit this while loop with the the lower datetime boundary in $firstdate
                    
$postquery "select did, bid, name, uid, datetime,real_datetime, post, num_comments, num_references from blog where " $querydid " and datetime >= '$firstdate' and datetime < '$lastdate[datetime]' order by datetime";
                }
            }
            elseif (
$directory[included_style] == "alphabetical") {
                if (
$directory[window] != 0) {
                    while (
$bids_gotten $directory[window]) {
                        
$last_query "select bid,alphabetize,datetime,real_datetime from blog where bid='$page_modifier_value'";
                        
$last_result mysql_query($last_query);
                        
$last mysql_fetch_assoc($last_result);
                        
                        
// are there other bids with same alphabetize (in the right direction)?
                        
$other_same_check mysql_query("select count(bid) from blog where did='$directory[did]' and alphabetize='$last[alphabetize]' and datetime < '$last[datetime]'");
                        
$other_same_count mysql_fetch_row($other_same_check);
                        
                        if (
$other_same_count[0] > 0) {
                            
// yes there are other bids with the same alphabetize
                            // Are there at least as many as window?
                            
if ($other_same_count[0] >= $directory[window]) {
                                
// so get that many ordered by datetime
                                
$entire_result mysql_query("select bid from blog where did='$directory[did]' and alphabetize = '$last[alphabetize]' order by datetime DESC");
                                while(
$entire mysql_fetch_assoc($entire_result) and $bids_gotten $directory[window]) {
                                    if (
$entire[bid] == $last[bid] or $got_there == "true") {
                                        
$got_there "true";
                                    }
                                    else {
                                        continue;
                                    }
                                    if (
$entire[bid] == $last[bid]) {
                                        continue;
                                    }
                                    
$bids_to_get[] = $entire[bid];
                                    
$bids_gotten $bids_gotten 1;
                                    
$page_modifier_value $entire[bid];
                                }
                                
                            }
                            else {
                                
// yes there are other bids with the same alphabetize
                                // but not enough to fill the page
                                
                                // so we have to put the ones that are here into $bids_to_get[]
                                // and make note of how many we get by incrementing $bids_gotten
                                // and then send ourselves back through the big while loop again with
                                // $page_modifier_value now set to the last $bid from the loop we're
                                // about to take (real clear, no?)
                                
                                
$partial_result mysql_query("select bid from blog where did='$directory[did]' and bid != '$last[bid]' and alphabetize = '$last[alphabetize]' and datetime < '$last[datetime]' order by datetime DESC");
                                while(
$partial mysql_fetch_assoc($partial_result)) {
                                    
$bids_to_get[] = $partial[bid];
                                    
$bids_gotten $bids_gotten 1;
                                    
$page_modifier_value $partial[bid];
                                }
                                
                            }
                        }
                        else {
                            
// no matches for this alphabetize
                            // so get the next alphabetize from this page (just the next one)
                            // add it to $bids_to_get[]
                            // increment $bids_gotten
                            // and send yourself back through the big while with $page_modifier_value = the bid you just got
                            // so we can check that one for duplicates
                            
                            
$get_previous_result mysql_query("select bid from blog where did='$directory[did]' and alphabetize < '$last[alphabetize]' order by alphabetize DESC, datetime DESC limit 1");
                            
$get_previous mysql_fetch_assoc($get_previous_result);
                            
$bids_gotten $bids_gotten 1;
                            
$bids_to_get[] = $get_previous[bid];
                            
$page_modifier_value $get_previous[bid];
                        }
                    }
                    
                    
                    
                    
// we have to build the query using $bids_to_get[]
                        
                    
$postquery "select * from blog where";
                    
$to_get_count count($bids_to_get);
                    for (
$i=0;$i<$to_get_count;$i++) {
                        if (
$i == 0) {
                            
$postquery $postquery " bid = '$bids_to_get[$i]'";
                        }
                        else {
                            
$postquery $postquery " or bid = '$bids_to_get[$i]'";
                        }
                    }
                    
$postquery $postquery " order by alphabetize, datetime";
                
                }
            }
            elseif (
$directory[included_style] == "numeric") {
                if (
$directory[window] != 0) {
                    while (
$bids_gotten $directory[window]) {
                        
$last_query "select bid,numeric_order,datetime,real_datetime from blog where bid='$page_modifier_value'";
                        
$last_result mysql_query($last_query);
                        
$last mysql_fetch_assoc($last_result);
                        
                        
// are there other bids with same numeric_order (in the right direction)?
                        
$other_same_check mysql_query("select count(bid) from blog where did='$directory[did]' and numeric_order='$last[numeric_order]' and datetime < '$last[datetime]'");
                        
$other_same_count mysql_fetch_row($other_same_check);
                        
                        if (
$other_same_count[0] > 0) {
                            
// yes there are other bids with the same alphabetize
                            // Are there at least as many as window?
                            
if ($other_same_count[0] >= $directory[window]) {
                                
// so get that many ordered by datetime
                                
$entire_result mysql_query("select bid from blog where did='$directory[did]' and numeric_order = '$last[numeric_order]' order by datetime DESC");
                                while(
$entire mysql_fetch_assoc($entire_result) and $bids_gotten $directory[window]) {
                                    if (
$entire[bid] == $last[bid] or $got_there == "true") {
                                        
$got_there "true";
                                    }
                                    else {
                                        continue;
                                    }
                                    if (
$entire[bid] == $last[bid]) {
                                        continue;
                                    }
                                    
$bids_to_get[] = $entire[bid];
                                    
$bids_gotten $bids_gotten 1;
                                    
$page_modifier_value $entire[bid];
                                }
                                
                            }
                            else {
                                
// yes there are other bids with the same numeric_order
                                // but not enough to fill the page
                                
                                // so we have to put the ones that are here into $bids_to_get[]
                                // and make note of how many we get by incrementing $bids_gotten
                                // and then send ourselves back through the big while loop again with
                                // $page_modifier_value now set to the last $bid from the loop we're
                                // about to take (real clear, no?)
                                
                                
$partial_result mysql_query("select bid from blog where did='$directory[did]' and bid != '$last[bid]' and numeric_order = '$last[numeric_order]' and datetime < '$last[datetime]' order by datetime DESC");
                                while(
$partial mysql_fetch_assoc($partial_result)) {
                                    
$bids_to_get[] = $partial[bid];
                                    
$bids_gotten $bids_gotten 1;
                                    
$page_modifier_value $partial[bid];
                                }
                                
                            }
                        }
                        else {
                            
// no matches for this numeric_order
                            // so get the next numeric_order from this page (just the next one)
                            // add it to $bids_to_get[]
                            // increment $bids_gotten
                            // and send yourself back through the big while with $page_modifier_value = the bid you just got
                            // so we can check that one for duplicates
                            
                            
$get_previous_result mysql_query("select bid from blog where did='$directory[did]' and numeric_order < '$last[numeric_order]' order by numeric_order DESC, datetime DESC limit 1");
                            
$get_previous mysql_fetch_assoc($get_previous_result);
                            
$bids_gotten $bids_gotten 1;
                            
$bids_to_get[] = $get_previous[bid];
                            
$page_modifier_value $get_previous[bid];
                        }
                    }
                    
                    
                    
                    
// we have to build the query using $bids_to_get[]
                        
                    
$postquery "select * from blog where";
                    
$to_get_count count($bids_to_get);
                    for (
$i=0;$i<$to_get_count;$i++) {
                        if (
$i == 0) {
                            
$postquery $postquery " bid = '$bids_to_get[$i]'";
                        }
                        else {
                            
$postquery $postquery " or bid = '$bids_to_get[$i]'";
                        }
                    }
                    
$postquery $postquery " order by numeric_order, datetime";
                }
            }    
        }
    }
    if (
$page_modifier == "date") {

        if (
substr($page_modifier_value01) == "/") {
            
$page_modifier_value substr($page_modifier_value1);
        }

        
$date_array explode("/"$page_modifier_value);

        if ((
$date_array[0] > 1998) and ($date_array[0] < 2013)) {
            
$date_year $date_array[0];
    
        }
        else {
            
$no_year "true";
            
$postquery "select did, bid, name, uid, datetime,real_datetime, post, num_comments, num_references from blog where " $querydid " and bid = '$specific_post'";
        }
        
        if ((
$date_array[1] > 0) and ($date_array[1] < 13)) {
            
$date_month $date_array[1];
        }
        else {
        
        
/*
            $no_month = "true";
            $date_month = 1;
        */
        
            // we are being destroyed by the googlebot requesting /date/ pages that do not exist -
            // like /tommoody/date/rachael/jim.php/index.php/dratfink/ (note: WTF?)
            // so at least temporarily I am going to reject all /date/ requests that don't have a valid numeric month
            
            
echo'Archive requests must include a year and a month (and optionally a day.) Requests for entire years have been disabled.';
            echo
'</body></html>';
            
mysql_close();
            die();
            
        
        
        
        
        
        }
        if ((
$date_array[2] > 0) and ($date_array[2] < 32)) {
            
$date_day $date_array[2];
        }
        else {
            
$no_day "true";
            
$date_day 1;
        }
        
        
$pagestart mktime (000$date_month$date_day$date_year);
        
$pagestart $pagestart $user[time_offset];
    
        if (
$no_month == "true") {
            
// $date_year++;
            
$pageend mktime (2359591231$date_year);
            
$pageend $pageend $user[time_offset];
        }
        elseif (
$no_day == "true") {
            if ((
$date_month == 4) or ($date_month == 6) or ($date_month == 9) or ($date_month == 11)) {
                
$date_day 30;
                
$pageend mktime (235959$date_month$date_day$date_year);
                
$pageend $pageend $user[time_offset];
            }
            elseif (
$date_month == 2) {

                
$date_day 28;
                
$pageend mktime (235959$date_month$date_day$date_year);
                
$pageend $pageend $user[time_offset];
            }
            else {
                
$date_day 31;

                
$pageend mktime (235959$date_month$date_day$date_year);
                
$pageend $pageend $user[time_offset];
            }
        }
        elseif (
$no_year != "true") {


            
$pageend mktime (235959$date_month$date_day$date_year);
            
$pageend $pageend $user[time_offset];
        }
    
        
$postquery "select did, bid, name, uid, datetime,real_datetime, post, num_comments, num_references from blog where " $querydid " and datetime >= '$pagestart' and datetime <= '$pageend' order by datetime $the_direction";            
        
    }
}

// main loop

// print"<br><br>pq: $postquery<br><br>";


$first_time "true";
$entirepageurl $bald_host $directory[path] . "/";
$result mysql_query($postquery);
if (
$result == "") {
    if (
$page_modifier == "" and $query_string == "") {
        
// print"There are no posts for page $directory[path]";
    
}
    else {
        print
"I could not find any posts.<br><br>Click <a href=\"$entirepageurl\">here</a> for the current view of this page.";
    }
    return;
}
if (
$this_is_a_search == "true" or $new_posts == "true" or $preview == "true" or $directory[included] == "slideshow.php") {
    
$search_count mysql_num_rows($result);
    
    if (
$search_count == 0) {
        if (
$directory[window] > 0) {
            print
"<a href=\"$entirepageurl\">View current page</a><br><br>
            "
;
        }
        else {
            print
"<a href=\"$entirepageurl\">View entire page</a><br><br>
            "
;
        }
        print
"There are no matches for $original_search_string
        "
;
    }
}

if (
$user[uid] != '2') {
    
$max_last_seen $subscription[last_seen];
}

if (
$this_is_a_search != 'true' and $specific_post == '') {
    
$previewres mysql_query("select bid,datetime from preview where did='$directory[did]'");
    
$previewcount mysql_num_rows($previewres);
}


while(
$blog mysql_fetch_assoc($result)) {
    
    if(
$homepage == true and $user['uid'] > 2) {
        
// there are posts from multiple pages on this front page view, so we need to get 
        // $max_last_seen for each different page
        
$mlsquery "select last_seen from subscription where uid='" $user['uid'] . "' and did='" $blog['did'] . "' limit 1";
        
$mlsres mysql_query($mlsquery);
        
$mls mysql_fetch_assoc($mlsres);
        
$max_last_seen $mls['last_seen'];
    }
    
    if (
$first_time == "true") {
        
$first_time "false";
        
// print pre links if necessary
        
if ($new_posts == "true") {
            if (
$search_count == 0) {
                print
"There are no new posts for you on this page<br><br>
                <a href=\"
$entirepageurl\">View entire page</a><br><br>
                "
;
            }
        }
        if (
$this_is_a_search == "true") {
            if (
$directory[window] > 0) {
                print
"<a href=\"$entirepageurl\">View current page</a><br><br>
                "
;
            }
            else {
                print
"<a href=\"$entirepageurl\">View entire page</a><br><br>
                "
;
            }
            
            if (
$search_count == 1) {
                print
"1 match for ${original_search_string}:<br><br>
                "
;
            }
            elseif (
$search_count 50) {
                print
"$search_count matchs for ${original_search_string}:<br><br>
                "
;
            }
            else {
                print
"Here are the maximum 50 results for ${original_search_string}:<br><br>
                "
;
            }
        }
        
        
/*
        ***************************
        
        if ($preview == "true") {
            print"<a href=\"$entirepageurl\">View current page</a><br><br>
            ";
            if ($search_count == 0) {
                if ($user[uid] == $directory[uid] or $user[group_level] >= '900') {
                    print"There are no preview posts on this page.";
                }
                else {
                    print"There are no preview posts of yours on this page.";
                }
            }
            else {
                print"Preview posts:<br><br>
                ";
            }
        }
        
        ******************************
        */
        
        
if (($specific_post != "" and $specific_post != "new") or ($page_modifier != "")) {
            
// are there posts forward of the first one?
            
if ($directory[direction] == 1) {
                
// is there a higher datetime, higher numeric_order, or a later alphabetize (toward 'z')?
                
if ($directory[included_style] == "chronological") {
                    
$test mysql_query("select count(bid) from blog where " $querydid " and datetime > '$blog[datetime]'");
                    
$testcount mysql_fetch_row($test);
                    if (
$testcount[0] > 0) {

                        if (
$directory[included] == "slideshow.php") {
                            
$slideshow_previous "true"// we need to know this for printing the slide show links at the bottom

                        
}
                        else {
                            if(
$homepage == true) {
                                
$directory['path'] = '';
                                echo
'<div class="postcontrol">';
                            }
                            
$pforwardurl $bald_host $directory[path] . "/pageforward/" $blog[bid] . "/";
                            if (
$order == 'reverse') {
                                
$pforwardurl $pforwardurl '?order=reverse';
                            }
                            
$currenturl $bald_host $directory[path] . "/";
                            print
"<a href=\"$currenturl\">View current page</a><br>";
                            print
"<a href=\"$pforwardurl\">...more recent posts</a><br><br>
                            "
;
                            if(
$homepage == true) {
                                echo
'</div>';
                            }
                        }
                    }
                }
                if (
$directory[included_style] == "alphabetical") {
                    
$testquery "select count(bid) from blog where did='$directory[did]' and alphabetize = '$blog[alphabetize]' and datetime > '$blog[datetime]'";
                    
$test mysql_query("$testquery");
                    
$testcount mysql_fetch_row($test);
                    if (
$testcount[0] > 0) {
                        if (
$directory[included] == "slideshow.php") {
                            
$slideshow_previous "true"// we need to know this for printing the slide show links at the bottom
                        
}
                        else {
                            
$pforwardurl $bald_host $directory[path] . "/previous/" $blog[bid] . "/";
                            if (
$order == 'reverse') {
                                
$pforwardurl $pforwardurl '?order=reverse';
                            }
                            print
"<a href=\"$pforwardurl\">...previous</a><br><br>
                            "
;
                        }
                    }
                    else {
                        
$testquery "select count(bid) from blog where " $querydid " and alphabetize > '$blog[alphabetize]'";
                        
$test mysql_query("$testquery");
                        
$testcount mysql_fetch_row($test);
                        if (
$testcount[0] > 0) {
                            if (
$directory[included] == "slideshow.php") {
                                
$slideshow_previous "true"// we need to know this for printing the slide show links at the bottom
                            
}
                            else {
                                
$pforwardurl $bald_host $directory[path] . "/previous/" $blog[bid] . "/";
                                if (
$order == 'reverse') {
                                    
$pforwardurl $pforwardurl '?order=reverse';
                                }
                                print
"<a href=\"$pforwardurl\">...previous</a><br><br>
                                "
;
                            }
                        }
                    }
                }
                if (
$directory[included_style] == "numeric") {
                    
$testquery "select count(bid) from blog where did='$directory[did]' and numeric_order = '$blog[numeric_order]' and datetime > '$blog[datetime]'";
                    
$test mysql_query("$testquery");
                    
$testcount mysql_fetch_row($test);
                    if (
$testcount[0] > 0) {
                        if (
$directory[included] == "slideshow.php") {
                            
$slideshow_previous "true"// we need to know this for printing the slide show links at the bottom
                        
}
                        else {
                            
$pforwardurl $bald_host $directory[path] . "/previous/" $blog[bid] . "/";
                            if (
$order == 'reverse') {
                                
$pforwardurl $pforwardurl '?order=reverse';
                            }
                            print
"<a href=\"$pforwardurl\">...previous</a><br><br>
                            "
;
                        }
                    }
                    else {
                        
$testquery "select count(bid) from blog where " $querydid " and numeric_order > '$blog[numeric_order]'";
                        
$test mysql_query("$testquery");
                        
$testcount mysql_fetch_row($test);
                        if (
$testcount[0] > 0) {
                            if (
$directory[included] == "slideshow.php") {
                                
$slideshow_previous "true"// we need to know this for printing the slide show links at the bottom
                            
}
                            else {
                                
$pforwardurl $bald_host $directory[path] . "/previous/" $blog[bid] . "/";
                                if (
$order == 'reverse') {
                                    
$pforwardurl $pforwardurl '?order=reverse';
                                }
                                print
"<a href=\"$pforwardurl\">...previous</a><br><br>
                                "
;
                            }
                        }
                    }
                }
            }
            else {
                if (
$directory[included_style] == "chronological") {
                    
$test mysql_query("select count(bid) from blog where " $querydid " and datetime < '$blog[datetime]'");
                    
$testcount mysql_fetch_row($test);
                    if (
$testcount[0] > 0) {
                        if (
$directory[included] == "slideshow.php") {
                            
$slideshow_previous "true"// we need to know this for printing the slide show links at the bottom
                        
}
                        else {
                            
$pforwardurl $bald_host $directory[path] . "/previous/" $blog[bid] . "/";
                            if (
$order == 'reverse') {
                                
$pforwardurl $pforwardurl '?order=reverse';
                            }
                            print
"<a href=\"$pforwardurl\">...previous</a><br><br>
                            "
;
                        }
                    }
                }
                if (
$directory[included_style] == "alphabetical") {
                    
                    
$testquery "select count(bid) from blog where did='$directory[did]' and alphabetize = '$blog[alphabetize]' and datetime < '$blog[datetime]'";
                    
$test mysql_query("$testquery");
                    
$testcount mysql_fetch_row($test);
                    if (
$testcount[0] > 0) {
                        if (
$directory[included] == "slideshow.php") {
                            
$slideshow_previous "true"// we need to know this for printing the slide show links at the bottom
                        
}
                        else {
                            
$pforwardurl $bald_host $directory[path] . "/previous/" $blog[bid] . "/";
                            if (
$order == 'reverse') {
                                
$pforwardurl $pforwardurl '?order=reverse';
                            }
                            print
"<a href=\"$pforwardurl\">...previous</a><br><br>
                            "
;
                        }
                    }
                    else {
                        
$testquery "select count(bid) from blog where " $querydid " and alphabetize < '$blog[alphabetize]'";
                        
$test mysql_query("$testquery");
                        
$testcount mysql_fetch_row($test);
                        if (
$testcount[0] > 0) {
                            if (
$directory[included] == "slideshow.php") {
                                
$slideshow_previous "true"// we need to know this for printing the slide show links at the bottom
                            
}
                            else {
                                
$pforwardurl $bald_host $directory[path] . "/previous/" $blog[bid] . "/";
                                if (
$order == 'reverse') {
                                    
$pforwardurl $pforwardurl '?order=reverse';
                                }
                                print
"<a href=\"$pforwardurl\">...previous</a><br><br>
                                "
;
                            }
                        }
                    }
                }
                if (
$directory[included_style] == "numeric") {
                    
$testquery "select count(bid) from blog where did='$directory[did]' and numeric_order = '$blog[numeric_order]' and datetime < '$blog[datetime]'";
                    
$test mysql_query("$testquery");
                    
$testcount mysql_fetch_row($test);
                    if (
$testcount[0] > 0) {
                        if (
$directory[included] == "slideshow.php") {
                            
$slideshow_previous "true"// we need to know this for printing the slide show links at the bottom
                        
}
                        else {
                            
$pforwardurl $bald_host $directory[path] . "/previous/" $blog[bid] . "/";
                            if (
$order == 'reverse') {
                                
$pforwardurl $pforwardurl '?order=reverse';
                            }
                            print
"<a href=\"$pforwardurl\">...previous</a><br><br>
                            "
;
                        }
                    }
                    else {
                        
$testquery "select count(bid) from blog where " $querydid " and numeric_order < '$blog[numeric_order]'";
                        
$test mysql_query("$testquery");
                        
$testcount mysql_fetch_row($test);
                        if (
$testcount[0] > 0) {
                            if (
$directory[included] == "slideshow.php") {
                                
$slideshow_previous "true"// we need to know this for printing the slide show links at the bottom
                            
}
                            else {
                                
$pforwardurl $bald_host $directory[path] . "/previous/" $blog[bid] . "/";
                                if (
$order == 'reverse') {
                                    
$pforwardurl $pforwardurl '?order=reverse';
                                }
                                print
"<a href=\"$pforwardurl\">...previous</a><br><br>
                                "
;
                            }
                        }
                    }
                }
            }
        }
    }
            
    if (
$previewcount 0) {
        
        
        if (
$directory[included_style] == 'chronological') {
            if (
$directory[direction] == '1') {
                
// reverse chronological
                // is there a preview post with a more recent time than what we are about to print?
                
if ($page_modifier == 'date') {
                    
$pres mysql_query("select * from preview where datetime > '$blog[datetime]' and datetime < '$pagestart' and did='$directory[did]' order by datetime desc");
                }
                else {
                    
$pres mysql_query("select * from preview where datetime > '$blog[datetime]' and did='$directory[did]' order by datetime desc");
                }
            }
            else {
                
// chronological
                // is there a preview post with a less recent time than what we are about to print?
                
if ($page_modifier == 'date') {
                    
$pres mysql_query("select * from preview where datetime < '$blog[datetime]' and datetime > '$pagestart' and did='$directory[did]' order by datetime desc");
                }
                else {
                    
$pres mysql_query("select * from preview where datetime < '$blog[datetime]' and did='$directory[did]' order by datetime");
                }
            }
        }
        elseif (
$directory[included_style] == 'alphabetical') {
            if (
$directory[direction] == '1') {
                
// reverse alphabetical
                // is there a preview post with a more recent alphabetize by than what we are about to print?
                
$pres mysql_query("select * from preview where alphabetize > '$blog[alphabetize]' and did='$directory[did]' order by alphabetize desc");
            }
            else {
                
// alphabetical
                // is there a preview post with a less recent alphabetize by than what we are about to print?
                
$pres mysql_query("select * from preview where alphabetize < '$blog[alphabetize]' and did='$directory[did]' order by alphabetize");
            }
        }
        elseif (
$directory[included_style] == 'numeric') {
            if (
$directory[direction] == '1') {
                
// reverse alphabetical
                // is there a preview post with a more recent numeric order by than what we are about to print?
                
$pres mysql_query("select * from preview where numeric_order > '$blog[numeric_order]' and did='$directory[did]' order by numeric_order desc");
            }
            else {
                
// alphabetical
                // is there a preview post with a less recent alphabetize by than what we are about to print?
                
$pres mysql_query("select * from preview where numeric_order < '$blog[numeric_order]' and did='$directory[did]' order by numeric_order");
            }
        }
                
        
$prescount mysql_num_rows($pres);
        if (
$prescount 0) {
            
$previewdone[] = '';
            while(
$pblog mysql_fetch_assoc($pres)) {
                
                if (
in_array($pblog[bid], $previewdone)) {
                    continue;
                }
                if (
$pblog[uid] != $user[uid] and $user[group_level] < '1000' and $user[uid] != $directory[uid]) {
                    continue;
                }
                
$previewdone[] = $pblog[bid];
                
                print
"<span class=\"preview\">Preview<br><br>";
                
$thispost stripslashes($pblog[post]);
                
$thisdatetime format_datetime($pblog[datetime], $user);
            
                if (
$directory[date_header] == 1) {
                    
$usertimestamp $pblog[datetime] + $user[time_offset];
                    
// get month, day of month, and year for this timestamp
                    
$theyear date("Y"$usertimestamp);
                    
$themonth date("M"$usertimestamp);
                    
$theday date("l"$usertimestamp);
                    
$thedayofmonth date("d"$usertimestamp);
                    
                    if ((
$theyear == $lastyear) and ($themonth == $lastmonth) and ($thedayofmonth == $lastdayofmonth)) {
                        
// do nothing
                    
}
                    else {
                        print
"<span class=\"date_header\">${theday}$themonth ${thedayofmonth}${theyear}</span><br><br>";
                    }
                }
                
                
$lastyear $theyear;
                
$lastmonth $themonth;
                
$lastdayofmonth $thedayofmonth;
                
                
// html entities hack
                
$thispost ereg_replace("&_""&"$thispost);
                
                
                
        
                
                print
"$open_html";
                
                
                print
"$thispost<br>
                "
;
                
                
                print
"</span>";
                
                
                
                print
"<span class=\"footer\">";
                
                if (
$directory[post_foot] == '1') {
                    
$thisname stripslashes($pblog[name]);
                    if (
$blog[uid] != '2') {
                        print
"- $thisname $thisdatetime ";
                    }
                    else {
                        print
"- $thisname (guest) $thisdatetime ";
                    }
                    
                }
                
                if (
$pblog[uid] == $user[uid] or $directory[uid] == $user[uid] or $user[group_level] >= 900) {
            
                    
$edit_url $this_host "edit/" $pblog[bid] . "/?preview=true";
                    print
"[<a href=\"$edit_url\">edit</a>] ";
                }
                
                print
"</span>";
                
            
                print
"$close_html";
                
                
$started_foot "false";
                
// $last_bid = $pblog[bid];
                // $last_datetime = $pblog[datetime];
                // $last_alphabetize = $pblog[alphabetize];
                // $last_numeric_order = $pblog[numeric_order];

            
            
}
        }

    }            
        
    
$thispost stripslashes($blog[post]);
    
$thisdatetime format_datetime($blog[datetime], $user);


    if (
$user[uid] != '2' and ($subscription[tracking] == '1' or $subscription[tracking] == '3') and ($blog[real_datetime] > $max_last_seen)) {
        
// $max_last_seen = $blog[real_datetime];
        
$newpost 'true';
    }
    
    if (
$directory[date_header] == 1) {
        
$usertimestamp $blog[datetime] + $user[time_offset];
        
// get month, day of month, and year for this timestamp
        
$theyear date("Y"$usertimestamp);
        
$themonth date("M"$usertimestamp);
        
$theday date("l"$usertimestamp);
        
$thedayofmonth date("d"$usertimestamp);
        
        if ((
$theyear == $lastyear) and ($themonth == $lastmonth) and ($thedayofmonth == $lastdayofmonth)) {
            
// do nothing
        
}
        else {
            print
"<span class=\"date_header\">${theday}$themonth ${thedayofmonth}${theyear}</span><br><br>";
        }
    }
    
    
$lastyear $theyear;
    
$lastmonth $themonth;
    
$lastdayofmonth $thedayofmonth;
    
    print
"$open_html";
    
    if (
$newpost == 'true') {
        print
"<span class=\"new\">new</span><br>";
        
$newpost 'false';
    }
    
    
// html entities hack
    
$thispost ereg_replace("&_""&"$thispost);
    
    if(
$homepage == true) {
        
trim($thispost);
        do {
            if(
strtolower(substr($thispost,-4)) == '<br>') {
                
$thispost substr($thispost,0,-4);
            }
        } while (
strtolower(substr($thispost,-4)) == '<br>');
        
        
$dirquery "select path,title,page_name from directory where did='" $blog['did'] . "' limit 1";
        
$dirres mysql_query($dirquery);
        
$thisdir mysql_fetch_assoc($dirres);
        
$perma $bald_host $thisdir[path] . "/";
        
$directory['path'] = $thisdir['path'];
        
$path $thisdir['path'];
    }
    
    if (
$directory[post_comment] > 0) {
        
// can only break on <more> if comments are on for the page
        
$moretest explode('<more>'$thispost);
        if (
count($moretest) > 1) {
            
$moreurl $bald_host $directory[path] . '/comment/' $blog[bid];
            
$thispost $moretest[0] . "<br><br><div class=\"more\"><a class=\"moreloader\" href=\"$moreurl\" data-bid=\"" $blog[bid] . "\">Read the rest of this post</a>...</div><br><br>";
        }
        
$moretest explode('<moreblockquote>'$thispost);
        if (
count($moretest) > 1) {
            
$moreurl $bald_host $directory[path] . '/comment/' $blog[bid];
            
$thispost $moretest[0] . "<br><br><span class=\"more\"><a href=\"$moreurl\">Read the rest of this post</a>...</span><br><br></blockquote>";
        }
        if(
$homepage === true) {
            
$moretest explode('<fpmore>'$thispost);
            if (
count($moretest) > 1) {
                
$moreurl $bald_host $directory[path] . '/comment/' $blog[bid];
                
$thispost $moretest[0] . "<br><br><div class=\"more\"><a class=\"moreloader\" href=\"$moreurl\" data-bid=\"" $blog[bid] . "\" data-did=\"" $directory[did] . "\">Read the rest of this post</a>...</div><br><br>";
            }
        }
        else {
            
$thispost str_replace('<fpmore>','',$thispost);
        }
    }
    
    if (
$directory[included] == 'simple_template.php') {
        if (
$directory[comment_style] == '') {
            if (
$directory[uid] == $user[uid]) {
                
$edurl $this_host 'edit/' $blog[bid] . '/';
                print
"<a href=\"$edurl\">$thispost</a>";
            }
            else {
                print
"$thispost";
            }
        }
        else {
            
$edurl $bald_host $directory[path] . '/comment/' $blog[bid] . '/';
            print
"<a href=\"$edurl\">$thispost</a>";
        }
    }
    else {
        if(
$homepage == true) {
            echo 
$thispost;
        }
        else {
        print
"$thispost<br>
    "
;
        }
    }
    
    if(
$homepage == true) {
        echo 
"<div class=\"postfooter\">";
    }
    else {
        print
"<span class=\"footer\">";
    }
    
    
    
$just_read[] = $blog[bid];
    
    if(
$homepage == true) {
        
        if(
$thisdir['page_name'] != '') {
            
$pname $thisdir['page_name'];
        }
        else {
            
$pname $thisdir['title'];
        }
        echo
'Posted to <a href="' $perma '">' $pname '</a> by ';
    }
    if (
$directory[post_foot] == '1') {
        if(
$homepage != true) {
            echo
'-';
        }
        
$thisname stripslashes($blog[name]);
        if (
$blog[uid] != '2') {
            print
$thisname $thisdatetime ";
        }
        else {
            print
$thisname (guest) $thisdatetime ";
        }
        
    }
    if(
$homepage == true) {
        
        
$perma $bald_host $thisdir[path] . "/?${blog[bid]}";
        print
"[<a href=\"$perma\">link</a>] ";
        
    }
    else {
        if (
$directory[permalink] == '1') {
            
$perma $bald_host $path "/?${blog[bid]}";
            print
"[<a href=\"$perma\">link</a>] ";
        }
    }
    if (
$blog[num_references] > and $specific_post != "preview") {
        
$ref_url $bald_host $path "/references/" $blog[bid] . "/";
        if (
$blog[num_references] == '1') {
            print
"[<a href=\"$ref_url\">1 ref</a>] ";
        }
        else {
            print
"[<a href=\"$ref_url\">$blog[num_references] refs</a>] ";
        }
    }
    if (
$directory[post_comment] == '1' and $specific_post != "preview" and $directory[included] != 'simple_template.php') {
        
        if (
$user[uid] != '2') {
            
$unreadres mysql_query("select count(commid) from unread_comments where bid='$blog[bid]' and uid='$user[uid]'");
            
$unreadcount mysql_fetch_row($unreadres);
        }
        
$comm_url $bald_host $path "/comment/" $blog[bid] . "/";
        if (
$blog[num_comments] == '0') {
            print
"[<a href=\"$comm_url\">add a comment</a>] ";
        }
        elseif (
$blog[num_comments] == '1') {
            if (
$unreadcount[0] == '1') {
                print
"[<a href=\"$comm_url\"><font color=\"red\">1 comment</font></a>] ";
            }
            else {
                print
"[<a href=\"$comm_url\">1 comment</a>] ";
            }
        }
        else {
            if (
$unreadcount[0] > 0) {
                print
"[<a href=\"$comm_url\"><font color=\"red\">$unreadcount[0]</font>/$blog[num_comments] comments</a>] ";
            }
            else {
                print
"[<a href=\"$comm_url\">$blog[num_comments] comments</a>] ";
            }
        }
    }
    if ((
$blog[uid] == $user[uid] or $directory[uid] == $user[uid] or $user[group_level] >= 900) and $directory[included] != 'simple_template.php') {
        
        
$edit_url $this_host "edit/" $blog[bid];
        print
"[<a href=\"$edit_url\">edit</a>] ";
    }
    if(
$homepage == true) {
        echo
'</div>
        '
;
    }
    else {
        print
"</span>";
    }
    

    print
"$close_html";
    
$started_foot "false";
    
$last_bid $blog[bid];
    
$last_datetime $blog[datetime];
    
$last_alphabetize $blog[alphabetize];
    
$last_numeric_order $blog[numeric_order];


}

if(
$homepage == true and $user['uid'] > 2) {
    foreach(
$publicdid as $subdid) {
        
$timenow gmtime();
        
$subquery "update subscription set last_seen='" $timenow "' where did='" $subdid "' and uid='" $user['uid'] . "'";
        echo
'<!-- ' $subquery ' -->';
        
$result mysql_query($subquery);
    }
}

$max_last_seen $blog[real_datetime];
        
// do post links if necessary

if ($preview != "true" and $this_is_a_search != "true") {
    if(
$homepage == true) {
        
$directory['path'] = '';
    }
    if (
$directory[included] == "slideshow.php") {

        print
"<div class=\"center_block\">";
        
        
$ssresult mysql_query("select count(bid) from blog where did='$directory[did]'");
        
$sscount mysql_fetch_row($ssresult);
        
$search_count $sscount[0];
        
        if (
$search_count '1') {

            if (
$slideshow_previous == "true") {
                
$previousurl $bald_host $directory[path] . "/previous/" $last_bid;
                print
"&lt;&lt;&nbsp;<a href=\"$previousurl\">previous</a>&nbsp;&nbsp;&nbsp;";
            }
            if (
$directory[included_style] == "chronological") {
                if (
$directory[direction] == '1') {
                    
$bidquery "select bid from blog where did='$directory[did]' order by datetime desc";
                }
                else {
                    
$bidquery "select bid from blog where did='$directory[did]' order by datetime";
                }
            }
            elseif (
$directory[included_style] == "alphabetical") {
                if (
$directory[direction] == '1') {
                    
$bidquery "select bid from blog where did='$directory[did]' order by alphabetize desc";
                }
                else {
                    
$bidquery "select bid from blog where did='$directory[did]' order by alphabetize";
                }
            
            }
            elseif (
$directory[included_style] == "numeric") {
                if (
$directory[direction] == '1') {
                    
$bidquery "select bid from blog where did='$directory[did]' order by numeric_order desc";
                }
                else {
                    
$bidquery "select bid from blog where did='$directory[did]' order by numeric_order";
                }
            }
            
            
// get all the bids in their order
            
$bidresult mysql_query("$bidquery");
        
            
$currentnum 1;
            while(
$bids mysql_fetch_assoc($bidresult)) {
                if (
$bids[bid] == $last_bid) {
                    print
"<font color=\"red\">$currentnum</font> ";
                    
$didthispage "true";
                }
                else {
                    
$specificurl $bald_host $directory[path] . "/?" $bids[bid];
                    print
"<a href=\"$specificurl\">$currentnum</a>&nbsp;";
                    if (
$didthispage == "true") {
                        
$slideshow_next "true";
                    }
                }
                
$currentnum++;
            }
            if (
$slideshow_next == "true") {
                
$nexturl $bald_host $directory[path] . "/next/" $last_bid;
                print
"&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"$nexturl\">next</a>&nbsp;&gt;&gt;";
            }
        }
        if (
$directory[thumbnail_url] != "") {
            print
"<br><br><a href=\"$directory[thumbnail_url]\">thumbnails</a>
            "
;
        }
        print
"</div>";
    }
    else {
        
        if (
$directory[window] != '0') {
            if (
$directory[direction] == '1') {
                
// is there a lower datetime, higher numeric_order, or a later alphabetize (toward 'z')?
                
if ($directory[included_style] == "chronological") {
                    
$test mysql_query("select count(bid) from blog where " $querydid " and datetime < '$last_datetime'");
                    
$testcount mysql_fetch_row($test);
                    if (
$testcount[0] > 0) {
                        
$pforwardurl $bald_host $directory[path] . "/pageback/" $last_bid "/";
                        if (
$order == 'reverse') {
                            
$pforwardurl $pforwardurl '?order=reverse';
                        }
                        print
"<div class=\"postcontrol\"><a href=\"$pforwardurl\">older posts...</a></div><br><br>
                        "
;
                    }
                }
                if (
$directory[included_style] == "alphabetical") {
                    
$query "select count(bid) from blog where " $querydid " and bid != '$last_bid' and alphabetize <= '$last_alphabetize'";
    
                    
$test mysql_query("$query");
                    
$testcount mysql_fetch_row($test);
                    if (
$testcount[0] > 0) {
                        
$pforwardurl $bald_host $directory[path] . "/next/" $last_bid "/";
                        if (
$order == 'reverse') {
                            
$pforwardurl $pforwardurl '?order=reverse';
                        }
                        print
"<div class=\"postcontrol\"><a href=\"$pforwardurl\">next...</a></div><br><br>
                        "
;
                    }
                }
                if (
$directory[included_style] == "numeric") {
                    
$test mysql_query("select count(bid) from blog where " $querydid " and bid != '$last_bid' and numeric_order <= '$last_numeric_order'");
                    
$testcount mysql_fetch_row($test);
                    if (
$testcount[0] > 0) {
                        
$pforwardurl $bald_host $directory[path] . "/next/" $last_bid "/";
                        if (
$order == 'reverse') {
                            
$pforwardurl $pforwardurl '?order=reverse';
                        }
                        print
"<div class=\"postcontrol\"><a href=\"$pforwardurl\">next...</a></div><br><br>
                        "
;
                    }
                }
            
            }
            else {
                if (
$directory[included_style] == "chronological") {
                    
$test mysql_query("select count(bid) from blog where " $querydid " and datetime > '$last_datetime'");
                    
$testcount mysql_fetch_row($test);
                    if (
$testcount[0] > 0) {
                        
$pforwardurl $bald_host $directory[path] . "/next/" $last_bid "/";
                        if (
$order == 'reverse') {
                            
$pforwardurl $pforwardurl '?order=reverse';
                        }
                        print
"<div class=\"postcontrol\"><a href=\"$pforwardurl\">next...</a></div><br><br>
                        "
;
                    }
                }
                if (
$directory[included_style] == "alphabetical") {
                    
$test mysql_query("select count(bid) from blog where " $querydid " and bid != '$last_bid' and alphabetize >= '$last_alphabetize'");
                    
$testcount mysql_fetch_row($test);
                    if (
$testcount[0] > 0) {
                        
$pforwardurl $bald_host $directory[path] . "/next/" $last_bid "/";
                        if (
$order == 'reverse') {
                            
$pforwardurl $pforwardurl '?order=reverse';
                        }
                        print
"<div class=\"postcontrol\"><a href=\"$pforwardurl\">next</a></div><br><br>
                        "
;
                    }
                }
                if (
$directory[included_style] == "numeric") {
                    
$test mysql_query("select count(bid) from blog where " $querydid " and bid != '$last_bid' and numeric_order >= '$last_numeric_order'");
                    
$testcount mysql_fetch_row($test);
                    if (
$testcount[0] > 0) {
                        
$pforwardurl $bald_host $directory[path] . "/next/" $last_bid "/";
                        if (
$order == 'reverse') {
                            
$pforwardurl $pforwardurl '?order=reverse';
                        }
                        print
"<div class=\"postcontrol\"><a href=\"$pforwardurl\">next</a></div><br><br>
                        "
;
                    }
                }
            }
        }
    }
}



?>