function getAllPosts($orderBy = "desc")
{
require_once $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . "classes" . DIRECTORY_SEPARATOR . "settings.class.php";
$settings = new settings();
if ($settings::db_driver == "xml") {
// XML
$posts = array();
$blogPosts = simplexml_load_file($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . "data" . DIRECTORY_SEPARATOR . "blogPosts.xml");
foreach ($blogPosts as $blogPost) {
$posts[] = array("title" => $blogPost->title, "date" => $blogPost->date, "author" => $blogPost->author, "contents" => $blogPost->contents);
}
// Sort the results by date either desc or asc.
if (strtolower($orderBy) == "desc") {
usort($posts, function ($a, $b) {
return strtotime($b["date"]) - strtotime($a["date"]);
});
} else {
usort($posts, function ($a, $b) {
return strtotime($a["date"]) - strtotime($b["date"]);
});
}
} else {
// PDO
require_once $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . "classes" . DIRECTORY_SEPARATOR . "common.class.php";
$common = new common();
$dbh = $common->pdoOpen();
$sql = "SELECT * FROM " . $settings::db_prefix . "blogPosts ORDER BY date " . $orderBy;
$sth = $dbh->prepare($sql);
$sth->execute();
$posts = $sth->fetchAll(PDO::FETCH_ASSOC);
$sth = NULL;
$dbh = NULL;
return $posts;
}
return $posts;
}
///////////////////////////////////////////////////////////////////////////////////// session_start(); // Load the require PHP classes. require_once '../../classes/common.class.php'; require_once '../../classes/account.class.php'; require_once '../../classes/blog.class.php'; $common = new common(); $account = new account(); $blog = new blog(); // Check if the user is logged in. if (!$account->isAuthenticated()) { // The user is not logged in so forward them to the login page. header("Location: login.php"); } // Get titles and dates for all blog posts. $allPosts = $blog->getAllPosts(); // Pagination. $itemsPerPage = 10; $page = isset($_GET['page']) ? $_GET['page'] : 1; $posts = $common->paginateArray($allPosts, $page, $itemsPerPage - 1); //////////////// // BEGIN HTML require_once '../includes/header.inc.php'; ?> <h1>Blog Management</h1> <hr /> <h2>Blog Posts</h2> <a href="/admin/blog/add.php" class="btn btn-info" style="margin-bottom: 10px;" role="button">Add Post</a> <div class="table-responsive"> <table class="table table-striped table-condensed">