summaryrefslogtreecommitdiffstats
path: root/core/functions.php
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/functions.php
parent39944454324b4c66b8cf2444cca17c149208dfac (diff)
downloadblog-7b365bbc45bc443a4c0325da5340e5bd4a9c2403.tar.gz
blog-7b365bbc45bc443a4c0325da5340e5bd4a9c2403.tar.xz
blog-7b365bbc45bc443a4c0325da5340e5bd4a9c2403.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/functions.php')
-rw-r--r--core/functions.php8
1 files changed, 6 insertions, 2 deletions
diff --git a/core/functions.php b/core/functions.php
index c6bdb1e..2e36524 100644
--- a/core/functions.php
+++ b/core/functions.php
@@ -90,6 +90,7 @@ function generateItemData(Item $Item): array {
'ID' => $Item->getID(),
'URL' => $Item->getURL(),
'GUID' => $Item->getGUID(),
+ 'ARGV' => $Item->getArguments(),
'PREV' => FALSE,
'NEXT' => FALSE,
@@ -108,6 +109,7 @@ function generateItemData(Item $Item): array {
'SLUG' => $Item->attr('slug'),
'NAME' => $Item->attr('name'),
'BODY' => $Item->attr('body'),
+ 'ARGV' => $Item->attr('argv'),
'TIME_INSERT' => $Item->attr('time_insert'),
'TIME_UPDATE' => $Item->attr('time_update')
]
@@ -136,6 +138,7 @@ function generateUserItemData(User\Item $User): array {
'ID' => $User->getID(),
'URL' => $User->getURL(),
'GUID' => $User->getGUID(),
+ 'ARGV' => $User->getArguments(),
'PREV' => FALSE,
'NEXT' => FALSE,
@@ -152,6 +155,7 @@ function generateUserItemData(User\Item $User): array {
'ATTR' => [
'SLUG' => $User->attr('slug'),
'BODY' => $User->attr('body'),
+ 'ARGV' => $User->attr('argv'),
'USERNAME' => $User->attr('username'),
'FULLNAME' => $User->attr('fullname'),
'MAILADDR' => $User->attr('mailaddr'),
@@ -323,9 +327,9 @@ function description($string, $length = 200, $replace = ' […]') {
# Generate a valid slug URL part from a string
#===============================================================================
function makeSlugURL($string) {
- $string = strtolower($string);
+ $string = mb_strtolower($string);
$string = str_replace(['ä', 'ö', 'ü', 'ß'], ['ae', 'oe', 'ue', 'ss'], $string);
- $string = preg_replace('/[^a-zA-Z0-9\-]/', '-', $string);
+ $string = preg_replace('/[^a-z0-9\-]/', '-', $string);
$string = preg_replace('/-+/', '-', $string);
return trim($string, '-');