about summary refs log tree commit diff stats
Commit message (Expand)AuthorAgeFilesLines
* Make win condition checkableStar Rauchenberger2024-02-186-8/+62
* Released v0.6.4Star Rauchenberger2024-01-272-1/+9
* Bump version v0.6.4Star Rauchenberger2024-01-271-1/+1
* Fix area popups not shrinkingStar Rauchenberger2024-01-271-0/+1
* Released v0.6.3Star Rauchenberger2024-01-192-1/+12
* Bump version v0.6.3Star Rauchenberger2024-01-191-1/+1
* Area popups are now paintedStar Rauchenberger2024-01-196-130/+91
* Open window at a bigger sizeStar Rauchenberger2024-01-191-2/+1
* Fix some bad memory access stuffStar Rauchenberger2024-01-191-82/+99
* Released v0.6.2Star Rauchenberger2024-01-122-1/+10
* Bump version v0.6.2Star Rauchenberger2024-01-121-1/+1
* Released v0.6.1Star Rauchenberger2023-11-282-1/+12
* Bump version v0.6.1Star Rauchenberger2023-11-281-1/+1
* Stop relying on correctly set working directoryStar Rauchenberger2023-11-2612-14/+857
* Handle LEVEL 2 panel hunt being enabled globally nowStar Rauchenberger2023-11-251-1/+2
* Replace github link from readmeStar Rauchenberger2023-11-221-1/+1
* Released v0.6.0Star Rauchenberger2023-11-172-36/+71
* Bump version v0.6.0Star Rauchenberger2023-11-171-1/+1
* Fixed hunt-only areas not showing up for huntsStar Rauchenberger2023-11-173-1/+4
* Show hunt panels optionStar Rauchenberger2023-11-1711-6/+54
* Added hybrid areas and settings dialogStar Rauchenberger2023-11-178-19/+119
* Released v0.5.7Star Rauchenberger2023-11-102-1/+7
* Bump version v0.5.7Star Rauchenberger2023-11-101-1/+1
* Released v0.5.6Star Rauchenberger2023-11-102-1/+7
* Bump version v0.5.6Star Rauchenberger2023-11-101-1/+1
* Released v0.5.5Star Rauchenberger2023-11-092-1/+7
* Bump version v0.5.5Star Rauchenberger2023-11-091-1/+1
* Main Door is no longer needed for pilgrimage because it no longer existsStar Rauchenberger2023-11-041-2/+0
* Released v0.5.4Star Rauchenberger2023-10-191-0/+7
* Bump version v0.5.4Star Rauchenberger2023-10-191-1/+1
* Check for updates on Four Island nowStar Rauchenberger2023-10-191-25/+15
* Added VERSION fileStar Rauchenberger2023-10-191-0/+1
* Added changelogStar Rauchenberger2023-10-032-0/+88
* Remove github workflow stuffStar Rauchenberger2023-10-031-92/+0
* Switched to more secure self hosted hkutilStar Rauchenberger2023-10-031-1/+1
* Switched to self-hosted hkutilStar Rauchenberger2023-10-031-1/+1
* Bump versionStar Rauchenberger2023-09-281-1/+1
* Added early color hallways support v0.5.3Star Rauchenberger2023-09-283-0/+13
* Bump version v0.5.2Star Rauchenberger2023-09-171-1/+1
* Fixed race condition in reachabilityStar Rauchenberger2023-09-171-3/+11
* Use hardcoded AP ids nowStar Rauchenberger2023-09-178-106/+143
* Bump version v0.5.1Star Rauchenberger2023-09-071-1/+1
* Folded in new cross tower areasStar Rauchenberger2023-09-071-0/+8
* Bump version v0.5.0Star Rauchenberger2023-08-251-1/+1
* Panelsanity supportStar Rauchenberger2023-08-258-76/+263
* Rewrote how panel solvability is determinedStar Rauchenberger2023-08-253-64/+102
* Keep flood boundary even when on doors modeStar Rauchenberger2023-08-231-1/+3
* Fixed fake pilgrimageStar Rauchenberger2023-08-081-0/+8
* Version bump v0.4.5Star Rauchenberger2023-08-031-1/+1
* LEVEL 2 and required_panel supportStar Rauchenberger2023-08-035-0/+75
> 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744
<?php
/*
       444444444  
      4::::::::4  
     4:::::::::4  
    4::::44::::4  
   4::::4 4::::4   Four Island
  4::::4  4::::4  
 4::::4   4::::4   Written and maintained by Starla Insigna
4::::444444::::444
4::::::::::::::::4  pages/admin.php
4444444444:::::444
          4::::4   Please do not use, reproduce or steal the
          4::::4   contents of this file without explicit
          4::::4   permission from Hatkirby.
        44::::::44
        4::::::::4
        4444444444
*/

