Second pass at adding key files

This commit is contained in:
dsainty
2024-06-17 22:24:05 +10:00
parent aa25e9347f
commit b6fc94ff0f
923 changed files with 243184 additions and 0 deletions

View File

@ -0,0 +1,171 @@
<!DOCTYPE html >
<html lang="en">
<head>
<title><:: Slowtwitch Forums ::></title>
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<%~if ad_wallpaper%>
<%ad_wallpaper%>
<%~endif%>
<div class="container">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Forum'%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%~loop everything%>
<%~if not forum_id and $current.user_id and $cat_show_forums and $main_page%>
<%~set url_param_hide_cat = "hide_cat=$cat_id"%>
<%~if cat_hidden%><%set url_param_hide_cat = "un$url_param_hide_cat"%><%endif%>
<a class="btn default btn-b" href="<%GForum::SEO::url(params => $url_param_hide_cat, anchor => "cat_$cat_id")%>" title="<%if cat_hidden%>Expand<%else%>Collapse<%endif%> this category" rel="nofollow"><%if cat_hidden%>Expand<%else%>Collapse<%endif%> <%cat_name%></a>
<%~endif%>
<%~endloop%>
<%include include_content_header.html%>
<div class="dtable bg"><%-- start table --%>
<div class="dhead">
<div class="drow">
<div class="dcell icon">&nbsp;</div>
<div class="dcell subject">Forum Name</div>
<div class="dcell threads">Threads</div>
<div class="dcell posts">Posts</div>
<div class="dcell date">Last Post</div>
</div>
</div>
<div class="dbody">
<%~loop everything%>
<%~if forum_id%>
<div class="drow">
<div class="dcell icon"><span class="sprite-forum"></span></div>
<div class="dcell subject">
<a href="<% GForum::SEO::url(type => "forum", id=> $forum_id) %>" class="title"><% forum_name %></a>
<div class="post-mob">
<%~set escaped_username = escape_url $forum_last_poster%>
<span>by</span> <a href="<% GForum::SEO::url(params => "username=$escaped_username")%>" title="<% forum_last_poster %>" class="postedby"><% forum_last_poster %></a> | <%forum_last_date%>
<a href="<%GForum::SEO::url(params => "post=last-$forum_last_id", anchor => "last")%>" rel="nofollow" class="right-arrow">&rarr;</a>
</div>
<%~if forum_desc%>
<p class="desc"><%forum_desc%></p>
<%~endif%>
</div>
<div class="dcell threads"><%forum_total_threads || 0%></div>
<div class="dcell posts"><%forum_total || 0%></div>
<div class="dcell date">
<%forum_last_date%><br />by <a href="<% GForum::SEO::url(params => "username=$escaped_username") %>" title="<% forum_last_poster %>" class="postedby"><% forum_last_poster %></a>
<a href="<%GForum::SEO::url(params => "post=last-$forum_last_id", anchor => "last")%>" rel="nofollow" class="right-arrow">&rarr;</a>
</div>
</div>
<%~endif%>
<%~endloop%>
</div>
</div><%-- end dtable --%>
<hr class="line" />
<div class="lnk-actions">
<a href="#" rel="forum-rules" class="dialog-lnk">Forum Rules</a> | <a href="#" rel="forum-faq" class="dialog-lnk">FAQ</a> | <a href="#" rel="forum-legend" class="dialog-lnk">Legend</a>
</div>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
<div id="forum-legend" class="hide" title="Forum Legend">
<div class="dtable">
<div class="drow">
<div class="dcell icon"><span class="sprite-hot-thread"></span></div>
<div class="dcell">Hot thread</div>
</div>
<div class="drow">
<div class="dcell icon"><span class="sprite-thread"></span></div>
<div class="dcell">Post with replies</div>
</div>
<div class="drow">
<div class="dcell icon"><span class="sprite-single-thread"></span></div>
<div class="dcell">Single post</div>
</div>
<div class="drow">
<div class="dcell icon"><span class="sprite-locked-thread"></span></div>
<div class="dcell">The thread is locked</div>
</div>
<div class="drow">
<div class="dcell icon"><span class="sprite-first-post"></span></div>
<div class="dcell">First post in thread</div>
</div>
<div class="drow">
<div class="dcell icon"><span class="right-arrow">&rarr;</span></div>
<div class="dcell">Jump to the last post in thread</div>
</div>
<div class="drow">
<div class="dcell icon"><span class="sprite-message"></span></div>
<div class="dcell">Unread message</div>
</div>
<div class="drow">
<div class="dcell icon"><span class="sprite-message-read"></span></div>
<div class="dcell">Read message</div>
</div>
<div class="drow">
<div class="dcell icon"><span class="sprite-message-replied"></span></div>
<div class="dcell">Replied message</div>
</div>
</div>
</div>
<div id="forum-faq" title="Forum FAQ" class="hide" width="500">
<ul>
<li><a href="#Anchor-IS-35882">IS THIS A PUBLIC FORUM?</a></li>
<li><a href="#Anchor-THIS-14210">IS THIS A MODERATED FORUM?</a></li>
<li><a href="#Anchor-EXPECTATION-49575">EXPECTATION OF ANONYMITY</a></li>
<li><a href="#Anchor-WHAT-23240">WHAT CAN I POST HERE?</a></li>
<li><a href="#Anchor-WHAT-3800">WHAT CAN'T I POST HERE?</a></li>
<li><a href="#Anchor-WHAT-33869">WHAT IS CONSIDERED ABUSIVE?</a></li>
<li><a href="#Anchor-WHAT-6296">WHAT IF MY POST IS PULLED?</a></li>
<li><a href="#Anchor-WHAT-48213">WHAT IF I'M BANNED?</a></li>
<li><a href="#Anchor-MULTIPLE-49575">MULTIPLE USER NAMES</a></li>
<li><a href="#Anchor-COMPLAINTS-47857">COMPLAINTS ABOUT RETAILERS OR RACES</a></li>
<li><a href="#Anchor-DATA-78140">SCIENTIFIC DATA</a></li>
<li><a href="#Anchor-DISCLAIMER-23522">ARE THESE ALL THE RULES?</a></li>
</ul>
<hr class="line" />
<h4 id="Anchor-IS-35882">IS THIS A PUBLIC FORUM?</h4>
<p>No, this is a private forum open to the public in general, but with certain restrictions including but not limited to those listed herein. Using this forum is a privilege, not a protected right, and this privilege can be revoked at our sole discretion.</p>
<h4 id="Anchor-THIS-14210">IS THIS A MODERATED FORUM?</h4>
<p>Yes, but moderation occurs after the fact, that is, we don't monitor a post before it is published, you publish it and then we eventually read it (or not). This forum receives between 1500 and 2500 posts every day, on average, too many posts to read and monitor. Accordingly, anything you see that you consider abusive or in bad taste; if you read a post that you think ought to be brought to our attention; please apprise us of this. In such case, the editorial email prompt is at the bottom of every page of the Slowtwitch.com editorial website (www.slowtwitch.com). That email address to use for such concerns is: <a href="mailto:slowman@slowtwitch.com">slowman@slowtwitch.com</a></p>
<h4 id="Anchor-EXPECTATION-49575">EXPECTATION OF ANONYMITY</h4>
<p>You have none. There is none. Slowtwitch.com does not warrant that your anonymity will be protected, nor that we will protect it. If the preservation of your anonymity is vital to you, don't post on any Slowtwitch forum.</p>
<h4 id="Anchor-WHAT-23240">WHAT CAN I POST HERE?</h4>
<p>Anything associated with swim, bike, run, or triathlon in general. Off-topic posts belong in the Lavender Room. Notices belong in Notices, jobs sought or advertised in Jobs, items for sale in Classifieds. There are rules for each of these forums posted in &quot;sticky&quot; threads on the tops of each of those forums.</p>
<h4 id="Anchor-WHAT-3800">WHAT CAN'T I POST HERE?</h4>
<p>We are especially cranky about trial-by-internet. Do not register to post on this forum only to have your first post be a complaint against a company doing business in the sport of triathlon. Do not lodge a complaint against a named entity unless you yourself are willing to be identifiable, that is, no anonymous rants. Do not EVER say somebody's product is unsafe unless you have rock-solid demonstrable proof. This is as much for your benefit as anyone's (we'd prefer your hot temper doesn't result in a lawsuit a manufacturer lodges against you). Do not accuse anyone of taking performance enhancing drugs.</p>
<h4 id="Anchor-WHAT-33869">WHAT IS CONSIDERED ABUSIVE?</h4>
<p>We don't know, but we know it when we see it.</p>
<h4 id="Anchor-WHAT-6296">WHAT IF MY POST IS PULLED?</h4>
<p>You might find that something you posted is no longer on the forum on which it was originally posted. In all likelihood, you posted something that really belongs in either our Classifieds or Lavender Room forum, and you might find your post there (we'll just move your post or thread to the right forum). If your post is pulled entirely, you wrote something inappropriate—at least in our view—and we pulled the post.</p>
<h4 id="Anchor-WHAT-48213">WHAT IF I'M BANNED?</h4>
<p>Then you *might* have been (according to us) a very bad boy (or girl). We reserve the right to do this, and at our sole discretion. If you want to keep your account active, be civil. But you might be posting from a location inside a bloc of IP addresses we banned in order to weed out a spammer or bad actor. Email us privately and we'll find out of that's the case.</h4>
<h4 id="Anchor-MULTIPLE-49575">MULTIPLE USER NAMES:</h4>
<p>A big no-no. Stick to one user account. You can change your user name, but no creating multiple accounts. Note that your string of previous user names appends to your user profile.</p>
<h4 id="Anchor-COMPLAINTS-47857">COMMENTS ABOUT RETAILERS OR RACES:</h4>
<p>Neither complaints nor praises belong on the reader forum. They should be lodged as &quot;comments&quot; attached to the profiles of these business entities, which reside on our databases listing them. You'll find links to these databases on a blue bar across the very top of our reader forum pages. Likewise bike fitters, coaches, and tri clubs.</p>
<h4 id="Anchor-DATA-78140">SCIENTIFIC DATA</h4>
<p>If the data is merely a reprint from another website or publication, all that is needed is a link or a reference to the original source (and as much information is provided by the original publisher). <font size="2" face="Verdana, Arial, Helvetica, sans-serif">If the data is coming from you, as a private individual, simply do your best to explain your testing protocol and methodology. You should be prepared to answer questions to the best of your ability. If the data is coming from a company that you work for or are otherwise affiliated with, you need to explain your affiliation to that company.</p>
<h4 id="Anchor-ARE-37516">ARE THESE ALL THE RULES?</h4>
<p>No. But these are most of them, in broad strokes. There may be others we place here from time to time. As you become familiar with this forum, and this community, you'll see that we interfere only when we need to. If you take a deep breath before you post, and give your idea a second thought before you push the &quot;send&quot; button, you probably won't write anything with which we'll take umbrage.</p>
<h4 id="Anchor-DISCLAIMER-23522">DISCLAIMER:</h4>
<p>This is a very loosely moderated forum. We do not and cannot see everything written here, and we may not see an offensive post for awhile or indeed at all unless it is brought to our attention. We are hosting a global digital &quot;water cooler,&quot; around which triathletes gather to &quot;talk shop.&quot; As such we cannot and do not accept any liability for what others post here. We can simply make our best effort to monitor abuse that is brought to our attention.</p>
</div>
</body>
<%include include_global_js.html%>
</html>

View File

@ -0,0 +1,438 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%~set page_mode = $in.editor_type%><%if not page_mode or page_mode ne message%><%set page_mode = 'post'%><%endif%>
<html>
<head>
<title>Insert Image</title>
<link type="text/css" rel="stylesheet" media="screen" href="<%static_url%>/editor/editor_dialog.css">
<script type="text/javascript" src="<%static_url%>/js/utils.js"></script>
<script type="text/javascript" src="<%static_url%>/editor/editor_dialog.js"></script>
<script type="text/javascript">
//<![CDATA[
var src = {}, activeSource, sourceTypes = ['url', 'file', 'inline'];
var inlineImages = [];
var inlines = [];
if (window.opener.getInlineAttachments)
inlines = opener.getInlineAttachments();
<%~if attachment_uploaded%>
inlines.push(['<%escape_js attachment_uploaded%>', 'temp', '<%attachment_uploaded_id%>']);
<%~endif%>
function checkSource(submitting) {
if (activeSource && src[activeSource + '-input'] && src[activeSource + '-input'].value && src[activeSource + '-input'].value.match(/\S/)) {
submit.disabled = false;
if (submitting) {
if (activeSource == 'file')
return true;
else
submitWrapper();
}
}
else
submit.disabled = true;
return false;
}
function changeElement() {
activeSource = false;
for (var i = 0; i < sourceTypes.length; i++) {
if (src[sourceTypes[i]] && src[sourceTypes[i]].checked) {
activeSource = sourceTypes[i];
break;
}
}
if (!activeSource) return;
for (var i = 0; i < sourceTypes.length; i++) {
if (src[sourceTypes[i]])
src[sourceTypes[i] + '-row'].style.display = activeSource == sourceTypes[i] ? 'block' : 'none';
}
if (document.getElementById('src-file'))
{
if (document.getElementById('src-file').checked) {
document.getElementById('src-file-size-slider').style.display = 'flex';
document.getElementById('src-file-quality-slider').style.display = 'flex';
document.getElementById('src-file-size-orig').style.display = 'block';
document.getElementById('src-file-size-resize').style.display = 'block';
}
else {
document.getElementById('src-file-size-slider').style.display = 'none';
document.getElementById('src-file-quality-slider').style.display = 'none';
document.getElementById('src-file-size-orig').style.display = 'none';
document.getElementById('src-file-size-resize').style.display = 'none';
}
}
}
function init() {
<%~if attachment_uploaded%>
// The upload succeeded: make the parent page refresh the attachment list
if (opener.refreshAttachmentList)
opener.refreshAttachmentList();
<%~endif%>
// We need to copy the temp_id from the parent document.
document.getElementById('temp_id').value = opener.document.getElementById('temp_id').value ? opener.document.getElementById('temp_id').value : "foo";
// Also copy over forum_id, parent_post_id, and post_id, if they exist.
var hidden = [opener.document.getElementById('forum_id'), opener.document.getElementById('parent_post_id'), opener.document.getElementById('post_id')];
for (var i = 0; i < hidden.length; i++) {
if (hidden[i]) {
var h = document.createElement('input');
h.type = 'hidden';
h.name = hidden[i].name;
h.value = hidden[i].value;
document.getElementById('image_form').appendChild(h);
}
}
var eventType = isIE ? 'propertychange' : 'change';
for (var i = 0; i < sourceTypes.length; i++) {
var sourceType = sourceTypes[i];
src[sourceType] = document.getElementById('src-' + sourceType);
src[sourceType + '-input'] = document.getElementById('src-' + sourceType + '-input');
src[sourceType + '-label'] = document.getElementById('src-' + sourceType + '-label');
src[sourceType + '-value'] = document.getElementById('src-' + sourceType + '-value');
src[sourceType + '-row'] = document.getElementById('src-' + sourceType + '-row');
if (src[sourceType]) registerEvent(src[sourceType], eventType, changeElement);
}
if (inlines.length > 0) {
for (i = 0; i < inlines.length; i++) {
var filename = inlines[i][0];
var inlineRadio;
// Hack around a weird IE bug where setting the name attribute
// below results in the radio button not showing its state properly
try {
inlineRadio = document.createElement('<input type="radio" name="inline_image" />');
}
catch (e) {
inlineRadio = document.createElement('input');
}
inlineRadio.type = 'radio';
inlineRadio.name = 'inline_image';
inlineRadio.id = 'inline_image' + i;
inlineRadio.value = filename;
<%~if attachment_uploaded%>
if (filename == '<%escape_js attachment_uploaded%>') {
inlineRadio.checked = true;
src['inline-input'].value = filename;
}
<%~endif%>
var inlineLabel = document.createElement('label');
inlineLabel.appendChild(document.createTextNode(filename));
inlineLabel.htmlFor = 'inline_image' + i;
var box = document.createElement('span');
box.appendChild(inlineRadio);
box.appendChild(inlineLabel);
src['inline-value'].appendChild(box);
inlineImages[inlineImages.length] = inlineRadio;
registerEvent(inlineRadio, 'click', function(radioBox) { return function () { src['inline-input'].value = radioBox.value; }; }(inlineRadio));
}
}
else {
src['inline'].parentNode.removeChild(src['inline']);
src['inline-label'].parentNode.removeChild(src['inline-label']);
src['inline-row'].parentNode.removeChild(src['inline-row']);
delete src['inline'];
delete src['inline-label'];
delete src['inline-row'];
}
if (!opener.canAttach) {
src['file'].parentNode.removeChild(src['file']);
src['file-label'].parentNode.removeChild(src['file-label']);
src['file-row'].parentNode.removeChild(src['file-row']);
delete src['file'];
delete src['file-label'];
delete src['file-row'];
}
submit = document.getElementById('submit');
changeElement();
setInterval(function () { checkSource() }, 250);
if (src['url'] && src['url'].checked) document.getElementById('src-url-input').focus();
<%~if error_loop.length%>
alert('Error:\n<%loop error_loop%><%escape_js loop_value%><%unless last%>\n<%endunless%><%endloop%>');
<%~elsif attachment_uploaded%>
if (true || confirm("submit form?")) submitWrapper();
<%~endif%>
}
function submitWrapper () {
if (activeSource == 'inline') {
var att_type = 'temp', att_id = 0;
for (var i = 0; i < inlines.length; i++) {
if (inlines[i][0] == src['inline-input'].value) {
att_type = inlines[i][1];
att_id = inlines[i][2];
break;
}
}
var url = '<%set url = GForum::SEO::url(params => "do=${page_mode}_attachment")%><%escape_js url%>;' + att_type + 'att_id=' + att_id;
if (att_type == 'temp')
url += ';<%if page_mode eq "post"%>post_unique<%else%>temp_id<%endif%>=' + document.getElementById('temp_id').value;
src['url-input'].value = url;
}
submitForm();
}
registerEvent(window, 'load', init);
//]]>
</script>
</head>
<body id="editor_image">
<!--form id="image_form" enctype="multipart/form-data" onsubmit="return checkSource(true)"-->
<form id="image_form" action="<%GForum::SEO::url()%>" method="post" enctype="multipart/form-data" onsubmit="return checkSource(true)">
<%hidden_form%>
<input type="hidden" name="do" value="<%page_mode%>_attachment_upload" />
<input type="hidden" id="temp_id" name="temp_id" value="" /><%-- populated from parent window by init() --%>
<input type="hidden" name="redo" value="<%this_do%>" />
<div id="form">
<div class="row">
<label class="name">Insert Image from:</label>
<input type="radio" id="src-url" name="src-type" class="radio"<%unless attachment_uploaded or error_loop.length%> checked<%endunless%>><label id="src-url-label" for="src-url" accesskey="u"><u>U</u>RL</label>
<%~unless attachment_uploaded%>
<input type="radio" id="src-file" name="src-type" class="radio"<%if error_loop.length%> checked<%endif%>><label id="src-file-label" for="src-file" accesskey="f"><u>F</u>ile</label>
<%~endunless%>
<input type="radio" id="src-inline" name="src-type" class="radio"<%if attachment_uploaded%> checked<%endunless%>><label id="src-inline-label" for="src-inline" accesskey="i"><u>I</u>nline Attachment</label>
</div>
<div id="src-url-row" class="row">
<label for="src-url-input" class="name" accesskey="s">Image <u>S</u>ource:</label>
<input type="text" id="src-url-input" value="" class="text">
</div>
<%~unless attachment_uploaded%>
<div id="src-file-row" class="row">
<label for="src-file-input" class="name" accesskey="m">I<u>m</u>age Upload:</label>
<input type="file" accept="image/*" id="src-file-input" name="<%if page_mode eq message%>msg<%else%>post<%endif%>_attachment_orig" class="file">
<input type="hidden" name="<%if page_mode eq message%>message<%else%>post<%endif%>_attachment_inline" value="1">
</div>
<div id="src-file-size-slider" style="display: none; align-items: center; gap: 8px;">
Size:
<input type="range" min="10" max="<%~if in.forum_id eq "1" %>1024<%~else %>256<%~endif%>" value="<%~if in.forum_id eq "1" %>512<%~else %>128<%~endif%>" id="input-size" style="max-width: 200px;"/>
<span id="target-size"></span>
</div>
<div id="src-file-quality-slider" style="display: none; align-items: center; gap: 8px;">
Quality:
<input type="range" min="10" max="100" value="90" id="input-quality" style="max-width: 200px;"/>
</div>
<div id="src-file-size-orig" style="display: none;">Original: <span id="original-dimensions"></span> - <span id="original-bytesize"></span></div>
<div id="src-file-size-resize" style="display: none;">Resized: <span id="resized-dimensions"></span> - <span id="resized-bytesize"></span></div>
<br />
<div>
<img style="width: 500px; object-fit: scale-down;" id="output-img"></img>
</div>
<%~endunless%>
<div id="src-inline-row" class="row">
<input type="hidden" id="src-inline-input" value="">
<label class="name">I<u>n</u>line Attachment:</label>
<div id="src-inline-value" class="value"><%-- populated by init() --%></div>
</div>
</div>
<div class="buttons">
<input type="submit" id="submit" value="OK" class="submit">
<input type="button" value="Cancel" class="button" onclick="window.close()">
</div>
</form>
<div id="output-box"></div>
</body>
<%~unless attachment_uploaded%>
<script>
let sourceImg = null
let sourceSize = 0
let initialized = false
let inputImg = document.getElementById('src-file-input')
let outputImg = document.getElementById('output-img')
let inputSize = document.getElementById('input-size')
let targetSize = document.getElementById('target-size')
let inputQuality = document.getElementById('input-quality')
let originalDimensions = document.getElementById('original-dimensions')
let resizedDimensions = document.getElementById('resized-dimensions')
let originalBytesize = document.getElementById('original-bytesize')
let resizedBytesize = document.getElementById('resized-bytesize')
//action="<%GForum::SEO::url()%>" method="post"
const form = document.forms.namedItem("image_form");
form.addEventListener(
"submit",
(event) => {
event.preventDefault();
const output = document.getElementById("output-box");
const formData = new FormData(form);
formData.append("CustomField", "This is some extra data");
const imgBlob = imageToBlob(outputImg.src, 'image/jpeg');
var imgPath = inputImg.value;
const imgName = imgPath.replace(/^.*?([^\\\/]*)$/, '$1');
formData.append("post_attachment", imgBlob, imgName);
const request = new XMLHttpRequest();
request.open("POST", "<%GForum::SEO::url()%>", true);
request.onload = (progress) => {
output.innerHTML =
request.status === 200
? "Uploaded!"
: `Error ${request.status} occurred when trying to upload your file.<br />`;
if ( request.status === 200 )
{
const winUrl = URL.createObjectURL( new Blob([request.responseText], { type: "text/html" }));
const win = location.replace(winUrl);
}
else
{
// error...
}
};
request.send(formData);
},
false
);
function resizeImage(image, size, quality)
{
let index = 0
let canvases = [document.createElement('canvas'), document.createElement('canvas')]
{
canvases[index].width = image.naturalWidth
canvases[index].height = image.naturalHeight
const ctx0 = canvases[index].getContext('2d')
ctx0.drawImage(image, 0, 0)
}
let finalWidth = Math.floor(image.naturalWidth * size)
let finalHeight = Math.floor(image.naturalHeight * size)
let iter = Math.floor(Math.sqrt((1 / size)))
for(let i = 0; i < iter; i++)
{
let canvasSrc = canvases[index]
let canvasDst = canvases[1 - index]
const ctxSrc = canvasSrc.getContext('2d')
const ctxDst = canvasDst.getContext('2d')
if(i == (iter - 1))
{
canvasDst.width = finalWidth
canvasDst.height = finalHeight
}
else
{
canvasDst.width = canvasSrc.width / 2
canvasDst.height = canvasSrc.height / 2
}
ctxDst.drawImage(canvasSrc, 0, 0, canvasSrc.width, canvasSrc.height, 0, 0, canvasDst.width, canvasDst.height)
index = 1 - index
}
let dataURL = canvases[index].toDataURL('image/jpeg', quality)
return dataURL
}
function getDataURLByteSize(d)
{
let parts = d.split(",")
let b64size = parts[1].length
let b64padding = parts[1].slice(-4).split('').filter(x => x == '=').length
return 3 * ((b64size / 4)) - b64padding
}
function onResizeSourceImg()
{
if(!sourceImg) return
targetSize.textContent = `${inputSize.value} KB`
let dataOriginal = resizeImage(sourceImg, 1, inputQuality.value / 100)
let sizeOriginal = getDataURLByteSize(dataOriginal)
let target = 1
if ( !initialized )
target = Math.min( sizeOriginal, <%~if in.forum_id eq "1" %>1024000<%~else %>256000<%~endif%> );
else
target = inputSize.value * 1024;
let imgRatio = Math.min( sourceImg.naturalWidth / sourceImg.naturalHeight, sourceImg.naturalHeight / sourceImg.naturalWidth );
let ratio = imgRatio * Math.sqrt( Math.min(1, target / sizeOriginal))
let dataURL = resizeImage(sourceImg, ratio, inputQuality.value / 100)
outputImg.src = dataURL
let size = getDataURLByteSize(dataURL)
resizedBytesize.textContent = `${Math.floor(size / 1024)} KB`
if ( !initialized )
{
targetSize.textContent = `${Math.floor(size / 1024)} KB`
inputSize.value = Math.floor(size / 1024)
initialized = true
}
}
onResizeSourceImg()
outputImg.onload = () => {
if(!sourceImg) return
resizedDimensions.textContent = `${outputImg.naturalWidth} x ${outputImg.naturalHeight}`
}
inputSize.addEventListener("input", e => {
onResizeSourceImg()
})
inputQuality.addEventListener("input", e => {
onResizeSourceImg()
})
inputImg.addEventListener("change", e => {
let files = e.target.files
if(files.length == 0) return
let file = files[0]
let fr = new FileReader()
fr.onload = () => {
let image = new Image()
image.onload = () => {
sourceImg = image
sourceSize = file.size
originalDimensions.textContent = `${image.naturalWidth} x ${image.naturalHeight}`
originalBytesize.textContent = `${Math.floor(file.size / 1024)} KB`
//inputSize.setAttribute('max', image.naturalWidth)
//inputSize.value = image.naturalWidth * 0.5
onResizeSourceImg()
}
image.src = fr.result
}
fr.readAsDataURL(file)
})
function imageToBlob(image, mime)
{
let byteString = atob(image.split(',')[1]);
let ab = new ArrayBuffer(byteString.length);
let ia = new Uint8Array(ab);
for (var i = 0; i < byteString.length; i++) ia[i] = byteString.charCodeAt(i);
let bb = new Blob([ab], { type: mime });
return bb
}
</script>
<%~endunless%>
</html>

View File

@ -0,0 +1,439 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%~set page_mode = $in.editor_type%><%if not page_mode or page_mode ne message%><%set page_mode = 'post'%><%endif%>
<html>
<head>
<title>Insert Image</title>
<link type="text/css" rel="stylesheet" media="screen" href="<%static_url%>/editor/editor_dialog.css">
<script type="text/javascript" src="<%static_url%>/js/utils.js"></script>
<script type="text/javascript" src="<%static_url%>/editor/editor_dialog.js"></script>
<script type="text/javascript">
//<![CDATA[
var src = {}, activeSource, sourceTypes = ['url', 'file', 'inline'];
var inlineImages = [];
var inlines = [];
if (window.opener.getInlineAttachments)
inlines = opener.getInlineAttachments();
<%~if attachment_uploaded%>
inlines.push(['<%escape_js attachment_uploaded%>', 'temp', '<%attachment_uploaded_id%>']);
<%~endif%>
function checkSource(submitting) {
if (activeSource && src[activeSource + '-input'] && src[activeSource + '-input'].value && src[activeSource + '-input'].value.match(/\S/)) {
submit.disabled = false;
if (submitting) {
if (activeSource == 'file')
return true;
else
submitWrapper();
}
}
else
submit.disabled = true;
return false;
}
function changeElement() {
activeSource = false;
for (var i = 0; i < sourceTypes.length; i++) {
if (src[sourceTypes[i]] && src[sourceTypes[i]].checked) {
activeSource = sourceTypes[i];
break;
}
}
if (!activeSource) return;
for (var i = 0; i < sourceTypes.length; i++) {
if (src[sourceTypes[i]])
src[sourceTypes[i] + '-row'].style.display = activeSource == sourceTypes[i] ? 'block' : 'none';
}
if (document.getElementById('src-file'))
{
if (document.getElementById('src-file').checked) {
document.getElementById('src-file-size-slider').style.display = 'flex';
document.getElementById('src-file-quality-slider').style.display = 'flex';
document.getElementById('src-file-size-orig').style.display = 'block';
document.getElementById('src-file-size-resize').style.display = 'block';
}
else {
document.getElementById('src-file-size-slider').style.display = 'none';
document.getElementById('src-file-quality-slider').style.display = 'none';
document.getElementById('src-file-size-orig').style.display = 'none';
document.getElementById('src-file-size-resize').style.display = 'none';
}
}
}
function init() {
<%~if attachment_uploaded%>
// The upload succeeded: make the parent page refresh the attachment list
if (opener.refreshAttachmentList)
opener.refreshAttachmentList();
<%~endif%>
// We need to copy the temp_id from the parent document.
document.getElementById('temp_id').value = opener.document.getElementById('temp_id').value ? opener.document.getElementById('temp_id').value : "foo";
// Also copy over forum_id, parent_post_id, and post_id, if they exist.
var hidden = [opener.document.getElementById('forum_id'), opener.document.getElementById('parent_post_id'), opener.document.getElementById('post_id')];
for (var i = 0; i < hidden.length; i++) {
if (hidden[i]) {
var h = document.createElement('input');
h.type = 'hidden';
h.name = hidden[i].name;
h.value = hidden[i].value;
document.getElementById('image_form').appendChild(h);
}
}
var eventType = isIE ? 'propertychange' : 'change';
for (var i = 0; i < sourceTypes.length; i++) {
var sourceType = sourceTypes[i];
src[sourceType] = document.getElementById('src-' + sourceType);
src[sourceType + '-input'] = document.getElementById('src-' + sourceType + '-input');
src[sourceType + '-label'] = document.getElementById('src-' + sourceType + '-label');
src[sourceType + '-value'] = document.getElementById('src-' + sourceType + '-value');
src[sourceType + '-row'] = document.getElementById('src-' + sourceType + '-row');
if (src[sourceType]) registerEvent(src[sourceType], eventType, changeElement);
}
if (inlines.length > 0) {
for (i = 0; i < inlines.length; i++) {
var filename = inlines[i][0];
var inlineRadio;
// Hack around a weird IE bug where setting the name attribute
// below results in the radio button not showing its state properly
try {
inlineRadio = document.createElement('<input type="radio" name="inline_image" />');
}
catch (e) {
inlineRadio = document.createElement('input');
}
inlineRadio.type = 'radio';
inlineRadio.name = 'inline_image';
inlineRadio.id = 'inline_image' + i;
inlineRadio.value = filename;
<%~if attachment_uploaded%>
if (filename == '<%escape_js attachment_uploaded%>') {
inlineRadio.checked = true;
src['inline-input'].value = filename;
}
<%~endif%>
var inlineLabel = document.createElement('label');
inlineLabel.appendChild(document.createTextNode(filename));
inlineLabel.htmlFor = 'inline_image' + i;
var box = document.createElement('span');
box.appendChild(inlineRadio);
box.appendChild(inlineLabel);
src['inline-value'].appendChild(box);
inlineImages[inlineImages.length] = inlineRadio;
registerEvent(inlineRadio, 'click', function(radioBox) { return function () { src['inline-input'].value = radioBox.value; }; }(inlineRadio));
}
}
else {
src['inline'].parentNode.removeChild(src['inline']);
src['inline-label'].parentNode.removeChild(src['inline-label']);
src['inline-row'].parentNode.removeChild(src['inline-row']);
delete src['inline'];
delete src['inline-label'];
delete src['inline-row'];
}
if (!opener.canAttach) {
src['file'].parentNode.removeChild(src['file']);
src['file-label'].parentNode.removeChild(src['file-label']);
src['file-row'].parentNode.removeChild(src['file-row']);
delete src['file'];
delete src['file-label'];
delete src['file-row'];
}
submit = document.getElementById('submit');
changeElement();
setInterval(function () { checkSource() }, 250);
if (src['url'] && src['url'].checked) document.getElementById('src-url-input').focus();
<%~if error_loop.length%>
alert('Error:\n<%loop error_loop%><%escape_js loop_value%><%unless last%>\n<%endunless%><%endloop%>');
<%~elsif attachment_uploaded%>
if (true || confirm("submit form?")) submitWrapper();
<%~endif%>
}
function submitWrapper () {
if (activeSource == 'inline') {
var att_type = 'temp', att_id = 0;
for (var i = 0; i < inlines.length; i++) {
if (inlines[i][0] == src['inline-input'].value) {
att_type = inlines[i][1];
att_id = inlines[i][2];
break;
}
}
var url = '<%set url = GForum::SEO::url(params => "do=${page_mode}_attachment")%><%escape_js url%>;' + att_type + 'att_id=' + att_id;
if (att_type == 'temp')
url += ';<%if page_mode eq "post"%>post_unique<%else%>temp_id<%endif%>=' + document.getElementById('temp_id').value;
src['url-input'].value = url;
}
submitForm();
}
registerEvent(window, 'load', init);
//]]>
</script>
</head>
<body id="editor_image">
<!--form id="image_form" enctype="multipart/form-data" onsubmit="return checkSource(true)"-->
<form id="image_form" action="<%GForum::SEO::url()%>" method="post" enctype="multipart/form-data" onsubmit="return checkSource(true)">
<%hidden_form%>
<input type="hidden" name="do" value="<%page_mode%>_attachment_upload" />
<input type="hidden" id="temp_id" name="temp_id" value="" /><%-- populated from parent window by init() --%>
<input type="hidden" name="redo" value="<%this_do%>" />
<div id="form">
<div class="row">
<label class="name">Insert Image from:</label>
<input type="radio" id="src-url" name="src-type" class="radio"<%unless attachment_uploaded or error_loop.length%> checked<%endunless%>><label id="src-url-label" for="src-url" accesskey="u"><u>U</u>RL</label>
<%~unless attachment_uploaded%>
<input type="radio" id="src-file" name="src-type" class="radio"<%if error_loop.length%> checked<%endif%>><label id="src-file-label" for="src-file" accesskey="f"><u>F</u>ile</label>
<%~endunless%>
<input type="radio" id="src-inline" name="src-type" class="radio"<%if attachment_uploaded%> checked<%endunless%>><label id="src-inline-label" for="src-inline" accesskey="i"><u>I</u>nline Attachment</label>
</div>
<div id="src-url-row" class="row">
<label for="src-url-input" class="name" accesskey="s">Image <u>S</u>ource:</label>
<input type="text" id="src-url-input" value="" class="text">
</div>
<%~unless attachment_uploaded%>
<div id="src-file-row" class="row">
<label for="src-file-input" class="name" accesskey="m">I<u>m</u>age Upload:</label>
<input type="file" accept="image/*" id="src-file-input" name="<%if page_mode eq message%>msg<%else%>post<%endif%>_attachment_orig" class="file">
<input type="hidden" name="<%if page_mode eq message%>message<%else%>post<%endif%>_attachment_inline" value="1">
</div>
<div id="src-file-size-slider" style="display: none; align-items: center; gap: 8px;">
Size:
<input type="range" min="10" max="<%~if in.forum_id eq "1" %>1024<%~else %>256<%~endif%>" value="<%~if in.forum_id eq "1" %>512<%~else %>128<%~endif%>" id="input-size" style="max-width: 200px;"/>
<span id="target-size"></span>
</div>
<div id="src-file-quality-slider" style="display: none; align-items: center; gap: 8px;">
Quality:
<input type="range" min="10" max="100" value="90" id="input-quality" style="max-width: 200px;"/>
</div>
<div id="src-file-size-orig" style="display: none;">Original: <span id="original-dimensions"></span> - <span id="original-bytesize"></span></div>
<div id="src-file-size-resize" style="display: none;">Resized: <span id="resized-dimensions"></span> - <span id="resized-bytesize"></span></div>
<br />
<div>
<img style="width: 500px; object-fit: scale-down;" id="output-img"></img>
</div>
<%~endunless%>
<div id="src-inline-row" class="row">
<input type="hidden" id="src-inline-input" value="">
<label class="name">I<u>n</u>line Attachment:</label>
<div id="src-inline-value" class="value"><%-- populated by init() --%></div>
</div>
</div>
<div class="buttons">
<input type="submit" id="submit" value="OK" class="submit">
<input type="button" value="Cancel" class="button" onclick="window.close()">
</div>
</form>
<div id="output-box"></div>
</body>
<%~unless attachment_uploaded%>
<script>
let sourceImg = null
let sourceSize = 0
let initialized = false
let inputImg = document.getElementById('src-file-input')
let outputImg = document.getElementById('output-img')
let inputSize = document.getElementById('input-size')
let targetSize = document.getElementById('target-size')
let inputQuality = document.getElementById('input-quality')
let originalDimensions = document.getElementById('original-dimensions')
let resizedDimensions = document.getElementById('resized-dimensions')
let originalBytesize = document.getElementById('original-bytesize')
let resizedBytesize = document.getElementById('resized-bytesize')
//action="<%GForum::SEO::url()%>" method="post"
const form = document.forms.namedItem("image_form");
form.addEventListener(
"submit",
(event) => {
event.preventDefault();
const output = document.getElementById("output-box");
const formData = new FormData(form);
formData.append("CustomField", "This is some extra data");
const imgBlob = imageToBlob(outputImg.src, 'image/jpeg');
var imgPath = inputImg.value;
const imgName = imgPath.replace(/^.*?([^\\\/]*)$/, '$1');
formData.append("post_attachment", imgBlob, imgName);
const request = new XMLHttpRequest();
request.open("POST", "<%GForum::SEO::url()%>", true);
request.onload = (progress) => {
output.innerHTML =
request.status === 200
? "Uploaded!"
: `Error ${request.status} occurred when trying to upload your file.<br />`;
if ( request.status === 200 )
{
const winUrl = URL.createObjectURL( new Blob([request.responseText], { type: "text/html" }));
const win = window.open(
winUrl,
"_self"
);
win.opener = opener;
}
};
request.send(formData);
},
false
);
function resizeImage(image, size, quality)
{
let index = 0
let canvases = [document.createElement('canvas'), document.createElement('canvas')]
{
canvases[index].width = image.naturalWidth
canvases[index].height = image.naturalHeight
const ctx0 = canvases[index].getContext('2d')
ctx0.drawImage(image, 0, 0)
}
let finalWidth = Math.floor(image.naturalWidth * size)
let finalHeight = Math.floor(image.naturalHeight * size)
let iter = Math.floor(Math.sqrt((1 / size)))
for(let i = 0; i < iter; i++)
{
let canvasSrc = canvases[index]
let canvasDst = canvases[1 - index]
const ctxSrc = canvasSrc.getContext('2d')
const ctxDst = canvasDst.getContext('2d')
if(i == (iter - 1))
{
canvasDst.width = finalWidth
canvasDst.height = finalHeight
}
else
{
canvasDst.width = canvasSrc.width / 2
canvasDst.height = canvasSrc.height / 2
}
ctxDst.drawImage(canvasSrc, 0, 0, canvasSrc.width, canvasSrc.height, 0, 0, canvasDst.width, canvasDst.height)
index = 1 - index
}
let dataURL = canvases[index].toDataURL('image/jpeg', quality)
return dataURL
}
function getDataURLByteSize(d)
{
let parts = d.split(",")
let b64size = parts[1].length
let b64padding = parts[1].slice(-4).split('').filter(x => x == '=').length
return 3 * ((b64size / 4)) - b64padding
}
function onResizeSourceImg()
{
if(!sourceImg) return
targetSize.textContent = `${inputSize.value} KB`
let dataOriginal = resizeImage(sourceImg, 1, inputQuality.value / 100)
let sizeOriginal = getDataURLByteSize(dataOriginal)
let target = 1
if ( !initialized )
target = Math.min( sizeOriginal, <%~if in.forum_id eq "1" %>1024000<%~else %>256000<%~endif%> );
else
target = inputSize.value * 1024;
let imgRatio = Math.min( sourceImg.naturalWidth / sourceImg.naturalHeight, sourceImg.naturalHeight / sourceImg.naturalWidth );
let ratio = imgRatio * Math.sqrt( Math.min(1, target / sizeOriginal))
let dataURL = resizeImage(sourceImg, ratio, inputQuality.value / 100)
outputImg.src = dataURL
let size = getDataURLByteSize(dataURL)
resizedBytesize.textContent = `${Math.floor(size / 1024)} KB`
if ( !initialized )
{
targetSize.textContent = `${Math.floor(size / 1024)} KB`
inputSize.value = Math.floor(size / 1024)
initialized = true
}
}
onResizeSourceImg()
outputImg.onload = () => {
if(!sourceImg) return
resizedDimensions.textContent = `${outputImg.naturalWidth} x ${outputImg.naturalHeight}`
}
inputSize.addEventListener("input", e => {
onResizeSourceImg()
})
inputQuality.addEventListener("input", e => {
onResizeSourceImg()
})
inputImg.addEventListener("change", e => {
let files = e.target.files
if(files.length == 0) return
let file = files[0]
let fr = new FileReader()
fr.onload = () => {
let image = new Image()
image.onload = () => {
sourceImg = image
sourceSize = file.size
originalDimensions.textContent = `${image.naturalWidth} x ${image.naturalHeight}`
originalBytesize.textContent = `${Math.floor(file.size / 1024)} KB`
//inputSize.setAttribute('max', image.naturalWidth)
//inputSize.value = image.naturalWidth * 0.5
onResizeSourceImg()
}
image.src = fr.result
}
fr.readAsDataURL(file)
})
function imageToBlob(image, mime)
{
let byteString = atob(image.split(',')[1]);
let ab = new ArrayBuffer(byteString.length);
let ia = new Uint8Array(ab);
for (var i = 0; i < byteString.length; i++) ia[i] = byteString.charCodeAt(i);
let bb = new Blob([ab], { type: mime });
return bb
}
</script>
<%~endunless%>
</html>

38
site/forum/error.html Normal file
View File

@ -0,0 +1,38 @@
<!DOCTYPE html >
<html lang="en">
<head>
<title><%cat_full_name%>: <%forum_name%><%if this_page > 1%>: Page <%this_page%><%endif%></title>
<%include include_common_head.html%>
</head>
<body id="<%page_id%>">
<div class="container">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<%~set content_header_title = "An error occurred!"%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<ul class="error">
<%~if error starts '<li>'%>
<%error%>
<%~elsif error%>
<li><%error%></li>
<%~endif%>
<%~loop error_loop%>
<li><%loop_value%></li>
<%~endloop%>
</ul>
</div>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,43 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title><%cat_full_name%>: Favourites</title>
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<%~set content_header_title = "Favourites"%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = $user_username%>
<%~set escaped_username = escape_url unescape_html $user_username%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "username=$escaped_username")%>
<%~set breadcrumbs.1.name = $content_header_title%>
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<p>
Posts and threads written by <%include include_username.html%> that have been favourited by other users.
</p>
<%include include_user_favourites.html%>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

