mirror of
https://github.com/Aviortheking/Blog_IMIE.git
synced 2025-07-29 14:19:50 +00:00
pouet mise a jour pouet
This commit is contained in:
@ -17,7 +17,6 @@ class LoginController extends Controller {
|
||||
|
||||
if(isset($_POST["username"]) && isset($_POST["password"])) {
|
||||
$user = Author::getByUsername($_POST["username"]);
|
||||
var_dump($user);
|
||||
if($user->checkPassword($_POST["password"])) {
|
||||
$_SESSION["author"] = $user;
|
||||
if(isset($_GET["redirect"])) header("Location: " . $_GET["redirect"]);
|
||||
|
@ -14,18 +14,17 @@ class PostController extends Controller {
|
||||
* @title Modification d'article
|
||||
*/
|
||||
public function postEdit() {
|
||||
if(isset($_GET["post"]) && isset($_GET["title"]) && isset($_GET["category"]) && isset($_GET["content"]) && isset($_GET["tags"])) {
|
||||
if(isset($_GET["post"]) && isset($_POST["title"]) && isset($_POST["category"]) && isset($_POST["content"]) && isset($_POST["tags"])) {
|
||||
var_dump($_POST["content"]);
|
||||
$post = Post::get($_GET["post"]);
|
||||
|
||||
$post->setTitle($_GET["title"]);
|
||||
$post->setContent($_GET["content"]);
|
||||
$post->setCategory($_GET["category"]);
|
||||
$post->setTitle($_POST["title"]);
|
||||
$post->setContent($_POST["content"]);
|
||||
$post->setCategory($_POST["category"]);
|
||||
|
||||
$tags = explode(",", $_GET["tags"]);
|
||||
$tags = explode(",", $_POST["tags"]);
|
||||
$tgs = array();
|
||||
foreach ($tags as $tag) {
|
||||
var_dump($tag);
|
||||
var_dump(Tag::getByName($tag));
|
||||
if(!(Tag::getByName($tag))) {
|
||||
$tgs[] = Tag::add((new Tag())->setName($tag))->getId();
|
||||
} else {
|
||||
@ -47,21 +46,16 @@ class PostController extends Controller {
|
||||
*/
|
||||
public function postAdd() {
|
||||
|
||||
var_dump($_GET);
|
||||
// die;
|
||||
|
||||
if(isset($_GET["title"]) && isset($_GET["category"]) && isset($_GET["content"]) && isset($_GET["tags"])) {
|
||||
if(isset($_POST["title"]) && isset($_POST["category"]) && isset($_POST["content"]) && isset($_POST["tags"])) {
|
||||
$post = new Post();
|
||||
|
||||
$post->setTitle($_GET["title"]);
|
||||
$post->setContent($_GET["content"]);
|
||||
$post->setCategory($_GET["category"]);
|
||||
$post->setTitle($_POST["title"]);
|
||||
$post->setContent($_POST["content"]);
|
||||
$post->setCategory($_POST["category"]);
|
||||
// $post->setAuthor();
|
||||
$tags = explode(",", $_GET["tags"]);
|
||||
$tags = explode(",", $_POST["tags"]);
|
||||
$tgs = array();
|
||||
foreach ($tags as $tag) {
|
||||
var_dump($tag);
|
||||
var_dump(Tag::getByName($tag));
|
||||
if(!(Tag::getByName($tag))) {
|
||||
$tgs[] = Tag::add((new Tag())->setName($tag))->getId();
|
||||
} else {
|
||||
@ -86,4 +80,32 @@ class PostController extends Controller {
|
||||
public function post() {
|
||||
return file_get_contents(DIR."/html/post.html");
|
||||
}
|
||||
|
||||
/**
|
||||
* @route /^\/post\/[0-9]+\/upload\/$/
|
||||
*/
|
||||
public function upload() {
|
||||
if($_GET["post"] && $_FILES["file"]) {
|
||||
|
||||
$post = $_GET['post'];
|
||||
|
||||
if($post == "new") $post = "temp";
|
||||
|
||||
|
||||
$uploadFolder = DIR."/../uploads/posts/".$_GET["post"]."/";
|
||||
|
||||
if(!file_exists($uploadFolder)) {
|
||||
mkdir($uploadFolder, 0660, true);
|
||||
}
|
||||
|
||||
if(isset($_FILES["file"]) && !empty($_FILES["file"])) {
|
||||
var_dump($_FILES["file"]);
|
||||
move_uploaded_file($_FILES["file"]["tmp_name"], $uploadFolder.$_FILES["file"]["name"]);
|
||||
// require_once "functions.php";
|
||||
// file_put_contents($uploadFolder."/pouet.jpg", base64_decode($_POST["image"]));
|
||||
// base64_to_jpeg($_POST["image"], $uploadFolder."/pouet.jpg");
|
||||
// file_put_content($uploadFolder."/pouet.jpg", base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $_POST["image"])));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -18,6 +18,7 @@ class UserController extends Controller {
|
||||
$user = new Author();
|
||||
$user->setUsername($_POST["username"]);
|
||||
$user->setPassword($_POST["password"]);
|
||||
$user->setRole($_POST["role"]);
|
||||
Author::add($user);
|
||||
header("Location: /users/");
|
||||
}
|
||||
@ -35,11 +36,12 @@ class UserController extends Controller {
|
||||
}
|
||||
|
||||
/**
|
||||
* @route /^\/user\/edit\/$/
|
||||
* @route /\/users\/edit\/[0-9]+\/$/
|
||||
* @admin
|
||||
* @title Modifier un utilisateur
|
||||
*/
|
||||
public function editUser() {
|
||||
$_GET['edit_user'] = explode("/", $_GET["page"])[3];
|
||||
return \file_get_contents(DIR."/html/user_edit.html");
|
||||
}
|
||||
|
||||
|
@ -6,6 +6,7 @@ use App\DB\Category;
|
||||
use DateTime;
|
||||
use App\DB\Tag;
|
||||
use App\DB\Post;
|
||||
use App\Functions;
|
||||
|
||||
|
||||
class Editor extends \App\Tags\Tag {
|
||||
@ -43,9 +44,11 @@ class Editor extends \App\Tags\Tag {
|
||||
$pok->parentNode->insertBefore($doc->createTextNode($txt), $pok);
|
||||
break;
|
||||
case 'content':
|
||||
$tarea = $doc->createElement("textarea");
|
||||
if(isset($post)) $tarea->appendChild($doc->createTextNode($post->getContent()));
|
||||
$tarea = $doc->createElement("div");
|
||||
|
||||
if(isset($post)) Functions::appendHTML($tarea, $post->getContent());
|
||||
$tarea->setAttribute("style", "width: 100%; min-height: 200px");
|
||||
$tarea->setAttribute("class", "summernote");
|
||||
$pok->parentNode->insertBefore($tarea, $pok);
|
||||
break;
|
||||
case 'title':
|
||||
|
@ -22,9 +22,13 @@ class IsLoggedIn extends Tag {
|
||||
|
||||
|
||||
if(isset($_SESSION["author"])) {
|
||||
if($el->hasAttribute("role") || !$_SESSION["author"]->getRole() == "ROLE_ADMIN") {
|
||||
if($_SESSION["author"]->getRole() == "ROLE_ADMIN") {
|
||||
$loggedin = true;
|
||||
} elseif($el->hasAttribute("role")) {
|
||||
$loggedin = $el->getAttribute("role") == $_SESSION["author"]->getRole();
|
||||
} else $loggedin = true;
|
||||
} else {
|
||||
$loggedin = true;
|
||||
}
|
||||
} else $loggedin = false;
|
||||
|
||||
|
||||
|
@ -10,6 +10,80 @@ use App\DB\Post;
|
||||
|
||||
class UserEditor extends \App\Tags\Tag {
|
||||
public function render() {
|
||||
if($_GET["post"] == "new") $_GET["post"] = null;
|
||||
elseif(isset($_GET["post"])) $post = Post::get($_GET["post"]);
|
||||
//recuperation de la balise de base (<tag type="bold">pouet</tag>)
|
||||
$pok = $this->getElement();
|
||||
//recuperation du document (necessaire a la création de balises
|
||||
$doc = $this->getDoc();
|
||||
|
||||
$type = $pok->getAttribute("element");
|
||||
|
||||
switch ($type) {
|
||||
case 'role':
|
||||
foreach (array("Utilisateur" => "ROLE_USER", "Editeur" =>"ROLE_EDITOR", "Admin" => "ROLE_ADMIN") as $key => $value) {
|
||||
$opt = $doc->createElement("option");
|
||||
$opt->setAttribute("value", $value);
|
||||
$opt->appendChild($doc->createTextNode($key));
|
||||
$el->parentNode->appendChild();
|
||||
}
|
||||
$option = $doc->createElement("option");
|
||||
$text = $doc->createTextNode("Categorie");
|
||||
$option->setAttribute("value", "1");
|
||||
$option->setAttribute("disabled", "true");
|
||||
if(!isset($post)) $option->setAttribute("selected", "selected");
|
||||
$option->appendChild($text);
|
||||
$pok->parentNode->insertBefore($option, $pok);
|
||||
foreach (Category::list() as $cat) {
|
||||
$option = $doc->createElement("option");
|
||||
$text = $doc->createTextNode($cat->getName());
|
||||
$option->appendChild($text);
|
||||
$option->setAttribute("value", $cat->getId());
|
||||
if(isset($post) && $post->getCategory()->getId() == $cat->getId()) $option->setAttribute("selected", "selected");
|
||||
$pok->parentNode->insertBefore($option, $pok);
|
||||
}
|
||||
break;
|
||||
case 'datetime':
|
||||
if(isset($post)) $txt = $post->getDateTime();
|
||||
else $txt = (new DateTime())->format('d/m/Y H:i:s');
|
||||
$pok->parentNode->insertBefore($doc->createTextNode($txt), $pok);
|
||||
break;
|
||||
case 'content':
|
||||
$tarea = $doc->createElement("textarea");
|
||||
if(isset($post)) $tarea->appendChild($doc->createTextNode($post->getContent()));
|
||||
$tarea->setAttribute("style", "width: 100%; min-height: 200px");
|
||||
$pok->parentNode->insertBefore($tarea, $pok);
|
||||
break;
|
||||
case 'title':
|
||||
$input = $doc->createElement("input");
|
||||
$input->setAttribute("style", "width: 100%");
|
||||
$input->setAttribute("placeholder", "titre");
|
||||
if(isset($post)) $input->setAttribute("value", $post->getTitle());
|
||||
$pok->parentNode->insertBefore($input, $pok);
|
||||
break;
|
||||
case 'tags':
|
||||
foreach (Tag::list() as $el) {
|
||||
$tg = $doc->createElement("input");
|
||||
$tg->setAttribute("id", $el->getId());
|
||||
$tg->setAttribute("type", "checkbox");
|
||||
$tg->setAttribute("data-text", $el->getName());
|
||||
if(isset($post)) {
|
||||
if(in_array($el, $post->getTags())) $tg->setAttribute("checked", "checked");
|
||||
}
|
||||
$txt = $doc->createElement("label");
|
||||
$txt->appendChild($doc->createTextNode($el->getName()));
|
||||
$txt->setAttribute("for", $el->getId());
|
||||
$pok->parentNode->insertBefore($tg, $pok);
|
||||
$pok->parentNode->insertBefore($txt, $pok);
|
||||
}
|
||||
$btn = $doc->createElement("button");
|
||||
$btn->appendChild($doc->createTextNode("Add Tag"));
|
||||
$btn->setAttribute("class", "addTag");
|
||||
$pok->parentNode->insertBefore($btn, $pok);
|
||||
default:
|
||||
# code...
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -261,7 +261,6 @@ class Post {
|
||||
$p = Post::list(true, 1)[0]->getId();
|
||||
|
||||
$tags = $post->getTags();
|
||||
var_dump($tags);
|
||||
if(count($tags) >= 1) {
|
||||
$q = "INSERT INTO post_tag (post_id, tag) VALUES ( :post , :tag )";
|
||||
$prepared = $pdo->prepare($q);
|
||||
@ -320,6 +319,7 @@ class Post {
|
||||
$prepared->bindValue(":dt", $dt);
|
||||
$prepared->bindValue(":id", $id);
|
||||
$prepared->execute();
|
||||
var_dump($prepared->errorInfo());
|
||||
|
||||
$tags = $post->getTags();
|
||||
if(count($tags) >= 1) {
|
||||
|
@ -1,24 +1,24 @@
|
||||
<?php
|
||||
|
||||
|
||||
// if(isset($_GET["image"]) && !empty($_GET["image"])) $_POST["image"] = $_GET["image"];
|
||||
if(isset($_GET["image"]) && !empty($_GET["image"])) $_POST["image"] = $_GET["image"];
|
||||
|
||||
// $id = 1; //post id
|
||||
$id = 1; //post id
|
||||
|
||||
// $uploadFolder = "../../uploads/posts/$id/";
|
||||
$uploadFolder = "../../uploads/posts/$id/";
|
||||
|
||||
// if(!file_exists($uploadFolder)) {
|
||||
// mkdir($uploadFolder, 0660, true);
|
||||
// }
|
||||
if(!file_exists($uploadFolder)) {
|
||||
mkdir($uploadFolder, 0660, true);
|
||||
}
|
||||
|
||||
// if(isset($_FILES["photo"]) && !empty($_FILES["photo"])) {
|
||||
// var_dump($_FILES["photo"]);
|
||||
// move_uploaded_file($_FILES["photo"]["tmp_name"], $uploadFolder.$_FILES["photo"]["name"]);
|
||||
// // require_once "functions.php";
|
||||
// // file_put_contents($uploadFolder."/pouet.jpg", base64_decode($_POST["image"]));
|
||||
// // base64_to_jpeg($_POST["image"], $uploadFolder."/pouet.jpg");
|
||||
// // file_put_content($uploadFolder."/pouet.jpg", base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $_POST["image"])));
|
||||
// }
|
||||
if(isset($_FILES["photo"]) && !empty($_FILES["photo"])) {
|
||||
var_dump($_FILES["photo"]);
|
||||
move_uploaded_file($_FILES["photo"]["tmp_name"], $uploadFolder.$_FILES["photo"]["name"]);
|
||||
// require_once "functions.php";
|
||||
// file_put_contents($uploadFolder."/pouet.jpg", base64_decode($_POST["image"]));
|
||||
// base64_to_jpeg($_POST["image"], $uploadFolder."/pouet.jpg");
|
||||
// file_put_content($uploadFolder."/pouet.jpg", base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $_POST["image"])));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user