Subversion Repositories taios

Compare Revisions

Ignore whitespace Rev 356 → Rev 485

/admin/nowify.php
0,0 → 1,68
<?php
 
require '../_taios.php';
 
$page = new Taios_Page('Nowify', '../');
 
if (isset($_GET['id']))
{
$id = $_GET['id'];
}
else if (isset($_POST['id']))
{
$id = $_POST['id'];
}
else
{
$page->drawError('No ID set.');
}
 
$page->checkLoggedIn();
 
$post = $page->getBlogPost($id);
if ((!$page->isUserAdmin($page->getLoggedInUser()) && $page->getLoggedInUser()->ID != $post->author->ID) || !$page->isUserNormal($page->getLoggedInUser()))
{
$page->drawError('You do not have permission to access this page.');
}
 
$error = '';
 
if (isset($_POST['id']))
{
$title = $_POST['title'];
 
$page->query('UPDATE BlogPosts SET DatePosted = NOW() WHERE ID = "' . $id . '"');
$page->redirect('/blog/post.php?id=' . $id);
}
 
$page->drawHeader();
$page->drawBlogCategoriesMenu();
$page->drawMiddle();
 
if (!empty($error))
{
$page->drawError($error, false);
}
 
?>
 
<form action="nowify.php" method="post">
Press Sumbit if you wish to nowify post <?php echo $post->title; ?>.<br /><br />
 
<?php
write('<input type="hidden" name="id" value="' . $id . '" />');
?>
 
<tr>
<td class="bold"></td>
<td><input type="submit" value="Submit" /></td>
</tr>
</table>
</form>
 
<?php
 
$page->drawFooter();
 
?>
 
/admin/account-do.php
13,26 → 13,26
$name = $_POST['name'];
 
$user = $page->getUserByID($userID);
if (($page->getLoggedInUser()->ID == $userID || $page->isUserAdmin($page->getLoggedInUser())) && $user)
if (($page->getLoggedInUser()->ID == $userID || $page->isUserAdmin($page->getLoggedInUser())) && $user && $page->isUserNormal($page->getLoggedInUser()))
{
if (isset($accessID) && $page->isUserAdmin($page->getLoggedInUser()))
{
$page->query('UPDATE Users SET AccessID = "' . $accessID . '" WHERE ID = ' . $userID);
$page->query('UPDATE Users SET AccessID = "' . $accessID . '" WHERE ID = "' . $userID . '"');
}
if (!empty($password))
{
$page->query('UPDATE Users SET Password = "' . sha1($password) . '" WHERE ID = ' . $userID);
$page->query('UPDATE Users SET Password = "' . sha1($password) . '" WHERE ID = "' . $userID . '"');
}
if (!empty($email))
{
$page->query('UPDATE Users SET EmailAddress = "' . $email . '" WHERE ID = ' . $userID);
$page->query('UPDATE Users SET EmailAddress = "' . $email . '" WHERE ID = "' . $userID . '"');
}
if (!empty($name))
{
$page->query('UPDATE Users SET Name = "' . $name . '" WHERE ID = ' . $userID);
$page->query('UPDATE Users SET Name = "' . $name . '" WHERE ID = "' . $userID . '"');
}
}
else
/admin/all-blog-posts.php
27,24 → 27,28
$ids = $page->findIDs('BlogPosts', 'ORDER BY DatePosted DESC');
for ($i = 0; $i < count($ids); $i++)
{
$post = $page->getBlogPost($ids[$i]);
write('<tr>');
write('<td><a href="../blog/edit-post.php?id=' . $post->ID . '">' . $post->ID . '</a></td>');
if ($post->parent == -1)
$id_str = $ids[$i];
if (!empty($id_str))
{
write('<td style="color: #444444;">No Parent</td>');
$post = $page->getBlogPost($id_str);
write('<tr>');
write('<td><a href="../blog/edit-post.php?id=' . $post->ID . '">' . $post->ID . '</a></td>');
if ($post->parent == -1)
{
write('<td style="color: #444444;">No Parent</td>');
}
else
{
write('<td>' . $post->parent->title . '</td>');
}
write('<td><a href="account.php?id=' . $post->author->ID . '">' . $post->author->name . '</a></td>');
write('<td>' . $post->title . '</td>');
write('<td>' . str_replace("\n", '<br />', $post->content) . '</td>');
write('<td>' . date('j/m/Y H:i', $post->datePosted) . ' <a href="nowify.php?id=' . $post->ID . '">Nowify</a></td>');
write('<td>' . $post->category . '</td>');
write('<td>' . $post->spam . '</td>');
write('</tr>');
}
else
{
write('<td>' . $post->parent->title . '</td>');
}
write('<td><a href="account.php?id=' . $post->author->ID . '">' . $post->author->name . '</a></td>');
write('<td>' . $post->title . '</td>');
write('<td>' . str_replace("\n", '<br />', $post->content) . '</td>');
write('<td>' . date('j/m/Y H:i', $post->datePosted) . '</td>');
write('<td>' . $post->category . '</td>');
write('<td>' . $post->spam . '</td>');
write('</tr>');
}
write('</table>');
/admin/account.php
11,7 → 11,7
$userID = $page->getGetID();
$user = $page->getUserByID($userID);
 