44
site/forum/forum_ban.html Normal file
View File

@ -0,0 +1,44 @@
<!DOCTYPE html >
<%~set search_widget = 1%>
<html lang="en">
<head>
<title><%cat_full_name%>: <%forum_name%>: <%if ban_ip%>IP<%else%>User<%endif%> Banned</title>
<%include include_common_head.html%>
</head>
<%~if in.ban_type eq ban_ip%><%set content_header_title = 'IP Address'%><%else%><%set content_header_title = 'User'%><%endif%>
<%~set content_header_title .= ' Banned'%>
<body class="page-<%page_id%> confirmation-page">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = $forum_name%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "forum=$forum_id")%>
<%~set breadcrumbs.1.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<p>
<%if ban_ip%>IP '<%ban_ip%>'<%else%><%include include_username.html%><%endif%> has been banned from <%cat_full_name%>: <%forum_name%>
<%~if ban_expiry%> until <%ban_expiry_date%><%endif%>.
</p>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,102 @@
<!DOCTYPE html >
<%~set search_widget = 1%>
<html lang="en">
<head>
<title><%cat_full_name%>: <%forum_name%>: <%if ban_ip%>IP<%else%>User<%endif%> Banned</title>
<%include include_common_head.html%>
</head>
<%~set content_header_title = "$forum_name: Bans"%>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = $forum_name%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "forum=$forum_id")%>
<%~set breadcrumbs.1.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<%~if not num_bans%><%-- This cannot be bans.length because bans is a code ref --%>
<p>
There are no bans are set on this forum.
</p>
<%~else%>
<form action="<%GForum::SEO::url()%>" method="post">
<%hidden_form%>
<input type="hidden" name="forum" value="<%forum%>" />
<div class="dtable">
<div class="dhead">
<div class="drow">
<div class="dcell">Set By</div>
<div class="dcell">Username</div>
<div class="dcell">IP Address</div>
<div class="dcell date">Date Set</div>
<div class="dcell">Reason</div>
<div class="dcell">Expiry</div>
<div class="dcell">Delete</div>
</div>
</div>
<div class="dbody">
<%~loop bans%>
<div class="drow">
<div class="dcell">
<%~set escaped_username = escape_url unescape_html $set_by_user_username%>
<a href="<%GForum::SEO::url(params => "username=$escaped_username")%>"><%nbsp set_by_user_username%></a>
</div>
<div class="dcell">
<%~set escaped_username = escape_url $user_username%>
<%if ban_type eq user_id_fk%><a href="<%GForum::SEO::url(params => "username=$escaped_username")%>"><%nbsp user_username%></a><%endif%>
</div>
<div class="dcell">
<%if ban_type eq ban_ip%><%ban_ip%><%endif%>
</div>
<div class="dcell">
<%ban_set_date%>
</div>
<div class="dcell">
<%ban_reason%>
</div>
<div class="dcell">
<%~if ban_expiry%>
<%ban_expiry_date%>
<%~else%>
<i>none</i>
<%~endif%>
</div>
<div class="dcell">
<input type="checkbox" name="ban_id" value="<%ban_id%>" />
</div>
</div>
<%~endloop%>
</div>
</div>
<div class="toolbar clearfix">
<hr class="line" />
<div class="btn-wrapper">
<input type="submit" class="btn default" name="do=forum_unban;redo=<%this_do%>" value="Remove Checked Bans" />
</div>
</div>
</form>
<%~endif%>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,96 @@
<!DOCTYPE html >
<%~set search_widget = 1%>
<html lang="en">
<head>
<title><%cat_full_name%>: Ban</title>
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Ban '%>
<%~if in.ban_type eq ban_ip%><%set content_header_title .= 'IP Address'%><%else%><%set content_header_title .= 'User'%><%endif%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = $forum_name%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "forum=$forum_id")%>
<%~set breadcrumbs.1.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<p>
You have chosen to ban
<%~if ban_type eq ban_ip%> the IP address '<%ban_value%>'
<%~else%> the user <%include include_username.html%>
<%~endif%>
from <%cat_full_name%>: <%forum_name%>.
</p>
<p>
If desired, you may set a timeout (in days) for the ban, and a
short reason for the ban, viewable only by administrators and
any other moderators of the forum.
</p>
<form action="<%GForum::SEO::url()%>" method="post" class="settings">
<%hidden_form%>
<input type="hidden" name="do" value="forum_ban" />
<input type="hidden" name="ban_type" value="<%ban_type%>" />
<input type="hidden" name="ban_value" value="<%ban_value%>" />
<input type="hidden" name="forum" value="<%forum_id%>" />
<div class="dtable form">
<div class="drow">
<div class="dcell name">Ban Type</div>
<div class="dcell divider"></div>
<div class="dcell value">
<%if ban_type eq ban_ip%>IP ban<%else%>User ban<%endif%>
</div>
</div>
<div class="drow">
<div class="dcell name"><%if ban_type eq ban_ip%>IP Address<%else%>User<%endif%></div>
<div class="dcell divider"></div>
<div class="dcell value">
<%if ban_type eq ban_ip%><%ban_value%><%else%><%include include_username.html%><%endif%>
</div>
</div>
<div class="drow">
<div class="dcell name">Ban Expiry</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" id="ban_expiry" name="ban_expiry" class="txt shotext" title="Leave blank to specify no expiry" /> days
</div>
</div>
<div class="drow">
<div class="dcell name">Ban Reason</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" id="ban_reason" name="ban_reason" class="txt midtext" />
</div>
</div>
<div class="drow actions">
<div class="dcell name"></div>
<div class="dcell divider"></div>
<div class="dcell value"><input type="submit" value="Ban <%if ban_type eq ban_ip%>IP<%else%>User<%endif%>" class="btn default" /></div>
</div>
</div>
</form>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

209
site/forum/forum_view.html Normal file
View File

@ -0,0 +1,209 @@
<!DOCTYPE html >
<%~set search_widget = 1%>
<%~set poll_widget = 1%>
<html lang="en">
<head>
<title><%cat_full_name%>: <%forum_name%><%if this_page > 1%>: Page <%this_page%><%endif%></title>
<%include include_common_head.html%>
</head>
<%~set hidden_sort = ''%><%set hidden_page = ''%><%set form_sort = ''%><%set form_page = ''%>
<%~if in.sb%><%set hidden_sort .= ";sb=$sb"%><%set form_sort .= "<input type=\"hidden\" name=\"sb\" value=\"$sb\" />"%><%endif%>
<%~if in.so%><%set hidden_sort .= ";so=$so"%><%set form_sort .= "<input type=\"hidden\" name=\"so\" value=\"$so\" />"%><%endif%>
<%~if in.mh%><%set hidden_page .= ";mh=$mh"%><%set form_page .= "<input type=\"hidden\" name=\"mh\" value=\"$mh\" />"%><%endif%>
<%~if in.page%><%set hidden_page .= ";page=$this_page"%><%set form_page .= "<input type=\"hidden\" name=\"page\" value=\"$this_page\" />"%><%endif%>
<%~set do = ''%><%if in.do%><%set do = "do=$this_do;"%><%endif%>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = $forum_name%>
<%~set btn_new = 1%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%>
<%~set breadcrumbs.0.name = $forum_name%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "forum=$forum_id")%>
<%include include_breadcrumb.html%>
<%~set paging_do = ''%>
<%~if in.do%>
<%~set paging_do = "do=$this_do"%>
<%~endif%>
<%~set pagination_options.type = 'forum'%>
<%~set pagination_options.id = $forum_id%>
<%~set pagination_options.params = "$paging_do$hidden_sort$hidden_page"%>
<%~set pagination_options.page_items = $forum_total_threads%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<div class="toolbar-b clearfix">
<%include include_hot_topics.html%>
<%include include_quicklaunch.html%>
</div>
<div class="dtable bg"><%-- start table --%>
<div class="dhead">
<div class="drow">
<div class="dcell icon">&nbsp;</div>
<div class="dcell subject">
<%~if sb eq post_subject and so ieq asc%><%set url_param_subject_so = 'desc'%><%else%><%set url_param_subject_so = 'asc'%><%endif%>
<a href="<%GForum::SEO::url(params => "${do}forum=$forum_id;sb=post_subject;so=$url_param_subject_so$hidden_page")%>" title="Sort by Subject">
Subject
<%~if sb eq post_subject%> <span class="<%if so ieq asc%>ascending<%else%>descending<%endif%>"></span><%endif~%>
</a>
</div>
<div class="dcell author">
<%~if sb eq post_username and so ieq asc%><%set url_param_author_so = 'desc'%><%else%><%set url_param_author_so = 'asc'%><%endif%>
<a href="<%GForum::SEO::url(params => "${do}forum=$forum_id;sb=post_username;so=$url_param_author_so$hidden_page")%>" title="Sort by Author"><%~%>
Author
<%~if sb eq post_username%> <span class="<%if so ieq asc%>ascending<%else%>descending<%endif%>"></span><%endif~%>
</a>
</div>
<div class="dcell views">Views</div>
<div class="dcell replies">
<%~if sb eq post_replies and so ieq desc%><%set url_param_replies_so = 'asc'%><%else%><%set url_param_replies_so = 'desc'%><%endif%>
<a href="<%GForum::SEO::url(params => "${do}forum=$forum_id;sb=post_replies;so=$url_param_replies_so$hidden_page")%>" title="Sort by # of Replies"><%~%>
Replies
<%~if sb eq post_replies%> <span class="<%if so ieq asc%>ascending<%else%>descending<%endif%>"></span><%endif~%>
</a>
</div>
<div class="dcell date">
<%~if sb eq post_latest_reply and so ieq asc%><%set url_param_last_post_so = 'desc'%><%else%><%set url_param_last_post_so = 'asc'%><%endif%>
<a href="<%GForum::SEO::url(params => "${do}forum=$forum_id;sb=post_latest_reply;so=$url_param_last_post_so$hidden_page")%>" title="Sort by # of Replies" rel="nofollow"><%~%>
Last Post
<%~if sb eq post_latest_reply%> <span class="<%if so ieq asc%>ascending<%else%>descending<%endif%>"></span><%endif~%>
</a>
</div>
</div>
</div>
<div class="dbody">
<%~loop post_loop%>
<%~if post_locked%><%set icon_class = 'locked-thread'%>
<%~elsif post_thread_hot%><%set icon_class = 'hot-thread'%>
<%~elsif post_new and new_replies%><%set icon_class = 'new-replies'%>
<%~elsif post_replies == 1%><%set icon_class = 'first-post'%>
<%~elsif post_replies%><%set icon_class = 'thread'%>
<%~elsif post_new%><%set icon_class = 'new-thread'%>
<%~else%><%set icon_class = 'single-thread'%><%endif%>
<div class="drow<%if post_sticky%> sticky-thread<%endif%>">
<div class="dcell icon"><span class="sprite-<%icon_class%>"></span></div>
<div class="dcell subject">
<%~unless post_moved and post_moved_perm < 3%>
<%~set forum_view = ''%>
<%~if in.do%>
<%~set forum_view = "forum_view=$this_do&"%>
<%~endif%>
<%~if post_moved%><%set url_id = $post_moved_id%><%else%><%set url_id = $post_id%><%endif%>
<%~set url_anchor = ""%>
<%~set url_param_unread = ""%>
<%~if current.user_default_post_display == 1 or not current.user_id%>
<%~if post_depth%>
<%~set url_anchor = "p$post_id"%>
<%~elsif current.user_jump_to_unread%>
<%~set url_param_unread = ";page=unread"%>
<%~set url_anchor = "unread"%>
<%~endif%>
<%~endif%>
<%~endunless%>
<%~if post_sticky%> <span class="sticky">Sticky:</span><%endif%>
<%~if post_moved%> <span class="moved">Moved:</span><%endif%>
<a href="<%GForum::SEO::url(type => "post", id => $url_id, params => "$forum_view$hidden_sort$url_param_unread", anchor => $url_anchor)%>" class="title">
<% post_subject %>
</a>
<div class="post-mob">
<span>by</span>
<%~set escaped_username = escape_url $post_username%>
<a href="<%GForum::SEO::url(params => "username=$escaped_username")%>" class="postedby"><%post_username %></a> <span>
<%if not post_moved%>
| <% post_date %>| <% post_replies || 0 %> replies</span>
<%~if post_depth == 0%>
<%~set url_param_page_last = "post=last-"%>
<%~if post_moved%><%set url_param_page_last .= "$post_moved_id"%><%else%><%set url_param_page_last .= "$post_id"%><%endif%>
<%~set url_anchor = ""%>
<%~if post_display_is_flat%><%set url_anchor = "last"%><%endif%>
<a href="<%GForum::SEO::url(params => "$forum_view$hidden_sort$url_param_page_last", anchor => $url_anchor)%>" rel="nofollow" class="right-arrow">&rarr;</a>
<%~endif%>
<%~endif%>
<%-- Server ad on mobile --%>
<%~if row_num == 4 %>
<%~set serve_ad = 1%><%set ad_count = 1%>
<%~else%>
<%~set count += 1%><%set odd = $count % 30%>
<%~if not $odd%>
<div class="mobpoll">
<%include include_poll_widget.html%>
<%~set serve_ad = 0%><%set count = 0%>
</div>
<%endif%>
<%~endif%>
</div>
<%~if $serve_ad%><%set height_choice = $ad_count % 2%>
<%~if not height_choice%><%set ad_height = 250%><%else%><%set ad_height = 600 %><%endif%>
<%~set ad_count += 1%>
<%include include_ad_mobile.html%>
<%~set serve_ad = 0%><%set count = 0%>
<%~endif%>
</div>
<div class="dcell author">
<%~set include_username_display = $post_username%>
<%include include_username.html%>
</div>
<div class="dcell views"><%if not post_moved%><%post_views%><%endif%></div>
<div class="dcell replies"><%if not post_moved%><%post_replies%><%endif%></div>
<div class="dcell date">
<%~if not post_moved%>
<%post_latest_reply_date%>
<span class="nowrap-text">
<%~if post_replies%>
<%~set escaped_username = escape_url $post_latest_poster%>
by <a href="<%GForum::SEO::url(params => "username=$escaped_username")%>" class="postedby"><%post_latest_poster%></a>
<%~endif%>
<%~-- Show jump image for root posts --%>
<%~if post_depth == 0%>
<a href="<%GForum::SEO::url(params => "$forum_view$hidden_sort$url_param_page_last", anchor => $url_anchor)%>" rel="nofollow" class="right-arrow">&rarr;</a>
<%~endif%>
</span>
<%~endif%>
</div>
</div>
<%~ endloop %>
</div>
</div><%-- end dtable --%>
<div class="toolbar clearfix">
<hr class="line" />
<%~set paging_do = ''%>
<%~if in.do%>
<%~set paging_do = "do=$this_do"%>
<%~endif%>
<%~set pagination_options.type = 'forum'%>
<%~set pagination_options.id = $forum_id%>
<%~set pagination_options.params = "$paging_do$hidden_sort$hidden_page"%>
<%~set pagination_options.page_items = $forum_total_threads%>
<%include include_paging.html%>
<%include include_forum_actions.html%>
</div>
<%-- ad for tablet --%>
<%include include_ad_tablet.html%>
</div><%-- end content --%>
</div><%-- end contentwrapper --%>
</div><%-- end main --%>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,38 @@
<%~if adsize eq '300x250' and $ad_300x250%>
<%~if admod eq 'mobile' or $admod eq 'tablet'%>
<div class="ad<%if admod eq 'mobile'%> admob<%elsif admod eq 'tablet'%> adtab<%endif%>">
<%~-- Serve ad for tablet/mobile --%>
<script type="text/javascript">
if (winWidth <= 1024) { document.write('<div class="adwrapper">' + "<%escape_js ad_300x250%>" + '</div>'); }
</script>
</div>
<%~else%>
<div class="ad">
<script type="text/javascript">
if (winWidth > 1024) { document.write('<div class="adwrapper">' + "<%escape_js ad_300x250%>" + '</div>'); }
</script>
</div>
<%~endif%>
<%~elsif adsize eq '300x600' and $ad_300x600%>
<%~if admod eq 'mobile' or $admod eq 'tablet'%>
<div class="ad<%if admod eq 'mobile'%> admob<%elsif admod eq 'tablet'%> adtab<%endif%>">
<%~-- Serve ad for tablet/mobile --%>
<script type="text/javascript">
if (winWidth <= 1024) { document.write('<div class="adwrapper">' + "<%escape_js ad_300x600%>" + '</div>'); }
</script>
</div>
<%~else%>
<div class="ad">
<script type="text/javascript">
if (winWidth > 1024) { document.write('<div class="adwrapper">' + "<%escape_js ad_300x600%>" + '</div>'); }
</script>
</div>
<%~endif%>
<%~elsif adsize eq '728x90' and $ad_728x90%>
<div class="ad">
<%~-- Serve leaderboard ad --%>
<script type="text/javascript">
if (winWidth >= 767) { document.write('<div class="adwrapper">' + "<%escape_js ad_728x90%>" + '</div>'); }
</script>
</div>
<%~endif%>

View File

@ -0,0 +1,8 @@
<%~set admod = 'mobile'%>
<%~if ad_height == 250%>
<%~set adsize = '300x250'%>
<%~else%>
<%~set adsize = '300x600'%>
<%~endif%>
<%include include_ad.html%>
<%~set admod = ''%>

View File

@ -0,0 +1,4 @@
<%~set admod = 'tablet'%>
<%~set adsize = '300x250'%>
<%include include_ad.html%>
<%~set admod = ''%>

View File

@ -0,0 +1,73 @@
<%--
The following loops through attachments that are either going to be added with the
post or message, or, when editing, the new ones to add AND the ones that already exist.
The following variables are available:
- att_id - the attachment ID
(in either post, message, or temp attachment directories)
- att_filename - the filename of the attachment
- att_size - the size of the attachment in bytes. Use
<%GForum::Attachment::friendly_size($att_size)%> to get a "friendly" size such as "66.3 KB" instead of "67890".
- att_content - the content type of the file (such as text/html for .html files). Use
<%GForum::Attachment::icon($att_content, $att_filename)%> to get the web path to the appropriate icon.
- att_type - usually 'temp', but will be 'post' for posts that already exist when editing a post
--%>
<%~if attach_mode eq message%>
<%~set show_inline_checkbox = $config.allow_message_inline%>
<%~else%>
<%~set attach_mode = 'post'%>
<%~set show_inline_checkbox = $forum_attachment_inline%>
<%~endif%>
<%~if this_do eq "${attach_mode}_attachment_list"%>
<%~set ADVANCEDEDITOR = 1%>
<%~endif%>
<%~if ADVANCEDEDITOR%>
<script type="text/javascript">
//<![CDATA[
inlineAttachments = [
<%~loop attachments%>
<%~if att_inline%>
<%~if _get_inline_notfirst%>, <%else%><%set _get_inline_notfirst = 1%><%endif~%>
['<%escape_js att_filename%>', '<%att_type%>', '<%att_id%>']
<%~endif%>
<%~endloop%>
];
//]]>
</script>
<%endif~%>
<%if attachments.length or can_attach%>
<div id="attach_table" class="dtable">
<%loop attachments%>
<div class="drow">
<div class="dcell filename">
<img src="<%GForum::Attachment::icon($att_content, $att_filename)%>" alt="" />
<span><%att_filename%></span>
<span><%GForum::Attachment::friendly_size($att_size)%></span>
</div>
<%~if show_inline_checkbox%>
<div class="dcell inline">
<%if att_inline%><input type="hidden" name="att_deinline-<%att_id%>-<%att_type%>" value="1" /><%endif%>
<span title="Inline image attachments can be inserted using <%if ADVANCEDEDITOR%>the Image button<%else%>[inline Filename] tags<%endif%>"><input type="checkbox" id="att_inline-<%att_id%>-<%att_type%>" tabindex="7" name="att_inline-<%att_id%>-<%att_type%>" value="1"<%if att_inline%> checked="checked"<%endif%> class="checkbox"<%if ADVANCEDEDITOR%> onclick="updateInline('<%escape_js att_filename%>', '<%att_type%>', '<%att_id%>', this.checked)"<%endif%> /><label for="att_inline-<%att_id%>-<%att_type%>">Inline</label></span>
</div>
<%~endif%>
<div class="dcell">
<a href="#" onclick="return submitForm(document.getElementById('<%compose_form_id%>'), ['do', '<%attach_mode%>_attachment_delete', 'att_type', '<%att_type%>', 'att_id', '<%att_id%>', 'redo', '<%in.to_redo || $this_do%>'])" class="sprite-delete">Delete attachment</a>
</div>
</div>
<%endloop%>
<%if can_attach%>
<div class="drow">
<div class="dcell filename">
<input type="file" tabindex="7" name="<%if attach_mode eq message%>msg<%else%>post<%endif%>_attachment" class="file" />
</div>
<%~if show_inline_checkbox%>
<div class="dcell inline">
<span title="Inline image attachments can be inserted using <%if ADVANCEDEDITOR%>the Image button<%else%>[inline Filename] tags<%endif%>"><input type="checkbox" tabindex="7" id="<%attach_mode%>_attachment_inline" name="<%attach_mode%>_attachment_inline" value="1" class="checkbox" /><label for="<%attach_mode%>_attachment_inline">Inline</label></span>
</div>
<%~endif%>
<div class="dcell">
<input type="submit" tabindex="7" id="button_attachment" name="do=<%attach_mode%>_attachment_upload;redo=<%in.to_redo || $this_do%>" value="Upload attachment" class="btn" />
</div>
</div>
<%endif%>
</div>
<%endif%>

View File

@ -0,0 +1,35 @@
<div class="row">
<div class="bike-info">
Name: <%bike_name%>
<%~if current_user_id == $user_id%>
[<small><a href="<%GForum::SEO::url(params => "username=$user_username;select_bike_id=$bike_id;action=bike_form")%>" rel="edit" title="Edit Settings">Edit</a></small>]
<%~endif%>
<br />
Style: <%bike_style%><br />
Brand: <%bike_brand%><br />
Model: <a href="GForum::SEO::url(params => "do=bike_search;bike_model=$bike_model;bike_brand=$bike_brand")%>"><%bike_model%></a><br />
Size: <a href="GForum::SEO::url(params => "do=bike_search;bike_model=$bike_model;bike_brand=$bike_brand;bike_size=$bike_size")%>"><%bike_size%></a>
<div class="bike-details">
<p><span>A: </span><span><em>Saddle height</em><%if bike_saddle_height%><br /><%bike_saddle_height%><%endif%></span></p>
<p><span>B: </span><span><em>Plumb line, saddle nose to BB</em><br /><%if bike_plumb_line_pos == 0%>+<%elsif bike_plumb_line_pos == "1"%>-<%endif%><%if bike_plumb_line%><%bike_plumb_line%><%endif%></span></p>
<%~if bike_style eq 'Tri'%>
<p><span>C: </span><span><em>Cockpit (nose to extension tip)</em><br /><%if bike_cockpit%><%bike_cockpit%><%endif%></span></p>
<p><span>D: </span><span><em>Armrests to extension tip</em><br /><%if bike_armrest_exttip%><%bike_armrest_exttip%><%endif%></span></p>
<p><span>E: </span><span><em>Armrests drop</em><br /><%if bike_armrestdrop_pos == 0%>-<%elsif bike_armrestdrop_pos == "1"%>+<%endif%><%if bike_armrestdrop%><%bike_armrestdrop%><%endif%></span></p>
<p><span>F: </span><span><em>Saddle nose to armrest back</em><br /><%if bike_nose_armrest%><%bike_nose_armrest%><%endif%></span></p>
<p><span>G: </span><span><em>Armrest width</em><br /><%if bike_armrest_width%><%bike_armrest_width%><%endif%></span></p>
<%endif%>
<%if bike_style eq 'Road'%>
<p><span>H: </span><span><em>Saddle nose to stem clamp</em><br /><%if bike_nose_clamp%><%bike_nose_clamp%><%endif%></span></p>
<p><span>I: </span><em>Handlebar drop</em><br /><%if bike_handlebar_drop%><%bike_handlebar_drop%><%endif%></span></p>
<%endif%>
<%~if bikd_comments%>
<p>Comments: <%bike_comments%></p>
<%~endif%>
</div>
</div>
<div class="btn-wrapper">
<a href="#" rel="more" class="btn">View More</a>
</div>
</div>

View File

