Moved docs to gitbook, added news back
Moved docs to gitbook, added news back

--- a/admin/news.php
+++ b/admin/news.php
@@ -85,7 +85,7 @@
 				$news->assign("newsdate", date("$dateformat $timeformat", $stories['date']) );
 				$news->assign("oddeven", ($count % 2 ? "even" : "odd"));
 				if($newscomments == "1")
-					$news->assign("newscomments", "<a href=\"news.php?action=newsstory&amp;nid=".$stories['nid']."\">".$stories['comments']." "._COMMENTS."</a>");
+					$news->assign("newscomments", "<a href=\"ffnews.php?action=newsstory&amp;nid=".$stories['nid']."\">".$stories['comments']." "._COMMENTS."</a>");
 				if(isADMIN) 
 					$news->assign("adminoptions", "<a href=\"admin.php?action=news&amp;form=".$stories['nid']."\">"._EDIT."</a> | <a href=\"admin.php?action=news&amp;delete=".$stories['nid']."\">"._DELETE."</a>");
 				$count++;

--- a/blocks/news/init.php
+++ b/blocks/news/init.php
@@ -26,6 +26,6 @@
 if(!defined("_CHARSET")) exit( );
 
 
-dbquery("INSERT INTO ".TABLEPREFIX."fanfiction_blocks(`block_name`, `block_title`, `block_status`, `block_file`, `block_variables`) VALUES('news', 'Site News', '0', 'news/news.php', '');");
-$blocks["news"] = array("title" => "Site News", "status" => "1", "file" => "news/news.php", "num" => "3");
+dbquery("INSERT INTO ".TABLEPREFIX."fanfiction_blocks(`block_name`, `block_title`, `block_status`, `block_file`, `block_variables`) VALUES('news', 'Site News', '0', 'news/ffnews.php', '');");
+$blocks["news"] = array("title" => "Site News", "status" => "1", "file" => "news/ffnews.php", "num" => "3");
 ?>

--- a/blocks/news/news.php
+++ b/blocks/news/news.php
@@ -41,7 +41,7 @@
 		$news->newBlock("newsbox");
 		
 		//assign values
-		if(!empty($blocks['news']['sumlength']) && isNumber($blocks['news']['sumlength'])) $newsStory = truncate_text($stories['story'], $blocks['news']['sumlength'])."<div class='newsReadMore'><a href='news.php?action=newsstory&amp;nid=".$stories['nid']."'>"._READMORE."</a></div>";
+		if(!empty($blocks['news']['sumlength']) && isNumber($blocks['news']['sumlength'])) $newsStory = truncate_text($stories['story'], $blocks['news']['sumlength'])."<div class='newsReadMore'><a href='ffnews.php?action=newsstory&amp;nid=".$stories['nid']."'>"._READMORE."</a></div>";
 		else $newsStory = format_story($stories['story']);
 		$news->assign("newstitle" , $stories['title'] );
 		$news->assign("newsstory" , $newsStory);
@@ -51,7 +51,7 @@
 		$news->assign("newsid", $stories['nid']);
 		$news->assign("skindir", $skindir);
 		if($newscomments)
-			$news->assign("newscomments", "<a href=\"news.php?action=newsstory&amp;nid=".$stories['nid']."\">".$stories['comments']." "._COMMENTS."</a>");
+			$news->assign("newscomments", "<a href=\"ffnews.php?action=newsstory&amp;nid=".$stories['nid']."\">".$stories['comments']." "._COMMENTS."</a>");
 		if(isADMIN) 
 			$news->assign("adminoptions", "<a href=\"admin.php?action=news&amp;form=".$stories['nid']."\">"._EDIT."</a> | <a href=\"admin.php?action=news&amp;delete=".$stories['nid']."\">"._DELETE."</a>");
 		$count++;

file:a/docs/NewFeatures.txt (deleted)
--- a/docs/NewFeatures.txt
+++ /dev/null
@@ -1,47 +1,1 @@
-- Ability to remove Featured Story status from Admin panel as well as retire a Featured Story.  You can also now 
-do this when editing a story.
-- Ability to edit and delete news comments from news archive page.
-- Time format in settings.  Removed separate news date format.
-- Added pagination in news.php
-- Ability to set your own classifications in addition to warnings and genres (i.e. Spoilers, Episode Related, 
-Pairings, Language, Story Length, Story Type)
-- Ability to add custom pages from the admin panel.
-- You can now customize the up and down arrows used throughout the script in the same way the other graphics 
-(stars, etc) can be customized.  The variables are $up and $down
-- Added pagination to individual series page.
-- Story counts are back. :)
-- Moved the javascript into header.php so no more problems with the formselect.js not regenerating.  The info will 
-get pulled each time the page loads.
-- Added Table of Contents link to the storyblock and viewstory page for stories.
-- Changed admin links for featured stories in story block to let you either remove or retire the feature.
-- Co-authors :)  Yes. plural.
-- Chapter end notes.
-- Story notes.
-- The validation function in the admin panel now uses storyblock.php for a more consistent look of story information 
-across the site.
-- When previewing a story in the the add/edit story functions, the script now uses storyblock.php for a more consistent 
-look for story information across the site.
-- The default yes and no letters (subject and text) when validating stories can now be customized using {variables} for:
-	{sitename}- the name of the site;
-	{adminname} - the penname of the admin sending the letter (text of letter only)
-	{rules} - a link to the submission rules (text of letter only)
-	{storytitle} - the title of the story
-	{chaptertitle} - the title of the chapter within the story
-- You can now add custom admin panels.
-- The main admin page will now tell you how many stories are in the validation queue. So does the info block.
-- Session and cookie variables will now use a sitekey so that multiple sites on the same domain won't have problems with crossed login info.
-- News comments are now saved under uid instead of penname so that changes in penname will carry over to comment info.
-- TinyMCE can now be toggled on/off on the page.
-- Members can now turn tinyMCE and story indexes on/off for themselves
-- Members can choose the default story sort for themselves.
-- Challenges have been made into an optional module you can install and uninstall as you choose
-- Admins can now decide whether or not to allow anonymous challenges
-- The number of responses to a challenge is now listed in the information for the challenge.
-- Maintenance mode.
-- Action log.
-- Stories updated within the time frame of your "recent days" setting will now also be marked as "New!" (you can also define your own text or assign a graphic using $new in variables.php)
-- You can now define what "Top 10's" lists to include and add your own through the admin panel.
-- You can now "hide" skins from regular members through the admin panel.
-- Customized fields in the author profile page.
 
-

--- a/docs/Skin Changes 2.0 to 3.0.txt
+++ /dev/null
@@ -1,69 +1,1 @@
-Note: This is not a tutorial on how to update a skin.  It's pretty much my notes on what will eventually have to
-go into a tutorial.  Therefore, there's probably things missing.  We'll be working on a real tutorial.
-Optional additions to listings.tpl for stories:
 
-{toc} - Table of Contents link to story index 
-{count} - The view/read count
-{new} - The text "New!" for new stories or alternately a graphic (use the URL to the graphic from the main directory).
-{featuredtext} - The words "Featured Story" or "Past Featured Story" to use instead of the graphics if you wish
-
-This is already done for you in the default_tpls folder.
-
-Also in listings.tpl you will need to add {comment} to both the seriesblock and storyblock sections.  This 
-will be used for favorite stories to show the member's comments about the story. Style the comment with
-favcomment.tpl.  See the default_tpls folder for an example. 
-
-In viewstory.tpl optional addtion:
-
-{toc} - Table of Contents link to story index
-
-The story and chapter notes (beginning and end) have been moved into blocks in viewstory.tpl  This will let you
-style them any way you wish and also hide those blocks when there are no notes to display.  (See the default_tpls
-for an example)
-
-For any new classifications you add you will need to modify listings.tpl, series_title.tpl, and optionally 
-viewstory.tpl and storyindex.tpl to include those additional classifications.  Optionally, you can use {classifications}
-to include all your classifications at one time.  The default_tpls/listings.tpl uses {classifications}
-
-In reviews.tpl you can now add a quick review form to the bottom of the list of reviews instead of the 
-"Submit a Review" link using the {reviewform} variable.  Already done in default_tpls.
-
-The reviewsblock has been pulled into its own .tpl so it can be reused in places other than the reviews page 
-(such as the user panels)
-
-The profile section of the user page has been pulled into its own .tpl, again so that it can be re-used.  
-It should also make it easier for people modding skins.  There is also now a setting in your admin settings for
-whether or not to show the profile at the top of the view user page all the time or only when it's selected.
-
-In user.tpl you no longer have individual variables for the tabs.  Instead it's been put into a block to 
-allow more tabs to be added dynamically without editing the tpl's each time.
-
-<!-- START BLOCK : paneltabs -->
-<div {class}>{link} {count}</div>
-<!-- END BLOCK : paneltabs -->
-
-You can also use {linkcount} to include the count of items inside the link instead of next to it. You don't have 
-to use <div>'s.  This is just an example.
-
-Rather than have the news archive link hardcoded into the news block at the bottom, I've assigned it to a global 
-link (i.e. {home}) so that you can put it where you want.  It's assigned as {newsarchive}
-
-There are a large number of new links you can add to your skins and the menu block.  The list is in the "Page 
-Links" section of the admin panel.
-
-In default_tpls, we changed the "classification" CSS class to "label".  It's more clear what the purpose is
-and shorter. :)
-
-For the new profile block, if you add new fields to the profile information, you will need to either add the 
-individual links such as {yahoo} or remove the individual links and make use of the new {authorfields} variable
-that displays the complete list of custom fields.  If you're creating skins for the use of others, you're 
-encouraged to use {authorfields} instead of the individual links.
-
-The $current variable for the index page was changed to home to solve a conflict with the variable name for the
-pagelink.  This will affect skins like Romance that use the current setting as the name of a containing div.
-
-For the featured, recent, and random blocks, if you use the .tpl option you'll need to remove the name of the 
-block from each of the variables.  For instance {recenttitle} will now be {title}.  This is because each of
-these blocks now uses the storyblock.php code.  Therefore, you can also add any of the information you can
-use in the listings.tpl to your random, featured, and recent blocks. 
-

