fix blog creation page

This commit is contained in:
Léo Serre 2018-11-05 21:35:21 +01:00
parent 7d3a00fd68
commit 9aa7498db7
4 changed files with 35 additions and 30 deletions

View File

@ -68,30 +68,33 @@ switch ($controller->splitted_url[1]) {
if(isset($_POST['submit'])) { if(isset($_POST['submit'])) {
$blogArticle->content = $_POST['content']; $blogArticle->content = $_POST['content'];
$blogArticle->locale = $_POST['locale']; $blogArticle->locale = $_POST['locale'];
$blogArticle->title = $_POST['title']; $blogArticle->name = $_POST['name'];
$blogArticle->comments = isset($_POST['comments'])?'t':'f'; $blogArticle->is_commentable = isset($_POST['is_commentable'])?'t':'f';
$blogArticle->author = $user->id; $blogArticle->author = $user->id;
if(!$blogArticle->checkUrl($_POST['url'],1)) { if(!$blogArticle->checkPermalink($_POST['permalink'],1)) {
$blogArticle->permalink = $_POST['permalink'];
$blogArticle->insert(); $blogArticle->insert();
header('Location: '.$config['rel_root_folder']."blog/".$blogArticle->url); header('Location: '.$config['rel_root_folder']."blog/".$blogArticle->permalink);
} }
else { else {
$head['title'] = $blogArticle->title; $head['title'] = $blogArticle->name;
$error = "url"; $error = "permalink";
$new = 1;
include ($config['views_folder']."d.blog.edit.html");
} }
} }
else { else {
$head['title'] = "Nouvel article"; $head['title'] = "Nouvel article";
$new = 1;
include ($config['views_folder']."d.blog.edit.html");
} }
$locales = new Kabano\Locales();
$locales->getAll();
$new = 1;
include ($config['views_folder']."d.blog.edit.html");
break; break;
} }
default: default:
// If the page exists // If the page exists
if ($blogArticle->checkUrl($controller->splitted_url[1],$user->rankIsHigher("premium"))) { if ($blogArticle->checkPermalink($controller->splitted_url[1],$user->rankIsHigher("premium"))) {
if (isset($controller->splitted_url[2]) && $controller->splitted_url[2] == "delete" && $user->rankIsHigher("moderator")) { if (isset($controller->splitted_url[2]) && $controller->splitted_url[2] == "delete" && $user->rankIsHigher("moderator")) {
$blogArticle->delete(); $blogArticle->delete();
header('Location: '.$config['rel_root_folder']."blog/".$blogArticle->url); header('Location: '.$config['rel_root_folder']."blog/".$blogArticle->url);
@ -127,7 +130,7 @@ switch ($controller->splitted_url[1]) {
} }
} }
if (isset($controller->splitted_url[2]) && is_numeric($controller->splitted_url[2])) if (isset($controller->splitted_url[2]) && is_numeric($controller->splitted_url[2]))
$blogArticle->checkUrl($controller->splitted_url[1],$user->rankIsHigher("premium"),$controller->splitted_url[2]); $blogArticle->checkPermalink($controller->splitted_url[1],$user->rankIsHigher("premium"),$controller->splitted_url[2]);
// Manage comment creation // Manage comment creation
if (isset($controller->splitted_url[2]) && $controller->splitted_url[2]=="new_comment") { if (isset($controller->splitted_url[2]) && $controller->splitted_url[2]=="new_comment") {

View File

@ -14,8 +14,8 @@ require_once($config['third_folder']."Md/MarkdownExtra.inc.php");
class BlogArticle class BlogArticle
{ {
public $id = 0; public $id = NULL;
public $permalink = 0; public $permalink = NULL;
public $version = 0; public $version = 0;
public $locale = NULL; public $locale = NULL;
public $creation_date = NULL; public $creation_date = NULL;
@ -82,7 +82,7 @@ class BlogArticle
/***** /*****
** Edit a page by archiving the current one and inserting a new one ID ** Edit a page by archiving the current one and inserting a new one ID
*****/ *****/
public function update() { /* public function update() {
global $config; global $config;
global $user; global $user;
@ -124,12 +124,12 @@ class BlogArticle
date('r')." \t".$user->name." (".$user->id.") \tUPDATE \tEdit blog article '".$this->url."'\r\n", date('r')." \t".$user->name." (".$user->id.") \tUPDATE \tEdit blog article '".$this->url."'\r\n",
3, 3,
$config['logs_folder'].'blog.articles.log'); $config['logs_folder'].'blog.articles.log');
} }*/
/***** /*****
** Delete an article by archiving it ** Delete an article by archiving it
*****/ *****/
public function delete() { /* public function delete() {
global $config; global $config;
global $user; global $user;
@ -149,7 +149,7 @@ class BlogArticle
date('r')." \t".$user->name." (".$user->id.") \tDELETE \tArchive blog article '".$this->url."'\r\n", date('r')." \t".$user->name." (".$user->id.") \tDELETE \tArchive blog article '".$this->url."'\r\n",
3, 3,
$config['logs_folder'].'blog.articles.log'); $config['logs_folder'].'blog.articles.log');
} }*/
/***** /*****
** Create an article ** Create an article
@ -161,16 +161,18 @@ class BlogArticle
$con = pg_connect("host=".$config['SQL_host']." dbname=".$config['SQL_db']." user=".$config['SQL_user']." password=".$config['SQL_pass']) $con = pg_connect("host=".$config['SQL_host']." dbname=".$config['SQL_db']." user=".$config['SQL_user']." password=".$config['SQL_pass'])
or die ("Could not connect to server\n"); or die ("Could not connect to server\n");
$query = "INSERT INTO blog_articles (url, title, content, lastedit, archive, locale, author, comments) VALUES $query = "INSERT INTO contents (permalink, version, locale, creation_date, update_date, author, is_public, is_archive, is_commentable, type, name, content) VALUES
($1, $2, $3, $4, FALSE, $5, $6, $7)"; ($1, '0', $2, $3, $4, $5, TRUE, FALSE, $6, 'blog', $7, $8) RETURNING id";
pg_prepare($con, "prepare2", $query) pg_prepare($con, "prepare1", $query)
or die ("Cannot prepare statement\n"); or die ("Cannot prepare statement\n");
$result = pg_execute($con, "prepare2", array($this->url, $this->title, $this->content, date('r'), $this->locale, $this->author, $this->comments)) $result = pg_execute($con, "prepare1", array($this->permalink, $this->locale, date('r'), date('r'), $user->id, $this->is_commentable, $this->name, $this->content))
or die ("Cannot execute statement\n"); or die ("Cannot execute statement\n");
pg_close($con); pg_close($con);
$this->id = pg_fetch_assoc($result)['id'];
error_log( error_log(
date('r')." \t".$user->name." (".$user->id.") \tINSERT \tCreate new blog article '".$this->url."'\r\n", date('r')." \t".$user->name." (".$user->id.") \tINSERT \tCreate new blog article '".$this->url."'\r\n",
3, 3,
@ -269,7 +271,7 @@ class BlogArticles
/***** /*****
** Return the list of archived version of a blog article ** Return the list of archived version of a blog article
*****/ *****/
public function getHistory($url) { /* public function getHistory($url) {
global $config; global $config;
$con = pg_connect("host=".$config['SQL_host']." dbname=".$config['SQL_db']." user=".$config['SQL_user']." password=".$config['SQL_pass']) $con = pg_connect("host=".$config['SQL_host']." dbname=".$config['SQL_db']." user=".$config['SQL_user']." password=".$config['SQL_pass'])
@ -290,7 +292,7 @@ class BlogArticles
$row = pg_fetch_assoc($result, $i); $row = pg_fetch_assoc($result, $i);
$this->ids[$i] = $row['id']; $this->ids[$i] = $row['id'];
} }
} }*/
} }

View File

@ -14,8 +14,8 @@ require_once($config['third_folder']."Md/MarkdownExtra.inc.php");
class WikiPage class WikiPage
{ {
public $id = 0; public $id = NULL;
public $permalink = 0; public $permalink = NULL;
public $version = 0; public $version = 0;
public $locale = NULL; public $locale = NULL;
public $creation_date = NULL; public $creation_date = NULL;
@ -204,10 +204,10 @@ class WikiPage
$result = pg_execute($con, "prepare1", array($this->permalink, $this->locale, date('r'), date('r'), $user->id, $this->name, $this->content)) $result = pg_execute($con, "prepare1", array($this->permalink, $this->locale, date('r'), date('r'), $user->id, $this->name, $this->content))
or die ("Cannot execute statement\n"); or die ("Cannot execute statement\n");
$this->id = pg_fetch_assoc($result)['id'];
pg_close($con); pg_close($con);
$this->id = pg_fetch_assoc($result)['id'];
error_log( error_log(
date('r')." \t".$user->name." (".$user->id.") \tINSERT \tCreate new wiki page '".$this->permalink."'\r\n", date('r')." \t".$user->name." (".$user->id.") \tINSERT \tCreate new wiki page '".$this->permalink."'\r\n",
3, 3,

View File

@ -53,7 +53,7 @@ $( "#name" ).keyup(function() {
permalink = permalink.replace(/ /g,'_'); permalink = permalink.replace(/ /g,'_');
permalink = permalink.toLowerCase(); permalink = permalink.toLowerCase();
permalink = permalink.replace(/[^a-z0-9_]/g,'-'); permalink = permalink.replace(/[^a-z0-9_]/g,'-');
permalink = permalink.replace(/[_$]/g,'-'); permalink = permalink.replace(/[_-]+$/g,'');
$( "#permalink" ).val(permalink); $( "#permalink" ).val(permalink);
}); });
$( "#name" ).change(function() { $( "#name" ).change(function() {
@ -61,7 +61,7 @@ $( "#name" ).change(function() {
permalink = permalink.replace(/ /g,'_'); permalink = permalink.replace(/ /g,'_');
permalink = permalink.toLowerCase(); permalink = permalink.toLowerCase();
permalink = permalink.replace(/[^a-z0-9_]/g,'-'); permalink = permalink.replace(/[^a-z0-9_]/g,'-');
permalink = permalink.replace(/[_$]/g,'-'); permalink = permalink.replace(/[_-]+$/g,'');
$( "#permalink" ).val(permalink); $( "#permalink" ).val(permalink);
}); });
</script> </script>