@ -0,0 +1,176 @@
<script type="text/javascript">
function styleChange(obj) {
var style = $(obj).val();
if (style == '') { return false; }
if (style == 'Road') {
$('.account-bikes .dtable.form').addClass('road-bike');
}
else {
$('.account-bikes .dtable.form').removeClass('road-bike');
}
return;
}
</script>
<a href="#" rel="close" class="sprite-close">Close</a>
<form method="post" action="<%GForum::SEO::url()%>">
<input type="hidden" name="do" value="user_view">
<input type="hidden" name="action" value="bike_form">
<input type="hidden" name="user" value="<%user_id%>">
<input type="hidden" name="delete_it" value="0">
<input type="hidden" name="formsubmit" value="1">
<%~if select_bike_id%>
<input type="hidden" name="bike_edit" value="1">
<input type="hidden" name="select_bike_id" value="<%select_bike_id%>">
<%else%>
<input type="hidden" name="bike_add" value="1">
<%endif%>
<%hidden_form%>
<h4><%if select_bike_id%>Edit<%else%>Add<%endif%> Bike</h4>
<p class="error hide"></p>
<div class="dtable form<%if bike_style eq 'Road'%> road-bike<%endif%>">
<div class="drow">
<div class="dcell name">Bike Name</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" name="bike_name" value="<%bike_name || ''%>" class="txt midtext" />
</div>
</div>
<div class="drow">
<div class="dcell name">Style</div>
<div class="dcell divider"></div>
<div class="dcell value">
<%Plugins::GForum::Bikes::get_field_def('bike_style')%>
<select name="bike_style" onchange="styleChange(this)">
<option value="">Select a Style</option>
<%loop selected_values%>
<option value="<%value%>"<%if value eq $bike_style%> selected="selected"<%endif%>><%name%></option>
<%endloop%>
</select>
</div>
</div>
<div class="drow">
<div class="dcell name">Brand/Models</div>
<div class="dcell divider"></div>
<div class="dcell value">
<select id="bike_brand" name="bike_brand" onchange="loadSub('bike_model', level2, this.options[this.selectedIndex].value)">
<option value="">Select a Brand</option>
</select>
<select id="bike_model" name="bike_model">
<option value="">Select a Model</option>
</select>
</div>
</div>
<div class="drow">
<div class="dcell name">Size</div>
<div class="dcell divider"></div>
<div class="dcell value">
<%Plugins::GForum::Bikes::get_field_def('bike_size')%>
<select name="bike_size">
<option value="">Select a Size</option>
<%loop selected_values%>
<option value="<%value%>"<%if value eq $bike_size%> selected="selected"<%endif%>><%name%></option>
<%endloop%>
</select>
</div>
</div>
<div class="drow">
<div class="dcell name">Saddle height</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" name="bike_saddle_height" value="<%bike_saddle_height || ''%>" size="2" maxlength="3" class="txt smatext" />
</div>
</div>
<div class="drow">
<div class="dcell name">Plumb line, saddle nose to BB</div>
<div class="dcell divider"></div>
<div class="dcell value">
<%Plugins::GForum::Bikes::get_field_def('bike_plumb_line_pos')%>
<select name="bike_plumb_line_pos">
<%loop selected_values%>
<option value="<%value%>"<%if checked%> selected<%endif%>><%name%></option>
<%endloop%>
</select>
<input type="text" name="bike_plumb_line" value="<%bike_plumb_line || ''%>" size="2" maxlength="3" class="txt smatext"/>
</div>
</div>
<div class="drow tri">
<div class="dcell name">Cockpit (nose to extension tip)</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" name="bike_cockpit" value="<%bike_cockpit || ''%>" size="2" maxlength="3" class="txt smatext" />
</div>
</div>
<div class="drow tri">
<div class="dcell name">Armrests to extension tip </div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" name="bike_armrest_exttip" value="<%bike_armrest_exttip || ''%>" size="2" maxlength="3" class="txt smatext" />
</div>
</div>
<div class="drow tri">
<div class="dcell name">Armrests drop</div>
<div class="dcell divider"></div>
<div class="dcell value">
<%Plugins::GForum::Bikes::get_field_def('bike_armrestdrop_pos')%>
<select name="bike_armrestdrop_pos">
<%loop selected_values%>
<option value="<%value%>"<%if checked%> selected<%endif%>><%name%></option>
<%endloop%>
</select>
<input type="text" name="bike_armrestdrop" value="<%bike_armrestdrop || ''%>" size="2" maxlength="3" class="txt smatext" />
</div>
</div>
<div class="drow tri">
<div class="dcell name">Saddle nose to armrest back</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" name="bike_nose_armrest" value="<%bike_nose_armrest || ''%>" size="2" maxlength="3" class="txt smatext" />
</div>
</div>
<div class="drow">
<div class="dcell name">Armrest width</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" name="bike_armrest_width" value="<%bike_armrest_width || ''%>" size="2" maxlength="3" class="txt smatext" />
</div>
</div>
<div class="drow tri">
<div class="dcell name">Saddle nose to stem clamp</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" name="bike_nose_clamp" value="<%bike_nose_clamp || ''%>" size="2" maxlength="3" class="txt smatext" />
</div>
</div>
<div class="drow tri">
<div class="dcell name">Handlebar drop</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" name="bike_handlebar_drop" value="<%bike_handlebar_drop || ''%>" size="2" maxlength="3" class="txt smatext" />
</div>
</div>
<div class="drow">
<div class="dcell name">Comments</div>
<div class="dcell divider"></div>
<div class="dcell value">
<textarea name="bike_comments" class="txt lngtext"><%bike_comments || ''%></textarea>
</div>
</div>
<div class="drow actions">
<div class="dcell name"></div>
<div class="dcell divider"></div>
<div class="dcell value">
<%~if select_bike_id%>
<input type="submit" name="bupdate" value="Update" class="btn default" />
<input type="button" name="bdelete" value="Delete" class="btn default" />
<%~else%>
<input type="submit" name="bupdate" value="Add Bike" class="btn default" />
<%~endif%>
</div>
</div>
</div><%--end dtable--%>
<p><em>All values in millimeters</em></p>
</form>
<%include include_bike_js.html%>

View File

@ -0,0 +1,66 @@
<script type="text/javascript">
var toplevel = new Array();
var level2 = new Object();
<%Plugins::GForum::Bikes::generate_brand()%>
function load(obj, source, selected) {
var oO = document.createElement('option');
//obj.appendChild(oO);
for (var i=0; i<source.length; i++) {
var oO = document.createElement('option');
oO.value = source[i].name;
oO.innerHTML = source[i].name;
if (selected == source[i].id) oO.selected = true;
obj.appendChild(oO);
}
obj.style.display = 'inline';
}
function remove(obj) {
while (obj.options.length > 0) {
obj.remove(0)
}
}
function loadSub(name, source, fatherID, subName, selected,loadtext) {
var obj = document.getElementById(name);
if (!obj) return;
remove(obj);
if (fatherID) {
var data = source[fatherID];
if (!data) { obj.style.display = 'none'; }
else {
load(obj, data, selected);
var obj2 = document.getElementById(loadtext);
if (obj2) obj2.style.display='inline';
}
}
else { obj.style.display = 'none'; }
if (subName) {
var subObj = document.getElementById(subName);
remove(subObj);
subObj.style.display = 'none';
}
}
<%if select_bike_id%>
<%loop user_bikes_loop%>
<%if bike_id != $select_bike_id%><%nextloop%><%endif%>
load(document.getElementById('bike_brand'), toplevel, '<%if bike_brand%><%bike_brand%><%else%>0<%endif%>');
<%if bike_brand%>
loadSub('bike_model', level2, '<%bike_brand%>', '', '<%if bike_model%><%bike_model%><%else%><%endif%>');
<%endif%>
<% set bike_found = 1 %>
<%endloop%>
<%endif%>
<%if not bike_found %>
load(document.getElementById('bike_brand'), toplevel, '<%if bike_brand%><%bike_brand%><%else%><%endif%>');
<%if bike_brand%>
loadSub('bike_model', level2, '<%bike_brand%>', '', '<%if bike_model%><%bike_model%><%else%><%endif%>');
<%endif%>
<%endif%>
</script>

View File

@ -0,0 +1,11 @@
<div class="title">Bike(s) <%if current_user_id == $user_id%>you<%else%><%user_username%><%endif%> own</div>
<%if success%><p class="message"><%success%></p><%endif%>
<%Plugins::GForum::Bikes::get_user_bikes($user_id)%>
<%~if user_bikes_loop.length%>
<%~loop user_bikes_loop%>
<%include include_bike.html%>
<%~endloop%>
<%~else%>
<p>No bike found.</p>
<%~endif%>

View File

@ -0,0 +1,8 @@
<div class="breadcrumb">
<a href="/">Home</a> &gt;
<a href="<%GForum::SEO::url()%>">Forum</a>
<%~loop breadcrumbs%>
&gt; <%if url%><a href="<%url%>"><%name%></a><%else%><span><%name%></span><%endif%>
<%~endloop%>
</div>

View File

@ -0,0 +1,5 @@
<%~set minify = $config.minify || 0%>
<%~set minify = 0%>
<%~set slowtwitch_forum = 1%>
<%include include_global_head.html%>
<%google_analytics%>

View File

@ -0,0 +1,43 @@
<div class="page-header">
<div class="clearfix">
<h1><%content_header_title || 'Forum'%></h1>
<%~if post_toolbar%>
<%include include_post_toolbar.html%>
<%~else%>
<%include include_forum_actions.html%>
<%~endif%>
</div>
<hr class="line" />
</div>
<%~if errors.length%><%set error_loop = $errors%><%endif%>
<%~if success or success_loop.length%>
<div class="message<%unless error or error_loop.length or welcome%> last<%endunless%>">
<ul>
<%~if success starts '<li>'%>
<%success%>
<%~elsif success%>
<li><%success%></li>
<%~endif%>
<%~loop success_loop%>
<li><%loop_value%></li>
<%~endloop%>
</ul>
</div>
<%~endif%>
<%~if error or error_loop.length%>
<div class="error<%unless welcome%> last<%endunless%>">
<ul>
<%~if error starts '<li>'%>
<%error%>
<%~elsif error%>
<li><%error%></li>
<%~endif%>
<%~loop error_loop%>
<li><%loop_value.error || $loop_value%></li><%-- error_loop values containing an 'error' key are used by GForum in some places, which were implemented before loop_value existed --%>
<%~endloop%>
</ul>
</div>
<%~endif%>
<%include include_forum_rules.html%>

View File

@ -0,0 +1,35 @@
<div class="btn-wrapper clearfix">
<%~if page_id eq 'category_list' and not $current_user_id%>
You are not logged in. Click <a href="<%GForum::SEO::url(params => "do=login")%>">here</a> to sign in.
<%elsif page_id eq 'forum_view'%>
<a href="<%GForum::SEO::url()%>" class="btn default mobile">All Forums</a>
<%~if btn_new and user_forum_permission >= 5%>
<a href="<%GForum::SEO::url(params => "do=post_write&forum=$forum_id")%>" class="btn default">post new topic</a>
<%~endif%>
<%~elsif page_id eq 'search_results'%>
<a href="<%GForum::SEO::url()%>" class="btn default">All Forums</a>
<%~elsif page_id eq 'user_view'%>
<%~if perm_hide_post%>
<a href='<%GForum::SEO::url(params => "do=remove_permission;id=$user_id;username=$url_user_username;permission=hide_post;next_do=$this_do")%>' rel="post-only" class="btn default">Show User's Posts</a>
<%~else%>
<a href='<%GForum::SEO::url(params => "do=add_permission;id=$user_id;username=$url_user_username;permission=hide_post;next_do=$this_do")%>' rel="post-only" class="btn default">Hide User's Posts</a>
<%~endif%>
<%~if user_id ne $current.user_id%>
<%~set my_username = $current.user_username%>
<%~if user_accept_privmsg == 2 and buddy.$my_username%><%set buddy_ok = 1%><%endif~%>
<%~if user_accept_privmsg == 1 or buddy_ok~%>
<a href="<%GForum::SEO::url(params => "do=message;user_username=$url_user_username")%>" class="btn default">Send Private Message</a>
<%~endif%>
<%~endif%>
<%~elsif page_id like 'message'%>
<%~if not url_param_mh%><%set url_param_mh = ''%><%endif%>
<a href="<%GForum::SEO::url(params => "do=message_list$url_param_mh")%>" title="Private Messages - Inbox" class="btn default">Inbox</a>
<a href="<%GForum::SEO::url(params => "do=message_list;mode=sent$url_param_mh")%>" title="Private Messages - Sent" class="btn default">Sent</a>
<a href="<%GForum::SEO::url(params => "do=message")%>" title="Private Messages - Compose" class="btn default">Compose</a>
<%~endif%>
</div>

View File

@ -0,0 +1,4 @@
<div id="forum-rules" title="Forum Rules" class="hide">
<p>Login required to started new threads</p>
<p>Login required to post replies</p>
</div>

View File

@ -0,0 +1,29 @@
<%~if not tagged_threads.length%><%~set tagged_threads = GForum::ThreadTag::generate_threadtags()%><%endif%>
<%~if tagged_threads.length%>
<div class="widget hot-topics">
<a href="#" rel="hottopic" class="hotlnk">Hot Forum Topics <span class="sprite-arrow-down-b"></span></a>
<div class="tagwidget">
<ul>
<%~loop tagged_threads%>
<li>
<a href="#" class="cat"><%group_name%><i class="sprite-expand"></i></a>
<div class="children">
<ul>
<%~loop groups%>
<li>
<a href="#"><%group_name%></a>
<ul>
<%~loop threads%>
<li class="thread"><span class="sprite-single-thread"></span> <a href="<%GForum::SEO::url(type => "post", id => $post_id)%>"><%post_subject%></a></li>
<%~endloop%>
</ul>
</li>
<%~endloop%>
</ul>
</div>
</li>
<%~endloop%>
</ul>
</div>
</div>
<%~endif%>

View File

@ -0,0 +1,27 @@
<div id="markup_tags" class="hide">
<%--
<input type="button" id="markup_tag_code" value="code" class="button" />
--%>
<input type="button" id="markup_tag_reply" value="reply" class="button" />
<input type="button" id="markup_tag_quote" value="quote" class="button" />
<input type="button" id="markup_tag_b" value="b" class="button" />
<input type="button" id="markup_tag_u" value="u" class="button" />
<input type="button" id="markup_tag_i" value="i" class="button" />
<input type="button" id="markup_tag_email" value="email" class="button" />
<input type="button" id="markup_tag_url" value="url" class="button" />
</div>
<script type="text/javascript">
var mt = document.getElementById('markup_tags');
// Hide the tags unless javascript is enabled
mt.className = 'row post-markup-tags';
var buttons = mt.getElementsByTagName('input');
for (var i = 0; i < buttons.length; i++) {
if (buttons[i].type != 'button')
next;
registerEvent(buttons[i], 'click', function (evt) {
if (!evt) evt = window.event;
var target = evt.target ? evt.target : evt.srcElement;
wrapTag(target.value);
});
}
</script>

View File

@ -0,0 +1,83 @@
<%~if preview%>
<div class="post-preview">Preview:</div>
<%~elsif reply_view%>
<div class="post-reply-view">Replying to:</div>
<%~endif%>
<div id="p<%msg_id || 'preview'%>" class="post-wrapper">
<div id="post_header_<%post_id || 'preview'%>" class="post-header clearfix">
<span class="post-subject">
<%msg_subject%>
</span>
<div class="post-actions">
<%unless preview or reply_view%>
<%~unless sent_message%>
<a href="<%GForum::SEO::url(params => "do=message_reply_write;message=$msg_id")%>" title="Reply">Reply</a>
<%~if config.message_style % 2%>
| <a href="<%GForum::SEO::url(params => "do=message_reply_write;quote=1;message=$msg_id")%>" title="Quote">Quote</a>
<%~endif%>
<%endunless%>
| <a href="#" onclick="return confirm('Are you sure you want to delete this private message?') ? submitForm(document.getElementById('message_action_form'), ['do','message_delete', '<%if sent_message%>sent_<%endif%>delete','<%msg_id%>']) : false" title="Delete">Delete</a>
<%endunless%>
</div>
</div>
</div>
<div id="m<%msg_id || 'preview'%>" class="post-wrapper">
<div class="post-body-wrapper">
<div class="dtable">
<div class="drow">
<div class="dcell">
<%include include_message_display_infobar.html%>
</div>
<div class="dcell">
<div id="message_body_<%message_id || 'preview'%>" class="post-body">
<%msg_body%>
</div>
<%~if sent_message and msg_has_attachments%>
<%~set show_attachments = 1%>
<%~else%>
<%~loop msg_attachments%>
<%~if messatt_inline and config.allow_message_inline%><%nextloop%><%endif%>
<%~set show_attachments = 1%>
<%~lastloop%>
<%~endloop%>
<%~endif%>
<%~if show_attachments%>
<div class="top-spacer">
<div class="message-footer">
<%~if sent_message and msg_has_attachments%>
<h4>The message contained <%msg_has_attachments%> attachment<%if msg_has_attachments != 1%>s<%endif%></h4>
<%~else%>
<h4>Attached Files:</h4>
<ul class="attachments">
<%~loop msg_attachments%>
<%~if messatt_inline and config.allow_message_inline%><%nextloop%><%endif%>
<li>
<img src="<%GForum::Attachment::icon($messatt_content, $messatt_filename)%>" alt="<%messatt_content%>" />
<a href="<%GForum::SEO::url(params => "do=message_attachment;messatt_id=$messatt_id")%>" target="_blank"><%messatt_filename%></a> (<%GForum::Attachment::friendly_size($messatt_size)%>)
</li>
<%~endloop%>
</ul>
<%~endif%>
</div>
</div>
<%~endif%>
</div>
</div> <%-- drow --%>
</div> <%-- dtable --%>
<div class="post-actions mobile">
<%unless preview or reply_view%>
<%~unless sent_message%>
<a href="<%GForum::SEO::url(params => "do=message_reply_write;message=$msg_id")%>" title="Reply" class="btn">Reply</a>
<%~if config.message_style % 2%>
<a href="<%GForum::SEO::url(params => "do=message_reply_write;quote=1;message=$msg_id")%>" title="Quote" class="btn">Quote</a>
<%~endif%>
<%endunless%>
<a href="#" onclick="return confirm('Are you sure you want to delete this private message?') ? submitForm(document.getElementById('message_action_form'), ['do','message_delete', '<%if sent_message%>sent_<%endif%>delete','<%msg_id%>']) : false" title="Delete" class="btn">Delete</a>
<%endunless%>
</div>
</div>
</div>

View File

@ -0,0 +1,11 @@
<%~if preview%><%current%><%endif%>
<div id="message_info_<%msg_id || 'preview'%>" class="post-info">
<div class="username">
<%~set include_username_display = $message_username%>
<%~include include_username.html~%>
</div>
<div class="message-date bottom-message-date">
<%msg_date%>
</div>
</div>

View File

@ -0,0 +1,30 @@
<%~if messages.length%>
<div class="dbody">
<%~loop messages%>
<div class="drow">
<div class="dcell icon">
<input type="checkbox" name="delete" value="<%msg_id%>" class="checkbox" />
</div>
<div class="dcell status">
<%~set title = ''%><%set icon_class = ''%>
<%~if msg_status == 0%>
<%~set title = 'New message!'%><%set icon_class = 'sprite-message'%>
<%~elsif msg_status == 2%>
<%~set title = 'Replied message'%><%set icon_class = 'sprite-message-replied'%>
<%~else%>
<%~set title = 'Read message'%><%set icon_class = 'sprite-message-read'%>
<%~endif%>
<span class="<%icon_class%>" title="<%title%>"></span>
</div>
<div class="dcell subject">
<a href="<%GForum::SEO::url(params => "message=$msg_id")%>"><%msg_subject%></a>
</div>
<div class="dcell from">
<%set include_username_display = $msg_username~%>
<%include include_username.html%>
</div>
<div class="dcell date"><%msg_date%></div>
</div>
<%~endloop%>
</div>
<%endif%>

View File

@ -0,0 +1,24 @@
<%if sent_messages.length%>
<div class="dbody">
<%loop sent_messages%>
<div class="drow">
<div class="dcell icon">
<input type="checkbox" name="sent_delete" value="<%msg_id%>" class="checkbox" />
</div>
<div class="dcell status">
<span class="sprite-message-sent" title="<%title%>"></span>
</div>
<div class="dcell subject">
<a href="<%GForum::SEO::url(params => "sent_message=$msg_id")%>"><%msg_subject%></a>
</div>
<div class="dcell recipient">
<%set include_username_display = $msg_username~%>
<%include include_username.html%>
</div>
<div class="dcell date">
<%msg_date%>
</div>
</div>
<%endloop%>
</div>
<%endif%>

View File

@ -0,0 +1,179 @@
<%~if ie_version >= 5.5 or mozilla_version >= 1.4 or webkit_version >= 312.1%>
<%~if advanced_editor%>
<%~set ADVANCEDEDITOR = 1%>
<%~elsif current.user_advanced_editor and not basic_editor%>
<%~set ADVANCEDEDITOR = 1%>
<%~else%>
<%~set ADVANCEDEDITOR = 0%>
<%~endif%>
<%~else%>
<%~set ADVANCEDEDITOR = 0%>
<%~endif%>
<%~if ADVANCEDEDITOR and not config.message_style % 2%>
<%~set ADVANCEDEDITOR = 0%>
<%~endif%>
<script type="text/javascript" src="<%static_url%>/js/jquery.min.js"></script>
<script type="text/javascript">
//<![CDATA[
<%~if ADVANCEDEDITOR%>
var ae, sc;
<%~else%>
var sc;
function addTag(tag) {
var textarea = document.getElementById('msg_body');
insertText(textarea, '[' + tag + ']');
}
function wrapTag(tag) {
var textarea = document.getElementById('msg_body');
wrapText(textarea, '[' + tag + ']', '[/' + tag + ']');
}
<%~endif%>
registerEvent(window, 'load', function () {
/* Cancel any "enter" key presses on non-button input elements as they would submit the form */
var inputs = document.getElementsByTagName('input');
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type != 'hidden' && inputs[i].type != 'button' && inputs[i].type != 'submit')
registerEvent(inputs[i], 'keypress', function (evt) { if (evt.keyCode == 13) { cancelEvent(evt); return false } });
}
/* Create and configure the spellcheck object */
sc = new spellCheck('sc');
sc.id.checkContent = 'msg_body';
sc.id.htmlCompose = 'advanced_editor';
sc.id.extra = ['msg_style', 'temp_id'];
sc.lang.resume = 'Resume Message';
sc.config.disableElements = ['editor_switch', 'button_attachment', 'button_post', 'button_preview'];
<%~if ADVANCEDEDITOR%>
sc.config.editorObj = ae;
<%~endif%>
sc.load();
<%~unless user_username%>
GForum.helpText="<%GForum::language('HELP_TEXT_ENTER_USERNAME')%>";
<%~endunless%>
});
//]]>
</script>
<input type="hidden" id="temp_id" name="temp_id" value="<%temp_id%>" />
<div class="post-header-group">
<div id="row_message_subject" class="row">
<label for="msg_subject" class="name">Subject</label>
<div class="value">
<input type="text" id="msg_subject" name="msg_subject" value="<%msg_subject%>" class="txt midtext" tabindex="1" />
</div>
</div>
<div id="row_user_username" class="row">
<label<%if ask_username%> for="autocomplete"<%endif%> class="name">Recipient</label>
<div class="value">
<%~if ask_username%>
<input type="text" id="autocomplete" name="user_username" value="<%user_username || ''%>" placeholder="<%GForum::language('HELP_TEXT_ENTER_USERNAME')%>" class="txt midtext" tabindex="1" />
<span>&mdash; <a href="<%GForum::SEO::url(params => "do=user_list")%>">View Member Directory</a></span>
<%~else%>
<input type="hidden" name="user" value="<%user_id%>" />
<input type="hidden" name="user_username" value="<%user_username || ''%>" />
<p><%include include_username.html%></p>
<%~endif%>
</div>
</div>
</div>
<div id="row_msg_body" class="row post-message">
<label class="name"<%unless ADVANCEDEDITOR%> for="msg_body"<%endunless%>>Post</label>
<div class="value">
<script type="text/javascript" src="<%static_url%>/js/spellcheck.js"></script>
<%if ADVANCEDEDITOR%>
<input type="hidden" id="msg_body" name="msg_body" value="<%msg_body%>" />
<script type="text/javascript" src="<%static_url%>/editor/editor.js"></script>
<script type="text/javascript">
//<![CDATA[
<%include editor_gforum.js%>
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
var ae = new advancedEditor();
ae.config.imageDialogURL = '<%cgi_root_url%><%GForum::SEO::url(params => "do=editor_image;editor_type=message")%>';
var $subject = $('#msg_subject');
var $user = $('#user_username');
if ($subject.val().length == 0) {
$subject.focus();
}
else if ($user.length && $user.val().length == 0) {
$user.focus();
}
else {
ae.config.focusOnload = true;
}
ae.load('<%compose_form_id%>', 'msg_body');
//]]>
</script>
<iframe id="editor_iframe" src="<%static_url%>/editor/editor_iframe.html" frameborder="0" scrolling="no"></iframe>
<%else%>
<input type="hidden" name="basic_editor" value="1" />
<textarea id="msg_body" name="msg_body" tabindex="6" class="txt lngtext"><%msg_body%></textarea>
<script type="text/javascript">
//<![CDATA[
var $subject = $('#msg_subject');
var $user = $('#user_username');
if ($subject.val().length == 0) {
$subject.focus();
}
else if ($user.length && $user.val().length == 0) {
$user.focus();
}
else {
$('#msg_body').focus();
}
//]]>
</script>
<%endif%>
</div>
</div>
<%if not ADVANCEDEDITOR%>
<%include include_markup_tags.html%>
<%endif%>
<div class="row post-link-actions">
<%if ADVANCEDEDITOR%><%-- The advanced editor only works for markup posts --%>
<input type="hidden" id="post_style" name="post_style" value="1" />
<input type="hidden" id="advanced_editor" name="advanced_editor" value="1" />
<a id="editor_switch" href="#" onclick="return submitForm(document.getElementById('<%compose_form_id%>'), ['do','<%this_do%>', 'basic_editor','1', 'basic_editor_switch','1'])" class="hide">Switch to Basic Editor</a> |
<script type="text/javascript">
document.getElementById('editor_switch').className = '';
</script>
<%~elsif ie_version >= 5.5 or mozilla_version >= 1.4 or webkit_version >= 312.1%>
<a id="editor_switch" href="#" onclick="return submitForm(document.getElementById('<%compose_form_id%>'), ['do','<%this_do%>', 'advanced_editor','1', 'advanced_editor_switch','1'])">Switch to Advanced Editor</a> |
<%endif%>
<a id="button_spellcheck" href="#" title="Spell Check">Check Spelling</a> |
<a id="button_preview" href="#" onclick="return submitForm(document.getElementById('<%compose_form_id%>'), ['do', 'message_preview', 'redo', '<%this_do%>'])" title="Spell Check">Preview Post</a>
</div>
<%~if can_attach or attachments.length%>
<div id="row_attachments" class="row post-attachments">
<label class="name sprite-attachment">Attachments</label>
<div id="attachment_list" class="value clearfix">
<%~set attach_mode = 'message'%>
<%include include_attachments.html%>
</div>
</div>
<%~endif%>
<hr class="line" />
<div id="row_message_options" class="row post-options">
<div class="option">
<input type="checkbox" id="msg_append_signature" name="msg_append_signature" value="1"<%if msg_append_signature%> checked="checked"<%endif%> class="checkbox" tabindex="8" />
<label for="msg_append_signature">Append signature to message</label>
</div>
</div>

View File

@ -0,0 +1,10 @@
<%~set pagination_options.style ||= 1%>
<%~set pagination_options.style_next = '<span class="next"><span>Next</span> <span class="sprite-next"></span></span>' %>
<%~set pagination_options.style_prev = '<span class="prev"><span class="sprite-prev"></span> <span>Prev</span></span>' %>
<%~set pagination_options.style_first = '<span class="first"><span class="sprite-first"></span></span>' %>
<%~set pagination_options.style_last = '<span class="last"><span class="sprite-last"></span></span>' %>
<%~set pagination_options.style_nofirst = '<span class="first"><span class="sprite-nofirst"></span></span>' %>
<%~set pagination_options.style_nolast = '<span class="last"><span class="sprite-nolast"></span></span>' %>
<%~set pagination_options.style_nonext = '<span class="next"><span>Next</span> <span class="sprite-nonext"></span></span>' %>
<%~set pagination_options.style_noprev = '<span class="prev"><span class="sprite-noprev"></span> <span>Prev</span></span>' %>
<div class="paging"><%~GForum::GUI::draw(draw => 'luna-paging')%></div>

View File

@ -0,0 +1,26 @@
<form action="<%if in.call_from eq 'glinks'%>/cgi-bin/articles/poll.cgi<%else%><%cgi_root_url%>/cgi-bin/poll/poll.cgi<%endif%>" method="post" name="forum_poll">
<%if remote%>
<input type="hidden" name="remote" value="1">
<%endif%>
<input type="hidden" name="poll_id" value="<%poll_id%>">
<input type="hidden" name="poll_type" value="<%poll_type%>">
<input type="hidden" name="forum_id" value="<%forum_id || $in.forum_id || 0%>">
<input type="hidden" name="vote" value="true">
<div class="subtitle"><%poll_question%></div>
<div class="desc"><%poll_text%></div>
<div class="answers">
<%loop poll_answers%>
<div class="option">
<input type="radio" id="answer<%poll_answer_id%>" name="poll_answer_id" value="<%poll_answer_id%>" /><label for="answer<%poll_answer_id%>"><%poll_answer_answer%></label>
</div>
<%endloop%>
</div>
<div class="btn-wrapper">
<input type="submit" name="pollsub" value="Vote" class="btn" />
<%~if in.call_from eq 'glinks'%>
<a href="/cgi-bin/articles/poll.cgi?poll_view=results_view" title="Poll view" class="lnk">View Results</a>
<%~else%>
<a href="<%GForum::SEO::url(params => "forum=$forum_id;poll_view=results_view")%>" title="Poll view" class="lnk">View Results</a>
<%~endif%>
</div>
</form>

View File

@ -0,0 +1,26 @@
<div class="subtitle"><%poll_question%></div>
<div class="desc"><%poll_text%></div>
<div class="result-votes">
<%~if poll_type%>
Correct Answers: <%poll_correct_answer%> (<%poll_votes%> answers submitted)
<%~else%>
<%poll_votes%> Votes
<%~endif%>
</div>
<div class="dtable">
<%loop poll_answers%>
<%~set meter = $poll_answer_percentage * 80%><%set meter = $meter / 100%>
<div class="drow">
<div class="dcell percentage"><%poll_answer_percentage || 0%>%</div>
<div class="dcell meter"><div><span style="border-left-width: <%meter%>px"></span></div></div>
<div class="dcell choice"><%poll_answer_answer%></div>
</div>
<%endloop%>
</div>
<div class="btn-wrapper">
<%~if in.call_from eq 'glinks'%>
<a href="/cgi-bin/articles/poll.cgi?poll_view=vote_view" title="Poll view" class="btn">View Poll</a>
<%~else%>
<a href="<%GForum::SEO::url(params => "forum=$forum_id;poll_view=vote_view")%>" title="Poll view" class="btn">View Poll</a>
<%~endif%>
</div>

View File

@ -0,0 +1,28 @@
<%~get_cgi_value('poll_view')%>
<%~if cgi_poll_view eq 'vote_view'%>
<%~Poll::list($current_poll, 'vote_view')%>
<%~elsif cgi_poll_view eq 'results_view'%>
<%~Poll::list($current_poll, 'results_view')%>
<%~else%>
<%~Poll::list($current_poll)%>
<%~endif%>
<%~if poll_loop.length%>
<div class="widget poll">
<h2>Poll</h2>
<div id="poll">
<%loop poll_loop%>
<%if remote eq 'view'%>
<%include include_poll_result.html%>
<%elsif no_results%>
<%include include_poll.html%>
<%else%>
<%include include_poll_result.html%>
<%endif%>
<%endloop%>
</div>
</div>
<%~if slowtwitch_forum%>
<div class="widget-divider"></div>
<%~endif%>
<%~endif%>

View File

@ -0,0 +1,182 @@
<%~if hide_post%>
<div id="p<%post_id || 'preview'%>_hide" class="post-wrapper hidden-post">
<div id="post_header_<%post_id || 'preview'%>" class="post-header clearfix">
<span class="post-subject">Ignored Post</span>
<div class="post-actions">
<a href="#" class="show_post" id="show_post_<%post_id%>">Show This Post</a>
</div>
</div>
<div class="post-body-wrapper">
<div class="dtable">
<div class="drow">
<div class="dcell">
<div id="post_info_<%post_id || 'preview'%>" class="post-info<%if post_user_is_moderator%> moderator<%endif%><%loop user_groups%> ug-<%if group_id == $config.id_group_guest%>guest<%elsif group_id == $config.id_group_moderator%>moderator<%elsif group_id == $config.id_group_not_validated%>not-validated<%elsif group_id == $config.id_group_registered%>registered<%else%><%group_id%><%endif%><%endloop%>">
<div class="username">
<%~set include_username_display = $post_username%>
<%~include include_username.html~%>
</div>
</div>
</div>
<div class="dcell">
</div>
</div>
</div>
</div>
</div>
<%endif%><%-- if hide_post --%>
<%~if preview%>
<div class="post-preview">Preview:</div>
<%~elsif reply_view%>
<div class="post-reply-view">Replying to:</div>
<%~elsif orig_view%>
<div class="post-orig-view">Original post:</div>
<%~endif%>
<div id="p<%post_id || 'preview'%>" class="post-wrapper<%if hide_post%> hide<%endif%><%if post_id == $root_post_id%> root-post<%endif%>">
<div id="post_header_<%post_id || 'preview'%>" class="post-header clearfix">
<%if last%><a name="last"></a><%endif%><%if first_new%><a name="unread"></a><%endif%>
<span class="post-subject">
<%~if post_deleted%>
Post deleted by <%post_deleted_by%><%if user_perm_moderator%>: <%post_subject%><%endif%>
<%~else%>
<%~if post_moved%><span class="post-moved">Moved:</span> <%endif%>
<%if post_subject%><%~post_subject%><%else%>&nbsp;<%endif%>
<%~if post_new%><span class="post-new"><span> -</span> NEW</span><%endif%>
<%~endif~%>
<%if not preview and not hide_post_menu and post_father_id%>
<%~ifnot post_father_on_page%>
<%~set do = ''%>
<%~if in.do%>
<%~set do = "do=$this_do"%>
<%~endif%>
[ <a href="<%GForum::SEO::url(type => "post", id => $post_father_id, params => "$do$hidden_sort", anchor => "p$post_father_id")%>" rel="nofollow">In reply to</a> ]
<%~else%>
[ <a href="#p<%post_father_id%>" rel="nofollow">In reply to</a> ]
<%~endif%>
<%endif%>
</span>
<div class="post-actions">
<%GForum::GUI::draw(
draw => post_display_options,
edit => "Edit",
delete => "Delete",
cant_post => "Can't Post",
quote => "Quote",
reply => "Reply",
order => "edit,delete,quote,reply",
a_attribs => "",
separator => " | ",
)%>
</div>
</div>
<div class="post-body-wrapper">
<div class="dtable">
<div class="drow">
<div class="dcell">
<%include include_post_display_infobar.html%>
</div>
<div class="dcell">
<div id="post_body_<%post_id || 'preview'%>" class="post-body">
<%~if not post_deleted or user_perm_moderator%>
<%Slowtwitch::Post::parse_youtube($post_message)%>
<%post_message%>
<%~endif%>
</div>
<%~set show_post_notes = 0%><%-- Determine whether or not we need the "post-notes" div --%>
<%~if this_do eq post_preview and in.redo eq post_edit and preview%><%set show_post_notes = 1%>
<%~elsif post_deleted and user_perm_moderator%><%set show_post_notes = 1%>
<%~elsif post_keep and user_perm_moderator%><%set show_post_notes = 1%>
<%~elsif post_moved or post_last_edit_username%><%set show_post_notes = 1%>
<%~endif%>
<%~if show_post_notes%>
<div class="post-notes">
<%~if this_do eq post_preview and in.redo eq post_edit and preview%>
<div class="post-edited">
<%~set escaped_username = escape_url unescape_html $current.user_username%>
<b>Last edited by:</b> <a href="<%GForum::SEO::url(params => "username=$escaped_username")%>"><%current.user_username%></a>: <%GForum::date($TIME)%>
</div>
<%~elsif post_last_edit_username%>
<div class="post-edited">
<%~set escaped_username = escape_url $post_last_edit_username%>
<b>Last <a href="<%GForum::SEO::url(params => "do=post_editlog;post=$post_id")%>" rel="nofollow">edited</a> by: </b>
<a href="<%GForum::SEO::url(params => "username=$escaped_username"%>"><%post_last_edit_username%></a>: <%post_last_edit_date%>
</div>
<%~endif%>
<%~if post_deleted and user_perm_moderator%>
<div class="post-edited">
<b>Deleted by: </b>
<%~set escaped_username = escape_url $post_deleted_by%>
<a href="<%GForum::SEO::url(params => "username=$escaped_username")%>"><%post_deleted_by%></a><%if post_deleted_time%>: <%post_deleted_date%><%endif%>
</div>
<%~endif%>
<%~if post_moved%><%-- An empty pointer to the moved post --%>
<div class="post-edited">
<h4>Moved: </h4>
<a href="<%GForum::SEO::url(type => "post", id => $post_moved_id)%>">Original post</a>
</div>
<%~endif%>
</div>
<%~endif%>
<%~set post_attachments_count = 0%>
<%~loop post_attachments%>
<%~if postatt_inline%><%if forum_attachment_inline or not forum_id%><%nextloop%><%endif%><%endif%>
<%~set post_attachments_count += 1%>
<%~endloop%>
<%~if tags.length or post_attachments_count%>
<div class="top-spacer">
<div class="post-footer">
<%~if tags.length%>
<h4>Tags:</h4>
<div class="content">
<%~loop tags%>
<a href="<%GForum::SEO::url(params => "do=tags;tags=$tag_name")%>"><%tag_name%></a><%unless last%>,<%endunless%>
<%~endloop~%>
</div>
<%~endif%>
<%~if post_attachments_count%>
<h4>Attached Files:</h4>
<ul class="attachments">
<%~loop post_attachments%>
<%~if postatt_inline%><%if forum_attachment_inline or not forum_id%><%nextloop%><%endif%><%endif%>
<li>
<img src="<%GForum::Attachment::icon($postatt_content, $postatt_filename)%>" alt="<%postatt_content%>" />
<a href="<%GForum::SEO::url(params => "do=post_attachment;postatt_id=$postatt_id")%>"><%postatt_filename%></a> (<%GForum::Attachment::friendly_size($postatt_size)%>)
</li>
<%~endloop%>
</ul>
<%~endif%>
</div><%~-- /div class="post-footer" --%>
</div><%~-- /div class="top-spacer" --%>
<%~endif%>
<%~if $serve_ad%>
<%include include_ad_mobile.html%>
<%~set serve_ad = 0%><%set count = 0%>
<%~endif%>
</div>
</div> <%-- drow --%>
</div> <%-- dtable --%>
<div class="post-actions mobile">
<%GForum::GUI::draw(
draw => post_display_options,
edit => "Edit",
delete => "Delete",
cant_post => "Can't Post",
quote => "Quote",
reply => "Reply",
order => "edit,delete,quote,reply",
a_attribs => "class='btn'",
separator => " ",
)%>
</div>
</div>
</div>

