From 22dacc02179643ddd4578a34cf8693ef86791cf7 Mon Sep 17 00:00:00 2001 From: Thomas Lange Date: Thu, 27 Apr 2017 12:37:01 +0200 Subject: Several changes have been made in this commit, which together with the previous commits result in version 2.0 (database update required): + Implemented [core]: A new database field has been added to all tables to define optional "arguments" for a page, post or user through the content editor. These arguments will be parsed into key->value pairs and can be used within templates to do something special. Please read the wiki of this repository for further information about this new feature. + Bugfix [core]: The function "makeSlugURL" had not convert uppercase umlauts to lowercase because "strtolower" was used instead of the multibyte equivalent "mb_strtolower". + Optimization [core]: The first regular expression within the function "makeSlugURL" has been optimized (checking for uppercase characters at this point is unnecessary because $string is only lowercase). + Optimization [all templates]: Markup for the pagination.php has been simplified (a little bit). + Optimization [admin template]: The javascript for the arrow key navigation has been outsourced to the main.js file. + Optimization [admin template]: The javascript file will now be included with the "defer" attribute. + Optimization [standard template]: Some language variables have been changed. Database update to version 2.0 (no existing data will be lost or changed): ALTER TABLE `page` ADD `argv` VARCHAR(100) NULL DEFAULT NULL AFTER `body`; ALTER TABLE `post` ADD `argv` VARCHAR(100) NULL DEFAULT NULL AFTER `body`; ALTER TABLE `user` ADD `argv` VARCHAR(100) NULL DEFAULT NULL AFTER `body`; --- admin/page/insert.php | 6 ++++-- admin/page/update.php | 6 ++++-- admin/post/insert.php | 4 +++- admin/post/update.php | 6 ++++-- admin/user/insert.php | 4 +++- admin/user/update.php | 4 +++- 6 files changed, 21 insertions(+), 9 deletions(-) (limited to 'admin') diff --git a/admin/page/insert.php b/admin/page/insert.php index fc89b20..5731b6f 100644 --- a/admin/page/insert.php +++ b/admin/page/insert.php @@ -12,12 +12,13 @@ require '../../core/application.php'; $Attribute = new Page\Attribute(); -if(HTTP::issetPOST('id', 'user', 'slug', 'name', 'body', 'time_insert', 'time_update', 'insert')) { +if(HTTP::issetPOST('id', 'user', 'slug', 'name', 'body', 'argv', 'time_insert', 'time_update', 'insert')) { $Attribute->set('id', HTTP::POST('id') ? HTTP::POST('id') : FALSE); $Attribute->set('user', HTTP::POST('user')); $Attribute->set('slug', HTTP::POST('slug') ? HTTP::POST('slug') : makeSlugURL(HTTP::POST('name'))); $Attribute->set('name', HTTP::POST('name') ? HTTP::POST('name') : NULL); - $Attribute->set('body', HTTP::POST('body') ? HTTP::POST('body') : FALSE); + $Attribute->set('body', HTTP::POST('body') ? HTTP::POST('body') : NULL); + $Attribute->set('argv', HTTP::POST('argv') ? HTTP::POST('argv') : NULL); $Attribute->set('time_insert', HTTP::POST('time_insert') ? HTTP::POST('time_insert') : date('Y-m-d H:i:s')); $Attribute->set('time_update', HTTP::POST('time_update') ? HTTP::POST('time_update') : date('Y-m-d H:i:s')); @@ -61,6 +62,7 @@ try { 'SLUG' => $Attribute->get('slug'), 'NAME' => $Attribute->get('name'), 'BODY' => $Attribute->get('body'), + 'ARGV' => $Attribute->get('argv'), 'TIME_INSERT' => $Attribute->get('time_insert'), 'TIME_UPDATE' => $Attribute->get('time_update'), ], diff --git a/admin/page/update.php b/admin/page/update.php index a5e723e..dc92073 100644 --- a/admin/page/update.php +++ b/admin/page/update.php @@ -17,11 +17,12 @@ try { $Page = Page\Factory::build(HTTP::GET('id')); $Attribute = $Page->getAttribute(); - if(HTTP::issetPOST('user', 'slug', 'name', 'body', 'time_insert', 'time_update', 'update')) { + if(HTTP::issetPOST('user', 'slug', 'name', 'body', 'argv', 'time_insert', 'time_update', 'update')) { $Attribute->set('user', HTTP::POST('user')); $Attribute->set('slug', HTTP::POST('slug') ? HTTP::POST('slug') : makeSlugURL(HTTP::POST('name'))); $Attribute->set('name', HTTP::POST('name') ? HTTP::POST('name') : NULL); - $Attribute->set('body', HTTP::POST('body') ? HTTP::POST('body') : FALSE); + $Attribute->set('body', HTTP::POST('body') ? HTTP::POST('body') : NULL); + $Attribute->set('argv', HTTP::POST('argv') ? HTTP::POST('argv') : NULL); $Attribute->set('time_insert', HTTP::POST('time_insert') ? HTTP::POST('time_insert') : date('Y-m-d H:i:s')); $Attribute->set('time_update', HTTP::POST('time_update') ? HTTP::POST('time_update') : date('Y-m-d H:i:s')); @@ -63,6 +64,7 @@ try { 'SLUG' => $Attribute->get('slug'), 'NAME' => $Attribute->get('name'), 'BODY' => $Attribute->get('body'), + 'ARGV' => $Attribute->get('argv'), 'TIME_INSERT' => $Attribute->get('time_insert'), 'TIME_UPDATE' => $Attribute->get('time_update'), ], diff --git a/admin/post/insert.php b/admin/post/insert.php index bcfb679..4587a87 100644 --- a/admin/post/insert.php +++ b/admin/post/insert.php @@ -12,12 +12,13 @@ require '../../core/application.php'; $Attribute = new Post\Attribute(); -if(HTTP::issetPOST('id', 'user', 'slug', 'name', 'body', 'time_insert', 'time_update', 'insert')) { +if(HTTP::issetPOST('id', 'user', 'slug', 'name', 'body', 'argv', 'time_insert', 'time_update', 'insert')) { $Attribute->set('id', HTTP::POST('id') ? HTTP::POST('id') : FALSE); $Attribute->set('user', HTTP::POST('user')); $Attribute->set('slug', HTTP::POST('slug') ? HTTP::POST('slug') : makeSlugURL(HTTP::POST('name'))); $Attribute->set('name', HTTP::POST('name') ? HTTP::POST('name') : NULL); $Attribute->set('body', HTTP::POST('body') ? HTTP::POST('body') : NULL); + $Attribute->set('argv', HTTP::POST('argv') ? HTTP::POST('argv') : NULL); $Attribute->set('time_insert', HTTP::POST('time_insert') ? HTTP::POST('time_insert') : date('Y-m-d H:i:s')); $Attribute->set('time_update', HTTP::POST('time_update') ? HTTP::POST('time_update') : date('Y-m-d H:i:s')); @@ -61,6 +62,7 @@ try { 'SLUG' => $Attribute->get('slug'), 'NAME' => $Attribute->get('name'), 'BODY' => $Attribute->get('body'), + 'ARGV' => $Attribute->get('argv'), 'TIME_INSERT' => $Attribute->get('time_insert'), 'TIME_UPDATE' => $Attribute->get('time_update'), ], diff --git a/admin/post/update.php b/admin/post/update.php index 109c056..7e3610f 100644 --- a/admin/post/update.php +++ b/admin/post/update.php @@ -17,11 +17,12 @@ try { $Post = Post\Factory::build(HTTP::GET('id')); $Attribute = $Post->getAttribute(); - if(HTTP::issetPOST('user', 'slug', 'name', 'body', 'time_insert', 'time_update', 'update')) { + if(HTTP::issetPOST('user', 'slug', 'name', 'body', 'argv', 'time_insert', 'time_update', 'update')) { $Attribute->set('user', HTTP::POST('user')); $Attribute->set('slug', HTTP::POST('slug') ? HTTP::POST('slug') : makeSlugURL(HTTP::POST('name'))); $Attribute->set('name', HTTP::POST('name') ? HTTP::POST('name') : NULL); - $Attribute->set('body', HTTP::POST('body') ? HTTP::POST('body') : FALSE); + $Attribute->set('body', HTTP::POST('body') ? HTTP::POST('body') : NULL); + $Attribute->set('argv', HTTP::POST('argv') ? HTTP::POST('argv') : NULL); $Attribute->set('time_insert', HTTP::POST('time_insert') ? HTTP::POST('time_insert') : date('Y-m-d H:i:s')); $Attribute->set('time_update', HTTP::POST('time_update') ? HTTP::POST('time_update') : date('Y-m-d H:i:s')); @@ -63,6 +64,7 @@ try { 'SLUG' => $Attribute->get('slug'), 'NAME' => $Attribute->get('name'), 'BODY' => $Attribute->get('body'), + 'ARGV' => $Attribute->get('argv'), 'TIME_INSERT' => $Attribute->get('time_insert'), 'TIME_UPDATE' => $Attribute->get('time_update'), ], diff --git a/admin/user/insert.php b/admin/user/insert.php index 334b1ad..81daf98 100644 --- a/admin/user/insert.php +++ b/admin/user/insert.php @@ -12,7 +12,7 @@ require '../../core/application.php'; $Attribute = new User\Attribute(); -if(HTTP::issetPOST('id', 'slug', 'username', 'password', 'fullname', 'mailaddr', 'body', 'time_insert', 'time_update', 'insert')) { +if(HTTP::issetPOST('id', 'slug', 'username', 'password', 'fullname', 'mailaddr', 'body', 'argv', 'time_insert', 'time_update', 'insert')) { $Attribute->set('id', HTTP::POST('id') ? HTTP::POST('id') : FALSE); $Attribute->set('slug', HTTP::POST('slug') ? HTTP::POST('slug') : makeSlugURL(HTTP::POST('username'))); $Attribute->set('username', HTTP::POST('username') ? HTTP::POST('username') : NULL); @@ -20,6 +20,7 @@ if(HTTP::issetPOST('id', 'slug', 'username', 'password', 'fullname', 'mailaddr', $Attribute->set('fullname', HTTP::POST('fullname') ? HTTP::POST('fullname') : NULL); $Attribute->set('mailaddr', HTTP::POST('mailaddr') ? HTTP::POST('mailaddr') : NULL); $Attribute->set('body', HTTP::POST('body') ? HTTP::POST('body') : NULL); + $Attribute->set('argv', HTTP::POST('argv') ? HTTP::POST('argv') : NULL); $Attribute->set('time_insert', HTTP::POST('time_insert') ? HTTP::POST('time_insert') : date('Y-m-d H:i:s')); $Attribute->set('time_update', HTTP::POST('time_update') ? HTTP::POST('time_update') : date('Y-m-d H:i:s')); @@ -54,6 +55,7 @@ try { 'FULLNAME' => $Attribute->get('fullname'), 'MAILADDR' => $Attribute->get('mailaddr'), 'BODY' => $Attribute->get('body'), + 'ARGV' => $Attribute->get('argv'), 'TIME_INSERT' => $Attribute->get('time_insert'), 'TIME_UPDATE' => $Attribute->get('time_update'), ], diff --git a/admin/user/update.php b/admin/user/update.php index 1e9fa75..cdacfa0 100644 --- a/admin/user/update.php +++ b/admin/user/update.php @@ -17,13 +17,14 @@ try { $User = User\Factory::build(HTTP::GET('id')); $Attribute = $User->getAttribute(); - if(HTTP::issetPOST('slug', 'username', 'password', 'fullname', 'mailaddr', 'body', 'time_insert', 'time_update', 'update')) { + if(HTTP::issetPOST('slug', 'username', 'password', 'fullname', 'mailaddr', 'body', 'argv', 'time_insert', 'time_update', 'update')) { $Attribute->set('slug', HTTP::POST('slug') ? HTTP::POST('slug') : makeSlugURL(HTTP::POST('username'))); $Attribute->set('username', HTTP::POST('username') ? HTTP::POST('username') : NULL); $Attribute->set('password', HTTP::POST('password') ? password_hash(HTTP::POST('password'), PASSWORD_BCRYPT, ['cost' => 10]) : FALSE); $Attribute->set('fullname', HTTP::POST('fullname') ? HTTP::POST('fullname') : NULL); $Attribute->set('mailaddr', HTTP::POST('mailaddr') ? HTTP::POST('mailaddr') : NULL); $Attribute->set('body', HTTP::POST('body') ? HTTP::POST('body') : NULL); + $Attribute->set('argv', HTTP::POST('argv') ? HTTP::POST('argv') : NULL); $Attribute->set('time_insert', HTTP::POST('time_insert') ? HTTP::POST('time_insert') : date('Y-m-d H:i:s')); $Attribute->set('time_update', HTTP::POST('time_update') ? HTTP::POST('time_update') : date('Y-m-d H:i:s')); @@ -57,6 +58,7 @@ try { 'FULLNAME' => $Attribute->get('fullname'), 'MAILADDR' => $Attribute->get('mailaddr'), 'BODY' => $Attribute->get('body'), + 'ARGV' => $Attribute->get('argv'), 'TIME_INSERT' => $Attribute->get('time_insert'), 'TIME_UPDATE' => $Attribute->get('time_update'), ], -- cgit v1.2.3