prepare( ); include("includes/storyblock.php"); $adminlinks = "
"._ADMINOPTIONS.": "._VALIDATE." | "._EDIT." - "._STORY." "._OR." "._CHAPTER." | "._DELETE." - "._STORY." "._OR." "._CHAPTER." | "._YESLETTER." | "._NOLETTER."
"; $tpl->assign("adminlinks", $adminlinks); if($stories['inorder'] == 1 && !empty($stories['storynotes'])) { $tpl->gotoBlock("_ROOT"); $tpl->newBlock("storynotes"); $tpl->assign( "storynotes", stripslashes($stories['storynotes'])); $tpl->gotoBlock("_ROOT"); } if(!empty($stories['notes'])) { $tpl->newBlock("notes"); $tpl->assign( "notes", $stories['notes']); $tpl->gotoBlock("_ROOT"); } if(!empty($stories['endnotes'])) { $tpl->newBlock("endnotes"); $tpl->assign( "endnotes", $stories['endnotes']); $tpl->gotoBlock("_ROOT"); } if($store == "files") { $file = STORIESPATH."/$stories[uid]/$stories[chapid].txt"; $log_file = fopen($file, "r"); $file_contents = fread($log_file, filesize($file)); $storytext = $file_contents; fclose($log_file); } else if($store == "mysql") { $storytext = $stories['storytext']; } $storytext = format_story($storytext); $tpl->gotoBlock("_ROOT"); $tpl->assign("chaptertitle", $stories['chaptertitle']); $tpl->assign("chapternumber", $stories['inorder']); $tpl->assign( "story", "$storytext" ); return $tpl->getOutputContent( ); } $output .= "
"._VIEWSUBMITTED."
"; if(isset($_GET['validate']) && $_GET['validate'] == "yes") { $storyquery = dbquery("SELECT story.validated, story.catid, story.sid, story.title, story.summary, story.uid, "._PENNAMEFIELD." as penname, chapter.inorder, story.coauthors FROM ".TABLEPREFIX."fanfiction_stories as story, ".TABLEPREFIX."fanfiction_chapters as chapter, "._AUTHORTABLE." WHERE "._UIDFIELD." = story.uid AND chapter.sid = story.sid AND chapter.chapid ='$_GET[chapid]' LIMIT 1"); list($storyvalid, $catid, $sid, $title, $summary, $authoruid, $author, $inorder, $coauthors) = dbrow($storyquery); if(uLEVEL == 1 || (empty($admincats) || sizeof(array_intersect(explode(",", $catid), explode(",", $admincats))))) { include("includes/emailer.php"); if(!$storyvalid) { dbquery("UPDATE ".TABLEPREFIX."fanfiction_stories SET validated = '1', updated = '" . time() . "' WHERE sid = '$_GET[sid]'"); foreach(explode(",", $catid) as $cat) { categoryitems($cat, 1); } $au[] = $authoruid; if($coauthors == 1) { $au = array(); $coauth = dbquery("SELECT "._PENNAMEFIELD." as penname, co.uid FROM ".TABLEPREFIX."fanfiction_coauthors AS co LEFT JOIN "._AUTHORTABLE." ON co.uid = "._UIDFIELD." WHERE co.sid = '".$_GET['sid']."'"); while($c = dbassoc($coauth)) { $au[] = $c['uid']; } dbquery("UPDATE ".TABLEPREFIX."fanfiction_authorprefs SET stories = stories + 1 WHERE FIND_IN_SET(uid, '".implode(",", $au)."') > 0"); } dbquery("UPDATE ".TABLEPREFIX."fanfiction_authorprefs SET stories = stories + 1 WHERE uid = '$authoruid'"); $codequery = dbquery("SELECT * FROM ".TABLEPREFIX."fanfiction_codeblocks WHERE code_type = 'addstory'"); while($code = dbassoc($codequery)) { eval($code['code_text']); } if($alertson) { if($au) $cond = " FIND_IN_SET(fav.item, '".implode(",", $au).",$authoruid') > 0"; else $cond = "fav.item = $authoruid"; $subject = _NEWSTORYAT." $sitename"; $mailtext = sprintf(_AUTHORALERTNOTE, $title, $author, $summary, $sid); $favorites = dbquery("SELECT "._UIDFIELD." as uid, "._EMAILFIELD." as email, "._PENNAMEFIELD." as penname, alertson FROM ".TABLEPREFIX."fanfiction_favorites as fav, ".TABLEPREFIX."fanfiction_authorprefs as ap, "._AUTHORTABLE." WHERE $cond AND fav.type = 'AU' AND fav.uid = "._UIDFIELD." AND ap.uid = "._UIDFIELD." AND ap.alertson = '1'"); while($favuser = dbassoc($favorites)) { sendemail($favuser['penname'], $favuser['email'], $sitename, $siteemail, $subject, $mailtext, "html"); } } if($logging) dbquery("INSERT INTO ".TABLEPREFIX."fanfiction_log (`log_action`, `log_uid`, `log_ip`, `log_type`, `log_timestamp`) VALUES('".escapestring(sprintf(_LOG_VALIDATE_STORY, USERPENNAME, USERUID, $title, $sid, $author, $authoruid))."', '".USERUID."', INET_ATON('".$_SERVER['REMOTE_ADDR']."'), 'VS', " . time() . ")"); dbquery("UPDATE ".TABLEPREFIX."fanfiction_stats SET stories = stories + 1"); } else if($alertson) { $subject = _STORYALERT; $mailtext = sprintf(_STORYALERTNOTE, $title, $author, $sid, $inorder); $codequery = dbquery("SELECT * FROM ".TABLEPREFIX."fanfiction_codeblocks WHERE code_type = 'addchapter'"); while($code = dbassoc($codequery)) { eval($code['code_text']); } $favorites = dbquery("SELECT "._UIDFIELD." as uid, "._EMAILFIELD." as email, "._PENNAMEFIELD." as penname, alertson FROM ".TABLEPREFIX."fanfiction_favorites as fav, ".TABLEPREFIX."fanfiction_authorprefs as ap, "._AUTHORTABLE." WHERE fav.item = '$sid' AND fav.type = 'ST' AND fav.uid = "._UIDFIELD." AND ap.uid = "._UIDFIELD." AND ap.alertson = '1'"); while($favuser = dbassoc($favorites)) { sendemail($favuser['penname'], $favuser['email'], $sitename, $siteemail, $subject, $mailtext, "html"); } if($logging) dbquery("INSERT INTO ".TABLEPREFIX."fanfiction_log (`log_action`, `log_uid`, `log_ip`, `log_type`, `log_timestamp`) VALUES('".escapestring(sprintf(_LOG_VALIDATE_CHAPTER, USERPENNAME, USERUID, $title, $sid, $author, $authoruid, $inorder))."', '".USERUID."', INET_ATON('".$_SERVER['REMOTE_ADDR']."'), 'VS', " . time() . ")"); } dbquery("UPDATE ".TABLEPREFIX."fanfiction_chapters SET validated = '1' WHERE chapid = '$_GET[chapid]'"); dbquery("UPDATE ".TABLEPREFIX."fanfiction_stories SET updated = '" . time() . "' WHERE sid = '$sid'"); $count = dbquery("SELECT SUM(wordcount) as totalcount FROM ".TABLEPREFIX."fanfiction_chapters WHERE sid = '$sid' and validated = 1"); list($totalcount) = dbrow($count); if($totalcount) { dbquery("UPDATE ".TABLEPREFIX."fanfiction_stories SET wordcount = '$totalcount' WHERE sid = '$sid'"); } list($chapters, $words) = dbrow(dbquery("SELECT COUNT(chapid), SUM(wordcount) FROM ".TABLEPREFIX."fanfiction_chapters WHERE validated = 1")); // list($authors) = dbrow(dbquery("SELECT COUNT(DISTINCT uid) FROM ".TABLEPREFIX."fanfiction_chapters WHERE validated > 0")); list($authors) = dbrow(dbquery("SELECT COUNT(uid) FROM ".TABLEPREFIX."fanfiction_authorprefs WHERE stories > 0")); dbquery("UPDATE ".TABLEPREFIX."fanfiction_stats set wordcount = '$words', chapters = '$chapters', authors = '$authors'"); $output .= write_message(_STORYVALIDATED); } else $output .= write_error(_NOTAUTHORIZEDADMIN." "._TRYAGAIN); } else { if(isNumber($_GET['chapid'])) { $result = dbquery("SELECT stories.*, stories.title as title, "._PENNAMEFIELD." as penname, stories.updated as updated, stories.date as date, chapter.uid as uid, chapter.inorder, chapter.title as chaptertitle, chapter.storytext, chapter.chapid, chapter.notes, chapter.endnotes FROM "._AUTHORTABLE.", ".TABLEPREFIX."fanfiction_stories as stories, ".TABLEPREFIX."fanfiction_chapters as chapter WHERE chapter.chapid = '$_GET[chapid]' AND chapter.sid = stories.sid AND chapter.uid = "._UIDFIELD); $stories = dbassoc($result); $output .= preview_story($stories); } } ?>