View File

@ -0,0 +1,93 @@
<div id="post_info_<%post_id || 'preview'%>" class="post-info<%if post_user_is_moderator%> moderator<%endif%><%loop user_groups%> ug-<%if group_id == $config.id_group_guest%>guest<%elsif group_id == $config.id_group_moderator%>moderator<%elsif group_id == $config.id_group_not_validated%>not-validated<%elsif group_id == $config.id_group_registered%>registered<%else%><%group_id%><%endif%><%endloop%>">
<div class="username">
<%~set include_username_display = $post_username%>
<%~include include_username.html~%>
</div>
<%~if post_anonymous_email%>
<div class="anonymous-email">
<a href="mailto:<%post_anonymous_email%>"><%post_anonymous_email%></a>
</div>
<%~endif%>
<div class="post-date">
<%post_date%>
</div>
<div class="post-num">
<%~if this_do eq post_view_flat or this_do eq post_view_printable%>
<a href="<%GForum::SEO::url(params => "post=$post_id#p$post_id")%>">Post #<%post_num%> of <%num_posts%></a>
<%~endif%>
<%if post_views or post_views eq 0%>
<span class="post-views">
<%if this_do eq post_view_flat%>(<%post_views%> views)<%else%>Views: <%post_views%><%endif%>
</span>
<%endif%>
</div>
<%-- Moderator/Administrator functionality --%>
<%~if user_perm_moderator and not preview and not hide_post_menu%>
<div class="moderator-controls">
<%~if post_ip%>
<div class="ip"><label>IP:</label> <a href="<%GForum::SEO::url(params => "do=ip_summary;ip=$post_ip")%>" title="View IP summary for <%post_ip%>"><%post_ip%></a></div>
<%~endif%>
<div class="ban">
<label>Ban:</label>
<%~if user_status != $ADMINISTRATOR and user_status != $ANONYMOUS%>
<%~set url_param_username = escape_url unescape_html $user_username%>
<a href="<%GForum::SEO::url(params => "do=forum_preban;forum=$forum_id;ban_type=user_id_fk;ban_value=$user_id;ban_username=$url_param_username")%>" title="Ban user from this forum">User</a>
<span class="sep">|</span>
<%~endif%>
<a href="<%GForum::SEO::url(params => "do=forum_preban;forum=$forum_id;ban_type=ban_ip;ban_value=$post_ip")%>" title="Ban IP address from this forum">IP</a>
<%~if current.user_status == 3%><%-- An administrator --%>
<span class="sep">|</span>
<a href="<%GForum::SEO::url(params => "do=ban_ip;redo=$this_do;post=$post_id;ip=$post_ip$hidden_sort$hidden_page")%>" title="Ban IP address from <%site_title%>" rel="post-only">Site IP</a>
<%~endif%>
</div>
<%~if current.user_status == $ADMINISTRATOR and user_status != $ADMINISTRATOR and user_status != $ANONYMOUS%>
<%~if user_enabled%>
<div class="enable-disable disable">
<label>Disable:</label>
<a href="<%GForum::SEO::url(params => "do=disable_user;user_id=$user_id;redo=$this_do;post=$post_id$hidden_sort$hidden_page")%>" title="Disable user's account" rel="post-only">User</a>
</div>
<%~else%>
<div class="enable-disable enable">
<label>Enable:</label>
<a href="<%GForum::SEO::url(params => "do=enable_user;user_id=$user_id;redo=$this_do;post=$post_id$hidden_sort$hidden_page")%>" title="User is currently disabled &mdash; Reenable user's account" rel="post-only">User</a>
</div>
<%~endif%>
<%~endif%>
<%~set url_param_root_id = $post_root_id || $post_id%>
<div class="thread">
<label>Thread:</label>
<%~set url_param_keep = ""%>
<%~if post_keep%><%~set url_param_keep = "un"%><%endif%>
<a href="<%GForum::SEO::url(params => "do=post_${url_param_keep}keep;root_id=$url_param_root_id;redo=$this_do;post=$post_id$hidden_sort")%>" title="<%if post_keep%>Allow thread to be<%else%>Keep thread from being<%endif%> deleted when deleting old posts" rel="post-only"><%if post_keep%>Unkeep<%else%>Keep<%endif%></a>
<span class="sep">|</span>
<%~set url_param_lock = ""%>
<%~if post_locked%><%~set url_param_lock = "un"%><%endif%>
<a href="<%GForum::SEO::url(params => "do=post_${url_param_lock}lock;root_id=$url_param_root_id;redo=$this_do;post=$post_id$hidden_sort")%>" title="<%if post_locked%>Unlock thread (allows new replies)<%else%>Lock thread (prevents further replies)<%endif%>" rel="post-only"><%if post_locked%>Unlock<%else%>Lock<%endif%></a>
<span class="sep sep1">|</span>
<a href="<%GForum::SEO::url(params => "do=post_move_select;root_id=$url_param_root_id")%>" title="Move this thread to another forum">Move</a>
<span class="sep">|</span>
<%~set url_param_sticky = ""%>
<%~if post_sticky%><%~set url_param_sticky = "un"%><%endif%>
<a href="<%GForum::SEO::url(params => "do=post_${url_param_sticky}stick;root_id=$url_param_root_id;redo=$this_do;post=$post_id$hidden_sort")%>" title="<%if post_sticky%>Unstick this thread (stops showing up before other threads)<%else%>Make this thread sticky (show up before other threads)<%endif%>" rel="post-only"><%if post_sticky%>Unstick<%else%>Stick<%endif%></a>
<span class="sep">|</span>
<a href="<%GForum::SEO::url(params => "do=threadtag;thread=$url_param_root_id")%>">Tag This Thread</a>
</div>
<%~if post_root_id%>
<div class="detach-move">
<label>Post:</label>
<a href="<%GForum::SEO::url(params => "do=post_detach_select;redo=$this_do;post_id=$post_id")%>" title="Make this a new thread in this or another forum">Detach &amp; Move</a>
</div>
<%~endif%>
</div>
<%~endif%>
</div>

View File

@ -0,0 +1,65 @@
<div class="dtable">
<div class="dhead">
<div class="drow">
<div class="dcell icon"></div>
<div class="dcell subject">Subject</div>
<div class="dcell author">Username</div>
<div class="dcell forum">Forum</div>
<div class="dcell replies">Replies</div>
<div class="dcell date">Post time</div>
</div>
</div>
<%~if post_list.length%>
<div class="dbody">
<%~loop post_list%>
<div class="drow">
<div class="dcell icon">
<%~if post_list_show_checkbox%>
<input type="checkbox" name="<%post_list_checkbox_name%>" value="<%post_id%>" class="checkbox" />
<%else%>
<%~if post_locked%><%set icon_class = 'locked-thread'%>
<%~elsif post_thread_hot%><%set icon_class = 'hot-thread'%>
<%~elsif post_new and new_replies%><%set icon_class = 'new-thread'%>
<%~elsif post_replies == 1%><%set icon_class = 'first-post'%>
<%~elsif post_replies%><%set icon_class = 'thread'%>
<%~else%><%set icon_class = 'single-thread'%><%endif%>
<span class="sprite-<%icon_class%>"></span>
<%~endif%>
</div>
<div class="dcell subject">
<%~if post_sticky%> <span class="sticky">Sticky:</span><%endif%>
<%~if post_moved%> <span class="moved">Moved:</span><%endif%>
<%~set url_param_post_ist_query_string = ""%>
<%~if post_list_query_string%><%set url_param_post_ist_query_string = "$post_list_query_string"%><%endif%>
<a href="<%GForum::SEO::url(type => "post", id => $post_id, params => $url_param_post_ist_query_string, anchor => "p$post_id")%>">
<%~if post_deleted%>
Post deleted by <%post_deleted_by%><%if user_perm_moderator%>: <%post_subject%><%endif%>
<%~else%>
<%~post_subject%>
<%~endif%>
<%~if post_moved%>
Moved:
<%~endif%>
</a>
<%~set cat_id ||= $cat_id_fk%>
<div class="post-mob">
by <a href="<%GForum::SEO::url(params => "user=$user_id")%>" class="postedby"><%post_username%></a><span> | <% post_date %>| <% post_replies || 0 %> replies</span><br />
<%GForum::Category::full_name_linked($cat_id, ': ')%>: <a href="<%GForum::SEO::url(type => "forum", id => $forum_id)%>"><%forum_name%></a>
</div>
</div>
<div class="dcell author">
<%~set user_id ||= $user_id_fk%>
<%~set include_username_display = $post_username%>
<%include include_username.html%>
</div>
<div class="dcell forum">
<%GForum::Category::full_name_linked($cat_id, ': ')%>: <a href="<%GForum::SEO::url(type => "forum", id => $forum_id)%>"><%forum_name%></a>
</div>
<div class="dcell replies"><%post_replies%></div>
<div class="dcell date"><%post_date%></div>
</div>
<%~endloop%>
</div>
<%~endif%>
</div>

View File

@ -0,0 +1,27 @@
<%~set toolbar_id += 1~%>
<%if toolbar_id == 1%>
<div class="btn-wrapper clearfix">
<a href="<%GForum::SEO::url(params => "do=forum_view&forum=$forum_id")%>" class="btn default">Back To Forum</a>
<%~if current.user_id~%>
<a class="btn default" href="<%GForum::SEO::url(params => "do=watch_thread;thread=$root_post_id")%>" rel="post-only">Watch Thread</a><%~%>
<%~endif~%>
<a class="sprite-printer" href="<%GForum::SEO::url(params => "do=post_view_printable;post=$root_post_id")%>" target="_blank" onclick="return winopen('<%GForum::SEO::url(params => "do=post_view_printable;post=$root_post_id")%>', '<%root_post_id%>print')" rel="nofollow">Print Thread</a>
</div>
<%else%>
<form action="<%GForum::SEO::url()%>" method="post" id="toolbar_form">
<%hidden_form%>
</form>
<div id="toolbar<%toolbar_id%>" class="toolbar clearfix">
<hr class="line" />
<%~if num_posts > $mh%>
<%include include_paging.html%>
<%~endif%>
<div class="btn-wrapper clearfix">
<a href="<%GForum::SEO::url(params => "do=forum_view&forum=$forum_id")%>" class="btn default">Back To Forum</a>
<%~if current.user_id~%>
<a class="btn default" href="<%GForum::SEO::url(params => "do=watch_thread;thread=$root_post_id")%>" rel="post-only">Watch Thread</a><%~%>
<%~endif~%>
<a class="sprite-printer" href="<%GForum::SEO::url(params => "do=post_view_printable;post=$root_post_id")%>" target="_blank" onclick="return winopen('<%GForum::SEO::url(params => "do=post_view_printable;post=$root_post_id")%>', '<%root_post_id%>print')" rel="nofollow">Print Thread</a>
</div>
</div>
<%~endif%>

View File

@ -0,0 +1,266 @@
<%~if ie_version >= 5.5 or mozilla_version >= 1.4 or webkit_version >= 312.1%>
<%~if advanced_editor%>
<%~set ADVANCEDEDITOR = 1%>
<%~elsif current.user_advanced_editor and not basic_editor%>
<%~set ADVANCEDEDITOR = 1%>
<%~else%>
<%~set ADVANCEDEDITOR = 0%>
<%~endif%>
<%~else%>
<%~set ADVANCEDEDITOR = 0%>
<%~endif%>
<%~if ADVANCEDEDITOR and not forum_style % 2%>
<%~set ADVANCEDEDITOR = 0%>
<%~endif%>
<script type="text/javascript">
//<![CDATA[
<%~if ADVANCEDEDITOR%>
var ae, sc;
<%~else%>
var sc;
function addTag(tag) {
var textarea = document.getElementById('post_message');
insertText(textarea, '[' + tag + ']');
}
function wrapTag(tag) {
var textarea = document.getElementById('post_message');
wrapText(textarea, '[' + tag + ']', '[/' + tag + ']');
}
<%~endif%>
registerEvent(window, 'load', function () {
/* Cancel any "enter" key presses on non-button input elements as they would submit the form */
var inputs = document.getElementsByTagName('input');
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type != 'hidden' && inputs[i].type != 'button' && inputs[i].type != 'submit')
registerEvent(inputs[i], 'keypress', function (evt) { if (evt.keyCode == 13) { cancelEvent(evt); return false } });
}
/* Create and configure the spellcheck object */
sc = new spellCheck('sc');
sc.id.checkContent = 'post_message';
sc.id.htmlCompose = 'advanced_editor';
sc.id.extra = ['post_style', 'temp_id', 'post_id'];
sc.lang.resume = 'Resume Post';
sc.config.disableElements = ['editor_switch', 'button_attachment', 'button_post', 'button_preview'];
<%~if ADVANCEDEDITOR%>
sc.config.editorObj = ae;
<%~endif%>
sc.load();
});
//]]>
</script>
<input type="hidden" id="temp_id" name="temp_id" value="<%temp_id%>" />
<div class="post-header-group">
<div id="row_post_subject" class="row">
<label for="post_subject" class="name">Subject</label>
<div class="value"><input type="text" id="post_subject" name="post_subject" value="<%post_subject%>" class="txt midtext" tabindex="1" /></div>
</div>
<%~if this_do eq post_edit%>
<div id="row_edit_reason" class="row">
<label for="edit_reason" class="name">Reason for edit</label>
<div class="value"><input type="text" id="edit_reason" name="edit_reason" value="<%if edit_reason%><%edit_reason%><%endif%>" class="txt midtext" tabindex="2" /></div>
</div>
<%~endif%>
<%~if current.user_id and config.post_user_custom_username and this_do ne post_edit%>
<div id="row_alias_username" class="row">
<label for="alias_username" class="name">Alias</label>
<div class="value"><input type="text" id="alias_username" name="alias_username" value="<%if alias_username%><%alias_username%><%endif%>" class="txt" tabindex="2" /></div>
</div>
<%elsif not current.user_id%>
<%~if anonymous.length > 1 or config.post_guest_custom_username%>
<div id="row_guest_username" class="row">
<label for="<%if anonymous.length > 1%>anon_id<%else%>guest_username<%endif%>">Guest Username</label>
<div class="value">
<%~if anonymous.length > 1%>
<select id="anon_id" name="anon_id" tabindex="2">
<%~loop anonymous%>
<option value="<%user_id%>"<%if selected%> selected="selected"<%endif%>><%user_username%></option>
<%~endloop%>
</select>
<%~else%>
<input type="hidden" name="anon_id" value="<%anonymous.0.user_id%>" />
<%~endif%>
<%~if config.post_guest_custom_username%>
<input type="text" id="guest_username" name="guest_username" value="<%if guest_username%><%guest_username%><%endif%>" class="txt" tabindex="2" />
<%~endif%>
</div>
</div>
<%~endif%><%-- endif anonymous.length > 1 ... --%>
<div id="row_post_anonymous_email" class="row">
<label for="post_anonymous_email">E-mail address</label>
<div class="value"><input type="text" id="post_anonymous_email" name="post_anonymous_email" value="<%if post_anonymous_email%><%post_anonymous_email%><%endif%>" class="txt mid-text" tabindex="3" /></div>
</div>
<%endif%>
<div id="row_post_style" class="row">
<label class="name">Post Style</label>
<div class="value">
<%if ADVANCEDEDITOR%><%-- The advanced editor only works for markup posts --%>
<input type="hidden" id="post_style" name="post_style" value="1" />
<input type="hidden" id="advanced_editor" name="advanced_editor" value="1" />
<p><%GForum::language('FORUM_STYLE_MARKUP')%></p>
<%elsif forum_style%><%-- forum_style is set, which means the user gets a choice --%>
<select id="post_style" name="post_style" tabindex="4" onchange="document.getElementById('ae_switch_span').className = this.value == 1 ? '' : 'hide'; document.getElementById('get_markup_help').className = this.value % 2 == 0 ? 'hide' : ''">
<%~if forum_style == 3%>
<option value="3"<%if forum_style_selected == 3%> selected="selected"<%set selected = 1%><%endif%>><%GForum::language('FORUM_STYLE_BOTH')%></option>
<%~endif%>
<%~if forum_style >= 2%>
<option value="2"<%if forum_style_selected == 2%> selected="selected"<%set selected = 1%><%endif%>><%GForum::language('FORUM_STYLE_HTML')%></option>
<%~endif%>
<%~if forum_style % 2%>
<option value="1"<%if forum_style_selected == 1%> selected="selected"<%set selected = 1%><%endif%>><%GForum::language('FORUM_STYLE_MARKUP')%></option>
<%~endif%>
<option value="0"<%if not selected%> selected="selected"<%endif%>><%GForum::language('FORUM_STYLE_PLAIN')%></option>
</select>
<%~if forum_style % 2%>
<span id="get_markup_help">
&mdash;
<a href="#" rel="markup-help" class="dialog-lnk">Get Markup Help</a>
</span>
<%~if not forum_style_selected % 2%>
<script type="text/javascript">
document.getElementById('get_markup_help').className = 'hide';
</script>
<%~endif%>
<%~endif%>
<%~else%><%-- plain text only --%>
<input type="hidden" name="post_style" value="0" />
<%GForum::language('FORUM_STYLE_PLAIN')%>
<%~endif%>
</div>
</div>
</div>
<div id="row_post_message" class="row post-message">
<label class="name">Post</label>
<div class="value">
<script type="text/javascript" src="<%static_url%>/js/spellcheck.js"></script>
<%if ADVANCEDEDITOR%>
<input type="hidden" id="post_message" name="post_message" value="<%post_message%>" />
<script type="text/javascript" src="<%static_url%>/editor/editor.js"></script>
<script type="text/javascript">
//<![CDATA[
<%include editor_gforum.js%>
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
var ae = new advancedEditor();
ae.config.imageDialogURL = '<%cgi_root_url%>' + '<%set url = GForum::SEO::url(params => "do=editor_image;editor_type=post")%><%escape_js url%>';
<%~if in.do ne 'post_preview'%>
ae.config.focusOnload = true;
<%~endif%>
ae.load('<%compose_form_id%>', 'post_message');
//]]>
</script>
<iframe id="editor_iframe" src="<%static_url%>/editor/editor_iframe.html" frameborder="0" scrolling="no"></iframe>
<%else%>
<input type="hidden" name="basic_editor" value="1" />
<textarea id="post_message" name="post_message" tabindex="6" class="txt lngtext" onload="this.focus()"><%post_message%></textarea>
<%endif%>
</div>
</div>
<%if not ADVANCEDEDITOR%>
<%include include_markup_tags.html%>
<%endif%>
<div class="row post-link-actions">
<%if ADVANCEDEDITOR%><%-- The advanced editor only works for markup posts --%>
<input type="hidden" id="post_style" name="post_style" value="1" />
<input type="hidden" id="advanced_editor" name="advanced_editor" value="1" />
<a id="editor_switch" href="#" onclick="return submitForm(document.getElementById('<%compose_form_id%>'), ['do','<%this_do%>', 'basic_editor','1', 'basic_editor_switch','1'])" class="hide">Switch to Basic Editor</a> |
<script type="text/javascript">
document.getElementById('editor_switch').className = '';
</script>
<%~elsif forum_style % 2%>
<a id="editor_switch" href="#" onclick="return submitForm(document.getElementById('<%compose_form_id%>'), ['do','<%this_do%>', 'advanced_editor','1', 'advanced_editor_switch','1'])">Switch to Advanced Editor</a> |
<%endif%>
<a id="button_spellcheck" href="#" title="Spell Check">Check Spelling</a> |
<a id="button_preview" href="#" onclick="return submitForm(document.getElementById('<%compose_form_id%>'), ['do', 'post_preview', 'redo', '<%this_do%>'])" title="Spell Check">Preview Post</a>
</div>
<%~if current.user_status == 3%>
<div class="row post-tags">
<label class="name">Tags</label>
<div class="value clearfix">
<div class="col-6">
<input type="text" id="autocomplete" name="autocomplete" value="<%preview_tags || $post_tags || ''%>" tabindex="7" class="txt" placeholder="Separate tags with commas" />
<input type="submit" id="autocomplete-submit" value="Add" class="btn" />
<input type="hidden" id="autocomplete-tags" name="tags" value="<%if orig.tags.length%><%loop orig.tags%><%tag_name%><%unless last%>,<%endunless%><%endloop%><%endif%>" />
</div>
<div class="col-6">
<div id="autocomplete-selected">
<div id="autocomplete-selected-items" class="clearfix">
<%~loop orig.tags%>
<div class="button-remove" title="<%tag_name%>"><span class="sprite-remove-tag"></span><%tag_name%></div>
<%~endloop%>
</div>
</div>
</div>
</div>
</div>
<%~endif%>
<%if can_attach or attachments.length%>
<div id="row_attachments" class="row post-attachments">
<label class="name sprite-attachment">Attachments</label>
<div id="attachment_list" class="value clearfix">
<%include include_attachments.html%>
</div>
</div>
<%endif%>
<hr class="line" />
<%if current.user_id%>
<div id="row_post_options" class="row post-options">
<div class="option">
<input type="checkbox" id="post_append_signature" name="post_append_signature" value="1"<%if post_append_signature%> checked="checked"<%endif%> class="checkbox" tabindex="8" />
<label for="post_append_signature">Append signature to post</label>
</div>
<div class="option">
<input type="checkbox" id="post_reply_notify" name="post_reply_notify" value="1"<%if post_reply_notify%> checked="checked"<%endif%> class="checkbox" tabindex="8" />
<label for="post_reply_notify">Send e-mail notification on reply</label>
</div>
<%~if current.user_forum_permission >= $FORUM_PERM_MODERATOR%>
<%~if root.post_sticky%>
<div class="option" title="Thread is already sticky">
<input type="checkbox" id="post_sticky" checked="checked" disabled="disabled" class="checkbox" />
<label for="post_sticky">Make thread sticky</label>
</div>
<%~else%>
<div class="option">
<input type="checkbox" id="post_sticky" name="post_sticky" value="1"<%if post_sticky%> checked="checked"<%endif%> class="checkbox" tabindex="8" />
<label for="post_sticky">Make thread sticky</label>
</div>
<%~endif%>
<%~if root.post_locked%>
<div class="option already" title="Thread is already locked">
<input type="checkbox" id="post_locked" checked="checked" disabled="disabled" class="checkbox" />
<label for="post_locked">Lock thread</label>
</div>
<%~else%>
<div class="option">
<input type="checkbox" id="post_locked" name="post_locked" value="1"<%if post_locked%> checked="checked"<%endif%> class="checkbox" tabindex="8" />
<label for="post_locked">Lock thread</label>
</div>
<%~endif%>
<%~endif%>
</div>
<%endif%>
<div id="markup-help" title="Markup Help" class="hide">
<%include markup_help.html%>
</div>

View File

@ -0,0 +1,10 @@
<div class="dtable quick-launchers">
<div class="drow">
<div class="dcell"><a href="<%GForum::SEO::url(type => "forum", id => 1)%>"><span class="sprite-tri"></span> <span>Tri</span></a></div>
<div class="dcell"><a href="<%GForum::SEO::url(type => "forum", id => 2)%>"><span class="sprite-cla"></span> <span>Classifieds</span></a></div>
<div class="dcell"><a href="<%GForum::SEO::url(type => "forum", id => 4)%>"><span class="sprite-lav"></span> <span>Lavender</span></a></div>
<div class="dcell"><a href="<%GForum::SEO::url(type => "forum", id => 8)%>"><span class="sprite-job"></span> <span>Jobs</span></a></div>
<div class="dcell"><a href="<%GForum::SEO::url(type => "forum", id => 7)%>"><span class="sprite-wom"></span> <span>Womens</span></a></div>
<div class="dcell"><a href="<%GForum::SEO::url(type => "forum", id => 9)%>"><span class="sprite-not"></span> <span>Notices</span></a></div>
</div>
</div>

View File

@ -0,0 +1,20 @@
<%~if page_id eq 'category_list'%>
<div class="searchbox blank">
<%registered_users || 0%> registered users
</div>
<%~elsif search_widget or $forum_id%>
<%include include_sidebar_search.html%>
<%~endif%>
<%~if page_id ne 'category_list' and $poll_widget%>
<%~set adsize = '300x250'%>
<%include include_ad.html%>
<%~if poll_widget or $forum_id%>
<%include include_poll_widget.html%>
<%~endif%>
<%~endif%>
<%~set adsize = '300x600'%>
<%include include_ad.html%>

View File

@ -0,0 +1,26 @@
<div class="searchbox clearfix">
<form action="<%GForum::SEO::url()%>">
<div class="row">
<%hidden_form~%>
<%~set search_url = GForum::SEO::url(params => "do=search")%>
<%if forum_id%><%set search_url .= ";search_form=forum_$forum_id"%><%endif%>
<input type="hidden" name="do" value="search_results" />
<input type="hidden" name="sb" value="post_time" />
<select name="search_forum">
<%~if forum_id%><option value="forum_<%forum_id%>">This forum</option><%endif%>
<%if cat_id%><option value="cat_<%cat_id%>">This category</option><%endif%>
<option value="all">All forums</option>
<option value="<%search_url%>">Advanced Search</option>
</select>
<select name="search_type" class="search-filter">
<option value="AND">All words</option>
<option value="OR">Any words</option>
<option value="PHRASE">Whole phrase</option>
</select>
<input type="text" name="search_string" value="" class="txt" placeholder="Search keyword..." />
<input type="submit" name="search" value="" class="btn sprite-search-btn" />
</div>
</form>
<div class="botbox"></div>
</div>
<%include include_hot_topics.html%>

View File

@ -0,0 +1,6 @@
<%smilies%>
<ul class="smilies clear">
<%~loop smilies_loop%>
<li><img src="<%url%>" alt="<%alt%>" onclick="<%if ADVANCEDEDITOR%>ae.<%endif%>addTag('<%tag%>')" /></li>
<%~endloop%>
</ul>

View File

@ -0,0 +1,35 @@
<%~set pagination_options.params = "do=$this_do;sb=$sb;mh=$mh;user_id=$user_id"%>
<%~set pagination_options.page_items = $num_posts%>
<form action="<%GForum::SEO::url()%>" method="post">
<input type="hidden" name="do" value="profile_remove_favourites" />
<input type="hidden" name="next_do" value="<%this_do%>" />
<%~set post_list = $favourite_posts%>
<%~set post_list_show_replies = 1%>
<%~set post_list_show_faves = 1%>
<%~set post_list_empty_message = 'You do not have any favourite posts'%>
<%~if user_username eq $current_user_username%>
<%~set post_list_show_checkbox = 1%>
<%~endif%>
<%~include include_post_list.html%>
<%~if $num_favourites%>
<div class="toolbar clearfix">
<hr class="line" />
<%~set paging_do = ''%>
<%~if in.do%>
<%~set paging_do = "do=$this_do"%>
<%~endif%>
<%~set pagination_options.page_items = $num_favourites%>
<%include include_paging.html%>
<%if current_user_username eq $user_username%>
<div class="btn-wrapper">
<input type="submit" name="submit" value="Remove Favourites" class="btn default" />
</div>
<%~endif%>
</div>
<%~endif%>
</form>

View File

@ -0,0 +1,55 @@
<%~--
This page is included almost everywhere in the templates to display a username.
Things like linking, group highlighting, buddy highlighting, etc. are handled
here, in one central place, instead of being duplicated all over the place.
The general usage is, instead of something like:
... <a href="<%GForum::SEO::url(type => 'profile', id => $user_username)%>"><%user_username%></a> ...
you do:
... <%include include_username.html%> ...
This will take care of special classes for buddies, administrators, disabled
users, groups, moderators, etc., as well as
In many cases it is necessary to display something other than user_username --
for example, for posts and messages -- in which case you can set the
include_username_display variable to the username to display (it will be
cleared after being used). This also handles the case where
include_username_display is set, but user_id isn't set, as an indication of a
deleted user, in which case you get a <span class="username deleted-user">...
Also note that this include will produce *no* whitespace around the <span> or
<a> tag returned, so whatever whitespace padding you put or don't put around
the include will be the only whitespace present.
Some notable exceptions to the ability to use this include exist where only a
username is stored -- the last poster data for forums and threads is a good
example of this.
--~%>
<%~if not user_id and include_username_display~%>
<span class="username deleted-user" title="Deleted user"><%include_username_display%><%set include_username_display = ''%></span>
<%~else%>
<%~set escaped_username = escape_url unescape_html $user_username%>
<a href="<%GForum::SEO::url(params => "username=$escaped_username")%>" title="
<%~if current.user_status == $ADMINISTRATOR and not user_enabled%>User Disabled &mdash; <%endif%>
<%~if user_status == $ADMINISTRATOR%>Administrator &mdash; <%elsif forum_id and moderator.$user_id%>Moderator &mdash; <%endif%>
<%~if not user_status%>Guest &mdash; <%elsif current.user_id and current.buddy.$user_id%>Buddy &mdash; <%endif~%>
View <%user_username%>'s profile" class="username
<%~loop groups%> gr-<%loop_value.group_id%><%endloop%>
<%~if current.user_id and current.user_id == $user_id%> self<%endif%>
<%~if current.user_id and current.buddy.$user_username%> buddy<%endif%>
<%~if forum_id and moderator.$user_id%> moderator<%endif%>
<%~if user_status == $ADMINISTRATOR%> administrator<%endif%>
<%~if user_status == $ANONYMOUS%> anonymous<%endif%>
<%~if current.user_status == $ADMINISTRATOR and not user_enabled%> disabled<%endif~%>
">
<%~if include_username_display%><%include_username_display%><%set include_username_display = ''%>
<%~else%><%user_username%>
<%~endif~%>
</a>
<%~endif~%>

115
site/forum/ip_posts.html Normal file
View File

