/blog/index.php |
---|
16,24 → 16,29 |
} |
$query = 'WHERE ParentID = -1'; |
$args = array(); |
if (isset($_GET['cat'])) |
{ |
$query = $query . ' AND Category = "' . $_GET['cat'] . '"'; |
if (isset($_GET['cat'])) { |
$query = $query . " AND Category = ?"; |
array_push($args, $_GET['cat']); |
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); |
for ($i = 0; $i < count($ids); $i++) |
{ |
$id = $ids[$i]; |
foreach ($page->findIDs('BlogPosts', $query, $args) as $id) { |
$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/add-post.php |
---|
44,8 → 44,9 |
{ |
$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)'); |
$args = array(0, $parentID, $page->getLoggedInUser()->ID, $title, $content, $category, 0); |
$page->query("INSERT INTO BlogPosts VALUES(?, ?, ?, ?, ?, NOW(), ?, ?)", $args); |
$page->redirect('post.php?id=' . $parentID); |
} |
} |
/blog/edit-post.php |
---|
27,23 → 27,18 |
$error = ''; |
if (isset($_POST['id'])) |
{ |
if (isset($_POST['id'])) { |
$title = $_POST['title']; |
$content = $_POST['content']; |
$category = $_POST['category']; |
if (empty($title)) |
{ |
if (empty($title)) { |
$error = "No Title Specified"; |
} |
else if (empty($content)) |
{ |
} else if (empty($content)) { |
$error = "No Content Specified"; |
} |
else |
{ |
$page->query('UPDATE BlogPosts SET Content = "' . $content . '", Title = "' . $title . '", Category = "' . $category . '" WHERE ID = ' . $id); |
} else { |
$args = array($content, $title, $category, $id); |
$page->query("UPDATE BlogPosts SET Content = ?, Title = ?, Category = ? WHERE ID = ?", $args); |
$page->redirect('post.php?id=' . $id); |
} |
} |
52,8 → 47,7 |
$page->drawBlogCategoriesMenu(); |
$page->drawMiddle(); |
if (!empty($error)) |
{ |
if (!empty($error)) { |
$page->drawError($error, false); |
} |
/blog/rss.php |
---|
13,7 → 13,7 |
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 ORDER BY DatePosted DESC'); |
$ids = $page->findIDs('BlogPosts', 'WHERE ParentID = -1 AND CATEGORY != "Drafts" ORDER BY DatePosted DESC'); |
for ($i = 0; $i < count($ids); $i++) |
{ |
$id = $ids[$i]; |
/admin/nowify.php |
---|
0,0 → 1,60 |
<?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 = ?", array($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,36 → 13,26 |
$name = $_POST['name']; |
$user = $page->getUserByID($userID); |
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); |
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 = ? WHERE ID = ?", array($accessID, $userID)); |
} |
if (!empty($password)) |
{ |
$page->query('UPDATE Users SET Password = "' . sha1($password) . '" WHERE ID = ' . $userID); |
if (!empty($password)) { |
$page->query("UPDATE Users SET Password = ? WHERE ID = ?", array(sha1($password), $userID)); |
} |
if (!empty($email)) |
{ |
$page->query('UPDATE Users SET EmailAddress = "' . $email . '" WHERE ID = ' . $userID); |
if (!empty($email)) { |
$page->query("UPDATE Users SET EmailAddress = ? WHERE ID = ?", array($email, $userID)); |
} |
if (!empty($name)) |
{ |
$page->query('UPDATE Users SET Name = "' . $name . '" WHERE ID = ' . $userID); |
if (!empty($name)) { |
$page->query("UPDATE Users SET Name = ? WHERE ID = ?", array($name, $userID)); |
} |
} |
else |
{ |
if (!$user) |
{ |
} else { |
if (!$user) { |
$page->drawError('No such user, #' . $userID); |
} |
else |
{ |
} else { |
$page->drawError('You do not have permission to access this page.'); |
} |
} |
/admin/all-blog-posts.php |
---|
44,7 → 44,7 |
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>' . 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>'); |
/forums/add-post-do.php |
---|
7,13 → 7,12 |
$page->checkLoggedIn(); |
$parentID = $_POST['parentID']; |
if (empty($parentID)) |
{ |
if (empty($parentID)) { |
$parentID = -1; |
} |
$categoryID = $_POST['categoryID']; |
if (empty($categoryID)) |
{ |
if (empty($categoryID)) { |
$parentID = -1; |
} |
20,21 → 19,20 |
$title = $_POST['title']; |
$content = $_POST['content']; |
if (!$page->isUserNormal($page->getLoggedInUser())) |
{ |
if (!$page->isUserNormal($page->getLoggedInUser())) { |
$page->redirect('add-post.php?error=You do not have permission to access this page'); |
} |
if (empty($title)) |
{ |
if (empty($title)) { |
$page->redirect('add-post.php?error=No Title Specified'); |
} |
if (empty($title)) |
{ |
if (empty($title)) { |
$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)'); |
$args = array($page->getLoggedInUser()->ID, $categoryID, $parentID, $title, $content); |
$page->query("INSERT INTO ForumPosts VALUES (0, ?, ?, ?, ?, ?, NOW(), FALSE)", $args); |
$page->redirect('index.php?parentID=' . $categoryID); |
?> |
/forums/delete-category-do.php |
---|
8,13 → 8,10 |
$id = $page->getGetID(); |
if ($page->isUserAdmin($page->getLoggedInUser())) |
{ |
$page->query('DELETE FROM ForumCategories WHERE ID = ' . $id); |
if ($page->isUserAdmin($page->getLoggedInUser())) { |
$page->query("DELETE FROM ForumCategories WHERE ID = ?", array($id)); |
$page->redirect('index.php'); |
} |
else |
{ |
} else { |
$page->drawError('You do not have permission to access this page.'); |
} |
/forums/edit-category-do.php |
---|
11,20 → 11,16 |
$title = $_POST['title']; |
$description = $_POST['description']; |
if ($page->isUserAdmin($page->getLoggedInUser())) |
{ |
if (empty($title)) |
{ |
if ($page->isUserAdmin($page->getLoggedInUser())) { |
if (empty($title)) { |
$page->redirect('edit-category.php?error=No Title Specified'); |
} |
$page->query('UPDATE ForumCategories SET Title = "' . $title . '", Description = "' . $description . '" WHERE ID = ' . $id); |
$args = array($title, $description, $id); |
$page->query("UPDATE ForumCategories SET Title = ?, Description = ? WHERE ID = ?", $args); |
$page->redirect('index.php'); |
} |
else |
{ |
} else { |
$page->drawError('You do not have permission to access this page.'); |
} |
?> |
/forums/add-category-do.php |
---|
7,8 → 7,7 |
$page->checkLoggedIn(); |
$parentID = $_POST['parentID']; |
if (empty($parentID)) |
{ |
if (empty($parentID)) { |
$parentID = -1; |
} |
15,20 → 14,15 |
$title = $_POST['title']; |
$description = $_POST['description']; |
if ($page->isUserAdmin($page->getLoggedInUser())) |
{ |
if (empty($title)) |
{ |
if ($page->isUserAdmin($page->getLoggedInUser())) { |
if (empty($title)) { |
$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, ?, ?, ?)", array($parentID, $title, $description)); |
$page->redirect('index.php?parentID=' . $parentID); |
} |
else |
{ |
} else { |
$page->drawError('You do not have permission to access this page.'); |
} |
?> |
/forums/delete-post-do.php |
---|
9,22 → 9,15 |
$id = $page->getGetID(); |
$post = $page->getForumPost($id); |
if (($page->isUserAdmin($page->getLoggedInUser()) || $post->author->ID == $page->getLoggedInUser()->ID) && $post && $page->isUserNormal($page->getLoggedInUser())) |
{ |
$page->query('DELETE FROM ForumPosts WHERE ID = ' . $id); |
if (($page->isUserAdmin($page->getLoggedInUser()) || $post->author->ID == $page->getLoggedInUser()->ID) && $post && $page->isUserNormal($page->getLoggedInUser())) { |
$page->query("DELETE FROM ForumPosts WHERE ID = ?", array($id)); |
$page->redirect('index.php'); |
} |
else |
{ |
if (!$post) |
{ |
} else { |
if (!$post) { |
$page->drawError('No such forum post, #' . $id); |
} |
else |
{ |
} else { |
$page->drawError('You do not have permission to access this page.'); |
} |
} |
?> |
/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 |
---|
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) |
{ |
/projects/edit-project-do.php |
---|
22,37 → 22,34 |
if ($page->isUserAdmin($page->getLoggedInUser()) || $page->getLoggedInUser()->ID == $project->author->ID) |
{ |
if (!empty($title)) |
{ |
$page->query('UPDATE Projects SET Title = "' . $title . '" WHERE ID = ' . $project->ID); |
if (!empty($title)) { |
$page->query("UPDATE Projects SET Title = ? WHERE ID = ?", array($title, $project->ID)); |
} |
if (!empty($description)) |
{ |
$page->query('UPDATE Projects SET Description = "' . $description . '" WHERE ID = ' . $project->ID); |
if (!empty($description)) { |
$page->query("UPDATE Projects SET Description = ? WHERE ID = ?", array($description, $project->ID)); |
} |
if (!empty($logoURL)) |
{ |
$page->query('UPDATE Projects SET LogoURL = "' . $logoURL . '" WHERE ID = ' . $project->ID); |
if (!empty($logoURL)) { |
$page->query("UPDATE Projects SET LogoURL = ? WHERE ID = ?", array($logoURL, $project->ID)); |
} |
if (!empty($websiteURL)) |
{ |
$page->query('UPDATE Projects SET WebsiteURL = "' . $websiteURL . '" WHERE ID = ' . $project->ID); |
if (!empty($websiteURL)) { |
$page->query("UPDATE Projects SET WebsiteURL = ? WHERE ID = ?", array($websiteURL, $project->ID)); |
} |
if (!empty($downloadURL)) |
{ |
$page->query('UPDATE Projects SET DownloadURL = "' . $downloadURL . '" WHERE ID = ' . $project->ID); |
if (!empty($downloadURL)) { |
$page->query("UPDATE Projects SET DownloadURL = ? WHERE ID = ?", array($downloadURL, $project->ID)); |
} |
if (!empty($latestVersion)) |
{ |
$page->query('UPDATE Projects SET LatestVersion = "' . $latestVersion . '" WHERE ID = ' . $project->ID); |
if (!empty($latestVersion)) { |
$page->query("UPDATE Projects SET LatestVersion = ? WHERE ID = ?", array($latestVersion, $project->ID)); |
} |
$page->query('UPDATE Projects SET LastUpdate = NOW() WHERE ID = ' . $project->ID); |
$page->query("UPDATE Projects SET LastUpdate = NOW() WHERE ID = ?", array($project->ID)); |
$page->redirect('index.php'); |
} |
else |
{ |
} else { |
$page->drawError('You do not have permission to access this page.'); |
} |
/projects/add-project-do.php |
---|
14,22 → 14,19 |
$page->checkLoggedIn(); |
$user = $page->getLoggedInUser(); |
if (empty($title)) |
{ |
if (empty($title)) { |
$page->redirect('add-project.php?error=No Title Specified'); |
} |
if (empty($description)) |
{ |
if (empty($description)) { |
$page->redirect('add-project.php?error=No Title Specified'); |
} |
if ($page->isUserGM($user)) |
{ |
$page->query('INSERT INTO Projects VALUES (0, ' . $user->ID . ', "' . $title . '", "' . $description . '", "' . $logoURL . '", "' . $downloadURL . '", "' . $websiteURL . '", "' . $latestVersion . '", NOW())'); |
if ($page->isUserGM($user)) { |
$args = array($user->ID, $title, $description, $logoURL, $downloadURL, $websiteURL, $latestVersion); |
$page->query("INSERT INTO Projects VALUES (0, ?, ?, ?, ?, ?, ?, ?, NOW())", $args); |
$page->redirect('index.php'); |
} |
else |
{ |
} else { |
$page->drawError('You do not have permission to access this page.'); |
} |
/projects/delete-project-do.php |
---|
8,19 → 8,13 |
$id = $page->getGetID(); |
$project = $page->getProject($id); |
if (($page->isUserAdmin($page->getLoggedInUser()) || $page->getLoggedInUser()->ID == $project->author->ID) && $project) |
{ |
$page->query('DELETE FROM Projects WHERE ID = ' . $id); |
if (($page->isUserAdmin($page->getLoggedInUser()) || $page->getLoggedInUser()->ID == $project->author->ID) && $project) { |
$page->query("DELETE FROM Projects WHERE ID = ?", array($id)); |
$page->redirect('index.php'); |
} |
else |
{ |
if (!$project) |
{ |
} else { |
if (!$project) { |
$page->drawError('No such project, #' . $id); |
} |
else |
{ |
} else { |
$page->drawError('You do not have permission to access this page.'); |
} |
} |
/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)) |
{ |
/register-do.php |
---|
42,7 → 42,8 |
$page->redirect('register.php?error=Incorrect reCAPTCHA response'); |
} |
$page->query('INSERT INTO Users (AccessID, Username, Password, EmailAddress, Name, ChallengeID) VALUES (2, "' . $username . '", "' . sha1($password) . '", "' . $email . '", "' . $name . '", 0)'); |
$args = array(2, $username, sha1($password), $email, $name, 0); |
$page->query("INSERT INTO Users (AccessID, Username, Password, EmailAddress, Name, ChallengeID) VALUES (?, ?, ?, ?, ?, ?)", $args); |
$page->redirect('login.php'); |
/_taios.php |
---|
13,16 → 13,12 |
$this->drawnMiddle = false; |
$this->drawnFooter = false; |
$this->db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD); |
if (!$this->db) |
{ |
$this->drawError('Failed to connect to database: ' . mysql_error()); |
} |
if (!mysql_select_db('Tim32')) |
{ |
$this->drawError('Failed to select database: ' . mysql_error()); |
} |
try { |
$this->db = new PDO("mysql:dbname=Tim32;host=" . MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD, |
array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'" )); |
} catch (PDOException $e) { |
$this->drawError("Failed to connect to database!"); |
} |
} |
function drawHeader() |
30,17 → 26,19 |
if (!$this->drawnHeader) |
{ |
write('<!DOCTYPE html>'); |
write('<html>'); |
write('<html lang="en">'); |
write('<head>'); |
write('<meta http-equiv="Content-Type" content="text/html;charset=utf-8">'); |
write('<title>Tim32 · ' . $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="all" />'); |
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'); |
50,35 → 48,32 |
$this->drawMenuItem('Wiki', 'wiki/'); |
$this->drawMenuItem('Photos', 'photos/'); |
write('<br />'); |
if ($this->isLoggedIn() && $this->isUserNormal($this->getLoggedInUser())) |
{ |
if ($this->isLoggedIn() && $this->isUserNormal($this->getLoggedInUser())) { |
$this->drawMenuItem('Administration', 'admin/'); |
$this->drawMenuItem('Logout', 'logout-do.php'); |
} |
else if ($this->isLoggedIn()) |
{ |
} else if ($this->isLoggedIn()) { |
$this->drawMenuItem('Logout', 'logout-do.php'); |
if ($this->getLoggedInUser()->username != "cake") |
if ($this->getLoggedInUser()->username != "cake") { |
$this->drawMenuItem('You are banned', NULL); |
} |
else |
{ |
} 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) |
{ |
if($u == NULL) |
{ |
function drawMenuItem($t, $u) { |
if ($u == NULL) { |
write('<p style="color:red">' . $t . '</p>'); |
} |
else |
{ |
} else { |
write('<p><a href="' . $this->url . $u . '">' . $t . '</a></p>'); |
} |
} |
85,13 → 80,11 |
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; |
} |
101,7 → 94,6 |
{ |
if (!$this->drawnFooter) |
{ |
write('<br /><p class="copyright">Tim32</p>'); |
write('</div>'); |
write('</body>'); |
write('</html>'); |
119,8 → 111,7 |
write('<h4 style="color: red;">Error: ' . $text . '</h4>'); |
if ($die) |
{ |
if ($die) { |
$this->drawFooter(); |
die(); |
} |
151,7 → 142,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">'); |
168,7 → 159,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); |
} |
183,64 → 174,46 |
function replaceBBCode($str) |
{ |
/*$newstrarray = explode("\n", $str); |
$newstr = ""; |
foreach ($newstrarray as $line) |
{ |
if ($line == "\n" || $line == " \n" || $line == "\n " || $line == "\n\r") |
{ |
$line = "</p><p>"; |
} |
$newstr .= ($line . "\n"); |
}*/ |
$newstr = $str; |
$newstr = str_replace("<", "[", $newstr); |
$newstr = str_replace(">", "]", $newstr); |
$newstr = str_replace("\n", "</p><p>", $newstr); |
$newstr = str_replace("<", "<", $newstr); |
$newstr = str_replace(">", ">", $newstr); |
$newstr = str_replace("\n", "<br />", $newstr); |
$newstr = str_replace("\\'", "'", $newstr); |
$newstr = str_replace("\\\"",'"', $newstr); |
$newstr = str_replace(' ', ' ', $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', |
'/\[url=(.+?)\](.+?)\[\/url\]/is', |
'/\[code\](.+?)\[\/code\]/is', |
'/\[img\](.+?)\[\/img\]/is', |
'/\[ul\](.+?)\[\/ul\]/is', |
'/\[ol\](.+?)\[\/ol\]/is', |
'/\[li\](.+?)\[\/li\]/is', |
'/\[mono\](.+?)\[\/mono\]/is' |
'/\[b\](.+?)\[\/b\]/is', |
'/\[i\](.+?)\[\/i\]/is', |
'/\[u\](.+?)\[\/u\]/is', |
'/\[url\](.+?)\[\/url\]/is', |
'/\[w\](.+?)\[\/w\]/is', |
'/\[url=(?:")?(.+?)(?:")?\](.+?)\[\/url\]/is', |
'/\[w=(?:")?(.+?)(?:")?\](.+?)\[\/w\]/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>', |
'<a href="$1">$2</a>', |
'<div class="code">$1</div>', |
'<img src="$1" />', |
'<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>', |
'<b>$1</b>', |
'<i>$1</i>', |
'<u>$1</u>', |
'<a href="$1">$1</a>', |
'<a href="/wiki/index.php?page=$1">$1</a>', |
'<a href="$1">$2</a>', |
'<a href="/wiki/index.php?page=$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); |
351,24 → 324,22 |
} |
} |
function query($query) |
function query($query, $args = array()) |
{ |
$result = mysql_query($query); |
if (!$result) |
{ |
$this->drawError('Query Failed: ' . $query . "\n" . 'MySQL Error: ' . mysql_error()); |
} |
return $result; |
$statement = $this->db->prepare($query); |
if (!$statement->execute($args)) { |
$this->drawError("Query Failed! MySQL Error: " . $statement->errorInfo()); |
} |
return $statement->fetchAll(); |
} |
function findIDs($table, $query = '') |
function findIDs($table, $query = '', $args = array()) |
{ |
$array = array(); |
$result = $this->query('SELECT ID FROM ' . $table . ' ' . $query); |
while ($row = mysql_fetch_array($result)) |
{ |
$results = $this->query('SELECT ID FROM ' . $table . ' ' . $query, $args); |
foreach ($results as $row) { |
array_push($array, $row['ID']); |
} |
377,10 → 348,8 |
function getUserByID($id) |
{ |
$result = $this->query('SELECT * FROM Users WHERE ID = ' . $id); |
while ($row = mysql_fetch_array($result)) |
{ |
$user = new User; |
foreach ($this->query("SELECT * FROM Users WHERE ID = ?", array($id)) as $row) { |
$user = new User(); |
$user->ID = $row['ID']; |
$user->accessID = $row['AccessID']; |
$user->username = $row['Username']; |
395,11 → 364,8 |
return false; |
} |
function getUserByUsername($username) |
{ |
$result = $this->query('SELECT * FROM Users WHERE Username = "' . $username . '"'); |
while ($row = mysql_fetch_array($result)) |
{ |
function getUserByUsername($username) { |
foreach ($this->query("SELECT * FROM Users WHERE Username = ?", array($username)) as $row) { |
return $this->getUserByID($row['ID']); |
} |
406,10 → 372,8 |
return false; |
} |
function getLoggedInUser() |
{ |
if ($this->isLoggedIn()) |
{ |
function getLoggedInUser() { |
if ($this->isLoggedIn()) { |
$clist = explode('|~|', $_COOKIE['Tim32_Login']); |
return $this->getUserByUsername($clist[0]); |
} |
417,25 → 381,21 |
return false; |
} |
function getBlogPost($id) |
{ |
$result = $this->query('SELECT * FROM BlogPosts WHERE ID = ' . $id); |
while ($row = mysql_fetch_array($result)) |
{ |
function getBlogPost($id) { |
foreach ($this->query("SELECT * FROM BlogPosts WHERE ID = ?", array($id)) as $row) { |
$post = new BlogPost; |
$post->ID = $row['ID']; |
if ($row['ParentID'] == -1) |
{ |
if ($row['ParentID'] == -1) { |
$post->parent = -1; |
} |
else |
{ |
} else { |
$post->parent = $this->getBlogPost($row['ParentID']); |
} |
$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']; |
446,11 → 406,8 |
$this->drawError('Cannot find blog post, #' . $id); |
} |
function getProject($id) |
{ |
$result = $this->query('SELECT * FROM Projects WHERE ID = ' . $id); |
while ($row = mysql_fetch_array($result)) |
{ |
function getProject($id) { |
foreach ($this->query("SELECT * FROM Projects WHERE ID = ?", array($id)) as $row) { |
$project = new Project; |
$project->ID = $row['ID']; |
469,11 → 426,8 |
return false; |
} |
function getForumCategory($id) |
{ |
$result = $this->query('SELECT * FROM ForumCategories WHERE ID = ' . $id); |
while ($row = mysql_fetch_array($result)) |
{ |
function getForumCategory($id) { |
foreach ($this->query("SELECT * FROM ForumCategories WHERE ID = ?", array($id)) as $row) { |
$f = new ForumCategory; |
$f->ID = $row['ID']; |
487,11 → 441,8 |
return false; |
} |
function getForumPost($id) |
{ |
$result = $this->query('SELECT * FROM ForumPosts WHERE ID = ' . $id); |
while ($row = mysql_fetch_array($result)) |
{ |
function getForumPost($id) { |
foreach ($this->query("SELECT * FROM ForumPosts WHERE ID = ?", array($id)) as $row) { |
$f = new ForumPost; |
$f->ID = $row['ID']; |
509,22 → 460,17 |
return false; |
} |
function delBlogPost($id) |
{ |
$ids = $this->findIDs('BlogPosts', 'WHERE ParentID=' . $id); |
for ($i = 0; $i < count($ids); $i++) |
{ |
$this->delBlogPost($ids[$i]); |
function delBlogPost($id) { |
foreach ($this->findIDs("BlogPosts", "WHERE ParentID = ?", array($id)) as $i) { |
$this->delBlogPost($i); |
} |
$this->query('DELETE FROM BlogPosts WHERE ID=' . $id); |
$this->query("DELETE FROM BlogPosts WHERE ID = ?", array($id)); |
} |
function getGetID() |
{ |
function getGetID() { |
$id = $_GET['id']; |
if (empty($id)) |
{ |
if (empty($id)) { |
$id = 1; |
} |
531,11 → 477,9 |
return $id; |
} |
function getPostID() |
{ |
function getPostID() { |
$id = $_POST['id']; |
if (empty($id)) |
{ |
if (empty($id)) { |
$id = 1; |
} |
/wiki/edit-do.php |
---|
2,6 → 2,22 |
require '../_taios.php'; |
if (get_magic_quotes_gpc()) { |
$process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST); |
while (list($key, $val) = each($process)) { |
foreach ($val as $k => $v) { |
unset($process[$key][$k]); |
if (is_array($v)) { |
$process[$key][stripslashes($k)] = $v; |
$process[] = &$process[$key][stripslashes($k)]; |
} else { |
$process[$key][stripslashes($k)] = stripslashes($v); |
} |
} |
} |
unset($process); |
} |
$pageName = $_POST['page']; |
if (empty($pageName)) |
{ |
14,7 → 30,12 |
if ($page->isUserGM($page->getLoggedInUser())) |
{ |
$pageName = str_replace("../", "/", $pageName); |
$filename = 'pages/' . $pageName . '.txt'; |
if(!is_dir(dirname($filename))) |
mkdir(dirname($filename), 0777, true); |
$fp = @fopen($filename, 'w'); |
if ($fp) |
/wiki/edit.php |
---|
16,6 → 16,8 |
if ($page->isUserGM($page->getLoggedInUser())) |
{ |
$pageName = str_replace("../", "/", $pageName); |
$filename = 'pages/' . $pageName . '.txt'; |
$content = ""; |
33,7 → 35,7 |
<input type="hidden" name="page" value="<?php echo $pageName; ?>" /> |
<table> |
<tr> |
<td><textarea name="content"><?php echo $content; ?></textarea></td> |
<td><textarea name="content"><?php write($content); ?></textarea></td> |
</tr> |
<tr> |
<td><input type="submit" value="Edit" /></td> |
/wiki/index.php |
---|
45,6 → 45,8 |
write('<p class="bold"><a href="edit.php?page=' . $pageName . '">Edit Page</a></p><br />'); |
} |
$pageName = str_replace("../", "/", $pageName); |
$filename = 'pages/' . $pageName . '.txt'; |
$fp = @fopen($filename, 'r'); |
58,6 → 60,26 |
write('<p>This page is empty.</p>'); |
} |
if(is_dir('pages/' . $pageName)) |
{ |
write('<p>Directory listing of ' . $pageName . ':</p>'); |
write('<ul>'); |
$dir = opendir('pages/' . $pageName); |
if($dir) |
{ |
while (($file = readdir($dir)) !== false) |
{ |
if($file != '.' && $file != '..' && (preg_match('/\.txt$/', $file) || is_dir('pages/' . $pageName . '/' . $file))) |
{ |
$file = preg_replace('/\.txt$/', '', $file); |
write('<li><a href="index.php?page=' . $pageName . '/' . htmlspecialchars($file) . '">' . htmlspecialchars($file) . '</a></li>'); |
} |
} |
} |
write('</ul>'); |
write('<p>End of directory listing</p>'); |
} |
$page->drawFooter(); |
?> |
/index.php |
---|
4,17 → 4,16 |
$page = new Taios_Page('Home'); |
$page->drawHeader(); |
write('<h3>Pages</h3>'); |
$page->drawMenuItem('Biggles', '/~biggles/'); |
$page->drawMenuItem('FredFace', '/~freddie/'); |
$page->drawMenuItem('Muzer', '/~muzer/'); |
$page->drawMenuItem('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 title="Take the Tim32 challenge: http://tim32.org/challenge/">Latest Blog Posts</h3> |
22,15 → 21,19 |
<?php |
$ids = $page->findIDs('BlogPosts', 'WHERE ParentID = -1 ORDER BY DatePosted DESC'); |
$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); |
} |
}); |
}); |
/styles.css |
---|
1,12 → 1,10 |
body { |
background-color: #FFFFFF; |
color: #000000; |
font-family: Droid Sans, Tahoma, sans-serif; |
font-size: 10pt; |
font-size: 10pt; |
margin: 0px; |
padding: 0px; |
height: 100%; |
} |
h1 { |
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; |
} |
93,16 → 97,18 |
.sidebar { |
top: 0px; |
left: 0px; |
position: fixed; |
position: absolute; |
float: left; |
width: 156px; |
padding: 0px; |
padding-left: 32px; |
border-right: 2px solid #000049; |
background-color: #032865; |
border-bottom: 2px solid #000049; |
color: #FFFFFF; |
height: 100%; |
z-index: 50; |
background-color: #032865; |
} |
.sidebar-header { |
133,9 → 139,17 |
.content { |
top: 0px; |
left: 190px; |
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 { |
154,13 → 168,29 |
.code { |
border-top: 2px solid #999999; |
border-bottom: 2px solid #999999; |
margin: 14px; |
margin: 4px 16px; |
padding: 3px; |
background-color: #DDDDDD; |
font-family: Droid Sans Mono, Monospace, Fixed; |
font-size: 9px; |
line-height: 80%; |
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; |
/404.php |
---|
7,10 → 7,8 |
$page = new Taios_Page('404 - Page not found', '/'); |
$page->drawHeader(); |
write('<h3>Pages</h3>'); |
$page->drawMenuItem('Biggles', '~biggles/'); |
$page->drawMenuItem('Freddie (FredFace)', '~freddie/'); |
$page->drawMenuItem('FredFace', '~freddie/'); |
$page->drawMenuItem('Muzer', '~muzer/'); |
$page->drawMenuItem('Tom (TomMan)', '~tom/'); |
$page->drawMiddle(); |
?> |
26,6 → 24,9 |
$page->drawMenuItem('Tim32 Homepage', 'index.php'); |
$page->drawMenuItem('Youfail.org', 'http://youfail.org'); |
?> |
<iframe src="http://notfound-static.fwebservices.be/404/index.html?&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> |
/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); |
?> |