Browse code

Moved docs to gitbook, added news back

Jimmi08 authored on 2021/08/26 05:24:22
Showing 11 changed files
... ...
@@ -85,7 +85,7 @@ if(uLEVEL > 3) accessDenied();
85 85
 				$news->assign("newsdate", date("$dateformat $timeformat", $stories['date']) );
86 86
 				$news->assign("oddeven", ($count % 2 ? "even" : "odd"));
87 87
 				if($newscomments == "1")
88
-					$news->assign("newscomments", "<a href=\"news.php?action=newsstory&amp;nid=".$stories['nid']."\">".$stories['comments']." "._COMMENTS."</a>");
88
+					$news->assign("newscomments", "<a href=\"ffnews.php?action=newsstory&amp;nid=".$stories['nid']."\">".$stories['comments']." "._COMMENTS."</a>");
89 89
 				if(isADMIN) 
90 90
 					$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>");
91 91
 				$count++;
... ...
@@ -26,6 +26,6 @@
26 26
 if(!defined("_CHARSET")) exit( );
27 27
 
28 28
 
29
-dbquery("INSERT INTO ".TABLEPREFIX."fanfiction_blocks(`block_name`, `block_title`, `block_status`, `block_file`, `block_variables`) VALUES('news', 'Site News', '0', 'news/news.php', '');");
30
-$blocks["news"] = array("title" => "Site News", "status" => "1", "file" => "news/news.php", "num" => "3");
29
+dbquery("INSERT INTO ".TABLEPREFIX."fanfiction_blocks(`block_name`, `block_title`, `block_status`, `block_file`, `block_variables`) VALUES('news', 'Site News', '0', 'news/ffnews.php', '');");
30
+$blocks["news"] = array("title" => "Site News", "status" => "1", "file" => "news/ffnews.php", "num" => "3");
31 31
 ?>
32 32
\ No newline at end of file
... ...
@@ -41,7 +41,7 @@ if(!defined("_CHARSET")) exit( );
41 41
 		$news->newBlock("newsbox");
42 42
 		
43 43
 		//assign values
44
-		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>";
44
+		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>";
45 45
 		else $newsStory = format_story($stories['story']);
46 46
 		$news->assign("newstitle" , $stories['title'] );
47 47
 		$news->assign("newsstory" , $newsStory);
... ...
@@ -51,7 +51,7 @@ if(!defined("_CHARSET")) exit( );
51 51
 		$news->assign("newsid", $stories['nid']);
52 52
 		$news->assign("skindir", $skindir);
53 53
 		if($newscomments)
54
-			$news->assign("newscomments", "<a href=\"news.php?action=newsstory&amp;nid=".$stories['nid']."\">".$stories['comments']." "._COMMENTS."</a>");
54
+			$news->assign("newscomments", "<a href=\"ffnews.php?action=newsstory&amp;nid=".$stories['nid']."\">".$stories['comments']." "._COMMENTS."</a>");
55 55
 		if(isADMIN) 
56 56
 			$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>");
57 57
 		$count++;