@ -0,0 +1,115 @@
<!DOCTYPE html >
<html lang="en">
<head>
<title><%cat_full_name%>: IP details: <%ip%>: Posts</title>
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%set content_header_title = "Posts From "%>
<%set content_header_title .= $ip%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%>
<%~set breadcrumbs.0.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<%~if not ip_posts.length%>
<p>
No posts have been made
<%if search_user%>by <%include include_username.html%><%endif%>
from the <%ip%><%if ip ends '.*'%> IP addresses<%endif%>.
</p>
<%~else%>
<p>
The following posts were made
<%if search_user%>by <%include include_username.html%><%endif%>
from the <%ip%><%if ip ends '.*'%> IP addresses<%endif%>.
</p>
<%~unless current.user_status = $ADMINISTRATOR%>
<p>
Note that information is only shown for forums which you moderate.
</p>
<%~endunless%>
<p>
<a href="<%GForum::SEO::url(params => "do=ip_summary;ip=$search_ip")%>" title="IP summary">Click here to view an IP summary</a>.
</p>
<div class="dtable">
<div class="dhead">
<div class="drow">
<%~if show_ip_column%>
<div class="dcell ip">IP Address</div>
<%~endif%>
<div class="dcell author">Poster</div>
<div class="dcell subject">Post</div>
<div class="dcell forum">Forum</div>
<div class="dcell date">Date</div>
</div>
</div>
<div class="dbody">
<%~loop ip_posts%>
<div class="drow">
<%~if show_ip_column%>
<div class="dcell ip">
<a href="<%GForum::SEO::url(params => "do=ip_summary;ip=$post_ip")%>" title="View post summary"><%post_ip%></a>
</div>
<%~endif%>
<div class="dcell author">
<%include include_username.html%>
<%~if user_id%>
<span class="poster-data">(<%~%>
<%~set url_param_username = escape_url unescape_html $user_username%>
<a href="<%GForum::SEO::url(params => "do=user_ips;username=$url_param_username")%>" title="View user's IP addresses">IPs</a>
<%~if current.user_status == $ADMINISTRATOR and user_status != $ADMINISTRATOR%>
<span class="sep">|</span>
<%~if user_enabled%><%set url_param_user_enabled = 'dis'%><%else%><%set url_param_user_enabled = 'en'%><%endif%>
<a href="<%GForum::SEO::url(params => "do=${url_param_user_enabled}able_user;user_id=$user_id;redo=$this_do;ip=$search_ip")%>"<%if not user_enabled%> title="User account is disabled"<%endif%>><%if user_enabled%>Dis<%else%>En<%endif%>able User</a>
<%~endif~%>
)</span>
<%~endif%>
</div>
<div class="dcell subject">
<%if post_moved%>Moved: <%endif~%>
<a href="<%GForum::SEO::url(type => "post", id => $post_id, anchor => "p$post_id")%>"><%post_subject%></a>
<div class="post-mob">
by <a href="<%GForum::SEO::url(params => "user=$user_id")%>" class="postedby"><%post_username%></a> <span> | <%post_date%></span><br />
<%GForum::Category::full_name_linked($cat_id, ': ')%>: <a href="<%GForum::SEO::url(type => "forum", id => $forum_id)%>"><%forum_name%></a>
</div>
</div>
<div class="dcell forum">
<%GForum::Category::full_name_linked($cat_id, ': ')%>:
<a href="<%GForum::SEO::url(type => "forum", id => $forum_id)%>"><%forum_name%></a>
</div>
<div class="dcell date">
<%post_date%>
</div>
</div>
<%~endloop%>
</div>
</div>
<%~endif%>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,97 @@
<!DOCTYPE html >
<html lang="en">
<head>
<title><%cat_full_name%>: IP summary: <%ip%></title>
<%include include_common_head.html%>
<script type="text/javascript">
$(document).ready(function () {
GForum.init_post_only();
})
</script>
</head>
<%~set content_header_title = 'IP Summary'%>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%>
<%~set breadcrumbs.0.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<%~if not ips.length%>
<p>No one has posted to <%cat_full_name%> using the IP addresses <%ip%>.</p>
<%~else%>
<p>The following <%ip%> IP addresses have posted to <%cat_full_name%>.</p>
<%~unless current.user_status == $ADMINISTRATOR%>
<p>Note that information is only shown for forums which you moderate.</p>
<%~endunless%>
<p><a href="<%GForum::SEO::url(params => "do=ip_posts;ip=${in.ip}")%>" title="Extended post details">Click here to view extended post details.</a></p>
<div class="dtable">
<div class="dhead">
<div class="drow">
<div class="dcell ip">IP Address</div>
<div class="dcell posts">Posts</div>
<div class="dcell">Posters</div>
<div class="dcell date">Latest Post</div>
</div>
</div>
<div class="dbody">
<%~loop ips%>
<div class="drow">
<div class="dcell ip">
<%ip%>
<%~if country_lookups%>
<span class="country-name">(<%if ip_country%><span><%ip_country%></span><%else%><span class="unknown">Unknown</span><%endif%>)</span>
<%~endif%>
</div>
<div class="dcell posts">
<a href="<%GForum::SEO::url(params => "do=ip_posts;ip=$ip")%>" title="Show all posts made from <%ip%>"><%post_count%> posts</a>
</div>
<div class="dcell">
<%loop ip_posters~%>
<span class="poster">
<%include include_username.html%>
<span class="poster-data">(<%~%>
<%~set url_username = escape_url unescape_html $user_username%>
<a href="<%GForum::SEO::url(params => "do=ip_posts;ip=$ip;username=$url_username")%>"><%post_count%> posts</a>
<span class="sep">|</span>
<a href="<%GForum::SEO::url(params => "do=user_ips;username=$url_username")%>" title="View user's IP addresses">IPs</a>
<%~if current.user_status == $ADMINISTRATOR and user_status != $ADMINISTRATOR%>
<span class="sep">|</span>
<%~if user_enabled%><%set url_param_user_enabled ="dis"%><%else%><%set url_param_user_enabled ="en"%><%endif%>
<a href="<%GForum::SEO::url(params => "do=${url_param_user_enabled}able_user;user_id=$user_id;redo=$this_do;ip=$search_ip")%>"<%if not user_enabled%> title="User account is disabled"<%endif%> rel="post-only"><%if user_enabled%>Dis<%else%>En<%endif%>able User</a>
<%~endif~%>
)</span><%~%>
</span>
<%~unless last%>, <%endunless%>
<%~endloop%>
</div>
<div class="dcell date"><%GForum::date($latest_post)%></div>
</div>
<%~endloop%>
</div>
</div>
<%~endif%>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,175 @@
<!DOCTYPE html >
<html lang="en">
<head>
<title><:: Slowtwitch Forums ::></title>
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<%~if ad_wallpaper%>
<%ad_wallpaper%>
<%~endif%>
<div class="container">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Forum'%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%~loop everything%>
<%~if not forum_id and $current.user_id and $cat_show_forums and $main_page%>
<%~set url_param_hide_cat = "hide_cat=$cat_id"%>
<%~if cat_hidden%><%set url_param_hide_cat = "un$url_param_hide_cat"%><%endif%>
<a class="btn default btn-b" href="<%GForum::SEO::url(params => $url_param_hide_cat, anchor => "cat_$cat_id")%>" title="<%if cat_hidden%>Expand<%else%>Collapse<%endif%> this category" rel="nofollow"><%if cat_hidden%>Expand<%else%>Collapse<%endif%> <%cat_name%></a>
<%~endif%>
<%~endloop%>
<%include include_content_header.html%>
<div class="dtable bg"><%-- start table --%>
<div class="dhead">
<div class="drow">
<div class="dcell icon">&nbsp;</div>
<div class="dcell subject">Forum Name</div>
<div class="dcell threads">Threads</div>
<div class="dcell posts">Posts</div>
<div class="dcell date">Last Post</div>
</div>
</div>
<div class="dbody">
<%~loop everything%>
<%~if forum_id and not forum_archived%>
<div class="drow">
<div class="dcell icon"><span class="sprite-forum"></span></div>
<div class="dcell subject">
<a href="<% GForum::SEO::url(type => "forum", id=> $forum_id) %>" class="title"><% forum_name %></a>
<div class="post-mob">
<%~set escaped_username = escape_url $forum_last_poster%>
<span>by</span> <a href="<% GForum::SEO::url(params => "username=$escaped_username")%>" title="<% forum_last_poster %>" class="postedby"><% forum_last_poster %></a> | <%forum_last_date%>
<a href="<%GForum::SEO::url(params => "post=last-$forum_last_id", anchor => "last")%>" rel="nofollow" class="right-arrow">&rarr;</a>
</div>
<%~if forum_desc%>
<p class="desc"><%forum_desc%></p>
<%~endif%>
<%~if forum_id == 7 %>
<%-- Serve ad on mobile --%>
<%include include_ad_mobile.html%>
<%~endif%>
</div>
<div class="dcell threads"><%forum_total_threads || 0%></div>
<div class="dcell posts"><%forum_total || 0%></div>
<div class="dcell date">
<%forum_last_date%><br />by <a href="<% GForum::SEO::url(params => "username=$escaped_username") %>" title="<% forum_last_poster %>" class="postedby"><% forum_last_poster %></a>
<a href="<%GForum::SEO::url(params => "post=last-$forum_last_id", anchor => "last")%>" rel="nofollow" class="right-arrow">&rarr;</a>
</div>
</div>
<%~endif%>
<%~endloop%>
</div>
</div><%-- end dtable --%>
<hr class="line" />
<div class="lnk-actions">
<a href="#" rel="forum-rules" class="dialog-lnk">Forum Rules</a> | <a href="#" rel="forum-faq" class="dialog-lnk">FAQ</a> | <a href="#" rel="forum-legend" class="dialog-lnk">Legend</a>
</div>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
<div id="forum-legend" class="hide" title="Forum Legend">
<div class="dtable">
<div class="drow">
<div class="dcell icon"><span class="sprite-hot-thread"></span></div>
<div class="dcell">Hot thread</div>
</div>
<div class="drow">
<div class="dcell icon"><span class="sprite-thread"></span></div>
<div class="dcell">Post with replies</div>
</div>
<div class="drow">
<div class="dcell icon"><span class="sprite-single-thread"></span></div>
<div class="dcell">Single post</div>
</div>
<div class="drow">
<div class="dcell icon"><span class="sprite-locked-thread"></span></div>
<div class="dcell">The thread is locked</div>
</div>
<div class="drow">
<div class="dcell icon"><span class="sprite-first-post"></span></div>
<div class="dcell">First post in thread</div>
</div>
<div class="drow">
<div class="dcell icon"><span class="right-arrow">&rarr;</span></div>
<div class="dcell">Jump to the last post in thread</div>
</div>
<div class="drow">
<div class="dcell icon"><span class="sprite-message"></span></div>
<div class="dcell">Unread message</div>
</div>
<div class="drow">
<div class="dcell icon"><span class="sprite-message-read"></span></div>
<div class="dcell">Read message</div>
</div>
<div class="drow">
<div class="dcell icon"><span class="sprite-message-replied"></span></div>
<div class="dcell">Replied message</div>
</div>
</div>
</div>
<div id="forum-faq" title="Forum FAQ" class="hide" width="500">
<ul>
<li><a href="#Anchor-IS-35882">IS THIS A PUBLIC FORUM?</a></li>
<li><a href="#Anchor-THIS-14210">IS THIS A MODERATED FORUM?</a></li>
<li><a href="#Anchor-EXPECTATION-49575">EXPECTATION OF ANONYMITY</a></li>
<li><a href="#Anchor-WHAT-23240">WHAT CAN I POST HERE?</a></li>
<li><a href="#Anchor-WHAT-3800">WHAT CAN'T I POST HERE?</a></li>
<li><a href="#Anchor-WHAT-33869">WHAT IS CONSIDERED ABUSIVE?</a></li>
<li><a href="#Anchor-WHAT-6296">WHAT IF MY POST IS PULLED?</a></li>
<li><a href="#Anchor-WHAT-48213">WHAT IF I'M BANNED?</a></li>
<li><a href="#Anchor-MULTIPLE-49575">MULTIPLE USER NAMES</a></li>
<li><a href="#Anchor-COMPLAINTS-47857">COMPLAINTS ABOUT RETAILERS OR RACES</a></li>
<li><a href="#Anchor-DATA-78140">SCIENTIFIC DATA</a></li>
<li><a href="#Anchor-DISCLAIMER-23522">ARE THESE ALL THE RULES?</a></li>
</ul>
<hr class="line" />
<h4 id="Anchor-IS-35882">IS THIS A PUBLIC FORUM?</h4>
<p>No, this is a private forum open to the public in general, but with certain restrictions including but not limited to those listed herein. Using this forum is a privilege, not a protected right, and this privilege can be revoked at our sole discretion.</p>
<h4 id="Anchor-THIS-14210">IS THIS A MODERATED FORUM?</h4>
<p>Yes, but moderation occurs after the fact, that is, we don't monitor a post before it is published, you publish it and then we eventually read it (or not). This forum receives between 1500 and 2500 posts every day, on average, too many posts to read and monitor. Accordingly, anything you see that you consider abusive or in bad taste; if you read a post that you think ought to be brought to our attention; please apprise us of this. In such case, the editorial email prompt is at the bottom of every page of the Slowtwitch.com editorial website (www.slowtwitch.com). That email address to use for such concerns is: <a href="mailto:slowman@slowtwitch.com">slowman@slowtwitch.com</a></p>
<h4 id="Anchor-EXPECTATION-49575">EXPECTATION OF ANONYMITY</h4>
<p>You have none. There is none. Slowtwitch.com does not warrant that your anonymity will be protected, nor that we will protect it. If the preservation of your anonymity is vital to you, don't post on any Slowtwitch forum.</p>
<h4 id="Anchor-WHAT-23240">WHAT CAN I POST HERE?</h4>
<p>Anything associated with swim, bike, run, or triathlon in general. Off-topic posts belong in the Lavender Room. Notices belong in Notices, jobs sought or advertised in Jobs, items for sale in Classifieds. There are rules for each of these forums posted in &quot;sticky&quot; threads on the tops of each of those forums.</p>
<h4 id="Anchor-WHAT-3800">WHAT CAN'T I POST HERE?</h4>
<p>We are especially cranky about trial-by-internet. Do not register to post on this forum only to have your first post be a complaint against a company doing business in the sport of triathlon. Do not lodge a complaint against a named entity unless you yourself are willing to be identifiable, that is, no anonymous rants. Do not EVER say somebody's product is unsafe unless you have rock-solid demonstrable proof. This is as much for your benefit as anyone's (we'd prefer your hot temper doesn't result in a lawsuit a manufacturer lodges against you). Do not accuse anyone of taking performance enhancing drugs.</p>
<h4 id="Anchor-WHAT-33869">WHAT IS CONSIDERED ABUSIVE?</h4>
<p>We don't know, but we know it when we see it.</p>
<h4 id="Anchor-WHAT-6296">WHAT IF MY POST IS PULLED?</h4>
<p>You might find that something you posted is no longer on the forum on which it was originally posted. In all likelihood, you posted something that really belongs in either our Classifieds or Lavender Room forum, and you might find your post there (we'll just move your post or thread to the right forum). If your post is pulled entirely, you wrote something inappropriate—at least in our view—and we pulled the post.</p>
<h4 id="Anchor-WHAT-48213">WHAT IF I'M BANNED?</h4>
<p>Then you *might* have been (according to us) a very bad boy (or girl). We reserve the right to do this, and at our sole discretion. If you want to keep your account active, be civil. But you might be posting from a location inside a bloc of IP addresses we banned in order to weed out a spammer or bad actor. Email us privately and we'll find out of that's the case.</h4>
<h4 id="Anchor-MULTIPLE-49575">MULTIPLE USER NAMES:</h4>
<p>A big no-no. Stick to one user account. You can change your user name, but no creating multiple accounts. Note that your string of previous user names appends to your user profile.</p>
<h4 id="Anchor-COMPLAINTS-47857">COMMENTS ABOUT RETAILERS OR RACES:</h4>
<p>Neither complaints nor praises belong on the reader forum. They should be lodged as &quot;comments&quot; attached to the profiles of these business entities, which reside on our databases listing them. You'll find links to these databases on a blue bar across the very top of our reader forum pages. Likewise bike fitters, coaches, and tri clubs.</p>
<h4 id="Anchor-DATA-78140">SCIENTIFIC DATA</h4>
<p>If the data is merely a reprint from another website or publication, all that is needed is a link or a reference to the original source (and as much information is provided by the original publisher). <font size="2" face="Verdana, Arial, Helvetica, sans-serif">If the data is coming from you, as a private individual, simply do your best to explain your testing protocol and methodology. You should be prepared to answer questions to the best of your ability. If the data is coming from a company that you work for or are otherwise affiliated with, you need to explain your affiliation to that company.</p>
<h4 id="Anchor-ARE-37516">ARE THESE ALL THE RULES?</h4>
<p>No. But these are most of them, in broad strokes. There may be others we place here from time to time. As you become familiar with this forum, and this community, you'll see that we interfere only when we need to. If you take a deep breath before you post, and give your idea a second thought before you push the &quot;send&quot; button, you probably won't write anything with which we'll take umbrage.</p>
<h4 id="Anchor-DISCLAIMER-23522">DISCLAIMER:</h4>
<p>This is a very loosely moderated forum. We do not and cannot see everything written here, and we may not see an offensive post for awhile or indeed at all unless it is brought to our attention. We are hosting a global digital &quot;water cooler,&quot; around which triathletes gather to &quot;talk shop.&quot; As such we cannot and do not accept any liability for what others post here. We can simply make our best effort to monitor abuse that is brought to our attention.</p>
</div>
</body>
<%include include_global_js.html%>
</html>

View File

@ -0,0 +1,212 @@
<!DOCTYPE html >
<%~set search_widget = 1%>
<%~set poll_widget = 1%>
<html lang="en">
<head>
<title><%cat_full_name%>: <%forum_name%><%if this_page > 1%>: Page <%this_page%><%endif%></title>
<%include include_common_head.html%>
</head>
<%~set hidden_sort = ''%><%set hidden_page = ''%><%set form_sort = ''%><%set form_page = ''%>
<%~if in.sb%><%set hidden_sort .= ";sb=$sb"%><%set form_sort .= "<input type=\"hidden\" name=\"sb\" value=\"$sb\" />"%><%endif%>
<%~if in.so%><%set hidden_sort .= ";so=$so"%><%set form_sort .= "<input type=\"hidden\" name=\"so\" value=\"$so\" />"%><%endif%>
<%~if in.mh%><%set hidden_page .= ";mh=$mh"%><%set form_page .= "<input type=\"hidden\" name=\"mh\" value=\"$mh\" />"%><%endif%>
<%~if in.page%><%set hidden_page .= ";page=$this_page"%><%set form_page .= "<input type=\"hidden\" name=\"page\" value=\"$this_page\" />"%><%endif%>
<%~set do = ''%><%if in.do%><%set do = "do=$this_do;"%><%endif%>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = $forum_name%>
<%~set btn_new = 1%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%>
<%~set breadcrumbs.0.name = $forum_name%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "forum=$forum_id")%>
<%include include_breadcrumb.html%>
<%~set paging_do = ''%>
<%~if in.do%>
<%~set paging_do = "do=$this_do"%>
<%~endif%>
<%~set pagination_options.type = 'forum'%>
<%~set pagination_options.id = $forum_id%>
<%~set pagination_options.params = "$paging_do$hidden_sort$hidden_page"%>
<%~set pagination_options.page_items = $forum_total_threads%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<div class="toolbar-b clearfix">
<%include include_hot_topics.html%>
<%include include_quicklaunch.html%>
</div>
<div class="dtable bg"><%-- start table --%>
<div class="dhead">
<div class="drow">
<div class="dcell icon">&nbsp;</div>
<div class="dcell subject">
<%~if sb eq post_subject and so ieq asc%><%set url_param_subject_so = 'desc'%><%else%><%set url_param_subject_so = 'asc'%><%endif%>
<a href="<%GForum::SEO::url(params => "${do}forum=$forum_id;sb=post_subject;so=$url_param_subject_so$hidden_page")%>" title="Sort by Subject">
Subject
<%~if sb eq post_subject%> <span class="<%if so ieq asc%>ascending<%else%>descending<%endif%>"></span><%endif~%>
</a>
</div>
<div class="dcell author">
<%~if sb eq post_username and so ieq asc%><%set url_param_author_so = 'desc'%><%else%><%set url_param_author_so = 'asc'%><%endif%>
<a href="<%GForum::SEO::url(params => "${do}forum=$forum_id;sb=post_username;so=$url_param_author_so$hidden_page")%>" title="Sort by Author"><%~%>
Author
<%~if sb eq post_username%> <span class="<%if so ieq asc%>ascending<%else%>descending<%endif%>"></span><%endif~%>
</a>
</div>
<div class="dcell views">Views</div>
<div class="dcell replies">
<%~if sb eq post_replies and so ieq desc%><%set url_param_replies_so = 'asc'%><%else%><%set url_param_replies_so = 'desc'%><%endif%>
<a href="<%GForum::SEO::url(params => "${do}forum=$forum_id;sb=post_replies;so=$url_param_replies_so$hidden_page")%>" title="Sort by # of Replies"><%~%>
Replies
<%~if sb eq post_replies%> <span class="<%if so ieq asc%>ascending<%else%>descending<%endif%>"></span><%endif~%>
</a>
</div>
<div class="dcell date">
<%~if sb eq post_latest_reply and so ieq asc%><%set url_param_last_post_so = 'desc'%><%else%><%set url_param_last_post_so = 'asc'%><%endif%>
<a href="<%GForum::SEO::url(params => "${do}forum=$forum_id;sb=post_latest_reply;so=$url_param_last_post_so$hidden_page")%>" title="Sort by # of Replies" rel="nofollow"><%~%>
Last Post
<%~if sb eq post_latest_reply%> <span class="<%if so ieq asc%>ascending<%else%>descending<%endif%>"></span><%endif~%>
</a>
</div>
</div>
</div>
<div class="dbody">
<%~loop post_loop%>
<%~if post_locked%><%set icon_class = 'locked-thread'%>
<%~elsif post_thread_hot%><%set icon_class = 'hot-thread'%>
<%~elsif post_new and new_replies%><%set icon_class = 'new-replies'%>
<%~elsif post_replies == 1%><%set icon_class = 'first-post'%>
<%~elsif post_replies%><%set icon_class = 'thread'%>
<%~elsif post_new%><%set icon_class = 'new-thread'%>
<%~else%><%set icon_class = 'single-thread'%><%endif%>
<div class="drow<%if post_sticky%> sticky-thread<%endif%>">
<div class="dcell icon"><span class="sprite-<%icon_class%>"></span></div>
<div class="dcell subject">
<%~unless post_moved and post_moved_perm < 3%>
<%~set forum_view = ''%>
<%~if in.do%>
<%~set forum_view = "forum_view=$this_do&"%>
<%~endif%>
<%~if post_moved%><%set url_id = $post_moved_id%><%else%><%set url_id = $post_id%><%endif%>
<%~set url_anchor = ""%>
<%~set url_param_unread = ""%>
<%~if current.user_default_post_display == 1 or not current.user_id%>
<%~if post_depth%>
<%~set url_anchor = "p$post_id"%>
<%~elsif current.user_jump_to_unread%>
<%~set url_param_unread = ";page=unread"%>
<%~set url_anchor = "unread"%>
<%~endif%>
<%~endif%>
<%~endunless%>
<%~if post_sticky%> <span class="sticky">Sticky:</span><%endif%>
<%~if post_moved%> <span class="moved">Moved:</span><%endif%>
<a href="<%GForum::SEO::url(type => "post", id => $url_id, params => "$forum_view$hidden_sort$url_param_unread", anchor => $url_anchor)%>" class="title">
<% post_subject %>
</a>
<div class="post-mob">
<span>by</span>
<%~set escaped_username = escape_url $post_username%>
<a href="<%GForum::SEO::url(params => "username=$escaped_username")%>" class="postedby"><%post_username %></a> <span>
<%if not post_moved%>
| <% post_latest_reply_date %>| <% post_replies || 0 %> replies</span>
<%~if post_depth == 0%>
<%~set url_param_page_last = "post=last-"%>
<%~if post_moved%><%set url_param_page_last .= "$post_moved_id"%><%else%><%set url_param_page_last .= "$post_id"%><%endif%>
<%~set url_anchor = ""%>
<%~if post_display_is_flat%><%set url_anchor = "last"%><%endif%>
<a href="<%GForum::SEO::url(params => "$forum_view$hidden_sort$url_param_page_last", anchor => $url_anchor)%>" rel="nofollow" class="right-arrow">&rarr;</a>
<%~endif%>
<%~endif%>
<%-- Server ad on mobile --%>
<%~if row_num == 3 %>
<%~set serve_ad = 1%><%set count = 0%><%set ad_count = 1%>
<%~else%>
<%~set count += 1%><%set show_poll = $count % 25 %><%set show_ad = $count % 10 %>
<%~if not $show_ad %>
<%~set serve_ad = 1%>
<%~if not $show_poll%>
<div class="mobpoll">
<%include include_poll_widget.html%>
<%~set serve_ad = 0%><%set count = 0%>
</div>
<%endif%>
<%endif%>
<%~endif%>
</div>
<%~if $serve_ad%><%set height_choice = $ad_count % 2%>
<%~if not height_choice%><%set ad_height = 250%><%else%><%set ad_height = 600 %><%endif%>
<%~set ad_count += 1%>
<%include include_ad_mobile.html%>
<%~set serve_ad = 0%>
<%~endif%>
</div>
<div class="dcell author">
<%~set include_username_display = $post_username%>
<%include include_username.html%>
</div>
<div class="dcell views"><%if not post_moved%><%post_views%><%endif%></div>
<div class="dcell replies"><%if not post_moved%><%post_replies%><%endif%></div>
<div class="dcell date">
<%~if not post_moved%>
<%post_latest_reply_date%>
<span class="nowrap-text">
<%~if post_replies%>
<%~set escaped_username = escape_url $post_latest_poster%>
by <a href="<%GForum::SEO::url(params => "username=$escaped_username")%>" class="postedby"><%post_latest_poster%></a>
<%~endif%>
<%~-- Show jump image for root posts --%>
<%~if post_depth == 0%>
<a href="<%GForum::SEO::url(params => "$forum_view$hidden_sort$url_param_page_last", anchor => $url_anchor)%>" rel="nofollow" class="right-arrow">&rarr;</a>
<%~endif%>
</span>
<%~endif%>
</div>
</div>
<%~ endloop %>
</div>
</div><%-- end dtable --%>
<div class="toolbar clearfix">
<hr class="line" />
<%~set paging_do = ''%>
<%~if in.do%>
<%~set paging_do = "do=$this_do"%>
<%~endif%>
<%~set pagination_options.type = 'forum'%>
<%~set pagination_options.id = $forum_id%>
<%~set pagination_options.params = "$paging_do$hidden_sort$hidden_page"%>
<%~set pagination_options.page_items = $forum_total_threads%>
<%include include_paging.html%>
<%include include_forum_actions.html%>
</div>
<%-- ad for tablet --%>
<%include include_ad_tablet.html%>
</div><%-- end content --%>
</div><%-- end contentwrapper --%>
</div><%-- end main --%>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,72 @@
<%~if adsize eq '300x250' and $ad_300x250%>
<%~if forum_id eq '4' or page_id eq 'login'%>
<%~if admod eq 'mobile' or $admod eq 'tablet'%>
<div class="ad<%if admod eq 'mobile'%> admob<%elsif admod eq 'tablet'%> adtab<%endif%>">
<%~-- Serve ad for tablet/mobile --%>
<script type="text/javascript">
if (winWidth <= 1024) { document.write('<div class="adwrapper">' + "<%escape_js ad_lr_300x250%>" + '</div>'); }
</script>
</div>
<%~else%>
<div class="ad">
<script type="text/javascript">
if (winWidth > 1024) { document.write('<div class="adwrapper">' + "<%escape_js ad_lr_300x250%>" + '</div>'); }
</script>
</div>
<%~endif%>
<%~else%>
<%~if admod eq 'mobile' or $admod eq 'tablet'%>
<div class="ad<%if admod eq 'mobile'%> admob<%elsif admod eq 'tablet'%> adtab<%endif%>">
<%~-- Serve ad for tablet/mobile --%>
<script type="text/javascript">
if (winWidth <= 1024) { document.write('<div class="adwrapper">' + "<%escape_js ad_300x250%>" + '</div>'); }
</script>
</div>
<%~else%>
<div class="ad">
<script type="text/javascript">
if (winWidth > 1024) { document.write('<div class="adwrapper">' + "<%escape_js ad_300x250%>" + '</div>'); }
</script>
</div>
<%~endif%>
<%~endif%>
<%~elsif adsize eq '300x600' and $ad_300x600%>
<%~if admod eq 'mobile' or $admod eq 'tablet'%>
<div class="ad<%if admod eq 'mobile'%> admob<%elsif admod eq 'tablet'%> adtab<%endif%>">
<%~-- Serve ad for tablet/mobile --%>
<script type="text/javascript">
if (winWidth <= 1024) { document.write('<div class="adwrapper">' + "<%escape_js ad_300x600%>" + '</div>'); }
</script>
</div>
<%~else%>
<%~if forum_id eq '4' or page_id eq 'login'%>
<div class="ad">
<script type="text/javascript">
if (winWidth > 1024) { document.write('<div class="adwrapper">' + "<%escape_js ad_lr_300x600%>" + '</div>'); }
</script>
</div>
<%~else%>
<div class="ad">
<script type="text/javascript">
if (winWidth > 1024) { document.write('<div class="adwrapper">' + "<%escape_js ad_300x600%>" + '</div>'); }
</script>
</div>
<%~endif%>
<%~endif%>
<%~elsif adsize eq '728x90' and $ad_728x90%>
<%~if forum_id eq '4' or page_id eq 'login'%>
<div class="ad">
<%~-- Serve leaderboard ad --%>
<script type="text/javascript">
if (winWidth >= 767) { document.write('<div class="adwrapper">' + "<%escape_js ad_lr_728x90%>" + '</div>'); }
</script>
</div>
<%~else%>
<div class="ad">
<%~-- Serve leaderboard ad --%>
<script type="text/javascript">
if (winWidth >= 767) { document.write('<div class="adwrapper">' + "<%escape_js ad_728x90%>" + '</div>'); }
</script>
</div>
<%~endif%>
<%~endif%>

View File

@ -0,0 +1,22 @@
<%~set minify = $config.minify || 0%>
<%~set minify = 0%>
<%~set slowtwitch_forum = 1%>
<%include include_global_head.html%>
<%google_analytics%>
<!-- Facebook Pixel Code -->
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '895910530528995');
fbq('track', 'PageView');
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=895910530528995&ev=PageView&noscript=1"
/></noscript>
<!-- End Facebook Pixel Code -->

View File

@ -0,0 +1,35 @@
<div class="btn-wrapper clearfix">
<%~if page_id eq 'category_list' and not $current_user_id%>
<!--You are not logged in. Click <a href="<%GForum::SEO::url(params => "do=login")%>">here</a> to sign in.-->
<%elsif page_id eq 'forum_view'%>
<a href="<%GForum::SEO::url()%>" class="btn default mobile">All Forums</a>
<%~if btn_new and user_forum_permission >= 5%>
<a href="<%GForum::SEO::url(params => "do=post_write&forum=$forum_id")%>" class="btn default">post new topic</a>
<%~endif%>
<%~elsif page_id eq 'search_results'%>
<a href="<%GForum::SEO::url()%>" class="btn default">All Forums</a>
<%~elsif page_id eq 'user_view'%>
<%~if perm_hide_post%>
<a href='<%GForum::SEO::url(params => "do=remove_permission;id=$user_id;username=$url_user_username;permission=hide_post;next_do=$this_do")%>' rel="post-only" class="btn default">Show User's Posts</a>
<%~else%>
<a href='<%GForum::SEO::url(params => "do=add_permission;id=$user_id;username=$url_user_username;permission=hide_post;next_do=$this_do")%>' rel="post-only" class="btn default">Hide User's Posts</a>
<%~endif%>
<%~if user_id ne $current.user_id%>
<%~set my_username = $current.user_username%>
<%~if user_accept_privmsg == 2 and buddy.$my_username%><%set buddy_ok = 1%><%endif~%>
<%~if user_accept_privmsg == 1 or buddy_ok~%>
<a href="<%GForum::SEO::url(params => "do=message;user_username=$url_user_username")%>" class="btn default">Send Private Message</a>
<%~endif%>
<%~endif%>
<%~elsif page_id like 'message'%>
<%~if not url_param_mh%><%set url_param_mh = ''%><%endif%>
<a href="<%GForum::SEO::url(params => "do=message_list$url_param_mh")%>" title="Private Messages - Inbox" class="btn default">Inbox</a>
<a href="<%GForum::SEO::url(params => "do=message_list;mode=sent$url_param_mh")%>" title="Private Messages - Sent" class="btn default">Sent</a>
<a href="<%GForum::SEO::url(params => "do=message")%>" title="Private Messages - Compose" class="btn default">Compose</a>
<%~endif%>
</div>

View File

@ -0,0 +1,177 @@
<%~if hide_post%>
<div id="p<%post_id || 'preview'%>_hide" class="post-wrapper hidden-post">
<div id="post_header_<%post_id || 'preview'%>" class="post-header clearfix">
<span class="post-subject">Ignored Post</span>
<div class="post-actions">
<a href="#" class="show_post" id="show_post_<%post_id%>">Show This Post</a>
</div>
</div>
<div class="post-body-wrapper">
<div class="dtable">
<div class="drow">
<div class="dcell">
<div id="post_info_<%post_id || 'preview'%>" class="post-info<%if post_user_is_moderator%> moderator<%endif%><%loop user_groups%> ug-<%if group_id == $config.id_group_guest%>guest<%elsif group_id == $config.id_group_moderator%>moderator<%elsif group_id == $config.id_group_not_validated%>not-validated<%elsif group_id == $config.id_group_registered%>registered<%else%><%group_id%><%endif%><%endloop%>">
<div class="username">
<%~set include_username_display = $post_username%>
<%~include include_username.html~%>
</div>
</div>
</div>
<div class="dcell">
</div>
</div>
</div>
</div>
</div>
<%endif%><%-- if hide_post --%>
<%~if preview%>
<div class="post-preview">Preview:</div>
<%~elsif reply_view%>
<div class="post-reply-view">Replying to:</div>
<%~elsif orig_view%>
<div class="post-orig-view">Original post:</div>
<%~endif%>
<div id="p<%post_id || 'preview'%>" class="post-wrapper<%if hide_post%> hide<%endif%><%if post_id == $root_post_id%> root-post<%endif%>">
<div id="post_header_<%post_id || 'preview'%>" class="post-header clearfix">
<%if last%><a name="last"></a><%endif%><%if first_new%><a name="unread"></a><%endif%>
<span class="post-subject">
<%~if post_deleted%>
Post deleted by <%post_deleted_by%><%if user_perm_moderator%>: <%post_subject%><%endif%>
<%~else%>
<%~if post_moved%><span class="post-moved">Moved:</span> <%endif%>
<%if post_subject%><%~post_subject%><%else%>&nbsp;<%endif%>
<%~if post_new%><span class="post-new"><span> -</span> NEW</span><%endif%>
<%~endif~%>
<%if not preview and not hide_post_menu and post_father_id%>
<%~ifnot post_father_on_page%>
<%~set do = ''%>
<%~if in.do%>
<%~set do = "do=$this_do"%>
<%~endif%>
[ <a href="<%GForum::SEO::url(type => "post", id => $post_father_id, params => "$do$hidden_sort", anchor => "p$post_father_id")%>" rel="nofollow">In reply to</a> ]
<%~else%>
[ <a href="#p<%post_father_id%>" rel="nofollow">In reply to</a> ]
<%~endif%>
<%endif%>
</span>
<div class="post-actions">
<%GForum::GUI::draw(
draw => post_display_options,
edit => "Edit",
delete => "Delete",
cant_post => "Can't Post",
quote => "Quote",
reply => "Reply",
order => "edit,delete,quote,reply",
a_attribs => "",
separator => " | ",
)%>
</div>
</div>
<div class="post-body-wrapper">
<div class="dtable">
<div class="drow">
<div class="dcell">
<%include include_post_display_infobar.html%>
</div>
<div class="dcell">
<div id="post_body_<%post_id || 'preview'%>" class="post-body">
<%~if not post_deleted or user_perm_moderator%>
<%Slowtwitch::Post::parse_youtube($post_message)%>
<%post_message%>
<%~endif%>
</div>
<%~set show_post_notes = 0%><%-- Determine whether or not we need the "post-notes" div --%>
<%~if this_do eq post_preview and in.redo eq post_edit and preview%><%set show_post_notes = 1%>
<%~elsif post_deleted and user_perm_moderator%><%set show_post_notes = 1%>
<%~elsif post_keep and user_perm_moderator%><%set show_post_notes = 1%>
<%~elsif post_moved or post_last_edit_username%><%set show_post_notes = 1%>
<%~endif%>
<%~if show_post_notes%>
<div class="post-notes">
<%~if this_do eq post_preview and in.redo eq post_edit and preview%>
<div class="post-edited">
<%~set escaped_username = escape_url unescape_html $current.user_username%>
<b>Last edited by:</b> <a href="<%GForum::SEO::url(params => "username=$escaped_username")%>"><%current.user_username%></a>: <%GForum::date($TIME)%>
</div>
<%~elsif post_last_edit_username%>
<div class="post-edited">
<%~set escaped_username = escape_url $post_last_edit_username%>
<b>Last <a href="<%GForum::SEO::url(params => "do=post_editlog;post=$post_id")%>" rel="nofollow">edited</a> by: </b>
<a href="<%GForum::SEO::url(params => "username=$escaped_username"%>"><%post_last_edit_username%></a>: <%post_last_edit_date%>
</div>
<%~endif%>
<%~if post_deleted and user_perm_moderator%>
<div class="post-edited">
<b>Deleted by: </b>
<%~set escaped_username = escape_url $post_deleted_by%>
<a href="<%GForum::SEO::url(params => "username=$escaped_username")%>"><%post_deleted_by%></a><%if post_deleted_time%>: <%post_deleted_date%><%endif%>
</div>
<%~endif%>
<%~if post_moved%><%-- An empty pointer to the moved post --%>
<div class="post-edited">
<h4>Moved: </h4>
<a href="<%GForum::SEO::url(type => "post", id => $post_moved_id)%>">Original post</a>
</div>
<%~endif%>
</div>
<%~endif%>
<%~set post_attachments_count = 0%>
<%~loop post_attachments%>
<%~if postatt_inline%><%if forum_attachment_inline or not forum_id%><%nextloop%><%endif%><%endif%>
<%~set post_attachments_count += 1%>
<%~endloop%>
<%~if tags.length or post_attachments_count%>
<div class="top-spacer">
<div class="post-footer">
<%~if tags.length%>
<h4>Tags:</h4>
<div class="content">
<%~loop tags%>
<a href="<%GForum::SEO::url(params => "do=tags;tags=$tag_name")%>"><%tag_name%></a><%unless last%>,<%endunless%>
<%~endloop~%>
</div>
<%~endif%>
<%~if post_attachments_count%>
<h4>Attached Files:</h4>
<ul class="attachments">
<%~loop post_attachments%>
<%~if postatt_inline%><%if forum_attachment_inline or not forum_id%><%nextloop%><%endif%><%endif%>
<li>
<img src="<%GForum::Attachment::icon($postatt_content, $postatt_filename)%>" alt="<%postatt_content%>" />
<a href="<%GForum::SEO::url(params => "do=post_attachment;postatt_id=$postatt_id")%>"><%postatt_filename%></a> (<%GForum::Attachment::friendly_size($postatt_size)%>)
</li>
<%~endloop%>
</ul>
<%~endif%>
</div><%~-- /div class="post-footer" --%>
</div><%~-- /div class="top-spacer" --%>
<%~endif%>
</div>
</div> <%-- drow --%>
</div> <%-- dtable --%>
<div class="post-actions mobile">
<%GForum::GUI::draw(
draw => post_display_options,
edit => "Edit",
delete => "Delete",
cant_post => "Can't Post",
quote => "Quote",
reply => "Reply",
order => "edit,delete,quote,reply",
a_attribs => "class='btn'",
separator => " ",
)%>
</div>
</div>
</div>

