assignInclude( "listings", "$skindir/listings.tpl" );
else $tpl->assignInclude( "listings", _BASEDIR."default_tpls/listings.tpl" );
$tpl->assignInclude( "header", "$skindir/header.tpl" );
$tpl->assignInclude( "footer", "$skindir/footer.tpl" );
include(_BASEDIR."includes/pagesetup.php");
$seriesid = (isset($_GET['seriesid']) && is_numeric($_GET['seriesid'])) ? escapestring($_GET['seriesid']) : false;
$sresult = dbquery(_SERIESQUERY." AND seriesid = '$seriesid' LIMIT 1");
$series = dbassoc($sresult);
if(file_exists("$skindir/series_title.tpl")) $titleblock = new TemplatePower( "$skindir/series_title.tpl" );
else $titleblock = new TemplatePower( "default_tpls/series_title.tpl" );
$titleblock->prepare( );
$titleblock->newBlock("series");
$titleblock->assign("pagetitle", stripslashes($series['title'])." "._BY." ".$series['penname']."");
$titleblock->assign("summary", stripslashes($series['summary']));
$titleblock->assign("category", $series['catid'] ? catlist($series['catid']) : _NONE);
$titleblock->assign("characters", $series['characters'] ? charlist($series['characters']) : _NONE);
$titleblock->assign("numstories", $series['numstories']);
if($series['classes']) {
$classes = array( );
foreach(explode(",", $series['classes']) as $c) {
$classes[$classlist[$c]['type']][] = "".$classlist[$c]['name']."";
}
}
$allclasslist = "";
foreach($classtypelist as $num => $c) {
if(isset($classes[$num])) {
$titleblock->assign($c['name'], implode(", ", $classes[$num]));
$allclasslist .= "".$c['title'].": ".implode(", ", $classes[$num])."
";
}
else {
$titleblock->assign($c['name'], _NONE);
$allclasslist .= "".$c['title'].": "._NONE."
";
}
}
$seriesType = array(_CLOSED, _MODERATED, _OPEN);
$titleblock->assign("open", $seriesType[$series['isopen']]);
$codeblocks = dbquery("SELECT * FROM ".TABLEPREFIX."fanfiction_codeblocks WHERE code_type = 'seriestitle'");
while($code = dbassoc($codeblocks)) {
eval($code['code_text']);
}
$titleblock->assign("classifications", $allclasslist);
if(isADMIN) $titleblock->assign("adminoptions", "
");
$jumpmenu = "";
if($reviewsallowed && (isMEMBER || $anonreviews)) {
$titleblock->assign("score", ratingpics($series['rating']));
$titleblock->assign("reviews", ""._REVIEWS."");
$titleblock->assign("numreviews", "".$series['reviews']."");
$titleblock->assign("submitreviews", ""._SUBMITREVIEW."");
$jumpmenu .= "";
}
if(isMEMBER && $favorites) {
$addtofaves = "["._ADDSERIES2FAVES."]";
$jumpmenu .= "";
if($series['isopen'] == 0) { // Only closed series.
$addtofaves .= " ["._ADDAUTHOR2FAVES."]";
$jumpmenu .= "";
}
}
if($series['isopen'] && isMEMBER) {
$jumpmenu .= "";
$titleblock->assign("addtoseries", "["._ADD2SERIES."]");
}
$jumpmenu = "";
$titleblock->assign("jumpmenu", $jumpmenu);
if(isset($addtofaves)) $titleblock->assign("addtofaves", $addtofaves);
$parents = dbquery("SELECT s.title, s.seriesid FROM ".TABLEPREFIX."fanfiction_inseries as i, ".TABLEPREFIX."fanfiction_series as s WHERE s.seriesid = i.seriesid AND i.subseriesid = '$seriesid'");
$plinks = array( );
while($p = dbassoc($parents)) {
$plinks[] = "".$p['title']."";
}
$titleblock->assign("parentseries", count($plinks) ? implode(", ", $plinks) : _NONE);
$codeblocks = dbquery("SELECT * FROM ".TABLEPREFIX."fanfiction_codeblocks WHERE code_type = 'seriestitle'");
while($code = dbassoc($codeblocks)) {
eval($code['code_text']);
}
$output = $titleblock->getOutputContent( );
$cquery = dbquery("SELECT subseriesid, sid, inorder FROM ".TABLEPREFIX."fanfiction_inseries WHERE seriesid = '$seriesid' AND confirmed = 1");
$scount = dbnumrows($cquery);
$serieslist = array( );
if($scount) {
$subs = array( );
$stories = array( );
while($item = dbassoc($cquery)) {
if($item['subseriesid']) $subs[$item['inorder']] = $item['subseriesid'];
else $stories[$item['inorder']] = $item['sid'];
}
if(count($subs) > 0) {
$subsquery = dbquery(_SERIESQUERY." AND FIND_IN_SET(seriesid, '".implode(",", $subs)."') > 0");
while($sub = dbassoc($subsquery)) {
$serieslist[array_search($sub['seriesid'], $subs)] = $sub;
}
}
if(count($stories)) {
$seriesstoryquery = dbquery(_STORYQUERY." AND FIND_IN_SET(sid, '".implode(",", $stories)."') > 0");
while($story = dbassoc($seriesstoryquery)) {
$serieslist[array_search($story['sid'], $stories)] = $story;
}
}
}
ksort($serieslist);
$count = 0;
for($a = $offset + 1; $a <= $itemsperpage + $offset; $a++) {
$tpl->newBlock("listings");
$stories = isset($serieslist[$a]) ? $serieslist[$a] : false;
if(isset($stories['seriesid'])) {
$tpl->newBlock("seriesblock");
include("includes/seriesblock.php");
}
else if(isset($stories['sid'])) {
$tpl->newBlock("storyblock");
include("includes/storyblock.php");
// print_r($stories);
}
$tpl->gotoBlock("_ROOT");
}
if($scount > $itemsperpage) {
$tpl->gotoBlock("listings");
$tpl->assign("pagelinks", build_pagelinks("viewseries.php?seriesid=$seriesid&", $scount, $offset));
}
$tpl->gotoBlock( "_ROOT" );
$tpl->assign("output", $output);
$tpl->printToScreen( );
?>