/styles.css |
---|
4,19 → 4,22 |
font-family: Droid Sans, Tahoma, sans-serif; |
font-size: 11pt; |
margin: 0px; |
padding: 0px; |
} |
h1 { |
font-size: 28pt; |
margin: 6px; |
margin: 8px; |
margin-top: 0px; |
color: #000089; |
border-bottom: 1px solid #000000; |
color: #FFFFFF; |
border-bottom: 1px solid #FFFFFF; |
} |
h2 { |
font-size: 20pt; |
margin: 6px; |
margin: 8px; |
margin-left: 8px; |
color: #00004B; |
} |
23,7 → 26,7 |
h3 { |
font-size: 16pt; |
margin: 6px; |
margin: 8px; |
margin-left: 10px; |
color: #000055; |
} |
30,7 → 33,7 |
h4 { |
font-size: 12pt; |
margin: 6px; |
margin: 8px; |
margin-left: 12px; |
color: #00005F; |
} |
37,7 → 40,7 |
h5 { |
font-size: 10pt; |
margin: 6px; |
margin: 8px; |
margin-left: 14px; |
color: #000069; |
} |
44,7 → 47,7 |
p, table, span { |
font-size: 11pt; |
margin: 6px; |
margin: 8px; |
margin-left: 16px; |
} |
61,6 → 64,7 |
border: 1px solid #000000; |
color: #000000; |
background-color: #B5D7FF; |
width: 500px; |
} |
table { |
76,6 → 80,11 |
border: 2px solid #333333; |
} |
textarea { |
width: 500px; |
height: 300px; |
} |
.smiley { |
border: 0px; |
vertical-align: middle; |
82,21 → 91,16 |
} |
.sidebar { |
left: 0px; |
top: 0px; |
position: fixed; |
float: left; |
width: 180px; |
padding: 0px; |
padding-left: 32px; |
border-right: 1px solid #000089; |
background-color: #FFFF73; |
background-image: url('data/sidebar-gradient.png'); |
background-repeat: repeat-x; |
background-position: center bottom; |
border-right: 0px solid #000089; |
background-color: #032865; |
color: #FFFFFF; |
} |
.sidebar-header { |
left: 0px; |
width: 140px; |
padding: 6px; |
text-align: right; |
105,10 → 109,12 |
.sidebar-menu { |
text-align: right; |
padding: 6px; |
color: #FFFFFF; |
} |
.sidebar-menu h3 { |
margin: 6px; |
color: #FFFFFF; |
} |
.sidebar-menu p { |
116,9 → 122,13 |
margin: 4px; |
} |
.sidebar-menu a { |
color: #FFFFFF; |
} |
.content { |
top: 0px; |
left: 200px; |
top: 0px; |
position: absolute; |
margin-right: 32px; |
} |
/photos/index.php |
---|
2,12 → 2,29 |
require '../_taios.php'; |
$page = new Taios_Page('Photos', '../'); |
$page = new Taios_Page('Photo Albums', '../'); |
$page->drawHeader(); |
$page->drawMiddle(); |
write('<br /><p class="bold">This page is currently under construction.</p>'); |
write('<p>Here we have all sorts of photos from Tim32.</p><br />'); |
$dirs = array(); |
$dir = dir('albums/'); |
while (($file = $dir->read()) !== false) |
{ |
array_push($dirs, $file); |
} |
asort($dirs); |
foreach ($dirs as $file) |
{ |
if ($file[0] != '.') |
{ |
write('<p><a href="album.php?dir=' . $file . '">' . $file . '</a></p>'); |
} |
} |
$page->drawFooter(); |
?> |
/photos/album.php |
---|
0,0 → 1,81 |
<?php |
require '../_taios.php'; |
function getImageSizes($sourceImageFilePath, $maxResizeWidth, $maxResizeHeight) { |
$size = getimagesize($sourceImageFilePath); |
$origWidth = $size[0]; |
$origHeight = $size[1]; |
$resizedWidth = $origWidth; |
$resizedHeight = $origHeight; |
if ($resizedWidth > $maxResizeWidth) |
{ |
$aspectRatio = $maxResizeWidth / $resizedWidth; |
$resizedWidth = round($aspectRatio * $resizedWidth); |
$resizedHeight = round($aspectRatio * $resizedHeight); |
} |
if ($resizedHeight > $maxResizeHeight) |
{ |
$aspectRatio = $maxResizeHeight / $resizedHeight; |
$resizedWidth = round($aspectRatio * $resizedWidth); |
$resizedHeight = round($aspectRatio * $resizedHeight); |
} |
return array($resizedWidth, $resizedHeight); |
} |
$page = new Taios_Page('Photo Albums', '../'); |
$page->drawHeader(); |
$page->drawMiddle(); |
$dirName = $_GET['dir']; |
if (empty($dirName)) |
{ |
$page->redirect('index.php'); |
} |
write('<p class="bold"><a href="index.php">Back to Photos</a></p><br />'); |
if (file_exists("albums/" . $dirName . "/description.txt")) |
{ |
write('<p>' . $page->replaceBBCode(file_get_contents("albums/" . $dirName . "/description.txt")) . '</p><br />'); |
} |
write('<table>'); |
write('<tr>'); |
$i = 0; |
$dir = dir('albums/' . $dirName); |
while (($file = $dir->read()) !== false) |
{ |
if (getimagesize('albums/' . $dirName . '/' . $file)) |
{ |
if ($file[0] != '.') |
{ |
if ($i >= 4) |
{ |
write('</tr><tr>'); |
$i = 0; |
} |
$filename = 'albums/' . $dirName . '/' . $file; |
$size = getImageSizes($filename, 200, 200); |
write('<td><a href="' . $filename . '"><img width="' . $size[0] . '" height="' . $size[1] . '" src="' . $filename . '" /></a></td>'); |
$i++; |
} |
} |
} |
write('</tr>'); |
write('<table>'); |
$page->drawFooter(); |
?> |
/photos/albums/Lassitor/Lassitor.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/photos/albums/Lassitor/Lassitor.png |
---|
Property changes: |
Added: svn:mime-type |
## -0,0 +1 ## |
+application/octet-stream |
\ No newline at end of property |
Index: photos/albums/Lassitor/Lassitor-3d.png |
=================================================================== |
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Index: photos/albums/Lassitor/Lassitor-3d.png |
=================================================================== |
--- photos/albums/Lassitor/Lassitor-3d.png (nonexistent) |
+++ photos/albums/Lassitor/Lassitor-3d.png (revision 343) |
/photos/albums/Lassitor/Lassitor-3d.png |
---|
Property changes: |
Added: svn:mime-type |
## -0,0 +1 ## |
+application/octet-stream |
\ No newline at end of property |
Index: mobile.css |
=================================================================== |
--- mobile.css (nonexistent) |
+++ mobile.css (revision 343) |
@@ -0,0 +1,148 @@ |
+body { |
+ background-color: #FFFFFF; |
+ color: #000000; |
+ |
+ font-family: Droid Sans, Tahoma, sans-serif; |
+ font-size: 11pt; |
+ |
+ margin: 0px; |
+ padding: 0px; |
+} |
+ |
+h1 { |
+ font-size: 28pt; |
+ margin: 8px; |
+ margin-top: 0px; |
+ color: #FFFFFF; |
+ border-bottom: 1px solid #FFFFFF; |
+} |
+ |
+h2 { |
+ font-size: 20pt; |
+ margin: 8px; |
+ margin-left: 8px; |
+ color: #00004B; |
+} |
+ |
+h3 { |
+ font-size: 16pt; |
+ margin: 8px; |
+ margin-left: 10px; |
+ color: #000055; |
+} |
+ |
+h4 { |
+ font-size: 12pt; |
+ margin: 8px; |
+ margin-left: 12px; |
+ color: #00005F; |
+} |
+ |
+h5 { |
+ font-size: 10pt; |
+ margin: 8px; |
+ margin-left: 14px; |
+ color: #000069; |
+} |
+ |
+p, table, span { |
+ font-size: 11pt; |
+ margin: 8px; |
+ margin-left: 16px; |
+} |
+ |
+a { |
+ text-decoration: none; |
+ color: #000050; |
+} |
+ |
+a:hover { |
+ text-decoration: underline; |
+} |
+ |
+input { |
+ border: 1px solid #000000; |
+ color: #000000; |
+ background-color: #B5D7FF; |
+ width: 500px; |
+} |
+ |
+table { |
+ border: 1px solid #222222; |
+} |
+ |
+td { |
+ padding: 3px; |
+ border: 1px solid #888888; |
+} |
+ |
+img { |
+ border: 2px solid #333333; |
+} |
+ |
+textarea { |
+ width: 500px; |
+ height: 300px; |
+} |
+ |
+.smiley { |
+ border: 0px; |
+ vertical-align: middle; |
+} |
+ |
+.sidebar { |
+ width: 100%; |
+ border-right: 0px solid #000089; |
+ background-color: #032865; |
+ color: #FFFFFF; |
+} |
+ |
+.sidebar-header { |
+ left: 0px; |
+ width: 140px; |
+ padding: 6px; |
+ text-align: right; |
+} |
+ |
+.sidebar-menu { |
+ text-align: right; |
+ padding: 6px; |
+ color: #FFFFFF; |
+} |
+ |
+.sidebar-menu h3 { |
+ margin: 6px; |
+ color: #FFFFFF; |
+} |
+ |
+.sidebar-menu p { |
+ font-size: 12pt; |
+ margin: 4px; |
+} |
+ |
+.sidebar-menu a { |
+ color: #FFFFFF; |
+} |
+ |
+.content { |
+ left: 194px; |
+ top: 0px; |
+ position: absolute; |
+ margin-right: 32px; |
+} |
+ |
+.bold { |
+ font-weight: bold; |
+} |
+ |
+.indent { |
+ margin-left: 14px; |
+ border-left: 1px solid #BBBBBB; |
+} |
+ |
+.code { |
+ border: 1px solid #333333; |
+ background-color: #DDDDDD; |
+ font-family: Droid Sans Mono, Monospace, Fixed; |
+} |
+ |
Index: _taios.php |
=================================================================== |
--- _taios.php (revision 192) |
+++ _taios.php (revision 343) |
@@ -1,477 +1,540 @@ |
- |
- |
-require '_config.php'; |
- |
-class Taios_Page |
-{ |
- function __construct($title, $url = "") |
- { |
- $this->title = $title; |
- $this->url = $url; |
- |
- $this->drawnHeader = false; |
- $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()); |
- } |
- } |
- |
- function drawHeader() |
- { |
- if (!$this->drawnHeader) |
- { |
- write(''); |
- write(''); |
- write(''); |
- write(''); |
- write(' |
- write(''); |
- write(''); |
- write(''); |
- write(' |
- write(' |
- write('Tim32'); |
- write(''); |
- write(' |
- $this->drawMenuItem('Home', 'index.php'); |
- $this->drawMenuItem('Blog', 'blog/'); |
- $this->drawMenuItem('Projects', 'projects/'); |
- $this->drawMenuItem('Forums', 'forums/'); |
- $this->drawMenuItem('Wiki', 'wiki/'); |
- $this->drawMenuItem('Photos', 'photos/'); |
- write(' '); |
- if ($this->isLoggedIn()) |
- { |
- $this->drawMenuItem('Administration', 'admin/'); |
- $this->drawMenuItem('Logout', 'logout-do.php'); |
- } |
- else |
- { |
- $this->drawMenuItem('Login', 'login.php'); |
- $this->drawMenuItem('Register', 'register.php'); |
- } |
- write(' '); |
- |
- $this->drawnHeader = true; |
- } |
- } |
- |
- function drawMenuItem($t, $u) |
- { |
- write(''); |
- } |
- |
- function drawMiddle() |
- { |
- if (!$this->drawnMiddle) |
- { |
- write(' '); |
- write(''); |
- write(''); |
- write(' '); |
- write('' . $this->title . ''); |
- |
- $this->drawnMiddle = true; |
- } |
- } |
- |
- function drawFooter() |
- { |
- if (!$this->drawnFooter) |
- { |
- write(''); |
- write(''); |
- write(''); |
- |
- $this->drawnFooter = true; |
- } |
- |
- die(); |
- } |
- |
- function drawError($text, $die = true) |
- { |
- $this->drawHeader(); |
- $this->drawMiddle(); |
- |
- write('Error: ' . $text . ''); |
- |
- if ($die) |
- { |
- $this->drawFooter(); |
- die(); |
- } |
- } |
- |
- function drawBlogPostTree($id, $first = false) |
- { |
- $post = $this->getBlogPost($id); |
- if ($first) |
- { |
- write('' . $post->title. ' ^'); |
- } |
- else |
- { |
- write('' . $post->title. ''); |
- } |
- write('Posted On ' . date('l j F Y', $post->datePosted) . ' by ' . $post->user->name . ' (' . $post->user->username . ')'); |
- write(' ' . $this->replaceBBCode($post->content) . ' '); |
- write(' '); |
- if ($this->isUserNormal($this->getLoggedInUser())) |
- { |
- echo ' |
- if ($this->isUserAdmin($this->getLoggedInUser()) || $this->getLoggedInUser()->ID == $post->author->ID) |
- { |
- echo ' · Edit Post'; |
- echo ' · Delete Post'; |
- } |
- write(' '); |
- } |
- |
- $ids = $this->findIDs('BlogPosts', 'WHERE ParentID=' . $id); |
- for ($i = 0; $i < count($ids); $i++) |
- { |
- write(' '); |
- $this->drawBlogPostTree($ids[$i]); |
- write(''); |
- } |
- } |
- |
- function drawBlogCategoriesMenu() |
- { |
- $cats = array(); |
- |
- $ids = $this->findIDs('BlogPosts', 'WHERE ParentID = -1'); |
- for ($i = 0; $i < count($ids); $i++) |
- { |
- $cat = $this->getBlogPost($ids[$i])->category; |
- if (!in_array($cat, $cats)) |
- { |
- array_push($cats, $cat); |
- } |
- } |
- |
- write('Categories'); |
- for ($i = 0; $i < count($cats); $i++) |
- { |
- $this->drawMenuItem($cats[$i], 'blog/index.php?cat=' . $cats[$i]); |
- } |
- } |
- |
- function replaceBBCode($str) |
- { |
- $newstr = str_replace("\n", ' ', $str); |
- $newstr = str_replace(' ', ' ', $newstr); |
- $newstr = str_replace(' :)', ' ', $newstr); |
- $newstr = str_replace(' :p', ' ', $newstr); |
- $newstr = str_replace(' :P', ' ',$newstr); |
- $newstr = str_replace(' :|', ' ',$newstr); |
- $newstr = str_replace(' :D', ' ',$newstr); |
- $newstr = str_replace(' =D', ' ',$newstr); |
- $newstr = str_replace(' :(', ' ',$newstr); |
- $newstr = str_replace(' :0', ' ',$newstr); |
- $newstr = str_replace(' :o', ' ',$newstr); |
- $newstr = str_replace(' :O', ' ',$newstr); |
- $newstr = str_replace(' :/', ' ',$newstr); |
- $newstr = str_replace(' ;)', ' ',$newstr); |
- |
- $bbcode = array( |
- '/\[b\](.+?)\[\/b\]/is', |
- '/\[i\](.+?)\[\/i\]/is', |
- '/\[u\](.+?)\[\/u\]/is', |
- '/\[url\](.+?)\[\/url\]/is', |
- '/\[code\](.+?)\[\/code\]/is', |
- '/\[img\](.+?)\[\/img\]/is' |
- ); |
- |
- $html = array( |
- '$1', |
- '$1', |
- '$1', |
- '$1', |
- ' $1 ', |
- '' |
- ); |
- |
- $newstr = preg_replace($bbcode, $html, $newstr); |
- |
- return $newstr; |
- } |
- |
- function redirect($u) |
- { |
- header('Location: ' . $u); |
- die(); |
- } |
- |
- function isLoggedIn() |
- { |
- $cookie = $_COOKIE['Tim32_Login']; |
- if (!empty($cookie)) |
- { |
- $clist = explode('|~|', $cookie); |
- $user = $this->getUserByUsername($clist[0]); |
- if ($user) |
- { |
- if ($user->password == $clist[1]) |
- { |
- return true; |
- } |
- } |
- } |
- |
- return false; |
- } |
- |
- function isUserAdmin() |
- { |
- if ($this->isLoggedIn()) |
- { |
- if ($this->getLoggedInUser()->accessID <= 0) |
- { |
- return true; |
- } |
- } |
- |
- return false; |
- } |
- |
- function isUserGM() |
- { |
- if ($this->isLoggedIn()) |
- { |
- if ($this->getLoggedInUser()->accessID <= 1) |
- { |
- return true; |
- } |
- } |
- |
- return false; |
- } |
- |
- function isUserNormal() |
- { |
- if ($this->isLoggedIn()) |
- { |
- if ($this->getLoggedInUser()->accessID <= 2) |
- { |
- return true; |
- } |
- } |
- |
- return false; |
- } |
- |
- function checkLoggedIn() |
- { |
- if (!$this->isLoggedIn()) |
- { |
- $this->drawError('You need to be logged in.'); |
- } |
- } |
- |
- function query($query) |
- { |
- $result = mysql_query($query); |
- if (!$result) |
- { |
- $this->drawError('MySQL Error: ' . mysql_error()); |
- } |
- |
- return $result; |
- } |
- |
- function findIDs($table, $query = '') |
- { |
- $array = array(); |
- |
- $result = $this->query('SELECT ID FROM ' . $table . ' ' . $query); |
- while ($row = mysql_fetch_array($result)) |
- { |
- array_push($array, $row['ID']); |
- } |
- |
- return $array; |
- } |
- |
- function getUserByID($id) |
- { |
- $result = $this->query('SELECT * FROM Users WHERE ID = ' . $id); |
- while ($row = mysql_fetch_array($result)) |
- { |
- $user = new User; |
- $user->ID = $row['ID']; |
- $user->accessID = $row['AccessID']; |
- $user->username = $row['Username']; |
- $user->password = $row['Password']; |
- $user->emailAddress = $row['EmailAddress']; |
- $user->name = $row['Name']; |
- $user->challengeID = $row['ChallengeID']; |
- |
- return $user; |
- } |
- |
- return false; |
- } |
- |
- function getUserByUsername($username) |
- { |
- $result = $this->query('SELECT * FROM Users WHERE Username = "' . $username . '"'); |
- while ($row = mysql_fetch_array($result)) |
- { |
- return $this->getUserByID($row['ID']); |
- } |
- |
- return false; |
- } |
- |
- function getLoggedInUser() |
- { |
- if ($this->isLoggedIn()) |
- { |
- $clist = explode('|~|', $_COOKIE['Tim32_Login']); |
- return $this->getUserByUsername($clist[0]); |
- } |
- |
- return false; |
- } |
- |
- function getBlogPost($id) |
- { |
- $result = $this->query('SELECT * FROM BlogPosts WHERE ID = ' . $id); |
- while ($row = mysql_fetch_array($result)) |
- { |
- $post = new BlogPost; |
- $post->ID = $row['ID']; |
- if ($row['ParentID'] == -1) |
- { |
- $post->parent = -1; |
- } |
- 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->datePosted = strtotime($row['DatePosted']); |
- $post->category = $row['Category']; |
- $post->spam = $row['Spam']; |
- |
- return $post; |
- } |
- |
- $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)) |
- { |
- $project = new Project; |
- |
- $project->ID = $row['ID']; |
- $project->author = $this->getUserByID($row['AuthorID']); |
- $project->title = $row['Title']; |
- $project->description = $row['Description']; |
- $project->logoURL = $row['LogoURL']; |
- $project->downloadURL = $row['DownloadURL']; |
- $project->websiteURl = $row['WebsiteURL']; |
- $project->latestVersion = $row['LatestVersion']; |
- $project->lastUpdate = strtotime($row['LastUpdate']); |
- |
- return $project; |
- } |
- |
- return false; |
- } |
- |
- function delBlogPost($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); |
- } |
- |
- function getGetID() |
- { |
- $id = $_GET['id']; |
- if (empty($id)) |
- { |
- $id = 1; |
- } |
- |
- return $id; |
- } |
- |
- function getPostID() |
- { |
- $id = $_POST['id']; |
- if (empty($id)) |
- { |
- $id = 1; |
- } |
- |
- return $id; |
- } |
- |
-} |
- |
-class User |
-{ |
- public $ID; |
- public $accessID; |
- public $username; |
- public $password; |
- public $emailAddress; |
- public $name; |
- public $challengeID; |
-} |
- |
-class BlogPost |
-{ |
- public $ID; |
- public $parent; |
- public $author; |
- public $title; |
- public $content; |
- public $datePosted; |
- public $category; |
- public $spam; |
-} |
- |
-class Project |
-{ |
- public $ID; |
- public $author; |
- public $title; |
- public $description; |
- public $logoURL; |
- public $downloadURL; |
- public $websiteURL; |
- public $latestVersion; |
- public $lastUpdate; |
-} |
- |
-function write($str) |
-{ |
- echo $str; |
- echo "\n"; |
-} |
- |
-?> |
+ |
+ |
+require '_config.php'; |
+ |
+class Taios_Page |
+{ |
+ function __construct($title, $url = "") |
+ { |
+ $this->title = $title; |
+ $this->url = $url; |
+ |
+ $this->drawnHeader = false; |
+ $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()); |
+ } |
+ } |
+ |
+ function drawHeader() |
+ { |
+ if (!$this->drawnHeader) |
+ { |
+ write(''); |
+ write(''); |
+ write(''); |
+ write(''); |
+ write(' |
+ write(''); |
+ write(''); |
+ write(''); |
+ write(''); |
+ write(' |
+ write(' |
+ write('Tim32'); |
+ write(''); |
+ write(' |
+ $this->drawMenuItem('Home', 'index.php'); |
+ $this->drawMenuItem('Blog', 'blog/'); |
+ $this->drawMenuItem('Projects', 'projects/'); |
+ $this->drawMenuItem('Forums', 'forums/'); |
+ $this->drawMenuItem('Wiki', 'wiki/'); |
+ $this->drawMenuItem('Photos', 'photos/'); |
+ write(' '); |
+ if ($this->isLoggedIn()) |
+ { |
+ $this->drawMenuItem('Administration', 'admin/'); |
+ $this->drawMenuItem('Logout', 'logout-do.php'); |
+ } |
+ else |
+ { |
+ $this->drawMenuItem('Login', 'login.php'); |
+ $this->drawMenuItem('Register', 'register.php'); |
+ } |
+ write(' '); |
+ |
+ $this->drawnHeader = true; |
+ } |
+ } |
+ |
+ function drawMenuItem($t, $u) |
+ { |
+ write(''); |
+ } |
+ |
+ function drawMiddle() |
+ { |
+ if (!$this->drawnMiddle) |
+ { |
+ write(' '); |
+ write(''); |
+ write(''); |
+ write(' '); |
+ write('' . $this->title . ''); |
+ |
+ $this->drawnMiddle = true; |
+ } |
+ } |
+ |
+ function drawFooter() |
+ { |
+ if (!$this->drawnFooter) |
+ { |
+ write(''); |
+ write(''); |
+ write(''); |
+ |
+ $this->drawnFooter = true; |
+ } |
+ |
+ die(); |
+ } |
+ |
+ function drawError($text, $die = true) |
+ { |
+ $this->drawHeader(); |
+ $this->drawMiddle(); |
+ |
+ write('Error: ' . $text . ''); |
+ |
+ if ($die) |
+ { |
+ $this->drawFooter(); |
+ die(); |
+ } |
+ } |
+ |
+ function drawBlogPostTree($id, $first = false) |
+ { |
+ $post = $this->getBlogPost($id); |
+ if ($first) |
+ { |
+ write('' . $post->title. ' ^'); |
+ } |
+ else |
+ { |
+ write('' . $post->title. ''); |
+ } |
+ write('Posted On ' . date('l j F Y', $post->datePosted) . ' by ' . $post->user->name . ' (' . $post->user->username . ')'); |
+ write(' ' . $this->replaceBBCode($post->content) . ' '); |
+ |
+ if ($this->isUserNormal($this->getLoggedInUser())) |
+ { |
+ echo ' |
+ if ($this->isUserAdmin($this->getLoggedInUser()) || $this->getLoggedInUser()->ID == $post->author->ID) |
+ { |
+ echo ' · Edit Post'; |
+ echo ' · Delete Post'; |
+ } |
+ write(' '); |
+ } |
+ |
+ $ids = $this->findIDs('BlogPosts', 'WHERE ParentID=' . $id); |
+ for ($i = 0; $i < count($ids); $i++) |
+ { |
+ write(' '); |
+ $this->drawBlogPostTree($ids[$i]); |
+ write(''); |
+ } |
+ } |
+ |
+ function drawBlogCategoriesMenu() |
+ { |
+ $cats = array(); |
+ |
+ $ids = $this->findIDs('BlogPosts', 'WHERE ParentID = -1'); |
+ for ($i = 0; $i < count($ids); $i++) |
+ { |
+ $cat = $this->getBlogPost($ids[$i])->category; |
+ if (!in_array($cat, $cats)) |
+ { |
+ array_push($cats, $cat); |
+ } |
+ } |
+ |
+ write('Categories'); |
+ for ($i = 0; $i < count($cats); $i++) |
+ { |
+ $this->drawMenuItem($cats[$i], 'blog/index.php?cat=' . $cats[$i]); |
+ } |
+ } |
+ |
+ function replaceBBCode($str) |
+ { |
+ $newstr = str_replace("<", "[", $str); |
+ $newstr = str_replace(">", "]", $newstr); |
+ $newstr = str_replace("\n", ' ', $newstr); |
+ $newstr = str_replace(' ', ' ', $newstr); |
+ $newstr = str_replace(' :)', ' ', $newstr); |
+ $newstr = str_replace(' :p', ' ', $newstr); |
+ $newstr = str_replace(' :P', ' ',$newstr); |
+ $newstr = str_replace(' :|', ' ',$newstr); |
+ $newstr = str_replace(' :D', ' ',$newstr); |
+ $newstr = str_replace(' =D', ' ',$newstr); |
+ $newstr = str_replace(' :(', ' ',$newstr); |
+ $newstr = str_replace(' :0', ' ',$newstr); |
+ $newstr = str_replace(' :o', ' ',$newstr); |
+ $newstr = str_replace(' :O', ' ',$newstr); |
+ $newstr = str_replace(' :/', ' ',$newstr); |
+ $newstr = str_replace(' ;)', ' ',$newstr); |
+ |
+ $bbcode = array( |
+ '/\[b\](.+?)\[\/b\]/is', |
+ '/\[i\](.+?)\[\/i\]/is', |
+ '/\[u\](.+?)\[\/u\]/is', |
+ '/\[url\](.+?)\[\/url\]/is', |
+ '/\[code\](.+?)\[\/code\]/is', |
+ '/\[img\](.+?)\[\/img\]/is' |
+ ); |
+ |
+ $html = array( |
+ '$1', |
+ '$1', |
+ '$1', |
+ '$1', |
+ ' $1 ', |
+ '' |
+ ); |
+ |
+ $newstr = preg_replace($bbcode, $html, $newstr); |
+ |
+ return $newstr; |
+ } |
+ |
+ function redirect($u) |
+ { |
+ header('Location: ' . $u); |
+ die(); |
+ } |
+ |
+ function isLoggedIn() |
+ { |
+ $cookie = $_COOKIE['Tim32_Login']; |
+ if (!empty($cookie)) |
+ { |
+ $clist = explode('|~|', $cookie); |
+ $user = $this->getUserByUsername($clist[0]); |
+ if ($user) |
+ { |
+ if ($user->password == $clist[1]) |
+ { |
+ return true; |
+ } |
+ } |
+ } |
+ |
+ return false; |
+ } |
+ |
+ function isUserAdmin() |
+ { |
+ if ($this->isLoggedIn()) |
+ { |
+ if ($this->getLoggedInUser()->accessID <= 0) |
+ { |
+ return true; |
+ } |
+ } |
+ |
+ return false; |
+ } |
+ |
+ function isUserGM() |
+ { |
+ if ($this->isLoggedIn()) |
+ { |
+ if ($this->getLoggedInUser()->accessID <= 1) |
+ { |
+ return true; |
+ } |
+ } |
+ |
+ return false; |
+ } |
+ |
+ function isUserNormal() |
+ { |
+ if ($this->isLoggedIn()) |
+ { |
+ if ($this->getLoggedInUser()->accessID <= 2) |
+ { |
+ return true; |
+ } |
+ } |
+ |
+ return false; |
+ } |
+ |
+ function checkLoggedIn() |
+ { |
+ if (!$this->isLoggedIn()) |
+ { |
+ $this->drawError('You need to be logged in.'); |
+ } |
+ } |
+ |
+ function query($query) |
+ { |
+ $result = mysql_query($query); |
+ if (!$result) |
+ { |
+ $this->drawError('Query Failed: ' . $query . "\n" . 'MySQL Error: ' . mysql_error()); |
+ } |
+ |
+ return $result; |
+ } |
+ |
+ function findIDs($table, $query = '') |
+ { |
+ $array = array(); |
+ |
+ $result = $this->query('SELECT ID FROM ' . $table . ' ' . $query); |
+ while ($row = mysql_fetch_array($result)) |
+ { |
+ array_push($array, $row['ID']); |
+ } |
+ |
+ return $array; |
+ } |
+ |
+ function getUserByID($id) |
+ { |
+ $result = $this->query('SELECT * FROM Users WHERE ID = ' . $id); |
+ while ($row = mysql_fetch_array($result)) |
+ { |
+ $user = new User; |
+ $user->ID = $row['ID']; |
+ $user->accessID = $row['AccessID']; |
+ $user->username = $row['Username']; |
+ $user->password = $row['Password']; |
+ $user->emailAddress = $row['EmailAddress']; |
+ $user->name = $row['Name']; |
+ $user->challengeID = $row['ChallengeID']; |
+ |
+ return $user; |
+ } |
+ |
+ return false; |
+ } |
+ |
+ function getUserByUsername($username) |
+ { |
+ $result = $this->query('SELECT * FROM Users WHERE Username = "' . $username . '"'); |
+ while ($row = mysql_fetch_array($result)) |
+ { |
+ return $this->getUserByID($row['ID']); |
+ } |
+ |
+ return false; |
+ } |
+ |
+ function getLoggedInUser() |
+ { |
+ if ($this->isLoggedIn()) |
+ { |
+ $clist = explode('|~|', $_COOKIE['Tim32_Login']); |
+ return $this->getUserByUsername($clist[0]); |
+ } |
+ |
+ return false; |
+ } |
+ |
+ function getBlogPost($id) |
+ { |
+ $result = $this->query('SELECT * FROM BlogPosts WHERE ID = ' . $id); |
+ while ($row = mysql_fetch_array($result)) |
+ { |
+ $post = new BlogPost; |
+ $post->ID = $row['ID']; |
+ if ($row['ParentID'] == -1) |
+ { |
+ $post->parent = -1; |
+ } |
+ 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->datePosted = strtotime($row['DatePosted']); |
+ $post->category = $row['Category']; |
+ $post->spam = $row['Spam']; |
+ |
+ return $post; |
+ } |
+ |
+ $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)) |
+ { |
+ $project = new Project; |
+ |
+ $project->ID = $row['ID']; |
+ $project->author = $this->getUserByID($row['AuthorID']); |
+ $project->title = $row['Title']; |
+ $project->description = $row['Description']; |
+ $project->logoURL = $row['LogoURL']; |
+ $project->downloadURL = $row['DownloadURL']; |
+ $project->websiteURL = $row['WebsiteURL']; |
+ $project->latestVersion = $row['LatestVersion']; |
+ $project->lastUpdate = strtotime($row['LastUpdate']); |
+ |
+ return $project; |
+ } |
+ |
+ return false; |
+ } |
+ |
+ function getForumCategory($id) |
+ { |
+ $result = $this->query('SELECT * FROM ForumCategories WHERE ID = ' . $id); |
+ while ($row = mysql_fetch_array($result)) |
+ { |
+ $f = new ForumCategory; |
+ |
+ $f->ID = $row['ID']; |
+ $f->parent = $this->getForumCategory($row['ParentID']); |
+ $f->title = $row['Title']; |
+ $f->description = $row['Description']; |
+ |
+ return $f; |
+ } |
+ |
+ return false; |
+ } |
+ |
+ function getForumPost($id) |
+ { |
+ $result = $this->query('SELECT * FROM ForumPosts WHERE ID = ' . $id); |
+ while ($row = mysql_fetch_array($result)) |
+ { |
+ $f = new ForumPost; |
+ |
+ $f->ID = $row['ID']; |
+ $f->author = $this->getUserByID($row['AuthorID']); |
+ $f->category = $this->getForumCategory($row['CategoryID']); |
+ $f->parent = $this->getForumPost($row['ParentID']); |
+ $f->title = $row['Title']; |
+ $f->content = $row['Content']; |
+ $f->datePosted = strtotime($row['DatePosted']); |
+ $f->spam = $row['Spam']; |
+ |
+ return $f; |
+ } |
+ |
+ return false; |
+ } |
+ |
+ function delBlogPost($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); |
+ } |
+ |
+ function getGetID() |
+ { |
+ $id = $_GET['id']; |
+ if (empty($id)) |
+ { |
+ $id = 1; |
+ } |
+ |
+ return $id; |
+ } |
+ |
+ function getPostID() |
+ { |
+ $id = $_POST['id']; |
+ if (empty($id)) |
+ { |
+ $id = 1; |
+ } |
+ |
+ return $id; |
+ } |
+ |
+} |
+ |
+class User |
+{ |
+ public $ID; |
+ public $accessID; |
+ public $username; |
+ public $password; |
+ public $emailAddress; |
+ public $name; |
+ public $challengeID; |
+} |
+ |
+class BlogPost |
+{ |
+ public $ID; |
+ public $parent; |
+ public $author; |
+ public $title; |
+ public $content; |
+ public $datePosted; |
+ public $category; |
+ public $spam; |
+} |
+ |
+class Project |
+{ |
+ public $ID; |
+ public $author; |
+ public $title; |
+ public $description; |
+ public $logoURL; |
+ public $downloadURL; |
+ public $websiteURL; |
+ public $latestVersion; |
+ public $lastUpdate; |
+} |
+ |
+class ForumCategory |
+{ |
+ public $ID; |
+ public $parent; |
+ public $title; |
+ public $description; |
+} |
+ |
+class ForumPost |
+{ |
+ public $id; |
+ public $author; |
+ public $category; |
+ public $parent; |
+ public $title; |
+ public $content; |
+ public $datePosted; |
+ public $spam; |
+} |
+ |
+function write($str) |
+{ |
+ echo $str; |
+ echo "\n"; |
+} |
+ |
+?> |
Index: index.php |
=================================================================== |
--- index.php (revision 192) |
+++ index.php (revision 343) |
@@ -6,10 +6,10 @@ |
$page->drawHeader(); |
write('Pages'); |
$page->drawMenuItem('Biggles', '/~biggles/'); |
-$page->drawMenuItem('Freddie', '/~freddie/'); |
+$page->drawMenuItem('Freddie (FredFace)', '/~freddie/'); |
$page->drawMenuItem('Muzer', '/~muzer/'); |
$page->drawMenuItem('Sh4rk', '/~szabot/'); |
-$page->drawMenuItem('Tom', '/~tom/'); |
+$page->drawMenuItem('Tom (TomMan)', '/~tom/'); |
$page->drawMiddle(); |
?> |
/404.php |
---|
16,6 → 16,7 |
<p class="bold">404 - Page not found</p> |
<p>The page you requested could not be found.</p> |
<br /> |
<h4>Useful Links</h4> |
/admin/all-accounts.php |
---|
17,7 → 17,7 |
write('<td class="bold">ID</td>'); |
write('<td class="bold">AccessID</td>'); |
write('<td class="bold">Username</td>'); |
write('<td class="bold">Password</td>'); |
write('<td class="bold">SHA1 Password</td>'); |
write('<td class="bold">Name</td>'); |
write('<td class="bold">Email Address</td>'); |
write('<td class="bold">Challenge ID</td>'); |
/admin/all-forum-posts.php |
---|
0,0 → 1,67 |
<?php |
require '../_taios.php'; |
$page = new Taios_Page('Manage All Forum Posts', '../'); |
$page->drawHeader(); |
$page->drawMiddle(); |
$page->checkLoggedIn(); |
if ($page->isUserAdmin($page->getLoggedInUser())) |
{ |
write('<p class="bold">Use this to manage all the forum categories on the Tim32 Website.</p><br />'); |
write('<table>'); |
write('<tr>'); |
write('<td class="bold">ID</td>'); |
write('<td class="bold">Author</td>'); |
write('<td class="bold">Category</td>'); |
write('<td class="bold">Parent</td>'); |
write('<td class="bold">Title</td>'); |
write('<td class="bold">Content</td>'); |
write('<td class="bold">Date Posted</td>'); |
write('<td class="bold">Spam</td>'); |
write('</tr>'); |
$ids = $page->findIDs('ForumPosts'); |
for ($i = 0; $i < count($ids); $i++) |
{ |
$post = $page->getForumPost($ids[$i]); |
write('<tr>'); |
write('<td><a href="../forums/post.php?id=' . $post->ID . '">' . $post->ID . '</a></td>'); |
write('<td><a href="account.php?id=' . $post->author->ID . '">' . $post->author->name . '</a></td>'); |
if (!$post->category) |
{ |
write('<td style="color: #444444;">No Category</td>'); |
} |
else |
{ |
write('<td>' . $post->category->title . '</td>'); |
} |
if (!$post->parent) |
{ |
write('<td style="color: #444444;">No Parent</td>'); |
} |
else |
{ |
write('<td>' . $post->parent->title . '</td>'); |
} |
write('<td>' . $post->title . '</td>'); |
write('<td>' . str_replace("\n", ' ', $post->content) . '</td>'); |
write('<td>' . date('j/m/Y H:i', $post->datePosted) . '</td>'); |
write('<td>' . $post->spam . '</td>'); |
write('</tr>'); |
} |
write('</table>'); |
} |
else |
{ |
$page->drawError('You do not have permission to access this page.'); |
} |
$page->drawFooter(); |
?> |
/admin/all-forum-categories.php |
---|
0,0 → 1,52 |
<?php |
require '../_taios.php'; |
$page = new Taios_Page('Manage All Forum Categories', '../'); |
$page->drawHeader(); |
$page->drawMiddle(); |
$page->checkLoggedIn(); |
if ($page->isUserAdmin($page->getLoggedInUser())) |
{ |
write('<p class="bold">Use this to manage all the forum categories on the Tim32 Website.</p><br />'); |
write('<table>'); |
write('<tr>'); |
write('<td class="bold">ID</td>'); |
write('<td class="bold">Parent</td>'); |
write('<td class="bold">Title</td>'); |
write('<td class="bold">Description</td>'); |
write('</tr>'); |
$ids = $page->findIDs('ForumCategories'); |
for ($i = 0; $i < count($ids); $i++) |
{ |
$cat = $page->getForumCategory($ids[$i]); |
write('<tr>'); |
write('<td><a href="../forums/index.php?parentID=' . $cat->ID . '">' . $cat->ID . '</a></td>'); |
if (!$cat->parent) |
{ |
write('<td style="color: #444444;">No Parent</td>'); |
} |
else |
{ |
write('<td>' . $cat->parent->title . '</td>'); |
} |
write('<td>' . $cat->title . '</td>'); |
write('<td>' . $cat->description . '</td>'); |
write('</tr>'); |
} |
write('</table>'); |
} |
else |
{ |
$page->drawError('You do not have permission to access this page.'); |
} |
$page->drawFooter(); |
?> |
/admin/index.php |
---|
17,7 → 17,6 |
write('<h4><a href="all-blog-posts.php">Manage All Blog Posts</a></h4>'); |
write('<h4><a href="all-projects.php">Manage All Projects</a></h4>'); |
write('<h4><a href="all-forum-categories.php">Manage All Forum Categories</a></h4>'); |
write('<h4><a href="all-forum-topics.php">Manage All Forum Topics</a></h4>'); |
write('<h4><a href="all-forum-posts.php">Manage All Forum Posts</a></h4>'); |
} |
/admin/all-projects.php |
---|
0,0 → 1,55 |
<?php |
require '../_taios.php'; |
$page = new Taios_Page('Manage All Projects', '../'); |
$page->drawHeader(); |
$page->drawMiddle(); |
$page->checkLoggedIn(); |
if ($page->isUserAdmin($page->getLoggedInUser())) |
{ |
write('<p class="bold">Use this to manage all the projects on the Tim32 Website.</p><br />'); |
write('<table>'); |
write('<tr>'); |
write('<td class="bold">ID</td>'); |
write('<td class="bold">Author</td>'); |
write('<td class="bold">Title</td>'); |
write('<td class="bold">Description</td>'); |
write('<td class="bold">Logo</td>'); |
write('<td class="bold">Download</td>'); |
write('<td class="bold">Website</td>'); |
write('<td class="bold">Latest Version</td>'); |
write('<td class="bold">Last Update</td>'); |
write('</tr>'); |
$ids = $page->findIDs('Projects'); |
for ($i = 0; $i < count($ids); $i++) |
{ |
$project = $page->getProject($ids[$i]); |
write('<tr>'); |
write('<td><a href="../projects/edit-project.php?id=' . $project->ID . '">' . $project->ID . '</a></td>'); |
write('<td><a href="account.php?id=' . $project->author->ID . '">' . $project->author->name . '</a></td>'); |
write('<td>' . $project->title . '</td>'); |
write('<td>' . str_replace("\n", '<br />', $project->description) . '</td>'); |
write('<td><img src="' . $project->logoURL . '" /></td>'); |
write('<td><a href="' . $project->downloadURL . '">Link</a></td>'); |
write('<td><a href="' . $project->websiteURL . '">Link</a></td>'); |
write('<td>' . $project->latestVersion . '</td>'); |
write('<td>' . date('j/m/Y H:i', $project->lastUpdate) . '</td>'); |
write('</tr>'); |
} |
write('</table>'); |
} |
else |
{ |
$page->drawError('You do not have permission to access this page.'); |
} |
$page->drawFooter(); |
?> |
/wiki/index.php |
---|
2,12 → 2,36 |
require '../_taios.php'; |
$page = new Taios_Page('Wiki', '../'); |
$pageName = $_GET['page']; |
if (empty($pageName)) |
{ |
$pageName = 'Index'; |
} |
$page = new Taios_Page('Wiki - ' . $pageName, '../'); |
$page->drawHeader(); |
$page->drawMiddle(); |
write('<br /><p class="bold">This page is currently under construction.</p>'); |
write('<p><i>The wiki is still under construction.</i></p>'); |
if ($page->isUserGM($page->getLoggedInUser())) |
{ |
write('<p><a href="edit.php?page=' . $pageName . '">Edit Page</a></p><br />'); |
} |
$filename = 'pages/' . $pageName . '.txt'; |
$fp = @fopen($filename, 'r'); |
if ($fp) |
{ |
write('<p>' . $page->replaceBBCode(fread($fp, filesize($filename))) . '</p>'); |
fclose($fp); |
} |
else |
{ |
write('<p>This page is empty.</p>'); |
} |
$page->drawFooter(); |
?> |
/wiki/edit-do.php |
---|
0,0 → 1,40 |
<?php |
require '../_taios.php'; |
$pageName = $_POST['page']; |
if (empty($pageName)) |
{ |
$pageName = 'Index'; |
} |
$page = new Taios_Page('Edit Page - ' . $pageName, '../'); |
$page->checkLoggedIn(); |
if ($page->isUserGM($page->getLoggedInUser())) |
{ |
$filename = 'pages/' . $pageName . '.txt'; |
$fp = @fopen($filename, 'w'); |
if ($fp) |
{ |
fwrite($fp, $_POST['content']); |
fclose($fp); |
$page->redirect('index.php?page=' . $pageName); |
} |
else |
{ |
$page->drawError('Failed to write file.'); |
} |
} |
else |
{ |
$page->drawError('You do not have permission to access this page.'); |
} |
$page->drawFooter(); |
?> |
/wiki/edit.php |
---|
0,0 → 1,54 |
<?php |
require '../_taios.php'; |
$pageName = $_GET['page']; |
if (empty($pageName)) |
{ |
$pageName = 'Index'; |
} |
$page = new Taios_Page('Edit Page - ' . $pageName, '../'); |
$page->drawHeader(); |
$page->drawMiddle(); |
$page->checkLoggedIn(); |
if ($page->isUserGM($page->getLoggedInUser())) |
{ |
$filename = 'pages/' . $pageName . '.txt'; |
$content = ""; |
$fp = @fopen($filename, 'r'); |
if ($fp) |
{ |
$content = fread($fp, filesize($filename)); |
fclose($fp); |
} |
?> |
<form action="edit-do.php" method="POST"> |
<input type="hidden" name="page" value="<?php echo $pageName; ?>" /> |
<table> |
<tr> |
<td><textarea name="content"><?php echo $content; ?></textarea></td> |
</tr> |
<tr> |
<td><input type="submit" value="Edit" /></td> |
</tr> |
</table> |
</form> |
<?php |
} |
else |
{ |
$page->drawError('You do not have permission to access this page.'); |
} |
$page->drawFooter(); |
?> |
/wiki/pages/Index.txt |
---|
0,0 → 1,4 |
[b]Welcome to the Tim32 Wiki![/b] |
Here you can talk about pretty much anything! |
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: forums/index.php |
=================================================================== |
--- forums/index.php (revision 192) |
+++ forums/index.php (revision 343) |
@@ -3,11 +3,78 @@ |
require '../_taios.php'; |
$page = new Taios_Page('Forums', '../'); |
+ |
+$parentID = $_GET['parentID']; |
+if (empty($parentID)) |
+{ |
+ $parentID = -1; |
+} |
+else if ($parentID != -1) |
+{ |
+ $page->title = $page->getForumCategory($parentID)->title; |
+} |
+ |
$page->drawHeader(); |
$page->drawMiddle(); |
-write(' This page is currently under construction. '); |
+write(' The forums are still under construction. '); |
+write(' '); |
+if ($parentID != -1) |
+{ |
+ write('Back to root'); |
+} |
+if ($page->isLoggedIn()) |
+{ |
+ if ($parentID != -1) |
+ { |
+ write(' · '); |
+ } |
+ write('Add Post'); |
+} |
+if ($page->isUserAdmin($page->getLoggedInUser())) |
+{ |
+ if ($page->isLoggedIn()) |
+ { |
+ write(' · '); |
+ } |
+ write('Add Category'); |
+} |
+write(' '); |
+ |
+$ids = $page->findIDs('ForumCategories', 'WHERE ParentID = ' . $parentID . ' ORDER BY Title ASC'); |
+ |
+if (count($ids) >= 1) |
+{ |
+ write('Categories'); |
+} |
+ |
+for ($i = 0; $i < count($ids); $i++) |
+{ |
+ $forumCategory = $page->getForumCategory($ids[$i]); |
+ write('' . $forumCategory->title . ''); |
+ write(' ' . $forumCategory->description . ' '); |
+ if ($page->isUserAdmin($page->getLoggedInUser())) |
+ { |
+ write(''); |
+ } |
+ write(' '); |
+} |
+ |
+$ids = $page->findIDs('ForumPosts', 'WHERE CategoryID = ' . $parentID . ' AND ParentID = -1 ORDER BY Title ASC'); |
+ |
+if (count($ids) >= 1) |
+{ |
+ write('Topics'); |
+} |
+ |
+for ($i = 0; $i < count($ids); $i++) |
+{ |
+ $forumPost = $page->getForumPost($ids[$i]); |
+ write('' . $forumPost->title . ''); |
+ write(' '); |
+} |
+ |
$page->drawFooter(); |
?> |
/forums/post.php |
---|
0,0 → 1,45 |
<?php |
require '../_taios.php'; |
$page = new Taios_Page('Forum Post', '../'); |
$page->drawHeader(); |
$page->drawMiddle(); |
$id = $page->getGetID(); |
$forumPost = $page->getForumPost($id); |
write('<p class="bold"><a href="index.php?parentID=' . $forumPost->category->ID . '">Back to Topics</a></p><br />'); |
write('<h3>' . $forumPost->title . '</h3>'); |
write('<h5 style="color: #666666;">Posted On ' . date('l j F Y', $forumPost->datePosted) . ' by ' . $forumPost->author->name . ' (' . $forumPost->author->username . ')</h5>'); |
write('<p>' . $page->replaceBBCode($forumPost->content) . '</p>'); |
if ($page->isLoggedIn()) |
{ |
write('<p class="bold"><a href="add-post.php?parentID=' . $id . '">Post Reply</a>'); |
if ($page->isUserAdmin($page->getLoggedInUser()) || $forumPost->author->ID == $page->getLoggedInUser()->ID) |
{ |
write(' · <a href="edit-post.php?id=' . $id . '">Edit Post</a>'); |
write(' · <a href="delete-post-do.php?id=' . $id . '">Delete Post</a>'); |
} |
write('</p>'); |
} |
write('<br />'); |
$ids = $page->findIDs('ForumPosts', 'WHERE ParentID = ' . $id . ' ORDER BY DatePosted ASC'); |
for ($i = 0; $i < count($ids); $i++) |
{ |
$forumPost = $page->getForumPost($ids[$i]); |
write('<h4>' . $forumPost->title . '</h4>'); |
write('<h5 style="color: #666666;">Posted On ' . date('l j F Y', $forumPost->datePosted) . ' by ' . $forumPost->author->name . ' (' . $forumPost->author->username . ')</h5>'); |
write('<p>' . $page->replaceBBCode($forumPost->content) . '</p>'); |
if ($page->isUserAdmin($page->getLoggedInUser()) || $forumPost->author->ID == $page->getLoggedInUser()->ID) |
{ |
write('<p class="bold"><a href="edit-post.php?id=' . $ids[$i] . '">Edit Post</a>'); |
write(' · <a href="delete-post-do.php?id=' . $ids[$i] . '">Delete Post</a></p>'); |
} |
write('<br />'); |
} |
$page->drawFooter(); |
?> |
/forums/delete-post-do.php |
---|
0,0 → 1,30 |
<?php |
require '../_taios.php'; |
$page = new Taios_Page('Delete Post', '../'); |
$page->checkLoggedIn(); |
$id = $page->getGetID(); |
$post = $page->getForumPost($id); |
if (($page->isUserAdmin($page->getLoggedInUser()) || $post->author->ID == $page->getLoggedInUser()->ID) && $post) |
{ |
$page->query('DELETE FROM ForumPosts WHERE ID = ' . $id); |
$page->redirect('index.php'); |
} |
else |
{ |
if (!$post) |
{ |
$page->drawError('No such forum post, #' . $id); |
} |
else |
{ |
$page->drawError('You do not have permission to access this page.'); |
} |
} |
?> |
/forums/add-post-do.php |
---|
0,0 → 1,36 |
<?php |
require '../_taios.php'; |
$page = new Taios_Page('Add Category', '../'); |
$page->checkLoggedIn(); |
$parentID = $_POST['parentID']; |
if (empty($parentID)) |
{ |
$parentID = -1; |
} |
$categoryID = $_POST['categoryID']; |
if (empty($categoryID)) |
{ |
$parentID = -1; |
} |
$title = $_POST['title']; |
$content = $_POST['content']; |
if (empty($title)) |
{ |
$page->redirect('add-post.php?error=No Title Specified'); |
} |
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)'); |
$page->redirect('index.php?parentID=' . $categoryID); |
?> |
/forums/add-post.php |
---|
0,0 → 1,62 |
<?php |
require '../_taios.php'; |
$page = new Taios_Page('Add Post', '../'); |
$page->drawHeader(); |
$page->drawMiddle(); |
$page->checkLoggedIn(); |
$parentID = $_GET['parentID']; |
if (empty($parentID)) |
{ |
$parentID = -1; |
} |
$categoryID = $_GET['categoryID']; |
if (empty($categoryID)) |
{ |
$categoryID = -1; |
} |
if ($page->isLoggedIn()) |
{ |
if (isset($_GET['error'])) |
{ |
$page->drawError($_GET['error'], false); |
} |
?> |
<form action="add-post-do.php" method="POST"> |
<input type="hidden" name="parentID" value="<?php echo $parentID; ?>" /> |
<input type="hidden" name="categoryID" value="<?php echo $categoryID; ?>" /> |
<table> |
<tr> |
<td class="bold">Title: </td> |
<td><input type="text" name="title" /></td> |
</tr> |
<tr> |
<td class="bold">Content: </td> |
<td><textarea name="content"></textarea></td> |
</tr> |
<tr> |
<td></td> |
<td><input type="submit" value="Add" /></td> |
</tr> |
</table> |
</form> |
<?php |
} |
else |
{ |
$page->drawError('You do not have permission to access this page.'); |
} |
$page->drawFooter(); |
?> |
/forums/edit-category.php |
---|
0,0 → 1,59 |
<?php |
require '../_taios.php'; |
$page = new Taios_Page('Edit Category', '../'); |
$page->drawHeader(); |
$page->drawMiddle(); |
$page->checkLoggedIn(); |
$id = $page->getGetID(); |
$cat = $page->getForumCategory($id); |
if ($page->isUserAdmin($page->getLoggedInUser()) && $cat) |
{ |
if (isset($_GET['error'])) |
{ |
$page->drawError($_GET['error'], false); |
} |
?> |
<form action="edit-category-do.php" method="POST"> |
<input type="hidden" name="id" value="<?php echo $id; ?>" /> |
<table> |
<tr> |
<td class="bold">Title: </td> |
<td><input type="text" name="title" value="<?php echo $cat->title; ?>" /></td> |
</tr> |
<tr> |
<td class="bold">Description: </td> |
<td><input type="text" name="description" value="<?php echo $cat->description; ?>" /></td> |
</tr> |
<tr> |
<td></td> |
<td><input type="submit" value="Edit" /></td> |
</tr> |
</table> |
</form> |
<?php |
} |
else |
{ |
if (!$cat) |
{ |
$page->drawError('No such Forum Category, #' . $id); |
} |
else |
{ |
$page->drawError('You do not have permission to access this page.'); |
} |
} |
$page->drawFooter(); |
?> |
/forums/edit-category-do.php |
---|
0,0 → 1,30 |
<?php |
require '../_taios.php'; |
$page = new Taios_Page('Edit Category', '../'); |
$page->checkLoggedIn(); |
$id = $page->getPostID(); |
$title = $_POST['title']; |
$description = $_POST['description']; |
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); |
$page->redirect('index.php'); |
} |
else |
{ |
$page->drawError('You do not have permission to access this page.'); |
} |
?> |
/forums/delete-category-do.php |
---|
0,0 → 1,22 |
<?php |
require '../_taios.php'; |
$page = new Taios_Page('Delete Category', '../'); |
$page->checkLoggedIn(); |
$id = $page->getGetID(); |
if ($page->isUserAdmin($page->getLoggedInUser())) |
{ |
$page->query('DELETE FROM ForumCategories WHERE ID = ' . $id); |
$page->redirect('index.php'); |
} |
else |
{ |
$page->drawError('You do not have permission to access this page.'); |
} |
?> |
/forums/add-category-do.php |
---|
0,0 → 1,34 |
<?php |
require '../_taios.php'; |
$page = new Taios_Page('Add Category', '../'); |
$page->checkLoggedIn(); |
$parentID = $_POST['parentID']; |
if (empty($parentID)) |
{ |
$parentID = -1; |
} |
$title = $_POST['title']; |
$description = $_POST['description']; |
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->redirect('index.php?parentID=' . $parentID); |
} |
else |
{ |
$page->drawError('You do not have permission to access this page.'); |
} |
?> |
/forums/add-category.php |
---|
0,0 → 1,55 |
<?php |
require '../_taios.php'; |
$page = new Taios_Page('Add Category', '../'); |
$page->drawHeader(); |
$page->drawMiddle(); |
$page->checkLoggedIn(); |
$parentID = $_GET['parentID']; |
if (empty($parentID)) |
{ |
$parentID = -1; |
} |
if ($page->isUserAdmin($page->getLoggedInUser())) |
{ |
if (isset($_GET['error'])) |
{ |
$page->drawError($_GET['error'], false); |
} |
?> |
<form action="add-category-do.php" method="POST"> |
<input type="hidden" name="parentID" value="<?php echo $parentID; ?>" /> |
<table> |
<tr> |
<td class="bold">Title: </td> |
<td><input type="text" name="title" /></td> |
</tr> |
<tr> |
<td class="bold">Description: </td> |
<td><input type="text" name="description" /></td> |
</tr> |
<tr> |
<td></td> |
<td><input type="submit" value="Add" /></td> |
</tr> |
</table> |
</form> |
<?php |
} |
else |
{ |
$page->drawError('You do not have permission to access this page.'); |
} |
$page->drawFooter(); |
?> |
/projects/edit-project.php |
---|
0,0 → 1,77 |
<?php |
require '../_taios.php'; |
$page = new Taios_Page('Edit Project', '../'); |
$page->drawHeader(); |
$page->drawMiddle(); |
$page->checkLoggedIn(); |
$project = $page->getProject($page->getGetID()); |
if (!$project) |
{ |
$page->drawError('No such project, #' . $page->getGetID()); |
} |
?> |
<p class="bold">Here you can edit a project from the Tim32 database.</p> |
<p>Leave an input blank to keep it as it is.</p> |
<br /> |
<?php |
if (isset($_GET['error'])) |
{ |
$page->drawError($_GET['error'], false); |
} |
if ($page->isUserAdmin($page->getLoggedInUser()) || $page->getLoggedInUser()->ID == $project->author->ID) |
{ |
?> |
<form action="edit-project-do.php" method="POST"> |
<input type="hidden" name="id" value="<?php echo $project->ID; ?>" /> |
<table> |
<tr> |
<td class="bold">Title: </td> |
<td><input type="text" name="title" value="<?php echo $project->title; ?>" /></td> |
</tr> |
<tr> |
<td class="bold">Description: </td> |
<td><textarea name="description"><?php echo $project->description; ?></textarea></td> |
</tr> |
<tr> |
<td class="bold">Logo URL: </td> |
<td><input type="text" name="logourl" value="<?php echo $project->logoURL; ?>" /></td> |
</tr> |
<tr> |
<td class="bold">Website URL: </td> |
<td><input type="text" name="websiteurl" value="<?php echo $project->websiteURL; ?>" /></td> |
</tr> |
<tr> |
<td class="bold">DownloadURL: </td> |
<td><input type="text" name="downloadurl" value="<?php echo $project->downloadURL; ?>" /></td> |
</tr> |
<tr> |
<td class="bold">Latest Version: </td> |
<td><input type="text" name="latestversion" value="<?php echo $project->latestVersion; ?>" /></td> |
</tr> |
<tr> |
<td class="bold"></td> |
<td><input type="submit" value="Edit Project" /></td> |
</tr> |
</table> |
</form> |
<?php |
} |
else |
{ |
$page->drawError('You do not have permission to access this page.'); |
} |
$page->drawFooter(); |
?> |
/projects/index.php |
---|
6,6 → 6,13 |
$page->drawHeader(); |
$page->drawMiddle(); |
write('<p class="bold">Here you can find all the projects that are created by members of Tim32!</p><br />'); |
if ($page->isUserGM($page->getLoggedInUser())) |
{ |
write('<p class="bold"><a href="add-project.php">Add Project</a></p>'); |
write('<br />'); |
} |
$ids = $page->findIDs('Projects', 'ORDER BY LastUpdate DESC'); |
for ($i = 0; $i < count($ids); $i++) |
{ |
13,6 → 20,37 |
$project = $page->getProject($id); |
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;">'); |
if (empty($project->latestVersion)) |
{ |
write('<h4>No Releases</h4>'); |
} |
else |
{ |
write('<h4>Latest Version: ' . $project->latestVersion . '</h4>'); |
} |
write('<p>Project Author: ' . $project->author->name . '</p>'); |
write('<p>' . $page->replaceBBCode($project->description) . '</p>'); |
write('<p>'); |
if (!empty($project->websiteURL)) |
{ |
write('<a href="' . $project->websiteURL . '">Website</a>'); |
} |
if (!empty($project->downloadURL)) |
{ |
write(' · <a href="' . $project->downloadURL . '">Download</a>'); |
} |
write('</p>'); |
write('</td>'); |
write('</tr>'); |
write('</table>'); |
if ($page->isUserAdmin($page->getLoggedInUser()) || $user->ID == $project->author->ID) |
{ |
write('<p class="bold"><a href="edit-project.php?id=' . $project->ID . '">Edit Project</a> · <a href="delete-project-do.php?id=' . $project->ID . '">Delete Project</a></p>'); |
} |
write('<br />'); |
} |
/projects/edit-project-do.php |
---|
0,0 → 1,59 |
<?php |
require '../_taios.php'; |
$page = new Taios_Page('Edit Project', '../'); |
$project = $page->getProject($page->getPostID()); |
if (!$project) |
{ |
$page->drawError('No such project, #' . $page->getPostID()); |
} |
$title = $_POST['title']; |
$description = $_POST['description']; |
$logoURL = $_POST['logourl']; |
$websiteURL = $_POST['websiteurl']; |
$downloadURL = $_POST['downloadurl']; |
$latestVersion = $_POST['latestversion']; |
$page->checkLoggedIn(); |
$user = $page->getLoggedInUser(); |
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($description)) |
{ |
$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); |
} |
if (!empty($websiteURL)) |
{ |
$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); |
} |
if (!empty($latestVersion)) |
{ |
$page->query('UPDATE Projects SET LatestVersion = "' . $latestVersion . '" WHERE ID = ' . $project->ID); |
} |
$page->query('UPDATE Projects SET LastUpdate = NOW() WHERE ID = ' . $project->ID); |
$page->redirect('index.php'); |
} |
else |
{ |
$page->drawError('You do not have permission to access this page.'); |
} |
?> |
/projects/delete-project-do.php |
---|
0,0 → 1,28 |
<?php |
require '../_taios.php'; |
$page = new Taios_Page('Delete Project', '../'); |
$page->checkLoggedIn(); |
$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); |
$page->redirect('index.php'); |
} |
else |
{ |
if (!$project) |
{ |
$page->drawError('No such project, #' . $id); |
} |
else |
{ |
$page->drawError('You do not have permission to access this page.'); |
} |
} |
?> |
/projects/add-project-do.php |
---|
0,0 → 1,36 |
<?php |
require '../_taios.php'; |
$page = new Taios_Page('Add Project', '../'); |
$title = $_POST['title']; |
$description = $_POST['description']; |
$logoURL = $_POST['logourl']; |
$websiteURL = $_POST['websiteurl']; |
$downloadURL = $_POST['downloadurl']; |
$latestVersion = $_POST['latestversion']; |
$page->checkLoggedIn(); |
$user = $page->getLoggedInUser(); |
if (empty($title)) |
{ |
$page->redirect('add-project.php?error=No Title Specified'); |
} |
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())'); |
$page->redirect('index.php'); |
} |
else |
{ |
$page->drawError('You do not have permission to access this page.'); |
} |
?> |
/projects/add-project.php |
---|
0,0 → 1,69 |
<?php |
require '../_taios.php'; |
$page = new Taios_Page('Add Project', '../'); |
$page->drawHeader(); |
$page->drawMiddle(); |
?> |
<p class="bold">Here you can add a project to the Tim32 database.</p> |
<br /> |
<?php |
if (isset($_GET['error'])) |
{ |
$page->drawError($_GET['error'], false); |
} |
$page->checkLoggedIn(); |
if ($page->isUserGM($page->getLoggedInUser())) |
{ |
?> |
<form action="add-project-do.php" method="POST"> |
<table> |
<tr> |
<td class="bold">Title: </td> |
<td><input type="text" name="title" /></td> |
</tr> |
<tr> |
<td class="bold">Description: </td> |
<td><textarea name="description"></textarea></td> |
</tr> |
<tr> |
<td class="bold">Logo URL: </td> |
<td><input type="text" name="logourl" /></td> |
</tr> |
<tr> |
<td class="bold">Website URL: </td> |
<td><input type="text" name="websiteurl" /></td> |
</tr> |
<tr> |
<td class="bold">DownloadURL: </td> |
<td><input type="text" name="downloadurl" /></td> |
</tr> |
<tr> |
<td class="bold">Latest Version: </td> |
<td><input type="text" name="latestversion" /></td> |
</tr> |
<tr> |
<td class="bold"></td> |
<td><input type="submit" value="Add Project" /></td> |
</tr> |
</table> |
</form> |
<?php |
} |
else |
{ |
$page->drawError('You do not have permission to access this page.'); |
} |
$page->drawFooter(); |
?> |
/install.sql |
---|
51,22 → 51,13 |
PRIMARY KEY(ID) |
); |
CREATE TABLE ForumTopics |
CREATE TABLE ForumPosts |
( |
ID INT NOT NUll AUTO_INCREMENT, |
AuthorID INT, |
CategoryID INT, |
ParentID INT, |
Title TEXT, |
DatePosted DATETIME, |
PRIMARY KEY(ID) |
); |
CREATE TABLE ForumPosts |
( |
ID INT NOT NUll AUTO_INCREMENT, |
AuthorID INT, |
TopicID INT, |
Title TEXT, |
Content TEXT, |
DatePosted DATETIME, |
Spam BOOLEAN, |
76,3 → 67,6 |
INSERT INTO Users VALUES (1, 0, "admin", SHA1("password"), "admins@tim32.org", "Tim32 Admin", 0); |
INSERT INTO BlogPosts VALUES(1, -1, 1, "Welcome to Tim32!", "Welcome to the new Tim32 website! It has had a complete design re-think to make it simpler and easier to use!", NOW(), "Tim32", FALSE); |
INSERT INTO Projects VALUES (1, 1, "TAIOS", "TAIOS (The All In One System) is a PHP based system to make the Tim32 website very self contained and altogether.", "http://websvn.kde.org/*checkout*/trunk/kdesupport/oxygen-icons/64x64/categories/applications-internet.png", "", "http://tim32.org/~tom/taios/", "SVN", NOW()); |
INSERT INTO ForumCategories VALUES (1, -1, "Tim32", "Talk about Tim32 in here"); |
INSERT INTO ForumCategories VALUES (2, 1, "TAIOS", "Talk about TAIOS in here"); |
INSERT INTO ForumPosts VALUES (1, 1, 2, -1, "TAIOS Almost Finished", "As I speak we are currently in the process of finilising TAIOS so it works perfectly! I'm pleased to accounce that TAIOS should be ready within the next week or so! :D", NOW(), FALSE); |
/blog/edit-post.php |
---|
67,7 → 67,7 |
</tr> |
<tr> |
<td class="bold">Content: </td> |
<td><textarea name="content" style="width: 500px; height: 300px;"><?php echo $post->content; ?></textarea></td> |
<td><textarea name="content"><?php echo $post->content; ?></textarea></td> |
</tr> |
<tr> |
<td class="bold">Catagory: </td> |