View File

@ -0,0 +1,33 @@
<%~set toolbar_id += 1~%>
<%if toolbar_id == 1%>
<div class="btn-wrapper clearfix">
<a href="<%GForum::SEO::url(params => "do=forum_view&forum=$forum_id")%>" class="btn default">Back To Forum</a>
<%~if current.user_id~%>
<a class="btn default" href="<%GForum::SEO::url(params => "do=watch_thread;thread=$root_post_id")%>" rel="post-only">Watch Thread</a><%~%>
<%~endif~%>
<a class="sprite-printer" href="<%GForum::SEO::url(params => "do=post_view_printable;post=$root_post_id")%>" target="_blank" onclick="return winopen('<%GForum::SEO::url(params => "do=post_view_printable;post=$root_post_id")%>', '<%root_post_id%>print')" rel="nofollow">Print Thread</a>
</div>
<%else%>
<form action="<%GForum::SEO::url()%>" method="post" id="toolbar_form">
<%hidden_form%>
</form>
<div id="toolbar<%toolbar_id%>" class="toolbar clearfix">
<hr class="line" />
<%~if num_posts > $mh%>
<%include include_paging.html%>
<%~endif%>
<div class="adbox">
<div class="adhori">
<%~set adsize = '728x90'%>
<%include include_ad.html%>
</div>
</div>
<div class="btn-wrapper clearfix">
<a href="<%GForum::SEO::url(params => "do=forum_view&forum=$forum_id")%>" class="btn default">Back To Forum</a>
<%~if current.user_id~%>
<a class="btn default" href="<%GForum::SEO::url(params => "do=watch_thread;thread=$root_post_id")%>" rel="post-only">Watch Thread</a><%~%>
<%~endif~%>
<a class="sprite-printer" href="<%GForum::SEO::url(params => "do=post_view_printable;post=$root_post_id")%>" target="_blank" onclick="return winopen('<%GForum::SEO::url(params => "do=post_view_printable;post=$root_post_id")%>', '<%root_post_id%>print')" rel="nofollow">Print Thread</a>
</div>
</div>
<%~endif%>

View File

@ -0,0 +1,266 @@
<%~if ie_version >= 5.5 or mozilla_version >= 1.4 or webkit_version >= 312.1%>
<%~if advanced_editor%>
<%~set ADVANCEDEDITOR = 1%>
<%~elsif current.user_advanced_editor and not basic_editor%>
<%~set ADVANCEDEDITOR = 1%>
<%~else%>
<%~set ADVANCEDEDITOR = 0%>
<%~endif%>
<%~else%>
<%~set ADVANCEDEDITOR = 0%>
<%~endif%>
<%~if ADVANCEDEDITOR and not forum_style % 2%>
<%~set ADVANCEDEDITOR = 0%>
<%~endif%>
<script type="text/javascript">
//<![CDATA[
<%~if ADVANCEDEDITOR%>
var ae, sc;
<%~else%>
var sc;
function addTag(tag) {
var textarea = document.getElementById('post_message');
insertText(textarea, '[' + tag + ']');
}
function wrapTag(tag) {
var textarea = document.getElementById('post_message');
wrapText(textarea, '[' + tag + ']', '[/' + tag + ']');
}
<%~endif%>
registerEvent(window, 'load', function () {
/* Cancel any "enter" key presses on non-button input elements as they would submit the form */
var inputs = document.getElementsByTagName('input');
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type != 'hidden' && inputs[i].type != 'button' && inputs[i].type != 'submit')
registerEvent(inputs[i], 'keypress', function (evt) { if (evt.keyCode == 13) { cancelEvent(evt); return false } });
}
/* Create and configure the spellcheck object */
sc = new spellCheck('sc');
sc.id.checkContent = 'post_message';
sc.id.htmlCompose = 'advanced_editor';
sc.id.extra = ['post_style', 'temp_id', 'post_id'];
sc.lang.resume = 'Resume Post';
sc.config.disableElements = ['editor_switch', 'button_attachment', 'button_post', 'button_preview'];
<%~if ADVANCEDEDITOR%>
sc.config.editorObj = ae;
<%~endif%>
sc.load();
});
//]]>
</script>
<input type="hidden" id="temp_id" name="temp_id" value="<%temp_id%>" />
<div class="post-header-group">
<div id="row_post_subject" class="row">
<label for="post_subject" class="name">Subject</label>
<div class="value"><input type="text" id="post_subject" name="post_subject" value="<%post_subject%>" class="txt midtext" tabindex="1" /></div>
</div>
<%~if this_do eq post_edit%>
<div id="row_edit_reason" class="row">
<label for="edit_reason" class="name">Reason for edit</label>
<div class="value"><input type="text" id="edit_reason" name="edit_reason" value="<%if edit_reason%><%edit_reason%><%endif%>" class="txt midtext" tabindex="2" /></div>
</div>
<%~endif%>
<%~if current.user_id and config.post_user_custom_username and this_do ne post_edit%>
<div id="row_alias_username" class="row">
<label for="alias_username" class="name">Alias</label>
<div class="value"><input type="text" id="alias_username" name="alias_username" value="<%if alias_username%><%alias_username%><%endif%>" class="txt" tabindex="2" /></div>
</div>
<%elsif not current.user_id%>
<%~if anonymous.length > 1 or config.post_guest_custom_username%>
<div id="row_guest_username" class="row">
<label for="<%if anonymous.length > 1%>anon_id<%else%>guest_username<%endif%>">Guest Username</label>
<div class="value">
<%~if anonymous.length > 1%>
<select id="anon_id" name="anon_id" tabindex="2">
<%~loop anonymous%>
<option value="<%user_id%>"<%if selected%> selected="selected"<%endif%>><%user_username%></option>
<%~endloop%>
</select>
<%~else%>
<input type="hidden" name="anon_id" value="<%anonymous.0.user_id%>" />
<%~endif%>
<%~if config.post_guest_custom_username%>
<input type="text" id="guest_username" name="guest_username" value="<%if guest_username%><%guest_username%><%endif%>" class="txt" tabindex="2" />
<%~endif%>
</div>
</div>
<%~endif%><%-- endif anonymous.length > 1 ... --%>
<div id="row_post_anonymous_email" class="row">
<label for="post_anonymous_email">E-mail address</label>
<div class="value"><input type="text" id="post_anonymous_email" name="post_anonymous_email" value="<%if post_anonymous_email%><%post_anonymous_email%><%endif%>" class="txt mid-text" tabindex="3" /></div>
</div>
<%endif%>
<div id="row_post_style" class="row">
<label class="name">Post Style</label>
<div class="value">
<%if ADVANCEDEDITOR%><%-- The advanced editor only works for markup posts --%>
<input type="hidden" id="post_style" name="post_style" value="1" />
<input type="hidden" id="advanced_editor" name="advanced_editor" value="1" />
<p><%GForum::language('FORUM_STYLE_MARKUP')%></p>
<%elsif forum_style%><%-- forum_style is set, which means the user gets a choice --%>
<select id="post_style" name="post_style" tabindex="4" onchange="document.getElementById('ae_switch_span').className = this.value == 1 ? '' : 'hide'; document.getElementById('get_markup_help').className = this.value % 2 == 0 ? 'hide' : ''">
<%~if forum_style == 3%>
<option value="3"<%if forum_style_selected == 3%> selected="selected"<%set selected = 1%><%endif%>><%GForum::language('FORUM_STYLE_BOTH')%></option>
<%~endif%>
<%~if forum_style >= 2%>
<option value="2"<%if forum_style_selected == 2%> selected="selected"<%set selected = 1%><%endif%>><%GForum::language('FORUM_STYLE_HTML')%></option>
<%~endif%>
<%~if forum_style % 2%>
<option value="1"<%if forum_style_selected == 1%> selected="selected"<%set selected = 1%><%endif%>><%GForum::language('FORUM_STYLE_MARKUP')%></option>
<%~endif%>
<option value="0"<%if not selected%> selected="selected"<%endif%>><%GForum::language('FORUM_STYLE_PLAIN')%></option>
</select>
<%~if forum_style % 2%>
<span id="get_markup_help">
&mdash;
<a href="#" rel="markup-help" class="dialog-lnk">Get Markup Help</a>
</span>
<%~if not forum_style_selected % 2%>
<script type="text/javascript">
document.getElementById('get_markup_help').className = 'hide';
</script>
<%~endif%>
<%~endif%>
<%~else%><%-- plain text only --%>
<input type="hidden" name="post_style" value="0" />
<%GForum::language('FORUM_STYLE_PLAIN')%>
<%~endif%>
</div>
</div>
</div>
<div id="row_post_message" class="row post-message">
<label class="name">Post</label>
<div class="value">
<script type="text/javascript" src="<%static_url%>/js/spellcheck.js"></script>
<%if ADVANCEDEDITOR%>
<input type="hidden" id="post_message" name="post_message" value="<%post_message%>" />
<script type="text/javascript" src="<%static_url%>/editor/editor.js"></script>
<script type="text/javascript">
//<![CDATA[
<%include editor_gforum.js%>
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
var ae = new advancedEditor();
ae.config.imageDialogURL = '<%cgi_root_url%>' + '<%set url = GForum::SEO::url(params => "do=editor_image;forum_id=$forum_id;editor_type=post")%><%escape_js url%>';
<%~if in.do ne 'post_preview'%>
ae.config.focusOnload = true;
<%~endif%>
ae.load('<%compose_form_id%>', 'post_message');
//]]>
</script>
<iframe id="editor_iframe" src="<%static_url%>/editor/editor_iframe.html" frameborder="0" scrolling="no"></iframe>
<%else%>
<input type="hidden" name="basic_editor" value="1" />
<textarea id="post_message" name="post_message" tabindex="6" class="txt lngtext" onload="this.focus()"><%post_message%></textarea>
<%endif%>
</div>
</div>
<%if not ADVANCEDEDITOR%>
<%include include_markup_tags.html%>
<%endif%>
<div class="row post-link-actions">
<%if ADVANCEDEDITOR%><%-- The advanced editor only works for markup posts --%>
<input type="hidden" id="post_style" name="post_style" value="1" />
<input type="hidden" id="advanced_editor" name="advanced_editor" value="1" />
<a id="editor_switch" href="#" onclick="return submitForm(document.getElementById('<%compose_form_id%>'), ['do','<%this_do%>', 'basic_editor','1', 'basic_editor_switch','1'])" class="hide">Switch to Basic Editor</a> |
<script type="text/javascript">
document.getElementById('editor_switch').className = '';
</script>
<%~elsif forum_style % 2%>
<a id="editor_switch" href="#" onclick="return submitForm(document.getElementById('<%compose_form_id%>'), ['do','<%this_do%>', 'advanced_editor','1', 'advanced_editor_switch','1'])">Switch to Advanced Editor</a> |
<%endif%>
<a id="button_spellcheck" href="#" title="Spell Check">Check Spelling</a> |
<a id="button_preview" href="#" onclick="return submitForm(document.getElementById('<%compose_form_id%>'), ['do', 'post_preview', 'redo', '<%this_do%>'])" title="Spell Check">Preview Post</a>
</div>
<%~if current.user_status == 3%>
<div class="row post-tags">
<label class="name">Tags</label>
<div class="value clearfix">
<div class="col-6">
<input type="text" id="autocomplete" name="autocomplete" value="<%preview_tags || $post_tags || ''%>" tabindex="7" class="txt" placeholder="Separate tags with commas" />
<input type="submit" id="autocomplete-submit" value="Add" class="btn" />
<input type="hidden" id="autocomplete-tags" name="tags" value="<%if orig.tags.length%><%loop orig.tags%><%tag_name%><%unless last%>,<%endunless%><%endloop%><%endif%>" />
</div>
<div class="col-6">
<div id="autocomplete-selected">
<div id="autocomplete-selected-items" class="clearfix">
<%~loop orig.tags%>
<div class="button-remove" title="<%tag_name%>"><span class="sprite-remove-tag"></span><%tag_name%></div>
<%~endloop%>
</div>
</div>
</div>
</div>
</div>
<%~endif%>
<%if can_attach or attachments.length%>
<div id="row_attachments" class="row post-attachments">
<label class="name sprite-attachment">Attachments</label>
<div id="attachment_list" class="value clearfix">
<%include include_attachments.html%>
</div>
</div>
<%endif%>
<hr class="line" />
<%if current.user_id%>
<div id="row_post_options" class="row post-options">
<div class="option">
<input type="checkbox" id="post_append_signature" name="post_append_signature" value="1"<%if post_append_signature%> checked="checked"<%endif%> class="checkbox" tabindex="8" />
<label for="post_append_signature">Append signature to post</label>
</div>
<div class="option">
<input type="checkbox" id="post_reply_notify" name="post_reply_notify" value="1"<%if post_reply_notify%> checked="checked"<%endif%> class="checkbox" tabindex="8" />
<label for="post_reply_notify">Send e-mail notification on reply</label>
</div>
<%~if current.user_forum_permission >= $FORUM_PERM_MODERATOR%>
<%~if root.post_sticky%>
<div class="option" title="Thread is already sticky">
<input type="checkbox" id="post_sticky" checked="checked" disabled="disabled" class="checkbox" />
<label for="post_sticky">Make thread sticky</label>
</div>
<%~else%>
<div class="option">
<input type="checkbox" id="post_sticky" name="post_sticky" value="1"<%if post_sticky%> checked="checked"<%endif%> class="checkbox" tabindex="8" />
<label for="post_sticky">Make thread sticky</label>
</div>
<%~endif%>
<%~if root.post_locked%>
<div class="option already" title="Thread is already locked">
<input type="checkbox" id="post_locked" checked="checked" disabled="disabled" class="checkbox" />
<label for="post_locked">Lock thread</label>
</div>
<%~else%>
<div class="option">
<input type="checkbox" id="post_locked" name="post_locked" value="1"<%if post_locked%> checked="checked"<%endif%> class="checkbox" tabindex="8" />
<label for="post_locked">Lock thread</label>
</div>
<%~endif%>
<%~endif%>
</div>
<%endif%>
<div id="markup-help" title="Markup Help" class="hide">
<%include markup_help.html%>
</div>

View File

@ -0,0 +1,9 @@
<div class="dtable quick-launchers">
<div class="drow">
<div class="dcell"><a href="<%GForum::SEO::url(type => "forum", id => 1)%>"><span class="sprite-tri"></span> <span>Tri</span></a></div>
<div class="dcell"><a href="<%GForum::SEO::url(type => "forum", id => 2)%>"><span class="sprite-cla"></span> <span>Classifieds</span></a></div>
<div class="dcell"><a href="<%GForum::SEO::url(type => "forum", id => 4)%>"><span class="sprite-lav"></span> <span>Lavender</span></a></div>
<div class="dcell"><a href="<%GForum::SEO::url(type => "forum", id => 8)%>"><span class="sprite-job"></span> <span>Jobs</span></a></div>
<div class="dcell"><a href="<%GForum::SEO::url(type => "forum", id => 9)%>"><span class="sprite-not"></span> <span>Notices</span></a></div>
</div>
</div>

View File

@ -0,0 +1,91 @@
<%~if page_id eq 'category_list'%>
<div class="searchbox blank">
<%registered_users || 0%> registered users
</div>
<%~elsif search_widget or $forum_id%>
<%include include_sidebar_search.html%>
<%~endif%>
<%~if page_id ne 'category_list' and $poll_widget%>
<%~set adsize = '300x250'%>
<%include include_ad.html%>
<%~if poll_widget or $forum_id%>
<%include include_poll_widget.html%>
<%~endif%>
<%~endif%>
<%~if page_id eq 'category_list'%>
<%~set adsize = '300x600'%>
<%include include_ad.html%>
<%~else%>
<div class="dynamic-widget" data="45"></div>
<br>
<div class="dynamic-widget" data="46"></div>
<br>
<div class="dynamic-widget" data="47"></div>
<style>
#stickThis{
font-size: 1.5em;
width: 300px;
text-align: center;
}
#stickThis.box {
margin-top: 0;
position: fixed;
z-index: 9999;
}
</style>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<div id="stickHere"></div>
<div id="stickThis">
<div class="dynamic-widget" data="48"></div>
<%~if $forum_id != 4 %>
<%~set adsize = '300x600'%>
<%include include_ad.html%>
<%~endif%>
</div>
<script>
function boxtothetop() {
var windowTop = $(window).scrollTop();
var top = $('#stickHere').offset().top;
var bottom = $('#stickHere').offset().top + $('#stickThis')
.outerHeight(true);
var mainBottom = $('.footer').offset().top - 10;
var toolbarBottom = $('#toolbar2').offset().top + $('#toolbar2').outerHeight() + 20;
//console.log( { windowTop, top, bottom , mainBottom, toolbarBottom } );
if(windowTop > top && bottom < toolbarBottom ) {
$('#stickThis').addClass('box');
$('#stickHere').height($('#stickThis').outerHeight());
if ( windowTop + ( bottom - top ) < mainBottom ) {
$('#stickThis').css({"top": 0});
} else {
var gap = -1 * ( bottom - top ) + ( mainBottom - windowTop );
//console.log( {gap} );
$('#stickThis').css({"top": gap});
}
} else {
$('#stickThis').removeClass('box');
$('#stickHere').height(0);
}
}
$(function() {
$(window)
.scroll(boxtothetop);
boxtothetop();
});
</script>
<%~endif%>
<%~if $forum_id == 11 %>
<%ezoic_desktop_sidebar%>
<%~endif%>

View File

@ -0,0 +1,85 @@
<!DOCTYPE html >
<html lang="en">
<head>
<title><%cat_full_name%>: Lost Password</title>
<%include include_common_head.html%>
</head>
<%~set content_header_title = 'Lost Password'%>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Lost Password'%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%>
<%~set breadcrumbs.0.name = 'Lost Password'%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<%if form.page_errors%><p class="error">Enter your Username</p><%endif%>
<p>
If you have lost your password, <%cat_full_name%> can generate a new temporary
password for you to log in with. Note that after logging in the temporary
password will be lost so you should change your password immediately upon
logging in with the temporary password. The temporary password will be sent
to you at the e-mail address you specified when signing up.
</p>
<form action="<%GForum::SEO::url()%>" method="post">
<%hidden_form%>
<input type="hidden" name="do" value="lost_password" />
<input type="hidden" name="page_errors" value="1" />
<div class="dtable form">
<div class="drow">
<div class="dcell name">Your Username <span>*</span></div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" id="user_username" name="user_username" class="txt shotext" />
</div>
</div>
<%~set captcha_active = Plugins::GForum::GoogleCaptcha::is_captcha_enabled()%>
<%~if captcha_active%>
<div class="drow">
<div class="dcell name">Prove you're not a robot</div>
<div class="dcell divider"></div>
<div class="dcell value">
<%Plugins::GForum::GoogleCaptcha::get_rcaptcha_image()%>
</div>
</div>
<%endif%>
<div class="drow actions">
<div class="dcell name"></div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="submit" value="Send Password" class="btn default" />
<p class="note">* The temporary password will be sent to the e-mail address you entered while registering.</p>
</div>
</div>
</div>
</form>
</div>
</div><%-- end content --%>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
<script type="text/javascript">
$(document).ready(function () {
$('#user_username').focus();
});
</script>
</html>

View File

@ -0,0 +1,158 @@
<!DOCTYPE html >
<%~set search_widget = 1%>
<%~set poll_widget = 1%>
<html lang="en">
<head>
<title><%root_post_subject%><%if this_page > 1%> (Page <%this_page%>)<%endif%>: <%forum_name%>: <%cat_full_name%></title>
<%include include_common_head.html%>
<%~if this_do eq post_view_printable%>
<link type="text/css" rel="stylesheet" href="<%static_url%>/css/print.css" />
<%~endif%>
<script type="text/javascript">
//<![CDATA[
<%if is_ie and ie_version >= 4%>
<%~-- JavaScript for "Copy Shortcut" (which only works in IE) --~%>
// IE-specific code to copy a post URL to the clipboard - takes the post_id.
// This works only in IE because other browsers (quite correctly) treat copy
// buffer manipulation as a security access violation.
function postShortcut(post_id) {
var url = document.createElement('input');
url.type = 'hidden';
url.value = '<%set url = GForum::SEO::url(params => "?post=__POST_ID__", anchor => "p__POST_ID__")%><%escape_js url%>';
url.value = url.value.replace(/__POST_ID__/g, post_id);
document.body.appendChild(url);
url.createTextRange().execCommand("Copy");
alert("Post URL copied to clipboard");
}
<%endif%>
function winopen(url, target) {
var win;
try {
win = window.open(url, target, 'resizable=yes,menubar=yes,scrollbars=yes,width=700,height=500');
win.focus();
}
catch (e) {
return true;
}
return win ? false : true;
}
<%~if forum_image_max_x or config.post_image_max_x%>
GForum.image_max_width = '<%forum_image_max_x || $config.post_image_max_x%>';
<%~endif%>
<%~if forum_image_max_y or config.post_image_max_y%>
GForum.image_max_height = '<%forum_image_max_y || $config.post_image_max_y%>';
<%~endif%>
//]]>
</script>
</head>
<%~set hidden_sort = ''%><%set hidden_page = ''%>
<%~if in.sb%><%set hidden_sort .= ";sb=$sb"%><%endif%>
<%~if in.so%><%set hidden_sort .= ";so=$so"%><%endif%>
<%~if in.mh%><%set hidden_page .= ";mh=$mh"%><%endif%>
<%~if in.page%><%set hidden_page .= ";page=$this_page"%><%endif%>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = $forum_name%>
<%~set post_toolbar = 1%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = $forum_name%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "forum=$forum_id")%>
<%~set breadcrumbs.1.name = $root_post_subject%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<%~set root_post_id ||= $post_root_id || $post_id%>
<%~set do = ''%>
<%~if in.do%>
<%~set do = "do=$this_do"%>
<%~endif%>
<%~set pagination_options.type = 'post'%>
<%~set pagination_options.id = $root_post_id%>
<%~set pagination_options.params = "$do$hidden_sort$hidden_page"%>
<%~set pagination_options.page_items = $num_posts%>
<%~set pagination_options.show_view_all = 1%>
<div class="toolbar-b clearfix">
<%include include_paging.html%>
<%include include_quicklaunch.html%>
</div>
<%loop post_loop%>
<%~if is_moderator and post_reports_count%><%set admin_show_post = 1%><%else%><%set admin_show_post = 0%><%endif%>
<%~if blocked and not admin_show_post and in.post != $post_id%><%set hide_post = 1%><%else%><%set hide_post = 0%><%endif%>
<%-- Serve ad on mobile --%>
<%~if row_num == 1%>
<%~set serve_ad = 1%><%set ad_count = 1%>
<%~else%>
<%~set count += 1%><%set odd = $count % 10%>
<%~if not $odd%><%set serve_ad = 1%><%set count = 0%><%endif%>
<%~endif%>
<%include include_post_display.html%>
<%~if forum_id eq '4' %>
<%~else %>
<%~if $serve_ad%><%set height_choice = $ad_count % 2%>
<%~if not height_choice%><%set ad_height = 250%><%else%><%set ad_height = 600 %><%endif%>
<%~set ad_count += 1%>
<%include include_ad_mobile.html%>
<%~set serve_ad = 0%><%set count = 0%>
<%~endif%>
<%~if not $odd%>
<script type="text/javascript">
if (winWidth > 1024) { document.write('<div class="adbox"> <div class="adhori">'); }
</script>
<%~set adsize = '728x90'%> <%include include_ad.html%>
<script type="text/javascript">
if (winWidth > 1024) { document.write('</div> </div> <br />'); }
</script>
<%~endif%>
<%~endif%>
<%endloop%>
<%include include_post_toolbar.html%>
<%-- ad for tablet --%>
<%~if num_posts > 3%>
<%include include_ad_tablet.html%>
<%~endif%>
</div><%-- end content --%>
</div><%-- end contentwrapper --%>
</div><%-- end main --%>
<%include include_footer.html%>
</div>
</body>
<%if spellcheck%><%spellcheck_head%><%endif%>
<%include include_global_js.html%>
<script type="text/javascript">
$(document).ready(function () {
GForum.init_post_only();
GForum.init_hidden_posts();
<%~if is_moderator and post_reports_open.length%>
GForum.openPostReport();
<%~endif%>
<%~if this_do eq post_view_printable%>window.print();<%endif%>
});
</script>
</html>

View File

@ -0,0 +1,40 @@
<!DOCTYPE html >
<head>
<title><:: Slowtwitch Forums ::></title>
<%include include_common_head.html%>
</head>
<%~set content_header_title = 'Redirect'%>
<%~set content_header_subtitle = 'You are being redirected'%>
<body class="page-<%page_id%>">
<%~if ad_wallpaper%>
<%ad_wallpaper%>
<%~endif%>
<div class="container">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Forum'%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<p>
You are leaving Slowtwitch to the selected URL, <a href="<%url%>" rel="nofollow"><%url%></a>.
</p>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%include include_global_js.html%>
</html>

View File

@ -0,0 +1,158 @@
<!DOCTYPE html >
<html lang="en">
<head>
<title><%cat_full_name%>: Sign Up</title>
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Sign Up'%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%>
<%~set breadcrumbs.0.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<p> You can sign up to the forum by entering your information here.</p>
<%GForum::Config::tpl_get(require_signup_email_validation)%>
<%if require_signup_email_validation%>
<p>If you have already filled out the signup form but still have not received a validation e-mail, <a href="gforum.cgi?do=resend_validation;<%hidden_query%>">click here</a> to have the validation e-mail re-sent.</p>
<%endif%>
<form action="<%GForum::SEO::url()%>" method="post">
<input type="hidden" name="do" value="user_signup_submit_training" />
<%hidden_form%>
<div class="dtable form">
<div class="drow">
<div class="dcell name">Username <span>*</span></div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" id="user_username" name="user_username" value="<%user_username%>" class="txt shotext" />
</div>
</div>
<div class="drow">
<div class="dcell name">Password <span>*</span></div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="password" id="user_password" name="user_password" value="<%user_password%>" class="txt shotext" />
<div class="pass-strength">Password Strength: <span id="pass-strength">None</span></div>
</div>
</div>
<div class="drow">
<div class="dcell name">Confirm Password <span>*</span></div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="password" id="user_password2" name="user_password" value="<%user_password%>" class="txt shotext" />
</div>
</div>
<div class="drow" title="This address must be valid as it is used for notification and validation">
<div class="dcell name">E-mail Address <span>*</span></div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" id="user_email" name="user_email" value="<%user_email || ''%>" class="txt midtext" />
<div class="note">Used for admin purposes only. We will never make this public.</div>
</div>
</div>
<div class="drow">
<div class="dcell name">Country <span>*</span></div>
<div class="dcell divider"></div>
<div class="dcell value">
<%~set countries = Plugins::GForum::ForumTrainingRegister::country_codes%>
<select name="user_country" id="user_country">
<%~loop countries%>
<option value="<%countrycode%>"<%if $in.user_country eq $countrycode%> selected<%elsif countrycode eq 'US'%>selected<%endif%>><%countryname%></option>
<%~endloop%>
</select>
</div>
</div>
<div class="drow">
<div class="dcell name">Sex <span>*</span></div>
<div class="dcell divider"></div>
<div class="dcell value">
<select name="user_sex">
<option value="1"<%if user_sex%> selected="selected"<%endif%>>Male</option>
<option value="0"<%if not user_sec%> selected="selected"<%endif%>>Female</option>
</select>
</div>
</div>
<div class="drow">
<div class="dcell name">Units of Measure <span>*</span></div>
<div class="dcell divider"></div>
<div class="dcell value">
<select name="user_units">
<option value="1"<%if user_units%> selected="selected"<%endif%>>Imperial</option>
<option value="0"<%if not user_units%> selected="selected"<%endif%>>Metric</option>
</select>
</div>
</div>
<div class="drow">
<div class="dcell name">
As a mischief-control tactic, name a <b>specific RACE</b> (be specific!) associated with the sport THIS site covers that interests you<span>*</span>
</div>
<div class="dcell divider"></div>
<div class="dcell value">
<textarea name="user_answer_1" rows="5" class="txt lngtext"><%user_answer_1 || ''%></textarea>
</div>
</div>
<%~if 0%>
<div class="drow">
<div class="dcell name">Would you like to receive our weekly newsletter?</div>
<div class="dcell divider"></div>
<div class="dcell value">
<select name="user_subscribe">
<option value="1"<%if user_subscribe%> selected="selected"<%endif%>>Yes</option>
<option value="0"<%if not user_subscribe%> selected="selected"<%endif%>>No</option>
</select>
</div>
</div>
<%endif%>
<%~set captcha_active = Plugins::GForum::GoogleCaptcha::is_captcha_enabled()%>
<%~if captcha_active%>
<div class="drow">
<div class="dcell name">Prove you're not a robot</div>
<div class="dcell divider"></div>
<div class="dcell value">
<%Plugins::GForum::GoogleCaptcha::get_rcaptcha_image()%>
</div>
</div>
<%endif%>
<div class="drow actions">
<div class="dcell name"></div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="submit" value="Sign Up" class="btn default" />
<p class="note"><b>Note:</b> Fields marked with <span class="req-star">*</span> are required for validation</p>
</div>
</div>
</div>
</form>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
<script type="text/javascript">
$(document).ready(function () {
$('#user_username').focus();
GForum.init_password_strength('#user_password', '#pass-strength');
});
</script>
</html>

136
site/forum/login.html Normal file
View File

@ -0,0 +1,136 @@
<!DOCTYPE html >
<%~get_cgi_value('from_url')%>
<%~get_cgi_value('from')%>
<% if $cgi_from_url%>
<%~set url_str = $cgi_from_url%>
<% elsif $url and not $cgi_from%>
<%~set url_str = $url%>
<% else %>
<%if $cgi_from eq 'racecalendar'%>
<% set url_str = "http://calendar.slowtwitch.com/" %>
<%elsif $cgi_from eq 'retailers'%>
<% set url_str = "http://www.slowtwitch.com/retailers" %>
<%elsif $cgi_from eq 'triclubs'%>
<% set url_str = "http://www.slowtwitch.com/triclubs" %>
<%elsif $cgi_from eq 'runshops'%>
<% set url_str = "http://www.slowtwitch.com/runshops" %>
<%elsif $cgi_from eq 'coaches'%>
<% set url_str = "http://www.slowtwitch.com/coaches" %>
<%elsif $cgi_from eq 'fitters'%>
<% set url_str = "http://www.slowtwitch.com/fitters" %>
<%elsif $cgi_from eq 'survey'%>
<% set url_str = "http://forum.slowtwitch.com/survey/?from=gforum" %>
<%elsif $cgi_from eq 'training'%>
<% set url_str = "http://training.slowtwitch.com/?from=gforum" %>
<%elsif $cgi_from eq 'protri'%>
<% set url_str = "http://www.slowtwitch.com/protri/?from=gforum" %>
<%elsif $cgi_from eq 'stackreach'%>
<% set url_str = "http://www.slowtwitch.com/stackreach/index.php?from=gforum" %>
<%elsif $from and $from ne '' and not $from contains 'do=logout' %>
<% set url_str = $$from %>
<%else%>
<%set self_url = get_self_url() %>
<%if self_url and not self_url contains 'do=login' and not self_url contains 'do=logout'%>
<% set url_str = $self_url %>
<%else%>
<%set url_str = GForum::SEO::url(forum => 1) %>
<%endif%>
<%endif%>
<%endif%>
<html lang="en">
<head>
<title><%cat_full_name%>: Login</title>
<%~if current_user_id%>
<meta http-equiv="refresh" content="0;url=<%url_str%>" />
<%~endif%>
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Login'%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%>
<%~set breadcrumbs.0.name = 'Login'%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<form action="<%GForum::SEO::url()%>" method="post">
<%hidden_form%>
<input type="hidden" name="url" value="<%url_str%>">
<input type="hidden" name="from_url" value="<% url_str %>">
<div class="clearfix">
<div class="col-7">
<div class="dtable form">
<div class="drow">
<div class="dcell name">Username</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" id="login_username" name="login_username"<%if user_username%> value="<%user_username%>"<%endif%> class="txt" />
</div>
</div>
<div class="drow">
<div class="dcell name">Password</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="password" id="login_password" name="login_password" class="txt" />
</div>
</div>
<div class="drow remember-me">
<div class="dcell name">Remember me</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="checkbox" id="remember_me" name="remember_me" value="1" class="checkbox" title="Remembers your login when you return. Requires cookies." onclick="document.getElementById('dont_use_cookies').checked = false"<%if in.remember_me%> checked="checked"<%endif%> />
<label>requires cookies: mandatory for training log, calendar &amp; retailer database</label>
</div>
</div>
<div class="drow">
<div class="dcell name">Don't use cookies</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="checkbox" id="dont_use_cookies" name="dont_use_cookies" value="1" class="checkbox" onclick="document.getElementById('remember_me').checked = false"<%if in.dont_use_cookies and not in.remember_me%> checked="checked"<%endif%> />
</div>
</div>
<div class="drow actions">
<div class="dcell name"></div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="submit" value="Log In" class="btn default" />
<span class="lostpasswd"><a id="lostpass_link" href="<%GForum::SEO::url(params => "?do=lost_password")%>">forgot password?</a></span>
</div>
</div>
</div>
</div>
<div class="col-5">
<div class="botbox"></div>
<div class="no-account clearfix">
<div class="col-4">
<span class="sprite-logo"></span>
</div>
<div class="col-8">
<h3>Not registered yet?</h3>
<p>We can remedy that right now!</p>
<a id="signup_link" href="<%GForum::SEO::url(params => "do=user_signup")%>" class="btn default">Sign Up</a>
</div>
</div>
</div>
</div>
</form>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,75 @@
<!DOCTYPE html >
<html lang="en">
<head>
<title><%cat_full_name%>: Lost Password</title>
<%include include_common_head.html%>
</head>
<%~set content_header_title = 'Lost Password'%>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Lost Password'%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%>
<%~set breadcrumbs.0.name = 'Lost Password'%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<%if form.page_errors%><p class="error">Enter your Username</p><%endif%>
<p>
If you have lost your password, <%cat_full_name%> can generate a new temporary
password for you to log in with. Note that after logging in the temporary
password will be lost so you should change your password immediately upon
logging in with the temporary password. The temporary password will be sent
to you at the e-mail address you specified when signing up.
</p>
<form action="<%GForum::SEO::url()%>" method="post">
<%hidden_form%>
<input type="hidden" name="do" value="lost_password" />
<input type="hidden" name="page_errors" value="1" />
<div class="dtable form">
<div class="drow">
<div class="dcell name">Your Username <span>*</span></div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" id="user_username" name="user_username" class="txt shotext" />
</div>
</div>
<div class="drow actions">
<div class="dcell name"></div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="submit" value="Send Password" class="btn default" />
<p class="note">* The temporary password will be sent to the e-mail address you entered while registering.</p>
</div>
</div>
</div>
</form>
</div>
</div><%-- end content --%>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
<script type="text/javascript">
$(document).ready(function () {
$('#user_username').focus();
});
</script>
</html>