--- a/docs/convertingskins.htm
+++ /dev/null
@@ -1,274 +1,1 @@
-<html>
 
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Converting 1</title>
-</head>
-
-<body>
-
-<p align="center">Converting 1.1 skins to 3.0 skins.</p>
-<p>This file is a work in progress.&nbsp; We'll flesh it out later as we all get 
-  more expertise with converting 1.1 skins to the 3.0 format.</p>
-<p>1.&nbsp; Open a new folder for your converted skin.</p>
-<p>2.&nbsp; Open the default.tpl file in the skin you wish to convert.&nbsp; 
-Everything <i><b>before</b></i> {output} transfer into header.tpl in your new 
-folder then enclose it with start and close tags for the header block.&nbsp; A sample header.tpl might look like this.</p>
-<pre></pre>
-
-</div>
-
-<p style="margin: 0 5%; border: 1px solid #000;">&nbsp;&lt;!-- START BLOCK : header --&gt;<br>
-&lt;body&gt;<br>
-&nbsp;&nbsp;&nbsp;
-&lt;div id=&quot;<span style="background-color: #FFFF00">{</span><span 
-style="background-color: #FFFF00">page_id</span><span 
-style="background-color: #FFFF00">}</span>&quot;&gt;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&lt;div id=&quot;header&quot;&gt;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&lt;div id=&quot;banner&quot;&gt;<br>
-&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&lt;div id=&quot;skin&quot;&gt;<span style="background-color: #FFFF00">{</span><span 
-style="background-color: #FFFF00">skinchange_content</span><span 
-style="background-color: #FFFF00">}</span>&lt;span style=&quot;padding: 15px;&quot;&gt;<span 
-style="background-color: #FFFF00">{</span><span 
-style="background-color: #FFFF00">rss</span><span 
-style="background-color: #FFFF00">}</span>&lt;/span&gt;&lt;/div&gt;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&lt;/div&gt;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&lt;div id=&quot;menu_container&quot;&gt;<br>
-<span style="background-color: #FF00FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
-{home}&amp;nbsp;{recent}&amp;</span><span style="background-color: #FF00FF">nbsp;{catslink</span><span 
-style="background-color: #FF00FF">}&amp;nbsp;{authors}&amp;nbsp;{titles}&amp;nbsp;{help}<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
-&amp;nbsp;{search}&amp;nbsp;{login}&amp;nbsp;{logout}&amp;nbsp;{adminarea}</span><br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&lt;/div&gt;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&lt;/div&gt;<br>
-&nbsp;&nbsp;&nbsp;
-&lt;div id=&quot;mainpage&quot;&gt;<br>
-&lt;!-- END BLOCK : header --&gt;</p>
-<p>The {page_id} variable was new to 2.0.&nbsp; This variable gives you a unique 
-  name to use in the css for each page.&nbsp; In the example above it's used as 
-  a containing tag.&nbsp; 
-<p>The {rss} variable 
-defines where the orange rss image link appears.
-<p>The other variable highlighted in yellow is a mod some people had previously 
-  installed.&nbsp; If you have previously added the skin change mod change {skinform} 
-  to {skinchange_content} to include that block.&nbsp; You will also need to activate 
-  that block and set it to the correct status in the blocks page in the admin 
-  area.
-<p>The links highlighted in pink are still available in 3.0.&nbsp; You can convert 
-  these links to the new menu block if you wish or leave them as is.
-<p>3. From your original default.tpl again, select everything <i>
-<b>after</b></i> {output} and place it in your footer.tpl<p>&nbsp;<p style="margin: 0 5%; border: 1px solid #000;">&lt;!-- START BLOCK : 
-footer --&gt;<br>
-&nbsp;&nbsp;&nbsp;
-&lt;/div&gt;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&lt;div id=&quot;footer&quot;&gt;<span style="background-color: #FF00FF">{footer}</span>&lt;/div&gt;&lt;/div&gt;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-&lt;div id=&quot;footermenu&quot;&gt;<span style="background-color: #FFFF00">{</span><span 
-style="background-color: #FFFF00">tos}{rules}{contactus</span><span 
-style="background-color: #FFFF00">}</span>&lt;/div&gt;<br>
-&lt;!-- END BLOCK : footer --&gt;<p>The {footer} variable is the same as in 1.1<p>
-The other three variables you see in yellow are new page links added in 2.0. <p>&nbsp;<div 
-align="center">
-  <center>
-  <table border="1" cellpadding="3" cellspacing="0" 
-  style="border-collapse: collapse" bordercolor="#111111">
-    <tr>
-      <th width="100%" colspan="2">New Page Links in 2.0</th>
-    </tr>
-    <tr>
-      <td width="50%">{tos}</td>
-      <td width="50%">Terms of Service</td>
-    </tr>
-    <tr>
-      <td width="50%">{rules}</td>
-      <td width="50%">Submission Rules</td>
-    </tr>
-    <tr>
-      <td width="50%">{contactus}</td>
-      <td width="50%">Contact Us</td>
-    </tr>
-    <tr>
-      <td width="50%">{featured}</td>
-      <td width="50%">Featured Stories</td>
-    </tr>
-    <tr>
-      <td width="50%">{members}</td>
-      <td width="50%">Members</td>
-    </tr>
-    <tr>
-      <td width="50%">{series}</td>
-      <td width="50%">Series</td>
-    </tr>
-    <tr>
-      <td width="50%">{challenges}</td>
-      <td width="50%">Challenges</td>
-    </tr>
-    <tr>
-      <td width="50%">{tens}</td>
-      <td width="50%">The Tens</td>
-    </tr>
-  </table>
-  </center>
-</div>
-<p>&nbsp;<div align="center">
-  <center>
-  <table border="1" cellpadding="3" cellspacing="0" 
-  style="border-collapse: collapse" bordercolor="#111111">
-    <tr>
-      <th width="100%" colspan="2">Changed from 1.1</th>
-    </tr>
-    <tr>
-      <td width="50%">{authors}</td>
-      <td width="50%">Authors (was members list)</td>
-    </tr>
-  </table>
-  </center>
-</div>
-<p>3.&nbsp; In your new skin folder create a new file called variables.php.&nbsp; 
-As this is a conversion from 1.1 to 2.0 you will want to set some options in the 
-blocks settings.</p>
-<p style="margin: 1em 5%; border: 1px solid #000;">&lt;?php<br>
-$blocks[&quot;info&quot;][&quot;status&quot;] = '1'; <br>
-$blocks[&quot;info&quot;][&quot;style&quot;] = '1';<br>
-$blocks[&quot;login&quot;][&quot;status&quot;] = '1';<br>
-$blocks[&quot;news&quot;][&quot;status&quot;] = '1';<br>
-$blocks[&quot;news&quot;][&quot;tpl&quot;] = '1';<br>
-$blocks[&quot;recent&quot;][&quot;status&quot;] = '1';<br>
-$blocks[&quot;recent&quot;][&quot;tpl&quot;] = '1';<br>
-$blocks[&quot;categories&quot;][&quot;status&quot;] = '1';<br>
-$blocks[&quot;categories&quot;][&quot;columns&quot;] = '0';<br>
-$blocks[&quot;categories&quot;][&quot;tpl&quot;] = '1';<br>
-$blocks[&quot;featured&quot;][&quot;tpl&quot;] = '1';<br>
-$blocks[&quot;featured&quot;][&quot;status&quot;] = '1';<br>
-?&gt;</p>
-<p>Technically, this is probably overkill.&nbsp; You will definitely want to set 
-&quot;tpl&quot; to 1 for categories, recent, and featured if your skin uses them.&nbsp;If 
-in the past you used {totalstories} and {totalauthors}, activate the info block 
-and set the style to 2.&nbsp; Note that this will also give you {totalmembers} 
-to include.&nbsp; All of these blocks should be set to a &quot;status&quot; of 1 to 
-include them only on the index page.&nbsp;&nbsp; 
-If your skin doesn't use them, I suggest you set the status to 0.&nbsp; It will 
-make the page load a tiny bit faster, but for busy sites tiny bits will add up.</p>
-<p>4. Copy the 1.1 index.tpl skin into your new folder and open it.&nbsp; Locate 
-the point where your header information stops.&nbsp; Delete everything before 
-that and replace it with:</p>
-<p>&lt;!-- INCLUDE BLOCK : header --&gt;</p>
-<p>Find where your footer information starts and replace everything below it with</p>
-<p>&lt;!-- INCLUDE BLOCK : footer --&gt;</p>
-<p>We took care of all the blocks except news in the previous step.&nbsp; Find 
-where your news is included in the index.tpl&nbsp; and replace the block with {news_content}&nbsp; 
-You can also remove {newspageprev} and {newspagenext} as those are replaced by 
-the newsarchive link and are included in {news_content}.&nbsp; To style the news 
-archive link use #newsarchive in your style.css.&nbsp; The #newsarchive id is a 
-div around the archive link.</p>
-
-<p>5. Copy your newsbox.tpl file into the new folder.&nbsp; No changes need to 
-be made to that.&nbsp; Note however that the style will be carried over to the 
-news archive.</p>
-
-<p>6. Open your style.css and style the following elements.&nbsp; The 
-information after the dash is suggested styles to match 1.1 where possible or 
-just general ideas</p>
-
-<p>#pagetitle - text-align: center; font-size: 150%; margin: 1ex;<br>
-#alphabet, #pagelinks - text-align: center; margin: 1em;<br>
-LABEL - font-weight: bold;<br>
-#sort - text-align: center; margin: 1ex;&nbsp; (Sort options on categories.php)<br>
-#profile #sort - text-align: right;&nbsp;&nbsp; (Sort options on the viewuser 
-page)</p>
-
-<p>.sectionheader - text-align: center; font-weight: bold;&nbsp; (this is the 
-&quot;Series&quot; and &quot;Stories&quot; sub-headers)<br>
-#titleblock&nbsp; - margin: 0 10%; border: 1px solid #000;&nbsp; <br>
-(this is the title block at the top of the series and challenges pages when a 
-single series/challenge is listed)</p>
-
-<p>To convert the tabs in the viewuser page from 1.1 to 2.0 you'll need to add 
-the #tabs style group to your style.css.&nbsp; This is the tabs information for 
-the skin in default_tpls. It's a good place to start.&nbsp; 2.0 gives you more 
-options in styling this section of the viewuser page, but this styling will be 
-close to what you previously used in 1.1 with some tweaking.&nbsp; The #active 
-styling is the tab currently active in the window.&nbsp; In 1.1 this would have 
-been the table cell with the background color.</p>
-
-<p>#tabs {<br>
-padding: 0;<br>
-margin: 0;<br>
-clear: both;<br>
-border-top: 3px double #000;<br>
-border-bottom: 3px double #000;<br>
-}<br>
-<br>
-#tabs DIV{ <br>
-width: 33%;<br>
-float: left;<br>
-color: #000;<br>
-text-align: center;<br>
-background: #CCC; <br>
-font-size: 11pt;<br>
-}<br>
-<br>
-#tabs #centertab {<br>
-background: transparent;<br>
-border-right: 3px double #000;<br>
-border-left: 3px double #000;<br>
-width: 98%;<br>
-}<br>
-<br>
-#tabs a { color: #000; }<br>
-#tabs a:active, a:hover { text-decoration: none; color: #555; }<br>
-<br>
-#tabs #active { background: #555; width: 34%; color: #FFF; }<br>
-#tabs #active a { color: #FFF; }<br>
-#tabs #active a:active, a:hover { text-decoration: none; color: #555; }</p>
-
-<p>7. The last thing you'll probably need to do is convert your storyblock.tpl.&nbsp; 
-If you wish, you can rely on the default and set the appearance of both the 
-stories and series blocks through your style.css.&nbsp; The default uses the .listbox 
-class with child classes of .title, .tail, .adminoptions, .content, and 
-.classification.&nbsp; You can also use .odd and .even to alternate style of 
-blocks every other one.</p>
-
-<p>/* Formatting for the divs for series and stories.&nbsp; */<br>
-.listbox { margin: 0 5%; border: 2px solid #900; margin-bottom: 1em; background: 
-#FFF; background-position: 0 5px;}<br>
-.listbox .title { font-weight: bold; padding: 4px; color: #900; border-bottom: 
-3px double #900;}<br>
-.listbox .title a:link { color: #900; text-decoration: underline;}<br>
-.listbox .title a:visited { color: #C66; text-decoration: underline;}<br>
-.listbox .title a:hover { color: #900; text-decoration: underline overline; }<br>
-.listbox .content { padding: 5px; padding-top: 10px; padding-bottom: 10px;}<br>
-.listbox .tail, .listbox .respond { border-top: 3px double #900;}<br>
-.listbox .classfication { font-weight: bold; }<br>
-/* End listbox formatting. */</p>
-
-<p>If you don't want to use the default, I suggest you copy listings.tpl from 
-the default_tpls folder then paste the contents of your storyblock.tpl into the 
-storyblock section then replicate it for the series section.&nbsp; Pay attention 
-to the additional information for the story block.&nbsp; You may now include 
-challenges and series information.&nbsp; There are also adminoptions to be 
-included as well.&nbsp; If you don't use the default you will also need to 
-separately style the challenges block (if you choose to use challenges on your 
-site).&nbsp; 
-Copy challenges.tpl from the default_tpls folder and style it as you wish.&nbsp;
-<u>Do<b><i> NOT </i></b>save it back to default_tpls. </u><b>&nbsp;</b>Save it 
-to your skin's folder.</p>
-
-<p>That's a basic conversion from 1.1 to 2.0.&nbsp; You can further define other 
-areas of the script such as the title blocks in series and challenges.&nbsp; If 
-you wish to change the look of these areas, copy the applicable .tpl from 
-default_tpls and make your changes.&nbsp; Then save that .tpl to your skin 
-folder NOT back to the default_tpls.&nbsp; </p>
-
-</body></html>

--- a/docs/creating_blocks.htm
+++ /dev/null
@@ -1,110 +1,1 @@
-<html>
 
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Creating Blocks</title>
-</head>
-
-<body>
-
-<h2 align="center">Creating Blocks</h2>
-<p>For those that want to create their own blocks to share with others or just 
-  tweak the ones included already, here's the basics.&nbsp; There are two files 
-  needed for each block: blockname.php an init.php.&nbsp; Technically, if you 
-  added the block manually, you wouldn't need the init.php file.&nbsp; It is only 
-  used when the block is first initialized, and can be deleted afterward.&nbsp; 
-  Though I would suggest keeping a backup somewhere, just in case.</p>
-<p>The init.php file is very simple composed simply of a mysql statement that 
-  adds the block tot he database.&nbsp; As in the example below.</p>
-<p>&lt;?php<br>
-  dbquery(&quot;INSERT INTO &quot;.TABLEPREFIX.&quot;fanfiction_blocks(`block_name`, 
-  `block_title`, `block_status`, `block_file`, `block_variables`) VALUES('categories', 
-  'Main Categories', '0', 'categories/categories.php', '');&quot;);<br>
-  ?&gt;</p>
-<p>This also shows the basic parameters needed for a block: name, title, status, 
-  file, and variables.&nbsp; The title can be an empty string if you don't need 
-  a title for that particular block. If the block doesn't need any variables, 
-  that too can be left empty. The file should be a subfolder/file of the blocks 
-  folder for the sake of consistency. The status should generally start off as 
-  0 for inactive.&nbsp; There are 3 status options for blocks: </p>
-<div align="center">
-  <center>
-  <table border="1" cellpadding="5" cellspacing="0" 
-  style="border-collapse: collapse" bordercolor="#111111">
-    <tr>
-      <th colspan="2">Status</th>
-      <th>&nbsp;Associated .tpl file</th>
-      <th>Appears</th>
-    </tr>
-    <tr>
-      <td>0</td>
-      <td>Inactive</td>
-      <td>The block is off. </td>
-      <td>nowhere</td>
-    </tr>
-    <tr>
-      <td>1</td>
-      <td>Active</td>
-      <td>The block is on.</td>
-      <td>anywhere</td>
-    </tr>
-    <tr>
-      <td>2</td>
-      <td>Index only</td>
-      <td>index page only.</td>
-      <td>anywhere on the index page.</td>
-    </tr>
-    </table>
-  </center>
-</div>
-<p>&nbsp; </p>
-<p>Any default configuration you want for the block can be included in the init.php 
-  as well.&nbsp; The variables are an array encoded using PHP's serialize function. 
-  For instance, the categories block currently has two options: one column and 
-  multiple columns.&nbsp; The default is a single column lists.&nbsp; If I were 
-  to change the init file as follows, the default would then become a multiple 
-  column list.</p>
-<p>&lt;?php<br>
-  dbquery(&quot;INSERT INTO &quot;.TABLEPREFIX.&quot;fanfiction_blocks(`block_name`, 
-  `block_title`, `block_status`, `block_file`, `block_variables`) VALUES('categories', 
-  'Main Categories', '0', 'categories/categories.php', '&quot;.serialize(array(&quot;columns&quot; 
-  =&gt; &quot;1&quot;)).&quot;');&quot;);<br>
-  ?&gt;</p>
-<p> When you change any of the settings for the blocks from the admin panel the 
-  information stored in the database about the block is updated.</p>
-<p>The block.php file creates the content that is placed inside the {blockname_content} 
-variable.&nbsp; This content is placed inside a variable $content which is then 
-assigned to {blockname_content}&nbsp; So a very simple example of a block would 
-be:</p>
-<p>&lt;?php<br>
-$content = &quot;Hello World!&quot;;<br>
-?&gt;</p>
-<p>There are two other optional files.&nbsp; The first is an admin file which 
-will be called from the admin panel to make changes to the settings in the 
-block.&nbsp; Creating one of those is for another day. </p>
-<p>The second file (or multiple files) is a language file that defines any text 
-you use in your block.&nbsp; These files take the same format as the main 
-language file in the languages folder and are named similarly.&nbsp; So for 
-instance, an English language file would be named en.php.&nbsp; For Spanish, it 
-would be es.php. </p>
-<p>Most often, you might need to define some wording for your admin.php file.&nbsp; 
-If you need to add a language file, use the following code in either admin.php 
-or blockname.php</p>
-<p>if(file_exists(&quot;blocks/categories/{$language}.php&quot;)) include_once(&quot;blocks/categories/{$language}.php&quot;);</p>
-<p>The if(...) isn't technically necessary, but it will prevent errors if the 
-  file ends up missing.&nbsp; For instance, the site's language is set to Russian, 
-  but the block doesn't have a Russian translation.&nbsp; You might also want 
-  to include an else statement to load a default language file you have created 
-  if the site's chosen language is missing.</p>
-<p>if(file_exists(&quot;blocks/categories/{$language}.php&quot;)) include_once(&quot;blocks/categories/{$language}.php&quot;);<br>
-  else include_once(&quot;blocks/categories/en.php&quot;);</p>
-<p>To keep your block files secure from hackers you are strongly encouraged to 
-  include this line at the top of each file just under the &lt;?php</p>
-<p>if(!defined(&quot;_CHARSET&quot;)) exit( );</p>
-<p>&nbsp;</p>
-</body>
-
-</html>

file:a/docs/creating_skins.htm (deleted)
--- a/docs/creating_skins.htm
+++ /dev/null
@@ -1,973 +1,1 @@
-<html>
 
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Creating Skins</title>
-<style type="text/css">
-<!--
-.sample {
-	background-color: #CCCCCC;
-	margin: 1em;
-	border: 1px solid #000000;
-	padding: 1ex;
-}
-.sampleLabel {
-	margin-bottom: -1em;
-	margin-left: 1em;
-	font-weight: bold;
-}
--->
-</style>
-</head>
-
-<body>
-
-<h2 align="center">Creating Skins - WIP</h2>
-<p>In theory, there is no limit to the number of skins you can create for your 
-site.&nbsp; If you have created skins for eFiction 1.1, you won't find many differences.&nbsp; The number and names of the .tpl files have changed 
-some though.&nbsp; 
-A complete skin will include the following files.</p>
-<div align="center">
-  <center>
-    <table border="1" cellpadding="5" cellspacing="0" 
-  style="border-collapse: collapse" bordercolor="#111111">
-      <tr> 
-        <th width="50%">.tpl file</th>
-        <th width="50%">Related pages</th>
-      </tr>
-      <tr> 
-        <td><a href="#browse">browse.tpl</a></td>
-        <td>Browse Pages</td>
-      </tr>
-      <tr> 
-        <td><a href="#categories">categories.tpl</a></td>
-        <td>Browse Categories</td>
-      </tr>
-      <tr> 
-        <td><p><a href="#comments">comments.tpl</a></p></td>
-        <td>News</td>
-      </tr>
-      <tr> 
-        <td><a href="#default">default.tpl</a></td>
-        <td>Most pages</td>
-      </tr>
-      <tr> 
-        <td><a href="#favcomment">favcomment.tpl</a></td>
-        <td>Favorites Lists</td>
-      </tr>
-      <tr> 
-        <td><a href="#footer">footer.tpl</a></td>
-        <td>All pages</td>
-      </tr>
-      <tr> 
-        <td><a href="#header">header.tpl</a></td>
-        <td>All pages</td>
-      </tr>
-      <tr> 
-        <td><a href="#index">index.tpl</a></td>
-        <td>Index</td>
-      </tr>
-      <tr> 
-        <td><a href="#listings">listings.tpl</a></td>
-        <td>Any page listing stories or series</td>
-      </tr>
-      <tr> 
-        <td><a href="#newsbox">newsbox.tpl</a></td>
-        <td>News &amp; news block</td>
-      </tr>
-      <tr> 
-        <td><a href="#printstory">printstory.tpl</a></td>
-        <td>View Story (Printable)</td>
-      </tr>
-      <tr> 
-        <td><a href="#profile">profile.tpl</a></td>
-        <td>User Profile</td>
-      </tr>
-      <tr> 
-        <td><a href="#reviewblock">reviewblock.tpl</a></td>
-        <td>Reviews</td>
-      </tr>
-      <tr> 
-        <td><a href="#reviews">reviews.tpl</a></td>
-        <td>Reviews</td>
-      </tr>
-      <tr> 
-        <td><a href="#seriestitle">series_title.tpl</a></td>
-        <td>View Series</td>
-      </tr>
-      <tr> 
-        <td><a href="#storyindex">storyindex.tpl</a></td>
-        <td>Story Table of Contents</td>
-      </tr>
-      <tr> 
-        <td><a href="#user">user.tpl</a></td>
-        <td>User Profile/Info</td>
-      </tr>
-      <tr>
-        <td><a href="#viewstory">viewstory.tpl</a></td>
-        <td>View Story</td>
-      </tr>
-    </table>
-  </center>
-</div>
-<p>Now, to quote Douglas Adams...Don't Panic!&nbsp; That's the most number of 
-  files a skin would use.&nbsp; Most skins will consist of quite a few less.&nbsp; 
-  If you install add-on modules, those modules may require additional .tpl files 
-  which will be included with the module. </p>
-<p>Within the script files is a folder called default_tpls.&nbsp; It includes 
-  a very basic complete skin that will be used if for whatever reason your site's 
-  default skin or your member's chosen skin are missing.&nbsp; If any of these 
-  .tpl files (except for header.tpl and footer.tpl) are missing the script will 
-  fall back on the files in the default_tpls folder.&nbsp; Many of the tpl files 
-  are generic enough that they can easily be left to the ones in default_tpls 
-  and styled using CSS.&nbsp; In addition to the .tpl files you will have a style.css 
-  file and optionally, a variables.php file.&nbsp; The variables.php file allows 
-  you to override certain universal settings for this skin such as where blocks 
-  load and the graphics used for your ratings and featured stories.</p>
-<p>A fewimportant things to pay attention to when modifying the template files:</p>
-<ol>
-  <li><b>Variables</b>: Items in curly brackets are variables, i.e. {output} or 
-    {authors}. This contains the actual content that will be printed out on the 
-    page. You can surround these attributes with any kind of html that you want 
-    -- font tags, tables, whatever. Some variables are required on some of the 
-    template pages and some are optional.&nbsp;</li>
-  <li><b>Blocks</b>: These are items that generate multiple instances of content 
-    in a loop -- for example, in your index.tpl template file, you only need to 
-    indicate where the news items should display on the page with the following:<br>
-    &lt;!-- INCLUDE BLOCK : newsbox --&gt;<br>
-    This line is telling the script to include the newsbox.tpl file, and the template 
-    files will understand that it should print out several news stories in a loop, 
-    with just that one line of code. Another kind of block you may see is the 
-    following:<br>
-    &lt;!-- START BLOCK : categoriesblock --&gt;<br>
-    <br>
-    Content goes here, which will also include attributes, such as {category} 
-    or {description}<br>
-    <br>
-    &lt;!-- END BLOCK : categoriesblock --&gt;<br>
-    This is similar to the included block, except that rather than pulling in 
-    the block from another file, as in the case of the newsbox.tpl, this one is 
-    just defining the block at this very moment. As you read through the individual 
-    template file instructions below and look at the actual templates, all of 
-    this will make more sense. <b>&nbsp;Block declarations should go on lines 
-    by themselves.</b></li>
-  <li><b>Blocks vs. Blocks:&nbsp; </b>The template blocks in the .tpl files are 
-    not the same as the blocks you configure in the admin panel.&nbsp; The blocks 
-    in the admin panel are &quot;blocks&quot; of code that generate content they 
-    place inside template variables.&nbsp; The blocks in the .tpl files are &quot;blocks&quot; 
-    of content.&nbsp; While there is some overlap, thinking of them as being separate 
-    from each other will help you keep things straight.&nbsp; Each &quot;code 
-    block&quot; will generate two &quot;content blocks&quot;: {blockname_title} 
-    and {blockname_content}.&nbsp; You may or may not include the {blockname_title} 
-    variable in your skin.&nbsp; It's up to you.&nbsp; However, using the {blockname_title} 
-    in your skin means if you ever want to change the title of the block you only 
-    have to do it in one place instead of in each skin.&nbsp; You assign where 
-    the block will be assigned to in the admin panel.&nbsp; There are 3 choices: 
-    <br>
-    &nbsp; 
-    <div align="center"> 
-      <center>
-        <table border="1" cellpadding="5" cellspacing="0" 
-    style="border-collapse: collapse" bordercolor="#111111">
-          <tr> 
-            <th width="50%">Status</th>
-            <th width="50%">&nbsp;Associated .tpl file</th>
-          </tr>
-          <tr> 
-            <td width="50%">Inactive</td>
-            <td width="50%">The block is off. </td>
-          </tr>
-          <tr> 
-            <td width="50%">Active</td>
-            <td width="50%">The block is on. Can appear on every page.</td>
-          </tr>
-          <tr> 
-            <td width="50%">Index Only</td>
-            <td width="50%">Appears on the index page only.</td>
-          </tr>
-        </table>
-      </center>
-    </div>
-    <p>You may also override these settings for an individual skin by placing 
-      information for that block in the variables.php file. More on that later.</li>
-  <li>The .tpl files do not have some of the usual tags at the beginning, such 
-    as &lt;head&gt; or &lt;title&gt;. That is because those tags are included 
-    in the header file. Most of the template files begin with the header block 
-    and end with the footer block except for a couple of the blocks (newsblock.tpl, 
-    comments.tpl and listings.tpl)</li>
-  <li>Using &quot;hooks&quot; various 3rd party and included modules (such as 
-    challenges) can add their own variables to these templates. Check the documentation 
-    for the modules for specific additions. &nbsp;</li>
-</ol>
-<p>Feel free to use the files in the default_tpls/ folder as templates for your 
-  own skins.&nbsp; Copy the files into a new skin folder and modify them there. 
-  <strong><font color="#FF0000">Do not modify the files in default_tpls/ if at 
-  all possible. They're often used for diagnostic purposes if the site isn't functioning 
-  as expected.</font></strong>&nbsp; <u>Also, you are in no way limited to CSS 
-  for the layout of your skins.&nbsp; Feel free to use tables to your heart's 
-  content.&nbsp; </u></p>
-<hr>
-<p><a name="browse"></a>browse.tpl</p>
-<p>This file controls the look of the browse pages (categories, classifications, 
-  etc.) The header, footer, and listing blocks are included in this file along 
-  with a block for the sort form that is displayed when there are story results. 
-  In addition you will want to include two other variables:</p>
-<p>You will need to start by including the header block.</p>
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;</p>
-<p>And end by including the footer block.</p>
-<p class="sample"> &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
-<p>{output} - Miscellaneous information on the pages including the page title.<br>
-  {otherresults} - The list of other results (challenges, series, etc.) that fit 
-  the criteria for the page.</p>
-<p>Within the sort form the following variables are used:</p>
-<p>{sortbegin} - the beginning of the sort menu form<br>
-  {charactermenu1} - A list of characters to choose from<br>
-  {charactermenu2} - A second list of characters<br>
-  {classmenu} - A dropdown list for each of the site's classification types (genres, 
-  warnings, etc.)<br>
-  {ratingmenu} - A list of ratings<br>
-  {sortmenu} - Choose how the stories will be sorted alphabetically or by most 
-  recently updated<br>
-  {completemenu} - Choose all stories or only completed stories<br>
-  {sortend} - the end of the sort menu form</p>
-<p>You may include all or none of these and in whatever order you wish, except 
-  the {sortbegin} and {sortend} variables must be at the beginning and end of 
-  the list of variables in the form.</p>
-<p class="sampleLabel">Sample: </p>
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;<br>
-  {output}{otherresults}<br>
-  &lt;!-- START BLOCK : sortform --&gt;<br>
-  &lt;div id=&quot;sortform&quot;&gt;{sortbegin}{categorymenu} {charactermenu1} 
-  {charactermenu2} {ratingmenu} {classmenu} {sortmenu} {completemenu} {sortend}&lt;/div&gt;<br>
-  &lt;!-- END BLOCK : sortform --&gt;<br>
-  &lt;!-- INCLUDE BLOCK : listings --&gt;<br>
-  &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
-<p><a name="categories"></a>categories.tpl</p>
-<p>The categories.tpl controls the look of the individual category on the categories 
-  browse page. <strong>Note:</strong> The appearance of the categories block is 
-  controlled separately through the block's admin panel. </p>
-<p>The block must start with:</p>
-<p class="sample">&lt;!-- START BLOCK : categoryblock --&gt;</p>
-<p>and end with:</p>
-<p class="sample">&lt;!-- END BLOCK : categoryblock --&gt;</p>
-<p>The following variables are available to use in the block:</p>
-<p>{image} - The image associated with that category. Note: The name of the image 
-  is set in the Categories admin panel. The image file must be in the skin's directory. 
-  If the script can't find the image it will display nothing. (In 1.1 a broken 
-  image was displayed.)<br>
-  {link} - The link to the category's browse page.<br>
-  {count} - The count of stories within that category.<br>
-  {description} - The category's description.</p>
-<p class="sampleLabel">Sample:</p>
-<p class="sample">&lt;!-- START BLOCK : categoryblock --&gt;<br>
-  {image} {link} {count} {description}<br>
-  &lt;!-- END BLOCK : categoryblock --&gt;</p>
-<p><a name="comments">comments.tpl</a></p>
-<p>This block controls the display of comments on the news.php page for a single 
-  story.&nbsp; </p>
-<p>You must start the file with:</p>
-<p class="sample">&lt;!-- START BLOCK : commentbox --&gt;</p>
-<p>and end it with:</p>
-<p class="sample">&lt;!-- END BLOCK : commentbox --&gt;</p>
-<p>This information should be placed on separate lines.&nbsp; Between these two 
-  lines the following variables should be included.</p>
-<p>{comment} - The comment from the member.<br>
-  {uname} - The member's name as a hyperlink to their profile.<br>
-  {date} - The date the comment was made.<br>
-  {adminoptions} - Options visible to the administrator when viewing the page.</p>
-<p>The variable {oddeven} is optional, you can use it to assign alternating styles 
-  to each comment.</p>
-<p class="sampleLabel">Sample:</p>
-<p class="sample">&lt;!-- START BLOCK : commentbox --&gt;<br>
-  &lt;div class=&quot;comment {oddeven}&quot;&gt;<br>
-  {comment}<br>
-  &lt;div class=&quot;commentsig&quot;&gt;- {uname} on {date}&lt;/div&gt;<br>
-  &lt;div class=&quot;adminoptions&quot;&gt; {adminoptions}&lt;/div&gt;<br>
-  &lt;/div&gt;<br>
-  &lt;!-- END BLOCK : commentbox --&gt;</p>
-<p><a name="default">default.tpl</a></p>
-<p>The majority of pages use this for their layout.&nbsp; Most likely you won't 
-  need to include it in your skin at all.</p>
-<p>You must include the <a href="#header">header</a>, <a href="#listings"> listings</a>, 
-  and <a href="#footer">footer</a> block as seen below and include the {output} 
-  variable BEFORE the listings block.&nbsp; The {output} variable provides various 
-  text like the page title and alphabet list for titles. You will probably not 
-  need to replicate this file in your skin since there's nothing much to change 
-  really.</p>
-<p class="sampleLabel">Sample:</p>
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;<br>
-  {output}<br>
-  &lt;!-- INCLUDE BLOCK : listings --&gt;<br>
-  &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
-<p></p>
-<p><a name="favcomments"></a>favcomment.tpl</p>
-<p>In eFiction 3.0 when favorites are turned on by the admin, members have the 
-  option of not only marking a story as a favorite, but also including a comment 
-  as to why it is their favorite. The favcomment.tpl us used to display these 
-  comments in the user's profile.</p>
-<p>The block must start with:</p>
-<p class="sample">&lt;!-- START BLOCK : comment --&gt;</p>
-<p>and end with:</p>
-<p class="sample">&lt;!-- END BLOCK : comment --&gt;</p>
-<p>In addition the following variables can be used within the block:</p>
-<p>{comment} - The member's comment<br>
-  {commentoptions} - Options concerning this comment for admin and the person 
-  who commented<br>
-  {oddeven} - This variable can be used to style alternating comments differently.</p>
-<p class="sampleLabel">Sample:</p>
-<p class="sample">&lt;!-- START BLOCK : comment --&gt;<br>
-  &lt;div class=&quot;comment{oddeven}&quot;&gt;<br>
-  {comment}<br>
-  {commentoptions}<br>
-  &lt;/div&gt;<br>
-  &lt;!-- END BLOCK : comment --&gt;</p>
-<p><a name="footer">footer.tpl</a></p>
-<p>You must start the file with:</p>
-<p class="sample">&lt;!-- START BLOCK : footer --&gt;</p>
-<p>and end it with:</p>
-<p class="sample">&lt;!-- END BLOCK : footer --&gt;</p>
-<p>In addition to the <a href="#pagelinks">universal page links</a>, the footer.tpl 
-  also has one other variable assigned to it.&nbsp; </p>
-<p>{footer} - Your copyright statement.</p>
-<p>Content assigned to the footer in the admin panel or in the skin's variables.php 
-  file will also be included here.</p>
-<p class="sampleLabel">Sample: </p>
-<p class="sample">&lt;!-- START BLOCK : footer --&gt;<br>
-  &lt;/div&gt;<br>
-  &lt;div id=&quot;footer&quot;&gt;{footer}&lt;/div&gt;&lt;/div&gt;<br>
-  &lt;/body&gt;&lt;/html&gt;<br>
-  &lt;!-- END BLOCK : footer --&gt;</p>
-<p></p>
-<p><a name="header">header.tpl</a></p>
-<p>You must start the file with:</p>
-<p class="sample">&lt;!-- START BLOCK : header --&gt;</p>
-<p>and end it with:</p>
-<p class="sample">&lt;!-- END BLOCK : header --&gt;</p>
-<p>In addition to the <a href="#pagelinks">universal page links</a>, the 
-header.tpl also has two other variables assigned to it.&nbsp; The use of these 
-variables is optional.</p>
-<p>{sitename} - Your site name<br>
-{slogan} - Your site slogan</p>
-<p>Content assigned to the header in the admin panel or in the skin's 
-variables.php file will also be included here.</p>
-<p class="sampleLabel">Sample: </p>
-<p class="sample">&lt;!-- START BLOCK : header --&gt;<br>
-  &lt;body&gt;<br>
-  &lt;div id=&quot;container&quot;&gt;<br>
-  &lt;div id=&quot;banner&quot;&gt;&lt;div style=&quot;font-size: 40pt; font-style: 
-  oblique;&quot;&gt;{sitename}&lt;/div&gt;&lt;div style=&quot;font-size: 13pt;&quot;&gt;{slogan}&lt;/div&gt;&lt;div 
-  id=&quot;skin&quot;&gt;{skinchange_content}&lt;div style=&quot;padding: 5px;&quot;&gt;{rss}&lt;/div&gt;&lt;/div&gt;<br>
-  &lt;/div&gt;<br>
-  {menu_content}<br>
-  &lt;div id=&quot;mainpage&quot;&gt;<br>
-  &lt;!-- END BLOCK : header --&gt;</p>
-<p><a name="index">index.tpl</a></p>
-<p>This file controls the look of your site's home/index page. </p>
-<p>You will need to start by including the header block.</p>
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;</p>
-<p>And end by including the footer block.</p>
-<p class="sample"> &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
-<p>In addition to the <a href="#pagelinks">universal page links</a>, the 
-index.tpl also has one other variable assigned to it.&nbsp; </p>
-<p>{welcome} - Your welcome message.</p>
-<p>Content assigned to &quot;index only&quot; in the admin panel or in the skin's 
-variables.php file will also be included here.&nbsp; The sample below creates a 
-two column index page via positioning.&nbsp; See the style.css in the 
-default_tpls for the leftindex and rightindex style declarations.</p>
-<p class="sampleLabel">Sample: </p>
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;<br>
-&lt;div style=&quot;padding: 1em 0; margin-bottom: -2em;&quot; class=&quot;clearfix&quot;&gt;<br>
-&lt;div id=&quot;leftindex&quot;&gt;<br>
-&lt;div class=&quot;block&quot;&gt;<br>
-&lt;div class=&quot;title&quot;&gt;{info_title}&lt;/div&gt;<br>
-&lt;div class=&quot;content&quot;&gt;{welcome}{info_content}&lt;br&gt;&lt;div style=&quot;width: 130px; 
-text-align: center; margin: 0 25px;&quot;&gt;{login_content}&lt;/div&gt;&lt;/div&gt;<br>
-&lt;/div&gt;<br>
-&lt;div class=&quot;block&quot;&gt;<br>
-&lt;div class=&quot;title&quot;&gt;{random_title}&lt;/div&gt;<br>
-&lt;div class=&quot;content&quot;&gt;{random_content}&lt;/div&gt;<br>
-&lt;/div&gt;<br>
-&lt;/div&gt;<br>
-&lt;div id=&quot;rightindex&quot;&gt;<br>
-&lt;div class=&quot;block&quot;&gt;<br>
-&lt;div class=&quot;title&quot;&gt;{categories_title}&lt;/div&gt;<br>
-&lt;div class=&quot;content&quot;&gt;&lt;div style=&quot;width: 95%&quot;&gt;{categories_content}&lt;/div&gt;&lt;/div&gt;<br>
-&lt;/div&gt;<br>
-&lt;div class=&quot;block&quot;&gt;<br>
-&lt;div class=&quot;title&quot;&gt;{recent_title}&lt;/div&gt;<br>
-&lt;div class=&quot;content&quot;&gt;{recent_content}&lt;/div&gt;<br>
-&lt;/div&gt;<br>
-&lt;div class=&quot;block&quot;&gt;<br>
-&lt;div class=&quot;title&quot;&gt;{news_title}&lt;/div&gt;<br>
-&lt;div class=&quot;content&quot;&gt;{news_content}&lt;/div&gt;<br>
-&lt;/div&gt;<br>
-&lt;/div&gt;<br>
-&lt;/div&gt;<br>
-&lt;!-- INCLUDE BLOCK : footer --&gt;</p>
-<p><a name="listings">listings.tpl</a></p>
-<p>This block is included in all pages where stories or series are listed such 
-as titles, categories, user's profile page, search results, etc.&nbsp; It is an 
-expansion of storyblock.tpl from 1.1.&nbsp; </p>
-<p>You must start the file with:</p>
-<p class="sample">&lt;!-- START BLOCK : listings --&gt;</p>
-<p>and end it with:</p>
-<p class="sample">&lt;!-- END BLOCK : listings --&gt;</p>
-<p> In addition, the following variable should be included just above the end 
-  line:</p>
-<p>{pagelinks} - If the results for the page require pagination, this variable 
-  will contain the list of page links.</p>
-<p>This block contains 2 inner blocks that control the appearance of the 
-individual series and stories.</p>
-<p>Both the seriesblock and storyblock should contain the following variables:</p>
-<p>{title} - Title of the story/series<br>
-  {author} - Author (Owner if it's an open series) of the story/series<br>
-  {score} - The story/series rating by members like/dislike or stars<br>
-  {reviews} - A link to the reviews for the story/series<br>
-  {numreviews} - the number of reviews linked to a listing of reviews for the 
-  story/series<br>
-  {summary} - The summary for the story/series<br>
-  {category} - The categories for the story/series<br>
-  {classifications} - The list of classifications for the story/series (genres, 
-  warnings, etc.)<br>
-  {characters} - The characters for the story/series<br>
-  {reportthis} - A link to report problems, errors, etc. with this story/series<br>
-  {addtofaves} - The option to add the story/series to favorites.<br>
-  {comment} - Will be used for favorite stories and also in certain reviews pages 
-  to display comments and reviews about the story/series</p>
-<p>Optional for both seriesblock and storyblock is the variable {oddeven}.&nbsp; 
-  This variable can be used to assign &quot;odd&quot; or &quot;even&quot; status 
-  to the block for CSS styling.</p>
-<p>The seriesblock will have the following additional variables:</p>
-<p> {adminoptions} - Options visible to the admin when viewing the page.&nbsp;<br>
-  {open} - Whether or not the series is open to contributions from others (like 
-  a round robin)<br>
-  {parentseries} - If the series is a sub-series of another, the parent series 
-  will be listed here.<br>
-  {numstories} - The number of stories within the series.<br>
-</p>
-<p>The storyblock will have the following additional variables:</p>
-<p>{adminlinks} - Options visible to the admin when viewing the page.<br>
-  {serieslinks} - If the story is part of a series this will contain a link to 
-  those series.<br>
-  {numchapters} - The number of chapters in the story.<br>
-  {completed} - Whether or not the story is complete.<br>
-  {wordcount} - The total number of words in the story (all chapters)<br>
-  {toc} - A link to the story's table of contents<br>
-  {count} - The count for the number of times the story has been viewed.<br>
-  {roundrobin} - If this story is a round robin an icon will be displayed showing 
-  this.<br>
-  {new} - If the site has set a &quot;recent&quot; date range new or updated stories 
-  falling within that range will be flagged a &quot;New!&quot; using this variable.<br>
-  {featuredstory} - If the story is listed as a featured story or a retired feature 
-  story an icon will be displayed showing this status.<br>
-  {published} - The date the story was published.<br>
-  {updated} - The date the story was last updated.</p>
-<p class="sampleLabel">Sample:</p>
-<p class="sample">&lt;!-- START BLOCK : listings --&gt;<br>
-  &lt;!-- START BLOCK : seriesblock --&gt;<br>
-  &lt;div class=&quot;listbox {oddeven}&quot;&gt;<br>
-  &lt;div class=&quot;title&quot;&gt;{title} by {author}{score} [{reviews} - {numreviews}]&lt;/div&gt;<br>
-  &lt;div class=&quot;content&quot;&gt;&lt;span class=&quot;label&quot;&gt;Summary: 
-  &lt;/span&gt;{summary}&lt;br /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Parent Series:&lt;/span&gt; {parentseries}&lt;br 
-  /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Categories:&lt;/span&gt; {category}&lt;br 
-  /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Characters: &lt;/span&gt;{characters}&lt;br 
-  /&gt;<br>
-  {classifications}<br>
-  &lt;span class=&quot;label&quot;&gt;Stories:&lt;/span&gt; {numstories}&lt;br 
-  /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Open:&lt;/span&gt; {open} {addtofaves} {reportthis}<br>
-  {adminoptions}&lt;/div&gt;<br>
-  &lt;/div&gt;<br>
-  {comment}<br>
-  &lt;!-- END BLOCK : seriesblock --&gt;<br>
-  &lt;!-- START BLOCK : storyblock --&gt;<br>
-  &lt;div class=&quot;listbox {oddeven}&quot;&gt;<br>
-  &lt;div class=&quot;title&quot;&gt;{title} by {author} &lt;span class=&quot;label&quot;&gt;Rated:&lt;/span&gt; 
-  {rating} {roundrobin} {score} [{reviews} - {numreviews}] {new} &lt;/div&gt;<br>
-  &lt;div class=&quot;content&quot;&gt;&lt;span class=&quot;label&quot;&gt;Summary: 
-  &lt;/span&gt;{featuredstory}{summary}&lt;br /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Categories:&lt;/span&gt; {category} &lt;br 
-  /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Characters: &lt;/span&gt; {characters}&lt;br 
-  /&gt;<br>
-  {classifications}<br>
-  &lt;span class=&quot;label&quot;&gt;Series:&lt;/span&gt; {serieslinks}&lt;br 
-  /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Chapters: &lt;/span&gt; {numchapters} {toc}&lt;br 
-  /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Completed:&lt;/span&gt; {completed} <br>
-  &lt;span class=&quot;label&quot;&gt;Word count:&lt;/span&gt; {wordcount} &lt;span 
-  class=&quot;label&quot;&gt;Read Count:&lt;/span&gt; {count}<br>
-  {adminlinks}&lt;/div&gt;<br>
-  &lt;div class=&quot;tail&quot;&gt;&lt;span class=&quot;label&quot;&gt;{addtofaves} 
-  {reportthis} Published: &lt;/span&gt;{published} &lt;span class=&quot;label&quot;&gt;Updated:&lt;/span&gt; 
-  {updated}&lt;/div&gt;<br>
-  &lt;/div&gt;<br>
-  {comment}<br>
-  &lt;!-- END BLOCK : storyblock --&gt;<br>
-  {pagelinks}<br>
-  &lt;!-- END BLOCK : listings --&gt;</p>
-<p><a name="newsbox">newsbox.tpl</a></p>
-<p>This block displays one news story, and will be called by the news block and 
-  is also used in the news archive page.</p>
-<p>You must start the file with:</p>
-<p class="sample">&lt;!-- START BLOCK : newsbox --&gt;</p>
-<p>and end it with:</p>
-<p class="sample">&lt;!-- END BLOCK : newsbox --&gt;</p>
-<p>At a minimum, the following variables should be included in the block.&nbsp; 
-</p>
-<p>{newstitle} - The title of the news story<br>
-  {newsstory} - The content of the news story<br>
-  {newsauthor} - The author of the news story<br>
-  {newsdate} - The date the news item was added to the site<br>
-  {newscomments} - The number of comments the story has received with a link to 
-  view the comments.</p>
-<p>Additionally, if you wish administrator options to appear when an admin views 
-  the story you should include:</p>
-<p>{adminoptions}</p>
-<p>Finally, if you want alternating stories to appear with different CSS options 
-  you can include:</p>
-<p>{oddeven} - Where this variable is placed the word &quot;even&quot; will appear 
-  in even numbered stories and the word &quot;odd&quot; will appear in odd numbered 
-  stories.</p>
-<p class="sampleLabel">Sample:</p>
-<p class="sample">&lt;!-- START BLOCK : newsbox --&gt;<br>
-  &lt;div class=&quot;newsbox_{oddeven}&quot;&gt;<br>
-  &lt;div class=&quot;newstitle&quot;&gt;{newstitle} {adminoptions}&lt;/div&gt;<br>
-  {newsstory}&lt;br /&gt;&lt;br /&gt;<br>
-  --{newsauthor} on {newsdate} {newscomments}<br>
-  &lt;/div&gt;<br>
-  &lt;!-- END BLOCK : newsbox --&gt;</p>
-<p><a name="printstory"></a>printstory.tpl</p>
-<p>This template is used when the print story function is used. Generally this 
-  is another block that you can probably leave to the default_tpls. The following 
-  variables should be included in this template:</p>
-<p>{title} - The title of the story<br>
-  {author} - The author(s) of the story<br>
-  {featuredstory} - The featured/retired icon will be displayed here if the story 
-  is featured.<br>
-  {summary} - The summary of the story<br>
-  {category} - The story's categories<br>
-  {characters} - The story's character list<br>
-  {classifications} - The other classification information for the story (genres, 
-  warnings, etc.)<br>
-  {challengelinks} - The challenges to which this story is a response<br>
-  {serieslinks} - The list of series to which this story belongs<br>
-  {numchapters} - The number of chapters in the story<br>
-  {completed} - Whether or not the story is complete<br>
-  {wordcount} - The word count for the story<br>
-  {count} - The read count for the story<br>
-  {published} - The date the story was published<br>
-  {updated} - The date the story was updated<br>
-  {copyright} - The print version of the site's copyright notice<br>
-  {archivedat} - A statement of where the story is archived at.</p>
-<p>In addition to these variables there are several blocks included in this template. 
-  The storynotes block will be displayed if the story contains notes. It contains 
-  one variable, {storynotes}. The next block should be the storyindexblock. For 
-  multi-chapter stories, this will be the table of contents. The storyindexblock 
-  will be one chapter's worth of information about the story. The following variables 
-  can be included in the storyindexblock:</p>
-<p>{title} - The chapter's title<br>
-  {author} - The author of the chapter<br>
-  {chapternumber} - The chapter number.</p>
-<p>The next block will be the chapter information for each chapter. This block 
-  contains blocks inside it for the chapter notes and endnotes. The following 
-  variables can be included in the chapterblock:</p>
-<p>{chaptertitle} - The title of the chapter<br>
-  {chapterauthor} - The author of the chapter<br>
-  {chaptertext} - The text of the chapter<br>
-  {back2top} - An anchor back to the top of the document.</p>
-<p>The notes block contains a single variable {notes} and the endnotes block contains 
-  a single variable {endnotes}. These blocks plus the storynotes block are placed 
-  in blocks so that html can be used around the blocks if the information is present 
-  and hidden when not.</p>
-<p class="sampleLabel">Sample:</p>
-<p class="sample">&lt;div id=&quot;pagetitle&quot;&gt;{title} by {author}&lt;/div&gt;<br>
-  &lt;div class=&quot;infobox&quot;&gt;<br>
-  &lt;div class=&quot;content&quot;&gt;{featuredstory}&lt;span class=&quot;label&quot;&gt;Summary: 
-  &lt;/span&gt;{summary}&lt;br /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Categories:&lt;/span&gt; {category} &lt;span 
-  class=&quot;label&quot;&gt;Characters: &lt;/span&gt; {characters}&lt;br /&gt;<br>
-  {classifications}<br>
-  &lt;span class=&quot;label&quot;&gt;Challenges:&lt;/span&gt; {challengelinks}&lt;br 
-  /&gt; &lt;span class=&quot;label&quot;&gt;Series:&lt;/span&gt; {serieslinks}&lt;br 
-  /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Chapters: &lt;/span&gt; {numchapters} &lt;span 
-  class=&quot;label&quot;&gt;Completed:&lt;/span&gt; {completed} <br>
-  &lt;span class=&quot;label&quot;&gt;Word count:&lt;/span&gt; {wordcount} &lt;span 
-  class=&quot;label&quot;&gt;Read:&lt;/span&gt; {count}<br>
-  &lt;span class=&quot;label&quot;&gt; Published: &lt;/span&gt;{published} &lt;span 
-  class=&quot;label&quot;&gt;Updated:&lt;/span&gt; {updated} &lt;/div&gt;<br>
-  &lt;/div&gt;<br>
-  &lt;!-- START BLOCK : storynotes --&gt;<br>
-  &lt;div class='notes'&gt;&lt;div class='title'&gt;&lt;span class='label'&gt;Story 
-  Notes:&lt;/span&gt;&lt;/div&gt;&lt;div class='noteinfo'&gt;{storynotes}&lt;/div&gt;&lt;/div&gt;<br>
-  &lt;!-- END BLOCK : storynotes --&gt;<br>
-  &lt;!-- START BLOCK : storyindexblock --&gt;<br>
-  &lt;p&gt;&lt;b&gt;{chapternumber}.&lt;/b&gt; {title} by {author}&lt;/p&gt;<br>
-  &lt;!-- END BLOCK : storyindexblock --&gt;<br>
-  &lt;!-- START BLOCK : chapterblock --&gt;<br>
-  &lt;div class='chaptertitle'&gt;{chaptertitle} by {chapterauthor}&lt;/div&gt;<br>
-  &lt;!-- START BLOCK : notes --&gt;<br>
-  &lt;div class='notes'&gt;&lt;div class='title'&gt;&lt;span class='label'&gt;Author's 
-  Notes:&lt;/div&gt;&lt;div class='noteinfo'&gt;{notes}&lt;/div&gt;&lt;/div&gt;<br>
-  &lt;!-- END BLOCK : notes --&gt;<br>
-  &lt;div class='chapter'&gt;{chaptertext}&lt;/div&gt;<br>
-  &lt;!-- START BLOCK : endnotes --&gt;<br>
-  &lt;div class='notes'&gt;&lt;div class='title'&gt;&lt;span class='label'&gt;End 
-  Notes:&lt;/div&gt;&lt;div class='noteinfo'&gt;{endnotes}&lt;/div&gt;&lt;/div&gt;<br>
-  &lt;!-- END BLOCK : endnotes --&gt;<br>
-  &lt;div class='toplink'&gt;{back2top}&lt;/div&gt;<br>
-  &lt;!-- END BLOCK : chapterblock --&gt;<br>
-  &lt;div id=&quot;copyright&quot;&gt;{copyright}&lt;/div&gt;<br>
-  &lt;div id=&quot;archivedat&quot;&gt;{archivedat}&lt;/div&gt;</p>
-<p><a name="profile"></a>profile.tpl</p>
-<p>This template is used in the author's profile page. It's been separated out 
-  of the user.tpl so that it can be re-used in other panels if needed.</p>
-<p>You must start the file with:</p>
-<p class="sample">&lt;!-- START BLOCK : profile --&gt;</p>
-<p>and end it with:</p>
-<p class="sample">&lt;!-- END BLOCK : profile --&gt;</p>
-<p>The following variables can be included in this file:</p>
-<p>{realname} - The member's real name<br>
-  {userpenname} - The member's penname<br>
-  {membersince} - The date the member joined the site<br>
-  {userlevel} - The member's user level Member or Admin (if the person viewing 
-  the page is an admin they will see the admin level)<br>
-  {image} - The member's image from their bio information<br>
-  {bio} - The autor's bio<br>
-  {authorfields} - The list of admin defined author fields. i.e. aol, icq, etc.<br>
-  {adminoptions} - A list of admin options about the member (visible only to admins)<br>
-  {reportthis} - A report this link for the members profile</p>
-<p>For each active authorfield, you will also have a variable for that information. 
-  For instance, if you've activated the AOL authorfield, the variable {aol} will 
-  also output the aol information for the member. </p>
-<p>Note: this is for a non-bridged site. If you've bridged your site, the variables 
-  available to your profile will depend on how your bridge is set up.</p>
-<p class="sampleLabel">Sample:</p>
-<p class="sample">&lt;!-- START BLOCK : profile --&gt;<br>
-  &lt;div id=&quot;profile&quot;&gt;<br>
-  &lt;div id=&quot;bio&quot;&gt;<br>
-  &lt;div id=&quot;biotitle&quot;&gt;&lt;span class=&quot;label&quot;&gt;Penname: 
-  &lt;/span&gt;{userpenname} &lt;span class=&quot;label&quot;&gt;Real name: &lt;/span&gt;{realname}&lt;/div&gt;<br>
-  &lt;div id=&quot;biocontent&quot;&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Member Since: &lt;/span&gt;{membersince}&lt;br 
-  /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Membership status:&lt;/span&gt; {userlevel}&lt;br 
-  /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Bio:&lt;/span&gt;&lt;br&gt;{image}{bio}&lt;br 
-  /&gt;<br>
-  {authorfields} <br>
-  &lt;/div&gt;<br>
-  &lt;/div&gt;<br>
-  {adminoptions} {reportthis}<br>
-  &lt;/div&gt;<br>
-  &lt;!-- END BLOCK : profile --&gt;</p>
-<p><a name="reviewblock"></a>reviewblock.tpl</p>
-<p>This block controls the display of an individual review. It's been separated 
-  from the reviews.tpl file so it can be re-used in other panels.</p>
-<p>You must start the file with:</p>
-<p class="sample">&lt;!-- START BLOCK : reviewsblock --&gt;</p>
-<p>and end it with:</p>
-<p class="sample">&lt;!-- END BLOCK : reviewsblock --&gt;</p>
-<p>The following variables can be included in this file:</p>
-<p>{reviewer} - The name of the reviewer<br>
-  {member} - The words Signed or Anonymous depending on whether the reviewer was 
-  a member<br>
-  {rating} - The thumbs up/down or star rating the reviewer gave<br>
-  {reportthis} - A link to report trouble with this review<br>
-  {reviewdate} - The date the review was given<br>
-  {chapter} - The title of the item being reviewed (chapter if it's a story and 
-  the chapter is named)<br>
-  {review} - The text of the review<br>
-  {adminoptions} - Admin options for the review</p>
-<p class="sampleLabel">Sample:</p>
-<p class="sample">&lt;!-- START BLOCK : reviewsblock --&gt;<br>
-  &lt;div class=&quot;listbox&quot;&gt;<br>
-  &lt;div class=&quot;content{oddeven}&quot;&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Reviewer: &lt;/span&gt;{reviewer} &lt;span 
-  class=&quot;label&quot;&gt;{member}&lt;/span&gt; {rating} {reportthis}&lt;br 
-  /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Date: &lt;/span&gt;{reviewdate}<br>
-  &lt;span class=&quot;label&quot;&gt;Title: &lt;/span&gt;{chapter}<br>
-  &lt;p&gt;{review}&lt;/p&gt;<br>
-  {adminoptions}<br>
-  &lt;/div&gt;<br>
-  &lt;/div&gt;<br>
-  &lt;!-- END BLOCK : reviewsblock --&gt;</p>
-<p><a name="reviews">reviews.tpl</a></p>
-<p>This block controls the display of the reviews page.&nbsp; This .tpl includes 
-an inner block that formats the individual reviews on the page.&nbsp; The 
-following variables are included in the reviews.tpl</p>
-<p>{pagetitle} - The title of the page<br>
-  {output} - Used for error and confirmation messages.&nbsp; Should probably be 
-  included just below {pagetitle}<br>
-  {jumpmenu} - Displays the jump menu for reviews pages that require it.<br>
-  {reviewpagelinks} - Used for pagination.&nbsp; Should be included AFTER the 
-  reviewsblock<br>
-  {reviewslink} - Link inviting visitor to submit a review (Optional can use {reviewsform} 
-  instead) <br>
-  {reviewsform} - The review form. (Optional can use {reviewslink} instead)</p>
-<p>You will need to start by including the header block.</p>
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;</p>
-<p>And end by including the footer block.</p>
-<p class="sample"> &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
-<p class="sampleLabel">Sample:</p>
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;<br>
-  {pagetitle}<br>
-  &lt;div class=&quot;respond&quot;&gt;{reviewslink}&lt;/div&gt;<br>
-  &lt;div class=&quot;jumpmenu&quot;&gt;{jumpmenu}&lt;/div&gt;<br>
-  {output}<br>
-  &lt;!-- INCLUDE BLOCK : reviewsblock --&gt;<br>
-  {reviewpagelinks}<br>
-  {reviewform}<br>
-  &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
-<p><a name="seriestitle"></a>series_title.tpl</p>
-<p>This template displays the title block information on a series page. </p>
-<p>You must start the file with:</p>
-<p class="sample">&lt;!-- START BLOCK: series --&gt;</p>
-<p>and end it with:</p>
-<p class="sample">&lt;!-- END BLOCK : series --&gt;</p>
-<p>The following variables can be included in this file:</p>
-<p>{pagetitle} - This will be the series title and author links<br>
-  {rating} - The thumbs up/down or star rating for the series<br>
-  {summary} - The series' summary<br>
-  {category} - The category information for the series<br>
-  {characters} - The characters for the series<br>
-  {classifications} - The other classification information for the series (genres, 
-  warnings, etc.)<br>
-  {parentseries} - If this series has a parent, this will be a link to the parent 
-  series<br>
-  {numstories} - The number of stories in the series<br>
-  {open} - The open status of the series <br>
-  {adminoptions} - The admin options for the series<br>
-  {addtofaves} - The link to add the series to favorites<br>
-  {jump} - The dropdown list of options for the series.</p>
-<p class="sampleLabel">Sample:</p>
-<p class="sample">&lt;!-- START BLOCK : series --&gt;<br>
-  &lt;div id=&quot;pagetitle&quot;&gt;{pagetitle} {rating}&lt;/div&gt;<br>
-  &lt;div id=&quot;titleinfo&quot;&gt; [{reviews} - {numreviews}]&lt;/div&gt;<br>
-  &lt;div id=&quot;titleblock&quot;&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Summary:&lt;/span&gt; {summary}&lt;br /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Categories:&lt;/span&gt; {category}&lt;br 
-  /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Characters:&lt;/span&gt; {characters}&lt;br 
-  /&gt;<br>
-  {classifications}<br>
-  &lt;span class=&quot;label&quot;&gt;Parent Series:&lt;/span&gt; {parentseries}&lt;br 
-  /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Stories:&lt;/span&gt; {numstories}&lt;br 
-  /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Open Series:&lt;/span&gt; {open}&lt;br /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;{adminoptions}{addtofaves}&lt;br /&gt;<br>
-  &lt;/div&gt;<br>
-  &lt;div class=&quot;jumpmenu&quot;&gt;{jump}&lt;/div&gt;<br>
-  &lt;!-- END BLOCK : series --&gt;</p>
-<p><a name="storyindex"></a>storyindex.tpl</p>
-<p>This template controls the story index (table of contents) for an individual 
-  story. </p>
-<p>You will need to start by including the header block.</p>
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;</p>
-<p>And end by including the footer block.</p>
-<p class="sample"> &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
-<p>The following variables may be included in this template:</p>
-<p>{title} - The title of the story<br>
-  {author} - The author(s) of the story<br>
-  {reviews} - A link to the reviews for the story with the word &quot;Reviews&quot; 
-  as text<br>
-  {numreviews} - A link to the reviews for the story with the number of reviews 
-  as the text<br>
-  {score} - The thumbs up/down or star rating for a story<br>
-  {jumpmenu} - The dropdown menu of chapters in the story<br>
-  {featuredstory} - The featured/retired icon<br>
-  {summary} - The summary of the story<br>
-  {rating} - The story's content rating<br>
-  {category} - The story's categories<br>
-  {characters} - The list of characters for the story<br>
-  {classifications} - The other classifications for the story (genres, warnings, 
-  etc.)<br>
-  {serieslinks} - The list of series to which the story belongs<br>
-  {numchapters} - The number of chapters in the story<br>
-  {completed} - Yes or No depending on the status of the story<br>
-  {wordcount} - The total word count for the story<br>
-  {count} - The read count for the story<br>
-  {published} - The date the story was published<br>
-  {updated} - The date the story was last updated<br>
-  {adminlinks} - The admin options for the story<br>
-  {addtofaves} - The option to add this story to favorites<br>
-  {roundrobin} - The option to contribute to the round robin<br>
-  {jumpmenu2} - The drop down menu of options concerning the story<br>
-  {reviewform} - A form to submit a review of the story<br>
-  {reviewslink} - A link to review the story</p>
-<p>In addition there are two included blocks. The first is storynotes which includes 
-  one variable {storynotes} for the story notes. The second is the storyindexblock. 
-  The following information can be included in the storyindexblock for each chapter 
-  of the story:</p>
-<p>{chapternumber} - The chapter number<br>
-  {title} - The title of the chapter<br>
-  {author} - The author of the chapter<br>
-  {reviews} - The reviews link for reviews for that chapter<br>
-  {numreviews} - The number of reviews that chapter has received<br>
-  {ratingpics} - The thumbs up/down or star rating for that chapter<br>
-  {wordcount} - The word count for that chapter<br>
-  {chapternotes} - The chapter notes for that chapter (end notes are not displayed)<br>
-  {adminoptions} - Admin options for that chapter</p>
-<p class="sampleLabel">Sample:</p>
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;<br>
-  &lt;div id=&quot;pagetitle&quot;&gt;{title} by {author}&lt;/div&gt;<br>
-  &lt;div id=&quot;sort&quot;&gt; [{reviews} - {numreviews}] {score}{printicon}&lt;/div&gt;<br>
-  &lt;div id=&quot;output&quot;&gt;<br>
-  &lt;div class=&quot;jumpmenu&quot;&gt;{jumpmenu}&lt;/div&gt;<br>
-  &lt;div class=&quot;listbox&quot;&gt;<br>
-  &lt;div class=&quot;content&quot;&gt;{featuredstory}&lt;span class=&quot;label&quot;&gt;Summary: 
-  &lt;/span&gt;{summary}&lt;br /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Rated:&lt;/span&gt; {rating}&lt;br /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Categories:&lt;/span&gt; {category} &lt;span 
-  class=&quot;label&quot;&gt;Characters: &lt;/span&gt; {characters}&lt;br /&gt;<br>
-  {classifications}<br>
-  &lt;span class=&quot;label&quot;&gt;Challenges:&lt;/span&gt; {challengelinks}&lt;br 
-  /&gt; &lt;span class=&quot;label&quot;&gt;Series:&lt;/span&gt; {serieslinks}&lt;br 
-  /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt;Chapters: &lt;/span&gt; {numchapters} &lt;span 
-  class=&quot;label&quot;&gt;Completed:&lt;/span&gt; {completed} &lt;br /&gt; 
-  <br>
-  &lt;span class=&quot;label&quot;&gt;Word count:&lt;/span&gt; {wordcount} &lt;span 
-  class=&quot;label&quot;&gt;Read:&lt;/span&gt; {count}&lt;br /&gt;<br>
-  &lt;span class=&quot;label&quot;&gt; Published: &lt;/span&gt;{published} &lt;span 
-  class=&quot;label&quot;&gt;Updated:&lt;/span&gt; {updated} &lt;/div&gt;<br>
-  {adminlinks}<br>
-  &lt;/div&gt;<br>
-  &lt;div style='text-align: center;'&gt;{addtofaves}&lt;/div&gt;<br>
-  &lt;!-- START BLOCK : storynotes --&gt;<br>
-  &lt;div class='notes'&gt;&lt;div class='title'&gt;&lt;span class='label'&gt;Story 
-  Notes:&lt;/span&gt;&lt;/div&gt;&lt;div class='noteinfo'&gt;{storynotes}&lt;/div&gt;&lt;/div&gt;<br>
-  &lt;!-- END BLOCK : storynotes --&gt;<br>
-  &lt;!-- START BLOCK : storyindexblock --&gt;<br>
-  &lt;p&gt;&lt;b&gt;{chapternumber}. {title} &lt;/b&gt;by {author} [{reviews} 
-  - {numreviews}] {ratingpics} ({wordcount} words)&lt;br /&gt;<br>
-  {chapternotes}{adminoptions}&lt;/p&gt;<br>
-  &lt;!-- END BLOCK : storyindexblock --&gt;<br>
-  &lt;div id=&quot;pagelinks&quot;&gt;&lt;div class=&quot;jumpmenu&quot;&gt;{jumpmenu2}&lt;/div&gt;&lt;/div&gt;<br>
-  &lt;div class=&quot;respond&quot;&gt;{roundrobin}&lt;/div&gt;<br>
-  {reviewform}<br>
-  &lt;/div&gt;<br>
-  &lt;!-- INCLUDE BLOCK : footer --&gt; </p>
-<p><a name="user">user.tpl</a></p>
-<p>This page displays the user profile page.&nbsp; </p>
-<p>You will need to start by including the header block.</p>
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;</p>
-<p>And end by including the footer block.</p>
-<p class="sample"> &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
-<p>In addition you will want to include the profile block as well.</p>
-<p class="sample">&lt;!-- INCLUDE BLOCK : profile --&gt;</p>
-<p>The user.tpl file includes one other block used to form the &quot;tabs&quot; 
-  for the profile panels. You can build these tabs any way you wish. The sample 
-  below places them inside a div with each individual tab as a span. Another idea 
-  is to use an unordered list. Within this block you can use the following variables:</p>
-<p>{class} - The class for that &quot;tab&quot; used to differentiate the current/active 
-  tab from the inactive tabs.<br>
-  {link} - The link to the tab<br>
-  {count} - The count of items in the tab (may be empty)<br>
-  {linkcount} - The link to the tab with the count of items in the tab included 
-  in the link</p>
-<p>In addition to these blocks, the following variables can be included:</p>
-<p>{adminoptions} - Options regarding this member's account<br>
-  {sort} - Gives the sort for when displaying the user's stories.<br>
-  {output} - Used for various messages and errors in panels.</p>
-<p class="sampleLabel">Sample: </p>
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;<br>
-  &lt;div id=&quot;profile&quot;&gt;<br>
-  &lt;!-- INCLUDE BLOCK : profile --&gt;<br>
-  {adminoptions}<br>
-  &lt;div id=&quot;sort&quot;&gt;{sort}&lt;/div&gt;<br>
-  &lt;/div&gt;<br>
-  &lt;div id=&quot;tabs&quot;&gt;<br>
-  &lt;!-- START BLOCK : paneltabs --&gt;<br>
-  &lt;span {class}&gt;{link} {count}&lt;/span&gt;<br>
-  &lt;!-- END BLOCK : paneltabs --&gt;<br>
-  &lt;div class='cleaner' style='clear: both;'&gt;&amp;nbsp;&lt;/div&gt;<br>
-  &lt;/div&gt;<br>
-  {output}<br>
-  &lt;!-- INCLUDE BLOCK : listings --&gt;<br>
-  &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
-<p><a name="viewstory">viewstory.tpl</a></p>
-<p>This page displays the story/chapter text.&nbsp; </p>
-<p>You will need to start by including the header block.</p>
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;</p>
-<p>And end by including the footer block.</p>
-<p class="sample"> &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
-<p>Three included blocks are used to display the story notes, chapter notes, and 
-  chapter end notes.</p>
-<p>In addition, the following variables may be included:</p>
-<p>{title} - The title of the story<br>
-  {author} - The author(s) of the story<br>
-  {reviews} - A link to the reviews for the story with the word &quot;Reviews&quot; 
-  as text<br>
-  {numreviews} - A link to the reviews for the story with the number of reviews 
-  as the text<br>
-  {score} - The thumbs up/down or star rating for a story<br>
-  {jumpmenu} - The dropdown menu of chapters in the story<br>
-  {featuredstory} - The featured/retired icon<br>
-  {summary} - The summary of the story<br>
-  {rating} - The story's content rating<br>
-  {category} - The story's categories<br>
-  {characters} - The list of characters for the story<br>
-  {classifications} - The other classifications for the story (genres, warnings, 
-  etc.)<br>
-  {serieslinks} - The list of series to which the story belongs<br>
-  {numchapters} - The number of chapters in the story<br>
-  {completed} - Yes or No depending on the status of the story<br>
-  {wordcount} - The total word count for the story<br>
-  {count} - The read count for the story<br>
-  {published} - The date the story was published<br>
-  {updated} - The date the story was last updated<br>
-  {adminlinks} - The admin options for the story<br>
-  {addtofaves} - The option to add this story to favorites<br>
-  {roundrobin} - The option to contribute to the round robin<br>
-  {jumpmenu2} - The drop down menu of options concerning the story<br>
-  {reviewform} - A form to submit a review of the story<br>
-  {reviewslink} - A link to review the story</p>
-<p></p>
-<p class="sampleLabel">Sample: </p>
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;<br>
-  &lt;div id=&quot;pagetitle&quot;&gt;{title} by {author}&lt;/div&gt;<br>
-  &lt;div class=&quot;storyinfo&quot;&gt; [{reviews} - {numreviews}]&lt;br /&gt;<br>
-  {toc} {reportthis}&lt;br /&gt;<br>
-  {printicon} &lt;br /&gt;<br>
-  {adminlinks} &lt;/div&gt;<br>
-  &lt;div class=&quot;jumpmenu&quot;&gt;{textsizer}{jumpmenu}&lt;/div&gt;<br>
-  &lt;!-- START BLOCK : storynotes --&gt;<br>
-  &lt;div class='notes'&gt;<br>
-  &lt;div class='title'&gt;&lt;span class='label'&gt;Story Notes:&lt;/span&gt;&lt;/div&gt;<br>
-  &lt;div class='noteinfo'&gt;{storynotes}&lt;/div&gt;<br>
-  &lt;/div&gt;<br>
-  &lt;!-- END BLOCK : storynotes --&gt;<br>
-  &lt;!-- START BLOCK : notes --&gt;<br>
-  &lt;div class='notes'&gt;&lt;div class='title'&gt;&lt;span class='label'&gt;Author's 
-  Chapter Notes:&lt;/span&gt;&lt;/div&gt;&lt;div class='noteinfo'&gt;{notes}&lt;/div&gt;&lt;/div&gt;<br>
-  &lt;!-- END BLOCK : notes --&gt;<br>
-  &lt;div id=&quot;story&quot;&gt;{story}&lt;/div&gt;<br>
-  &lt;!-- START BLOCK : endnotes --&gt;<br>
-  &lt;div class='notes'&gt;&lt;div class='title'&gt;&lt;span class='label'&gt;Chapter 
-  End Notes:&lt;/span&gt;&lt;/div&gt;&lt;div class='noteinfo'&gt;{endnotes}&lt;/div&gt;&lt;/div&gt;<br>
-  &lt;!-- END BLOCK : endnotes --&gt;<br>
-  &lt;div id=&quot;prev&quot;&gt;{prev}&lt;/div&gt;&lt;div id=&quot;next&quot;&gt;{next}&lt;/div&gt;<br>
-  {storyend}{last_read}<br>
-  &lt;div class=&quot;jumpmenu2&quot;&gt;{jumpmenu2}&lt;/div&gt;<br>
-  &lt;div class=&quot;respond&quot;&gt;{addtofaves} {roundrobin}&lt;/div&gt;<br>
-  {reviewform}<br>
-  &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
-<p><br>
-  &nbsp;</p>
-<p>&nbsp;</p>
-
-<p>&nbsp;</p>
-</body>
-
-</html>

file:a/docs/default_panels.htm (deleted)
--- a/docs/default_panels.htm
+++ /dev/null
@@ -1,142 +1,1 @@
-<html>
 
-<head>
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
-<title>Admin Panels</title>
-</head>
-
-<body>
-<p>Admin Panels:<br>
-  <br>
-  The admin panels control the different admin options for the site.&nbsp; In 
-  2.0 the list was static.&nbsp; Putting the admin options into panels allows 
-  site owners the option of changing the access level for the various features. 
-  It also allows new options to be added without editing everything.&nbsp; The 
-  0-4 levels in the panel are most applicable here.&nbsp; The levels 1 to 4 indicate 
-  the admin level required to access a certain feature.<br>
-  <br>
-  Message Settings <a href="#1">(1)</a><br>
-  Rejection Letter <a href="#1">(1)</a><a href="#2">(2)</a><br>
-  Validation Letter <a href="#1">(1)</a><a href="#2">(2)</a><br>
-  Validate Submission <a href="#1">(1)</a><a href="#2">(2)</a><br>
-  Censor <a href="#1">(1)</a><br>
-  Categories<br>
-  Panels<br>
-  Characters<br>
-  Settings<br>
-  Blocks<br>
-  Ratings<br>
-  Add New Story<br>
-  Add New Series<br>
-  Custom Pages<br>
-  Classifications<br>
-  News<br>
-  Members<br>
-  Featured Stories<br>
-  Submissions<br>
-  Page Links<br>
-  Admins<br>
-  Mail Users<br>
-  Skins<br>
-  PHP Info<br>
-  Action Log<br>
-  Profile Information<br>
-  <br>
-  Browse Panels:<br>
-  <br>
-  Browse panels control the &quot;Browse By&quot; area of the site.&nbsp; <br>
-  <br>
-  Most Recent <a href="#1">(1)</a><br>
-  Featured Stories <a href="#1">(1)</a><br>
-  Classes <a href="#1">(1)</a><a href="#2">(2)</a><br>
-  Categories<br>
-  Characters<br>
-  Ratings<br>
-  Series<br>
-  Titles<br>
-  <br>
-  Favorite Panels:<br>
-  <br>
-  The favorites panels are included both in the member &quot;Account Info&quot; 
-  page and the list of panels in the profile.&nbsp; In the &quot;Account Info&quot; 
-  area the panel must be set to level 1 to be visible in the list of options.&nbsp;Otherwise, 
-  they're used as part of the &quot;Manage Favorites&quot; panel.<br>
-  <br>
-  Favorite Stories <a href="#1">(1)</a><br>
-  Favorite Series <a href="#1">(1)</a><br>
-  Favorite Authors <a href="#1">(1)</a><br>
-  {author}'s Favorites<br>
-  <br>
-  Top 10 List Panels:<br>
-  <br>
-  The Top 10 panel. They're all turned on my default.&nbsp; If you turn favorites 
-  off, it is suggested that you hide, not delete, the favorites panels. (You could 
-  change your mind later.)<br>
-  <br>
-  10 Largest Series<br>
-  10 Smallest Series<br>
-  10 Most Reviewed Series<br>
-  10 Longest Stories<br>
-  10 Shortest Stories<br>
-  10 Most Reviewed Stories<br>
-  10 Most Read Stories<br>
-  10 Most Responded to Challenges<br>
-  10 Most Favorite Stories<br>
-  10 Most Prolific Reviewers<br>
-  10 Most Prolific Authors<br>
-  10 Most Reviewed Recommendations<br>
-  <br>
-  Profile Panels:<br>
-  <br>
-  These are the panels that will be displayed on the user's profile page along 
-  with the non-hidden favorites panels.&nbsp; <br>
-  <br>
-  Contact <a href="#1">(1)</a><a href="#2">(2)</a><br>
-  Stories by {author}<br>
-  Series by {author}<br>
-  Reviews by {author}<br>
-  <br>
-  Submissions Panels:<br>
-  <br>
-  The submission panels will only be displayed in the user panel if submissions 
-  are turned on. They were placed in a type separate from the user panels so they 
-  would be turned on and off<br>
-  together based on the submission site settings.<br>
-  <br>
-  Add New Story<br>
-  Manage Stories<br>
-  Add New Series<br>
-  Manage Series<br>
-  Manage Images<br>
-  <br>
-  User Account Panels:<br>
-  <br>
-  As an extra level of security here.&nbsp; The &quot;level&quot; of the panel 
-  should be set to either 0 or 1.&nbsp; Panels with level 0 will be displayed 
-  to anyone.&nbsp; Panels with level 1 will be displayed only to logged in<br>
-  members.&nbsp; The login, register, and lost password panels are currently the 
-  only panels set to level 0 for the user account area.<br>
-  <br>
-  Login <a href="#1">(1)</a><br>
-  Your Reviews <a href="#1">(1)</a><br>
-  Reviews Received <a href="#1">(1)</a><br>
-  Review Response <a href="#1">(1)</a><a href="#2">(2)</a><br>
-  Lost Password<br>
-  Register<br>
-  Edit Bio<br>
-  Edit Preferences<br>
-  View Your Statistics<br>
-  Manage Favorites<br>
-  Logout<br>
-  <br>
-  (1)<a name="1"></a>&nbsp; Hidden by default.<br>
-  (2)<a name="2"></a>&nbsp; System panels.&nbsp; You should not need to alter 
-  these settings and may cause errors if you do.</p>
-
-</body>
-
-</html>
-

--- a/docs/pagelinks.sql
+++ b/docs/pagelinks.sql
@@ -1,8 +1,8 @@
 INSERT INTO `e107_fanfiction_pagelinks` (`link_id`, `link_name`, `link_text`, `link_url`, `link_target`, `link_access`) VALUES (1, 'home', 'Home', 'index.php', '0', 0),
 (2, 'recent', 'Most Recent', 'browse.php?type=recent', '0', 0),
-(3, 'login', 'Login', 'user.php?action=login', '0', 0),
+(3, 'login', 'Login', 'member.php?action=login', '0', 0),
 (4, 'adminarea', 'Admin', 'admin.php', '0', 2),
-(5, 'logout', 'Logout', 'user.php?action=logout', '0', 1),
+(5, 'logout', 'Logout', 'member.php?action=logout', '0', 1),
 (6, 'featured', 'Featured Stories', 'browse.php?type=featured', '0', 0),
 (7, 'catslink', 'Categories', 'browse.php?type=categories', '0', 0),
 (8, 'members', 'Members', 'authors.php?action=list', '0', 0),
@@ -16,11 +16,11 @@
 (16, 'rules', 'Rules', 'viewpage.php?page=rules', '0', 0),
 (17, 'tos', 'Terms of Service', 'viewpage.php?page=tos', '0', 0),
 (18, 'rss', '<img src=''images/xml.gif'' alt=''RSS'' border=''0''>', 'rss.php', '0', 0),
-(19, 'login', 'Account Info', 'user.php', '0', 1),
+(19, 'login', 'Account Info', 'member.php', '0', 1),
 (20, 'titles', 'Titles', 'browse.php?type=titles', '0', 0),
-(21, 'register', 'Register', 'user.php?action=register', '0', 0),
-(22, 'lostpassword', 'Lost Password', 'user.php?action=lostpassword', '0', 0),
-(23, 'newsarchive', 'News Archive', 'news.php', '0', 0),
+(21, 'register', 'Register', 'member.php?action=register', '0', 0),
+(22, 'lostpassword', 'Lost Password', 'member.php?action=lostpassword', '0', 0),
+(23, 'newsarchive', 'News Archive', 'ffnews.php', '0', 0),
 (24, 'browse', 'Browse', 'browse.php', '0', 0),
 (25, 'charslink', 'Characters', 'browse.php?type=characters', '0', 0),
 (26, 'ratings', 'Ratings', 'browse.php?type=ratings', '0', 0);

file:b/ffnews.php (new)
--- /dev/null
+++ b/ffnews.php
@@ -1,1 +1,152 @@
+<?php
+// ----------------------------------------------------------------------
+// Copyright (c) 2007 by Tammy Keefer
+// Based on eFiction 1.1
+// Copyright (C) 2003 by Rebecca Smallwood.
+// http://efiction.sourceforge.net/
+// ----------------------------------------------------------------------
+// LICENSE
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License (GPL)
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// To read the license please visit http://www.gnu.org/copyleft/gpl.html
+// ----------------------------------------------------------------------
 
+$current = "news";
+
+include ("header.php");
+
+if(file_exists("$skindir/default.tpl")) $tpl = new TemplatePower( "$skindir/default.tpl" );
+else $tpl = new TemplatePower("default_tpls/default.tpl");
+
+include("includes/pagesetup.php");
+
+
+if(isset($_REQUEST['nid'])) $nid = $_REQUEST['nid'];
+if(!isset($nid) || !isNumber($nid)) $nid = false;
+$cid = isset($_REQUEST['cid']) && isNumber($_REQUEST['cid']) ? $_REQUEST['cid'] : false;
+
+if($nid) {
+
+	$output .= "<div id=\"pagetitle\">"._NEWS."</div>";
+	if(isset($_POST['submit']))
+	{
+		$comment = escapestring(format_story(replace_naughty(strip_tags($_POST['comment'], $allowed_tags))));
+		if(!$cid && USERUID) {
+			$insert = dbquery("INSERT INTO ".TABLEPREFIX."fanfiction_comments (nid, uid, comment, time) VALUES ('$nid', '".(USERUID ? USERUID : 0)."', '$comment', now())");
+			if($insert) dbquery("UPDATE ".TABLEPREFIX."fanfiction_news SET comments = comments + 1 WHERE nid = '$nid' LIMIT 1");
+		}
+		else if($cid) {
+			dbquery("UPDATE ".TABLEPREFIX."fanfiction_comments SET comment = '$comment' WHERE cid = '$cid'");
+		}
+		unset($comment);
+	}
+	if(isset($_GET['del']) && isADMIN && uLEVEL < 4 && !empty($cid)) {
+		$insert = dbquery("DELETE FROM ".TABLEPREFIX."fanfiction_comments WHERE cid = '$cid'");
+		if($insert) dbquery("UPDATE ".TABLEPREFIX."fanfiction_news SET comments = comments - 1 WHERE nid = '$nid' LIMIT 1");
+	}
+	$newsquery = dbquery("SELECT n.*, UNIX_TIMESTAMP(n.time) as date FROM ".TABLEPREFIX."fanfiction_news as n WHERE n.nid = '$nid' LIMIT 1");
+	$stories = dbassoc($newsquery);
+	if(file_exists("./$skindir/newsbox.tpl"))
+		$news = new TemplatePower( "./$skindir/newsbox.tpl" );
+	else $news = new TemplatePower( "./default_tpls/newsbox.tpl" );
+	$news->prepare( );	
+	//create a new number_row block
+	$news->newBlock("newsbox");
+
+	//assign values
+	$news->assign("newstitle"   , stripslashes($stories['title']) );
+	$news->assign("newsstory"   , format_story($stories['story']) );
+	$news->assign("newsauthor", stripslashes($stories['author']) );
+	$news->assign("newsid", $stories['nid']);
+	$news->assign("oddeven", "odd");
+	$news->assign("skindir", $skindir);
+	$news->assign("newsdate", date("$dateformat $timeformat", $stories['date']) );
+	if($newscomments)
+		$news->assign("newscomments", "<a href=\"ffnews.php?action=newsstory&amp;nid=".$stories['nid']."\">".$stories['comments']." "._COMMENTS."</a>");
+	if(isADMIN && uLEVEL < 4) 
+		$news->assign("adminoptions", "<a href=\"admin.php?action=news&amp;form=".$stories['nid']."\">"._EDIT."</a> | <a href=\"admin.php?action=news&amp;delete=".$stories['nid']."\">"._DELETE."</a>");
+	$output .= $news->getOutputContent( );
+
+	$cquery = dbquery("SELECT COUNT(cid) FROM ".TABLEPREFIX."fanfiction_comments WHERE nid = '$nid'");
+	list($ccount) = dbrow($cquery);
+	if($ccount) {
+		$query2 = dbquery("SELECT c.*, "._PENNAMEFIELD." as penname, UNIX_TIMESTAMP(c.time) as date FROM ".TABLEPREFIX."fanfiction_comments as c LEFT JOIN "._AUTHORTABLE." ON c.uid = "._UIDFIELD." WHERE c.nid = '$nid' ORDER BY time LIMIT $offset, $itemsperpage");
+		$output .= "<div class=\"sectionheader\">"._COMMENTS."</div>";
+		if(file_exists("$skindir/comments.tpl")) $c = new TemplatePower( "$skindir/comments.tpl" );
+		else $c = new TemplatePower( "default_tpls/comments.tpl" );
+		$c->prepare( );
+		$count = 0;
+		while($comments = dbassoc($query2)) {
+			$c->newBlock("commentbox");
+			$c->assign("comment", format_story($comments['comment']));
+			$c->assign("uname", $comments['penname']);
+			$c->assign("date", date("$dateformat $timeformat", $comments['date']));
+			if(isADMIN && uLEVEL < 4)
+				$c->assign("adminoptions", "<div class='adminoptions'><span class='label'>"._ADMINOPTIONS.":</span> [<a href=\"ffnews.php?action=newsstory&amp;edit=".$comments['cid']."&amp;nid=$nid\">"._EDIT."</a>] [<a href=\"ffnews.php?action=newsstory&amp;cid=".$comments['cid']."&amp;del=1&amp;nid=$nid\">"._DELETE."</a>]</div>");
+			$c->assign("oddeven", ($count % 2 ? "odd" : "even"));
+			$count++;
+		}
+		$output .= $c->getOutputContent( );
+		if($ccount > $itemsperpage) $output .= build_pagelinks("ffnews.php?nid=$nid&amp;", $ccount, $offset);
+	}
+	if(isMEMBER) {
+		$output .= "<form method=\"POST\" enctype=\"multipart/form-data\" action=\"ffnews.php?action=newsstory&amp;nid=$nid\">";
+		if(isset($_GET['edit']) && isNumber($_GET['edit'])) {
+			
+			$select = dbquery("SELECT * FROM ".TABLEPREFIX."fanfiction_comments WHERE cid = '".$_GET['edit']."' LIMIT 1");
+			list($cid, $nid, $uname, $comment, $time) = dbrow($select);
+			$output .= "<input type=\"hidden\" name=\"cid\" value=\"$cid\">";
+		}
+		else $comment = "";
+		$output .= "<table align=\"center\"><tr><td><strong>"._PENNAME.":</strong></td><td>".USERPENNAME."<INPUT type=\"hidden\" name=\"uname\" value=\"".USERPENNAME."\"></td></tr>
+		<tr><td><b>"._COMMENTS.":</b></td><td><TEXTAREA name=\"comment\" cols=\"35\" rows=\"6\">$comment</TEXTAREA></td></tr>
+		<tr><td><INPUT type=\"hidden\" name=\"nid\" value=\"$nid\"><INPUT name=\"submit\" id=\"submit\" type=\"submit\" value=\""._SUBMIT."\"></td></tr></table></form>";
+	}
+	$tpl->assign("output", $output);
+}
+else {
+	$output .= "<div id=\"pagetitle\">"._NEWS."</div>";
+	if(file_exists("./$skindir/newsbox.tpl"))
+		$news = new TemplatePower( "./$skindir/newsbox.tpl" );
+	else $news = new TemplatePower( "./default_tpls/newsbox.tpl" );
+	$news->prepare( );
+	$cquery = dbquery("SELECT count(nid) FROM ".TABLEPREFIX."fanfiction_news");
+	list($count) = dbrow($cquery);
+	$newsquery = dbquery("SELECT n.*, UNIX_TIMESTAMP(n.time) as date FROM ".TABLEPREFIX."fanfiction_news as n ORDER BY n.time DESC LIMIT $offset, $itemsperpage");
+	$counter = 0;
+	while($stories = dbassoc($newsquery)) {
+
+		//create a new number_row block
+		$news->newBlock("newsbox");
+		
+		//assign values
+		$news->assign("newstitle"   , $stories['title']);
+		$news->assign("newsstory"   , nl2br($stories['story']) );
+		$news->assign("newsauthor", $stories['author']);
+		$news->assign("newsdate", date("$dateformat $timeformat", $stories['date']) );
+		$news->assign("newsid", $stories['nid']);
+		$news->assign("skindir", $skindir);
+		if($newscomments)
+			$news->assign("newscomments", "<a href=\"ffnews.php?action=newsstory&amp;nid=".$stories['nid']."\">".$stories['comments']." "._COMMENTS."</a>");
+		if(isADMIN && uLEVEL < 4) 
+			$news->assign("adminoptions", "<a href=\"admin.php?action=news&amp;form=".$stories['nid']."\">"._EDIT."</a> | <a href=\"admin.php?action=news&amp;delete=".$stories['nid']."\">"._DELETE."</a>");
+		$news->assign("oddeven", ($counter % 2 ? "even" : "odd"));
+		$counter++;
+	}
+	$output .= $news->getOutputContent( );
+	if ($count > $itemsperpage) $output .= build_pagelinks("ffnews.php?", $count, $offset);
+	$tpl->assign("output", $output);
+}
+
+$tpl->printToScreen();
+dbclose( );
+?>