Skip to content
Snippets Groups Projects
blogadmin.php 3.51 KiB
Newer Older
<?php
	//include our admin functions
	include("../lib/blog/admin.lib.php");
	$admin = new admin();

	//make our command list from the path
	$request=$pathlist;
array_shift($request);
array_shift($request);
array_shift($request);

$smarty->assign("title", "Blog Admin");

	if ($session->loggedin) $admin->menu(); else {
		header("Location: {$admin->httpPath}");
		exit;
	}

ob_start();
		//alter the debuging state on request
		if ($request[0] == "debug") {
			$_SESSION[debug] = $request[1];
		}
		//if logged in
		if($session->loggedin && blogger($session->username)) {
				//call appropriate functions..
				switch (array_shift($request)) {
					case "newentry":
						$admin->printEntryForm() ;
						$smarty->assign("subselect", _("Write new entry"));
						if ($admin->blog->editor) $smarty->assign("action", "edit");
						break;
					case "Settings":
						if ($_REQUEST['submit'] == "Save Settings") {
							$admin->updateSettings();
						} else {
							$admin->printSettingsForm() ;
						}
						$smarty->assign("subselect", _("Settings"));
						break;
					case "postentry":
						$admin->postEntry() ;
						break;
					case "postupdate":
						$admin->updateEntry(array_shift($request)) ;
						break;
					case "update":
						$admin->updateForm(array_shift($request)) ;
						$smarty->assign("subselect", _("Edit entries"));
						if ($admin->blog->editor) $smarty->assign("action", "edit");
						break;
					case "showentries":
						$admin->printEntries() ;
						$smarty->assign("subselect", _("Edit entries"));
						break;
					case "deleteentry":
						$admin->deleteEntry(array_shift($request)) ;
						break;
					case "confirmdeleteentries":
						$admin->confirmDeleteEntries();
						break;
					case "deleteentries":
						$admin->deleteEntries();
						break;
					case "moderatecomments":
						$admin->printComments();
						$admin->printAuthorisedUsers();
						$comments=_("Comments");
						$result = $BlogDB->GetOne("SELECT count(comments.id) from comments join entries on comments.post = entries.id where moderated = false and entries.user_id = ".$admin->id.";");
						if($result){
							$comments .= " (".$result[0].")";
						}
						$smarty->assign("subselect", $comments);
						break;
					case "updatecomments":
						$admin->updateComments();
						break;
					case "deletecomments":
						$admin->deleteComments(array_shift($request));
						break;
					case "updateauthusers":
						$admin->updateAuthorisedUsers();
						break;
					default:
						$admin->mainPage();
				}
		}
		else {
			//run appropriate functions
			switch (array_shift($request)) {
				case "signup":
					$admin->addUserForm();
					$smarty->assign("subselect", _("Start a Blog"));
					break;
				case "adduser":
					$admin->addUser();
					break;
				//or offer login box
				default:
					$admin->addUserForm();
					$smarty->assign("subselect", _("Start a Blog"));
					break;
			}
		}

	?>
    <div id="bottompanel">
	<p><? echo _("Validate"); ?> : <a href="http://validator.w3.org/check?uri=referer">XHTML</a> / <a href="http://jigsaw.w3.org/css-validator/check/referer/">CSS</a></p>
    </div>
<?php
$page = ob_get_contents();
ob_end_clean();

$smarty->assign("body", $page);
$smarty->assign("extra_styles", "/css/blog.css");


	//if we are in debug mode display a bunch of stuff
	if($_SESSION[debug]){
		echo "<div class=\"debug\"><h2>"._("Debug Info")."</h2><pre>\n";
		echo "**"._("Session")."**\n";
		print_r($_SESSION);
		echo "**"._("Request")."**\n";
		print_r($_REQUEST);
		echo "**"._("Class")."**\n";
		print_r($admin);
		echo "</pre></div>";
	}
?>