mirror of
https://github.com/Aviortheking/Blog_IMIE.git
synced 2025-04-22 19:02:10 +00:00
pouet mise a jour pouet
This commit is contained in:
parent
0ebf00dd4c
commit
bd886e444e
@ -487,6 +487,12 @@ input {
|
|||||||
color: #848484;
|
color: #848484;
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
|
overflow: hidden;
|
||||||
|
height: 180px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.article .text img {
|
||||||
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -----------------------------------------------------
|
/* -----------------------------------------------------
|
||||||
|
@ -2,7 +2,10 @@
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
<title></title>
|
<title></title>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous" />
|
|
||||||
<link rel="stylesheet" type="text/css" media="screen" href="/assets/css/style.css"/>
|
<link rel="stylesheet" type="text/css" media="screen" href="/assets/css/style.css"/>
|
||||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
|
|
||||||
<script src="/assets/js/script.js" defer=""></script>
|
<script src="/assets/js/script.js" defer=""></script>
|
||||||
|
<link href="http://netdna.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.css" rel="stylesheet" />
|
||||||
|
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
|
||||||
|
<script src="http://netdna.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.js"></script>
|
||||||
|
<link href="http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.11/summernote.css" rel="stylesheet" />
|
||||||
|
<script src="http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.11/summernote.js"></script>
|
||||||
|
@ -22,13 +22,31 @@
|
|||||||
</if>
|
</if>
|
||||||
</tag>
|
</tag>
|
||||||
</li>
|
</li>
|
||||||
<li class="item_nav_imie link" style="float: left">
|
|
||||||
<tag type="isLoggedIn" role="ROLE_ADMIN">
|
<tag type="isLoggedIn" role="ROLE_ADMIN">
|
||||||
<if true>
|
<if true>
|
||||||
|
<li class="item_nav_imie link" style="float: left">
|
||||||
<a href="/users">Utilisateurs</a>
|
<a href="/users">Utilisateurs</a>
|
||||||
|
</li>
|
||||||
</if>
|
</if>
|
||||||
</tag>
|
</tag>
|
||||||
|
<tag type="isLoggedIn" role="ROLE_EDITOR">
|
||||||
|
<if true>
|
||||||
|
<li class="item_nav_imie link" style="float: left">
|
||||||
|
|
||||||
|
<a href="/post/new">Ajouter un article</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
</if>
|
||||||
|
</tag>
|
||||||
|
<tag type="isLoggedIn" role="ROLE_EDITOR">
|
||||||
|
<if true>
|
||||||
|
<li class="item_nav_imie link" style="float: left">
|
||||||
|
|
||||||
|
<a href="/logout">Déconexion</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</if>
|
||||||
|
</tag>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -44,17 +62,17 @@
|
|||||||
<li class="item_nav_blog_logo"><a href="/">
|
<li class="item_nav_blog_logo"><a href="/">
|
||||||
<tag type="svg" file="logo-imie-blog" style="color: white; width: 200px; height: 64px; margin-top: 6px;" /></a></li>
|
<tag type="svg" file="logo-imie-blog" style="color: white; width: 200px; height: 64px; margin-top: 6px;" /></a></li>
|
||||||
<li class="item_nav_blog_droite_icon">
|
<li class="item_nav_blog_droite_icon">
|
||||||
<form method="dialog" action="/search">
|
<form method="GET" action="/search/">
|
||||||
<input name="term" id="search" class="el-search" type="text" placeholder="Recherche">
|
<input name="term" id="search" class="el-search" type="text" placeholder="Recherche">
|
||||||
<button type="submit" class="submit">
|
<button type="submit" class="submit">
|
||||||
<tag type="svg" file="mignify" style="color: rgba(0, 0, 0, .5); width: 18px; height: 18px;" />
|
<tag type="svg" file="mignify" style="color: rgba(0, 0, 0, .5); width: 18px; height: 18px;" />
|
||||||
</button>
|
</button>
|
||||||
</form>
|
</form>
|
||||||
</li>
|
</li>
|
||||||
<li class="item_nav_blog_droite devops"><a>DEVOPS</a></li>
|
<li class="item_nav_blog_droite devops"><a href="/search/?category=1">DEVOPS</a></li>
|
||||||
<li class="item_nav_blog_droite ops"><a>OPS</a></li>
|
<li class="item_nav_blog_droite ops"><a href="/search/?category=2">OPS</a></li>
|
||||||
<li class="item_nav_blog_droite digi"><a>DIGI</a></li>
|
<li class="item_nav_blog_droite digi"><a href="/search/?category=4">DIGI</a></li>
|
||||||
<li class="item_nav_blog_droite dev"><a>DEV</a></li>
|
<li class="item_nav_blog_droite dev"><a href="/search/?category=3">DEV</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -20,7 +20,8 @@
|
|||||||
<form name="login" id="name" method="POST" class="login" action="./edit">
|
<form name="login" id="name" method="POST" class="login" action="./edit">
|
||||||
<input name="username" id="username" type="text" placeholder="Nom d'utilisateur" />
|
<input name="username" id="username" type="text" placeholder="Nom d'utilisateur" />
|
||||||
<input name="password" id="password" type="password" placeholder="Mot de passe" />
|
<input name="password" id="password" type="password" placeholder="Mot de passe" />
|
||||||
<select>
|
<select name="ROLE_ADMIN">
|
||||||
|
<tag type="userEditor" el="role" />
|
||||||
<option value="ROLE_USER">Utilisateur</option>
|
<option value="ROLE_USER">Utilisateur</option>
|
||||||
<option value="ROLE_EDITOR">Editeur</option>
|
<option value="ROLE_EDITOR">Editeur</option>
|
||||||
<option value="ROLE_ADMIN">Administrateur</option>
|
<option value="ROLE_ADMIN">Administrateur</option>
|
||||||
|
@ -1,10 +1,17 @@
|
|||||||
// Fichier des scripts (logiquement que pour les requets AJAX et pour certaines animations) (plusieurs fichiers sont possible bien sur)
|
// Fichier des scripts (logiquement que pour les requets AJAX et pour certaines animations) (plusieurs fichiers sont possible bien sur)
|
||||||
|
|
||||||
var processForm = () => {
|
var sendImage = (file) => {
|
||||||
var request = new XMLHttpRequest();
|
var request = new XMLHttpRequest();
|
||||||
var form = new FormData();
|
var form = new FormData();
|
||||||
form.append("photo", document.querySelector("#file").files[0]);
|
form.append("file", file[0]);
|
||||||
request.open("POST", "/test/", true);
|
request.open("POST", "../upload/", true);
|
||||||
|
eadystatechange = function() {//Call a function when the state changes.
|
||||||
|
if(http.readyState == 4 && http.status == 200) {
|
||||||
|
alert(http.responseText);
|
||||||
|
// window.location = window.location.href.replace("edit/", "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log("sending");
|
||||||
request.send(form);
|
request.send(form);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,13 +78,13 @@ var addingTag = (element) => {
|
|||||||
|
|
||||||
var submit = () => {
|
var submit = () => {
|
||||||
|
|
||||||
var major = document.querySelector('.post.text > textarea');
|
var major = document.querySelector('.note-editing-area .note-editable');
|
||||||
var title = document.querySelector("h2.title > input");
|
var title = document.querySelector("h2.title > input");
|
||||||
var category = document.querySelector("span.cat > select");
|
var category = document.querySelector("span.cat > select");
|
||||||
var tags = document.querySelectorAll("input[type='checkbox']:checked");
|
var tags = document.querySelectorAll("input[type='checkbox']:checked");
|
||||||
console.log(title.value);
|
console.log(title.value);
|
||||||
console.log(category.value);
|
console.log(category.value);
|
||||||
console.log(major.value);
|
console.log(major.innerText);
|
||||||
console.log(tags);
|
console.log(tags);
|
||||||
var tglst = "";
|
var tglst = "";
|
||||||
tags.forEach(element => {
|
tags.forEach(element => {
|
||||||
@ -85,9 +92,33 @@ var submit = () => {
|
|||||||
});
|
});
|
||||||
tglst = tglst.substr(1);
|
tglst = tglst.substr(1);
|
||||||
|
|
||||||
window.location.search = "title="+ title.value +"&category=" + category.value + "&content=" + major.value + "&tags=" + tglst;
|
var data = new FormData();
|
||||||
|
data.append("title", title.value);
|
||||||
|
data.append("category", category.value);
|
||||||
|
data.append("content", major.innerHTML);
|
||||||
|
data.append("tags", tglst);
|
||||||
|
|
||||||
|
var http = new XMLHttpRequest();
|
||||||
|
http.open("POST", "./", true);
|
||||||
|
http.onreadystatechange = function() {//Call a function when the state changes.
|
||||||
|
if(http.readyState == 4 && http.status == 200) {
|
||||||
|
document.write(http.responseText);
|
||||||
|
// window.location = window.location.href.replace("edit/", "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
http.send(data);
|
||||||
|
// var url = './';
|
||||||
|
// var params = "title="+ title.value +"&category=" + category.value + "&content=" + major.innerHTML + "&tags=" + tglst;
|
||||||
|
// http.open('POST', url, true);
|
||||||
|
|
||||||
|
// //Send the proper header information along with the request
|
||||||
|
// http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
|
||||||
|
|
||||||
|
// console.log(major.innerHTML);
|
||||||
|
|
||||||
|
|
||||||
|
// http.send(params);
|
||||||
|
|
||||||
//?title=$title&category=$category&content=$major&
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -96,7 +127,7 @@ if(document.querySelector(".addTag") != null) {
|
|||||||
document.querySelector(".submitPost").addEventListener("click", submit);
|
document.querySelector(".submitPost").addEventListener("click", submit);
|
||||||
}
|
}
|
||||||
|
|
||||||
document.querySelector("#search + a").addEventListener("click", function() {
|
document.querySelector("#search + button").addEventListener("click", function() {
|
||||||
window.location = window.location.pathname + "?term=" + document.querySelector("#search").value;
|
window.location = window.location.pathname + "?term=" + document.querySelector("#search").value;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -109,3 +140,34 @@ document.querySelectorAll(".int-search .filtre").forEach(function(el) {
|
|||||||
window.location = window.location.pathname + "?category=" + this.getAttribute("data-category") + tag + term;
|
window.location = window.location.pathname + "?category=" + this.getAttribute("data-category") + tag + term;
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
|
$('.summernote').summernote({
|
||||||
|
minHeight: 300,
|
||||||
|
// airMode: true,
|
||||||
|
callbacks: {
|
||||||
|
onImageUpload: function(file) {
|
||||||
|
sendImage(file);
|
||||||
|
console.log(file);
|
||||||
|
let img = document.createElement("img");
|
||||||
|
window.location
|
||||||
|
img.setAttribute("src", "/uploads/posts/" + window.location.pathname.split("/")[2] + "/" + file[0].name);
|
||||||
|
img.setAttribute("style", "width: 100%");
|
||||||
|
$('.summernote').summernote('insertNode', img)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
toolbar: [
|
||||||
|
['style', ['style']],
|
||||||
|
['font', ['bold', 'italic', 'underline', 'clear']],
|
||||||
|
['fontname', ['fontname']],
|
||||||
|
['color', ['color']],
|
||||||
|
['para', ['ul', 'ol', 'paragraph']],
|
||||||
|
['height', ['height']],
|
||||||
|
['table', ['table']],
|
||||||
|
['insert', ['link', 'picture', 'hr']],
|
||||||
|
['view', ['fullscreen', 'codeview']],
|
||||||
|
['help', ['help']]
|
||||||
|
]
|
||||||
|
});
|
||||||
|
});
|
||||||
|
@ -17,7 +17,6 @@ class LoginController extends Controller {
|
|||||||
|
|
||||||
if(isset($_POST["username"]) && isset($_POST["password"])) {
|
if(isset($_POST["username"]) && isset($_POST["password"])) {
|
||||||
$user = Author::getByUsername($_POST["username"]);
|
$user = Author::getByUsername($_POST["username"]);
|
||||||
var_dump($user);
|
|
||||||
if($user->checkPassword($_POST["password"])) {
|
if($user->checkPassword($_POST["password"])) {
|
||||||
$_SESSION["author"] = $user;
|
$_SESSION["author"] = $user;
|
||||||
if(isset($_GET["redirect"])) header("Location: " . $_GET["redirect"]);
|
if(isset($_GET["redirect"])) header("Location: " . $_GET["redirect"]);
|
||||||
|
@ -14,18 +14,17 @@ class PostController extends Controller {
|
|||||||
* @title Modification d'article
|
* @title Modification d'article
|
||||||
*/
|
*/
|
||||||
public function postEdit() {
|
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 = Post::get($_GET["post"]);
|
||||||
|
|
||||||
$post->setTitle($_GET["title"]);
|
$post->setTitle($_POST["title"]);
|
||||||
$post->setContent($_GET["content"]);
|
$post->setContent($_POST["content"]);
|
||||||
$post->setCategory($_GET["category"]);
|
$post->setCategory($_POST["category"]);
|
||||||
|
|
||||||
$tags = explode(",", $_GET["tags"]);
|
$tags = explode(",", $_POST["tags"]);
|
||||||
$tgs = array();
|
$tgs = array();
|
||||||
foreach ($tags as $tag) {
|
foreach ($tags as $tag) {
|
||||||
var_dump($tag);
|
|
||||||
var_dump(Tag::getByName($tag));
|
|
||||||
if(!(Tag::getByName($tag))) {
|
if(!(Tag::getByName($tag))) {
|
||||||
$tgs[] = Tag::add((new Tag())->setName($tag))->getId();
|
$tgs[] = Tag::add((new Tag())->setName($tag))->getId();
|
||||||
} else {
|
} else {
|
||||||
@ -47,21 +46,16 @@ class PostController extends Controller {
|
|||||||
*/
|
*/
|
||||||
public function postAdd() {
|
public function postAdd() {
|
||||||
|
|
||||||
var_dump($_GET);
|
if(isset($_POST["title"]) && isset($_POST["category"]) && isset($_POST["content"]) && isset($_POST["tags"])) {
|
||||||
// die;
|
|
||||||
|
|
||||||
if(isset($_GET["title"]) && isset($_GET["category"]) && isset($_GET["content"]) && isset($_GET["tags"])) {
|
|
||||||
$post = new Post();
|
$post = new Post();
|
||||||
|
|
||||||
$post->setTitle($_GET["title"]);
|
$post->setTitle($_POST["title"]);
|
||||||
$post->setContent($_GET["content"]);
|
$post->setContent($_POST["content"]);
|
||||||
$post->setCategory($_GET["category"]);
|
$post->setCategory($_POST["category"]);
|
||||||
// $post->setAuthor();
|
// $post->setAuthor();
|
||||||
$tags = explode(",", $_GET["tags"]);
|
$tags = explode(",", $_POST["tags"]);
|
||||||
$tgs = array();
|
$tgs = array();
|
||||||
foreach ($tags as $tag) {
|
foreach ($tags as $tag) {
|
||||||
var_dump($tag);
|
|
||||||
var_dump(Tag::getByName($tag));
|
|
||||||
if(!(Tag::getByName($tag))) {
|
if(!(Tag::getByName($tag))) {
|
||||||
$tgs[] = Tag::add((new Tag())->setName($tag))->getId();
|
$tgs[] = Tag::add((new Tag())->setName($tag))->getId();
|
||||||
} else {
|
} else {
|
||||||
@ -86,4 +80,32 @@ class PostController extends Controller {
|
|||||||
public function post() {
|
public function post() {
|
||||||
return file_get_contents(DIR."/html/post.html");
|
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 = new Author();
|
||||||
$user->setUsername($_POST["username"]);
|
$user->setUsername($_POST["username"]);
|
||||||
$user->setPassword($_POST["password"]);
|
$user->setPassword($_POST["password"]);
|
||||||
|
$user->setRole($_POST["role"]);
|
||||||
Author::add($user);
|
Author::add($user);
|
||||||
header("Location: /users/");
|
header("Location: /users/");
|
||||||
}
|
}
|
||||||
@ -35,11 +36,12 @@ class UserController extends Controller {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @route /^\/user\/edit\/$/
|
* @route /\/users\/edit\/[0-9]+\/$/
|
||||||
* @admin
|
* @admin
|
||||||
* @title Modifier un utilisateur
|
* @title Modifier un utilisateur
|
||||||
*/
|
*/
|
||||||
public function editUser() {
|
public function editUser() {
|
||||||
|
$_GET['edit_user'] = explode("/", $_GET["page"])[3];
|
||||||
return \file_get_contents(DIR."/html/user_edit.html");
|
return \file_get_contents(DIR."/html/user_edit.html");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ use App\DB\Category;
|
|||||||
use DateTime;
|
use DateTime;
|
||||||
use App\DB\Tag;
|
use App\DB\Tag;
|
||||||
use App\DB\Post;
|
use App\DB\Post;
|
||||||
|
use App\Functions;
|
||||||
|
|
||||||
|
|
||||||
class Editor extends \App\Tags\Tag {
|
class Editor extends \App\Tags\Tag {
|
||||||
@ -43,9 +44,11 @@ class Editor extends \App\Tags\Tag {
|
|||||||
$pok->parentNode->insertBefore($doc->createTextNode($txt), $pok);
|
$pok->parentNode->insertBefore($doc->createTextNode($txt), $pok);
|
||||||
break;
|
break;
|
||||||
case 'content':
|
case 'content':
|
||||||
$tarea = $doc->createElement("textarea");
|
$tarea = $doc->createElement("div");
|
||||||
if(isset($post)) $tarea->appendChild($doc->createTextNode($post->getContent()));
|
|
||||||
|
if(isset($post)) Functions::appendHTML($tarea, $post->getContent());
|
||||||
$tarea->setAttribute("style", "width: 100%; min-height: 200px");
|
$tarea->setAttribute("style", "width: 100%; min-height: 200px");
|
||||||
|
$tarea->setAttribute("class", "summernote");
|
||||||
$pok->parentNode->insertBefore($tarea, $pok);
|
$pok->parentNode->insertBefore($tarea, $pok);
|
||||||
break;
|
break;
|
||||||
case 'title':
|
case 'title':
|
||||||
|
@ -22,9 +22,13 @@ class IsLoggedIn extends Tag {
|
|||||||
|
|
||||||
|
|
||||||
if(isset($_SESSION["author"])) {
|
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();
|
$loggedin = $el->getAttribute("role") == $_SESSION["author"]->getRole();
|
||||||
} else $loggedin = true;
|
} else {
|
||||||
|
$loggedin = true;
|
||||||
|
}
|
||||||
} else $loggedin = false;
|
} else $loggedin = false;
|
||||||
|
|
||||||
|
|
||||||
|
@ -10,6 +10,80 @@ use App\DB\Post;
|
|||||||
|
|
||||||
class UserEditor extends \App\Tags\Tag {
|
class UserEditor extends \App\Tags\Tag {
|
||||||
public function render() {
|
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();
|
$p = Post::list(true, 1)[0]->getId();
|
||||||
|
|
||||||
$tags = $post->getTags();
|
$tags = $post->getTags();
|
||||||
var_dump($tags);
|
|
||||||
if(count($tags) >= 1) {
|
if(count($tags) >= 1) {
|
||||||
$q = "INSERT INTO post_tag (post_id, tag) VALUES ( :post , :tag )";
|
$q = "INSERT INTO post_tag (post_id, tag) VALUES ( :post , :tag )";
|
||||||
$prepared = $pdo->prepare($q);
|
$prepared = $pdo->prepare($q);
|
||||||
@ -320,6 +319,7 @@ class Post {
|
|||||||
$prepared->bindValue(":dt", $dt);
|
$prepared->bindValue(":dt", $dt);
|
||||||
$prepared->bindValue(":id", $id);
|
$prepared->bindValue(":id", $id);
|
||||||
$prepared->execute();
|
$prepared->execute();
|
||||||
|
var_dump($prepared->errorInfo());
|
||||||
|
|
||||||
$tags = $post->getTags();
|
$tags = $post->getTags();
|
||||||
if(count($tags) >= 1) {
|
if(count($tags) >= 1) {
|
||||||
|
@ -1,24 +1,24 @@
|
|||||||
<?php
|
<?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)) {
|
if(!file_exists($uploadFolder)) {
|
||||||
// mkdir($uploadFolder, 0660, true);
|
mkdir($uploadFolder, 0660, true);
|
||||||
// }
|
}
|
||||||
|
|
||||||
// if(isset($_FILES["photo"]) && !empty($_FILES["photo"])) {
|
if(isset($_FILES["photo"]) && !empty($_FILES["photo"])) {
|
||||||
// var_dump($_FILES["photo"]);
|
var_dump($_FILES["photo"]);
|
||||||
// move_uploaded_file($_FILES["photo"]["tmp_name"], $uploadFolder.$_FILES["photo"]["name"]);
|
move_uploaded_file($_FILES["photo"]["tmp_name"], $uploadFolder.$_FILES["photo"]["name"]);
|
||||||
// // require_once "functions.php";
|
// require_once "functions.php";
|
||||||
// // file_put_contents($uploadFolder."/pouet.jpg", base64_decode($_POST["image"]));
|
// file_put_contents($uploadFolder."/pouet.jpg", base64_decode($_POST["image"]));
|
||||||
// // base64_to_jpeg($_POST["image"], $uploadFolder."/pouet.jpg");
|
// 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"])));
|
// file_put_content($uploadFolder."/pouet.jpg", base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $_POST["image"])));
|
||||||
// }
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
58
sql/qdb.txt
58
sql/qdb.txt
@ -1,58 +0,0 @@
|
|||||||
images
|
|
||||||
-
|
|
||||||
id auto_incrmeent
|
|
||||||
date date
|
|
||||||
name varchar(32)
|
|
||||||
alt varchar(128)
|
|
||||||
post_id int FK >- post.id
|
|
||||||
|
|
||||||
post
|
|
||||||
-
|
|
||||||
id auto_incrmeent PK
|
|
||||||
title varchar(32)
|
|
||||||
url varchar(32)
|
|
||||||
content text
|
|
||||||
author int FK - user.id
|
|
||||||
|
|
||||||
post_categorie
|
|
||||||
-
|
|
||||||
post_id int FK >- post.id
|
|
||||||
categorie int FK >- categorie.id
|
|
||||||
|
|
||||||
post_tag
|
|
||||||
-
|
|
||||||
post_id int FK >- post.id
|
|
||||||
categorie int FK >- tag.id
|
|
||||||
|
|
||||||
|
|
||||||
categorie
|
|
||||||
-
|
|
||||||
id auto_increment PK
|
|
||||||
url varchar(32)
|
|
||||||
name varchar(32)
|
|
||||||
|
|
||||||
tag
|
|
||||||
-
|
|
||||||
id auto_increment PK
|
|
||||||
url varchar(32)
|
|
||||||
name varchar(32)
|
|
||||||
|
|
||||||
settings
|
|
||||||
-
|
|
||||||
blog_prefix varchar(32)
|
|
||||||
post_jsp varchar(128)
|
|
||||||
name varchar(64)
|
|
||||||
slogan varchar(128)
|
|
||||||
|
|
||||||
user
|
|
||||||
-
|
|
||||||
id PK auto_increment
|
|
||||||
role int
|
|
||||||
canComment bool
|
|
||||||
username varchar(128)
|
|
||||||
email varchar(128)
|
|
||||||
password varchar(256)
|
|
||||||
|
|
||||||
newsletter
|
|
||||||
-
|
|
||||||
email PK varchar(128)
|
|
Loading…
x
Reference in New Issue
Block a user