if (!defined('S_INCLUDE_FILE')) {define('S_INCLUDE_FILE',1);}

require('headerproc.php');

$pageCategory = 'panel';

if (isLoggedIn())
{
	if (getUserlevel() == 1)
	{
		if (!isset($_GET['page']))
		{
			$template = new FITemplate('admin/index');
		} else if ($_GET['page'] == 'writePost')
		{
			if (!isset($_GET['submit']))
			{
				$template = new FITemplate('admin/write');
			} else {
				$tags = explode(',', $_POST['tags']);

				if ($_POST['type'] == 'draft')
				{
					$insdraft = "INSERT INTO drafts (title,author,text,slug) VALUES (\"" . mysql_real_escape_string($_POST['title']) . "\",\"" . sess_get('uname') . "\",\"" . mysql_real_escape_string($_POST['text']) . "\",\"" . generateSlug($_POST['title'],'updates') . "\")";
					$insdraft2 = mysql_query($insdraft);

					$id = mysql_insert_id();
					addTags($id, $tags, 'draft');

					$template = new FITemplate('admin/draftSuccess');
					$template->add('ID', $id);
				} else if ($_POST['type'] == 'instant')
				{
					$id = postBlogPost($_POST['title'], sess_get('uname'), $tags, $_POST['text']);

					$getpost = "SELECT * FROM updates WHERE id = " . $id;
					$getpost2 = mysql_query($getpost);
					$getpost3 = mysql_fetch_array($getpost2);

					$template = new FITemplate('admin/postSuccess');
					$template->add('ID', $id);
					$template->add('CODED', $getpost3['slug']);
				} else {
					if ($_POST['type'] == 'normal')
					{
						$getpending = "SELECT * FROM pending ORDER BY id DESC LIMIT 0,1";
						$getpending2 = mysql_query($getpending);
						$getpending3 = mysql_fetch_array($getpending2);
						if (isset($getpending3['id']) === FALSE)
						{
							$id = 50;
						} else {
							$id = $getpending3['id']+1;
						}
					} else if ($_POST['type'] == 'priority')
					{
						$getpending = "SELECT * FROM pending ORDER BY id ASC LIMIT 0,1";
						$getpending2 = mysql_query($getpending);
						$getpending3 = mysql_fetch_array($getpending2);
						if (isset($getpending3['id']) === FALSE)
						{
							$id = 50;
						} else {
							$id = $getpending3['id']-1;
						}
					} else {
						generateError(404);
					}

					$inspending = "INSERT INTO pending (id,title,author,text,slug) VALUES (" . $id . ",\"" . mysql_real_escape_string($_POST['title']) . "\",\"" . sess_get('uname') . "\",\"" . mysql_real_escape_string($_POST['text']) . "\",\"" . generateSlug($_POST['title'],'updates') . "\")";
					$inspending2 = mysql_query($inspending);

					addTags($id, $tags, 'pending');

					$template = new FITemplate('admin/pendingSuccess');
					$template->add('ID', $id);
				}
			}
		} else if ($_GET['page'] == 'manageDrafts')
		{
			$template = new FITemplate('admin/manageDrafts');

			$getdrafts = "SELECT * FROM drafts ORDER BY id ASC";
			$getdrafts2 = mysql_query($getdrafts);
			$i=0;
			while ($getdrafts3[$i] = mysql_fetch_array($getdrafts2))
			{
				$template->adds_block('DRAFT', array(	'TITLE' => $getdrafts3[$i]['title'],
									'AUTHOR' => $getdrafts3[$i]['author'],
									'ID' => $getdrafts3[$i]['id']));
				$i++;
			}
		} else if ($_GET['page'] == 'editDraft')
		{
			$getdraft = "SELECT * FROM drafts WHERE id = " . $_GET['id'];
			$getdraft2 = mysql_query($getdraft);
			$getdraft3 = mysql_fetch_array($getdraft2);

			if ($getdraft3['id'] == $_GET['id'])
			{
				if (!isset($_GET['submit']))
				{
					$template = new FITemplate('admin/editDraft');
					$template->add('ID', $_GET['id']);
					$template->add('TEXT', $getdraft3['text']);
					$template->add('TAGS', implode(',', getTags($getdraft3['id'], 'draft')));
					$template->add('TITLE', $getdraft3['title']);
				} else {
					$tags = explode(',', $_POST['tags']);
					removeTags($_GET['id'], 'draft');

					if ($_POST['type'] == 'draft')
					{
						$setdraft = "UPDATE drafts SET title = \"" . mysql_real_escape_string($_POST['title']) . "\", text = \"" . mysql_real_escape_string($_POST['text']) . "\" WHERE id = " . $_GET['id'];
						$setdraft2 = mysql_query($setdraft);

						addTags($_GET['id'], $tags, 'draft');

						$template = new FITemplate('admin/draftSuccess');
						$template->add('ID', $_GET['id']);
					} else if ($_POST['type'] == 'instant')
					{
						$id = postBlogPost($_POST['title'], sess_get('uname'), $tags, $_POST['text']);

						$deldraft = "DELETE FROM drafts WHERE id = " . $_GET['id'];
						$deldraft2 = mysql_query($deldraft);

						$getpost = "SELECT * FROM updates WHERE id = " . $id;
						$getpost2 = mysql_query($getpost);
						$getpost3 = mysql_fetch_array($getpost2);

						$template = new FITemplate('admin/postSuccess');
						$template->add('ID', $id);
						$template->add('CODED', $getpost3['slug']);
					} else {
						if ($_POST['type'] == 'normal')
						{
							$getpending = "SELECT * FROM pending ORDER BY id DESC LIMIT 0,1";
							$getpending2 = mysql_query($getpending);
							$getpending3 = mysql_fetch_array($getpending2);
							if (isset($getpending3['id']) === FALSE)
							{
								$id = 50;
							} else {
								$id = $getpending3['id']+1;
							}
						} else if ($_POST['type'] == 'priority')
						{
							$getpending = "SELECT * FROM pending ORDER BY id ASC LIMIT 0,1";
							$getpending2 = mysql_query($getpending);
							$getpending3 = mysql_fetch_array($getpending2);
							if (isset($getpending3['id']) === FALSE)
							{
								$id = 50;
							} else {
								$id = $getpending3['id']-1;
							}
						} else {
							generateError(404);
						}

						$inspending = "INSERT INTO pending (id,title,author,text,slug) VALUES (" . $id . ",\"" . mysql_real_escape_string($_POST['title']) . "\",\"" . sess_get('uname') . "\",\"" . mysql_real_escape_string($_POST['text']) . "\",\"" . generateSlug($_POST['title'],'updates') . "\")";
						$inspending2 = mysql_query($inspending);

						addTags($id, $tags, 'pending');

						$deldraft = "DELETE FROM drafts WHERE id = " . $_GET['id'];
						$deldraft2 = mysql_query($deldraft);

						$template = new FITemplate('admin/pendingSuccess');
						$template->add('ID', $id);
					}
				}
			} else {
				$template = new FITemplate('msg');
				$template->add('BACK', 'the previous page');
				$template->add('MSG', 'I\'m sorry, that draft doesn\'t exist.');
			}
		} else if ($_GET['page'] == 'deleteDraft')
		{
			$getdraft = "SELECT * FROM drafts WHERE id = " . $_GET['id'];
			$getdraft2 = mysql_query($getdraft);
			$getdraft3 = mysql_fetch_array($getdraft2);

			if ($getdraft3['id'] == $_GET['id'])
			{
				if (!isset($_GET['submit']))
				{
					$template = new FITemplate('admin/deleteDraft');
					$template->add('ID', $_GET['id']);
				} else {
					$deldraft = "DELETE FROM drafts WHERE id = " . $_GET['id'];
					$deldraft2 = mysql_query($deldraft);

					removeTags($_GET['id'], 'draft');

					$template = new FITemplate('admin/deletedDraft');
				}
			} else {
				$template = new FITemplate('msg');
				$template->add('BACK', 'the previous page');
				$template->add('MSG', 'I\'m sorry, that draft doesn\'t exist.');
			}
		} else if ($_GET['page'] == 'viewDraft')
		{
			$getdraft = "SELECT * FROM drafts WHERE id = " . $_GET['id'];
			$getdraft2 = mysql_query($getdraft);
			$getdraft3 = mysql_fetch_array($getdraft2);

			if ($getdraft3['id'] == $_GET['id'])
			{
				$template = new FITemplate('post');
				$template->adds_block('INTERNAL',array('exi'=>1));
				$template->add_ref(0, 'POST', array(	'ID' => $getdraft3['id'],
									'YEARID' => ((date('Y')-2006) % 4),
									'DATE' => date('F dS Y \a\\t g:i:s a'),
									'MONTH' => date('M'),
									'DAY' => date('d'),
									'CODED' => $getdraft3['slug'],
									'TITLE' => $getdraft3['title'],
									'AUTHOR' => $getdraft3['author'],
									'RATING' => 0,
									'TEXT' => parseText($getdraft3['text'])));

				$tags = getTags($getdraft3['id'], 'draft');
				foreach ($tags as $tag)
				{
					$template->adds_ref_sub(0, 'TAGS', array('TAG' => $tag));
				}
			} else {
				$template = new FITemplate('msg');
				$template->add('BACK', 'the previous page');
				$template->add('MSG', 'I\'m sorry, that draft doesn\'t exist.');
			}
		} else if ($_GET['page'] == 'managePending')
		{
			$template = new FITemplate('admin/managePending');

			$getpending = "SELECT * FROM pending ORDER BY id ASC";
			$getpending2 = mysql_query($getpending);
			$i=0;
			while ($getpending3[$i] = mysql_fetch_array($getpending2))
			{
				$template->adds_block('PENDING', array(	'TITLE' => $getpending3[$i]['title'],
									'AUTHOR' => $getpending3[$i]['author'],
									'ID' => $getpending3[$i]['id']));
				$i++;
			}
		} else if ($_GET['page'] == 'editPending')
		{
			$getpending = "SELECT * FROM pending WHERE id = " . $_GET['id'];
			$getpending2 = mysql_query($getpending);
			$getpending3 = mysql_fetch_array($getpending2);

			if ($getpending3['id'] == $_GET['id'])
			{
				if (!isset($_GET['submit']))
				{
					$template = new FITemplate('admin/editPending');
					$template->add('ID', $_GET['id']);
					$template->add('TEXT', $getpending3['text']);
					$template->add('TAGS', implode(',', getTags($getpending3['id'], 'pending')));
					$template->add('TITLE', $getpending3['title']);
				} else {
					$tags = explode(',', $_POST['tags']);

					$setpending = "UPDATE pending SET title = \"" . mysql_real_escape_string($_POST['title']) . "\", text = \"" . mysql_real_escape_string($_POST['text']) . "\" WHERE id = " . $_GET['id'];
					$setpending2 = mysql_query($setpending);

					removeTags($_GET['id'], 'pending');
					addTags($_GET['id'], $tags, 'pending');

					$template = new FITemplate('admin/pendingSuccess');
					$template->add('ID', $_GET['id']);
				}
			} else {
				$template = new FITemplate('msg');
				$template->add('BACK', 'the previous page');
				$template->add('MSG', 'I\'m sorry, that pending post doesn\'t exist.');
			}
		} else if ($_GET['page'] == 'deletePending')
		{
			$getpending = "SELECT * FROM pending WHERE id = " . $_GET['id'];
			$getpending2 = mysql_query($getpending);
			$getpending3 = mysql_fetch_array($getpending2);

			if ($getpending3['id'] == $_GET['id'])
			{
				if (!isset($_GET['submit']))
				{
					$template = new FITemplate('admin/deletePending');
					$template->add('ID', $_GET['id']);
				} else {
					$delpending = "DELETE FROM pending WHERE id = " . $_GET['id'];
					$delpending2 = mysql_query($delpending);

					removeTags($_GET['id'], 'pending');

					$template = new FITemplate('admin/deletedPending');
				}
			} else {
				$template = new FITemplate('msg');
				$template->add('BACK', 'the previous page');
				$template->add('MSG', 'I\'m sorry, that pending post doesn\'t exist.');
			}
		} else if ($_GET['page'] == 'viewPending')
		{
			$getpending = "SELECT * FROM pending WHERE id = " . $_GET['id'];
			$getpending2 = mysql_query($getpending);
			$getpending3 = mysql_fetch_array($getpending2);

			if ($getpending3['id'] == $_GET['id'])
			{
				$template = new FITemplate('post');
				$template->adds_block('INTERNAL',array('exi'=>1));
				$template->add_ref(0, 'POST', array(	'ID' => $getpending3['id'],
									'YEARID' => ((date('Y')-2006) % 4),
									'DATE' => date('F dS Y \a\\t g:i:s a'),
									'MONTH' => date('M'),
									'DAY' => date('d'),
									'CODED' => $getpending3['slug'],
									'TITLE' => $getpending3['title'],
									'AUTHOR' => $getpending3['author'],
									'RATING' => 0,
									'TEXT' => parseText($getpending3['text'])));	

				$tags = getTags($getpending3['id'], 'pending');
				foreach ($tags as $tag)
				{
					$template->adds_ref_sub(0, 'TAGS', array('TAG' => $tag));
				}
			} else {
				$template = new FITemplate('msg');
				$template->add('BACK', 'the previous page');
				$template->add('MSG', 'I\'m sorry, that pending post doesn\'t exist.');
			}
		} else if ($_GET['page'] == 'movePending')
		{
			$getpending = "SELECT * FROM pending WHERE id = " . $_GET['id'];
			$getpending2 = mysql_query($getpending);
			$getpending3 = mysql_fetch_array($getpending2);

			if ($getpending3['id'] == $_GET['id'])
			{
				if ($_GET['dir'] == 'up')
				{
					$get2pending = "SELECT * FROM pending WHERE id < " . $_GET['id'] . " ORDER BY id DESC LIMIT 0,1";
					$get2pending2 = mysql_query($get2pending);
					$get2pending3 = mysql_fetch_array($get2pending2);

					if (isset($get2pending3['id']))
					{
						$otherPending = $get2pending3;
					} else {
						$template = new FITemplate('msg2');
						$template->add('BACK', 'Back to the pending queue');
						$template->add('LINK', 'managePending.php');
						$template->add('MSG', 'I\'m sorry, that pending post is already the first.');
					}
				} else if ($_GET['dir'] == 'down')
				{
					$get2pending = "SELECT * FROM pending WHERE id > " . $_GET['id'] . " ORDER BY id ASC LIMIT 0,1";
					$get2pending2 = mysql_query($get2pending);
					$get2pending3 = mysql_fetch_array($get2pending2);

					if (isset($get2pending3['id']))
					{
						$otherPending = $get2pending3;
					} else {
						$template = new FITemplate('msg2');
						$template->add('BACK', 'Back to the pending queue');
						$template->add('LINK', 'managePending.php');
						$template->add('MSG', 'I\'m sorry, that pending post is already the last.');
					}
				}

				if (isset($otherPending))
				{
					$delpending = "DELETE FROM pending WHERE id = " . $_GET['id'] . " OR id = " . $otherPending['id'];
					$delpending2 = mysql_query($delpending);

					$inspending = "INSERT INTO pending (id, title, author, text, slug) VALUES (" . $_GET['id'] . ",\"" . $otherPending['title'] . "\",\"" . $otherPending['author'] . "\",\"" . mysql_real_escape_string($otherPending['text']) . "\",\"" . $otherPending['slug'] . "\")";
					$inspending2 = mysql_query($inspending);

					$ins2pending = "INSERT INTO pending (id, title, author, text, slug) VALUES (" . $otherPending['id'] . ",\"" . $getpending3['title'] . "\",\"" . $getpending3['author'] . "\",\"" . mysql_real_escape_string($getpending3['text']) . "\",\"" . $getpending3['slug'] . "\")";
					$ins2pending2 = mysql_query($ins2pending) or die($ins2pending);

					$tags1 = getTags($_GET['id'], 'pending');
					$tags2 = getTags($otherPending['id'], 'pending');
					removeTags($_GET['id'], 'pending');
					removeTags($otherPending['id'], 'pending');
					addTags($_GET['id'], $tags2, 'pending');
					addTags($otherPending['id'], $tags1, 'pending');

					header('Location: managePending.php');
					exit;
				}
			} else {
				$template = new FITemplate('msg2');
				$template->add('BACK', 'Back to the pending queue');
				$template->add('LINK', 'managePending.php');
				$template->add('MSG', 'I\'m sorry, that pending post doesn\'t exist.');
			}
		} else if ($_GET['page'] == 'managePosts')
		{
			$template = new FITemplate('admin/managePosts');

			$getposts = "SELECT * FROM updates ORDER BY id ASC";
			$getposts2 = mysql_query($getposts);
			$i=0;
			while ($getposts3[$i] = mysql_fetch_array($getposts2))
			{
				$template->adds_block('POST', array(	'TITLE' => $getposts3[$i]['title'],
									'AUTHOR' => $getposts3[$i]['author'],
									'ID' => $getposts3[$i]['id'],
									'CODED' => $getposts3[$i]['slug']));
				$i++;
			}
		} else if ($_GET['page'] == 'editPost')
		{
			$getpost = "SELECT * FROM updates WHERE id = " . $_GET['id'];
			$getpost2 = mysql_query($getpost);
			$getpost3 = mysql_fetch_array($getpost2);

			if ($getpost3['id'] == $_GET['id'])
			{
				if (!isset($_GET['submit']))
				{
					$template = new FITemplate('admin/editPost');
					$template->add('ID', $_GET['id']);
					$template->add('TEXT', $getpost3['text']);
					$template->add('TAGS', implode(',', getTags($getpost3['id'])));
					$template->add('TITLE', $getpost3['title']);
				} else {
					$tags = explode(',', $_POST['tags']);

					$setpost = "UPDATE updates SET title = \"" . mysql_real_escape_string($_POST['title']) . "\", text = \"" . mysql_real_escape_string($_POST['text']) . "\" WHERE id = " . $_GET['id'];
					$setpost2 = mysql_query($setpost);

					removeTags($_GET['id']);
					addTags($_GET['id'], $tags);

					$template = new FITemplate('admin/postSuccess');
					$template->add('ID', $_GET['id']);
					$template->add('CODED', $getpost3['slug']);
				}
			} else {
				$template = new FITemplate('msg');
				$template->add('BACK', 'the previous page');
				$template->add('MSG', 'I\'m sorry, that post doesn\'t exist.');
			}
		} else if ($_GET['page'] == 'deletePost')
		{
			$getpost = "SELECT * FROM updates WHERE id = " . $_GET['id'];
			$getpost2 = mysql_query($getpost);
			$getpost3 = mysql_fetch_array($getpost2);

			if ($getpost3['id'] == $_GET['id'])
			{
				if (!isset($_GET['submit']))
				{
					$template = new FITemplate('admin/deletePost');
					$template->add('ID', $_GET['id']);
				} else {
					$delpost = "DELETE FROM updates WHERE id = " . $_GET['id'];
					$delpost2 = mysql_query($delpost);

					removeTags($_GET['id']);

					$template = new FITemplate('admin/deletedPost');
				}
			} else {
				$template = new FITemplate('msg');
				$template->add('BACK', 'the previous page');
				$template->add('MSG', 'I\'m sorry, that post doesn\'t exist.');
			}
		} else if ($_GET['page'] == 'moderateComments')
		{
			$template = new FITemplate('admin/moderateComments');

			$getcomments = "SELECT * FROM moderation ORDER BY id ASC";
			$getcomments2 = mysql_query($getcomments);
			$i=0;
			while ($getcomments3[$i] = mysql_fetch_array($getcomments2))
			{
				$comType = substr($getcomments3[$i]['page_id'],0,strpos($getcomments3[$i]['page_id'],'-'));
				$comID = substr($getcomments3[$i]['page_id'],strpos($getcomments3[$i]['page_id'],'-')+1);

				if ($comType == 'updates')
				{
					$getpost = "SELECT * FROM updates WHERE id = " . $comID;
					$getpost2 = mysql_query($getpost);
					$getpost3 = mysql_fetch_array($getpost2);
					$title = $getpost3['title'];
				} else if ($comType = 'polloftheweek')
				{
					$getpoll = "SELECT * FROM polloftheweek WHERE id = " . $comID;
					$getpoll2 = mysql_query($getpoll);
					$getpoll3 = mysql_fetch_array($getpoll2);
					$title = $getpoll3['question'];
				} else if ($comType = 'quotes')
				{
					$getquote = "SELECT * FROM rash_quotes WHERE id = " . $comID;
					$getquote2 = mysql_query($getquote);
					$getquote3 = mysql_fetch_array($getquote2);
					$title = '#' . $getquote3['id'];
				}

				$template->adds_block('COMMENT', array(	'TITLE' => $title,
									'AUTHOR' => $getcomments3[$i]['author'],
									'ID' => $getcomments3[$i]['id']));
				$i++;
			}
		} else if ($_GET['page'] == 'viewComment')
		{
			$getcomment = "SELECT * FROM moderation WHERE id = " . $_GET['id'];
			$getcomment2 = mysql_query($getcomment);
			$getcomment3 = mysql_fetch_array($getcomment2);

			if ($getcomment3['id'] == $_GET['id'])
			{
				$getuser = "SELECT * FROM users WHERE username = \"" . $getcomment3['author'] . "\"";
				$getuser2 = mysql_query($getuser);
				$getuser3 = mysql_fetch_array($getuser2);

				$template = new FITemplate('admin/viewComment');
				$template->add('ID', $_GET['id']);
				$template->add('USERNAME', $getcomment3['author']);
				$template->add('CODEDEMAIL', md5(strtolower($getuser3['email'])));
				$template->add('TEXT', parseText($getcomment3['comment']));
				$template->add('DATE', date("F dS Y \a\\t g:i:s a",strtotime($getcomment3['pubDate'])));
			} else {
				$template = new FITemplate('msg');
				$template->add('BACK', 'the previous page');
				$template->add('MSG', 'I\'m sorry, that comment doesn\'t exist.');
			}
		} else if ($_GET['page'] == 'actionComment')
		{
			$getcomment = "SELECT * FROM moderation WHERE id = " . $_GET['id'];
			$getcomment2 = mysql_query($getcomment);
			$getcomment3 = mysql_fetch_array($getcomment2);

			if ($getcomment3['id'] == $_GET['id'])
			{
				if (isset($_GET['approve']))
				{
					$insanon = "INSERT INTO anon_commenters (username,email,website) VALUES (\"" . $getcomment3['author'] . "\",\"" . $getcomment3['email'] . "\",\"" . $getcomment3['website'] . "\")";
					$insanon2 = mysql_query($insanon);

					$inscomment = "INSERT INTO comments (page_id,username,comment) VALUES (\"" . $getcomment3['page_id'] . "\",\"" . $getcomment3['author'] . "\",\"" . $getcomment3['comment'] . "\")";
					$inscomment2 = mysql_query($inscomment);

					$delcomment = "DELETE FROM moderation WHERE id = " . $getcomment3['id'];
					$delcomment2 = mysql_query($delcomment);

					$template = new FITemplate('msg');
					$template->add('BACK', 'Comment Moderation');
					$template->add('MSG', 'You\'ve successfully approved this comment.');
				} else if (isset($_GET['deny']))
				{
					$delcomment = "DELETE FROM moderation WHERE id = " . $getcomment3['id'];
					$delcomment2 = mysql_query($delcomment);

					$template = new FITemplate('msg');
					$template->add('BACK', 'Comment Moderation');
					$template->add('MSG', 'You\'ve successfully denied this comment.');
				} else {
					$template = new FITemplate('msg');
					$template->add('BACK', 'the previous page');
					$template->add('MSG', "Um, what on earth are you doing?");
				}
			} else {
				$template = new FITemplate('msg');
				$template->add('BACK', 'the previous page');
				$template->add('MSG', 'I\'m sorry, that comment doesn\'t exist.');
			}
		} else if ($_GET['page'] == 'pollProcess')
		{
			if (!isset($_GET['step']))
			{
				$template = new FITemplate('admin/pollrss');
			} else if ($_GET['step'] == 2)
			{
				$insrss = "INSERT INTO pollrss (author,rss) VALUES (\"" . sess_get('uname') . "\",\"" . mysql_real_escape_string($_POST['text']) . "\")";
				$insrss2 = mysql_query($insrss);

				$template = new FITemplate('admin/newPoll');
			} else if ($_GET['step'] == 3)
			{
				$inspoll = "INSERT INTO polloftheweek (question,option1,option2,option3,option4) VALUES (\"" . mysql_real_escape_string($_POST['question']) . "\",\"" . $_POST['option1'] . "\",\"" . $_POST['option2'] . "\",\"" . $_POST['option3'] . "\",\"" . $_POST['option4'] . "\")";
				$inspoll2 = mysql_query($inspoll);

				$cleardid = "TRUNCATE TABLE didpollalready";
				$cleardid2 = mysql_query($cleardid);

				$template = new FITemplate('msg2');
				$template->add('BACK', 'Back to the Admin Panel');
				$template->add('LINK', '/admin/');
				$template->add('MSG', "You've successfully created a poll!");
			} else {
				$template = new FITemplate('msg');
				$template->add('BACK', 'the previous page');
				$template->add('MSG', "Um, what on earth are you doing?");
			}
		} else if ($_GET['page'] == 'managePendingQuotes')
		{
			$template = new FITemplate('admin/managePendingQuotes');

			$getpending = "SELECT * FROM rash_queue ORDER BY id ASC";
			$getpending2 = mysql_query($getpending);
			$i=0;
			while ($getpending3[$i] = mysql_fetch_array($getpending2))
			{
				if ($i % 2 == 1)
				{
					$template->adds_block('QUOTE', array(	'ID' => $getpending3[$i]['id'],
										'TEXT' => nl2br($getpending3[$i]['quote']),
										'EVEN' => 'even'));
				} else {
					$template->adds_block('QUOTE', array(	'ID' => $getpending3[$i]['id'],
										'TEXT' => nl2br($getpending3[$i]['quote'])));
				}

				$i++;
			}
		} else if ($_GET['page'] == 'actionPendingQuotes')
		{
			$getpending = "SELECT * FROM rash_queue WHERE id = " . $_GET['id'];
			$getpending2 = mysql_query($getpending);
			$getpending3 = mysql_fetch_array($getpending2);

			if ($getpending3['id'] == $_GET['id'])
			{
				if (isset($_GET['approve']))
				{
					$today = mktime(date('G'),date('i'),date('s'),date('m'),date('d'),date('Y'));
					$insquote = "INSERT INTO rash_quotes (quote,date) VALUES (\"" . mysql_real_escape_string($getpending3['quote']) . "\",\"" . $today . "\")";
					$insquote2 = mysql_query($insquote);

					$delpending = "DELETE FROM rash_queue WHERE id = " . $_GET['id'];
					$delpending2 = mysql_query($delpending);

					$template = new FITemplate('msg2');
					$template->add('BACK', 'Back to the Admin Panel');
					$template->add('LINK', '/admin/');
					$template->add('MSG', "You've successfully approved this quote.");
				} else if (isset($_GET['deny']))
				{
					$delpending = "DELETE FROM rash_queue WHERE id = " . $_GET['id'];
					$delpending2 = mysql_query($delpending);

					$template = new FITemplate('msg2');
					$template->add('BACK', 'Back to the Admin Panel');
					$template->add('LINK', '/admin/');
					$template->add('MSG', "You've successfully denied this quote.");
				} else {
					$template = new FITemplate('msg');
					$template->add('BACK', 'the previous page');
					$template->add('MSG', "Um, what on earth are you doing?");
				}
			} else {
				$template = new FITemplate('msg');
				$template->add('BACK', 'the previous page');
				$template->add('MSG', 'I\'m sorry, but this pending quote doesn\'t exist.');
			}
		} else if ($_GET['page'] == 'hgUpdate')
		{
			$template = new FITemplate('msg');
			$template->add('BACK', 'the Admin Panel');

			ob_start();
			system('hg update');
			$template->add('MSG', ob_get_contents());
			ob_end_clean();
		} else if ($_GET['page'] == 'maintenanceMode')
		{
			if (isset($_GET['submit']))
			{
				if ($_POST['mode'] == 'on')
				{
					$set = 1;
				} else if ($_POST['mode'] == 'off')
				{
					$set = 0;
				} else {
					$template = new FITemplate('msg');
					$template->add('MSG', 'You seem to have somehow messed up the form. That\'s weird.');
					$template->add('BACK', 'the Maintenance Mode form');
				}

				if (isset($set))
				{
					$setconfig = "UPDATE config SET value = \"" . $set . "\" WHERE name = \"maintenanceMode\"";
					$setconfig2 = mysql_query($setconfig);

					$template = new FITemplate('msg');
					$template->add('MSG', 'Maintenance Mode has successfully been set to "' . $_POST['mode'] . '"');
					$template->add('BACK', 'the Maintenance Mode form');
				}
			} else {
				$template = new FITemplate('admin/maintenanceMode');

				$getconfig = "SELECT * FROM config WHERE name = \"maintenanceMode\"";
				$getconfig2 = mysql_query($getconfig);
				$getconfig3 = mysql_fetch_array($getconfig2);
				if ($getconfig3['value'] == '1')
				{
					$template->add('ON', ' CHECKED="CHECKED"');
				} else {
					$template->add('OFF', ' CHECKED="CHECKED"');
				}
			}
		} else {
			generateError(404);
		}
		@$template->display();
	} else {
		generateError(404);
	}
} else {
	generateError(404);
}

?>