Update
This commit is contained in:
Vendored
+1
-1
@@ -51,7 +51,7 @@
|
||||
<form method='POST' action='blog_panel/be_post.php'>
|
||||
<button class='btn btn-primary ms-2' type='submit' name='edit' value='{$post['ID']}'>Edytuj</button>
|
||||
</form>
|
||||
<form method='POST' action='be_panel.php'>
|
||||
<form method='POST' action='vendor/blog-engine/php/Posts/Calls/PostManagement.php'>
|
||||
<div class='d-flex'>
|
||||
<button class='btn btn-primary ms-2' type='submit' name='see' value='{$post['ID']}'>Zobacz</button>
|
||||
<button class='btn btn-danger ms-2' type='submit' name='delete' value='{$post['ID']}'>Usuń</button>
|
||||
|
||||
+13
-3
@@ -18,10 +18,15 @@ namespace BlogEngine\Database {
|
||||
|
||||
public function Close($conn) { mysqli_close($conn); }
|
||||
|
||||
function Insert($into, $values){
|
||||
function Insert($into, $values) : bool{
|
||||
$conn = $this->Connection();
|
||||
mysqli_query($conn, "INSERT INTO {$into} VALUES({$values})");
|
||||
$this->Close($conn);
|
||||
if(mysqli_query($conn, "INSERT INTO {$into} VALUES({$values})")){
|
||||
$this->Close($conn);
|
||||
return true;
|
||||
} else {
|
||||
$this->Close($conn);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function CreateTable($name, $columns){
|
||||
@@ -194,5 +199,10 @@ namespace BlogEngine\Database {
|
||||
error_log("Nie ma dostępnego folderu \"Tables\". Zatrzymywanie tworzenia bazy!");
|
||||
}
|
||||
}
|
||||
|
||||
function Log($content, $log_level = 'Information', $id_user = null){
|
||||
$ip_address = file_get_contents("https://api.ipify.org");
|
||||
$this->Insert("logs(ip_address, content, log_level, created_by)", "'$ip_address', '$content', '$log_level', $id_user");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -419,5 +419,61 @@
|
||||
"is_string": false
|
||||
}
|
||||
}
|
||||
],
|
||||
"logs": [
|
||||
{
|
||||
"column_name": "id_log",
|
||||
"datatype": "INT",
|
||||
"primary_key": true,
|
||||
"auto_increment": true,
|
||||
"not_null": true
|
||||
},
|
||||
{
|
||||
"column_name": "ip_address",
|
||||
"datatype": "VARCHAR",
|
||||
"length": 15,
|
||||
"not_null": true,
|
||||
"default": {
|
||||
"value": "127.0.0.1",
|
||||
"is_string": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"column_name": "content",
|
||||
"datatype": "TEXT",
|
||||
"not_null": true,
|
||||
"default": {
|
||||
"value": "Some unknown error",
|
||||
"is_string": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"column_name": "log_level",
|
||||
"datatype": "ENUM",
|
||||
"enum_data": ["Debug", "Information", "Warning", "Error", "Critical"],
|
||||
"not_null": true,
|
||||
"default": {
|
||||
"value": "Warning",
|
||||
"is_string": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"column_name": "created_at",
|
||||
"datatype": "DATETIME",
|
||||
"not_null": true,
|
||||
"default": {
|
||||
"value": "NOW()",
|
||||
"is_string": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"column_name": "created_by",
|
||||
"datatype": "INT",
|
||||
"not_null": false,
|
||||
"foreign_key": {
|
||||
"references": "users",
|
||||
"column": "id_user"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
+26
-12
@@ -1,17 +1,31 @@
|
||||
<?php
|
||||
namespace BlogEngine {
|
||||
require "_config.php";
|
||||
if(!defined("BLOG_TITLE"))
|
||||
require "_config.php";
|
||||
|
||||
class Dictionary {
|
||||
public $page_tags = [
|
||||
"{POSTS}" => "",
|
||||
"{LINKS}" => "",
|
||||
"{FAVICON}" => (BLOG_ICON != ""?"<link rel='icon' type='image/png' href='" . BLOG_ICON . "' sizes='any'>":""),
|
||||
"{KEYWORDS}" => BLOG_TAGS,
|
||||
"{TITLE}" => BLOG_TITLE,
|
||||
"{AUTHOR}" => BLOG_AUTHOR,
|
||||
"{DESCRIPTION}" => BLOG_DESC,
|
||||
"{JS}" => "",
|
||||
"{CSS}" => ""
|
||||
];
|
||||
public function PageTags() : array {
|
||||
return [
|
||||
"{POSTS}" => "",
|
||||
"{LINKS}" => "",
|
||||
"{FAVICON}" => (BLOG_ICON != ""?"<link rel='icon' type='image/png' href='" . BLOG_ICON . "' sizes='any'>":""),
|
||||
"{KEYWORDS}" => BLOG_TAGS,
|
||||
"{TITLE}" => BLOG_TITLE,
|
||||
"{AUTHOR}" => BLOG_AUTHOR,
|
||||
"{DESCRIPTION}" => BLOG_DESC,
|
||||
"{JS}" => "",
|
||||
"{CSS}" => ""
|
||||
];
|
||||
}
|
||||
|
||||
public function BlogTags() : array {
|
||||
return [
|
||||
"{POST_TITLE}" => "title",
|
||||
"{POST_AUTHOR}" => "author",
|
||||
"{POST_CONTENT}" => "content",
|
||||
"{POST_ADDED}" => "added_at",
|
||||
"{POST_VIEWS}" => "views"
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
require "../../../../../_config.php";
|
||||
require "../../Authentication/AuthController.php";
|
||||
require "../PostController.php";
|
||||
|
||||
use BlogEngine\Posts\PostController;
|
||||
use BlogEngine\Authentication\AuthController;
|
||||
|
||||
session_start();
|
||||
|
||||
$auth = new AuthController();
|
||||
$conn = $auth->Connection();
|
||||
|
||||
$postcon = new PostController($auth);
|
||||
|
||||
if(isset($_POST['see'])){
|
||||
header("location: /post.php?id={$_POST['see']}");
|
||||
}
|
||||
|
||||
if(isset($_POST['delete'])){
|
||||
if($postcon->DeletePost($_POST['delete'])){
|
||||
header("location: /be_panel.php?s=posts");
|
||||
$auth->Log("Usunięto post o ID: {$_POST['delete']}", "Information", $auth->GetID($_SESSION['uToken_BE']));
|
||||
} else
|
||||
$auth->Log("Nie udało się usunąć posta o ID: {$_POST['delete']}.", "Error", $auth->GetID($_SESSION['uToken_BE']));
|
||||
}
|
||||
+51
-4
@@ -29,7 +29,7 @@ namespace BlogEngine\Posts {
|
||||
header("location: ../../../be_panel.php?s=posts");
|
||||
}
|
||||
|
||||
public function DraftPost($id = 0, $title = '', $content = '', $name = '', $tags = [], $commentStatus = ''){
|
||||
public function DraftPost($id = 0, $title = '', $content = '', $name = '', $tags = [], $commentStatus = '', $add_time = true){
|
||||
$srv = $this->auth->Connection();
|
||||
|
||||
$date = (is_bool($add_time)?"NOW":Date("'Y-m-d H:i:s'", strtotime($add_time)));
|
||||
@@ -38,7 +38,7 @@ namespace BlogEngine\Posts {
|
||||
if($id == 0){
|
||||
$id = mysqli_fetch_row(mysqli_query($srv, "SELECT MAX(id_post) FROM posts;"))[0] + 1;
|
||||
|
||||
$insert_post = "INSERT INTO posts VALUES($last_id_post, $id_user, '$name', '$title', '$content', 'draft', '$commentStatus', 0, $date, null);";
|
||||
$insert_post = "INSERT INTO posts VALUES($id, $id_user, '$name', '$title', '$content', 'draft', '$commentStatus', 0, NOW(), null);";
|
||||
mysqli_query($srv, $insert_post);
|
||||
|
||||
foreach ($tags as $tag){
|
||||
@@ -104,7 +104,7 @@ namespace BlogEngine\Posts {
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function DownloadPost($year, $month, $date, $name) : array {
|
||||
public function DownloadPost($year, $month, $day, $name) : array {
|
||||
$srv = $this->auth->Connection();
|
||||
$post = array();
|
||||
|
||||
@@ -133,7 +133,54 @@ namespace BlogEngine\Posts {
|
||||
}
|
||||
}
|
||||
|
||||
return post;
|
||||
return $post;
|
||||
}
|
||||
|
||||
public function DownloadSinglePost($id) {
|
||||
$srv = $this->auth->Connection();
|
||||
$post = [];
|
||||
|
||||
$get_post = "SELECT users.display_name AS autor, posts.title AS tytul, posts.content AS tresc, posts.views AS wyswietlenia, posts.added_at AS dodano, (SELECT GROUP_CONCAT(CONCAT(comments.author, ';;', comments.content, ';;', comments.added_at)) FROM comments WHERE comments.id_post = posts.id_post GROUP BY comments.id_comment) AS komentarze FROM posts, users WHERE users.id_user = posts.id_user AND id_post ={$id};";
|
||||
$res_post = mysqli_query($srv, $get_post);
|
||||
|
||||
if($row = mysqli_fetch_row($res_post)){
|
||||
$post = [
|
||||
"author" => $row[0],
|
||||
"title" => $row[1],
|
||||
"content" => $row[2],
|
||||
"views" => $row[3],
|
||||
"added_at" => $row[4],
|
||||
"comments" => array()
|
||||
];
|
||||
|
||||
if($row[5] != ""){
|
||||
$comments = mb_split("||||", $row[5]);
|
||||
|
||||
foreach($comments as $comment){
|
||||
$data = mb_split(";;", $comment);
|
||||
array_push($post[0]["Komentarze"], [
|
||||
"Autor" => $data[0],
|
||||
"Tresc" => $data[1],
|
||||
"Dodano" => $data[2]
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->auth->Close($srv);
|
||||
return $post;
|
||||
}
|
||||
|
||||
public function ConvertToSite($data, $site) : string{
|
||||
require "vendor/blog-engine/php/Dictionary.php";
|
||||
$dictionary = new \BlogEngine\Dictionary;
|
||||
|
||||
foreach(array_keys($dictionary->BlogTags()) as $tag){
|
||||
$site = str_replace($tag, $data[$dictionary->BlogTags()[$tag]], $site);
|
||||
}
|
||||
|
||||
return $site;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user