aboutsummaryrefslogtreecommitdiffstats
path: root/core/namespace
diff options
context:
space:
mode:
authorThomas Lange <code@nerdmind.de>2017-04-27 12:37:01 +0200
committerThomas Lange <code@nerdmind.de>2017-04-27 12:37:01 +0200
commit22dacc02179643ddd4578a34cf8693ef86791cf7 (patch)
treee5d575fcf12d30aee0eb21e4259ed5d611df37de /core/namespace
parent39944454324b4c66b8cf2444cca17c149208dfac (diff)
downloadblog-22dacc02179643ddd4578a34cf8693ef86791cf7.tar.gz
blog-22dacc02179643ddd4578a34cf8693ef86791cf7.tar.xz
blog-22dacc02179643ddd4578a34cf8693ef86791cf7.zip
Several changes have been made in this commit, which together with the previous commits result in version 2.0 (database update required):v2.0
+ 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`;
Diffstat (limited to 'core/namespace')
-rw-r--r--core/namespace/Item.php17
-rw-r--r--core/namespace/Page/Attribute.php1
-rw-r--r--core/namespace/Post/Attribute.php1
-rw-r--r--core/namespace/User/Attribute.php1
4 files changed, 20 insertions, 0 deletions
diff --git a/core/namespace/Item.php b/core/namespace/Item.php
index f3b6ceb..426dd2a 100644
--- a/core/namespace/Item.php
+++ b/core/namespace/Item.php
@@ -102,6 +102,23 @@ abstract class Item implements ItemInterface {
}
#===============================================================================
+ # Return parsed arguments
+ #===============================================================================
+ public function getArguments(): array {
+ if($argv = $this->Attribute->get('argv')) {
+ foreach(explode('|', rtrim($argv, '|')) as $delimeter) {
+ $part = explode('=', $delimeter);
+
+ if(!empty($part[0])) {
+ $arguments[strtoupper($part[0])] = $part[1] ?? TRUE;
+ }
+ }
+ }
+
+ return $arguments ?? [];
+ }
+
+ #===============================================================================
# Return previous item ID
#===============================================================================
public function getPrevID(): int {
diff --git a/core/namespace/Page/Attribute.php b/core/namespace/Page/Attribute.php
index c12a2c8..b1c4e01 100644
--- a/core/namespace/Page/Attribute.php
+++ b/core/namespace/Page/Attribute.php
@@ -11,6 +11,7 @@ class Attribute extends \Attribute {
protected $slug = FALSE;
protected $name = FALSE;
protected $body = FALSE;
+ protected $argv = FALSE;
protected $time_insert = FALSE;
protected $time_update = FALSE;
diff --git a/core/namespace/Post/Attribute.php b/core/namespace/Post/Attribute.php
index 6f20183..73af3a2 100644
--- a/core/namespace/Post/Attribute.php
+++ b/core/namespace/Post/Attribute.php
@@ -11,6 +11,7 @@ class Attribute extends \Attribute {
protected $slug = FALSE;
protected $name = FALSE;
protected $body = FALSE;
+ protected $argv = FALSE;
protected $time_insert = FALSE;
protected $time_update = FALSE;
diff --git a/core/namespace/User/Attribute.php b/core/namespace/User/Attribute.php
index b161fa9..c83fdfc 100644
--- a/core/namespace/User/Attribute.php
+++ b/core/namespace/User/Attribute.php
@@ -13,6 +13,7 @@ class Attribute extends \Attribute {
protected $fullname = FALSE;
protected $mailaddr = FALSE;
protected $body = FALSE;
+ protected $argv = FALSE;
protected $time_insert = FALSE;
protected $time_update = FALSE;