This commit is contained in:
briandilley 2004-11-02 01:40:14 +00:00
parent 73a87c5461
commit efbce54dca
18 changed files with 422 additions and 0 deletions

View File

@ -0,0 +1,2 @@
Thank you for using Kwotes!<br />
Your quote may be accessed here:&nbsp;<a href="?action=show&amp;id=${KWOTE_ID}">#${KWOTE_ID}</a>.

View File

@ -0,0 +1,7 @@
<form action="${SCRIPT_NAME}" method="post">
<div style="margin: 5px;">
<input type="hidden" name="action" value="doadd" />
<textarea cols="80" rows="20" name="content"></textarea><br />
<input type="submit" value="Submit Quote" />
</div>
</form>

View File

@ -0,0 +1,15 @@
<p>
Welcome to Kwotes, a chat quote database system with a twist.
The quotes are publicly moderated, so it's up to YOU to maintain the quality.
All quotes are accepted and if their ranking falls too low for too long, they are deleted.
To better your kwote browsing experience, visit the <a href="?action=search">search</a> page.
</p>
This system has advantages over existing systems. Here are a few:
<ul>
<li>You can vote for a quote without it going to a new page--causing you to lose your place in the process.</li>
<li>The system is publicly moderated, so all submissions are accepted. The users determine what is funny!</li>
<li>Users may only submit a limited number of quotes per hour.</li>
<li>A Simple, standards-compliant design that works in all modern browsers(sorry NS4/IE3 users!)</li>
<li>The system is open source. You can download the source code using the link at the bottom of the page.</li>
</ul>

View File

@ -0,0 +1,3 @@
<h1>${ERROR_MESSAGE}</h1>

View File

@ -0,0 +1,4 @@
<div class="kwote-navigation">
<a href="?action=list&amp;o=${ORDER}&amp;s=${NEXT_INDEX}&amp;m=${MAX_RETURN}&amp;mr=${MAX_RECORDS}&amp;ss=${SEARCH_STRING}">Next &gt;</a>
</div>

View File

@ -0,0 +1,4 @@
<div class="kwote-navigation">
<a href="?action=list&amp;o=${ORDER}&amp;s=${LAST_INDEX}&amp;m=${MAX_RETURN}&amp;mr=${MAX_RECORDS}&amp;ss=${SEARCH_STRING}">&lt; Previous</a>
</div>

View File

@ -0,0 +1,7 @@
<div class="kwote-navigation">
<a href="?action=list&amp;o=${ORDER}&amp;s=${LAST_INDEX}&amp;m=${MAX_RETURN}&amp;mr=${MAX_RECORDS}&amp;ss=${SEARCH_STRING}&amp;minr=${MIN_RATING}&amp;maxr=${MAX_RATING}">&lt;
Previous</a>
&nbsp; | &nbsp;
<a href="?action=list&amp;o=${ORDER}&amp;s=${NEXT_INDEX}&amp;m=${MAX_RETURN}&amp;mr=${MAX_RECORDS}&amp;ss=${SEARCH_STRING}">Next &gt;</a>
</div>

View File

@ -0,0 +1,87 @@
<form action="${SCRIPT_NAME}" method="get">
<div style="margin-left: auto; margin-right: auto; width: 450px;">
<input type="hidden" name="action" value="list" />
<input type="hidden" name="s" value="0" />
<div class="search-container">
All fields are optional. Choosing a random sort order disables paging.
Search keywords can be seperated using a coma.
</div>
<div class="search-container">
<span class="search-label">Search text:</span>
<span class="search-option"><input type="text" size="20" name="ss" /></span>
</div>
<div class="search-container">
<span class="search-label">Sort by:</span>
<span class="search-option">
<select name="o">
<option value="date">Date</option>
<option value="rating">Rating</option>
<option value="random">Random</option>
</select>
</span>
</div>
<div class="search-container">
<span class="search-label">Sort direction:</span>
<span class="search-option">
<select name="so">
<option value="forward">Descending</option>
<option value="reverse">Ascending</option>
</select>
</span>
</div>
<div class="search-container">
<span class="search-label">Per page:</span>
<span class="search-option">
<select name="m">
<option value="5">5</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
<option value="50">50</option>
<option value="100">100</option>
<option value="200">200</option>
</select>
</span>
</div>
<div class="search-container">
<span class="search-label">Max results:</span>
<span class="search-option">
<select name="mr">
<option value="9999999999">No max</option>
<option value="100">100</option>
<option value="200">200</option>
<option value="300">300</option>
<option value="400">400</option>
<option value="500">500</option>
<option value="1000">1000</option>
<option value="2000">2000</option>
</select>
</span>
</div>
<div class="search-container">
<span class="search-label">Minimum rating:</span>
<span class="search-option">
<input type="text" size="5" name="minr" />
</span>
</div>
<div class="search-container">
<span class="search-label">Maximum rating:</span>
<span class="search-option">
<input type="text" size="5" name="maxr" />
</span>
</div>
<div class="search-container">
<input type="submit" value="Search" />
</div>
</div>
</form>