View File

@ -0,0 +1,42 @@
<html lang="en">
<head>
<title><%cat_full_name%>: Lost Password Sent</title>
<%include include_common_head.html%>
</head>
<%~set content_header_title = 'Temporary Password Sent'%>
<body class="page-<%page_id%> confirmation-page">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Lost Password'%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%>
<%~set breadcrumbs.0.name = 'Lost Password'%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<p>
A temporary password has been e-mailed to you. Once you receive it, you can log in
using it from <a href="<%GForum::SEO::url(params => "do=login")%>">the login page</a>.
</p>
<p>
Remember that this password is good for one login only; after logging
in you should change your password from the profile page.
</p>
</div><%-- end content --%>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,95 @@
<%~GForum::Markup::list_tags%><%--loads 'markup_loop' variable--%>
<%~set sample_text = 'Sample Text'%>
<div class="dtable">
<%~loop markup_loop%>
<div class="drow">
<%~unless has_args%><%-- Unfortunately, dynamically displaying markup that takes arguments cannot be easily done --%>
<div class="dcell markup">
<%~if has_closing%>
[<%tag%>]<%if tag eq ul or tag eq ol%>[li]<%endif%><%sample_text%><%if tag eq ul or tag eq ol%>[/li]<%endif%>[/<%tag%>]
<%~else%>
[<%tag%>]
<%~endif%>
</div>
<div class="dcell">
<%~if has_closing%>
<%html%><%if tag eq ul or tag eq ol%><li><%endif%><%sample_text%><%if tag eq ul or tag eq ol%></li><%endif%><%closing%>
<%~else%>
<%html%>
<%~endif%>
</div>
<%~endunless%>
</div>
<%~endloop%>
<%~if config.markup_allow_custom_color%>
<div class="drow">
<div class="dcell markup">
[#008000]<%sample_text%>[/#],
[#789abc]<%sample_text%>[/#],
[#707070]<%sample_text%>[/#], etc.
</div>
<div class="dcell">
<font color="#008000"><%sample_text%></font>,
<font color="#789abc"><%sample_text%></font>,
<font color="#707070"><%sample_text%></font>, etc.
</div>
</div>
<%~endif%>
<%~if config.markup_allow_font%>
<div class="drow">
<div class="dcell markup">
[font "Times New Roman"]<%sample_text%>[/font]
</div>
<div class="dcell">
<font face="Times New Roman"><%sample_text%></font>
</div>
</div>
<%~endif%>
<%~if config.markup_allow_size%>
<div class="drow">
<div class="dcell markup">
[size 6]<%sample_text%>[/size]
</div>
<div class="dcell">
<font size="6"><%sample_text%></font>
</div>
</div>
<%~endif%>
<%~if config.markup_allow_image%>
<div class="drow">
<div class="dcell markup">
[image]/images/powered.gif[/image]
</div>
<div class="dcell markup">
<img src="/images/powered.gif" />
</div>
</div>
<%~endif%>
<div class="drow">
<div class="dcell markup">
[inline attachment_filename.gif]
</div>
<div class="dcell">
<img src="/images/powered.gif" />
</div>
</div>
<%~if config.markup_allow_url%>
<div class="drow">
<div class="dcell markup">
<ol>
<li>[url]http://www.gossamer-threads.com[/url]</li>
<li>[url "http://www.gossamer-threads.com"]Gossamer Threads[/url]</li>
<li>[email]gforum@gossamer-threads.com[/email]</li>
</ol>
</div>
<div class="dcell">
<ol>
<li><a href="http://www.gossamer-threads.com">http://www.gossamer-threads.com</a></li>
<li><a href="http://www.gossamer-threads.com">Gossamer Threads</a></li>
<li><a href="mailto:gforum@gossamer-threads.com">gforum@gossamer-threads.com</a></li>
</ol>
</div>
</div>
<%~endif%>
</div>

93
site/forum/message.html Normal file
View File

@ -0,0 +1,93 @@
<!DOCTYPE html >
<html lang="en">
<head>
<title><%cat_full_name%>: Send message</title>
<%include include_common_head.html%>
</head>
<%~if bad_username%>
<%~if user_username%>
<%~set error = "No such user: $user_username"%>
<%~else%>
<%~set error = "No recipient entered!"%>
<%~endif%>
<%~elsif user_no_privmsg%>
<%~set error = "$user_username has chosen not to accept private messages"%>
<%~endif%>
<%~set content_header_title = 'Send Private Message'%>
<%~set url = GForum::SEO::url(params => "do=message_list")%>
<%~set content_header_breadcrumb = "<a href=\"$url\">Messages</a>"%>
<%~if this_do eq message_reply_write%>
<%~set content_header_subtitle = "Send a Reply to $user_username"%>
<%~endif%>
<body class="page-<%page_id%>">
<iframe id="spellcheck_frame" src="<%GForum::SEO::url(params => "do=spellcheck_inline_msg;just_load=1")%>" class="hide"></iframe>
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'New Message'%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = 'Private Messages'%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "do=message_list")%>
<%~set breadcrumbs.1.name = 'New Message'%>
<%~set url_param_mh = ""%>
<%~if in.mh%><%set url_param_mh = ";mh=$mh"%><%endif%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<%~if this_do eq message_reply_write and not user_accept_privmsg%>
<p class="warning">
<%user_username%> has chosen not to accept private messages.
</p>
<%~else%>
<%preview || ''%>
<form id="<%set compose_form_id = 'message_write_form'%><%compose_form_id%>" name="message" action="<%GForum::SEO::url()%>" method="post" enctype="multipart/form-data">
<%hidden_form%>
<%~if this_do eq message_reply_write%>
<input type="hidden" name="user" value="<%user_id%>" />
<input type="hidden" name="reply_to" value="<%parent_msg_id%>" />
<%~endif%>
<%include include_message_write.html%>
<div class="btn-wrapper post-actions">
<%~if this_do eq message_reply_write%>
<input type="submit" id="button_post" name="do=message_send" value="Send Reply" class="btn default" tabindex="15" />
<%~else%>
<input type="submit" id="button_post" name="do=message_send" value="Send Message" class="btn default" tabindex="15" />
<%~endif%>
</div>
</form>
<div class="clearall"></div>
<%~if this_do eq message_reply_write%>
<%~parent%>
<%~set preview = 0%><%set reply_view = 1%>
<%include include_message_display.html%>
<%~endif%>
<%~endif%>
</div><%-- end content --%>
</div>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,60 @@
<!DOCTYPE html >
<html lang="en">
<head>
<title><%cat_full_name%>: Messages: Delete All</title>
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%> confirmation-page">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = "Delete All Messages"%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = 'Private Messages'%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "do=message_list")%>
<%~set breadcrumbs.1.name = 'Delete All Messages'%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<form action="<%GForum::SEO::url()%>" method="post">
<%hidden_form%>
<input type="hidden" name="do" value="message_delete_all" />
<input type="hidden" name="<%if in.skip_recd%>skip_recd<%else%>skip_sent<%endif%>" value="1" />
<div class="description">
<p>
You have chosen to delete all your <%if in.skip_recd%>sent<%else%>received<%endif%>
private messages. Note that messages which you have selected to keep
<%unless in.skip_recd%>and any unread messages <%endunless%>will not be deleted.
</p>
<p class="confirm">
Are you sure you wish to permanently delete
<%if in.skip_recd%><%sent_messages_to_delete%> sent message<%if sent_messages_to_delete != 1%>s<%endif%>?
<%~else%><%messages_to_delete%> received message<%if messages_to_delete != 1%>s<%endif%>?
<%~endif%>
</p>
</div>
<input type="submit" value="Delete messages" class="submit" />
</form>
</div><%-- end content --%>
</div>
</div>
</div>
<%include include_footer.html%>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,188 @@
<!DOCTYPE html >
<%~if in.mode and in.mode eq sent%><%set sent_mode = 1%><%endif%>
<html lang="en">
<head>
<title><%cat_full_name%>: <%if search%> Search <%endif%>Messages</title>
<%include include_common_head.html%>
</head>
<%~set content_header_title = 'Private Messages'%>
<%~if sent_mode and not $search%>
<%~GForum::Message::sent_messages%>
<%~endif%>
<%~set hidden_sort = ''%><%set hidden_page = ''%>
<%~if in.sb%><%set hidden_sort .= ";sb=$sb"%><%endif%>
<%~if in.so%><%set hidden_sort .= ";so=$so"%><%endif%>
<%~if in.sent_sb%><%set hidden_sort .= ";sent_sb=$sent_sb"%><%endif%>
<%~if in.sent_so%><%set hidden_sort .= ";sent_so=$sent_so"%><%endif%>
<%~if sent_mode%><%set hidden_page .= ";mode=sent"%><%endif%>
<%~if in.mh%><%set hidden_page .= ";mh=$mh"%><%endif%>
<%~if sent_mode%>
<%~set sb = $sent_sb%>
<%~set so = $sent_so%>
<%~endif%>
<body class="page-<%page_id%> message-list-page<%if sent_mode%> sent-message-list-page<%endif%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = "Private Messages"%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%>
<%~set breadcrumbs.0.name = $content_header_title%>
<%~if sent_mode%>
<%~set content_header_title .= ': Sent'%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "do=message_list")%>
<%~init hash breadcrumbs.1%>
<%~set breadcrumbs.1.name = 'Private Messages: Sent'%>
<%~else%>
<%~set content_header_title .= ': Inbox'%>
<%~endif%>
<%~set url_param_mh = ""%>
<%~if in.mh%><%set url_param_mh = ";mh=$mh"%><%endif%>
<%~if sent_num_deleted or $num_deleted%><%set success = "Selected messages were deleted"%><%endif%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<p>
<%if sent_mode%>
You have <span class="number"><%sent_num_messages || 0%></span> sent message<%if sent_num_messages != 1%>s<%endunless%>.
<%else%>
You have <span class="number"><%num_messages%></span> message<%if num_messages != 1%>s<%endif%> &mdash;
<span class="new"><span class="number"><%num_new%></span> new</span>,
<span class="read"><span class="number"><%num_read + $num_replied%></span> read</span>,
<span class="replied"><span class="number"><%num_replied%></span> replied</span>.
<%endif%>
</p>
<form action="<%GForum::SEO::url()%>" method="post">
<%hidden_form%>
<%~if in.mh%>
<input type="hidden" name="mh" value="<%mh%>" />
<%~endif%>
<%~if sent_mode%>
<input type="hidden" name="mode" value="sent" />
<%~if in.sent_so%>
<input type="hidden" name="sent_so" value="<%sent_so%>" />
<%~endif%>
<%~if in.sent_sb%>
<input type="hidden" name="sent_sb" value="<%sent_sb%>" />
<%~endif%>
<%~else%>
<%~if in.so%>
<input type="hidden" name="so" value="<%so%>" />
<%~endif%>
<%~if in.sb%>
<input type="hidden" name="sb" value="<%sb%>" />
<%~endif%>
<%~endif%>
<%~set url_param_sent_mode = ""%>
<%~if sent_mode%><%set url_param_sent_mode = "sent_"%><%endif%>
<div class="row">
<label class="name">Search Message</label>
<div class="value">
<select class="button" name="search">
<option value="body"<%if search eq 'body'%> selected<%endif%>>Body</option>
<option value="username"<%if search eq 'username'%> selected<%endif%>>Sender</option>
<option value="subject"<%if search eq 'subject'%> selected<%endif%>>Subject</option>
</select>
for
<input type="text" name="search_value" value="<%search_value || ''%>" class="txt textmid" />
<input type="submit" value="Search" name="do=message_list;action=search" class="btn"/>
<%if search%><input class="submit" type="submit" value="Clear Search" name="do=message_list;"/><%endif%>
</div>
</div>
<div class="dtable">
<div class="dhead">
<div class="drow">
<div class="dcell icon">&nbsp;</div>
<div class="dcell status">
<%~unless sent_mode%>
<%~if sb eq msg_status and so ieq asc%><%set url_param_so = "desc"%><%else%><%set url_param_so = "asc"%><%endif%>
<a href="<%GForum::SEO::url(params => "do=$this_do;sb=msg_status;so=$url_param_so$hidden_page")%>" title="Sort by New/Read/Replied"><%~%>
Status
<%~if sb eq msg_status%> <span class="<%if so ieq asc%>ascending<%else%>descending<%endif%>"></span><%endif~%>
</a>
<%endunless~%>
</div>
<div class="dcell subject">
<%~if sb eq msg_subject and so ieq asc%><%set url_param_so = "desc"%><%else%><%set url_param_so = "asc"%><%endif%>
<a href="<%GForum::SEO::url(params => "do=$this_do;${url_param_sent_mode}sb=msg_subject;${url_param_sent_mode}so=$url_param_so$hidden_page")%>" title="Sort by Subject"><%~%>
Subject
<%~if sb eq msg_subject%> <span class="<%if so ieq asc%>ascending<%else%>descending<%endif%>"></span><%endif~%>
</a>
</div>
<div class="dcell author">
<%~if sb eq msg_username and so ieq asc%><%set url_param_so = "desc"%><%else%><%set url_param_so = "asc"%><%endif%>
<a href="<%GForum::SEO::url(params => "do=$this_do;${url_param_sent_mode}sb=msg_username;${url_param_sent_mode}so=$url_param_so$hidden_page")%>" title="Sort by Author"><%~%>
<%if sent_mode%>To<%else%>From<%endif%>
<%~if sb eq msg_username%> <span class="<%if so ieq asc%>ascending<%else%>descending<%endif%>"></span><%endif~%>
</a>
</div>
<div class="dcell date">
<%~if sb eq msg_time and so ieq desc%><%set url_param_so = "asc"%><%else%><%set url_param_so = "desc"%><%endif%>
<a href="<%GForum::SEO::url(params => "do=$this_do;${url_param_sent_mode}sb=msg_time;${url_param_sent_mode}so=$url_param_so$hidden_page")%>" title="Sort by date sent"><%~%>
Sent
<%~if sb eq msg_time%> <span class="<%if so ieq asc%>ascending<%else%>descending<%endif%>"></span><%endif~%>
</a>
</div>
</div>
</div><%-- end dhead --%>
<%~if sent_mode%>
<%include include_message_list_sent.html%>
<%~else%>
<%include include_message_list.html%>
<%~endif%>
</div> <%-- end dtable --%>
<%~set pagination_options.params = "do=$this_do$hidden_sort$hidden_page"%>
<%if sent_mode%>
<%~set pagination_options.page_items = $sent_num_messages%>
<%~set pagination_options.param_page = 'sent_page'%>
<%else%>
<%~set pagination_options.page_items = $num_messages%>
<%endif%>
<%~if $pagination_options.page_items%>
<div class="toolbar clearfix">
<hr class="line" />
<%include include_paging.html%>
<div class="btn-wrapper clearfix">
<input type="submit" name="do=message_delete" value="Delete Messages" class="btn default" title="Delete the selected messages" />
</div>
</div>
<%~endif%>
</form>
</div><%-- end content --%>
</div><%-- end contentwrapper --%>
</div><%-- end main --%>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
<script type="text/javascript">
$(document).ready(function () {
GForum.init_check_all('<%if sent_mode%>sent_<%endif%>delete', '#delete_checkall');
});
</script>
</html>

View File

@ -0,0 +1,4 @@
<%~--
This page is displayed when you reply to a private message.
--%>
<%include message.html%>

View File

@ -0,0 +1,51 @@
<!DOCTYPE html >
<html lang="en">
<head>
<title><%cat_full_name%>: Message sent!</title>
<meta http-equiv="refresh" content="5;url=<%GForum::SEO::url(params => "do=message_list", param_type => "query")%>" />
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = "Message to $to_user_username Sent!"%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = 'Private Messages'%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "do=message_list")%>
<%~set breadcrumbs.1.name = 'New Message Sent'%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<%~if attachment_errors%>
<p class="error">
<%attachment_errors%>
</p>
<%~endif%>
<p>
Your message to <%to_user_username%> has been sent. You will be automatically returned to your message list shortly.
</p>
<p>
<b><a href="<%GForum::SEO::url(params => "do=message_list")%>">Return to your message list</a></b>
</p>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,2 @@
<%set sent_message = 1%>
<%~include message_view.html~%>

View File

@ -0,0 +1,67 @@
<!DOCTYPE html >
<html lang="en">
<head>
<title><%cat_full_name%>: <%if sent_message%>Sent <%endif%>Message: <%msg_subject%></title>
<%include include_common_head.html%>
<script type="text/javascript">
//<![CDATA[
function winopen(url, target) {
var win;
try {
win = window.open(url, target, 'resizable=yes,menubar=yes,scrollbars=yes,width=700,height=500');
win.focus();
}
catch (e) {
return true;
}
return win ? false : true;
}
//]]>
</script>
</head>
<%~if sent_message%>
<%~set content_header_title .= "Sent Message: $msg_subject"%>
<%~set url = GForum::SEO::url(params => "do=message_list;mode=sent")%>
<%~set content_header_breadcrumb = "<a href=\"$url\">Sent Messages</a>"%>
<%~else%>
<%~set content_header_title .= "Message: $msg_subject"%>
<%~set url = GForum::SEO::url(params => "do=message_list")%>
<%~set content_header_breadcrumb = "<a href=\"$url\">Messages</a>"%>
<%~endif%>
<body class="page-<%page_id%> message-page">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = $msg_subject%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = 'Private Messages'%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "do=message_list")%>
<%~set breadcrumbs.1.name = $msg_subject%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<form id="message_action_form" action="<%GForum::SEO::url()%>" method="post">
<%hidden_form%>
<input type="hidden" name="message" value="<%msg_id%>" />
<%include include_message_display.html%>
</form>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,47 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title><%cat_full_name%>: Permission Denied</title>
<%include include_common_head.html%>
</head>
<%~set content_header_title = 'Permission Denied'%>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<%~set content_header_title = $user_username%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%>
<%~set breadcrumbs.0.name = "Permission Denied!"%>
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<p class="error">Oops! You are not authorized to view that page<%if permission_denied_reason%>:<%else%>.<%endif%></p>
<%~if permission_denied_reason%>
<p id="denied_reason">
<%permission_denied_reason%>
</p>
<%~endif%>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,109 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title><%cat_full_name%>: Add a Personal Race</title>
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Add A Personal Race'%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = 'User Profile'%>
<%~set escaped_username = escape_url unescape_html $current_user_username%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "username=$escaped_username")%>
<%~set breadcrumbs.1.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<form action="<%GForum::SEO::url()%>" method="post">
<input type="hidden" name="do" value="personal_race_add" />
<input type="hidden" name="username" value="<%current_user_username%>" />
<%hidden_form%>
<div class="dtable form">
<div class="drow">
<div class="dcell name">Name</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" name="pr_name" value="<%if pr_name%><%pr_name%><%endif%>" class="txt midtext" />
</div>
</div>
<div class="drow">
<div class="dcell name">URL</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" name="pr_url" value="<%if pr_url%><%pr_url%><%endif%>" class="txt midtext" placeholder="http://" />
</div>
</div>
<div class="drow">
<div class="dcell name">City</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" name="pr_city" value="<%if pr_city%><%pr_city%><%endif%>" class="txt shotext" />
</div>
</div>
<div class="drow">
<div class="dcell name">State</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" name="pr_state" value="<%if pr_state%><%pr_state%><%endif%>" class="txt shotext" />
</div>
</div>
<div class="drow">
<div class="dcell name">Country</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" name="pr_country" value="<%if pr_country%><%pr_country%><%endif%>" class="txt shotext" />
</div>
</div>
<div class="drow">
<div class="dcell name">Date</div>
<div class="dcell divider"></div>
<div class="dcell value">
<div id="inlinePicker"></div>
<input type="hidden" name="pr_date" id="pr_date" />
</div>
</div>
<div class="drow actions">
<div class="dcell name"></div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="submit" name="add" value="Submit Race" class="btn default">
</div>
</div>
</div>
</form>
</div><%-- end content --%>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
<script type="text/javascript">
$(document).ready(function() {
$('#inlinePicker').datepicker({
dateFormat: 'yy-mm-dd',
onSelect: selectDate
});
});
function selectDate(date) {
$('#pr_date').val(date);
}
</script>
</html>

View File

@ -0,0 +1,117 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title><%cat_full_name%>: Edit a Personal Race</title>
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Edit A Personal Race'%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = 'User Profile'%>
<%~set breadcrumbs.0.url = GForum::SEO::url(type => "profile", id => $current_user_username)%>
<%~set breadcrumbs.1.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<form action="<%GForum::SEO::url()%>" method="post">
<input type="hidden" name="do" value="personal_race_edit" />
<input type="hidden" name="pr_id" value="<%pr_id%>" />
<input type="hidden" name="username" value="<%current_user_username%>" />
<%hidden_form%>
<div class="dtable form">
<div class="drow">
<div class="dcell name">Name</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" name="pr_name" value="<%if pr_name%><%pr_name%><%endif%>" class="txt midtext" />
</div>
</div>
<div class="drow">
<div class="dcell name">URL</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" name="pr_url" value="<%if pr_url%><%pr_url%><%endif%>" class="txt midtext" placeholder="http://" />
</div>
</div>
<div class="drow">
<div class="dcell name">City</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" name="pr_city" value="<%if pr_city%><%pr_city%><%endif%>" class="txt shotext" />
</div>
</div>
<div class="drow">
<div class="dcell name">State</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" name="pr_state" value="<%if pr_state%><%pr_state%><%endif%>" class="txt shotext" />
</div>
</div>
<div class="drow">
<div class="dcell name">Country</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" name="pr_country" value="<%if pr_country%><%pr_country%><%endif%>" class="txt shotext" />
</div>
</div>
<div class="drow">
<div class="dcell name">Date</div>
<div class="dcell divider"></div>
<div class="dcell value">
<div id="inlinePicker"></div>
<input type="hidden" name="pr_date" id="pr_date" />
</div>
</div>
<div class="drow">
<div class="dcell name"></div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="checkbox" id="delete" name="delete" /><label for="delete">Delete this race</label>
</div>
</div>
<div class="drow actions">
<div class="dcell name"></div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="submit" name="add" value="Submit Race" class="btn default">
</div>
</div>
</div>
</form>
</div><%-- end content --%>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
<script type="text/javascript">
$(document).ready(function() {
$('#inlinePicker').datepicker({
dateFormat: 'yy-mm-dd',
onSelect: selectDate,
defaultDate: new Date(<%year%>, <%month%>, <%day%>)
});
});
function selectDate(date) {
$('#pr_date').val(date);
}
</script>
</html>

1
site/forum/poll.html Normal file
View File

@ -0,0 +1 @@
<%include include_poll_widget.html%>

View File

@ -0,0 +1,13 @@
<%~if error%>
<p class="error">
<%~if error eq 'POLL_VOTE_EMPTY'%><b>Error recording vote.</b>
<%~elsif error eq 'POLL_DOES_NOT_EXIST'%><b>No such poll/quiz exists.</b>
<%~elsif error eq 'POLL_DISABLED'%><b>Sorry, it is enabled.</b>
<%~elsif error eq 'POLL_ALREADY_VOTED'%><b>Sorry, you have already voted once.</b>
<%~endif%>
</p>
<p>Click <a href="<%if in.call_from eq 'glinks'%>/cgi-bin/articles/poll.cgi?poll_view=vote_view<%else%><%GForum::SEO::url(params => "forum=$forum_id&poll_view=vote_view")%><%endif%>">here</a> to go back to the poll</p>
<%~else%>
<b>Your vote has been recorded!</b>
<p>Click <a href="<%if in.call_from eq 'glinks'%>/cgi-bin/articles/poll.cgi?poll_view=results_view<%else%><%GForum::SEO::url(params => "forum=$forum_id&poll_view=results_view")%><%endif%>">here</a> to see the poll results</p>
<%~endif%>

View File

@ -0,0 +1,62 @@
<!DOCTYPE html >
<%~set search_widget = 1%>
<html lang="en">
<head>
<title><%cat_full_name%>: Message already posted</title>
<meta http-equiv="refresh" content="5;url=<%GForum::SEO::url(type => "forum", id => $forum_id, param_type => "query")%>" />
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Message already posted'%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = $forum_name%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "forum=$forum_id")%>
<%~set breadcrumbs.1.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<p>
You attempted to post a message more than once. Your post has already
been posted in <%cat_full_name%>: <%forum_name%>. You will be
automatically redirected to the forum shortly.
</p>
<p>
<%~set url_anchor = ""%>
<%~if not current.user_id or current.user_default_post_display%><%set url_anchor = "p$post_id"%><%endif%>
<a href="<%GForum::SEO::url(type => "post", id => $post_id, anchor => $url_anchor)%>">Click here to view the post</a>
or choose the forum you wish to visit:
</p>
<div id="toolbar2" class="toolbar clear">
<form action="<%GForum::SEO::url()%>">
<%hidden_form%>
<select name="jump">
<%GForum::Forum::jump_list($forum_id)%>
</select>
<input type="submit" value="Jump to forum" class="btn" />
</form>
</div>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,43 @@
<!DOCTYPE html >
<%~set search_widget = 1%>
<html lang="en">
<head>
<title><%cat_full_name%>: Post Deleted!</title>
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Post Deleted'%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = $forum_name%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "forum=$forum_id")%>
<%~set breadcrumbs.1.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<p>
Your message<%if num_replies%>, and <%num_replies%> repl<%if num_replies == 1%>y<%else%>ies<%endif%>, have<%else%> has<%endif%>
been deleted. <a href="<%GForum::SEO::url(type => "forum", id => $forum_id)%>"><b>Return to the forum</b></a>
</p>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,78 @@
<%~--
This page is displayed when you click delete - it serves as a delete
confirmation page.
--%>
<%include include_common_head.html%>
<%~GForum::Post::View::get($in.post)%>
<%~set post_dne = 0%>
<%~if not post_id%><%set post_dne = 1%>
<%~elsif post_moved and this_do ne post_delete_moved_confirm%><%set post_dne = 1%>
<%~endif%>
<%~if post_dne%><%set error = GForum::language('POST_DOES_NOT_EXIST')%><%include error.html%><%endparse%><%endunless~%>
<%~set search_widget = 1%>
<!DOCTYPE html >
<html lang="en">
<head>
<title><%cat_full_name%>: Confirm delete</title>
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Confirm deletion'%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = $forum_name%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "forum=$forum_id")%>
<%~set breadcrumbs.1.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<p>You have chosen to delete the following post:</p>
<%~if post_moved%>
<p>Note that since this is a moved post, you are only deleting the move record, not the original post.</p>
<%~endif%>
<%~set hide_post_menu = 1%>
<%~set tags=GForum::Tags::get_tags_from_post($post_id)%>
<%include include_post_display.html%>
<hr class="line" />
<div class="btn-wrapper alone">
<form action="<%GForum::SEO::url()%>" method="post">
<%hidden_form%>
<%~if post_moved%>
<input type="submit" name="do=post_remove;post=<%post_id%>" value="Delete moved post" class="btn default" />
<%~else%>
<%~if user_forum_permission >= 6%>
<input type="submit" name="do=post_remove_one;post=<%post_id%>" value="Remove Post" class="btn default" />
<%~if post_replies%>
<input type="submit" name="do=post_remove;post=<%post_id%>" value="Remove Post and all <%post_replies%> replies" class="btn default" />
<%~endif%>
<%~endif%>
<input type="submit" name="do=post_delete;post=<%post_id%>" value="Mark Post Deleted" class="btn default" />
<%~endif%>
</form>
</div>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,83 @@
<%~GForum::Post::View::get($in.post_id)%>
<%~unless post_id%><%set error = GForum::language('POST_DOES_NOT_EXIST')%><%include error.html%><%endparse%><%endunless~%>
<%~set search_widget = 1%>
<!DOCTYPE html >
<html lang="en">
<head>
<title><%cat_full_name%>: <%forum_name%>: <%if post_deleted%>Post deleted by <%post_deleted_by%>: <%endif%><%post_subject%>: Detach &amp; Move Thread</title>
<%include include_common_head.html%>
</head>
<%~set content_header_title = 'Detach &amp; Move Thread'%>
<%~set content_header_subtitle = 'This post and any replies will be made into a new thread.'%>
<%~set show_subject_crumb = 1%>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Detach &amp; Move Post'%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = $forum_name%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "forum=$forum_id")%>
<%~set breadcrumbs.1.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<p>
You have chosen to detach the post '<a href="<%GForum::SEO::url(type => "post", id => $post_id, anchor => "p$post_id")%>"><%post_subject%></a>'
<%~if post_replies%> and its <%post_replies%> repl<%if post_replies == 1%>y<%else%>ies<%endif%>,<%endif%>
authored by
<%set include_username_display = $post_username~%>
<%include include_username.html%>
on <%post_date%>.
</p>
<p>
Detaching a post will turn that post and any replies into a new thread.
You also have the option now to place the new thread in another forum or
leave it in the same forum by selecting the forum below.
</p>
<form action="<%GForum::SEO::url()%>" method="post">
<%hidden_form%>
<input type="hidden" name="post_id" value="<%post_id%>" />
<input type="hidden" name="do" value="post_detach" />
<%GForum::Forum::moderator_tpl_options(without => $forum_id)%>
<div class="simple-form">
<select name="forum_id" onchange="document.getElementById('detach_thread_submit').value = this.options[this.selectedIndex].value == <%forum_id%> ? 'Detach Thread' : 'Detach &amp; Move Thread'">
<option value="<%forum_id%>">Detach only; don't move</option>
<%~set last_cat_id = -1%>
<%~loop moderator_tpl_loop%>
<%~if cat_id != $last_cat_id%>
<%~unless last_cat_id == -1%>
</optgroup>
<%~endunless%>
<%~set last_cat_id = $cat_id%>
<optgroup label="<%cat_full_name%>">
<%~endif%>
<option value="<%forum_id%>"><%forum_name%></option>
<%~endloop%>
</optgroup>
</select>
<input type="submit" id="detach_thread_submit" value="Detach Thread" class="btn" />
</div>
</form>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,71 @@
<!DOCTYPE html >
<%~set search_widget = 1%>
<html lang="en">
<head>
<title><%cat_full_name%>: <%forum_name%>: Post detached<%if forum_id != $old_forum_id%> and moved<%endif%></title>
<meta http-equiv="refresh" content="5;url=<%GForum::SEO::url(type => "forum", id => $old_forum_id, param_type => "query")%>" />
<%include include_common_head.html%>
</head>
<%~if forum_id != $old_forum_id%><%set content_header_title .= ' and moved'%><%endif%>
<body class="page-<%page_id%> confirmation-page">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar_search.html%>
<div class="advert" style="height: 250px"></div>
<div class="advert" style="height: 600px"></div>
</div>
<%~set content_header_title = 'Post Detached'%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = $forum_name%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "forum=$forum_id")%>
<%~set breadcrumbs.1.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<p>
The post '<a href="<%GForum::SEO::url(type => "post", id => $post_id)%>"><%post_subject%></a>', written by
<%set include_username_display = $post_username~%><%include include_username.html%>
has been detached from its thread and turned into a new, separate thread.
</p>
<%~if forum_id != $old_forum_id%>
<p>
The new thread was moved from the <a href="<%GForum::SEO::url(type => "category", id => $old_cat_id)%>"><%old_cat_full_name%></a>: <a href="<%GForum::SEO::url(type => "forum", id => $old_forum_id)%>"><%old_forum_name%></a> forum
to the <a href="<%GForum::SEO::url(type => "category", id => $cat_id)%>"><%cat_full_name%></a>: <a href="<%GForum::SEO::url(type => "forum", id => $forum_id)%>"><%forum_name%></a> forum.
</p>
<%~endif%>
<p>
You will be automatically redirected to <%old_cat_full_name%>: <%old_forum_name%> shortly.
<%~set url_anchor = ""%>
<%~unless current.user_id and not current.user_default_post_display%><%~set url_anchor = "#p$post_id"%><%endunless%>
<a href="<%GForum::SEO::url(type => "post", id => $post_id, anchor => $url_anchor)%>">Click here to view the new thread</a>
or choose the forum you wish to visit:
</p>
<div id="toolbar2" class="toolbar clear">
<form action="<%GForum::SEO::url()%>">
<%hidden_form%>
<select name="jump">
<%GForum::Forum::jump_list($old_forum_id)%>
</select>
<input type="submit" value="Jump to forum" class="btn" />
</form>
</div>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,4 @@
<%~--
This is the page used when you edit a post.
--%>
<%include post_write.html%>

View File

