jtm.dev/article.php

96 lines
3.4 KiB
PHP

<?php
$slug = $_GET["slug"];
$servername = "localhost";
$username = "local";
$password = "";
$dbname = "articles";
$conn = new mysqli($servername, $username, $password);
if (!function_exists('mysqli_init') && !extension_loaded('mysqli')) {
echo 'We don\'t have mysqli!!!';
} else {
echo 'Phew we have it!';
}
$article_query = "SELECT title, author, description, keywords, updated FROM articles WHERE slug = '?'";
$keyword_query = "SELECT keyword FROM keywords WHERE id = ?";
if ($conn->connect_error) {
die("Database connection failed: " . $conn->connect_error);
}
if (!($stmt = $conn->prepare($article_query))) {
echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
$stmt->bind_param("s", $slug);
$stmt->execute();
$article = $stmt->get_result()->fetch_assoc();
$stmt = $conn->prepare($keyword_query);
$stmt->bind_param("i", $article['keywords']);
$stmt->execute();
$keywords = $stmt->get_result()->fetch_assoc();
$conn->close();
$article_content_file_location = "/var/www/html/articles/" + $slug;
$article_content_file = fopen($article_content_file_location, "r") or die ("404 File not found!");
$article_content = fread($article_content_file, filesize($article_content_file_location));
fclose($article_content_file);
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta charset="utf-8" />
<meta author="<?php echo $article['author'] ?>" />
<meta name="description" content="<?php $article['description'] ?>" />
<meta name="keywords" content="<?php implode(',', $keywords) ?>" />
<meta name="robots" content="index,follow" />
<title><?php echo $article['title'] ?> - Lijero</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/favicon.png" rel="icon" type="image/png" />
<link href="/res/common.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
var _paq = _paq || [];
_paq.push(["setDocumentTitle", document.domain + "/" + document.title]);
_paq.push(["setCookieDomain", "*.lijero.co"]);
_paq.push(["setDomains", ["*.lijero.co"]]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//p.lijero.co/";
_paq.push(['setTrackerUrl', u+'foo']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'foo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
</head>
<body>
<nav>
<div id="navbrand">Lijero</div>
<ul><?php foreach ($navbar as $navitem) { ?>
<li><a href="<?php $navitem['url'] ?>"><?php $navitem['name'] ?></a></li>
<?php } ?></ul>
</nav>
<article>
<header>
<h1><?php $article['title'] ?></h1>
</header>
<?php $article_content ?>
</article>
<footer>
<div class="metadata">
<span><img alt="Author" src="//lijero.co/res/icon/person.svg" /> <?php $article['author'] ?></span>
<span><img alt="Updated" src="//lijero.co/res/icon/clock.svg" /> <?php $article['updated'] ?></span>
<div class="license">
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">
<img alt="This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License" style="border-width:0" src="/res/cc-by-sa-small.png" />
</a>
</div>
</div>
</footer>
</body>
</html>