58 58
deleted file mode 100644
... ...
@@ -1,46 +0,0 @@
1
-- Ability to remove Featured Story status from Admin panel as well as retire a Featured Story.  You can also now 
2
-do this when editing a story.
3
-- Ability to edit and delete news comments from news archive page.
4
-- Time format in settings.  Removed separate news date format.
5
-- Added pagination in news.php
6
-- Ability to set your own classifications in addition to warnings and genres (i.e. Spoilers, Episode Related, 
7
-Pairings, Language, Story Length, Story Type)
8
-- Ability to add custom pages from the admin panel.
9
-- You can now customize the up and down arrows used throughout the script in the same way the other graphics 
10
-(stars, etc) can be customized.  The variables are $up and $down
11
-- Added pagination to individual series page.
12
-- Story counts are back. :)
13
-- Moved the javascript into header.php so no more problems with the formselect.js not regenerating.  The info will 
14
-get pulled each time the page loads.
15
-- Added Table of Contents link to the storyblock and viewstory page for stories.
16
-- Changed admin links for featured stories in story block to let you either remove or retire the feature.
17
-- Co-authors :)  Yes. plural.
18
-- Chapter end notes.
19
-- Story notes.
20
-- The validation function in the admin panel now uses storyblock.php for a more consistent look of story information 
21
-across the site.
22
-- When previewing a story in the the add/edit story functions, the script now uses storyblock.php for a more consistent 
23
-look for story information across the site.
24
-- The default yes and no letters (subject and text) when validating stories can now be customized using {variables} for:
25
-	{sitename}- the name of the site;
26
-	{adminname} - the penname of the admin sending the letter (text of letter only)
27
-	{rules} - a link to the submission rules (text of letter only)
28
-	{storytitle} - the title of the story
29
-	{chaptertitle} - the title of the chapter within the story
30
-- You can now add custom admin panels.
31
-- The main admin page will now tell you how many stories are in the validation queue. So does the info block.
32
-- 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.
33
-- News comments are now saved under uid instead of penname so that changes in penname will carry over to comment info.
34
-- TinyMCE can now be toggled on/off on the page.
35
-- Members can now turn tinyMCE and story indexes on/off for themselves
36
-- Members can choose the default story sort for themselves.
37
-- Challenges have been made into an optional module you can install and uninstall as you choose
38
-- Admins can now decide whether or not to allow anonymous challenges
39
-- The number of responses to a challenge is now listed in the information for the challenge.
40
-- Maintenance mode.
41
-- Action log.
42
-- 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)
43
-- You can now define what "Top 10's" lists to include and add your own through the admin panel.
44
-- You can now "hide" skins from regular members through the admin panel.
45
-- Customized fields in the author profile page.
46
-
47 0
deleted file mode 100644
... ...
@@ -1,68 +0,0 @@
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
2
-go into a tutorial.  Therefore, there's probably things missing.  We'll be working on a real tutorial.
3
-Optional additions to listings.tpl for stories:
4
-
5
-{toc} - Table of Contents link to story index 
6
-{count} - The view/read count
7
-{new} - The text "New!" for new stories or alternately a graphic (use the URL to the graphic from the main directory).
8
-{featuredtext} - The words "Featured Story" or "Past Featured Story" to use instead of the graphics if you wish
9
-
10
-This is already done for you in the default_tpls folder.
11
-
12
-Also in listings.tpl you will need to add {comment} to both the seriesblock and storyblock sections.  This 
13
-will be used for favorite stories to show the member's comments about the story. Style the comment with
14
-favcomment.tpl.  See the default_tpls folder for an example. 
15
-
16
-In viewstory.tpl optional addtion:
17
-
18
-{toc} - Table of Contents link to story index
19
-
20
-The story and chapter notes (beginning and end) have been moved into blocks in viewstory.tpl  This will let you
21
-style them any way you wish and also hide those blocks when there are no notes to display.  (See the default_tpls
22
-for an example)
23
-
24
-For any new classifications you add you will need to modify listings.tpl, series_title.tpl, and optionally 
25
-viewstory.tpl and storyindex.tpl to include those additional classifications.  Optionally, you can use {classifications}
26
-to include all your classifications at one time.  The default_tpls/listings.tpl uses {classifications}
27
-
28
-In reviews.tpl you can now add a quick review form to the bottom of the list of reviews instead of the 
29
-"Submit a Review" link using the {reviewform} variable.  Already done in default_tpls.
30
-
31
-The reviewsblock has been pulled into its own .tpl so it can be reused in places other than the reviews page 
32
-(such as the user panels)
33
-
34
-The profile section of the user page has been pulled into its own .tpl, again so that it can be re-used.  
35
-It should also make it easier for people modding skins.  There is also now a setting in your admin settings for
36
-whether or not to show the profile at the top of the view user page all the time or only when it's selected.
37
-
38
-In user.tpl you no longer have individual variables for the tabs.  Instead it's been put into a block to 
39
-allow more tabs to be added dynamically without editing the tpl's each time.
40
-
41
-<!-- START BLOCK : paneltabs -->
42
-<div {class}>{link} {count}</div>
43
-<!-- END BLOCK : paneltabs -->
44
-
45
-You can also use {linkcount} to include the count of items inside the link instead of next to it. You don't have 
46
-to use <div>'s.  This is just an example.
47
-
48
-Rather than have the news archive link hardcoded into the news block at the bottom, I've assigned it to a global 
49
-link (i.e. {home}) so that you can put it where you want.  It's assigned as {newsarchive}
50
-
51
-There are a large number of new links you can add to your skins and the menu block.  The list is in the "Page 
52
-Links" section of the admin panel.
53
-
54
-In default_tpls, we changed the "classification" CSS class to "label".  It's more clear what the purpose is
55
-and shorter. :)
56
-
57
-For the new profile block, if you add new fields to the profile information, you will need to either add the 
58
-individual links such as {yahoo} or remove the individual links and make use of the new {authorfields} variable
59
-that displays the complete list of custom fields.  If you're creating skins for the use of others, you're 
60
-encouraged to use {authorfields} instead of the individual links.
61
-
62
-The $current variable for the index page was changed to home to solve a conflict with the variable name for the
63
-pagelink.  This will affect skins like Romance that use the current setting as the name of a containing div.
64
-
65
-For the featured, recent, and random blocks, if you use the .tpl option you'll need to remove the name of the 
66
-block from each of the variables.  For instance {recenttitle} will now be {title}.  This is because each of
67
-these blocks now uses the storyblock.php code.  Therefore, you can also add any of the information you can
68
-use in the listings.tpl to your random, featured, and recent blocks. 
69 0
deleted file mode 100644
... ...
@@ -1,274 +0,0 @@
1
-<html>
2
-
3
-<head>
4
-<meta http-equiv="Content-Language" content="en-us">
5
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
6
-<meta name="ProgId" content="FrontPage.Editor.Document">
7
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
8
-<title>Converting 1</title>
9
-</head>
10
-
11
-<body>
12
-
13
-<p align="center">Converting 1.1 skins to 3.0 skins.</p>
14
-<p>This file is a work in progress.&nbsp; We'll flesh it out later as we all get 
15
-  more expertise with converting 1.1 skins to the 3.0 format.</p>
16
-<p>1.&nbsp; Open a new folder for your converted skin.</p>
17
-<p>2.&nbsp; Open the default.tpl file in the skin you wish to convert.&nbsp; 
18
-Everything <i><b>before</b></i> {output} transfer into header.tpl in your new 
19
-folder then enclose it with start and close tags for the header block.&nbsp; A sample header.tpl might look like this.</p>
20
-<pre></pre>
21
-
22
-</div>
23
-
24
-<p style="margin: 0 5%; border: 1px solid #000;">&nbsp;&lt;!-- START BLOCK : header --&gt;<br>
25
-&lt;body&gt;<br>
26
-&nbsp;&nbsp;&nbsp;
27
-&lt;div id=&quot;<span style="background-color: #FFFF00">{</span><span 
28
-style="background-color: #FFFF00">page_id</span><span 
29
-style="background-color: #FFFF00">}</span>&quot;&gt;<br>
30
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
31
-&lt;div id=&quot;header&quot;&gt;<br>
32
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
33
-&lt;div id=&quot;banner&quot;&gt;<br>
34
-&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
35
-&lt;div id=&quot;skin&quot;&gt;<span style="background-color: #FFFF00">{</span><span 
36
-style="background-color: #FFFF00">skinchange_content</span><span 
37
-style="background-color: #FFFF00">}</span>&lt;span style=&quot;padding: 15px;&quot;&gt;<span 
38
-style="background-color: #FFFF00">{</span><span 
39
-style="background-color: #FFFF00">rss</span><span 
40
-style="background-color: #FFFF00">}</span>&lt;/span&gt;&lt;/div&gt;<br>
41
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
42
-&lt;/div&gt;<br>
43
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
44
-&lt;div id=&quot;menu_container&quot;&gt;<br>
45
-<span style="background-color: #FF00FF">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
46
-{home}&amp;nbsp;{recent}&amp;</span><span style="background-color: #FF00FF">nbsp;{catslink</span><span 
47
-style="background-color: #FF00FF">}&amp;nbsp;{authors}&amp;nbsp;{titles}&amp;nbsp;{help}<br>
48
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
49
-&amp;nbsp;{search}&amp;nbsp;{login}&amp;nbsp;{logout}&amp;nbsp;{adminarea}</span><br>
50
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
51
-&lt;/div&gt;<br>
52
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
53
-&lt;/div&gt;<br>
54
-&nbsp;&nbsp;&nbsp;
55
-&lt;div id=&quot;mainpage&quot;&gt;<br>
56
-&lt;!-- END BLOCK : header --&gt;</p>
57
-<p>The {page_id} variable was new to 2.0.&nbsp; This variable gives you a unique 
58
-  name to use in the css for each page.&nbsp; In the example above it's used as 
59
-  a containing tag.&nbsp; 
60
-<p>The {rss} variable 
61
-defines where the orange rss image link appears.
62
-<p>The other variable highlighted in yellow is a mod some people had previously 
63
-  installed.&nbsp; If you have previously added the skin change mod change {skinform} 
64
-  to {skinchange_content} to include that block.&nbsp; You will also need to activate 
65
-  that block and set it to the correct status in the blocks page in the admin 
66
-  area.
67
-<p>The links highlighted in pink are still available in 3.0.&nbsp; You can convert 
68
-  these links to the new menu block if you wish or leave them as is.
69
-<p>3. From your original default.tpl again, select everything <i>
70
-<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 : 
71
-footer --&gt;<br>
72
-&nbsp;&nbsp;&nbsp;
73
-&lt;/div&gt;<br>
74
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
75
-&lt;div id=&quot;footer&quot;&gt;<span style="background-color: #FF00FF">{footer}</span>&lt;/div&gt;&lt;/div&gt;<br>
76
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
77
-&lt;div id=&quot;footermenu&quot;&gt;<span style="background-color: #FFFF00">{</span><span 
78
-style="background-color: #FFFF00">tos}{rules}{contactus</span><span 
79
-style="background-color: #FFFF00">}</span>&lt;/div&gt;<br>
80
-&lt;!-- END BLOCK : footer --&gt;<p>The {footer} variable is the same as in 1.1<p>
81
-The other three variables you see in yellow are new page links added in 2.0. <p>&nbsp;<div 
82
-align="center">
83
-  <center>
84
-  <table border="1" cellpadding="3" cellspacing="0" 
85
-  style="border-collapse: collapse" bordercolor="#111111">
86
-    <tr>
87
-      <th width="100%" colspan="2">New Page Links in 2.0</th>
88
-    </tr>
89
-    <tr>
90
-      <td width="50%">{tos}</td>
91
-      <td width="50%">Terms of Service</td>
92
-    </tr>
93
-    <tr>
94
-      <td width="50%">{rules}</td>
95
-      <td width="50%">Submission Rules</td>
96
-    </tr>
97
-    <tr>
98
-      <td width="50%">{contactus}</td>
99
-      <td width="50%">Contact Us</td>
100
-    </tr>
101
-    <tr>
102
-      <td width="50%">{featured}</td>
103
-      <td width="50%">Featured Stories</td>
104
-    </tr>
105
-    <tr>
106
-      <td width="50%">{members}</td>
107
-      <td width="50%">Members</td>
108
-    </tr>
109
-    <tr>
110
-      <td width="50%">{series}</td>
111
-      <td width="50%">Series</td>
112
-    </tr>
113
-    <tr>
114
-      <td width="50%">{challenges}</td>
115
-      <td width="50%">Challenges</td>
116
-    </tr>
117
-    <tr>
118
-      <td width="50%">{tens}</td>
119
-      <td width="50%">The Tens</td>
120
-    </tr>
121
-  </table>
122
-  </center>
123
-</div>
124
-<p>&nbsp;<div align="center">
125
-  <center>
126
-  <table border="1" cellpadding="3" cellspacing="0" 
127
-  style="border-collapse: collapse" bordercolor="#111111">
128
-    <tr>
129
-      <th width="100%" colspan="2">Changed from 1.1</th>
130
-    </tr>
131
-    <tr>
132
-      <td width="50%">{authors}</td>
133
-      <td width="50%">Authors (was members list)</td>
134
-    </tr>
135
-  </table>
136
-  </center>
137
-</div>
138
-<p>3.&nbsp; In your new skin folder create a new file called variables.php.&nbsp; 
139
-As this is a conversion from 1.1 to 2.0 you will want to set some options in the 
140
-blocks settings.</p>
141
-<p style="margin: 1em 5%; border: 1px solid #000;">&lt;?php<br>
142
-$blocks[&quot;info&quot;][&quot;status&quot;] = '1'; <br>
143
-$blocks[&quot;info&quot;][&quot;style&quot;] = '1';<br>
144
-$blocks[&quot;login&quot;][&quot;status&quot;] = '1';<br>
145
-$blocks[&quot;news&quot;][&quot;status&quot;] = '1';<br>
146
-$blocks[&quot;news&quot;][&quot;tpl&quot;] = '1';<br>
147
-$blocks[&quot;recent&quot;][&quot;status&quot;] = '1';<br>
148
-$blocks[&quot;recent&quot;][&quot;tpl&quot;] = '1';<br>
149
-$blocks[&quot;categories&quot;][&quot;status&quot;] = '1';<br>
150
-$blocks[&quot;categories&quot;][&quot;columns&quot;] = '0';<br>
151
-$blocks[&quot;categories&quot;][&quot;tpl&quot;] = '1';<br>
152
-$blocks[&quot;featured&quot;][&quot;tpl&quot;] = '1';<br>
153
-$blocks[&quot;featured&quot;][&quot;status&quot;] = '1';<br>
154
-?&gt;</p>
155
-<p>Technically, this is probably overkill.&nbsp; You will definitely want to set 
156
-&quot;tpl&quot; to 1 for categories, recent, and featured if your skin uses them.&nbsp;If 
157
-in the past you used {totalstories} and {totalauthors}, activate the info block 
158
-and set the style to 2.&nbsp; Note that this will also give you {totalmembers} 
159
-to include.&nbsp; All of these blocks should be set to a &quot;status&quot; of 1 to 
160
-include them only on the index page.&nbsp;&nbsp; 
161
-If your skin doesn't use them, I suggest you set the status to 0.&nbsp; It will 
162
-make the page load a tiny bit faster, but for busy sites tiny bits will add up.</p>
163
-<p>4. Copy the 1.1 index.tpl skin into your new folder and open it.&nbsp; Locate 
164
-the point where your header information stops.&nbsp; Delete everything before 
165
-that and replace it with:</p>
166
-<p>&lt;!-- INCLUDE BLOCK : header --&gt;</p>
167
-<p>Find where your footer information starts and replace everything below it with</p>
168
-<p>&lt;!-- INCLUDE BLOCK : footer --&gt;</p>
169
-<p>We took care of all the blocks except news in the previous step.&nbsp; Find 
170
-where your news is included in the index.tpl&nbsp; and replace the block with {news_content}&nbsp; 
171
-You can also remove {newspageprev} and {newspagenext} as those are replaced by 
172
-the newsarchive link and are included in {news_content}.&nbsp; To style the news 
173
-archive link use #newsarchive in your style.css.&nbsp; The #newsarchive id is a 
174
-div around the archive link.</p>
175
-
176
-<p>5. Copy your newsbox.tpl file into the new folder.&nbsp; No changes need to 
177
-be made to that.&nbsp; Note however that the style will be carried over to the 
178
-news archive.</p>
179
-
180
-<p>6. Open your style.css and style the following elements.&nbsp; The 
181
-information after the dash is suggested styles to match 1.1 where possible or 
182
-just general ideas</p>
183
-
184
-<p>#pagetitle - text-align: center; font-size: 150%; margin: 1ex;<br>
185
-#alphabet, #pagelinks - text-align: center; margin: 1em;<br>
186
-LABEL - font-weight: bold;<br>
187
-#sort - text-align: center; margin: 1ex;&nbsp; (Sort options on categories.php)<br>
188
-#profile #sort - text-align: right;&nbsp;&nbsp; (Sort options on the viewuser 
189
-page)</p>
190
-
191
-<p>.sectionheader - text-align: center; font-weight: bold;&nbsp; (this is the 
192
-&quot;Series&quot; and &quot;Stories&quot; sub-headers)<br>
193
-#titleblock&nbsp; - margin: 0 10%; border: 1px solid #000;&nbsp; <br>
194
-(this is the title block at the top of the series and challenges pages when a 
195
-single series/challenge is listed)</p>
196
-
197
-<p>To convert the tabs in the viewuser page from 1.1 to 2.0 you'll need to add 
198
-the #tabs style group to your style.css.&nbsp; This is the tabs information for 
199
-the skin in default_tpls. It's a good place to start.&nbsp; 2.0 gives you more 
200
-options in styling this section of the viewuser page, but this styling will be 
201
-close to what you previously used in 1.1 with some tweaking.&nbsp; The #active 
202
-styling is the tab currently active in the window.&nbsp; In 1.1 this would have 
203
-been the table cell with the background color.</p>
204
-
205
-<p>#tabs {<br>
206
-padding: 0;<br>
207
-margin: 0;<br>
208
-clear: both;<br>
209
-border-top: 3px double #000;<br>
210
-border-bottom: 3px double #000;<br>
211
-}<br>
212
-<br>
213
-#tabs DIV{ <br>
214
-width: 33%;<br>
215
-float: left;<br>
216
-color: #000;<br>
217
-text-align: center;<br>
218
-background: #CCC; <br>
219
-font-size: 11pt;<br>
220
-}<br>
221
-<br>
222
-#tabs #centertab {<br>
223
-background: transparent;<br>
224
-border-right: 3px double #000;<br>
225
-border-left: 3px double #000;<br>
226
-width: 98%;<br>
227
-}<br>
228
-<br>
229
-#tabs a { color: #000; }<br>
230
-#tabs a:active, a:hover { text-decoration: none; color: #555; }<br>
231
-<br>
232
-#tabs #active { background: #555; width: 34%; color: #FFF; }<br>
233
-#tabs #active a { color: #FFF; }<br>
234
-#tabs #active a:active, a:hover { text-decoration: none; color: #555; }</p>
235
-
236
-<p>7. The last thing you'll probably need to do is convert your storyblock.tpl.&nbsp; 
237
-If you wish, you can rely on the default and set the appearance of both the 
238
-stories and series blocks through your style.css.&nbsp; The default uses the .listbox 
239
-class with child classes of .title, .tail, .adminoptions, .content, and 
240
-.classification.&nbsp; You can also use .odd and .even to alternate style of 
241
-blocks every other one.</p>
242
-
243
-<p>/* Formatting for the divs for series and stories.&nbsp; */<br>
244
-.listbox { margin: 0 5%; border: 2px solid #900; margin-bottom: 1em; background: 
245
-#FFF; background-position: 0 5px;}<br>
246
-.listbox .title { font-weight: bold; padding: 4px; color: #900; border-bottom: 
247
-3px double #900;}<br>
248
-.listbox .title a:link { color: #900; text-decoration: underline;}<br>
249
-.listbox .title a:visited { color: #C66; text-decoration: underline;}<br>
250
-.listbox .title a:hover { color: #900; text-decoration: underline overline; }<br>
251
-.listbox .content { padding: 5px; padding-top: 10px; padding-bottom: 10px;}<br>
252
-.listbox .tail, .listbox .respond { border-top: 3px double #900;}<br>
253
-.listbox .classfication { font-weight: bold; }<br>
254
-/* End listbox formatting. */</p>
255
-
256
-<p>If you don't want to use the default, I suggest you copy listings.tpl from 
257
-the default_tpls folder then paste the contents of your storyblock.tpl into the 
258
-storyblock section then replicate it for the series section.&nbsp; Pay attention 
259
-to the additional information for the story block.&nbsp; You may now include 
260
-challenges and series information.&nbsp; There are also adminoptions to be 
261
-included as well.&nbsp; If you don't use the default you will also need to 
262
-separately style the challenges block (if you choose to use challenges on your 
263
-site).&nbsp; 
264
-Copy challenges.tpl from the default_tpls folder and style it as you wish.&nbsp;
265
-<u>Do<b><i> NOT </i></b>save it back to default_tpls. </u><b>&nbsp;</b>Save it 
266
-to your skin's folder.</p>
267
-
268
-<p>That's a basic conversion from 1.1 to 2.0.&nbsp; You can further define other 
269
-areas of the script such as the title blocks in series and challenges.&nbsp; If 
270
-you wish to change the look of these areas, copy the applicable .tpl from 
271
-default_tpls and make your changes.&nbsp; Then save that .tpl to your skin 
272
-folder NOT back to the default_tpls.&nbsp; </p>
273
-
274
-</body></html>
275 0
\ No newline at end of file
276 1
deleted file mode 100644
... ...
@@ -1,110 +0,0 @@
1
-<html>
2
-
3
-<head>
4
-<meta http-equiv="Content-Language" content="en-us">
5
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
6
-<meta name="ProgId" content="FrontPage.Editor.Document">
7
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
8
-<title>Creating Blocks</title>
9
-</head>
10
-
11
-<body>
12
-
13
-<h2 align="center">Creating Blocks</h2>
14
-<p>For those that want to create their own blocks to share with others or just 
15
-  tweak the ones included already, here's the basics.&nbsp; There are two files 
16
-  needed for each block: blockname.php an init.php.&nbsp; Technically, if you 
17
-  added the block manually, you wouldn't need the init.php file.&nbsp; It is only 
18
-  used when the block is first initialized, and can be deleted afterward.&nbsp; 
19
-  Though I would suggest keeping a backup somewhere, just in case.</p>
20
-<p>The init.php file is very simple composed simply of a mysql statement that 
21
-  adds the block tot he database.&nbsp; As in the example below.</p>
22
-<p>&lt;?php<br>
23
-  dbquery(&quot;INSERT INTO &quot;.TABLEPREFIX.&quot;fanfiction_blocks(`block_name`, 
24
-  `block_title`, `block_status`, `block_file`, `block_variables`) VALUES('categories', 
25
-  'Main Categories', '0', 'categories/categories.php', '');&quot;);<br>
26
-  ?&gt;</p>
27
-<p>This also shows the basic parameters needed for a block: name, title, status, 
28
-  file, and variables.&nbsp; The title can be an empty string if you don't need 
29
-  a title for that particular block. If the block doesn't need any variables, 
30
-  that too can be left empty. The file should be a subfolder/file of the blocks 
31
-  folder for the sake of consistency. The status should generally start off as 
32
-  0 for inactive.&nbsp; There are 3 status options for blocks: </p>
33
-<div align="center">
34
-  <center>
35
-  <table border="1" cellpadding="5" cellspacing="0" 
36
-  style="border-collapse: collapse" bordercolor="#111111">
37
-    <tr>
38
-      <th colspan="2">Status</th>
39
-      <th>&nbsp;Associated .tpl file</th>
40
-      <th>Appears</th>
41
-    </tr>
42
-    <tr>
43
-      <td>0</td>
44
-      <td>Inactive</td>
45
-      <td>The block is off. </td>
46
-      <td>nowhere</td>
47
-    </tr>
48
-    <tr>
49
-      <td>1</td>
50
-      <td>Active</td>
51
-      <td>The block is on.</td>
52
-      <td>anywhere</td>
53
-    </tr>
54
-    <tr>
55
-      <td>2</td>
56
-      <td>Index only</td>
57
-      <td>index page only.</td>
58
-      <td>anywhere on the index page.</td>
59
-    </tr>
60
-    </table>
61
-  </center>
62
-</div>
63
-<p>&nbsp; </p>
64
-<p>Any default configuration you want for the block can be included in the init.php 
65
-  as well.&nbsp; The variables are an array encoded using PHP's serialize function. 
66
-  For instance, the categories block currently has two options: one column and 
67
-  multiple columns.&nbsp; The default is a single column lists.&nbsp; If I were 
68
-  to change the init file as follows, the default would then become a multiple 
69
-  column list.</p>
70
-<p>&lt;?php<br>
71
-  dbquery(&quot;INSERT INTO &quot;.TABLEPREFIX.&quot;fanfiction_blocks(`block_name`, 
72
-  `block_title`, `block_status`, `block_file`, `block_variables`) VALUES('categories', 
73
-  'Main Categories', '0', 'categories/categories.php', '&quot;.serialize(array(&quot;columns&quot; 
74
-  =&gt; &quot;1&quot;)).&quot;');&quot;);<br>
75
-  ?&gt;</p>
76
-<p> When you change any of the settings for the blocks from the admin panel the 
77
-  information stored in the database about the block is updated.</p>
78
-<p>The block.php file creates the content that is placed inside the {blockname_content} 
79
-variable.&nbsp; This content is placed inside a variable $content which is then 
80
-assigned to {blockname_content}&nbsp; So a very simple example of a block would 
81
-be:</p>
82
-<p>&lt;?php<br>
83
-$content = &quot;Hello World!&quot;;<br>
84
-?&gt;</p>
85
-<p>There are two other optional files.&nbsp; The first is an admin file which 
86
-will be called from the admin panel to make changes to the settings in the 
87
-block.&nbsp; Creating one of those is for another day. </p>
88
-<p>The second file (or multiple files) is a language file that defines any text 
89
-you use in your block.&nbsp; These files take the same format as the main 
90
-language file in the languages folder and are named similarly.&nbsp; So for 
91
-instance, an English language file would be named en.php.&nbsp; For Spanish, it 
92
-would be es.php. </p>
93
-<p>Most often, you might need to define some wording for your admin.php file.&nbsp; 
94
-If you need to add a language file, use the following code in either admin.php 
95
-or blockname.php</p>
96
-<p>if(file_exists(&quot;blocks/categories/{$language}.php&quot;)) include_once(&quot;blocks/categories/{$language}.php&quot;);</p>
97
-<p>The if(...) isn't technically necessary, but it will prevent errors if the 
98
-  file ends up missing.&nbsp; For instance, the site's language is set to Russian, 
99
-  but the block doesn't have a Russian translation.&nbsp; You might also want 
100
-  to include an else statement to load a default language file you have created 
101
-  if the site's chosen language is missing.</p>
102
-<p>if(file_exists(&quot;blocks/categories/{$language}.php&quot;)) include_once(&quot;blocks/categories/{$language}.php&quot;);<br>
103
-  else include_once(&quot;blocks/categories/en.php&quot;);</p>
104
-<p>To keep your block files secure from hackers you are strongly encouraged to 
105
-  include this line at the top of each file just under the &lt;?php</p>
106
-<p>if(!defined(&quot;_CHARSET&quot;)) exit( );</p>
107
-<p>&nbsp;</p>
108
-</body>
109
-
110
-</html>
111 0
\ No newline at end of file
112 1
deleted file mode 100644
... ...
@@ -1,973 +0,0 @@
1
-<html>
2
-
3
-<head>
4
-<meta http-equiv="Content-Language" content="en-us">
5
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
6
-<meta name="ProgId" content="FrontPage.Editor.Document">
7
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
8
-<title>Creating Skins</title>
9
-<style type="text/css">
10
-<!--
11
-.sample {
12
-	background-color: #CCCCCC;
13
-	margin: 1em;
14
-	border: 1px solid #000000;
15
-	padding: 1ex;
16
-}
17
-.sampleLabel {
18
-	margin-bottom: -1em;
19
-	margin-left: 1em;
20
-	font-weight: bold;
21
-}
22
-</style>
23
-</head>
24
-
25
-<body>
26
-
27
-<h2 align="center">Creating Skins - WIP</h2>
28
-<p>In theory, there is no limit to the number of skins you can create for your 
29
-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 
30
-some though.&nbsp; 
31
-A complete skin will include the following files.</p>
32
-<div align="center">
33
-  <center>
34
-    <table border="1" cellpadding="5" cellspacing="0" 
35
-  style="border-collapse: collapse" bordercolor="#111111">
36
-      <tr> 
37
-        <th width="50%">.tpl file</th>
38
-        <th width="50%">Related pages</th>
39
-      </tr>
40
-      <tr> 
41
-        <td><a href="#browse">browse.tpl</a></td>
42
-        <td>Browse Pages</td>
43
-      </tr>
44
-      <tr> 
45
-        <td><a href="#categories">categories.tpl</a></td>
46
-        <td>Browse Categories</td>
47
-      </tr>
48
-      <tr> 
49
-        <td><p><a href="#comments">comments.tpl</a></p></td>
50
-        <td>News</td>
51
-      </tr>
52
-      <tr> 
53
-        <td><a href="#default">default.tpl</a></td>
54
-        <td>Most pages</td>
55
-      </tr>
56
-      <tr> 
57
-        <td><a href="#favcomment">favcomment.tpl</a></td>
58
-        <td>Favorites Lists</td>
59
-      </tr>
60
-      <tr> 
61
-        <td><a href="#footer">footer.tpl</a></td>
62
-        <td>All pages</td>
63
-      </tr>
64
-      <tr> 
65
-        <td><a href="#header">header.tpl</a></td>
66
-        <td>All pages</td>
67
-      </tr>
68
-      <tr> 
69
-        <td><a href="#index">index.tpl</a></td>
70
-        <td>Index</td>
71
-      </tr>
72
-      <tr> 
73
-        <td><a href="#listings">listings.tpl</a></td>
74
-        <td>Any page listing stories or series</td>
75
-      </tr>
76
-      <tr> 
77
-        <td><a href="#newsbox">newsbox.tpl</a></td>
78
-        <td>News &amp; news block</td>
79
-      </tr>
80
-      <tr> 
81
-        <td><a href="#printstory">printstory.tpl</a></td>
82
-        <td>View Story (Printable)</td>
83
-      </tr>
84
-      <tr> 
85
-        <td><a href="#profile">profile.tpl</a></td>
86
-        <td>User Profile</td>
87
-      </tr>
88
-      <tr> 
89
-        <td><a href="#reviewblock">reviewblock.tpl</a></td>
90
-        <td>Reviews</td>
91
-      </tr>
92
-      <tr> 
93
-        <td><a href="#reviews">reviews.tpl</a></td>
94
-        <td>Reviews</td>
95
-      </tr>
96
-      <tr> 
97
-        <td><a href="#seriestitle">series_title.tpl</a></td>
98
-        <td>View Series</td>
99
-      </tr>
100
-      <tr> 
101
-        <td><a href="#storyindex">storyindex.tpl</a></td>
102
-        <td>Story Table of Contents</td>
103
-      </tr>
104
-      <tr> 
105
-        <td><a href="#user">user.tpl</a></td>
106
-        <td>User Profile/Info</td>
107
-      </tr>
108
-      <tr>
109
-        <td><a href="#viewstory">viewstory.tpl</a></td>
110
-        <td>View Story</td>
111
-      </tr>
112
-    </table>
113
-  </center>
114
-</div>
115
-<p>Now, to quote Douglas Adams...Don't Panic!&nbsp; That's the most number of 
116
-  files a skin would use.&nbsp; Most skins will consist of quite a few less.&nbsp; 
117
-  If you install add-on modules, those modules may require additional .tpl files 
118
-  which will be included with the module. </p>
119
-<p>Within the script files is a folder called default_tpls.&nbsp; It includes 
120
-  a very basic complete skin that will be used if for whatever reason your site's 
121
-  default skin or your member's chosen skin are missing.&nbsp; If any of these 
122
-  .tpl files (except for header.tpl and footer.tpl) are missing the script will 
123
-  fall back on the files in the default_tpls folder.&nbsp; Many of the tpl files 
124
-  are generic enough that they can easily be left to the ones in default_tpls 
125
-  and styled using CSS.&nbsp; In addition to the .tpl files you will have a style.css 
126
-  file and optionally, a variables.php file.&nbsp; The variables.php file allows 
127
-  you to override certain universal settings for this skin such as where blocks 
128
-  load and the graphics used for your ratings and featured stories.</p>
129
-<p>A fewimportant things to pay attention to when modifying the template files:</p>
130
-<ol>
131
-  <li><b>Variables</b>: Items in curly brackets are variables, i.e. {output} or 
132
-    {authors}. This contains the actual content that will be printed out on the 
133
-    page. You can surround these attributes with any kind of html that you want 
134
-    -- font tags, tables, whatever. Some variables are required on some of the 
135
-    template pages and some are optional.&nbsp;</li>
136
-  <li><b>Blocks</b>: These are items that generate multiple instances of content 
137
-    in a loop -- for example, in your index.tpl template file, you only need to 
138
-    indicate where the news items should display on the page with the following:<br>
139
-    &lt;!-- INCLUDE BLOCK : newsbox --&gt;<br>
140
-    This line is telling the script to include the newsbox.tpl file, and the template 
141
-    files will understand that it should print out several news stories in a loop, 
142
-    with just that one line of code. Another kind of block you may see is the 
143
-    following:<br>
144
-    &lt;!-- START BLOCK : categoriesblock --&gt;<br>
145
-    <br>
146
-    Content goes here, which will also include attributes, such as {category} 
147
-    or {description}<br>
148
-    <br>
149
-    &lt;!-- END BLOCK : categoriesblock --&gt;<br>
150
-    This is similar to the included block, except that rather than pulling in 
151
-    the block from another file, as in the case of the newsbox.tpl, this one is 
152
-    just defining the block at this very moment. As you read through the individual 
153
-    template file instructions below and look at the actual templates, all of 
154
-    this will make more sense. <b>&nbsp;Block declarations should go on lines 
155
-    by themselves.</b></li>
156
-  <li><b>Blocks vs. Blocks:&nbsp; </b>The template blocks in the .tpl files are 
157
-    not the same as the blocks you configure in the admin panel.&nbsp; The blocks 
158
-    in the admin panel are &quot;blocks&quot; of code that generate content they 
159
-    place inside template variables.&nbsp; The blocks in the .tpl files are &quot;blocks&quot; 
160
-    of content.&nbsp; While there is some overlap, thinking of them as being separate 
161
-    from each other will help you keep things straight.&nbsp; Each &quot;code 
162
-    block&quot; will generate two &quot;content blocks&quot;: {blockname_title} 
163
-    and {blockname_content}.&nbsp; You may or may not include the {blockname_title} 
164
-    variable in your skin.&nbsp; It's up to you.&nbsp; However, using the {blockname_title} 
165
-    in your skin means if you ever want to change the title of the block you only 
166
-    have to do it in one place instead of in each skin.&nbsp; You assign where 
167
-    the block will be assigned to in the admin panel.&nbsp; There are 3 choices: 
168
-    <br>
169
-    &nbsp; 
170
-    <div align="center"> 
171
-      <center>
172
-        <table border="1" cellpadding="5" cellspacing="0" 
173
-    style="border-collapse: collapse" bordercolor="#111111">
174
-          <tr> 
175
-            <th width="50%">Status</th>
176
-            <th width="50%">&nbsp;Associated .tpl file</th>
177
-          </tr>
178
-          <tr> 
179
-            <td width="50%">Inactive</td>
180
-            <td width="50%">The block is off. </td>
181
-          </tr>
182
-          <tr> 
183
-            <td width="50%">Active</td>
184
-            <td width="50%">The block is on. Can appear on every page.</td>
185
-          </tr>
186
-          <tr> 
187
-            <td width="50%">Index Only</td>
188
-            <td width="50%">Appears on the index page only.</td>
189
-          </tr>
190
-        </table>
191
-      </center>
192
-    </div>
193
-    <p>You may also override these settings for an individual skin by placing 
194
-      information for that block in the variables.php file. More on that later.</li>
195
-  <li>The .tpl files do not have some of the usual tags at the beginning, such 
196
-    as &lt;head&gt; or &lt;title&gt;. That is because those tags are included 
197
-    in the header file. Most of the template files begin with the header block 
198
-    and end with the footer block except for a couple of the blocks (newsblock.tpl, 
199
-    comments.tpl and listings.tpl)</li>
200
-  <li>Using &quot;hooks&quot; various 3rd party and included modules (such as 
201
-    challenges) can add their own variables to these templates. Check the documentation 
202
-    for the modules for specific additions. &nbsp;</li>
203
-</ol>
204
-<p>Feel free to use the files in the default_tpls/ folder as templates for your 
205
-  own skins.&nbsp; Copy the files into a new skin folder and modify them there. 
206
-  <strong><font color="#FF0000">Do not modify the files in default_tpls/ if at 
207
-  all possible. They're often used for diagnostic purposes if the site isn't functioning 
208
-  as expected.</font></strong>&nbsp; <u>Also, you are in no way limited to CSS 
209
-  for the layout of your skins.&nbsp; Feel free to use tables to your heart's 
210
-  content.&nbsp; </u></p>
211
-<hr>
212
-<p><a name="browse"></a>browse.tpl</p>
213
-<p>This file controls the look of the browse pages (categories, classifications, 
214
-  etc.) The header, footer, and listing blocks are included in this file along 
215
-  with a block for the sort form that is displayed when there are story results. 
216
-  In addition you will want to include two other variables:</p>
217
-<p>You will need to start by including the header block.</p>
218
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;</p>
219
-<p>And end by including the footer block.</p>
220
-<p class="sample"> &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
221
-<p>{output} - Miscellaneous information on the pages including the page title.<br>
222
-  {otherresults} - The list of other results (challenges, series, etc.) that fit 
223
-  the criteria for the page.</p>
224
-<p>Within the sort form the following variables are used:</p>
225
-<p>{sortbegin} - the beginning of the sort menu form<br>
226
-  {charactermenu1} - A list of characters to choose from<br>
227
-  {charactermenu2} - A second list of characters<br>
228
-  {classmenu} - A dropdown list for each of the site's classification types (genres, 
229
-  warnings, etc.)<br>
230
-  {ratingmenu} - A list of ratings<br>
231
-  {sortmenu} - Choose how the stories will be sorted alphabetically or by most 
232
-  recently updated<br>
233
-  {completemenu} - Choose all stories or only completed stories<br>
234
-  {sortend} - the end of the sort menu form</p>
235
-<p>You may include all or none of these and in whatever order you wish, except 
236
-  the {sortbegin} and {sortend} variables must be at the beginning and end of 
237
-  the list of variables in the form.</p>
238
-<p class="sampleLabel">Sample: </p>
239
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;<br>
240
-  {output}{otherresults}<br>
241
-  &lt;!-- START BLOCK : sortform --&gt;<br>
242
-  &lt;div id=&quot;sortform&quot;&gt;{sortbegin}{categorymenu} {charactermenu1} 
243
-  {charactermenu2} {ratingmenu} {classmenu} {sortmenu} {completemenu} {sortend}&lt;/div&gt;<br>
244
-  &lt;!-- END BLOCK : sortform --&gt;<br>
245
-  &lt;!-- INCLUDE BLOCK : listings --&gt;<br>
246
-  &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
247
-<p><a name="categories"></a>categories.tpl</p>
248
-<p>The categories.tpl controls the look of the individual category on the categories 
249
-  browse page. <strong>Note:</strong> The appearance of the categories block is 
250
-  controlled separately through the block's admin panel. </p>
251
-<p>The block must start with:</p>
252
-<p class="sample">&lt;!-- START BLOCK : categoryblock --&gt;</p>
253
-<p>and end with:</p>
254
-<p class="sample">&lt;!-- END BLOCK : categoryblock --&gt;</p>
255
-<p>The following variables are available to use in the block:</p>
256
-<p>{image} - The image associated with that category. Note: The name of the image 
257
-  is set in the Categories admin panel. The image file must be in the skin's directory. 
258
-  If the script can't find the image it will display nothing. (In 1.1 a broken 
259
-  image was displayed.)<br>
260
-  {link} - The link to the category's browse page.<br>
261
-  {count} - The count of stories within that category.<br>
262
-  {description} - The category's description.</p>
263
-<p class="sampleLabel">Sample:</p>
264
-<p class="sample">&lt;!-- START BLOCK : categoryblock --&gt;<br>
265
-  {image} {link} {count} {description}<br>
266
-  &lt;!-- END BLOCK : categoryblock --&gt;</p>
267
-<p><a name="comments">comments.tpl</a></p>
268
-<p>This block controls the display of comments on the news.php page for a single 
269
-  story.&nbsp; </p>
270
-<p>You must start the file with:</p>
271
-<p class="sample">&lt;!-- START BLOCK : commentbox --&gt;</p>
272
-<p>and end it with:</p>
273
-<p class="sample">&lt;!-- END BLOCK : commentbox --&gt;</p>
274
-<p>This information should be placed on separate lines.&nbsp; Between these two 
275
-  lines the following variables should be included.</p>
276
-<p>{comment} - The comment from the member.<br>
277
-  {uname} - The member's name as a hyperlink to their profile.<br>
278
-  {date} - The date the comment was made.<br>
279
-  {adminoptions} - Options visible to the administrator when viewing the page.</p>
280
-<p>The variable {oddeven} is optional, you can use it to assign alternating styles 
281
-  to each comment.</p>
282
-<p class="sampleLabel">Sample:</p>
283
-<p class="sample">&lt;!-- START BLOCK : commentbox --&gt;<br>
284
-  &lt;div class=&quot;comment {oddeven}&quot;&gt;<br>
285
-  {comment}<br>
286
-  &lt;div class=&quot;commentsig&quot;&gt;- {uname} on {date}&lt;/div&gt;<br>
287
-  &lt;div class=&quot;adminoptions&quot;&gt; {adminoptions}&lt;/div&gt;<br>
288
-  &lt;/div&gt;<br>
289
-  &lt;!-- END BLOCK : commentbox --&gt;</p>
290
-<p><a name="default">default.tpl</a></p>
291
-<p>The majority of pages use this for their layout.&nbsp; Most likely you won't 
292
-  need to include it in your skin at all.</p>
293
-<p>You must include the <a href="#header">header</a>, <a href="#listings"> listings</a>, 
294
-  and <a href="#footer">footer</a> block as seen below and include the {output} 
295
-  variable BEFORE the listings block.&nbsp; The {output} variable provides various 
296
-  text like the page title and alphabet list for titles. You will probably not 
297
-  need to replicate this file in your skin since there's nothing much to change 
298
-  really.</p>
299
-<p class="sampleLabel">Sample:</p>
300
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;<br>
301
-  {output}<br>
302
-  &lt;!-- INCLUDE BLOCK : listings --&gt;<br>
303
-  &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
304
-<p></p>
305
-<p><a name="favcomments"></a>favcomment.tpl</p>
306
-<p>In eFiction 3.0 when favorites are turned on by the admin, members have the 
307
-  option of not only marking a story as a favorite, but also including a comment 
308
-  as to why it is their favorite. The favcomment.tpl us used to display these 
309
-  comments in the user's profile.</p>
310
-<p>The block must start with:</p>
311
-<p class="sample">&lt;!-- START BLOCK : comment --&gt;</p>
312
-<p>and end with:</p>
313
-<p class="sample">&lt;!-- END BLOCK : comment --&gt;</p>
314
-<p>In addition the following variables can be used within the block:</p>
315
-<p>{comment} - The member's comment<br>
316
-  {commentoptions} - Options concerning this comment for admin and the person 
317
-  who commented<br>
318
-  {oddeven} - This variable can be used to style alternating comments differently.</p>
319
-<p class="sampleLabel">Sample:</p>
320
-<p class="sample">&lt;!-- START BLOCK : comment --&gt;<br>
321
-  &lt;div class=&quot;comment{oddeven}&quot;&gt;<br>
322
-  {comment}<br>
323
-  {commentoptions}<br>
324
-  &lt;/div&gt;<br>
325
-  &lt;!-- END BLOCK : comment --&gt;</p>
326
-<p><a name="footer">footer.tpl</a></p>
327
-<p>You must start the file with:</p>
328
-<p class="sample">&lt;!-- START BLOCK : footer --&gt;</p>
329
-<p>and end it with:</p>
330
-<p class="sample">&lt;!-- END BLOCK : footer --&gt;</p>
331
-<p>In addition to the <a href="#pagelinks">universal page links</a>, the footer.tpl 
332
-  also has one other variable assigned to it.&nbsp; </p>
333
-<p>{footer} - Your copyright statement.</p>
334
-<p>Content assigned to the footer in the admin panel or in the skin's variables.php 
335
-  file will also be included here.</p>
336
-<p class="sampleLabel">Sample: </p>
337
-<p class="sample">&lt;!-- START BLOCK : footer --&gt;<br>
338
-  &lt;/div&gt;<br>
339
-  &lt;div id=&quot;footer&quot;&gt;{footer}&lt;/div&gt;&lt;/div&gt;<br>
340
-  &lt;/body&gt;&lt;/html&gt;<br>
341
-  &lt;!-- END BLOCK : footer --&gt;</p>
342
-<p></p>
343
-<p><a name="header">header.tpl</a></p>
344
-<p>You must start the file with:</p>
345
-<p class="sample">&lt;!-- START BLOCK : header --&gt;</p>
346
-<p>and end it with:</p>
347
-<p class="sample">&lt;!-- END BLOCK : header --&gt;</p>
348
-<p>In addition to the <a href="#pagelinks">universal page links</a>, the 
349
-header.tpl also has two other variables assigned to it.&nbsp; The use of these 
350
-variables is optional.</p>
351
-<p>{sitename} - Your site name<br>
352
-{slogan} - Your site slogan</p>
353
-<p>Content assigned to the header in the admin panel or in the skin's 
354
-variables.php file will also be included here.</p>
355
-<p class="sampleLabel">Sample: </p>
356
-<p class="sample">&lt;!-- START BLOCK : header --&gt;<br>
357
-  &lt;body&gt;<br>
358
-  &lt;div id=&quot;container&quot;&gt;<br>
359
-  &lt;div id=&quot;banner&quot;&gt;&lt;div style=&quot;font-size: 40pt; font-style: 
360
-  oblique;&quot;&gt;{sitename}&lt;/div&gt;&lt;div style=&quot;font-size: 13pt;&quot;&gt;{slogan}&lt;/div&gt;&lt;div 
361
-  id=&quot;skin&quot;&gt;{skinchange_content}&lt;div style=&quot;padding: 5px;&quot;&gt;{rss}&lt;/div&gt;&lt;/div&gt;<br>
362
-  &lt;/div&gt;<br>
363
-  {menu_content}<br>
364
-  &lt;div id=&quot;mainpage&quot;&gt;<br>
365
-  &lt;!-- END BLOCK : header --&gt;</p>
366
-<p><a name="index">index.tpl</a></p>
367
-<p>This file controls the look of your site's home/index page. </p>
368
-<p>You will need to start by including the header block.</p>
369
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;</p>
370
-<p>And end by including the footer block.</p>
371
-<p class="sample"> &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
372
-<p>In addition to the <a href="#pagelinks">universal page links</a>, the 
373
-index.tpl also has one other variable assigned to it.&nbsp; </p>
374
-<p>{welcome} - Your welcome message.</p>
375
-<p>Content assigned to &quot;index only&quot; in the admin panel or in the skin's 
376
-variables.php file will also be included here.&nbsp; The sample below creates a 
377
-two column index page via positioning.&nbsp; See the style.css in the 
378
-default_tpls for the leftindex and rightindex style declarations.</p>
379
-<p class="sampleLabel">Sample: </p>
380
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;<br>
381
-&lt;div style=&quot;padding: 1em 0; margin-bottom: -2em;&quot; class=&quot;clearfix&quot;&gt;<br>
382
-&lt;div id=&quot;leftindex&quot;&gt;<br>
383
-&lt;div class=&quot;block&quot;&gt;<br>
384
-&lt;div class=&quot;title&quot;&gt;{info_title}&lt;/div&gt;<br>
385
-&lt;div class=&quot;content&quot;&gt;{welcome}{info_content}&lt;br&gt;&lt;div style=&quot;width: 130px; 
386
-text-align: center; margin: 0 25px;&quot;&gt;{login_content}&lt;/div&gt;&lt;/div&gt;<br>
387
-&lt;/div&gt;<br>
388
-&lt;div class=&quot;block&quot;&gt;<br>
389
-&lt;div class=&quot;title&quot;&gt;{random_title}&lt;/div&gt;<br>
390
-&lt;div class=&quot;content&quot;&gt;{random_content}&lt;/div&gt;<br>
391
-&lt;/div&gt;<br>
392
-&lt;/div&gt;<br>
393
-&lt;div id=&quot;rightindex&quot;&gt;<br>
394
-&lt;div class=&quot;block&quot;&gt;<br>
395
-&lt;div class=&quot;title&quot;&gt;{categories_title}&lt;/div&gt;<br>
396
-&lt;div class=&quot;content&quot;&gt;&lt;div style=&quot;width: 95%&quot;&gt;{categories_content}&lt;/div&gt;&lt;/div&gt;<br>
397
-&lt;/div&gt;<br>
398
-&lt;div class=&quot;block&quot;&gt;<br>
399
-&lt;div class=&quot;title&quot;&gt;{recent_title}&lt;/div&gt;<br>
400
-&lt;div class=&quot;content&quot;&gt;{recent_content}&lt;/div&gt;<br>
401
-&lt;/div&gt;<br>
402
-&lt;div class=&quot;block&quot;&gt;<br>
403
-&lt;div class=&quot;title&quot;&gt;{news_title}&lt;/div&gt;<br>
404
-&lt;div class=&quot;content&quot;&gt;{news_content}&lt;/div&gt;<br>
405
-&lt;/div&gt;<br>
406
-&lt;/div&gt;<br>
407
-&lt;/div&gt;<br>
408
-&lt;!-- INCLUDE BLOCK : footer --&gt;</p>
409
-<p><a name="listings">listings.tpl</a></p>
410
-<p>This block is included in all pages where stories or series are listed such 
411
-as titles, categories, user's profile page, search results, etc.&nbsp; It is an 
412
-expansion of storyblock.tpl from 1.1.&nbsp; </p>
413
-<p>You must start the file with:</p>
414
-<p class="sample">&lt;!-- START BLOCK : listings --&gt;</p>
415
-<p>and end it with:</p>
416
-<p class="sample">&lt;!-- END BLOCK : listings --&gt;</p>
417
-<p> In addition, the following variable should be included just above the end 
418
-  line:</p>
419
-<p>{pagelinks} - If the results for the page require pagination, this variable 
420
-  will contain the list of page links.</p>
421
-<p>This block contains 2 inner blocks that control the appearance of the 
422
-individual series and stories.</p>
423
-<p>Both the seriesblock and storyblock should contain the following variables:</p>
424
-<p>{title} - Title of the story/series<br>
425
-  {author} - Author (Owner if it's an open series) of the story/series<br>
426
-  {score} - The story/series rating by members like/dislike or stars<br>
427
-  {reviews} - A link to the reviews for the story/series<br>
428
-  {numreviews} - the number of reviews linked to a listing of reviews for the 
429
-  story/series<br>
430
-  {summary} - The summary for the story/series<br>
431
-  {category} - The categories for the story/series<br>
432
-  {classifications} - The list of classifications for the story/series (genres, 
433
-  warnings, etc.)<br>
434
-  {characters} - The characters for the story/series<br>
435
-  {reportthis} - A link to report problems, errors, etc. with this story/series<br>
436
-  {addtofaves} - The option to add the story/series to favorites.<br>
437
-  {comment} - Will be used for favorite stories and also in certain reviews pages 
438
-  to display comments and reviews about the story/series</p>
439
-<p>Optional for both seriesblock and storyblock is the variable {oddeven}.&nbsp; 
440
-  This variable can be used to assign &quot;odd&quot; or &quot;even&quot; status 
441
-  to the block for CSS styling.</p>
442
-<p>The seriesblock will have the following additional variables:</p>
443
-<p> {adminoptions} - Options visible to the admin when viewing the page.&nbsp;<br>
444
-  {open} - Whether or not the series is open to contributions from others (like 
445
-  a round robin)<br>
446
-  {parentseries} - If the series is a sub-series of another, the parent series 
447
-  will be listed here.<br>
448
-  {numstories} - The number of stories within the series.<br>
449
-</p>
450
-<p>The storyblock will have the following additional variables:</p>
451
-<p>{adminlinks} - Options visible to the admin when viewing the page.<br>
452
-  {serieslinks} - If the story is part of a series this will contain a link to 
453
-  those series.<br>
454
-  {numchapters} - The number of chapters in the story.<br>
455
-  {completed} - Whether or not the story is complete.<br>
456
-  {wordcount} - The total number of words in the story (all chapters)<br>
457
-  {toc} - A link to the story's table of contents<br>
458
-  {count} - The count for the number of times the story has been viewed.<br>
459
-  {roundrobin} - If this story is a round robin an icon will be displayed showing 
460
-  this.<br>
461
-  {new} - If the site has set a &quot;recent&quot; date range new or updated stories 
462
-  falling within that range will be flagged a &quot;New!&quot; using this variable.<br>
463
-  {featuredstory} - If the story is listed as a featured story or a retired feature 
464
-  story an icon will be displayed showing this status.<br>
465
-  {published} - The date the story was published.<br>
466
-  {updated} - The date the story was last updated.</p>
467
-<p class="sampleLabel">Sample:</p>
468
-<p class="sample">&lt;!-- START BLOCK : listings --&gt;<br>
469
-  &lt;!-- START BLOCK : seriesblock --&gt;<br>
470
-  &lt;div class=&quot;listbox {oddeven}&quot;&gt;<br>
471
-  &lt;div class=&quot;title&quot;&gt;{title} by {author}{score} [{reviews} - {numreviews}]&lt;/div&gt;<br>
472
-  &lt;div class=&quot;content&quot;&gt;&lt;span class=&quot;label&quot;&gt;Summary: 
473
-  &lt;/span&gt;{summary}&lt;br /&gt;<br>
474
-  &lt;span class=&quot;label&quot;&gt;Parent Series:&lt;/span&gt; {parentseries}&lt;br 
475
-  /&gt;<br>
476
-  &lt;span class=&quot;label&quot;&gt;Categories:&lt;/span&gt; {category}&lt;br 
477
-  /&gt;<br>
478
-  &lt;span class=&quot;label&quot;&gt;Characters: &lt;/span&gt;{characters}&lt;br 
479
-  /&gt;<br>
480
-  {classifications}<br>
481
-  &lt;span class=&quot;label&quot;&gt;Stories:&lt;/span&gt; {numstories}&lt;br 
482
-  /&gt;<br>
483
-  &lt;span class=&quot;label&quot;&gt;Open:&lt;/span&gt; {open} {addtofaves} {reportthis}<br>
484
-  {adminoptions}&lt;/div&gt;<br>
485
-  &lt;/div&gt;<br>
486
-  {comment}<br>
487
-  &lt;!-- END BLOCK : seriesblock --&gt;<br>
488
-  &lt;!-- START BLOCK : storyblock --&gt;<br>
489
-  &lt;div class=&quot;listbox {oddeven}&quot;&gt;<br>
490
-  &lt;div class=&quot;title&quot;&gt;{title} by {author} &lt;span class=&quot;label&quot;&gt;Rated:&lt;/span&gt; 
491
-  {rating} {roundrobin} {score} [{reviews} - {numreviews}] {new} &lt;/div&gt;<br>
492
-  &lt;div class=&quot;content&quot;&gt;&lt;span class=&quot;label&quot;&gt;Summary: 
493
-  &lt;/span&gt;{featuredstory}{summary}&lt;br /&gt;<br>
494
-  &lt;span class=&quot;label&quot;&gt;Categories:&lt;/span&gt; {category} &lt;br 
495
-  /&gt;<br>
496
-  &lt;span class=&quot;label&quot;&gt;Characters: &lt;/span&gt; {characters}&lt;br 
497
-  /&gt;<br>
498
-  {classifications}<br>
499
-  &lt;span class=&quot;label&quot;&gt;Series:&lt;/span&gt; {serieslinks}&lt;br 
500
-  /&gt;<br>
501
-  &lt;span class=&quot;label&quot;&gt;Chapters: &lt;/span&gt; {numchapters} {toc}&lt;br 
502
-  /&gt;<br>
503
-  &lt;span class=&quot;label&quot;&gt;Completed:&lt;/span&gt; {completed} <br>
504
-  &lt;span class=&quot;label&quot;&gt;Word count:&lt;/span&gt; {wordcount} &lt;span 
505
-  class=&quot;label&quot;&gt;Read Count:&lt;/span&gt; {count}<br>
506
-  {adminlinks}&lt;/div&gt;<br>
507
-  &lt;div class=&quot;tail&quot;&gt;&lt;span class=&quot;label&quot;&gt;{addtofaves} 
508
-  {reportthis} Published: &lt;/span&gt;{published} &lt;span class=&quot;label&quot;&gt;Updated:&lt;/span&gt; 
509
-  {updated}&lt;/div&gt;<br>
510
-  &lt;/div&gt;<br>
511
-  {comment}<br>
512
-  &lt;!-- END BLOCK : storyblock --&gt;<br>
513
-  {pagelinks}<br>
514
-  &lt;!-- END BLOCK : listings --&gt;</p>
515
-<p><a name="newsbox">newsbox.tpl</a></p>
516
-<p>This block displays one news story, and will be called by the news block and 
517
-  is also used in the news archive page.</p>
518
-<p>You must start the file with:</p>
519
-<p class="sample">&lt;!-- START BLOCK : newsbox --&gt;</p>
520
-<p>and end it with:</p>
521
-<p class="sample">&lt;!-- END BLOCK : newsbox --&gt;</p>
522
-<p>At a minimum, the following variables should be included in the block.&nbsp; 
523
-</p>
524
-<p>{newstitle} - The title of the news story<br>
525
-  {newsstory} - The content of the news story<br>
526
-  {newsauthor} - The author of the news story<br>
527
-  {newsdate} - The date the news item was added to the site<br>
528
-  {newscomments} - The number of comments the story has received with a link to 
529
-  view the comments.</p>
530
-<p>Additionally, if you wish administrator options to appear when an admin views 
531
-  the story you should include:</p>
532
-<p>{adminoptions}</p>
533
-<p>Finally, if you want alternating stories to appear with different CSS options 
534
-  you can include:</p>
535
-<p>{oddeven} - Where this variable is placed the word &quot;even&quot; will appear 
536
-  in even numbered stories and the word &quot;odd&quot; will appear in odd numbered 
537
-  stories.</p>
538
-<p class="sampleLabel">Sample:</p>
539
-<p class="sample">&lt;!-- START BLOCK : newsbox --&gt;<br>
540
-  &lt;div class=&quot;newsbox_{oddeven}&quot;&gt;<br>
541
-  &lt;div class=&quot;newstitle&quot;&gt;{newstitle} {adminoptions}&lt;/div&gt;<br>
542
-  {newsstory}&lt;br /&gt;&lt;br /&gt;<br>
543
-  --{newsauthor} on {newsdate} {newscomments}<br>
544
-  &lt;/div&gt;<br>
545
-  &lt;!-- END BLOCK : newsbox --&gt;</p>
546
-<p><a name="printstory"></a>printstory.tpl</p>
547
-<p>This template is used when the print story function is used. Generally this 
548
-  is another block that you can probably leave to the default_tpls. The following 
549
-  variables should be included in this template:</p>
550
-<p>{title} - The title of the story<br>
551
-  {author} - The author(s) of the story<br>
552
-  {featuredstory} - The featured/retired icon will be displayed here if the story 
553
-  is featured.<br>
554
-  {summary} - The summary of the story<br>
555
-  {category} - The story's categories<br>
556
-  {characters} - The story's character list<br>
557
-  {classifications} - The other classification information for the story (genres, 
558
-  warnings, etc.)<br>
559
-  {challengelinks} - The challenges to which this story is a response<br>
560
-  {serieslinks} - The list of series to which this story belongs<br>
561
-  {numchapters} - The number of chapters in the story<br>
562
-  {completed} - Whether or not the story is complete<br>
563
-  {wordcount} - The word count for the story<br>
564
-  {count} - The read count for the story<br>
565
-  {published} - The date the story was published<br>
566
-  {updated} - The date the story was updated<br>
567
-  {copyright} - The print version of the site's copyright notice<br>
568
-  {archivedat} - A statement of where the story is archived at.</p>
569
-<p>In addition to these variables there are several blocks included in this template. 
570
-  The storynotes block will be displayed if the story contains notes. It contains 
571
-  one variable, {storynotes}. The next block should be the storyindexblock. For 
572
-  multi-chapter stories, this will be the table of contents. The storyindexblock 
573
-  will be one chapter's worth of information about the story. The following variables 
574
-  can be included in the storyindexblock:</p>
575
-<p>{title} - The chapter's title<br>
576
-  {author} - The author of the chapter<br>
577
-  {chapternumber} - The chapter number.</p>
578
-<p>The next block will be the chapter information for each chapter. This block 
579
-  contains blocks inside it for the chapter notes and endnotes. The following 
580
-  variables can be included in the chapterblock:</p>
581
-<p>{chaptertitle} - The title of the chapter<br>
582
-  {chapterauthor} - The author of the chapter<br>
583
-  {chaptertext} - The text of the chapter<br>
584
-  {back2top} - An anchor back to the top of the document.</p>
585
-<p>The notes block contains a single variable {notes} and the endnotes block contains 
586
-  a single variable {endnotes}. These blocks plus the storynotes block are placed 
587
-  in blocks so that html can be used around the blocks if the information is present 
588
-  and hidden when not.</p>
589
-<p class="sampleLabel">Sample:</p>
590
-<p class="sample">&lt;div id=&quot;pagetitle&quot;&gt;{title} by {author}&lt;/div&gt;<br>
591
-  &lt;div class=&quot;infobox&quot;&gt;<br>
592
-  &lt;div class=&quot;content&quot;&gt;{featuredstory}&lt;span class=&quot;label&quot;&gt;Summary: 
593
-  &lt;/span&gt;{summary}&lt;br /&gt;<br>
594
-  &lt;span class=&quot;label&quot;&gt;Categories:&lt;/span&gt; {category} &lt;span 
595
-  class=&quot;label&quot;&gt;Characters: &lt;/span&gt; {characters}&lt;br /&gt;<br>
596
-  {classifications}<br>
597
-  &lt;span class=&quot;label&quot;&gt;Challenges:&lt;/span&gt; {challengelinks}&lt;br 
598
-  /&gt; &lt;span class=&quot;label&quot;&gt;Series:&lt;/span&gt; {serieslinks}&lt;br 
599
-  /&gt;<br>
600
-  &lt;span class=&quot;label&quot;&gt;Chapters: &lt;/span&gt; {numchapters} &lt;span 
601
-  class=&quot;label&quot;&gt;Completed:&lt;/span&gt; {completed} <br>
602
-  &lt;span class=&quot;label&quot;&gt;Word count:&lt;/span&gt; {wordcount} &lt;span 
603
-  class=&quot;label&quot;&gt;Read:&lt;/span&gt; {count}<br>
604
-  &lt;span class=&quot;label&quot;&gt; Published: &lt;/span&gt;{published} &lt;span 
605
-  class=&quot;label&quot;&gt;Updated:&lt;/span&gt; {updated} &lt;/div&gt;<br>
606
-  &lt;/div&gt;<br>
607
-  &lt;!-- START BLOCK : storynotes --&gt;<br>
608
-  &lt;div class='notes'&gt;&lt;div class='title'&gt;&lt;span class='label'&gt;Story 
609
-  Notes:&lt;/span&gt;&lt;/div&gt;&lt;div class='noteinfo'&gt;{storynotes}&lt;/div&gt;&lt;/div&gt;<br>
610
-  &lt;!-- END BLOCK : storynotes --&gt;<br>
611
-  &lt;!-- START BLOCK : storyindexblock --&gt;<br>
612
-  &lt;p&gt;&lt;b&gt;{chapternumber}.&lt;/b&gt; {title} by {author}&lt;/p&gt;<br>
613
-  &lt;!-- END BLOCK : storyindexblock --&gt;<br>
614
-  &lt;!-- START BLOCK : chapterblock --&gt;<br>
615
-  &lt;div class='chaptertitle'&gt;{chaptertitle} by {chapterauthor}&lt;/div&gt;<br>
616
-  &lt;!-- START BLOCK : notes --&gt;<br>
617
-  &lt;div class='notes'&gt;&lt;div class='title'&gt;&lt;span class='label'&gt;Author's 
618
-  Notes:&lt;/div&gt;&lt;div class='noteinfo'&gt;{notes}&lt;/div&gt;&lt;/div&gt;<br>
619
-  &lt;!-- END BLOCK : notes --&gt;<br>
620
-  &lt;div class='chapter'&gt;{chaptertext}&lt;/div&gt;<br>
621
-  &lt;!-- START BLOCK : endnotes --&gt;<br>
622
-  &lt;div class='notes'&gt;&lt;div class='title'&gt;&lt;span class='label'&gt;End 
623
-  Notes:&lt;/div&gt;&lt;div class='noteinfo'&gt;{endnotes}&lt;/div&gt;&lt;/div&gt;<br>
624
-  &lt;!-- END BLOCK : endnotes --&gt;<br>
625
-  &lt;div class='toplink'&gt;{back2top}&lt;/div&gt;<br>
626
-  &lt;!-- END BLOCK : chapterblock --&gt;<br>
627
-  &lt;div id=&quot;copyright&quot;&gt;{copyright}&lt;/div&gt;<br>
628
-  &lt;div id=&quot;archivedat&quot;&gt;{archivedat}&lt;/div&gt;</p>
629
-<p><a name="profile"></a>profile.tpl</p>
630
-<p>This template is used in the author's profile page. It's been separated out 
631
-  of the user.tpl so that it can be re-used in other panels if needed.</p>
632
-<p>You must start the file with:</p>
633
-<p class="sample">&lt;!-- START BLOCK : profile --&gt;</p>
634
-<p>and end it with:</p>
635
-<p class="sample">&lt;!-- END BLOCK : profile --&gt;</p>
636
-<p>The following variables can be included in this file:</p>
637
-<p>{realname} - The member's real name<br>
638
-  {userpenname} - The member's penname<br>
639
-  {membersince} - The date the member joined the site<br>
640
-  {userlevel} - The member's user level Member or Admin (if the person viewing 
641
-  the page is an admin they will see the admin level)<br>
642
-  {image} - The member's image from their bio information<br>
643
-  {bio} - The autor's bio<br>
644
-  {authorfields} - The list of admin defined author fields. i.e. aol, icq, etc.<br>
645
-  {adminoptions} - A list of admin options about the member (visible only to admins)<br>
646
-  {reportthis} - A report this link for the members profile</p>
647
-<p>For each active authorfield, you will also have a variable for that information. 
648
-  For instance, if you've activated the AOL authorfield, the variable {aol} will 
649
-  also output the aol information for the member. </p>
650
-<p>Note: this is for a non-bridged site. If you've bridged your site, the variables 
651
-  available to your profile will depend on how your bridge is set up.</p>
652
-<p class="sampleLabel">Sample:</p>
653
-<p class="sample">&lt;!-- START BLOCK : profile --&gt;<br>
654
-  &lt;div id=&quot;profile&quot;&gt;<br>
655
-  &lt;div id=&quot;bio&quot;&gt;<br>
656
-  &lt;div id=&quot;biotitle&quot;&gt;&lt;span class=&quot;label&quot;&gt;Penname: 
657
-  &lt;/span&gt;{userpenname} &lt;span class=&quot;label&quot;&gt;Real name: &lt;/span&gt;{realname}&lt;/div&gt;<br>
658
-  &lt;div id=&quot;biocontent&quot;&gt;<br>
659
-  &lt;span class=&quot;label&quot;&gt;Member Since: &lt;/span&gt;{membersince}&lt;br 
660
-  /&gt;<br>
661
-  &lt;span class=&quot;label&quot;&gt;Membership status:&lt;/span&gt; {userlevel}&lt;br 
662
-  /&gt;<br>
663
-  &lt;span class=&quot;label&quot;&gt;Bio:&lt;/span&gt;&lt;br&gt;{image}{bio}&lt;br 
664
-  /&gt;<br>
665
-  {authorfields} <br>
666
-  &lt;/div&gt;<br>
667
-  &lt;/div&gt;<br>
668
-  {adminoptions} {reportthis}<br>
669
-  &lt;/div&gt;<br>
670
-  &lt;!-- END BLOCK : profile --&gt;</p>
671
-<p><a name="reviewblock"></a>reviewblock.tpl</p>
672
-<p>This block controls the display of an individual review. It's been separated 
673
-  from the reviews.tpl file so it can be re-used in other panels.</p>
674
-<p>You must start the file with:</p>
675
-<p class="sample">&lt;!-- START BLOCK : reviewsblock --&gt;</p>
676
-<p>and end it with:</p>
677
-<p class="sample">&lt;!-- END BLOCK : reviewsblock --&gt;</p>
678
-<p>The following variables can be included in this file:</p>
679
-<p>{reviewer} - The name of the reviewer<br>
680
-  {member} - The words Signed or Anonymous depending on whether the reviewer was 
681
-  a member<br>
682
-  {rating} - The thumbs up/down or star rating the reviewer gave<br>
683
-  {reportthis} - A link to report trouble with this review<br>
684
-  {reviewdate} - The date the review was given<br>
685
-  {chapter} - The title of the item being reviewed (chapter if it's a story and 
686
-  the chapter is named)<br>
687
-  {review} - The text of the review<br>
688
-  {adminoptions} - Admin options for the review</p>
689
-<p class="sampleLabel">Sample:</p>
690
-<p class="sample">&lt;!-- START BLOCK : reviewsblock --&gt;<br>
691
-  &lt;div class=&quot;listbox&quot;&gt;<br>
692
-  &lt;div class=&quot;content{oddeven}&quot;&gt;<br>
693
-  &lt;span class=&quot;label&quot;&gt;Reviewer: &lt;/span&gt;{reviewer} &lt;span 
694
-  class=&quot;label&quot;&gt;{member}&lt;/span&gt; {rating} {reportthis}&lt;br 
695
-  /&gt;<br>
696
-  &lt;span class=&quot;label&quot;&gt;Date: &lt;/span&gt;{reviewdate}<br>
697
-  &lt;span class=&quot;label&quot;&gt;Title: &lt;/span&gt;{chapter}<br>
698
-  &lt;p&gt;{review}&lt;/p&gt;<br>
699
-  {adminoptions}<br>
700
-  &lt;/div&gt;<br>
701
-  &lt;/div&gt;<br>
702
-  &lt;!-- END BLOCK : reviewsblock --&gt;</p>
703
-<p><a name="reviews">reviews.tpl</a></p>
704
-<p>This block controls the display of the reviews page.&nbsp; This .tpl includes 
705
-an inner block that formats the individual reviews on the page.&nbsp; The 
706
-following variables are included in the reviews.tpl</p>
707
-<p>{pagetitle} - The title of the page<br>
708
-  {output} - Used for error and confirmation messages.&nbsp; Should probably be 
709
-  included just below {pagetitle}<br>
710
-  {jumpmenu} - Displays the jump menu for reviews pages that require it.<br>
711
-  {reviewpagelinks} - Used for pagination.&nbsp; Should be included AFTER the 
712
-  reviewsblock<br>
713
-  {reviewslink} - Link inviting visitor to submit a review (Optional can use {reviewsform} 
714
-  instead) <br>
715
-  {reviewsform} - The review form. (Optional can use {reviewslink} instead)</p>
716
-<p>You will need to start by including the header block.</p>
717
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;</p>
718
-<p>And end by including the footer block.</p>
719
-<p class="sample"> &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
720
-<p class="sampleLabel">Sample:</p>
721
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;<br>
722
-  {pagetitle}<br>
723
-  &lt;div class=&quot;respond&quot;&gt;{reviewslink}&lt;/div&gt;<br>
724
-  &lt;div class=&quot;jumpmenu&quot;&gt;{jumpmenu}&lt;/div&gt;<br>
725
-  {output}<br>
726
-  &lt;!-- INCLUDE BLOCK : reviewsblock --&gt;<br>
727
-  {reviewpagelinks}<br>
728
-  {reviewform}<br>
729
-  &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
730
-<p><a name="seriestitle"></a>series_title.tpl</p>
731
-<p>This template displays the title block information on a series page. </p>
732
-<p>You must start the file with:</p>
733
-<p class="sample">&lt;!-- START BLOCK: series --&gt;</p>
734
-<p>and end it with:</p>
735
-<p class="sample">&lt;!-- END BLOCK : series --&gt;</p>
736
-<p>The following variables can be included in this file:</p>
737
-<p>{pagetitle} - This will be the series title and author links<br>
738
-  {rating} - The thumbs up/down or star rating for the series<br>
739
-  {summary} - The series' summary<br>
740
-  {category} - The category information for the series<br>
741
-  {characters} - The characters for the series<br>
742
-  {classifications} - The other classification information for the series (genres, 
743
-  warnings, etc.)<br>
744
-  {parentseries} - If this series has a parent, this will be a link to the parent 
745
-  series<br>
746
-  {numstories} - The number of stories in the series<br>
747
-  {open} - The open status of the series <br>
748
-  {adminoptions} - The admin options for the series<br>
749
-  {addtofaves} - The link to add the series to favorites<br>
750
-  {jump} - The dropdown list of options for the series.</p>
751
-<p class="sampleLabel">Sample:</p>
752
-<p class="sample">&lt;!-- START BLOCK : series --&gt;<br>
753
-  &lt;div id=&quot;pagetitle&quot;&gt;{pagetitle} {rating}&lt;/div&gt;<br>
754
-  &lt;div id=&quot;titleinfo&quot;&gt; [{reviews} - {numreviews}]&lt;/div&gt;<br>
755
-  &lt;div id=&quot;titleblock&quot;&gt;<br>
756
-  &lt;span class=&quot;label&quot;&gt;Summary:&lt;/span&gt; {summary}&lt;br /&gt;<br>
757
-  &lt;span class=&quot;label&quot;&gt;Categories:&lt;/span&gt; {category}&lt;br 
758
-  /&gt;<br>
759
-  &lt;span class=&quot;label&quot;&gt;Characters:&lt;/span&gt; {characters}&lt;br 
760
-  /&gt;<br>
761
-  {classifications}<br>
762
-  &lt;span class=&quot;label&quot;&gt;Parent Series:&lt;/span&gt; {parentseries}&lt;br 
763
-  /&gt;<br>
764
-  &lt;span class=&quot;label&quot;&gt;Stories:&lt;/span&gt; {numstories}&lt;br 
765
-  /&gt;<br>
766
-  &lt;span class=&quot;label&quot;&gt;Open Series:&lt;/span&gt; {open}&lt;br /&gt;<br>
767
-  &lt;span class=&quot;label&quot;&gt;{adminoptions}{addtofaves}&lt;br /&gt;<br>
768
-  &lt;/div&gt;<br>
769
-  &lt;div class=&quot;jumpmenu&quot;&gt;{jump}&lt;/div&gt;<br>
770
-  &lt;!-- END BLOCK : series --&gt;</p>
771
-<p><a name="storyindex"></a>storyindex.tpl</p>
772
-<p>This template controls the story index (table of contents) for an individual 
773
-  story. </p>
774
-<p>You will need to start by including the header block.</p>
775
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;</p>
776
-<p>And end by including the footer block.</p>
777
-<p class="sample"> &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
778
-<p>The following variables may be included in this template:</p>
779
-<p>{title} - The title of the story<br>
780
-  {author} - The author(s) of the story<br>
781
-  {reviews} - A link to the reviews for the story with the word &quot;Reviews&quot; 
782
-  as text<br>
783
-  {numreviews} - A link to the reviews for the story with the number of reviews 
784
-  as the text<br>
785
-  {score} - The thumbs up/down or star rating for a story<br>
786
-  {jumpmenu} - The dropdown menu of chapters in the story<br>
787
-  {featuredstory} - The featured/retired icon<br>
788
-  {summary} - The summary of the story<br>
789
-  {rating} - The story's content rating<br>
790
-  {category} - The story's categories<br>
791
-  {characters} - The list of characters for the story<br>
792
-  {classifications} - The other classifications for the story (genres, warnings, 
793
-  etc.)<br>
794
-  {serieslinks} - The list of series to which the story belongs<br>
795
-  {numchapters} - The number of chapters in the story<br>
796
-  {completed} - Yes or No depending on the status of the story<br>
797
-  {wordcount} - The total word count for the story<br>
798
-  {count} - The read count for the story<br>
799
-  {published} - The date the story was published<br>
800
-  {updated} - The date the story was last updated<br>
801
-  {adminlinks} - The admin options for the story<br>
802
-  {addtofaves} - The option to add this story to favorites<br>
803
-  {roundrobin} - The option to contribute to the round robin<br>
804
-  {jumpmenu2} - The drop down menu of options concerning the story<br>
805
-  {reviewform} - A form to submit a review of the story<br>
806
-  {reviewslink} - A link to review the story</p>
807
-<p>In addition there are two included blocks. The first is storynotes which includes 
808
-  one variable {storynotes} for the story notes. The second is the storyindexblock. 
809
-  The following information can be included in the storyindexblock for each chapter 
810
-  of the story:</p>
811
-<p>{chapternumber} - The chapter number<br>
812
-  {title} - The title of the chapter<br>
813
-  {author} - The author of the chapter<br>
814
-  {reviews} - The reviews link for reviews for that chapter<br>
815
-  {numreviews} - The number of reviews that chapter has received<br>
816
-  {ratingpics} - The thumbs up/down or star rating for that chapter<br>
817
-  {wordcount} - The word count for that chapter<br>
818
-  {chapternotes} - The chapter notes for that chapter (end notes are not displayed)<br>
819
-  {adminoptions} - Admin options for that chapter</p>
820
-<p class="sampleLabel">Sample:</p>
821
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;<br>
822
-  &lt;div id=&quot;pagetitle&quot;&gt;{title} by {author}&lt;/div&gt;<br>
823
-  &lt;div id=&quot;sort&quot;&gt; [{reviews} - {numreviews}] {score}{printicon}&lt;/div&gt;<br>
824
-  &lt;div id=&quot;output&quot;&gt;<br>
825
-  &lt;div class=&quot;jumpmenu&quot;&gt;{jumpmenu}&lt;/div&gt;<br>
826
-  &lt;div class=&quot;listbox&quot;&gt;<br>
827
-  &lt;div class=&quot;content&quot;&gt;{featuredstory}&lt;span class=&quot;label&quot;&gt;Summary: 
828
-  &lt;/span&gt;{summary}&lt;br /&gt;<br>
829
-  &lt;span class=&quot;label&quot;&gt;Rated:&lt;/span&gt; {rating}&lt;br /&gt;<br>
830
-  &lt;span class=&quot;label&quot;&gt;Categories:&lt;/span&gt; {category} &lt;span 
831
-  class=&quot;label&quot;&gt;Characters: &lt;/span&gt; {characters}&lt;br /&gt;<br>
832
-  {classifications}<br>
833
-  &lt;span class=&quot;label&quot;&gt;Challenges:&lt;/span&gt; {challengelinks}&lt;br 
834
-  /&gt; &lt;span class=&quot;label&quot;&gt;Series:&lt;/span&gt; {serieslinks}&lt;br 
835
-  /&gt;<br>
836
-  &lt;span class=&quot;label&quot;&gt;Chapters: &lt;/span&gt; {numchapters} &lt;span 
837
-  class=&quot;label&quot;&gt;Completed:&lt;/span&gt; {completed} &lt;br /&gt; 
838
-  <br>
839
-  &lt;span class=&quot;label&quot;&gt;Word count:&lt;/span&gt; {wordcount} &lt;span 
840
-  class=&quot;label&quot;&gt;Read:&lt;/span&gt; {count}&lt;br /&gt;<br>
841
-  &lt;span class=&quot;label&quot;&gt; Published: &lt;/span&gt;{published} &lt;span 
842
-  class=&quot;label&quot;&gt;Updated:&lt;/span&gt; {updated} &lt;/div&gt;<br>
843
-  {adminlinks}<br>
844
-  &lt;/div&gt;<br>
845
-  &lt;div style='text-align: center;'&gt;{addtofaves}&lt;/div&gt;<br>
846
-  &lt;!-- START BLOCK : storynotes --&gt;<br>
847
-  &lt;div class='notes'&gt;&lt;div class='title'&gt;&lt;span class='label'&gt;Story 
848
-  Notes:&lt;/span&gt;&lt;/div&gt;&lt;div class='noteinfo'&gt;{storynotes}&lt;/div&gt;&lt;/div&gt;<br>
849
-  &lt;!-- END BLOCK : storynotes --&gt;<br>
850
-  &lt;!-- START BLOCK : storyindexblock --&gt;<br>
851
-  &lt;p&gt;&lt;b&gt;{chapternumber}. {title} &lt;/b&gt;by {author} [{reviews} 
852
-  - {numreviews}] {ratingpics} ({wordcount} words)&lt;br /&gt;<br>
853
-  {chapternotes}{adminoptions}&lt;/p&gt;<br>
854
-  &lt;!-- END BLOCK : storyindexblock --&gt;<br>
855
-  &lt;div id=&quot;pagelinks&quot;&gt;&lt;div class=&quot;jumpmenu&quot;&gt;{jumpmenu2}&lt;/div&gt;&lt;/div&gt;<br>
856
-  &lt;div class=&quot;respond&quot;&gt;{roundrobin}&lt;/div&gt;<br>
857
-  {reviewform}<br>
858
-  &lt;/div&gt;<br>
859
-  &lt;!-- INCLUDE BLOCK : footer --&gt; </p>
860
-<p><a name="user">user.tpl</a></p>
861
-<p>This page displays the user profile page.&nbsp; </p>
862
-<p>You will need to start by including the header block.</p>
863
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;</p>
864
-<p>And end by including the footer block.</p>
865
-<p class="sample"> &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
866
-<p>In addition you will want to include the profile block as well.</p>
867
-<p class="sample">&lt;!-- INCLUDE BLOCK : profile --&gt;</p>
868
-<p>The user.tpl file includes one other block used to form the &quot;tabs&quot; 
869
-  for the profile panels. You can build these tabs any way you wish. The sample 
870
-  below places them inside a div with each individual tab as a span. Another idea 
871
-  is to use an unordered list. Within this block you can use the following variables:</p>
872
-<p>{class} - The class for that &quot;tab&quot; used to differentiate the current/active 
873
-  tab from the inactive tabs.<br>
874
-  {link} - The link to the tab<br>
875
-  {count} - The count of items in the tab (may be empty)<br>
876
-  {linkcount} - The link to the tab with the count of items in the tab included 
877
-  in the link</p>
878
-<p>In addition to these blocks, the following variables can be included:</p>
879
-<p>{adminoptions} - Options regarding this member's account<br>
880
-  {sort} - Gives the sort for when displaying the user's stories.<br>
881
-  {output} - Used for various messages and errors in panels.</p>
882
-<p class="sampleLabel">Sample: </p>
883
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;<br>
884
-  &lt;div id=&quot;profile&quot;&gt;<br>
885
-  &lt;!-- INCLUDE BLOCK : profile --&gt;<br>
886
-  {adminoptions}<br>
887
-  &lt;div id=&quot;sort&quot;&gt;{sort}&lt;/div&gt;<br>
888
-  &lt;/div&gt;<br>
889
-  &lt;div id=&quot;tabs&quot;&gt;<br>
890
-  &lt;!-- START BLOCK : paneltabs --&gt;<br>
891
-  &lt;span {class}&gt;{link} {count}&lt;/span&gt;<br>
892
-  &lt;!-- END BLOCK : paneltabs --&gt;<br>
893
-  &lt;div class='cleaner' style='clear: both;'&gt;&amp;nbsp;&lt;/div&gt;<br>
894
-  &lt;/div&gt;<br>
895
-  {output}<br>
896
-  &lt;!-- INCLUDE BLOCK : listings --&gt;<br>
897
-  &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
898
-<p><a name="viewstory">viewstory.tpl</a></p>
899
-<p>This page displays the story/chapter text.&nbsp; </p>
900
-<p>You will need to start by including the header block.</p>
901
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;</p>
902
-<p>And end by including the footer block.</p>
903
-<p class="sample"> &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
904
-<p>Three included blocks are used to display the story notes, chapter notes, and 
905
-  chapter end notes.</p>
906
-<p>In addition, the following variables may be included:</p>
907
-<p>{title} - The title of the story<br>
908
-  {author} - The author(s) of the story<br>
909
-  {reviews} - A link to the reviews for the story with the word &quot;Reviews&quot; 
910
-  as text<br>
911
-  {numreviews} - A link to the reviews for the story with the number of reviews 
912
-  as the text<br>
913
-  {score} - The thumbs up/down or star rating for a story<br>
914
-  {jumpmenu} - The dropdown menu of chapters in the story<br>
915
-  {featuredstory} - The featured/retired icon<br>
916
-  {summary} - The summary of the story<br>
917
-  {rating} - The story's content rating<br>
918
-  {category} - The story's categories<br>
919
-  {characters} - The list of characters for the story<br>
920
-  {classifications} - The other classifications for the story (genres, warnings, 
921
-  etc.)<br>
922
-  {serieslinks} - The list of series to which the story belongs<br>
923
-  {numchapters} - The number of chapters in the story<br>
924
-  {completed} - Yes or No depending on the status of the story<br>
925
-  {wordcount} - The total word count for the story<br>
926
-  {count} - The read count for the story<br>
927
-  {published} - The date the story was published<br>
928
-  {updated} - The date the story was last updated<br>
929
-  {adminlinks} - The admin options for the story<br>
930
-  {addtofaves} - The option to add this story to favorites<br>
931
-  {roundrobin} - The option to contribute to the round robin<br>
932
-  {jumpmenu2} - The drop down menu of options concerning the story<br>
933
-  {reviewform} - A form to submit a review of the story<br>
934
-  {reviewslink} - A link to review the story</p>
935
-<p></p>
936
-<p class="sampleLabel">Sample: </p>
937
-<p class="sample">&lt;!-- INCLUDE BLOCK : header --&gt;<br>
938
-  &lt;div id=&quot;pagetitle&quot;&gt;{title} by {author}&lt;/div&gt;<br>
939
-  &lt;div class=&quot;storyinfo&quot;&gt; [{reviews} - {numreviews}]&lt;br /&gt;<br>
940
-  {toc} {reportthis}&lt;br /&gt;<br>
941
-  {printicon} &lt;br /&gt;<br>
942
-  {adminlinks} &lt;/div&gt;<br>
943
-  &lt;div class=&quot;jumpmenu&quot;&gt;{textsizer}{jumpmenu}&lt;/div&gt;<br>
944
-  &lt;!-- START BLOCK : storynotes --&gt;<br>
945
-  &lt;div class='notes'&gt;<br>
946
-  &lt;div class='title'&gt;&lt;span class='label'&gt;Story Notes:&lt;/span&gt;&lt;/div&gt;<br>
947
-  &lt;div class='noteinfo'&gt;{storynotes}&lt;/div&gt;<br>
948
-  &lt;/div&gt;<br>
949
-  &lt;!-- END BLOCK : storynotes --&gt;<br>
950
-  &lt;!-- START BLOCK : notes --&gt;<br>
951
-  &lt;div class='notes'&gt;&lt;div class='title'&gt;&lt;span class='label'&gt;Author's 
952
-  Chapter Notes:&lt;/span&gt;&lt;/div&gt;&lt;div class='noteinfo'&gt;{notes}&lt;/div&gt;&lt;/div&gt;<br>
953
-  &lt;!-- END BLOCK : notes --&gt;<br>
954
-  &lt;div id=&quot;story&quot;&gt;{story}&lt;/div&gt;<br>
955
-  &lt;!-- START BLOCK : endnotes --&gt;<br>
956
-  &lt;div class='notes'&gt;&lt;div class='title'&gt;&lt;span class='label'&gt;Chapter 
957
-  End Notes:&lt;/span&gt;&lt;/div&gt;&lt;div class='noteinfo'&gt;{endnotes}&lt;/div&gt;&lt;/div&gt;<br>
958
-  &lt;!-- END BLOCK : endnotes --&gt;<br>
959
-  &lt;div id=&quot;prev&quot;&gt;{prev}&lt;/div&gt;&lt;div id=&quot;next&quot;&gt;{next}&lt;/div&gt;<br>
960
-  {storyend}{last_read}<br>
961
-  &lt;div class=&quot;jumpmenu2&quot;&gt;{jumpmenu2}&lt;/div&gt;<br>
962
-  &lt;div class=&quot;respond&quot;&gt;{addtofaves} {roundrobin}&lt;/div&gt;<br>
963
-  {reviewform}<br>
964
-  &lt;!-- INCLUDE BLOCK : footer --&gt;</p>
965
-<p><br>
966
-  &nbsp;</p>
967
-<p>&nbsp;</p>
968
-
969
-<p>&nbsp;</p>
970
-</body>
971
-
972
-</html>
973 0
\ No newline at end of file
974 1
deleted file mode 100644
... ...
@@ -1,141 +0,0 @@
1
-<html>
2
-
3
-<head>
4
-<meta http-equiv="Content-Language" content="en-us">
5
-<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
6
-<meta name="ProgId" content="FrontPage.Editor.Document">
7
-<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
8
-<title>Admin Panels</title>
9
-</head>
10
-
11
-<body>
12
-<p>Admin Panels:<br>
13
-  <br>
14
-  The admin panels control the different admin options for the site.&nbsp; In 
15
-  2.0 the list was static.&nbsp; Putting the admin options into panels allows 
16
-  site owners the option of changing the access level for the various features. 
17
-  It also allows new options to be added without editing everything.&nbsp; The 
18
-  0-4 levels in the panel are most applicable here.&nbsp; The levels 1 to 4 indicate 
19
-  the admin level required to access a certain feature.<br>
20
-  <br>
21
-  Message Settings <a href="#1">(1)</a><br>
22
-  Rejection Letter <a href="#1">(1)</a><a href="#2">(2)</a><br>
23
-  Validation Letter <a href="#1">(1)</a><a href="#2">(2)</a><br>
24
-  Validate Submission <a href="#1">(1)</a><a href="#2">(2)</a><br>
25
-  Censor <a href="#1">(1)</a><br>
26
-  Categories<br>
27
-  Panels<br>
28
-  Characters<br>
29
-  Settings<br>
30
-  Blocks<br>
31
-  Ratings<br>
32
-  Add New Story<br>
33
-  Add New Series<br>
34
-  Custom Pages<br>
35
-  Classifications<br>
36
-  News<br>
37
-  Members<br>
38
-  Featured Stories<br>
39
-  Submissions<br>
40
-  Page Links<br>
41
-  Admins<br>
42
-  Mail Users<br>
43
-  Skins<br>
44
-  PHP Info<br>
45
-  Action Log<br>
46
-  Profile Information<br>
47
-  <br>
48
-  Browse Panels:<br>
49
-  <br>
50
-  Browse panels control the &quot;Browse By&quot; area of the site.&nbsp; <br>
51
-  <br>
52
-  Most Recent <a href="#1">(1)</a><br>
53
-  Featured Stories <a href="#1">(1)</a><br>
54
-  Classes <a href="#1">(1)</a><a href="#2">(2)</a><br>
55
-  Categories<br>
56
-  Characters<br>
57
-  Ratings<br>
58
-  Series<br>
59
-  Titles<br>
60
-  <br>
61
-  Favorite Panels:<br>
62
-  <br>
63
-  The favorites panels are included both in the member &quot;Account Info&quot; 
64
-  page and the list of panels in the profile.&nbsp; In the &quot;Account Info&quot; 
65
-  area the panel must be set to level 1 to be visible in the list of options.&nbsp;Otherwise, 
66
-  they're used as part of the &quot;Manage Favorites&quot; panel.<br>
67
-  <br>
68
-  Favorite Stories <a href="#1">(1)</a><br>
69
-  Favorite Series <a href="#1">(1)</a><br>
70
-  Favorite Authors <a href="#1">(1)</a><br>
71
-  {author}'s Favorites<br>
72
-  <br>
73
-  Top 10 List Panels:<br>
74
-  <br>
75
-  The Top 10 panel. They're all turned on my default.&nbsp; If you turn favorites 
76
-  off, it is suggested that you hide, not delete, the favorites panels. (You could 
77
-  change your mind later.)<br>
78
-  <br>
79
-  10 Largest Series<br>
80
-  10 Smallest Series<br>
81
-  10 Most Reviewed Series<br>
82
-  10 Longest Stories<br>
83
-  10 Shortest Stories<br>
84
-  10 Most Reviewed Stories<br>
85
-  10 Most Read Stories<br>
86
-  10 Most Responded to Challenges<br>
87
-  10 Most Favorite Stories<br>
88
-  10 Most Prolific Reviewers<br>
89
-  10 Most Prolific Authors<br>
90
-  10 Most Reviewed Recommendations<br>
91
-  <br>
92
-  Profile Panels:<br>
93
-  <br>
94
-  These are the panels that will be displayed on the user's profile page along 
95
-  with the non-hidden favorites panels.&nbsp; <br>
96
-  <br>
97
-  Contact <a href="#1">(1)</a><a href="#2">(2)</a><br>
98
-  Stories by {author}<br>
99
-  Series by {author}<br>
100
-  Reviews by {author}<br>
101
-  <br>
102
-  Submissions Panels:<br>
103
-  <br>
104
-  The submission panels will only be displayed in the user panel if submissions 
105
-  are turned on. They were placed in a type separate from the user panels so they 
106
-  would be turned on and off<br>
107
-  together based on the submission site settings.<br>
108
-  <br>
109
-  Add New Story<br>
110
-  Manage Stories<br>
111
-  Add New Series<br>
112
-  Manage Series<br>
113
-  Manage Images<br>
114
-  <br>
115
-  User Account Panels:<br>
116
-  <br>
117
-  As an extra level of security here.&nbsp; The &quot;level&quot; of the panel 
118
-  should be set to either 0 or 1.&nbsp; Panels with level 0 will be displayed 
119
-  to anyone.&nbsp; Panels with level 1 will be displayed only to logged in<br>
120
-  members.&nbsp; The login, register, and lost password panels are currently the 
121
-  only panels set to level 0 for the user account area.<br>
122
-  <br>
123
-  Login <a href="#1">(1)</a><br>
124
-  Your Reviews <a href="#1">(1)</a><br>
125
-  Reviews Received <a href="#1">(1)</a><br>
126
-  Review Response <a href="#1">(1)</a><a href="#2">(2)</a><br>
127
-  Lost Password<br>
128
-  Register<br>
129
-  Edit Bio<br>
130
-  Edit Preferences<br>
131
-  View Your Statistics<br>
132
-  Manage Favorites<br>
133
-  Logout<br>
134
-  <br>
135
-  (1)<a name="1"></a>&nbsp; Hidden by default.<br>
136
-  (2)<a name="2"></a>&nbsp; System panels.&nbsp; You should not need to alter 
137
-  these settings and may cause errors if you do.</p>
138
-
139
-</body>
140
-
141
-</html>
... ...
@@ -1,8 +1,8 @@
1 1
 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 2
 (2, 'recent', 'Most Recent', 'browse.php?type=recent', '0', 0),
3
-(3, 'login', 'Login', 'user.php?action=login', '0', 0),
3
+(3, 'login', 'Login', 'member.php?action=login', '0', 0),
4 4
 (4, 'adminarea', 'Admin', 'admin.php', '0', 2),
5
-(5, 'logout', 'Logout', 'user.php?action=logout', '0', 1),
5
+(5, 'logout', 'Logout', 'member.php?action=logout', '0', 1),
6 6
 (6, 'featured', 'Featured Stories', 'browse.php?type=featured', '0', 0),
7 7
 (7, 'catslink', 'Categories', 'browse.php?type=categories', '0', 0),
8 8
 (8, 'members', 'Members', 'authors.php?action=list', '0', 0),
... ...
@@ -16,11 +16,11 @@ INSERT INTO `e107_fanfiction_pagelinks` (`link_id`, `link_name`, `link_text`, `l
16 16
 (16, 'rules', 'Rules', 'viewpage.php?page=rules', '0', 0),
17 17
 (17, 'tos', 'Terms of Service', 'viewpage.php?page=tos', '0', 0),
18 18
 (18, 'rss', '<img src=''images/xml.gif'' alt=''RSS'' border=''0''>', 'rss.php', '0', 0),
19
-(19, 'login', 'Account Info', 'user.php', '0', 1),
19
+(19, 'login', 'Account Info', 'member.php', '0', 1),
20 20
 (20, 'titles', 'Titles', 'browse.php?type=titles', '0', 0),
21
-(21, 'register', 'Register', 'user.php?action=register', '0', 0),
22
-(22, 'lostpassword', 'Lost Password', 'user.php?action=lostpassword', '0', 0),
23
-(23, 'newsarchive', 'News Archive', 'news.php', '0', 0),
21
+(21, 'register', 'Register', 'member.php?action=register', '0', 0),
22
+(22, 'lostpassword', 'Lost Password', 'member.php?action=lostpassword', '0', 0),
23
+(23, 'newsarchive', 'News Archive', 'ffnews.php', '0', 0),
24 24
 (24, 'browse', 'Browse', 'browse.php', '0', 0),
25 25
 (25, 'charslink', 'Characters', 'browse.php?type=characters', '0', 0),
26 26
 (26, 'ratings', 'Ratings', 'browse.php?type=ratings', '0', 0);
27 27
new file mode 100644
... ...
@@ -0,0 +1,152 @@
1
+<?php
2
+// ----------------------------------------------------------------------
3
+// Copyright (c) 2007 by Tammy Keefer
4
+// Based on eFiction 1.1
5
+// Copyright (C) 2003 by Rebecca Smallwood.
6
+// http://efiction.sourceforge.net/
7
+// ----------------------------------------------------------------------
8
+// LICENSE
9
+//
10
+// This program is free software; you can redistribute it and/or
11
+// modify it under the terms of the GNU General Public License (GPL)
12
+// as published by the Free Software Foundation; either version 2
13
+// of the License, or (at your option) any later version.
14
+//
15
+// This program is distributed in the hope that it will be useful,
16
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
+// GNU General Public License for more details.
19
+//
20
+// To read the license please visit http://www.gnu.org/copyleft/gpl.html
21
+// ----------------------------------------------------------------------
22
+
23
+$current = "news";
24
+
25
+include ("header.php");
26
+
27
+if(file_exists("$skindir/default.tpl")) $tpl = new TemplatePower( "$skindir/default.tpl" );
28
+else $tpl = new TemplatePower("default_tpls/default.tpl");
29
+
30
+include("includes/pagesetup.php");
31
+
32
+
33
+if(isset($_REQUEST['nid'])) $nid = $_REQUEST['nid'];
34
+if(!isset($nid) || !isNumber($nid)) $nid = false;
35
+$cid = isset($_REQUEST['cid']) && isNumber($_REQUEST['cid']) ? $_REQUEST['cid'] : false;
36
+
37
+if($nid) {
38
+
39
+	$output .= "<div id=\"pagetitle\">"._NEWS."</div>";
40
+	if(isset($_POST['submit']))
41
+	{
42
+		$comment = escapestring(format_story(replace_naughty(strip_tags($_POST['comment'], $allowed_tags))));
43
+		if(!$cid && USERUID) {
44
+			$insert = dbquery("INSERT INTO ".TABLEPREFIX."fanfiction_comments (nid, uid, comment, time) VALUES ('$nid', '".(USERUID ? USERUID : 0)."', '$comment', now())");
45
+			if($insert) dbquery("UPDATE ".TABLEPREFIX."fanfiction_news SET comments = comments + 1 WHERE nid = '$nid' LIMIT 1");
46
+		}
47
+		else if($cid) {
48
+			dbquery("UPDATE ".TABLEPREFIX."fanfiction_comments SET comment = '$comment' WHERE cid = '$cid'");
49
+		}
50
+		unset($comment);
51
+	}
52
+	if(isset($_GET['del']) && isADMIN && uLEVEL < 4 && !empty($cid)) {
53
+		$insert = dbquery("DELETE FROM ".TABLEPREFIX."fanfiction_comments WHERE cid = '$cid'");
54
+		if($insert) dbquery("UPDATE ".TABLEPREFIX."fanfiction_news SET comments = comments - 1 WHERE nid = '$nid' LIMIT 1");
55
+	}
56
+	$newsquery = dbquery("SELECT n.*, UNIX_TIMESTAMP(n.time) as date FROM ".TABLEPREFIX."fanfiction_news as n WHERE n.nid = '$nid' LIMIT 1");
57
+	$stories = dbassoc($newsquery);
58
+	if(file_exists("./$skindir/newsbox.tpl"))
59
+		$news = new TemplatePower( "./$skindir/newsbox.tpl" );
60
+	else $news = new TemplatePower( "./default_tpls/newsbox.tpl" );
61
+	$news->prepare( );	
62
+	//create a new number_row block
63
+	$news->newBlock("newsbox");
64
+
65
+	//assign values
66
+	$news->assign("newstitle"   , stripslashes($stories['title']) );
67
+	$news->assign("newsstory"   , format_story($stories['story']) );
68
+	$news->assign("newsauthor", stripslashes($stories['author']) );
69
+	$news->assign("newsid", $stories['nid']);
70
+	$news->assign("oddeven", "odd");
71
+	$news->assign("skindir", $skindir);
72
+	$news->assign("newsdate", date("$dateformat $timeformat", $stories['date']) );
73
+	if($newscomments)
74
+		$news->assign("newscomments", "<a href=\"ffnews.php?action=newsstory&amp;nid=".$stories['nid']."\">".$stories['comments']." "._COMMENTS."</a>");
75
+	if(isADMIN && uLEVEL < 4) 
76
+		$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>");
77
+	$output .= $news->getOutputContent( );
78
+
79
+	$cquery = dbquery("SELECT COUNT(cid) FROM ".TABLEPREFIX."fanfiction_comments WHERE nid = '$nid'");
80
+	list($ccount) = dbrow($cquery);
81
+	if($ccount) {
82
+		$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");
83
+		$output .= "<div class=\"sectionheader\">"._COMMENTS."</div>";
84
+		if(file_exists("$skindir/comments.tpl")) $c = new TemplatePower( "$skindir/comments.tpl" );
85
+		else $c = new TemplatePower( "default_tpls/comments.tpl" );
86
+		$c->prepare( );
87
+		$count = 0;
88
+		while($comments = dbassoc($query2)) {
89
+			$c->newBlock("commentbox");
90
+			$c->assign("comment", format_story($comments['comment']));
91
+			$c->assign("uname", $comments['penname']);
92
+			$c->assign("date", date("$dateformat $timeformat", $comments['date']));
93
+			if(isADMIN && uLEVEL < 4)
94
+				$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>");
95
+			$c->assign("oddeven", ($count % 2 ? "odd" : "even"));
96
+			$count++;
97
+		}
98
+		$output .= $c->getOutputContent( );
99
+		if($ccount > $itemsperpage) $output .= build_pagelinks("ffnews.php?nid=$nid&amp;", $ccount, $offset);
100
+	}
101
+	if(isMEMBER) {
102
+		$output .= "<form method=\"POST\" enctype=\"multipart/form-data\" action=\"ffnews.php?action=newsstory&amp;nid=$nid\">";
103
+		if(isset($_GET['edit']) && isNumber($_GET['edit'])) {
104
+			
105
+			$select = dbquery("SELECT * FROM ".TABLEPREFIX."fanfiction_comments WHERE cid = '".$_GET['edit']."' LIMIT 1");
106
+			list($cid, $nid, $uname, $comment, $time) = dbrow($select);
107
+			$output .= "<input type=\"hidden\" name=\"cid\" value=\"$cid\">";
108
+		}
109
+		else $comment = "";
110
+		$output .= "<table align=\"center\"><tr><td><strong>"._PENNAME.":</strong></td><td>".USERPENNAME."<INPUT type=\"hidden\" name=\"uname\" value=\"".USERPENNAME."\"></td></tr>
111
+		<tr><td><b>"._COMMENTS.":</b></td><td><TEXTAREA name=\"comment\" cols=\"35\" rows=\"6\">$comment</TEXTAREA></td></tr>
112
+		<tr><td><INPUT type=\"hidden\" name=\"nid\" value=\"$nid\"><INPUT name=\"submit\" id=\"submit\" type=\"submit\" value=\""._SUBMIT."\"></td></tr></table></form>";
113
+	}
114
+	$tpl->assign("output", $output);
115
+}
116
+else {
117
+	$output .= "<div id=\"pagetitle\">"._NEWS."</div>";
118
+	if(file_exists("./$skindir/newsbox.tpl"))
119
+		$news = new TemplatePower( "./$skindir/newsbox.tpl" );
120
+	else $news = new TemplatePower( "./default_tpls/newsbox.tpl" );
121
+	$news->prepare( );
122
+	$cquery = dbquery("SELECT count(nid) FROM ".TABLEPREFIX."fanfiction_news");
123
+	list($count) = dbrow($cquery);
124
+	$newsquery = dbquery("SELECT n.*, UNIX_TIMESTAMP(n.time) as date FROM ".TABLEPREFIX."fanfiction_news as n ORDER BY n.time DESC LIMIT $offset, $itemsperpage");
125
+	$counter = 0;
126
+	while($stories = dbassoc($newsquery)) {
127
+
128
+		//create a new number_row block
129
+		$news->newBlock("newsbox");
130
+		
131
+		//assign values
132
+		$news->assign("newstitle"   , $stories['title']);
133
+		$news->assign("newsstory"   , nl2br($stories['story']) );
134
+		$news->assign("newsauthor", $stories['author']);
135
+		$news->assign("newsdate", date("$dateformat $timeformat", $stories['date']) );
136
+		$news->assign("newsid", $stories['nid']);
137
+		$news->assign("skindir", $skindir);
138
+		if($newscomments)
139
+			$news->assign("newscomments", "<a href=\"ffnews.php?action=newsstory&amp;nid=".$stories['nid']."\">".$stories['comments']." "._COMMENTS."</a>");
140
+		if(isADMIN && uLEVEL < 4) 
141
+			$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>");
142
+		$news->assign("oddeven", ($counter % 2 ? "even" : "odd"));
143
+		$counter++;
144
+	}
145
+	$output .= $news->getOutputContent( );
146
+	if ($count > $itemsperpage) $output .= build_pagelinks("ffnews.php?", $count, $offset);
147
+	$tpl->assign("output", $output);
148
+}
149
+
150
+$tpl->printToScreen();
151
+dbclose( );
152
+?>
0 153
\ No newline at end of file