View File

@ -0,0 +1,16 @@
<div class="kwote">
<span class="kwote-id"><a href="?action=show&amp;id=${KWOTE_ID}">#${KWOTE_ID}</a></span>
<span class="vote-controls">
<a href="?action=hate&amp;kid=${KWOTE_ID}"
onclick="vote(${KWOTE_ID},'hate'); return false;"
id="hate${KWOTE_ID}">-</a>
<span id="rating${KWOTE_ID}">${KWOTE_RATING}</span>
<a href="?action=love&amp;kid=${KWOTE_ID}"
onclick="vote(${KWOTE_ID},'love'); return false"
id="love${KWOTE_ID}">+</a>
</span>
<div class="kwote-content">
${KWOTE_TEXT_HTML}
</div>
</div>

22
templates/default/footer.html Executable file
View File

@ -0,0 +1,22 @@
<div class="footer">
<span style="float: left;">
<a href="http://validator.w3.org/check?uri=referer">Valid XHTML 1.1</a>
<a href="http://jigsaw.w3.org/css-validator/check/referer">Valid CSS</a>
<a href="http://sourceforge.net/projects/kwotes/">Project Page</a>
<a href="Changelog">Changelog</a>
<a href="javascript:showTemplate('xml');">xml</a>
</span>
<span style="float: right;">
${KWOTE_COUNT} Live Kwotes, ${KWOTE_BACKUP_COUNT} Deleted Kwotes
</span>
<span style="float: right; clear: right;">
<a href="http://sourceforge.net">
<img src="http://sourceforge.net/sflogo.php?group_id=121598&amp;type=1"
width="88" height="31" alt="SourceForge.net!" />
</a>
</span>
</div>
</div>
</body>
</html>

72
templates/default/header.html Executable file
View File

@ -0,0 +1,72 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>${TITLE}</title>
<link rel="stylesheet" type="text/css" href="${TEMPLATE_DIR}/kwotes.css" />
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="${TEMPLATE_DIR}/kwotes-ie.css" />
<![endif]-->
<script type="text/javascript">
function vote( kid, type )
{
var img = new Image();
img.src = "?action="+escape(type)
+unescape("%26")+"kid="+escape(kid)
+unescape("%26")+"rnd="+Math.random();
hideElementById("hate"+kid);
hideElementById("love"+kid);
var ratingElem = document.getElementById("rating"+kid);
if (ratingElem)
{
var html = ratingElem.innerHTML;
var rating = parseInt(html)+( (type=="love")?1:-1 );
ratingElem.innerHTML = rating;
}
}
function hideElementById( id )
{
var elem = document.getElementById(id);
if (elem) {
elem.style.display = "none";
}
}
function showTemplate( template )
{
var href = new String(document.location);
href += (href.indexOf("?")!=-1) ? unescape("%26")+"template="+template : "?template="+template;
document.location = href;
}
</script>
</head>
<body>
<div class="container">
<div style="margin-bottom: 2px;">
<form action="${SCRIPT_NAME}" method="get">
<div>
<input type="hidden" name="action" value="show" />
<span class="id-search">Kwote #&nbsp;<input type="text" size="5" name="id" id="id" /></span>
</div>
</form>
<span class="title">${SITE_NAME} - ${TAG_LINE}</span>
</div>
<ul class="tab-menu">
<li class="tab"><a href="?">Home</a></li>
<li class="tab"><a href="?action=add">Add</a></li>
<li class="tab"><a href="?action=list&amp;o=date">Latest</a></li>
<li class="tab"><a href="?action=list&amp;o=random&amp;m=100&amp;mr=100">Random 100</a></li>
<li class="tab"><a href="?action=list&amp;o=rating&amp;s=0&amp;m=20&amp;mr=50">Top 100</a></li>
<li class="tab"><a href="?action=list&amp;o=rating&amp;s=0&amp;m=20&amp;mr=50&amp;so=reverse">Bottom 100</a></li>
<li class="tab"><a href="?action=search">Search</a></li>
</ul>