@ -0,0 +1,75 @@
<%~set url_anchor = ""%>
<%~unless current.user_id and not current.user_default_post_display%><%set url_anchor = "p$post_id"%><%endunless%>
<%~set search_widget = 1%>
<!DOCTYPE html >
<html lang="en">
<head>
<title><%cat_full_name%>: Post changes made</title>
<%~if current.user_do_after_post eq 'post_confirm_post'%>
<meta http-equiv="refresh" content="5;url=<%GForum::SEO::url(type => "post", id => $post_id, anchor => $url_anchor, param_type => "query")%>" />
<%~else%>
<meta http-equiv="refresh" content="5;url=<%GForum::SEO::url(type => "forum", id => $forum_id, param_type => "query")%>" />
<%~endif%>
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Post changes made'%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = $forum_name%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "forum=$forum_id")%>
<%~set breadcrumbs.1.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<%~if current.user_do_after_post eq post_confirm_post%>
<p>
Your changes to the message in <%cat_full_name%>: <%forum_name%> have
been made. You will be automatically redirected to your post shortly.
</p>
<p>
<b><a href="<%GForum::SEO::url(type => "post", id => $post_id, anchor => $url_anchor))%>">Click here to view your post</a></b>
or choose the forum you wish to visit:
</p>
<%~else%>
<p>
Your changes to the message in <%cat_full_name%>: <%forum_name%> have
been made. You will be automatically redirected to the forum shortly.
</p>
<p>
<b><a href="<%GForum::SEO::url(type => "post", id => $post_id, anchor => $url_anchor))%>">Click here to view your post</a></b>
or choose the forum you wish to visit:
</p>
<%~endif%>
<div id="toolbar2" class="toolbar clear">
<form action="<%GForum::SEO::url()%>">
<%hidden_form%>
<select name="jump">
<%GForum::Forum::jump_list($forum_id)%>
</select>
&nbsp;
<input type="submit" value="Jump to forum" class="btn" />
</form>
</div>
</div><%-- end content --%>
</div><%-- end contentwrapper --%>
</div><%-- end main --%>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,56 @@
<!DOCTYPE html >
<%~set search_widget = 1%>
<html lang="en">
<head>
<title><%cat_full_name%>: Edit Log</title>
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Edit Log'%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = $forum_name%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "forum=$forum_id")%>
<%~set breadcrumbs.1.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<div class="row">
<%set hide_post_menu = 1%>
<%include include_post_display.html%>
</div>
<h3><%if editlog.length%>Edit Log:<%else%>This post has not been edited<%endif%></h3>
<%~if editlog.length%>
<ul>
<%~loop editlog%>
<li>
<%~set escaped_username = escape_url unescape_html $user_username%>
Post edited by <%if user_id%><a href="<%GForum::SEO::url(params => "username=$escaped_username")%>"><%user_username%></a><%else%><%user_username%><%endif%>
(<%user_title%>) on <%edit_date%><%if edit_reason%>: <%edit_reason%><%endif%>
</li>
<%~endloop%>
</ul>
<%~endif%>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,79 @@
<%~GForum::Post::View::get($in.root_id)%>
<%~unless post_id%><%set error = GForum::language('POST_DOES_NOT_EXIST')%><%include error.html%><%endparse%><%endunless~%>
<%~set search_widget = 1%>
<!DOCTYPE html >
<html lang="en">
<head>
<title><%cat_full_name%>: <%forum_name%>: <%if post_deleted%>Post deleted by <%post_deleted_by%>: <%endif%><%post_subject%>: Move Thread</title>
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Thread Move'%>
<%~set btn_new = 1%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = $forum_name%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "forum=$forum_id")%>
<%~set breadcrumbs.1.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<p>
You have chosen to move the thread '<a href="<%GForum::SEO::url(type => "post", id => $post_id, anchor => "p$post_id")%>"><%post_subject%></a>',
<%if post_replies%>containing <%post_replies%> repl<%if post_replies == 1%>y<%else%>ies<%endif%>,<%endif%>
started by
<%set include_username_display = $post_username~%>
<%include include_username.html%>
on <%post_date%>.
</p>
<p>
Please select a forum to move the post to:
</p>
<div class="simple-form">
<form action="<%GForum::SEO::url()%>" method="post">
<%hidden_form%>
<input type="hidden" name="root_id" value="<%in.root_id%>" />
<input type="hidden" name="do" value="post_move" />
<%GForum::Forum::moderator_tpl_options(without => $forum_id)%>
<select name="forum_id">
<option value="">---</option>
<%~set last_cat_id = -1%>
<%~loop moderator_tpl_loop%>
<%~if cat_id != $last_cat_id%>
<%~unless last_cat_id == -1%>
</optgroup>
<%~endunless%>
<%~set last_cat_id = $cat_id%>
<optgroup label="<%cat_full_name%>">
<%~endif%>
<option value="<%forum_id%>"><%forum_name%></option>
<%~endloop%>
</optgroup>
</select>
<input type="submit" value="Move Thread" class="btn" />
<%if forum_move_pointer%><br />
<input type="checkbox" name="skip_pointer" id="skip_pointer" value="1" class="checkbox" /> <label for="skip_pointer">Don't leave moved post pointer</label>
<%endif%>
</form>
</div>
</div><%-- end content --%>
</div><%-- end contentwrapper --%>
</div><%-- end main --%>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,72 @@
<!DOCTYPE html >
<%~set search_widget = 1%>
<html lang="en">
<head>
<title><%cat_full_name%>: <%forum_name%>: Thread moved</title>
<meta http-equiv="refresh" content="5;url=<%GForum::SEO::url(type => "forum", id => $old_forum_id, param_type => "query")%>" />
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Thread Moved'%>
<%~set btn_new = 1%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = $forum_name%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "forum=$forum_id")%>
<%~set breadcrumbs.1.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<p>
The thread '<a href="<%GForum::SEO::url(type => "post", id => $post_id)%>"><%post_subject%></a>', written by
<%if user_id_fk%>
<%~if user_status%>
<%~set escaped_username = escape_url unescape_html $user_username%>
<a href="<%GForum::SEO::url(params => "username=$escaped_username")%>"><%nbsp post_username%></a>
<%~else%>
<a href="<%GForum::SEO::url(params => "user=$user_id")%>"><%nbsp post_username%></a>
<%~endif%>
<%else%>
<%nbsp post_username%>
<%endif%>
has been moved from the <%GForum::Category::full_name_linked($old_cat_id, ': ')%>: <a href="<%GForum::SEO::url(type => "forum", id => $old_forum_id)%>"><%old_forum_name%></a> forum
to the <%GForum::Category::full_name_linked($cat_id, ': ', '', '', "${config.gforum_cgi}?$hidden_url")%>: <a href="<%GForum::SEO::url(type => "forum", id => $forum_id)%>"><%forum_name%></a> forum.
You will be automatically redirected to <%old_cat_full_name%>: <%old_forum_name%> shortly.
</p>
<p>
<%~set url_anchor = ""%>
<%~unless current.user_id and not current.user_default_post_display%><%set url_anchor = "p$post_id"%><%endunless%>
<b><a href="<%GForum::SEO::url(type => "post", id => $post_id, anchor => $url_anchor)%>">Click here to view the thread</a></b>
or choose the forum you wish to visit:
</p>
<div id="toolbar2" class="toolbar clear">
<form action="<%GForum::SEO::url()%>">
<%hidden_form%>
<select name="jump">
<%GForum::Forum::jump_list($old_forum_id)%>
</select>
&nbsp;
<input type="submit" value="Jump to forum" class="btn" />
</form>
</div>
</div><%-- end content --%>
</div><%-- end contentwrapper --%>
</div><%-- end main --%>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

83
site/forum/post_post.html Normal file
View File

@ -0,0 +1,83 @@
<%~set url_anchor = ""%>
<%~unless current.user_id and not current.user_default_post_display%><%~set url_anchor = "p$post_id"%><%endunless%>
<%~set search_widget = 1%>
<!DOCTYPE html >
<html lang="en">
<head>
<title><%cat_full_name%>: Message Posted</title>
<%~if current.user_do_after_post eq post_confirm_post%>
<meta http-equiv="refresh" content="5;url=<%GForum::SEO::url(type => "post", id => $post_id, anchor => $url_anchor, param_type => "query")%>" />
<%~else%>
<meta http-equiv="refresh" content="5;url=<%GForum::SEO::url(type => "forum", id => $forum_id, param_type => "query")%>" />
<%~endif%>
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Your new message has been posted'%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = $forum_name%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "forum=$forum_id")%>
<%~set breadcrumbs.0.name = "Post new topic"%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<%~if attachment_errors%>
<p class="error">
<%attachment_errors%>
</p>
<%~endif%>
<%~if current.user_do_after_post eq post_confirm_post%>
<p>
Your message has been posted to <%cat_full_name%>: <%forum_name%>. You
will be automatically redirected to your post shortly.
</p>
<p>
<b><a href="<%GForum::SEO::url(type => "post", id => $post_id, anchor => $url_anchor))%>">Click here to view your post</a></b>
or choose the forum you wish to visit:
</p>
<%~else%>
<p>
Your message has been posted to <%cat_full_name%>: <%forum_name%>. You
will be automatically redirected to the forum shortly.
</p>
<p>
<b><a href="<%GForum::SEO::url(type => "post", id => $post_id, anchor => $url_anchor))%>">Click here to view your post</a></b>
or choose the forum you wish to visit:
</p>
<%~endif%>
<div id="toolbar2" class="toolbar clear">
<form action="<%GForum::SEO::url()%>">
<%hidden_form%>
<select name="jump">
<%GForum::Forum::jump_list($forum_id)%>
</select>
&nbsp;
<input type="submit" value="Jump to forum" class="btn" />
</form>
</div>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,79 @@
<!DOCTYPE html >
<html lang="en">
<head>
<title><%cat_full_name%>: <%forum_name%>: Message posted!</title>
<%~if current.user_do_after_post eq 'post_confirm_post'%>
<meta http-equiv="refresh" content="5;url=<%GForum::SEO::url(type => "post", id => $post_id, anchor => $url_anchor, param_type => "query")%>" />
<%~else%>
<meta http-equiv="refresh" content="5;url=<%GForum::SEO::url(type => "forum", id => $forum_id, param_type => "query")%>" />
<%~endif%>
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = $content_header_title%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = $forum_name%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "forum=$forum_id")%>
<%~set breadcrumbs.1.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<%~if attachment_errors%>
<p class="error"><%attachment_errors%></p>
<%~endif%>
<%~if current.user_do_after_post eq post_confirm_post%>
<p>
Your message has been posted to <%cat_full_name%>: <%forum_name%>. You
will be automatically redirected to your post shortly.
</p>
<p>
<b><a href="<%GForum::SEO::url(type => "post", id => $post_id, anchor => $url_anchor))%>">Click here to view your post</a></b>
or choose the forum you wish to visit:
</p>
<%~else%>
<p>
Your message has been posted to <%cat_full_name%>: <%forum_name%>. You will be automatically redirected to the forum shortly.
</p>
<p>
<b><a href="<%GForum::SEO::url(type => "post", id => $post_id, anchor => $url_anchor))%>">Click here to view your post</a></b>
or choose the forum you wish to visit:
</p>
<%~endif%>
<form action="<%GForum::SEO::url()%>">
<%hidden_form%>
<div class="row">
<select name="jump">
<%GForum::Forum::jump_list($forum_id)%>
</select>
&nbsp;
<input type="submit" value="Jump to forum" class="btn" />
</div>
</form>
</div><%-- end content --%>
</div>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,4 @@
<%~--
This is the page used when you write a post reply.
--%>
<%include post_write.html%>

View File

@ -0,0 +1,26 @@
<script type="text/javascript">
$(document).ready(function() {
GForum.initPostReportBox('<%post_id%>', '<%config.post_reports_message_max_length%>');
});
</script>
<form method="post">
<h4>Report this Post</h4>
<div class="dtable form">
<div class="drow">
<div class="dcell name"></div>
<div class="dcell divider"></div>
<div class="dcell value">
<textarea id="report_message_<%post_id%>" rows="3" class="txt midtext"></textarea>
<div id="report_message_remaining_chars_<%post_id%>"><%config.post_reports_message_max_length%></span><span>&nbsp;Characters left.</div>
<div id="report_error_<%post_id%>" class="warn hide"></div>
</div>
</div>
<div class="drow actions">
<div class="dcell name"></div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="submit" id="report_submit_<%post_id%>" name="report-submit" value="btn default" />
</div>
</div>
</div>
</form>

View File

@ -0,0 +1,46 @@
<script type="text/javascript">
$(document).ready(function() {
return GForum.initPostReportsBox("<%post.post_id%>");
});
</script>
<div class="post_report_heading">
<span class="controls">
<%~if post.post_reports_is_locked%>
Locked till <%post.post_reports_locked%>
<%~else%>
<a href="#" id="post_reports_lock_<%post.post_id%>" title="Lock for moderation"><img src="<%image_url('report-lock-mod.png')%>" alt="Lock for moderation" /></a>
<%~endif%>
<a href="#" id="post_reports_mark_processed_<%post.post_id%>" title="Mark processed"><img src="<%image_url('report-mark-mod.png')%>" alt="Mark Processed" /></a>
<a href="#" id="post_reports_send_pm_<%post.post_id%>" title="Send PMs"><img src="<%image_url('report-PM-all.png')%>" alt="Send PMs" /></a>
</span>
Reported Post
<span class="post_reports_sub_heading"> - View Report Comments</span>
<span class="post_reports_sub_heading hide"> - Send PMs</span>
</div>
<div class="post_report_content">
<div class="post_reports_messages">
<table>
<%loop post_reports%>
<tr>
<td width="1%" nowrap="nowrap" class="post_reports_pm_user hide"><input class="post_reports_pm_user_checkbox_<%post.post_id%>" name="post_reports_pm_user_<%user_id%>" type="checkbox" value="<%user_id%>" checked="checked" /></td>
<%~set escaped_username = escape_url unescape_html $user_username%>
<td width="1%" nowrap="nowrap"><a href="<%GForum::SEO::url(params => "username=$escaped_username")%>"><%user_username%></a>:</td>
<td class="post_reports_message warn"><%message%></td>
</tr>
<%endloop%>
</table>
</div>
<div id="post_reports_pm_message_wrapper_<%post.post_id%>" class="post_reports_pm_message_wrapper hide">
<table>
<tr><td colspan="2"><textarea name="post_reports_pm_message_<%post.post_id%>" rows="2"></textarea></td></tr>
<tr>
<td valign="top">
<input type="checkbox" id="post_reports_pm_all_<%post.post_id%>" checked="checked" /><span>Send PMs to all reporters</span>
<input type="checkbox" id="post_reports_pm_poster" value="<%post.user_id_fk%>" checked="checked" /><span>Send PM to author (<%post.post_username%>)</span>
<div id="reports_errors_<%post.post_id%>" class="warn hide"></div>
</td>
<td valign="top" align="right"><input type="submit" name="submit" value="Send PM" id="post_reports_submit_pm_<%post.post_id%>" /></td>
</tr>
</table>
</div>
</div>

View File

@ -0,0 +1,139 @@
<!DOCTYPE html >
<%~set search_widget = 1%>
<%~set poll_widget = 1%>
<html lang="en">
<head>
<title><%root_post_subject%><%if this_page > 1%> (Page <%this_page%>)<%endif%>: <%forum_name%>: <%cat_full_name%></title>
<%include include_common_head.html%>
<%~if this_do eq post_view_printable%>
<link type="text/css" rel="stylesheet" href="<%static_url%>/css/print.css" />
<%~endif%>
<script type="text/javascript">
//<![CDATA[
<%if is_ie and ie_version >= 4%>
<%~-- JavaScript for "Copy Shortcut" (which only works in IE) --~%>
// IE-specific code to copy a post URL to the clipboard - takes the post_id.
// This works only in IE because other browsers (quite correctly) treat copy
// buffer manipulation as a security access violation.
function postShortcut(post_id) {
var url = document.createElement('input');
url.type = 'hidden';
url.value = '<%set url = GForum::SEO::url(params => "?post=__POST_ID__", anchor => "p__POST_ID__")%><%escape_js url%>';
url.value = url.value.replace(/__POST_ID__/g, post_id);
document.body.appendChild(url);
url.createTextRange().execCommand("Copy");
alert("Post URL copied to clipboard");
}
<%endif%>
function winopen(url, target) {
var win;
try {
win = window.open(url, target, 'resizable=yes,menubar=yes,scrollbars=yes,width=700,height=500');
win.focus();
}
catch (e) {
return true;
}
return win ? false : true;
}
<%~if forum_image_max_x or config.post_image_max_x%>
GForum.image_max_width = '<%forum_image_max_x || $config.post_image_max_x%>';
<%~endif%>
<%~if forum_image_max_y or config.post_image_max_y%>
GForum.image_max_height = '<%forum_image_max_y || $config.post_image_max_y%>';
<%~endif%>
//]]>
</script>
</head>
<%~set hidden_sort = ''%><%set hidden_page = ''%>
<%~if in.sb%><%set hidden_sort .= ";sb=$sb"%><%endif%>
<%~if in.so%><%set hidden_sort .= ";so=$so"%><%endif%>
<%~if in.mh%><%set hidden_page .= ";mh=$mh"%><%endif%>
<%~if in.page%><%set hidden_page .= ";page=$this_page"%><%endif%>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = $forum_name%>
<%~set post_toolbar = 1%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = $forum_name%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "forum=$forum_id")%>
<%~set breadcrumbs.1.name = $root_post_subject%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<%~set root_post_id ||= $post_root_id || $post_id%>
<%~set do = ''%>
<%~if in.do%>
<%~set do = "do=$this_do"%>
<%~endif%>
<%~set pagination_options.type = 'post'%>
<%~set pagination_options.id = $root_post_id%>
<%~set pagination_options.params = "$do$hidden_sort$hidden_page"%>
<%~set pagination_options.page_items = $num_posts%>
<%~set pagination_options.show_view_all = 1%>
<div class="toolbar-b clearfix">
<%include include_paging.html%>
<%include include_quicklaunch.html%>
</div>
<%loop post_loop%>
<%~if is_moderator and post_reports_count%><%set admin_show_post = 1%><%else%><%set admin_show_post = 0%><%endif%>
<%~if blocked and not admin_show_post and in.post != $post_id%><%set hide_post = 1%><%else%><%set hide_post = 0%><%endif%>
<%-- Serve ad on mobile --%>
<%~if row_num == 1%>
<%~set serve_ad = 1%>
<%~else%>
<%~set count += 1%><%set odd = $count % 30%>
<%-- disabled additional ads - ticket #31747 --%>
<%~if not $odd%><%set serve_ad = 0%><%endif%>
<%~endif%>
<%include include_post_display.html%>
<%endloop%>
<%include include_post_toolbar.html%>
<%-- ad for tablet --%>
<%~if num_posts > 3%>
<%include include_ad_tablet.html%>
<%~endif%>
</div><%-- end content --%>
</div><%-- end contentwrapper --%>
</div><%-- end main --%>
<%include include_footer.html%>
</div>
</body>
<%if spellcheck%><%spellcheck_head%><%endif%>
<%include include_global_js.html%>
<script type="text/javascript">
$(document).ready(function () {
GForum.init_post_only();
GForum.init_hidden_posts();
<%~if is_moderator and post_reports_open.length%>
GForum.openPostReport();
<%~endif%>
<%~if this_do eq post_view_printable%>window.print();<%endif%>
});
</script>
</html>

View File

@ -0,0 +1 @@
<%include post_view_flat.html%>

View File

@ -0,0 +1 @@
<%include post_view_flat.html%>

100
site/forum/post_write.html Normal file
View File

@ -0,0 +1,100 @@
<!DOCTYPE html >
<html lang="en">
<head>
<title><%site_title%>: <%cat_full_name%>: <%forum_name%>: <%if this_do eq post_reply_write%>Reply to post<%elsif this_do eq post_edit%>Edit post<%else%>Post a new message<%endif%></title>
<%include include_common_head.html%>
</head>
<%~if this_do eq post_reply_write%>
<%~set content_header_title = 'Reply to post'%>
<%~set content_header_subtitle = "Replying to <a href=\"#p${parent.post_id}\">${parent.post_subject}</a>"%>
<%~elsif this_do eq post_edit%>
<%~set content_header_title = 'Edit post'%>
<%~set content_header_subtitle = "Editing <a href=\"#p$post_id\">${orig.post_subject}</a>"%>
<%~else%>
<%~set content_header_title = 'Post a New Message'%>
<%~endif%>
<body class="page-<%page_id%>">
<iframe id="spellcheck_frame" src="<%GForum::SEO::url(params => "do=spellcheck_inline_post;just_load=1")%>" class="hidden"></iframe>
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%><%init hash breadcrumbs.1%>
<%~set breadcrumbs.0.name = $forum_name%>
<%~set breadcrumbs.0.url = GForum::SEO::url(params => "forum=$forum_id")%>
<%~set breadcrumbs.1.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<div id="content" class="compose post-compose">
<%preview || ''%>
<%~set url_anchor = ""%>
<%~if current.user_do_after_post eq post_view%>
<%~set url_anchor = "last"%>
<%~if $post_id%><%set url_anchor = "p$post_id"%><%endif%>
<%~endif%>
<form id="<%set compose_form_id = 'post_write_form'%><%compose_form_id%>" name="post" action="<%GForum::SEO::url(anchor => $url_anchor)%>" method="post" enctype="multipart/form-data" class="form">
<%hidden_form%>
<%~if this_do eq post_reply_write%>
<input type="hidden" id="parent_post_id" name="parent_post_id" value="<%parent_post_id%>" />
<%~elsif this_do eq post_edit%>
<input type="hidden" id="post_id" name="post" value="<%post_id%>" />
<%~else%>
<input type="hidden" id="forum_id" name="forum" value="<%forum_id%>" />
<%~endif%>
<%include include_post_write.html%>
<div class="btn-wrapper post-actions clearfix">
<%~if this_do eq post_reply_write%>
<input type="submit" id="button_post" name="do=post_reply_post" value="Post Reply" class="btn default" tabindex="15" />
<%~elsif this_do eq post_edit%>
<input type="submit" id="button_post" name="do=post_edit_post" value="Post Changes" class="btn default" tabindex="15" />
<%~else%>
<input type="submit" id="button_post" name="do=post_post" value="Post Message" class="btn default" tabindex="15" />
<%~endif%>
</div>
</form>
<div class="clearall"></div>
<%~if this_do eq post_reply_write%>
<%~parent%><%-- Loads the parents post tags --%>
<%~set preview = 0%><%set reply_view = 1%><%set hide_post_menu = 1%>
<%include include_post_display.html%>
<%~elsif this_do eq post_edit%>
<%~orig%><%-- Loads the original post tags --%>
<%~set preview = 0%><%set orig_view = 1%><%set hide_post_menu = 1%>
<%include include_post_display.html%>
<%~endif%>
</div><%-- end content --%>
</div>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
<%include include_global_js.html%>
<script type="text/javascript">
$(document).ready(function() {
GForum.init_tags();
});
</script>
</html>

42
site/forum/redirect.html Normal file
View File

@ -0,0 +1,42 @@
<!DOCTYPE html >
<head>
<title><:: Slowtwitch Forums ::></title>
<meta http-equiv="refresh" content="0;url=<%url%>" />
<%include include_common_head.html%>
</head>
<%~set content_header_title = 'Redirect'%>
<%~set content_header_subtitle = 'You are being redirected'%>
<body class="page-<%page_id%>">
<%~if ad_wallpaper%>
<%ad_wallpaper%>
<%~endif%>
<div class="container">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = 'Forum'%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<p>
You are being redirected to the selected URL. If you are not
automatically redirected, click here: <a href="<%url%>"><%url%></a>
</p>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%include include_global_js.html%>
</html>

View File

@ -0,0 +1,62 @@
<!DOCTYPE html >
<html lang="en">
<head>
<title><%cat_full_name%>: Resend E-mail Validation</title>
<%include include_common_head.html%>
</head>
<%~set content_header_title = 'Resend E-mail Validation'%>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%>
<%~set breadcrumbs.0.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<form method="post" action="<%GForum::SEO::url()%>">
<%hidden_form%>
<input type="hidden" name="do" value="resend_validation" />
<p>
If you recently signed up for an account, but never received the validation e-mail,
<%site_title%> can resend the validation e-mail to you.
</p>
<div class="dtable form">
<div class="drow">
<div class="dcell name">Your Username:</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" id="username_text" name="user_username" class="txt shotext" />
</div>
</div>
<div class="drow actions">
<div class="dcell name"></div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="submit" value="Resend E-mail" class="btn default" />
<p class="note">* The e-mail will be re-sent to the e-mail address you entered when signing up.</p>
</div>
</div>
</div>
</form>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

223
site/forum/search.html Normal file
View File

@ -0,0 +1,223 @@
<!DOCTYPE html >
<html lang="en">
<head>
<title><%cat_full_name%>: Search</title>
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<%~set content_header_title = 'Search'%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%>
<%~set breadcrumbs.0.name = 'Search'%>
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<div class="clearfix">
<div class="col-6">
<h4>Search Forums</h4>
<form action="<%GForum::SEO::url()%>">
<%hidden_form%>
<input type="hidden" name="do" value="search_results" />
<div class="dtable form">
<div class="drow">
<div class="dcell name">Search</div>
<div class="dcell divider"></div>
<div class="dcell value">
<select id="search_forum" name="search_forum">
<option value="all"<%if not search_forum_type or search_forum_type eq all%> selected="selected"<%endif%>>All forums</option>
<%~set indent = '&nbsp;&nbsp;&nbsp;&nbsp;'%>
<%~loop everything%>
<%~unless forum_id%><%-- A category --%>
<option value="cat_<%cat_id%>"<%if search_forum_type eq cat and search_forum_id = $cat_id%> selected="selected"<%endif%>>
<%indent x $cat_depth%><%cat_name%> (All forums)
</option>
<%~elsif forum_name%>
<option value="forum_<%forum_id%>"<%if search_forum_type eq forum and search_forum_id = $forum_id%> selected="selected"<%endif%>>
<%indent x $cat_depth%>&nbsp;&nbsp;&nbsp;&nbsp;<%forum_name%>
</option>
<%~endunless%>
<%~endloop%>
</select>
</div>
</div>
<div class="drow">
<div class="dcell name">Search String</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" id="search_string" name="search_string" <%if not num_results and search_string%> value="<%search_string%>"<%endif%> class="txt midtext" />
</div>
</div>
<div class="drow">
<div class="dcell name">Type of search*</div>
<div class="dcell divider"></div>
<div class="dcell value">
<select id="search_type" name="search_type">
<option value="AND"<%if search_type eq AND%> selected="selected"<%endif%>>All words</option>
<option value="OR"<%if search_type eq OR%> selected="selected"<%endif%>>Any words</option>
<option value="PHRASE"<%if search_type eq PHRASE%> selected="selected"<%endif%>>Whole Phrase</option>
</select>
</div>
</div>
<div class="drow">
<div class="dcell name">Fields to search</div>
<div class="dcell divider"></div>
<div class="dcell value">
<select name="search_fields" size="1" class="button">
<option value="sb"<%if not search_fields or search_fields eq 'sb'%> selected<%endif%>>
Subject and Body
</option>
<option value="s"<%if search_fields eq 's'%> selected<%endif%>>
Subject
</option>
<option value="b"<%if search_fields eq 'b'%> selected<%endif%>>
Body
</option>
<option value="u"<%if search_fields eq 'u'%> selected<%endif%>>
Username
</option>
</select>
</div>
</div>
<div class="drow">
<div class="dcell name">Show posts from the last</div>
<div class="dcell divider"></div>
<div class="dcell value">
<select name="search_time" size="1" class="button">
<option value=""<%ifnot search_time%> selected<%endif%>>Show all posts</option>
<%if show_last%>
<option value="last"<%if search_time eq last%> selected<%endif%>>Since last visit</option>
<%endif%>
<option value="8h"<%if search_time eq 8h%> selected<%endif%>>8 hours</option>
<option value="24h"<%if search_time eq 24h%> selected<%endif%>>24 hours</option>
<option value="3d"<%if search_time eq 3d%> selected<%endif%>>3 days</option>
<option value="1w"<%if search_time eq 1w%> selected<%endif%>>1 week</option>
<option value="2w"<%if search_time eq 2w%> selected<%endif%>>2 weeks</option>
<option value="3w"<%if search_time eq 3w%> selected<%endif%>>3 weeks</option>
<option value="1m"<%if search_time eq 1m%> selected<%endif%>>1 month</option>
<option value="3m"<%if search_time eq 3m%> selected<%endif%>>3 months</option>
<option value="6m"<%if search_time eq 6m%> selected<%endif%>>6 months</option>
<option value="1y"<%if search_time eq 1y%> selected<%endif%>>1 year</option>
<option value="2y"<%if search_time eq 2y%> selected<%endif%>>2 years</option>
</select>
</div>
</div>
<div class="drow">
<div class="dcell name">Only show posts made by</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" name="search_user_username"<%if search_user_username%> value="<%search_user_username%>"<%endif%> class="txt shotext" />
</div>
</div>
<div class="drow">
<div class="dcell name">Only show</div>
<div class="dcell divider"></div>
<div class="dcell value">
<select name="group" size="1" class="button">
<option value="no"<%if lc group eq 'no'%> selected<%endif%>>Posts</option>
<option value="yes"<%if not group or lc group eq 'yes'%> selected<%endif%>>Threads</option>
</select>
</div>
</div>
<div class="drow">
<div class="dcell name">Sort posts by</div>
<div class="dcell divider"></div>
<div class="dcell value">
<select name="sb" size="1" class="button">
<option value="post_time"<%if not sb or sb eq 'post_time'%> selected<%endif%>>Post date</option>
<option value="score"<%if sb eq 'score'%> selected<%endif%>>Relevance</option>
</select>
</div>
</div>
<div class="drow">
<div class="dcell name">Number of results per page</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" name="mh" value="<%if mh%><%mh%><%elsif current_user_default_mh_search%><%current_user_default_mh_search%><%else%><%GForum::Config::tpl_get(default_mh_search)%><%default_mh_search%><%endif%>" class="txt smatext" />
</div>
</div>
<div class="drow actions">
<div class="dcell name"></div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="submit" value="Search" class="btn default" />
</div>
</div>
</div>
</form>
<div align="justify" style="padding-right: 15px;">*The search function breaks on numbers. So searching, for example, for "P5X" gives the same results as searching for "P"+"5"+"X." If you want to search for the phrase that contains a numeral like, "P5X," you need to select "Whole Phrase" from the "Type of Search" drop-down.</div>
</div>
<div class="col-6">
<h4>Search SlowTwitch.com Knowledge Base</h4>
<form action="<%main_site_url%>/cgi-bin/articles/search.cgi" method="post" enctype="application/x-www-form-urlencoded">
<%hidden_form%>
<div class="dtable form">
<div class="drow">
<div class="dcell name">Search string</div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="text" id="query" name="query" class="txt midtext" />
</div>
</div>
<div class="drow">
<div class="dcell name">Type of search</div>
<div class="dcell divider"></div>
<div class="dcell value">
<select name="bool">
<option value="and" selected="selected">Results must contain all words</option>
<option value="or">Results can contain any of the words</option>
</select>
</div>
</div>
<div class="drow">
<div class="dcell name">Only Show</div>
<div class="dcell divider"></div>
<div class="dcell value">
<select name="substring">
<option value="1">Find similar words</option>
<option value="0" selected="selected">Find exact words</option>
</select>
</div>
</div>
<div class="drow">
<div class="dcell name">Link per page</div>
<div class="dcell divider"></div>
<div class="dcell value">
<select id="mh" name="mh">
<option>10</option>
<option selected="selected">25</option>
<option>50</option>
<option>100</option>
</select>
</div>
</div>
<div class="drow actions">
<div class="dcell name"></div>
<div class="dcell divider"></div>
<div class="dcell value">
<input type="submit" value="Search" class="btn default" />
</div>
</div>
</div>
</form>
</div>
</div><%-- end content --%>
</div>
</div>
<%include include_footer.html%>
</div>
</body>
<%include include_global_js.html%>
</html>

View File

@ -0,0 +1,92 @@
<!DOCTYPE html >
<%~set search_widget = 1%>
<%~set poll_widget = 1%>
<html lang="en">
<head>
<title><%cat_full_name%>: Search results</title>
<%include include_common_head.html%>
</head>
<body class="page-<%page_id%>">
<div class="container-b">
<%include include_header.html%>
<div class="main">
<div class="contentwrapper clearfix">
<div class="sidebar">
<%include include_sidebar.html%>
</div>
<%~set content_header_title = "Search Results"%>
<%~init array breadcrumbs%><%init hash breadcrumbs.0%>
<%~set breadcrumbs.0.name = $content_header_title%>
<%include include_breadcrumb.html%>
<div class="content"><%-- start content--%>
<%include include_content_header.html%>
<p>Your search <%if search_words or limited_by_user%>for <%endif%><%if search_words%><b><%search_words%></b> <%if limited_by_user%> in<%endif%><%endif%><%if limited_by_user%> posts made by <b><%limited_by_user%></b><%endif%> returned <%num_results%> results</p>
<p><font size="1">[N.B. The search function breaks on numbers. So searching, for example, for "P5X" gives the same results as searching for "P"+"5"+"X." If you want to search for the phrase that contains a numeral like, "P5X," you need to select "Whole Phrase" from the "Type of Search" drop-down.]</font></p>
<hr class="line" />
<form action="<%main_site_url%>/cgi-bin/articles/search.cgi" method="post" enctype="application/x-www-form-urlencoded">
<%hidden_form%>
<div class="searchbox clearfix">
<div class="col-4">
Search the entire Slowtwitch.com knowledge base for:<br />
<input type="text" name="query" class="txt midtext" value="<%search_words || ''%>" />
</div>
<div class="col-4 clearfix">
<div class="option">
<div class="clearfix"><input id="type_and" name="bool" type="radio"value="and" checked="checked" /> <label for="type_and">Results must contain all words</label></div>
<div class="clearfix"><input id="type_or" name="bool" type="radio" value="or" /> <label for="type_or">Results can contain any of the words</label></div>
</div>
<div class="option">
<div class="clearfix"><input id="similar_words" name="substring" type="radio"value="1" /> <label for="similar_words">Find similar words</label></div>
<div class="clearfix"><input id="exact_words" name="substring"type="radio" value="0" checked="checked" /> <label for="exact_words">Find exact words</label></div>
</div>
<div class="option">
Link per page<br />
<select id="mh" name="mh">
<option>10</option>
<option selected="selected">25</option>
<option>50</option>
<option>100</option>
</select>
</div>
</div>
<div class="col-4">
<input type="submit" name="search" value="Search" class="btn" />
</div>
</div>
</form>
<%~set post_list = $results%>
<%~set post_list_table_class = 'search-list'%>
<%~if search_string ne ''%>
<%~set post_list_query_string = 'search_string='%>
<%~set post_list_query_string .= escape_url unescape_html $search_string%>
<%~endif%>
<%~set post_list_show_replies = 1%>
<%~include include_post_list.html%>
<%~if num_results > $mh%>
<div class="toolbar clearfix">
<hr class="line" />
<%~set pagination_options.params = "do=$this_do;$search_query;sb=$sb;mh=$mh"%>
<%~set pagination_options.page_items = $num_results%>
<%include include_paging.html%>
</div>
<%~endif%>
</div><%-- end content --%>
</div><%-- end contentwrapper --%>
</div><%-- end main --%>
<%include include_footer.html%>
</div>
</body>
<%~include include_global_js.html%>
</html>

View File

@ -0,0 +1,58 @@
<!DOCTYPE html >
<html lang="en">
<head>
<title><%site_title%></title>
<script type="text/javascript">
//<![CDATA[
function init() {
var sc = parent.sc;
if (typeof(sc) == 'undefined') return;
if (sc.loaded) {
clearInterval(interval_handle);
sc.objects.checkForm = document.getElementById('result_form');
sc.words = [
<%~loop words%>
{
word : '<%escape_js unescape_html word%>',
oword : '<%escape_js unescape_html word%>',
misspelled : <%if misspelled%>true<%else%>false<%endif%>
}<%unless last%>,<%endunless%>
<%~endloop%>
];
sc.corrections = {
<%~loop corrections%>
'<%escape_js unescape_html word%>' : [<%loop corrections%>'<%escape_js unescape_html correction%>'<%unless last%>,<%endunless%><%endloop%>]<%unless last%>,<%endunless%>
<%~endloop%>
};
<%~if corrections.length%>
sc.misspelled = true;
<%~else%>
sc.misspelled = false;
<%~endif%>
<%~unless in.just_load%>
sc.processCheck();
<%~endunless%>
sc.formLoaded = true;
}
}
var interval_handle = setInterval(init, 250);
//]]>
</script>
</head>
<body class="page-<%page_id%>">
<form id="result_form" action="<%GForum::SEO::url()%>" method="post">
<%hidden_form%>
<input id="do" name="do" type="hidden" value="<%if this_do starts spellcheck_inline_%><%this_do%><%else%><%in.prev_do%><%endif%>" />
<input type="hidden" name="prev_do" value="<%this_do%>" />
<input id="advanced_editor" name="advanced_editor" type="hidden" value="0" />
<input id="post_style" name="post_style" type="hidden" value="0" />
<input id="msg_style" name="msg_style" type="hidden" value="0" />
<input id="content" name="content" type="hidden" value="" />
<input id="temp_id" name="temp_id" type="hidden" value="" />
<input id="post_id" name="post_id" type="hidden" value="" />
</form>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More