blog eingefügt
This commit is contained in:
parent
614b597470
commit
37019416b2
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
|
||||
* @param string $class The fully-qualified class name.
|
||||
* @return void
|
||||
*/
|
||||
spl_autoload_register(function ($class) {
|
||||
|
||||
// project-specific namespace prefix
|
||||
$prefix = 'App\\';
|
||||
|
||||
// base directory for the namespace prefix
|
||||
$base_dir = __DIR__ . '/src/';
|
||||
|
||||
// does the class use the namespace prefix?
|
||||
$len = strlen($prefix);
|
||||
if (strncmp($prefix, $class, $len) !== 0) {
|
||||
// no, move to the next registered autoloader
|
||||
return;
|
||||
}
|
||||
|
||||
// get the relative class name
|
||||
$relative_class = substr($class, $len);
|
||||
|
||||
// replace the namespace prefix with the base directory, replace namespace
|
||||
// separators with directory separators in the relative class name, append
|
||||
// with .php
|
||||
$file = $base_dir . str_replace('\\', '/', $relative_class) . '.php';
|
||||
|
||||
// if the file exists, require it
|
||||
if (file_exists($file)) {
|
||||
require $file;
|
||||
}
|
||||
});
|
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
|
||||
require __DIR__ . "/autoload.php";
|
||||
|
||||
function e($str)
|
||||
{
|
||||
return htmlentities($str, ENT_QUOTES, 'UTF-8');
|
||||
}
|
||||
|
||||
$container = new App\Core\Container();
|
||||
|
||||
// return GET['index'], set SESION['index'], OR return default
|
||||
function getPostAndSetSession($index, $session, $default){
|
||||
if ((isset($_POST[$index])) || !empty($_SESSION[$index])){
|
||||
$_SESSION[$session] = $_POST[$index];
|
||||
} else {
|
||||
if (!isset($_SESSION[$session])){
|
||||
$_SESSION[$session] = $default;
|
||||
}
|
||||
}
|
||||
return $_SESSION[$session];
|
||||
}
|
||||
|
||||
// return GET['index'], set SESION['index'], OR return default
|
||||
function getAndSetSession($index, $session, $default){
|
||||
if ((isset($_GET[$index])) || !empty($_GET[$index])){
|
||||
$_SESSION[$session] = $_GET[$index];
|
||||
} else {
|
||||
if (!isset($_SESSION[$session])){
|
||||
$_SESSION[$session] = $default;
|
||||
}
|
||||
}
|
||||
return $_SESSION[$session];
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,71 @@
|
|||
<?php
|
||||
session_start();
|
||||
require __DIR__ . "/../init.php";
|
||||
|
||||
$pathInfo = $_SERVER['PATH_INFO'];
|
||||
//var_dump($pathInfo);die();
|
||||
$routes = [
|
||||
'/login' => [
|
||||
'controller' => 'loginController',
|
||||
'method' => 'login'
|
||||
],
|
||||
'/logout' => [
|
||||
'controller' => 'loginController',
|
||||
'method' => 'logout'
|
||||
],
|
||||
'/homepages' => [
|
||||
'controller' => 'loginController',
|
||||
'method' => 'homepages' // show Methode anwenden
|
||||
],
|
||||
'/index' => [
|
||||
'controller' => 'postsController',
|
||||
'method' => 'index'
|
||||
],
|
||||
'/index_c' => [
|
||||
'controller' => 'postsController',
|
||||
'method' => 'index_c'
|
||||
],
|
||||
'/dashboard' => [
|
||||
'controller' => 'loginController',
|
||||
'method' => 'dashboard'
|
||||
],
|
||||
'/post' => [
|
||||
'controller' => 'postsController',
|
||||
'method' => 'comment' //'show' //'comments'
|
||||
],
|
||||
'/post_c' => [
|
||||
'controller' => 'postsController',
|
||||
'method' => 'show' //'show' //'comments'
|
||||
],
|
||||
'/posts-admin' => [
|
||||
'controller' => 'postsAdminController',
|
||||
'method' => 'index'
|
||||
],
|
||||
'/posts-admin_c' => [
|
||||
'controller' => 'postsAdminController',
|
||||
'method' => 'post_c' //'method' => 'index_c'
|
||||
],
|
||||
'/posts-edit' => [
|
||||
'controller' => 'postsAdminController',
|
||||
'method' => 'edit'
|
||||
],
|
||||
'/posts-edit_c' => [
|
||||
'controller' => 'postsAdminController',
|
||||
'method' => 'edit_c'
|
||||
],
|
||||
'/impressum' => [
|
||||
'controller' => 'loginController',
|
||||
'method' => 'impressum' // index Methode anwenden
|
||||
],
|
||||
];
|
||||
//var_dump($routes[$pathInfo]); die();
|
||||
if (isset($routes[$pathInfo])) {
|
||||
$route = $routes[$pathInfo];
|
||||
$controller = $container->make($route['controller']);
|
||||
$method = $route['method'];
|
||||
//echo "method: ".$method." - ";
|
||||
//var_dump($controller); die();
|
||||
$controller->$method();
|
||||
}
|
||||
|
||||
?>
|
|
@ -0,0 +1,22 @@
|
|||
<?php
|
||||
namespace App\Blog;
|
||||
|
||||
// ermöglicht das Laden aus einer anderen namespace
|
||||
use App\User\User as SomeUser;
|
||||
|
||||
class Post implements PostInterface
|
||||
{
|
||||
public $title;
|
||||
|
||||
public $user;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
// $this->user = new App\User\User();
|
||||
// durch use User\User; kann einfach geschrieben werden
|
||||
// $this->user = new User();
|
||||
// durch use User\User as SomeUser kann eine neuer user aus der class User/user gebildet werden
|
||||
$this->user = new SomeUser();
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,10 @@
|
|||
<?php
|
||||
// Die verwendung vom namespace erlaubt die Verwendung
|
||||
// des selben class name in verschiedenen class definitions
|
||||
namespace App\Blog;
|
||||
interface Postinterface
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -0,0 +1,14 @@
|
|||
<?php
|
||||
|
||||
namespace App\Core;
|
||||
|
||||
abstract class AbstractController
|
||||
{
|
||||
protected function render($view, $params)
|
||||
{
|
||||
extract($params);
|
||||
include __DIR__ . "/../../views/{$view}.php";
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
|
||||
namespace App\Core;
|
||||
use ArrayAccess;
|
||||
|
||||
abstract class AbstractModel implements ArrayAccess
|
||||
{
|
||||
|
||||
public function offsetExists ($offset) {
|
||||
return isset($this->$offset);
|
||||
}
|
||||
|
||||
public function offsetGet ($offset) {
|
||||
return $this->$offset;
|
||||
}
|
||||
|
||||
public function offsetSet ($offset, $value) {
|
||||
$this->$offset = $value;
|
||||
}
|
||||
|
||||
public function offsetUnset ($offset) {
|
||||
unset ($this->$offset);
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -0,0 +1,34 @@
|
|||
<?php
|
||||
namespace App\Core;
|
||||
use PDO;
|
||||
|
||||
abstract class AbstractRepository{
|
||||
|
||||
protected $pdo;
|
||||
|
||||
public function __construct(PDO $pdo){
|
||||
$this->pdo = $pdo;
|
||||
}
|
||||
|
||||
abstract public function getTableName();
|
||||
abstract public function getModelName();
|
||||
|
||||
function all(){
|
||||
$table = $this->getTableName();
|
||||
$model = $this->getModelName();
|
||||
$stmt = $this->pdo->query("SELECT * FROM `$table`");
|
||||
$posts = $stmt->fetchAll(PDO::FETCH_CLASS, $model);
|
||||
return $posts;
|
||||
}
|
||||
|
||||
function find($id){
|
||||
$table = $this->getTableName();
|
||||
$model = $this->getModelName();
|
||||
$stmt = $this->pdo->prepare("SELECT * FROM `$table` WHERE id = :id");
|
||||
$stmt->execute(['id' => $id]);
|
||||
$stmt->setFetchMode(PDO::FETCH_CLASS, $model);
|
||||
$post = $stmt->fetch(PDO::FETCH_CLASS);
|
||||
return $post;
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,89 @@
|
|||
<?php
|
||||
namespace App\Core;
|
||||
use PDO;
|
||||
use Exception;
|
||||
use PDOException;
|
||||
use App\Post\PostsRepository;
|
||||
use App\Post\CommentsRepository;
|
||||
use App\Post\PostsController;
|
||||
use App\Post\PostsAdminController;
|
||||
use App\User\UsersRepository;
|
||||
use App\User\LoginController;
|
||||
use App\User\LoginService;
|
||||
|
||||
class Container
|
||||
{
|
||||
private $receipts = [];
|
||||
private $instances = [];
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->receipts = [
|
||||
'postsAdminController' => function() {
|
||||
return new PostsAdminController(
|
||||
$this->make("postsRepository"),
|
||||
$this->make("commentsRepository"),
|
||||
$this->make("loginService")
|
||||
);
|
||||
},
|
||||
'loginService' => function() {
|
||||
return new LoginService(
|
||||
$this->make("usersRepository")
|
||||
);
|
||||
},
|
||||
'loginController' => function() {
|
||||
return new LoginController(
|
||||
$this->make("loginService")
|
||||
);
|
||||
},
|
||||
'postsController' => function() {
|
||||
return new PostsController(
|
||||
$this->make('postsRepository'),
|
||||
$this->make('commentsRepository')
|
||||
);
|
||||
},
|
||||
'postsRepository' => function() {
|
||||
return new PostsRepository(
|
||||
$this->make("pdo")
|
||||
);
|
||||
},
|
||||
'usersRepository' => function() {
|
||||
return new UsersRepository(
|
||||
$this->make("pdo")
|
||||
);
|
||||
},
|
||||
'commentsRepository' => function() {
|
||||
return new CommentsRepository(
|
||||
$this->make("pdo")
|
||||
);
|
||||
},
|
||||
'pdo' => function() {
|
||||
$servername = "mysqle8e6.netcup.net";
|
||||
$port = "3306";
|
||||
$username = "k46054_hbc";
|
||||
$password = "cXZm/E97dKvZy6Cg*";
|
||||
$dbname="k46054_hbc";
|
||||
|
||||
$pdo = new PDO("mysql:host=$servername;dbname=$dbname;port=$port", $username, $password);
|
||||
|
||||
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
|
||||
return $pdo;
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
public function make($name)
|
||||
{
|
||||
if (!empty($this->instances[$name]))
|
||||
{
|
||||
return $this->instances[$name];
|
||||
}
|
||||
|
||||
if (isset($this->receipts[$name])) {
|
||||
$this->instances[$name] = $this->receipts[$name]();
|
||||
}
|
||||
|
||||
return $this->instances[$name];
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
|
||||
namespace App\Post;
|
||||
|
||||
use App\Core\AbstractModel;
|
||||
|
||||
class CommentModel extends AbstractModel
|
||||
{
|
||||
|
||||
public $id;
|
||||
public $content;
|
||||
public $post_id;
|
||||
public $original;
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,73 @@
|
|||
<?php
|
||||
|
||||
namespace App\Post;
|
||||
|
||||
use PDO;
|
||||
|
||||
use App\Core\AbstractRepository;
|
||||
//use App\Post\PostAdminController;
|
||||
|
||||
class CommentsRepository extends AbstractRepository
|
||||
{
|
||||
|
||||
public function getTableName()
|
||||
{
|
||||
return "blog_comments";
|
||||
}
|
||||
|
||||
public function getModelName()
|
||||
{
|
||||
return "App\\Post\\CommentModel";
|
||||
}
|
||||
|
||||
public function insertForPost($postId, $content)
|
||||
{
|
||||
$table = $this->getTableName();
|
||||
$stmt = $this->pdo->prepare(
|
||||
"INSERT INTO `$table` (`content`, `post_id`) VALUES (:content, :postId)"
|
||||
);
|
||||
$stmt->execute([
|
||||
'content' => $content,
|
||||
'postId' => $postId
|
||||
]);
|
||||
}
|
||||
|
||||
public function update($postId, $content, $id, $org) {
|
||||
echo "here";
|
||||
$table = $this->getTableName();
|
||||
$model = $this->getModelName();
|
||||
$stmt = $this->pdo->prepare(
|
||||
"UPDATE `{$table}` SET `content` = :content, `post_id` = :postId, `original` = :original
|
||||
WHERE `id` = :id");
|
||||
$stmt->execute([
|
||||
'content' => $content,
|
||||
'postId' => $postId,
|
||||
'id' => $id,
|
||||
'original' => $org
|
||||
]);
|
||||
}
|
||||
|
||||
public function allByPost($id) {
|
||||
$table = $this->getTableName();
|
||||
$model = $this->getModelName();
|
||||
|
||||
$stmt = $this->pdo->prepare("SELECT * FROM `$table` WHERE post_id = :id");
|
||||
$stmt->execute(['id' => $id]);
|
||||
|
||||
$comments = $stmt->fetchAll(PDO::FETCH_CLASS, $model);
|
||||
return $comments;
|
||||
}
|
||||
|
||||
public function allCommentsByID($id) {
|
||||
$table = $this->getTableName();
|
||||
$model = $this->getModelName();
|
||||
|
||||
$stmt = $this->pdo->prepare("SELECT * FROM `$table` WHERE post_id = :id");
|
||||
$stmt->execute(['id' => $id]);
|
||||
|
||||
$comments = $stmt->fetchAll(PDO::FETCH_CLASS, $model);
|
||||
return $comments;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,17 @@
|
|||
<?php
|
||||
|
||||
namespace App\Post;
|
||||
|
||||
use App\Core\AbstractModel;
|
||||
|
||||
class PostModel extends AbstractModel
|
||||
{
|
||||
|
||||
public $id;
|
||||
public $title;
|
||||
public $content;
|
||||
|
||||
|
||||
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,90 @@
|
|||
<?php
|
||||
|
||||
namespace App\Post;
|
||||
|
||||
use App\Core\AbstractController;
|
||||
use App\User\LoginService;
|
||||
use App\Post\CommentsRepository;
|
||||
use PDO;
|
||||
|
||||
|
||||
class PostsAdminController extends AbstractController
|
||||
{
|
||||
|
||||
public function __construct(
|
||||
PostsRepository $postsRepository,
|
||||
CommentsRepository $commentsRepository,
|
||||
LoginService $loginService
|
||||
)
|
||||
{
|
||||
$this->postsRepository = $postsRepository;
|
||||
$this->commentsRepository = $commentsRepository;
|
||||
$this->loginService = $loginService;
|
||||
}
|
||||
|
||||
public function index() {
|
||||
$this->loginService->check();
|
||||
$all = $this->postsRepository->all();
|
||||
$this->render("post/admin/index", [
|
||||
'all' => $all
|
||||
]);
|
||||
}
|
||||
|
||||
public function index_c() {
|
||||
$this->loginService->check();
|
||||
$all = $this->postsRepository->all();
|
||||
// $comments = $this->commentsRepository->allCommentsByID($id); //allByPost($id);
|
||||
$this->render("post/admin/index_c", [
|
||||
'all' => $all,
|
||||
// 'comments' => $comments
|
||||
]);
|
||||
}
|
||||
|
||||
public function getComment($id) {
|
||||
$post = $this->postsRepository->find($id);
|
||||
$comments = $this->commentsRepository->allByPost($id);
|
||||
return $comments;
|
||||
}
|
||||
|
||||
public function edit_c() {
|
||||
$id = getAndSetSession('id', 'id', '1');
|
||||
$this->loginService->check();
|
||||
$savedSuccess = false;
|
||||
|
||||
if (!empty($_POST['id']) AND !empty($_POST['content'])) {
|
||||
$content = $_POST['content'];
|
||||
$postId = $_POST['post_id'];
|
||||
$p_id = $_POST['id'];
|
||||
$org = $_POST['original'];
|
||||
$this->commentsRepository->update($postId, $content, $p_id, $org);
|
||||
$savedSuccess = true;
|
||||
}
|
||||
|
||||
$post = $this->postsRepository->find($id);
|
||||
$comments = $this->commentsRepository->allCommentsByID($id);
|
||||
$this->render("post/admin/edit_c", [
|
||||
'comments' => $comments,
|
||||
'post' => $post,
|
||||
'savedSuccess' => $savedSuccess
|
||||
]);
|
||||
}
|
||||
|
||||
public function edit() {
|
||||
$this->loginService->check();
|
||||
$id = $_GET['id'];
|
||||
$entry = $this->postsRepository->find($id);
|
||||
$savedSuccess = false;
|
||||
if (!empty($_POST['title']) AND !empty($_POST['content'])) {
|
||||
$entry->title = $_POST['title'];
|
||||
$entry->content = $_POST['content'];
|
||||
$this->postsRepository->update($entry);
|
||||
$savedSuccess = true;
|
||||
}
|
||||
$this->render("post/admin/edit", [
|
||||
'entry' => $entry,
|
||||
'savedSuccess' => $savedSuccess
|
||||
]);
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,83 @@
|
|||
<?php
|
||||
|
||||
namespace App\Post;
|
||||
|
||||
use App\Core\AbstractController;
|
||||
|
||||
class PostsController extends AbstractController
|
||||
{
|
||||
public function __construct(
|
||||
PostsRepository $postsRepository,
|
||||
CommentsRepository $commentsRepository
|
||||
)
|
||||
{
|
||||
$this->postsRepository = $postsRepository;
|
||||
$this->commentsRepository = $commentsRepository;
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$posts = $this->postsRepository->all();
|
||||
$this->render("post/index", [
|
||||
'posts' => $posts
|
||||
]);
|
||||
}
|
||||
|
||||
public function index_c()
|
||||
{
|
||||
$post = $this->postsRepository->all(); //find($id);
|
||||
$comments = $this->commentsRepository->allByPost($id);
|
||||
$this->render("post/show", [
|
||||
'post' => $post,
|
||||
'comments' => $comments
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function comment()
|
||||
{
|
||||
$id = $_GET['id'];
|
||||
if (isset($_POST['content'])) {
|
||||
$content = $_POST['content'];
|
||||
//$this->commentsRepository->insertForPost($id, $content);
|
||||
}
|
||||
$post = $this->postsRepository->find($id);
|
||||
$comments = $this->commentsRepository->allByPost($id);
|
||||
//$this->render("post/show", [
|
||||
$this->render("post/comment", [
|
||||
'post' => $post,
|
||||
'comments' => $comments
|
||||
]);
|
||||
}
|
||||
|
||||
public function show()
|
||||
{
|
||||
$id = $_GET['id'];
|
||||
echo "ID= ".$id;
|
||||
//die();
|
||||
if (isset($_POST['content'])) {
|
||||
$content = $_POST['content'];
|
||||
var_dump($content);
|
||||
//$this->commentsRepository->insertForPost($id, $content);
|
||||
}
|
||||
$post = $this->postsRepository->find($id);
|
||||
$comments = $this->commentsRepository->allByPost($id);
|
||||
//die();
|
||||
//$this->render("post/show", [
|
||||
$this->render("post/show", [
|
||||
'post' => $post,
|
||||
'comments' => $comments
|
||||
]);
|
||||
}
|
||||
|
||||
public function getComment($id)
|
||||
{
|
||||
$post = $this->postsRepository->find($id);
|
||||
$comments = $this->commentsRepository->allByPost($id);
|
||||
return $comments;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
namespace App\Post;
|
||||
|
||||
use App\Core\AbstractRepository;
|
||||
|
||||
class PostsRepository extends AbstractRepository
|
||||
{
|
||||
|
||||
public function getTableName()
|
||||
{
|
||||
return "blog_posts";
|
||||
}
|
||||
|
||||
public function getModelName()
|
||||
{
|
||||
return "App\\Post\\PostModel";
|
||||
}
|
||||
|
||||
public function update(PostModel $model)
|
||||
{
|
||||
$table = $this->getTableName();
|
||||
|
||||
$stmt = $this->pdo->prepare("UPDATE `{$table}` SET `content` = :content, `title` = :title WHERE `id` = :id");
|
||||
$stmt->execute([
|
||||
'content' => $model->content,
|
||||
'title' => $model->title,
|
||||
'id' => $model->id
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -0,0 +1,50 @@
|
|||
<?php
|
||||
namespace App\User;
|
||||
|
||||
use App\Core\AbstractController;
|
||||
|
||||
class LoginController extends AbstractController
|
||||
{
|
||||
|
||||
public function __construct(LoginService $loginService){
|
||||
$this->loginService = $loginService;
|
||||
}
|
||||
|
||||
public function dashboard(){
|
||||
$this->loginService->check();
|
||||
$this->render("user/dashboard", []);
|
||||
}
|
||||
|
||||
public function impressum(){
|
||||
$this->render("user/impressum", []);
|
||||
}
|
||||
|
||||
public function homepages(){
|
||||
$this->render("user/homepages", []);
|
||||
}
|
||||
|
||||
public function logout(){
|
||||
$this->loginService->logout();
|
||||
header("Location: login");
|
||||
}
|
||||
|
||||
public function login(){
|
||||
$error = false;
|
||||
if (!empty($_POST['username']) AND !empty($_POST['password'])) {
|
||||
$username = $_POST['username'];
|
||||
$password = $_POST['password'];
|
||||
|
||||
if ($this->loginService->attempt($username, $password)) {
|
||||
header("Location: dashboard");
|
||||
return;
|
||||
} else {
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
$this->render("user/login", [
|
||||
'error' => $error
|
||||
]);
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,45 @@
|
|||
<?php
|
||||
|
||||
namespace App\User;
|
||||
|
||||
class LoginService
|
||||
{
|
||||
public function __construct(UsersRepository $usersRepository)
|
||||
{
|
||||
$this->usersRepository = $usersRepository;
|
||||
}
|
||||
|
||||
public function check() {
|
||||
if (isset($_SESSION['login'])) {
|
||||
return true;
|
||||
} else {
|
||||
header("Location: login");
|
||||
die();
|
||||
}
|
||||
}
|
||||
|
||||
public function attempt($username, $password) {
|
||||
$user = $this->usersRepository->findByUsername($username);
|
||||
if (empty($user)) {
|
||||
return false;
|
||||
}
|
||||
if (password_verify($password, $user->password)) {
|
||||
$_SESSION['login'] = $user->username;
|
||||
$_SESSION['rechte'] = $user->rechte;
|
||||
|
||||
session_regenerate_id(true);
|
||||
//var_dump($_SESSION); die();
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function logout()
|
||||
{
|
||||
unset($_SESSION['login']);
|
||||
unset($_SESSION['rechte']);
|
||||
session_regenerate_id(true);
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,13 @@
|
|||
<?php
|
||||
|
||||
namespace App\User;
|
||||
|
||||
use App\Core\AbstractModel;
|
||||
|
||||
class UserModel extends AbstractModel
|
||||
{
|
||||
public $id;
|
||||
public $username;
|
||||
public $password;
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
|
||||
namespace App\User;
|
||||
|
||||
use App\Core\AbstractRepository;
|
||||
use PDO;
|
||||
|
||||
class UsersRepository extends AbstractRepository
|
||||
{
|
||||
|
||||
public function getModelName()
|
||||
{
|
||||
return "App\\User\\UserModel";
|
||||
}
|
||||
|
||||
public function getTableName()
|
||||
{
|
||||
return "users";
|
||||
}
|
||||
|
||||
public function findByUsername($username)
|
||||
{
|
||||
$table = $this->getTableName();
|
||||
$model = $this->getModelName();
|
||||
$stmt = $this->pdo->prepare("SELECT * FROM `$table` WHERE username = :username");
|
||||
$stmt->execute(['username' => $username]);
|
||||
$stmt->setFetchMode(PDO::FETCH_CLASS, $model);
|
||||
$user = $stmt->fetch(PDO::FETCH_CLASS);
|
||||
|
||||
return $user;
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,52 @@
|
|||
<style>
|
||||
|
||||
#navbar #currentpage a {
|
||||
background-color: black;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.catcher {
|
||||
position: relative;
|
||||
text-align: center;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.bottom-left {
|
||||
position: absolute;
|
||||
bottom: 8px;
|
||||
left: 16px;
|
||||
}
|
||||
|
||||
.top-left {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
left: 16px;
|
||||
}
|
||||
|
||||
.top-right {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
right: 16px;
|
||||
}
|
||||
|
||||
.bottom-right {
|
||||
position: absolute;
|
||||
bottom: 8px;
|
||||
right: 16px;
|
||||
}
|
||||
|
||||
.bottom-centered {
|
||||
position: absolute;
|
||||
bottom: 30px;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
.centered {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,10 @@
|
|||
</div>
|
||||
|
||||
|
||||
<DIV class="footer" style="background-color: #333; color:grey">
|
||||
<hr><p><?php echo $thissheet;?></p>
|
||||
</DIV>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,13 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"
|
||||
integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7"
|
||||
crossorigin="anonymous">
|
||||
<link href='open-sans.css' rel='stylesheet' type='text/css'>
|
||||
<link rel="icon" href="../../../logo_mini.png" type="image/png"/>
|
||||
|
||||
</head>
|
|
@ -0,0 +1,47 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>harald börgmann website</title>
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
|
||||
<!--link href="https://fonts.googleapis.com/css?family=Open+Sans:400,600,300" rel="stylesheet" type="text/css"-->
|
||||
<link href='open-sans.css' rel='stylesheet' type='text/css'>
|
||||
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
|
||||
<link rel="icon" href="/../../../logo_mini.png" type="image/png"/>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<nav class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button><?php
|
||||
if ($thisPage=="start") {
|
||||
echo "<a class=\"navbar-brand\" style=\"background-color:black;
|
||||
color:white; font-weight:bold\" href=\"index\">Website</a>";
|
||||
} else {
|
||||
echo "<a class=\"navbar-brand\" href=\"index\">Website</a>";
|
||||
} ?>
|
||||
|
||||
</div>
|
||||
<div id="navbar" class="collapse navbar-collapse">
|
||||
|
||||
<ul class="nav navbar-nav" style="float:right">
|
||||
<li<?php if ($thisPage=="impressum"){
|
||||
echo " id=\"currentpage\""; }?>>
|
||||
<a href="impressum">Impressum</a></li>
|
||||
</ul>
|
||||
|
||||
</div><!--/.nav-collapse -->
|
||||
</div>
|
||||
</nav>
|
||||
<br>
|
||||
<br>
|
|
@ -0,0 +1,49 @@
|
|||
|
||||
<nav class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="homepages">Website</a>
|
||||
</div>
|
||||
<div id="navbar" class="collapse navbar-collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li <?php if ($thisPage=="blog")
|
||||
{echo " id=\"currentpage\""; }?> >
|
||||
<a href="index">Blog</a></li>
|
||||
</ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li <?php if ($thisPage=="login") {
|
||||
echo " id=\"currentpage\""; }?> >
|
||||
<a href="login">Login</a>
|
||||
</li>
|
||||
</ul><?php
|
||||
if (isset($_SESSION['rechte'])){ // admin rechte
|
||||
if ($_SESSION['rechte'] == "admin") { ?>
|
||||
<ul class="nav navbar-nav">
|
||||
<li <?php if ($thisPage=="admin") {
|
||||
echo " id=\"currentpage\""; } ?> >
|
||||
<a href="posts-admin">Admin</a>
|
||||
</li>
|
||||
</ul><?php
|
||||
}
|
||||
} ?>
|
||||
|
||||
<ul class="nav navbar-nav" style="float:right">
|
||||
<li>
|
||||
<a href="impressum">Impressum</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div><!--/.nav-collapse -->
|
||||
</div>
|
||||
|
||||
</nav>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
|
@ -0,0 +1,55 @@
|
|||
<?php
|
||||
$thisPage="admin";
|
||||
$thissheet = "/admin/edit";
|
||||
require __DIR__ . "/../../layout/header.php";
|
||||
include __DIR__ . "./../../../views/layout/css/navi.css";
|
||||
require __DIR__ . "/../../layout/navigation.php";
|
||||
//echo "edit: "; var_dump($entry);
|
||||
?>
|
||||
|
||||
<br /> <br />
|
||||
<div class="container">
|
||||
<div class="starter-template">
|
||||
<h3>Edit - Post editieren!</h3><?php
|
||||
if(!empty($savedSuccess)): ?>
|
||||
<p>Die Korrektur wurde erfolgreich gespeichert</p><?php
|
||||
else: ?>
|
||||
<p> </p> <?php
|
||||
endif;
|
||||
// Kommentar Titel anzeigen ?>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h1 class="panel-title"><?php echo e($entry->title); ?></h1>
|
||||
</div>
|
||||
</div><?php
|
||||
// Kommentarfelder anzeigen?>
|
||||
<form method="POST" action="posts-edit?id=<?php echo e($entry->id); ?>" class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3">
|
||||
Titel:
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<input type="text" name="title" value="<?php echo e($entry->title); ?>" class="form-control" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3">
|
||||
Inhalt:
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<textarea name="content" class="form-control" rows="10"><?php echo e($entry->content); ?></textarea>
|
||||
</div>
|
||||
</div><?php
|
||||
// Speichern?>
|
||||
<input type="submit" value="Post (Korrektur) speichern!" class="btn btn-primary" />
|
||||
</form>
|
||||
<br><?php
|
||||
// Ohne Speichern zurück ?>
|
||||
<div class="w3-container">
|
||||
<a href="posts-admin" class="w3-btn w3-red">zurück</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<?php include __DIR__ . "/../../layout/footer.php"; ?>
|
|
@ -0,0 +1,116 @@
|
|||
<?php
|
||||
$thisPage="admin";
|
||||
$thissheet = "/admin/edit_c";
|
||||
require(__DIR__ . "/../../layout/header.php");
|
||||
include __DIR__ . "./../../../views/layout/css/navi.css";
|
||||
require __DIR__ . "/../../layout/navigation.php";
|
||||
|
||||
$c_id = getAndSetSession('c_id', 'c_id', '1'); ?>
|
||||
|
||||
<div class="container">
|
||||
<div class="starter-template">
|
||||
<h3>Kommentare editieren</h3><?php
|
||||
if(!empty($savedSuccess)): ?>
|
||||
<p>Der Kommentar wurde erfolgreich gespeichert</p><?php
|
||||
endif; ?>
|
||||
|
||||
<h3> <?php echo "Post ".e($post->id).": ".e($post->title); ?></h3>
|
||||
<h4> <?php echo "Content: ".e($post->content); ?></h4>
|
||||
|
||||
<!-- ***************************** Beginn commente *****************************-->
|
||||
<div>
|
||||
<table>
|
||||
<tr style="font-weight: bold; background-color:lightgrey">
|
||||
</tr><?php
|
||||
$anzahl = count($comments); // Anzahl
|
||||
$com = array();
|
||||
$comment = array();
|
||||
if ($anzahl != 0) { // Anzahl > 0 dann
|
||||
foreach ($comments as $mem){ //($commente as $mem) {
|
||||
$comment = [
|
||||
'post_id' => $mem->post_id, // id des posts
|
||||
'id' => $mem->id, // id des Kommentars
|
||||
'content' => $mem->content,
|
||||
'original' => $mem->original
|
||||
];
|
||||
$com[] = $comment;
|
||||
}
|
||||
}
|
||||
$id_o_no = 0; // Zähler für array
|
||||
$tr0 = "<tr style=\"background-color:lightcyan;\">"; ?>
|
||||
<hr>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div><?php
|
||||
$anz = count($com);
|
||||
if ($c_id >= $anz ) {$c_id = 0;}
|
||||
$action = 1; ?>
|
||||
<form method="post">
|
||||
|
||||
|
||||
<p><b>content</b></p>
|
||||
<p><textarea autofocus id="content" name="content" cols="150" rows="4" > <?php echo $com["$c_id"]['content'];?>
|
||||
</textarea></p>
|
||||
|
||||
|
||||
<table style="width:600px">
|
||||
|
||||
<tr>
|
||||
<td><input style="background-color:yellow;" type="submit" name="submit"
|
||||
value="<?php if (count($com)!=0) {echo "update";}else {echo "update not possible";} ?>"
|
||||
placeholder="update" size="20%"/></td>
|
||||
|
||||
<td><input type="text" name="post_id" id="post_id" hidden="true"
|
||||
value="<?php echo $com["$c_id"]["post_id"];?>" placeholder="post_id" size="5%" readonly /> </td>
|
||||
|
||||
<td><input type="text" name="id" id="id" hidden="true"
|
||||
value="<?php echo $com["$c_id"]["id"];?>" size="5%" readonly > </td>
|
||||
|
||||
<td><input style="text-align: center; background-color:lightyellow width:3%" type="text" name="original" id="original"
|
||||
value="<?php if (count($com) != 0) {
|
||||
echo $com["$c_id"]["original"];}?>" placeholder="erl" size="5%" />
|
||||
veränderter Text: > 0 </td>
|
||||
|
||||
|
||||
|
||||
<td style=size:"40%" > </td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
</br>
|
||||
<table style="width:100%">
|
||||
<tr>
|
||||
<td colspan="5"><?php echo "Anzahl Kommentare: " .$anzahl; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="font-weight:bold; background-color:lightgrey">
|
||||
<td>s </td><td> post </td><td> id </td><td> Kommentar </td>
|
||||
<td> original</td>
|
||||
</tr>
|
||||
|
||||
<form name="c_id" action="posts-edit_c" id="c_id" method="get"><?php
|
||||
$id_no = 0; // Zähler für array
|
||||
foreach ($com AS $key => $issue) {
|
||||
echo $tr0; ?>
|
||||
<td><input type="radio" name="c_id" id="c_id" value="<?php echo $id_no;?>"<?php
|
||||
if ($c_id == $id_no) { echo "checked=checked";} ?> onchange="submit()" /></td><?php
|
||||
$id_no = $id_no + 1;
|
||||
foreach ($issue AS $key1 => $data) {
|
||||
echo "<td> ".$data." </td>";
|
||||
}
|
||||
echo "</tr>";
|
||||
} ?>
|
||||
|
||||
</form>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</br>
|
||||
<div class="w3-container">
|
||||
<a href="posts-admin" class="w3-btn w3-red">zurück</a>
|
||||
</div>
|
||||
|
||||
<?php include (__DIR__ . "/../../layout/footer.php"); ?>
|
|
@ -0,0 +1,38 @@
|
|||
|
||||
<?php
|
||||
$thisPage="admin";
|
||||
$thissheet = "/admin/index";
|
||||
|
||||
require(__DIR__ . "/../../layout/header.php");
|
||||
include __DIR__ . "./../../../views/layout/css/navi.css";
|
||||
require __DIR__ . "/../../layout/navigation.php";
|
||||
?>
|
||||
|
||||
<div class="container">
|
||||
<div class="starter-template">
|
||||
<h3>Posts verwalten (posts-admin)</h3>
|
||||
<h4>Posts editieren (posts-edit)</h4>
|
||||
<ul><?php
|
||||
foreach ($all AS $entry): ?>
|
||||
<li>
|
||||
<a href="posts-edit?id=<?php echo e($entry->id); ?>">
|
||||
<?php echo e($entry->title); ?>
|
||||
</a>
|
||||
</li> <?php
|
||||
endforeach; ?>
|
||||
</ul>
|
||||
|
||||
<h4>Kommentare editieren (posts-edit_c)</h4>
|
||||
<ul><?php
|
||||
foreach ($all AS $a): ?>
|
||||
<li>
|
||||
<a href="posts-edit_c?id=<?php echo e($a->id); ?>">
|
||||
<?php echo e($a->title)."<br></a>";
|
||||
echo " -> ".e($a->content);?>
|
||||
</li> <?php
|
||||
endforeach; ?>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php include (__DIR__ . "./../../layout/footer.php"); ?>
|
|
@ -0,0 +1,52 @@
|
|||
|
||||
<?php
|
||||
$thisPage="admin";
|
||||
$thissheet = "/admin/index_c";
|
||||
require(__DIR__ . "/../../layout/header.php");
|
||||
|
||||
include __DIR__ . "./../../../views/layout/css/navi.css";
|
||||
require __DIR__ . "/../../layout/navigation.php";
|
||||
var_dump($all);
|
||||
echo "<br>";
|
||||
var_dump($comment);
|
||||
//die();
|
||||
?>
|
||||
|
||||
<br /> <br />
|
||||
|
||||
<div class="container">
|
||||
<div class="starter-template">
|
||||
<h3>Posts editieren ?</h3>
|
||||
<ul>
|
||||
<?php foreach ($all AS $entry): ?>
|
||||
<li>
|
||||
<a href="posts-edit?id=<?php echo e($entry->id); ?>">
|
||||
<?php echo e($entry->title); ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
<?php foreach ($all AS $entry): ?>
|
||||
<li>
|
||||
<a href="admin_c?id=<?php echo e($entry->id); ?>">
|
||||
<?php echo e($entry->content); ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
<h3>Kommentare editieren</h3>
|
||||
<ul class="list-group"><?php
|
||||
$i = 1;
|
||||
foreach($comments AS $comment): ?>
|
||||
<li class="list-group-item"><?php
|
||||
echo $i.". ".e($comment->content);
|
||||
$i++;?>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php include __DIR__ . "/../../layout/footer.php"; ?>
|
|
@ -0,0 +1,46 @@
|
|||
|
||||
<?php
|
||||
$thisPage="admin";
|
||||
$thissheet = "/admin/verwalten";
|
||||
require(__DIR__ . "/../../layout/header.php");
|
||||
|
||||
include __DIR__ . "./../../../views/layout/css/navi.css";
|
||||
require __DIR__ . "/../../layout/navigation.php";
|
||||
|
||||
foreach ($all as $a) {
|
||||
echo "<br>";var_dump($a);
|
||||
}
|
||||
echo "<br>";
|
||||
//var_dump($entry);
|
||||
|
||||
?>
|
||||
|
||||
<div class="container">
|
||||
<div class="starter-template">
|
||||
<h3>Posts verwalten (posts-admin)</h3>
|
||||
<h4>Posts editieren (posts-edit)</h4>
|
||||
<ul>
|
||||
<?php foreach ($all AS $entry): ?>
|
||||
<li>
|
||||
<a href="posts-edit?id=<?php echo e($entry->id); ?>">
|
||||
<?php echo e($entry->title); ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
|
||||
<h4>Kommentare editieren (posts-edit_c)</h4>
|
||||
<ul>
|
||||
<?php foreach ($all AS $entry): ?>
|
||||
<li>
|
||||
<a href="posts-edit_c?id=<?php echo e($entry->id); ?>">
|
||||
<?php echo e($entry->title); ?>
|
||||
</a><?php
|
||||
echo "<br>".$entry->content."<br>"; ?>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php require(__DIR__ . "/../../layout/footer.php"); ?>
|
|
@ -0,0 +1,50 @@
|
|||
<?php
|
||||
$thisPage="blog";
|
||||
$thissheet = "comment";
|
||||
require(__DIR__ . "/../layout/header.php");
|
||||
|
||||
include __DIR__ . "./../../views/layout/css/navi.css";
|
||||
require __DIR__ . "/../layout/navigation.php"; ?>
|
||||
|
||||
<div class="container">
|
||||
<div class="starter-template">
|
||||
<h3>Kommentar zum Post zufügen:</h3><?php
|
||||
// Topic aus posts ?>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title"><?php echo "Post: ".e($post['title']); ?></h3>
|
||||
</div>
|
||||
</div><?php
|
||||
// Thema des posts?>
|
||||
<div class="panel-body">
|
||||
<?php echo "<b>Inhalt: ".nl2br(e($post['content']))."</b>";?>
|
||||
</div><?php
|
||||
// Kommentare dazu auflisten ?>
|
||||
<ul class="list-group"><?php
|
||||
$i = 1;
|
||||
foreach($comments AS $comment):?>
|
||||
<li class="list-group-item"><?php
|
||||
echo $i.". "
|
||||
//echo "<br>ID=".$comment->id. " -> "
|
||||
.$comment->content;
|
||||
$i++; ?>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul><?php
|
||||
// weiteres Kommentar Feld hinzufügen ?>
|
||||
<form method="post" action="post?id=<?php echo e($post['id']);?>">
|
||||
<textarea name="content" class="form-control"></textarea>
|
||||
</br>
|
||||
<input type="submit" value="Kommentar hinzufügen" class="btn btn-primary"/>
|
||||
</form>
|
||||
</br>
|
||||
</br>
|
||||
</div>
|
||||
<div class="w3-container">
|
||||
<a href="index" class="w3-btn w3-red">zurück</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
include __DIR__ . "/../layout/footer.php";
|
||||
?>
|
|
@ -0,0 +1,31 @@
|
|||
|
||||
<?php
|
||||
$thisPage="blog";
|
||||
$thissheet = "/index";
|
||||
include __DIR__ . "/../layout/header.php";
|
||||
|
||||
include __DIR__ . "./../../views/layout/css/navi.css";
|
||||
include __DIR__ . "/../layout/navigation.php";
|
||||
|
||||
//unset($_SESSION['login']);
|
||||
?>
|
||||
<div class="container">
|
||||
<div class="starter-template">
|
||||
<h1>Haralds Blog</h1>
|
||||
<p class="lead">In diesem Blog können Sie Kommentare zur Gestaltung meiner Seite abgeben oder </br>
|
||||
ergänzende Informationen zu Personen eintragen sowie fehlerhafte Daten kommentieren.</p>
|
||||
<ul>
|
||||
<?php foreach ($posts as $post): ?>
|
||||
<li>
|
||||
<a href="post?id=<?php echo e($post['id']); ?>">
|
||||
<?php echo e($post['title']); ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php endforeach;?>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
include __DIR__ . "/../layout/footer.php";
|
||||
?>
|
|
@ -0,0 +1,41 @@
|
|||
|
||||
<?php
|
||||
$thisPage="blog";
|
||||
$thissheet = "index_admin";
|
||||
include __DIR__ . "/../layout/header.php";
|
||||
|
||||
include __DIR__ . "./../../views/layout/css/navi.css";
|
||||
include __DIR__ . "/../layout/navigation.php";
|
||||
|
||||
//unset($_SESSION['login']);
|
||||
?>
|
||||
<div class="container">
|
||||
<div class="starter-template">
|
||||
<h1>Haralds Blog</h1>
|
||||
<p class="lead">In diesem Blog können Sie Kommentare zur Gestaltung meiner Seite abgeben oder </br>
|
||||
ergänzende Informationen zu Personen eintragen sowie fehlerhafte Daten kommentieren.</p>
|
||||
<ul>
|
||||
<?php foreach ($posts as $post): ?>
|
||||
<li>
|
||||
<a href="post?id=<?php echo e($post['id']); ?>">
|
||||
<?php echo e($post['title']); ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php endforeach;?>
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
<?php foreach ($all AS $entry): ?>
|
||||
<li>
|
||||
<a href="posts-edit_c?id=<?php echo e($entry->id); ?>">
|
||||
<?php echo e($entry->title); ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
include __DIR__ . "/../layout/footer.php";
|
||||
?>
|
|
@ -0,0 +1,42 @@
|
|||
|
||||
<?php
|
||||
$thisPage="blog";
|
||||
$thissheet = "/index_c";
|
||||
include __DIR__ . "/../layout/header.php";
|
||||
|
||||
include __DIR__ . "./../../views/layout/css/navi.css";
|
||||
include __DIR__ . "/../layout/navigation.php";
|
||||
|
||||
//unset($_SESSION['login']);
|
||||
?>
|
||||
<div class="container">
|
||||
<div class="starter-template">
|
||||
<h1>Haralds Blog</h1>
|
||||
<p class="lead">In diesem Blog können Sie Kommentare zur Gestaltung meiner Seite abgeben oder </br>
|
||||
ergänzende Informationen zu Personen eintragen sowie fehlerhafte Daten kommentieren.</p>
|
||||
<ul>
|
||||
<?php foreach ($posts as $post): ?>
|
||||
<li>
|
||||
<a href="post?id=<?php echo e($post['id']); ?>">
|
||||
<?php echo e($post['title']); ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php endforeach;?>
|
||||
</ul>
|
||||
<?php/*
|
||||
<ul>
|
||||
<?php foreach ($all AS $entry): ?>
|
||||
<li>
|
||||
<a href="posts-edit_c?id=<?php echo e($entry->id); ?>">
|
||||
<?php echo e($entry->title); ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
*/?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
include __DIR__ . "/../layout/footer.php";
|
||||
?>
|
|
@ -0,0 +1,54 @@
|
|||
<?php
|
||||
$thisPage="blog";
|
||||
$thissheet = "/show";
|
||||
require(__DIR__ . "/../layout/header.php");
|
||||
include __DIR__ . "./../../views/layout/css/navi.css";
|
||||
include __DIR__ . "/../layout/navigation.php";
|
||||
//unset($_SESSION['login']);
|
||||
//unset($_SESSION['rechte'])
|
||||
var_dump($post); echo "<br><br>";
|
||||
var_dump($comments);
|
||||
?>
|
||||
|
||||
<div class="container">
|
||||
<div class="starter-template">
|
||||
<h3>Show - Kommentar zufügen:</h3>
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title"><?php echo e($post['title']); ?></h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<?php echo nl2br(e($post['content'])); ?>
|
||||
</div>
|
||||
|
||||
<ul class="list-group"><?php
|
||||
$i = 1;
|
||||
foreach($comments AS $comment): ?>
|
||||
<li class="list-group-item">
|
||||
<a href="posts-edit_c?id=<?php echo e($comment['id']); ?>"><?php
|
||||
echo $i.". ".e($comment->content)."</a>";
|
||||
|
||||
echo "<br>ID=".e($comment->id). " -> ";
|
||||
echo "post-ID=".e($comment->post_id). " -> ";
|
||||
echo "content=".e($comment->content);
|
||||
$i++;?>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
|
||||
<form method="post" action="post?id=<?php echo e($post['id']);?>">
|
||||
<textarea name="content" class="form-control"></textarea>
|
||||
</br>
|
||||
<input type="submit" value="Kommentar hinzufügen" class="btn btn-primary"/>
|
||||
</form>
|
||||
</br>
|
||||
</br>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
include __DIR__ . "/../layout/header.php";
|
||||
?>
|
|
@ -0,0 +1,55 @@
|
|||
<?php
|
||||
$thisPage="admin";
|
||||
require(__DIR__ . "/../layout/header.php");
|
||||
|
||||
include __DIR__ . "./../../views/layout/css/navi.css";
|
||||
|
||||
require __DIR__ . "/../layout/navigation.php";
|
||||
|
||||
$melde_0 = "<p style='color:red'><b>Diese Seite ist dem Admin vorbehalten!</b></p>";
|
||||
$melde_1 = "<p style='color:red'><b>Hier können die posts editiert werden!</b></p>";
|
||||
?>
|
||||
<br /> <br />
|
||||
|
||||
<div class="container">
|
||||
<div class="starter-template">
|
||||
<h3>Posts Dashboard</h3>
|
||||
|
||||
<ul><?php
|
||||
if ((isset($_SESSION['rechte'])) && (!($_SESSION['rechte'] == "admin"))) {
|
||||
echo $melde_0;?>
|
||||
<br>
|
||||
<li>
|
||||
<a href="index"> Zurück zum Blog (Kommentare) </a>
|
||||
</li> <br>
|
||||
<li>
|
||||
<a href="login">Login (erneuter Login als admin) </a>
|
||||
</li> <br>
|
||||
<li>
|
||||
<a href="homepages">Logout zur Website </a>
|
||||
</li> <?php
|
||||
} else {
|
||||
echo $melde_1;?>
|
||||
<li>
|
||||
<a href="posts-admin">Posts verwalten </a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="index">Kommmentar hinzufügen </a>
|
||||
</li>
|
||||
<?php
|
||||
}?>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
|
||||
// die();
|
||||
?>
|
||||
</br></br><h1>Startseite</h1>
|
||||
<?php
|
||||
header("Location: /../../public/index.php/index");
|
||||
die(); // hier könnte auch eine exeption ausgeführt werden
|
||||
?>
|
||||
<?php
|
||||
include __DIR__ . "/../layout/footer.php";
|
||||
?>
|
|
@ -0,0 +1,25 @@
|
|||
<?php
|
||||
$thisPage="homepages";
|
||||
|
||||
include __DIR__ . "/../layout/header.php";
|
||||
include __DIR__ . "/../layout/navigation.php";
|
||||
include __DIR__ . "/../layout/css/navi.css";
|
||||
?>
|
||||
|
||||
</br></br><h1>Startseite</h1>
|
||||
<?php
|
||||
header("Location: ../../../public/index.php/index");
|
||||
die(); // hier könnte auch eine exeption ausgeführt werden
|
||||
?>
|
||||
|
||||
<DIV class="footer">
|
||||
<hr><br>
|
||||
<p style= "text-align:center;"><a href="impressum">Impressum</a></p>
|
||||
<br>
|
||||
</DIV>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
|
||||
integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
|
||||
crossorigin="anonymous"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
$thisPage="homepages";
|
||||
|
||||
include __DIR__ . "/../layout/header.php";
|
||||
include __DIR__ . "/../layout/navigation.php";
|
||||
//include __DIR__ . "/../layout/css/navi.css";
|
||||
//echo "hier";
|
||||
//die();
|
||||
?>
|
||||
</br></br><h1>Startseite</h1>
|
||||
<?php
|
||||
header("Location: ../../../public/index.php/impressum");
|
||||
die(); // hier könnte auch eine exeption ausgeführt werden
|
||||
?>
|
||||
|
||||
<DIV class="footer">
|
||||
<hr><br>
|
||||
<p style= "text-align:center;"><a href="impressum">Impressum</a></p>
|
||||
<br>
|
||||
</DIV>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"
|
||||
integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS"
|
||||
crossorigin="anonymous"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,48 @@
|
|||
<?php
|
||||
$thisPage="login";
|
||||
$thissheet = "login";
|
||||
include __DIR__ . "/../layout/header.php";
|
||||
include __DIR__ . "./../../views/layout/css/navi.css";
|
||||
include __DIR__ . "/../layout/navigation.php";
|
||||
|
||||
?>
|
||||
<!--Blog/views/user/login.php-->
|
||||
|
||||
<div class="container">
|
||||
<div class="starter-template">
|
||||
<h1>Login</h1>
|
||||
|
||||
<?php if (!empty($error)): ?>
|
||||
<p>
|
||||
<?php echo "Die Kombination aus Benutzername und Passwort ist falsch"; // wird im LoginController gesetzt?>
|
||||
</p>
|
||||
<?php endif ?>
|
||||
|
||||
<form method="POST" method "login" class="form-horizontal">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3">
|
||||
Benutzername:
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<input type="text" name="username" class="form-control" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3">
|
||||
Passwort:
|
||||
</label>
|
||||
<div class="col-md-9">
|
||||
<input type="password" name="password" class="form-control" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="submit" value="Einloggen" class="btn btn-primary" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<?php
|
||||
include __DIR__ . "./../layout/footer.php";
|
||||
?>
|
|
@ -1 +1 @@
|
|||
11
|
||||
19
|
Loading…
Reference in New Issue