12
templates/default/kwotes-ie.css Executable file
View File

@ -0,0 +1,12 @@
/* Stupid IE stuff... at least they get to see something hilite */
.tab a:active
{
background-color: #8b8bca;
}
.tab a:hover
{
background-color: #dfdff0;
}
/* End stupid IE stuff */

150
templates/default/kwotes.css Executable file
View File

@ -0,0 +1,150 @@
body
{
font-family: Trebuchet MS, Tahoma, Arial, Sans-Serif;
margin: 0px;
}
a:link
{
text-decoration: none;
color: #000000;
}
a:visited
{
text-decoration: none;
color: #000000;
}
a:hover, a:active
{
text-decoration: underline;
color: #666666;
}
a img
{
border: 0px;
}
/* Containers */
.container
{
position: relative;
width: 700px;
margin-left: auto;
margin-right: auto;
}
.kwote-container
{
position: relative;
width: 100%;
}
/* Header Section */
.id-search
{
float: right;
}
.id-search input
{
height: 16px;
background-color: #6c97fb;
border: solid 1px black;
padding-left: 3px;
}
.title
{
font-weight: bold;
}
/* Kwotes */
.kwote
{
position: relative;
margin-bottom: 10px;
}
.kwote-id
{
float: left;
font-size: 0.8em;
}
.vote-controls
{
float: right;
font-size: 0.8em;
padding: 0px;
}
.vote-controls a
{
font-size: 1.25em;
font-weight: bolder;
text-decoration: none;
padding: 0px 1px 0px 1px;
}
.kwote-content
{
clear: both;
font-size: 0.9em;
border-top: 1px solid black;
}
/* Is this needed? */
.kwote-navigation
{
}
/* Footer */
.footer
{
font-size: 0.7em;
}
.footer a
{
margin-right: 10px;
}
/* Horizontal Menu */
.tab-menu
{
margin: 0px;
padding: 0px;
position: relative;
list-style-type: none;
background-color: #5b86ea;
width: 100%;
}
/* This is used by all browsers */
.tab-menu .tab
{
display: inline;
margin: 0px;
padding-left: 3px;
padding-right: 3px;
font-size: 0.7em;
}
/* Good browsers use this too (IE doesn't use this) */
.tab-menu .tab
{
display: table-cell;
}
.tab:active
{
background-color: #6f95ec;
}
.tab:hover
{
background-color: #e2eafb;
}

View File

@ -0,0 +1 @@
<kwote-added id="${KWOTE_ID" />

View File

@ -0,0 +1,3 @@
<error>${ERROR_MESSAGE}</error>

View File

@ -0,0 +1,3 @@
<kwote id="${KWOTE_ID}" rating="${KWOTE_RATING}">
${KWOTE_TEXT_XML}
</kwote>

5
templates/xml/footer.html Executable file
View File

@ -0,0 +1,5 @@
</kwotes.org>

9
templates/xml/header.html Executable file
View File

@ -0,0 +1,9 @@
<kwotes.org>
<site>
<name>${SITE_NAME}</name>
<tag-line>${TAG_LINE}</tag-line>
<kwote-count>${KWOTE_COUNT}</kwote-count>
<deleted-kwote-count>${KWOTE_BACKUP_COUNT}</deleted-kwote-count>
</site>