Coded the basics for the blog
This commit is contained in:
parent
3f1af31bc6
commit
8ef32e183d
|
@ -0,0 +1,5 @@
|
||||||
|
<?php
|
||||||
|
$lang = array(
|
||||||
|
'homeMenu' => 'Home menu'
|
||||||
|
);
|
||||||
|
?>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?php
|
||||||
|
$lang = array(
|
||||||
|
'homeMenu' => 'Menu principal'
|
||||||
|
);
|
||||||
|
?>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?php
|
||||||
|
$config = array(
|
||||||
|
'title' => 'My blog',
|
||||||
|
'description' => 'Welcome on my wonderful blog',
|
||||||
|
'dbHost' => 'localhost',
|
||||||
|
'dbUser' => 'usr',
|
||||||
|
'dbPasswd' => 'JFZZxF+^}U:SZ<7EE=n!_(gQs',
|
||||||
|
'dbName' => 'blog'
|
||||||
|
);
|
53
index.php
53
index.php
|
@ -1,27 +1,44 @@
|
||||||
|
<?php
|
||||||
|
include('config/main.php');
|
||||||
|
|
||||||
|
if(isset($_GET['lang'])){
|
||||||
|
if(!empty($_GET['lang'])){
|
||||||
|
if(file_exists('assets/lang/'.$_GET['lang'].'.php')){
|
||||||
|
include('assets/lang/'.$_GET['lang'].'.php');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isset($_GET['page'])){
|
||||||
|
if(!empty($_GET['page'])){
|
||||||
|
if(file_exists('views/'.$_GET['page'].'.php')){
|
||||||
|
include('views/'.$_GET['page'].'.php');
|
||||||
|
}else{
|
||||||
|
$title = "Page not found";
|
||||||
|
$content = "Sorry, the page you asked for doesn't exist";
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$title = "Page empty";
|
||||||
|
$content = "Sorry, we are not able to show you a content because the page to show is empty";
|
||||||
|
header("location:?page=index");
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$title = "Page not set";
|
||||||
|
$content = "Sorry, we are not able to show you a content because the page to show is not defined";
|
||||||
|
header("location:?page=index");
|
||||||
|
}
|
||||||
|
?>
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>L'étudiant auto-hébergé</title>
|
<title><?php echo $config["title"]; ?></title>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>L'étudiant auto-hébergé - Blog</h1>
|
<h1><?php echo $config["title"]; ?></h1>
|
||||||
<p>Vous pouvez trouver ici mes billets de blog sur mon quotidien en tant qu'étudiant auto-hébergé.</p>
|
<p><?php echo $config["description"] ?></p>
|
||||||
<hr />
|
<a href="?page=index"><?php echo isset($lang["homeMenu"])?$lang["homeMenu"]:"Return to home"; ?></a>
|
||||||
<article>
|
|
||||||
<h1><a href="#lien-vers-l-article">Nom de l'article</a></h1>
|
|
||||||
<p>Description</p>
|
|
||||||
</article>
|
|
||||||
<hr />
|
|
||||||
<article>
|
|
||||||
<h1><a href="#lien-vers-l-article">Nom de l'article</a></h1>
|
|
||||||
<p>Description</p>
|
|
||||||
</article>
|
|
||||||
<hr />
|
|
||||||
<article>
|
|
||||||
<h1><a href="#lien-vers-l-article">Nom de l'article</a></h1>
|
|
||||||
<p>Description</p>
|
|
||||||
</article>
|
|
||||||
<hr />
|
<hr />
|
||||||
|
<?php echo isset($content)?$content:'Content not found'; ?>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
<?php
|
||||||
|
function getArticles(){
|
||||||
|
require("lib/db.php");
|
||||||
|
|
||||||
|
$req = $db->prepare("SELECT * FROM articles");
|
||||||
|
|
||||||
|
if($req->execute(array())){
|
||||||
|
$list = array();
|
||||||
|
|
||||||
|
while($data = $req->fetch())
|
||||||
|
$list[] = $data;
|
||||||
|
}else
|
||||||
|
$list = NULL;
|
||||||
|
|
||||||
|
return $list;
|
||||||
|
}
|
||||||
|
|
||||||
|
function newArticle($title, $description, $author, $content){
|
||||||
|
require("lib/db.php");
|
||||||
|
|
||||||
|
$req = $db->prepare("INSERT INTO articles (title, description, author, date, content) VALUES (?, ?, ?, NOW(), ?)");
|
||||||
|
|
||||||
|
if($req->execute(array($title, $description, $author, $content))){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getArticle($ID){
|
||||||
|
require("lib/db.php");
|
||||||
|
|
||||||
|
$req = $db->prepare("SELECT * FROM articles WHERE ID = ?");
|
||||||
|
|
||||||
|
if($req->execute(array($ID))){
|
||||||
|
if($data = $req->fetch())
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
<?php
|
||||||
|
include('config/main.php');
|
||||||
|
|
||||||
|
try{
|
||||||
|
$db = new PDO('mysql:host='.$config['dbHost'].';dbname='.$config['dbName'].';charset=utf8', $config['dbUser'], $config['dbPasswd']);
|
||||||
|
}catch(PDOException $e){
|
||||||
|
print "Erreur !: " . $e->getMessage() . "<br/>";
|
||||||
|
die();
|
||||||
|
}
|
||||||
|
?>
|
|
@ -0,0 +1,30 @@
|
||||||
|
<?php
|
||||||
|
function isValid($login, $password){
|
||||||
|
require('lib/db.php');
|
||||||
|
|
||||||
|
$req = $db->prepare("SELECT ID, password FROM users WHERE name = ?");
|
||||||
|
if($req->execute(array($login))){
|
||||||
|
$data = $req->fetch();
|
||||||
|
|
||||||
|
if(password_verify($password, $data['password'])){
|
||||||
|
return $data['ID'];
|
||||||
|
}else{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getUserName($id){
|
||||||
|
require('lib/db.php');
|
||||||
|
|
||||||
|
$req = $db->prepare("SELECT name FROM users WHERE ID = ?");
|
||||||
|
if($req->execute(array($id))){
|
||||||
|
$data = $req->fetch();
|
||||||
|
|
||||||
|
return $data["name"];
|
||||||
|
}else{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?php
|
||||||
|
if(isset($_GET["ID"])){
|
||||||
|
if(!empty($_GET["ID"])){
|
||||||
|
include_once("lib/articles.php");
|
||||||
|
include_once("lib/users.php");
|
||||||
|
|
||||||
|
$article = getArticle($_GET["ID"]);
|
||||||
|
|
||||||
|
$authorName = getUserName($article["author"]);
|
||||||
|
|
||||||
|
$content = "<h1>".$article["title"]."</h1><article>".$article["content"]."</article><span>written by ".$authorName." on ".$article["date"]."</span>";
|
||||||
|
}else{
|
||||||
|
$content = "Article ID is empty";
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$content = "No article ID set";
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
<?php
|
||||||
|
include_once("lib/articles.php");
|
||||||
|
|
||||||
|
$articles = getArticles();
|
||||||
|
$content = "";
|
||||||
|
|
||||||
|
foreach($articles as $article){
|
||||||
|
$content .= "<article><h1><a href=\"?page=article&ID=".$article["ID"]."\">".$article["title"]."</a></h1><p>".$article["description"]."</p></article><hr/>";
|
||||||
|
}
|
||||||
|
?>
|
|
@ -0,0 +1,30 @@
|
||||||
|
<?php
|
||||||
|
if(isset($_POST["writeSubmit"])){
|
||||||
|
include_once("lib/users.php");
|
||||||
|
|
||||||
|
$user = isValid($_POST['login'], $_POST['password']);
|
||||||
|
|
||||||
|
if($user){
|
||||||
|
include_once("lib/articles.php");
|
||||||
|
|
||||||
|
if(newArticle($_POST["title"], $_POST["description"], $user, $_POST["content"]))
|
||||||
|
$content = "Article successfuly sent !";
|
||||||
|
else
|
||||||
|
$content = "We are unable to send your article !";
|
||||||
|
}else{
|
||||||
|
$content = "Not a valid user !";
|
||||||
|
}
|
||||||
|
}else
|
||||||
|
$content = "<form action=\"\" method=\"POST\">
|
||||||
|
<label for=\"title\">Title</label>
|
||||||
|
<input type=\"text\" name=\"title\" id=\"title\" /><br />
|
||||||
|
<label for=\"description\">Description</label>
|
||||||
|
<textarea name=\"description\" id=\"description\"></textarea><br />
|
||||||
|
<label for=\"content\">Content</label>
|
||||||
|
<textarea name=\"content\" id=\"content\"></textarea><br />
|
||||||
|
<label for=\"login\">Login</label>
|
||||||
|
<input type=\"text\" name=\"login\" id=\"login\" /><br />
|
||||||
|
<label for=\"password\">Password</label>
|
||||||
|
<input type=\"password\" name=\"password\" id=\"password\" /><br />
|
||||||
|
<input type=\"submit\" name=\"writeSubmit\" />
|
||||||
|
</form>";
|
Reference in New Issue