if (($page->getLoggedInUser()->ID == $userID || $page->isUserAdmin($page->getLoggedInUser())) && $user)
if (($page->getLoggedInUser()->ID == $userID || $page->isUserAdmin($page->getLoggedInUser())) && $user && $page->isUserNormal($page->getLoggedInUser()))
{
?>
 
/admin/index.php
9,7 → 9,14
$page->checkLoggedIn();
$user = $page->getLoggedInUser();
 
write('<h4><a href="account.php?id=' . $user->ID. '">Manage Account</a></h4>');
if ($page->isUserNormal($user))
{
write('<h4><a href="account.php?id=' . $user->ID. '">Manage Account</a></h4>');
}
else
{
$page->drawError('You do not have permission to access this page.');
}
 
if ($page->isUserAdmin($user))
{
/projects/index.php
22,7 → 22,7
write('<h3>' . $project->title . '</h3>');
write('<table style="border: 0px;">');
write('<tr>');
write('<td style="border: 0px; vertical-align: top;"><img class="smiley" src="' . $project->logoURL . '" /></td>');
write('<td style="border: 0px; vertical-align: top;"><img class="smiley" src="' . $project->logoURL . '" alt="' . $project->title . ' logo" /></td>');
write('<td style="border: 0px;">');
if (empty($project->latestVersion))
{
/projects/edit-project-do.php
24,30 → 24,30
{
if (!empty($title))
{
$page->query('UPDATE Projects SET Title = "' . $title . '" WHERE ID = ' . $project->ID);
$page->query('UPDATE Projects SET Title = "' . $title . '" WHERE ID = "' . $project->ID . '"');
}
if (!empty($description))
{
$page->query('UPDATE Projects SET Description = "' . $description . '" WHERE ID = ' . $project->ID);
$page->query('UPDATE Projects SET Description = "' . $description . '" WHERE ID = "' . $project->ID . '"');
}
if (!empty($logoURL))
{
$page->query('UPDATE Projects SET LogoURL = "' . $logoURL . '" WHERE ID = ' . $project->ID);
$page->query('UPDATE Projects SET LogoURL = "' . $logoURL . '" WHERE ID = "' . $project->ID . '"');
}
if (!empty($websiteURL))
{
$page->query('UPDATE Projects SET WebsiteURL = "' . $websiteURL . '" WHERE ID = ' . $project->ID);
$page->query('UPDATE Projects SET WebsiteURL = "' . $websiteURL . '" WHERE ID = "' . $project->ID . '"');
}
if (!empty($downloadURL))
{
$page->query('UPDATE Projects SET DownloadURL = "' . $downloadURL . '" WHERE ID = ' . $project->ID);
$page->query('UPDATE Projects SET DownloadURL = "' . $downloadURL . '" WHERE ID = "' . $project->ID . '"');
}
if (!empty($latestVersion))
{
$page->query('UPDATE Projects SET LatestVersion = "' . $latestVersion . '" WHERE ID = ' . $project->ID);
$page->query('UPDATE Projects SET LatestVersion = "' . $latestVersion . '" WHERE ID = "' . $project->ID . '"');
}
$page->query('UPDATE Projects SET LastUpdate = NOW() WHERE ID = ' . $project->ID);
$page->query('UPDATE Projects SET LastUpdate = NOW() WHERE ID = "' . $project->ID . '"');
 
$page->redirect('index.php');
}
/projects/add-project-do.php
25,7 → 25,7
 
if ($page->isUserGM($user))
{
$page->query('INSERT INTO Projects VALUES (0, ' . $user->ID . ', "' . $title . '", "' . $description . '", "' . $logoURL . '", "' . $downloadURL . '", "' . $websiteURL . '", "' . $latestVersion . '", NOW())');
$page->query('INSERT INTO Projects VALUES (0, "' . $user->ID . '", "' . $title . '", "' . $description . '", "' . $logoURL . '", "' . $downloadURL . '", "' . $websiteURL . '", "' . $latestVersion . '", NOW())');
$page->redirect('index.php');
}
else
/projects/delete-project-do.php
10,7 → 10,7
 
if (($page->isUserAdmin($page->getLoggedInUser()) || $page->getLoggedInUser()->ID == $project->author->ID) && $project)
{
$page->query('DELETE FROM Projects WHERE ID = ' . $id);
$page->query('DELETE FROM Projects WHERE ID = "' . $id . '"');
$page->redirect('index.php');
}
else
/index.php
4,33 → 4,36
 
$page = new Taios_Page('Home');
$page->drawHeader();
write('<h3>Pages</h3>');
$page->drawMenuItem('Biggles', '/~biggles/');
$page->drawMenuItem('Freddie (FredFace)', '/~freddie/');
$page->drawMenuItem('Muzer', '/~muzer/');
$page->drawMenuItem('Sh4rk', '/~szabot/');
$page->drawMenuItem('Tom (TomMan)', '/~tom/');
$page->drawMiddle();
 
?>
 
<p class="bold">Welcome to Tim32!</p>
<p>Tim32 is a 10 year-old laptop running Ubuntu Server Edition 10.04.</p>
<?php
write('<p>Tim32 is a ' . (date("Y") - 2000) . '-year-old laptop running Ubuntu Server Edition 10.04.</p>');
write('<p>On the other hand, Tim36 (which is serving this page) is a ' . (date("Y") - 2007) . '-year-old laptop running Ubuntu Server Edition 10.04.</p>');
?>
<p>By using this website, you hereby accept cookies being stored on your computer.</p>
<br />
 
<h3>Latest Blog Posts</h3>
<h3 title="Take the Tim32 challenge: http://tim32.org/challenge/">Latest Blog Posts</h3>
<p><a href="blog/rss.php">Rss Feed</a></p>
 
<?php
 
$ids = $page->findIDs('BlogPosts', 'WHERE ParentID = -1 ORDER BY DatePosted DESC');
for ($i = 0; $i < 5 && $i < count($ids); $i++)
$ids = $page->findIDs('BlogPosts', 'WHERE ParentID = -1 AND Category != "Drafts" ORDER BY DatePosted DESC');
for ($i = 0; $i < 4 && $i < count($ids); $i++)
{
$id = $ids[$i];
$post = $page->getBlogPost($id);
write('<h4><a href="blog/post.php?id=' . $post->ID . '">' . $post->title. '</a></h4>');
 
$comment_count = 0;
$ids2 = $page->findIDs('BlogPosts', 'WHERE ParentID="' . $id . '"');
 
write('<a href="blog/post.php?id=' . $id . '"><h3>' . $post->title. '</h3></a>');
write('<h5 style="color: #666666;">Posted On ' . date('l j F Y', $post->datePosted) . ' by ' . $post->user->name . ' (' . $post->user->username . ')</h5>');
write('<p>' . $page->replaceBBCode($post->content) . '</p>');
write('<h5 style="color: #666666;">' . count($ids2) . ' Comments</h5>');
write('<br />');
}
 
/tcp.js
0,0 → 1,51
function updateResult(box, text) {
box.find(".tcp_inner_result").html("<i>Loading...</i>");
$.get('http://tim32.org/~freddie/VOSLookup/tcppop.php?totr=' + text, function(data) {
box.find(".tcp_inner_result").html(data);
});
}
 
function openBox(box) {
var text = box.attr("data-text");
box.append("<div class=\"tcp_inner\"><input type=\"text\" value=\"" + text + "\" /><input type=\"submit\" value=\"Parse\" /><br /><div class=\"tcp_inner_result\"></div></div>");
box.children(".tcp_inner").hide().fadeIn();
updateResult(box, text);
box.find("input[type=submit]").click(function() {
updateResult(box, box.find("input[type=text]").val());
return false;
});
 
box.find("input[type=text]").change(function() {
updateResult(box, $(this).val());
});
}
 
function closeBox(box) {
$(box).children(".tcp_inner").fadeOut(function() {
$(this).remove();
});
}
 
$(document).ready(function() {
$(".tcp .tcp_button").on("click", function() {
var box = $(this).parent();
var s = box.attr("data-status");
if (s == "closed") {
box.attr("data-status", "open");
$(this).attr("src", "http://tim32.org/~freddie/timlan/noTCP.png");
$(this).attr("title", "Close TCP Editor");
openBox(box);
} else {
box.attr("data-status", "closed");
$(this).attr("src", "http://tim32.org/~freddie/timlan/goTCP.png");
$(this).attr("title", "Open TCP Editor");
closeBox(box);
}
});
});
 
/_taios.php
34,12 → 34,15
write('<head>');
write('<meta http-equiv="Content-Type" content="text/html;charset=utf-8">');
write('<title>Tim32 &middot; ' . $this->title . '</title>');
write('<link href="' . $this->url . 'styles.css" rel="stylesheet" type="text/css" media="screen">');
write('<link href="' . $this->url . 'styles.css" rel="stylesheet" type="text/css" media="screen" />');
write('<link rel="shortcut icon" href="' . $this->url . 'data/favicon.png" />');
write('<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.0.min.js"></script>');
write('<script type="text/javascript" src="' . $this->url . 'tcp.js"></script>');
write('</head>');
write('<body>');
write('<div class="sidebar">');
write('<div class="sidebar-header">');
write('<h1>Tim32</h1>');
write('<a href="' . $this->url . '"><h1>Tim32</h1></a>');
write('</div>');
write('<div class="sidebar-menu">');
$this->drawMenuItem('Home', 'index.php');
49,36 → 52,43
$this->drawMenuItem('Wiki', 'wiki/');
$this->drawMenuItem('Photos', 'photos/');
write('<br />');
if ($this->isLoggedIn())
{
 
if ($this->isLoggedIn() && $this->isUserNormal($this->getLoggedInUser())) {
$this->drawMenuItem('Administration', 'admin/');
$this->drawMenuItem('Logout', 'logout-do.php');
}
else
{
} else if ($this->isLoggedIn()) {
$this->drawMenuItem('Logout', 'logout-do.php');
 
if ($this->getLoggedInUser()->username != "cake") {
$this->drawMenuItem('You are banned', NULL);
} else {
$this->drawMenuItem('<span style="color:#032865">#undefined</span>', '/challenge/cakefolder');
}
} else {
$this->drawMenuItem('Login', 'login.php');
$this->drawMenuItem('Register', 'register.php');
}
 
write('<br />');
$this->drawnHeader = true;
}
}
function drawMenuItem($t, $u)
{
write('<p><a href="' . $this->url . $u . '">' . $t . '</a></p>');
function drawMenuItem($t, $u) {
if ($u == NULL) {
write('<p style="color:red">' . $t . '</p>');
} else {
write('<p><a href="' . $this->url . $u . '">' . $t . '</a></p>');
}
}
function drawMiddle()
{
if (!$this->drawnMiddle)
{
write('<br />');
if (!$this->drawnMiddle) {
write('</div>');
write('</div>');
write('<div class="content">');
write('<h2>' . $this->title . '</h2>');
write('<a href="./"><h2>' . $this->title . '</h2></a>');
 
$this->drawnMiddle = true;
}
137,7 → 147,7
write('</p><br />');
}
 
$ids = $this->findIDs('BlogPosts', 'WHERE ParentID=' . $id);
$ids = $this->findIDs('BlogPosts', 'WHERE ParentID="' . $id . '"');
for ($i = 0; $i < count($ids); $i++)
{
write('<div class="indent">');
154,7 → 164,7
for ($i = 0; $i < count($ids); $i++)
{
$cat = $this->getBlogPost($ids[$i])->category;
if (!in_array($cat, $cats))
if (!in_array($cat, $cats) && ($cat != "Drafts" || $this->isUserGM($this->getLoggedInUser())))
{
array_push($cats, $cat);
}
169,39 → 179,42
function replaceBBCode($str)
{
$newstr = str_replace("<", "[", $str);
$newstr = str_replace(">", "]", $newstr);
$newstr = str_replace("\n", '</p><p>', $newstr);
$newstr = $str;
$newstr = str_replace("<", "&lt;", $newstr);
$newstr = str_replace(">", "&gt;", $newstr);
$newstr = str_replace("\n", "<br />", $newstr);
$newstr = str_replace("\\'", "'", $newstr);
$newstr = str_replace("\\\"",'"', $newstr);
$newstr = str_replace(' ', '&nbsp;&nbsp;', $newstr);
$newstr = str_replace(' :)', ' <img src="' . $this->url . 'data/smilies/face-smile.png" class="smiley" />', $newstr);
$newstr = str_replace(' :p', ' <img src="' . $this->url . 'data/smilies/face-raspberry.png" class="smiley" />', $newstr);
$newstr = str_replace(' :P', ' <img src="' . $this->url . 'data/smilies/face-raspberry.png" class="smiley" />',$newstr);
$newstr = str_replace(' :|', ' <img src="' . $this->url . 'data/smilies/face-plain.png" class="smiley" />',$newstr);
$newstr = str_replace(' :D', ' <img src="' . $this->url . 'data/smilies/face-laugh.png" class="smiley" />',$newstr);
$newstr = str_replace(' =D', ' <img src="' . $this->url . 'data/smilies/face-laugh.png" class="smiley" />',$newstr);
$newstr = str_replace(' :(', ' <img src="' . $this->url . 'data/smilies/face-sad.png" class="smiley" />',$newstr);
$newstr = str_replace(' :0', ' <img src="' . $this->url . 'data/smilies/face-surprise.png" class="smiley" />',$newstr);
$newstr = str_replace(' :o', ' <img src="' . $this->url . 'data/smilies/face-surprise.png" class="smiley" />',$newstr);
$newstr = str_replace(' :O', ' <img src="' . $this->url . 'data/smilies/face-surprise.png" class="smiley" />',$newstr);
$newstr = str_replace(' :/', ' <img src="' . $this->url . 'data/smilies/face-uncertain.png" class="smiley" />',$newstr);
$newstr = str_replace(' ;)', ' <img src="' . $this->url . 'data/smilies/face-wink.png" class="smiley" />',$newstr);
$bbcode = array(
'/\[b\](.+?)\[\/b\]/is',
'/\[i\](.+?)\[\/i\]/is',
'/\[u\](.+?)\[\/u\]/is',
'/\[url\](.+?)\[\/url\]/is',
'/\[code\](.+?)\[\/code\]/is',
'/\[img\](.+?)\[\/img\]/is'
'/\[b\](.+?)\[\/b\]/is',
'/\[i\](.+?)\[\/i\]/is',
'/\[u\](.+?)\[\/u\]/is',
'/\[url\](.+?)\[\/url\]/is',
'/\[url=(?:&quot;)?(.+?)(?:&quot;)?\](.+?)\[\/url\]/is',
'/\[code\](.+?)\[\/code\]/is',
'/\[img\](.+?)\[\/img\]/is',
'/\[ul\](.+?)\[\/ul\]/is',
'/\[ol\](.+?)\[\/ol\]/is',
'/\[li\](.+?)\[\/li\]/is',
'/\[mono\](.+?)\[\/mono\]/is',
'/\[tcp\](.+?)\[\/tcp\]/is'
);
 
$html = array(
'<b>$1</b>',
'<i>$1</i>',
'<u>$1</u>',
'<a href="$1">$1</a>',
'<div class="code">$1</div>',
'<img src="$1" />'
'<b>$1</b>',
'<i>$1</i>',
'<u>$1</u>',
'<a href="$1">$1</a>',
'<a href="$1">$2</a>',
'</p><div class="code">$1</div><p>',
'<img src="$1" alt="BBCode-included image" />',
'<ul>$1</ul>',
'<ol>$1</ol>',
'<li>$1</li>',
'<span style="font-family: Droid Sans Mono, monospace, fixed; margin-left: 1em; margin-right: 1em;">$1</span>',
'<span class="tcp" data-status="closed" data-text="$1">$1<img title="Open TCP Editor" class="tcp_button" src="http://tim32.org/~freddie/timlan/goTCP.png" alt="Open TCP Editor" /></span>'
);
 
$newstr = preg_replace($bbcode, $html, $newstr);
273,6 → 286,37
return false;
}
function isUserBanned()
{
if ($this->isLoggedIn())
{
if ($this->getLoggedInUser()->accessID >= 3)
{
return true;
}
}
return false;
}
function checkChallengeStatus($challengeID, $previous, $next)
{
$currentChallengeID = $this->getLoggedInUser()->challengeID;
if (!$this->isLoggedIn())
{
$this->redirect('index.php');
}
else if ($currentChallengeID > $challengeID)
{
$this->redirect($next . '.php');
}
else if ($currentChallengeID < $challengeID)
{
$this->redirect($previous . '.php');
}
}
function checkLoggedIn()
{
if (!$this->isLoggedIn())
307,7 → 351,7
function getUserByID($id)
{
$result = $this->query('SELECT * FROM Users WHERE ID = ' . $id);
$result = $this->query('SELECT * FROM Users WHERE ID = "' . $id . '"');
while ($row = mysql_fetch_array($result))
{
$user = new User;
349,7 → 393,7
function getBlogPost($id)
{
$result = $this->query('SELECT * FROM BlogPosts WHERE ID = ' . $id);
$result = $this->query('SELECT * FROM BlogPosts WHERE ID = "' . $id . '"');
while ($row = mysql_fetch_array($result))
{
$post = new BlogPost;
364,8 → 408,8
}
$post->author = $this->getUserByID($row['AuthorID']);
$post->user = $this->getUserByID($row['AuthorID']); // For some older pages
$post->title = $row['Title'];
$post->content = $row['Content'];
$post->title = htmlspecialchars($row['Title']);
$post->content = htmlspecialchars($row['Content']);
$post->datePosted = strtotime($row['DatePosted']);
$post->category = $row['Category'];
$post->spam = $row['Spam'];
378,7 → 422,7
function getProject($id)
{
$result = $this->query('SELECT * FROM Projects WHERE ID = ' . $id);
$result = $this->query('SELECT * FROM Projects WHERE ID = "' . $id . '"');
while ($row = mysql_fetch_array($result))
{
$project = new Project;
401,7 → 445,7
function getForumCategory($id)
{
$result = $this->query('SELECT * FROM ForumCategories WHERE ID = ' . $id);
$result = $this->query('SELECT * FROM ForumCategories WHERE ID = "' . $id . '"');
while ($row = mysql_fetch_array($result))
{
$f = new ForumCategory;
419,7 → 463,7
function getForumPost($id)
{
$result = $this->query('SELECT * FROM ForumPosts WHERE ID = ' . $id);
$result = $this->query('SELECT * FROM ForumPosts WHERE ID = "' . $id . '"');
while ($row = mysql_fetch_array($result))
{
$f = new ForumPost;
441,13 → 485,13
function delBlogPost($id)
{
$ids = $this->findIDs('BlogPosts', 'WHERE ParentID=' . $id);
$ids = $this->findIDs('BlogPosts', 'WHERE ParentID="' . $id . '"');
for ($i = 0; $i < count($ids); $i++)
{
$this->delBlogPost($ids[$i]);
}
 
$this->query('DELETE FROM BlogPosts WHERE ID=' . $id);
$this->query('DELETE FROM BlogPosts WHERE ID="' . $id . '"');
}
 
function getGetID()
482,6 → 526,7
public $password;
public $emailAddress;
public $name;
 
public $challengeID;
}
 
503,6 → 548,8
public $author;
public $title;
public $description;
 
 
public $logoURL;
public $downloadURL;
public $websiteURL;
516,6 → 563,7
public $parent;
public $title;
public $description;
 
}
 
class ForumPost
/styles.css
1,12 → 1,10
body {
background-color: #FFFFFF;
color: #000000;
font-family: Droid Sans, Tahoma, sans-serif;
font-size: 11pt;
font-size: 10pt;
margin: 0px;
padding: 0px;
height: 100%;
}
 
h1 {
46,7 → 44,7
}
 
p, table, span {
font-size: 11pt;
font-size: 10pt;
margin: 8px;
margin-left: 16px;
}
64,6 → 62,12
border: 1px solid #000000;
color: #000000;
background-color: #B5D7FF;
padding: 4px;
margin: 5px;
font-size: 11pt;
}
 
input[type=text], input[type=password] {
width: 500px;
}
 
91,13 → 95,20
}
 
.sidebar {
top: 0px;
left: 0px;
position: absolute;
float: left;
width: 146px;
width: 156px;
padding: 0px;
padding-left: 32px;
border-right: 0px solid #000089;
 
border-right: 2px solid #000049;
border-bottom: 2px solid #000049;
 
color: #FFFFFF;
z-index: 50;
background-color: #032865;
color: #FFFFFF;
}
 
.sidebar-header {
128,9 → 139,17
 
.content {
top: 0px;
left: 180px;
position: absolute;
margin-right: 32px;
/* left: 0px;*/
margin-left: 190px;
/* padding-top: 0px*/
/* position: absolute;*/
/* margin-right: 32px;*/
background-color: #FFFFFF;
height: 100%;
height: auto !important;
width: auto;
display: block;
/* display: inline-block;*/
}
 
.bold {
137,6 → 156,10
font-weight: bold;
}
 
.italic {
font-style: italic;
}
 
.indent {
margin-left: 14px;
border-left: 1px solid #BBBBBB;
143,11 → 166,41
}
 
.code {
border: 1px solid #333333;
border-top: 2px solid #999999;
border-bottom: 2px solid #999999;
margin: 4px 16px;
padding: 3px;
background-color: #DDDDDD;
font-family: Droid Sans Mono, Monospace, Fixed;
font-size: 10pt;
}
 
.tcp_button {
border: none;
margin: 0px 14px;
cursor: pointer;
}
 
.tcp_inner {
margin: 4px;
padding: 2px;
border: 1px solid #000000;
}
 
.tcp_inner_result {
margin: 6px;
}
 
.copyright {
color: #BBBBBB;
text-align: left;
font-size: 9pt;
}
 
.copyright a {
color: #BBBBBB;
}
 
.recaptchatable .recaptcha_image_cell, #recaptcha_table {
background-color: #4B9DE0 !important; //reCaptcha widget background color
}
/blog/add-post.php
40,12 → 40,12
}
else
{
if ($page->getLoggedInUser()->accessID >= 2 && $parentID == -1)
if (($page->getLoggedInUser()->accessID >= 2 && $parentID == -1) || $page->getLoggedInUser()->accessID > 2)
{
$page->drawError('You do not have permission to access this page.');
}
$page->query('INSERT INTO BlogPosts VALUES(0, ' . $parentID . ', "' . $page->getLoggedInUser()->ID . '", "' . $title . '", "' . $content . '", NOW(), "' . $category . '", 0)');
$page->query('INSERT INTO BlogPosts VALUES(0, "' . $parentID . '", "' . $page->getLoggedInUser()->ID . '", "' . $title . '", "' . $content . '", NOW(), "' . $category . '", 0)');
$page->redirect('post.php?id=' . $parentID);
}
}
/blog/index.php
5,6 → 5,8
$page = new Taios_Page('Blog Posts', '../');
$page->drawHeader();
$page->drawBlogCategoriesMenu();
write('<br /><h3>RSS</h3>');
$page->drawMenuItem('RSS Feed', 'blog/rss.php');
$page->drawMiddle();
 
if ($page->isUserGM($page->getLoggedInUser()))
21,6 → 23,11
write('<p>Only showing blog posts from the ' . $_GET['cat'] . ' category. <a href="index.php">Reset Filtering</a></p><br />');
}
 
if(!$page->isUserGM($page->getLoggedInUser()))
{
$query = $query . ' AND Category != "Drafts"';
}
 
$query = $query . " ORDER BY DatePosted DESC";
 
$ids = $page->findIDs('BlogPosts', $query);
28,10 → 35,13
{
$id = $ids[$i];
$post = $page->getBlogPost($id);
 
$ids2 = $page->findIDs('BlogPosts', 'WHERE ParentID="' . $id . '"');
write('<a href="post.php?id=' . $id . '"><h3>' . $post->title. '</h3></a>');
write('<h5 style="color: #666666;">Posted On ' . date('l j F Y', $post->datePosted) . ' by ' . $post->user->name . ' (' . $post->user->username . ')</h5>');
write('<p>' . $page->replaceBBCode($post->content) . '</p>');
write('<h5 style="color: #666666;"><a href="post.php?id=' . $id . '">' . count($ids2) . ' Comments</a></h5>');
write('<br />');
}
 
/blog/edit-post.php
20,7 → 20,7
$page->checkLoggedIn();
 
$post = $page->getBlogPost($id);
if (!$page->isUserAdmin($page->getLoggedInUser()) && $page->getLoggedInUser()->ID != $post->author->ID)
if ((!$page->isUserAdmin($page->getLoggedInUser()) && $page->getLoggedInUser()->ID != $post->author->ID) || !$page->isUserNormal($page->getLoggedInUser()))
{
$page->drawError('You do not have permission to access this page.');
}
43,7 → 43,7
}
else
{
$page->query('UPDATE BlogPosts SET Content = "' . $content . '", Title = "' . $title . '", Category = "' . $category . '" WHERE ID = ' . $id);
$page->query('UPDATE BlogPosts SET Content = "' . $content . '", Title = "' . $title . '", Category = "' . $category . '" WHERE ID = "' . $id . '"');
$page->redirect('post.php?id=' . $id);
}
}
/blog/rss.php
0,0 → 1,34
<?php
 
require '../_taios.php';
 
header("Content-type: application/rss+xml");
 
$page = new Taios_Page('Blog RSS Feed', '../');
 
write('<?xml version="1.0" encoding="UTF-8" ?>');
write('<rss version="2.0">');
write('<channel>');
write('<title>Tim32 Blog RSS</title>');
write('<description>This is the RSS feed for the Tim32 Blog.</description>');
write('<link>http://tim32.org/blog/</link>');
$ids = $page->findIDs('BlogPosts', 'WHERE ParentID = -1 AND CATEGORY != "Drafts" ORDER BY DatePosted DESC');
for ($i = 0; $i < count($ids); $i++)
{
$id = $ids[$i];
$post = $page->getBlogPost($id);
write('<item>');
write('<title>' . $post->title . '</title>');
write('<link>http://tim32.org/blog/post.php?id=' . $id . '</link>');
write('<guid>' . $id . '</guid>');
write('<pubDate>' . date('D, d M Y H:i:s O', $post->datePosted). '</pubDate>');
write('<description><![CDATA[' . $page->replaceBBCode($post->content) . ']]></description>');
write('</item>');
}
 
write('</channel>');
write('</rss>');
 
?>
/blog/del-post.php
7,7 → 7,7
$id = $_GET['id'];
if ($id)
{
if ($page->isUserAdmin($page->getLoggedInUser()) || $page->getLoggedInUser()->ID == $page->getBlogPost($id)->author->ID)
if ($page->isUserAdmin($page->getLoggedInUser()) || $page->getLoggedInUser()->ID == $page->getBlogPost($id)->author->ID && $page->isUserNormal($page->getLoggedInUser()))
{
$page->delBlogPost($id);
}
/404.php
1,15 → 1,14
<?php
 
header('Status: 404 Not Found');
 
require '_taios.php';
 
$page = new Taios_Page('404');
$page = new Taios_Page('404 - Page not found', '/');
$page->drawHeader();
write('<h3>Pages</h3>');
$page->drawMenuItem('Biggles', '/~biggles/');
$page->drawMenuItem('Freddie', '/~freddie/');
$page->drawMenuItem('Muzer', '/~muzer/');
$page->drawMenuItem('Sh4rk', '/~szabot/');
$page->drawMenuItem('Tom', '/~tom/');
$page->drawMenuItem('FredFace', '~freddie/');
$page->drawMenuItem('Muzer', '~muzer/');
$page->drawMiddle();
 
?>
23,7 → 22,11
<?php
 
$page->drawMenuItem('Tim32 Homepage', 'index.php');
$page->drawMenuItem('Youfail.org', 'http://youfail.org');
 
?>
<iframe src="http://notfound-static.fwebservices.be/404/index.html?&amp;key=30aca9cedc0df2682afc4e195eedb1e2" width="100%" height="650" frameborder="0"></iframe>
<?php
$page->drawFooter();
 
?>
/login.php
9,6 → 9,7
?>
 
<p class="bold">Here you can login to Tim32 using your Tim32 account.</p>
<p>By using this website, you hereby accept cookies being stored on your computer.</p>
<br />
 
<?php
21,6 → 22,12
?>
 
<form action="login-do.php" method="POST">
<?php
$redirurl = $_SERVER['HTTP_REFERER'];
if($_GET['oldurl'])
$redirurl = $_GET['oldurl'];
write('<input type="hidden" name="oldurl" value="' . $redirurl . '" />');
?>
<table>
<tr>
<td class="bold">Username: </td>
/forums/add-post-do.php
20,6 → 20,11
$title = $_POST['title'];
$content = $_POST['content'];
 
if (!$page->isUserNormal($page->getLoggedInUser()))
{
$page->redirect('add-post.php?error=You do not have permission to access this page');
}
 
if (empty($title))
{
$page->redirect('add-post.php?error=No Title Specified');
29,7 → 34,7
$page->redirect('add-post.php?error=No Content Specified');
}
 
$page->query('INSERT INTO ForumPosts VALUES (0, ' .$page->getLoggedInUser()->ID . ', ' . $categoryID . ', ' . $parentID . ', "' . $title . '", "' . $content . '", NOW(), FALSE)');
$page->query('INSERT INTO ForumPosts VALUES (0, "' .$page->getLoggedInUser()->ID . '", "' . $categoryID . '", "' . $parentID . '", "' . $title . '", "' . $content . '", NOW(), FALSE)');
$page->redirect('index.php?parentID=' . $categoryID);
 
?>
/forums/delete-category-do.php
10,7 → 10,7
 
if ($page->isUserAdmin($page->getLoggedInUser()))
{
$page->query('DELETE FROM ForumCategories WHERE ID = ' . $id);
$page->query('DELETE FROM ForumCategories WHERE ID = "' . $id . '"');
$page->redirect('index.php');
}
else
/forums/edit-category-do.php
18,7 → 18,7
$page->redirect('edit-category.php?error=No Title Specified');
}
$page->query('UPDATE ForumCategories SET Title = "' . $title . '", Description = "' . $description . '" WHERE ID = ' . $id);
$page->query('UPDATE ForumCategories SET Title = "' . $title . '", Description = "' . $description . '" WHERE ID = "' . $id . '"');
$page->redirect('index.php');
}
else
/forums/add-category-do.php
22,7 → 22,7
$page->redirect('add-category.php?error=No Title Specified');
}
$page->query('INSERT INTO ForumCategories VALUES (0, ' . $parentID . ', "' . $title . '", "' . $description . '")');
$page->query('INSERT INTO ForumCategories VALUES (0, "' . $parentID . '", "' . $title . '", "' . $description . '")');
$page->redirect('index.php?parentID=' . $parentID);
}
else
/forums/delete-post-do.php
9,9 → 9,9
$id = $page->getGetID();
$post = $page->getForumPost($id);
 
if (($page->isUserAdmin($page->getLoggedInUser()) || $post->author->ID == $page->getLoggedInUser()->ID) && $post)
if (($page->isUserAdmin($page->getLoggedInUser()) || $post->author->ID == $page->getLoggedInUser()->ID) && $post && $page->isUserNormal($page->getLoggedInUser()))
{
$page->query('DELETE FROM ForumPosts WHERE ID = ' . $id);
$page->query('DELETE FROM ForumPosts WHERE ID = "' . $id . '"');
$page->redirect('index.php');
}
else
/forums/post.php
24,7 → 24,7
}
write('<br />');
 
$ids = $page->findIDs('ForumPosts', 'WHERE ParentID = ' . $id . ' ORDER BY DatePosted ASC');
$ids = $page->findIDs('ForumPosts', 'WHERE ParentID = "' . $id . '" ORDER BY DatePosted ASC');
for ($i = 0; $i < count($ids); $i++)
{
$forumPost = $page->getForumPost($ids[$i]);
/forums/index.php
24,7 → 24,7
{
write('<a href="index.php?parentID=-1">Back to root</a>');
}
if ($page->isLoggedIn())
if ($page->isLoggedIn() && $page->isUserNormal($page->getLoggedInUser()))
{
if ($parentID != -1)
{
42,7 → 42,7
}
write('</p><br />');
 
$ids = $page->findIDs('ForumCategories', 'WHERE ParentID = ' . $parentID . ' ORDER BY Title ASC');
$ids = $page->findIDs('ForumCategories', 'WHERE ParentID = "' . $parentID . '" ORDER BY Title ASC');
 
if (count($ids) >= 1)
{
61,7 → 61,7
write('<br />');
}
 
$ids = $page->findIDs('ForumPosts', 'WHERE CategoryID = ' . $parentID . ' AND ParentID = -1 ORDER BY Title ASC');
$ids = $page->findIDs('ForumPosts', 'WHERE CategoryID = "' . $parentID . '" AND ParentID = -1 ORDER BY Title ASC');
 
if (count($ids) >= 1)
{
/forums/add-post.php
20,7 → 20,7
$categoryID = -1;
}
 
if ($page->isLoggedIn())
if ($page->isLoggedIn() && $page->isUserNormal($page->getLoggedInUser))
{
 
if (isset($_GET['error']))
/login-do.php
8,19 → 8,24
$password = $_POST['password'];
$remember = $_POST['remember'] == 'yes';
 
if(strpos($_POST['oldurl'], "tim32.org") === FALSE || strpos($_POST['oldurl'], "login") !== FALSE)
$redirurl = "http://tim32.org";
else
$redirurl = $_POST['oldurl'];
 
if (empty($username))
{
$page->redirect('login.php?error=No Username Specified');
$page->redirect('login.php?error=No Username Specified&oldurl=' . urlencode($redirurl));
}
if (empty($password))
{
$page->redirect('login.php?error=No Password Specified');
$page->redirect('login.php?error=No Password Specified&oldurl=' . urlencode($redirurl));
}
 
$user = $page->getUserByUsername($username);
if (!$user || $user->password != sha1($password))
{
$page->redirect('login.php?error=Incorrect Username or Password');
$page->redirect('login.php?error=Incorrect Username or Password&oldurl=' . urlencode($redirurl));
}
 
$expires = -1;
32,6 → 37,6
 
setcookie('Tim32_Login', $user->username . '|~|' . $user->password, $expires, '/');
 
$page->redirect('index.php');
$page->redirect($redirurl);
 
?>
/wiki/pages/Index.txt
File deleted
Property changes:
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: wiki/index.php
===================================================================
--- wiki/index.php (revision 356)
+++ wiki/index.php (revision 485)
@@ -1,5 +1,12 @@
+function endswith($string, $test) {
+ $strlen = strlen($string);
+ $testlen = strlen($test);
+ if ($testlen > $strlen) return false;
+ return substr_compare($string, $test, -$testlen) === 0;
+}
+
require '../_taios.php';
$pageName = $_GET['page'];
@@ -9,14 +16,33 @@
}
$page = new Taios_Page('Wiki - ' . $pageName, '../');
+
+if (isset($_GET['random']))
+{
+ $results = array();
+ $handler = opendir('pages/');
+ while ($file = readdir($handler))
+ {
+ if ($file != '.' && $file != '..' && endswith($file, ".txt"))
+ {
+ $results[] = substr($file, 0, count($file) - 5);
+ }
+ }
+
+ $index = rand() % count($results);
+ $result = $results[$index];
+ $page->redirect('index.php?page=' . $result);
+}
+
$page->drawHeader();
+write('

Wiki

');
+$page->drawMenuItem('Index', 'wiki/index.php');
+$page->drawMenuItem('Random Page', 'wiki/index.php?random');
$page->drawMiddle();
-write('

The wiki is still under construction.

');
-
if ($page->isUserGM($page->getLoggedInUser()))
{
- write('

Edit Page


');
+ write('

Edit Page


');
}
$filename = 'pages/' . $pageName . '.txt';
/data/favicon.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
: :
/data/favicon.png
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: register.php
===================================================================
--- register.php (revision 356)
+++ register.php (revision 485)
@@ -42,11 +42,11 @@
-Email Address
+Email Address:
-Name
+Name:
@@ -54,10 +54,16 @@
+3 + 9 * 8
+
+
+
+ +

By registering to Tim32, you agree to be reasonable in all your suggestion/accusations and advoid subjectivity. Suvbjective posts/comments are subject to removal by a Subject of the Tim32 Admins.

/register-do.php
10,6 → 10,7
$password2 = $_POST['password2'];
$email = $_POST['email'];
$name = $_POST['name'];
$maths = $_POST['maths'];
 
if (empty($username))
{
27,6 → 28,10
{
$page->redirect('register.php?error=Passwords do not match');
}
if ($maths != '75')
{
$page->redirect('register.php?error=Incorrect maths answer');
}
 
$resp = recaptcha_check_answer(RECAPTCHA_PRIVATEKEY, $_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
/photos/album.php
28,8 → 28,6
}
 
$page = new Taios_Page('Photo Albums', '../');
$page->drawHeader();
$page->drawMiddle();
 
$dirName = $_GET['dir'];
if (empty($dirName))
37,6 → 35,11
$page->redirect('index.php');
}
 
$page->drawHeader();
write('<br /><h3>RSS</h3>');
$page->drawMenuItem('RSS Feed', 'photos/rss.php?dir=' . $dirName);
$page->drawMiddle();
 
write('<p class="bold"><a href="index.php">Back to Photos</a></p><br />');
 
if (file_exists("albums/" . $dirName . "/description.txt"))
47,33 → 50,64
write('<table>');
write('<tr>');
 
$directory = "albums/" . $dirName . "/";
$sortOrder = "newestFirst";
 
$results = array();
$handler = opendir($directory);
while ($file = readdir($handler))
{
if ($file != '.' && $file != '..' && $file != "robots.txt" && $file != ".htaccess" && getimagesize($directory . $file))
{
$currentModified = filectime($directory . $file);
$file_names[] = $file;
$file_dates[] = $currentModified;
}
}
 
closedir($handler);
 
if ($sortOrder == "newestFirst")
{
arsort($file_dates);
}
else
{
asort($file_dates);
}
$file_names_Array = array_keys($file_dates);
foreach ($file_names_Array as $idx => $name) $name=$file_names[$name];
$file_dates = array_merge($file_dates);
$i = 0;
 
$indexInArray = 0;
$i = 0;
 
$dir = dir('albums/' . $dirName);
while (($file = $dir->read()) !== false)
foreach ($file_dates as $$file_dates)
{
if (getimagesize('albums/' . $dirName . '/' . $file))
$j = $file_names_Array[$indexInArray];
$file = $file_names[$j];
if ($i >= 3)
{
if ($file[0] != '.')
{
if ($i >= 3)
{
write('</tr><tr>');
$i = 0;
}
write('</tr><tr>');
$i = 0;
}
$filename = 'albums/' . $dirName . '/' . $file;
$size = getImageSizes($filename, 300, 300);
write('<td><a href="' . $filename . '"><img width="' . $size[0] . '" height="' . $size[1] . '" src="' . $filename . '" /></a></td>');
$filename = $directory . $file;
$size = getImageSizes($filename, 280, 260);
 
write('<td><a href="' . str_replace(" ", "%20", $filename) . '"><img width="' . $size[0] . '" height="' . $size[1] . '" src="' . str_replace(" ", "%20", $filename) . '" /></a></td>');
$i++;
}
}
$i++;
$indexInArray++;
}
 
write('</tr>');
write('<table>');
write('</table>');
 
$page->drawFooter();
 
/photos/rss.php
0,0 → 1,76
<?php
 
require '../_taios.php';
 
header("Content-type: application/rss+xml");
 
$page = new Taios_Page('Photos RSS Feed', '../');
 
$dirName = $_GET['dir'];
if (empty($dirName))
{
$dirName = "Lassitor";
}
 
write('<?xml version="1.0" encoding="UTF-8" ?>');
write('<rss version="2.0">');
write('<channel>');
write('<title>Tim32 Photo RSS - ' . $dirName . '</title>');
write('<description>This is the RSS feed for the Tim32 Photos.</description>');
write('<link>http://tim32.org/photos/album.php?dir=' . $dirName . '</link>');
$directory = "albums/" . $dirName . "/";
$sortOrder = "newestFirst";
 
$results = array();
$handler = opendir($directory);
while ($file = readdir($handler))
{
if ($file != '.' && $file != '..' && $file != "robots.txt" && $file != ".htaccess" && getimagesize($directory . $file))
{
$currentModified = filectime($directory . $file);
$file_names[] = $file;
$file_dates[] = $currentModified;
}
}
 
closedir($handler);
 
if ($sortOrder == "newestFirst")
{
arsort($file_dates);
}
else
{
asort($file_dates);
}
$file_names_Array = array_keys($file_dates);
foreach ($file_names_Array as $idx => $name) $name=$file_names[$name];
$file_dates = array_merge($file_dates);
 
$indexInArray = 0;
 
foreach ($file_dates as $date)
{
$j = $file_names_Array[$indexInArray];
$file = $file_names[$j];
$filename = $directory . $file;
write('<item>');
write('<title>' . $file . '</title>');
write('<link>http://tim32.org/photos/' . str_replace(" ", "%20", $filename) . '</link>');
write('<guid>id_' . $file . '</guid>');
write('<pubDate>' . date('D, d M Y H:i:s O', $date). '</pubDate>');
write('<description><![CDATA[<img src="http://tim32.org/photos/' . str_replace(" ", "%20", $filename) . '" />]]></description>');
write('</item>');
$indexInArray++;
}
 
write('</channel>');
write('</rss>');
 
?>