Age | Commit message (Collapse) | Author | Files | Lines |
|
previous commits result in version 2.2 [changed template parameters]:
+ Implemented [core]: A new method called "getAll" has been added to the "Attribute" class which now returns all attributes as key->value array. The first parameter can be an array with attribute names which shall be excluded from returning.
+ Optimization [core]: The function "generateItemData" has been renamed to "generateItemTemplateData" and has been restructured to use the new implemented method "getAll" from the "Attribute" class.
+ Optimization [core]: The function "generateNaviTemplate" has been added and the functions "generatePageNaviTemplate", "generatePostNaviTemplate" and "generateUserNaviTemplate" have been restructured to make use of the new "generateNaviTemplate" function to reduce duplicate code.
+ Optimization [core]: Several files within the admin directory has been optimized to use the new "getAll" method of the "Attribute" class.
+ Optimization [core]: Several code optimizations have been made to the "HTTP" class.
+ Optimization [admin template]: All occurences of $PAGE['ID'], $POST['ID'] and $USER['ID'] have been replaced with $PAGE['ATTR']['ID'], $POST['ATTR']['ID'] and $USER['ATTR']['ID'] to make it more consistent. You now have to use ['ATTR']['ID'] instead of ['ID'] in your templates to get the ID of an item!
Template upgrade to version 2.2 (only for customized templates):
SEARCH: ['ID']
REPLACE: ['ATTR']['ID']
|
|
have been fixed. This results in version 2.1.2 (database update recommended):
+ Bugfix [core]: If the insertion date of a newly created item has been placed to a datetime in the past after which other items have already appeared, the sorting of the forward and backward functionality has been interrupted because the WHERE clause in the database query had the condition that the next item must have a higher ID and the previous item must have a lower ID than the current one. If this newly created item was the last one and the insertion date had been placed to a datetime in the past, no next item could be fetched because THIS is already the item with the highest ID and the correct sorting by time_insert for this item has stopped working.
+ Bugfix [core]: If one or more items had exactly the same insertion time, the items with the exact same time has been appeard within the overview list in an order which did not correspond to the insertion sequence. There were several ways to fix this problem, but this would result in more complicated database queries and more code. To fix the problem in the simplest way, the column "time_insert" now has a UNIQUE index to prevent two or more items from having the exactly same insertion time.
Database update to version 2.1.2 (no existing data will be lost or changed):
ALTER TABLE `page` ADD UNIQUE KEY `time_insert` (`time_insert`);
ALTER TABLE `post` ADD UNIQUE KEY `time_insert` (`time_insert`);
ALTER TABLE `user` ADD UNIQUE KEY `time_insert` (`time_insert`);
|
|
|
|
around "<" and ">" in markdown syntax.
|
|
call, it will prevent that a new connection can be enforced when calling "getDatabase(TRUE)" because the password was removed in the first call before and doesn't exist anymore (the database connection will fail because of an invalid connection password).
|
|
|
|
template parameters "$ITEM['BODY']['TEXT']" and "$ITEM['BODY']['HTML']" are now no longer strings but closures (anonymous functions). This means that the underlying logic, which parses the content or converts it into Markdown, is not executed until one of these parameters is really needed and called in the template (which maybe significantly increases the response time on a long list of items which not use one of those two parameters).
This means that within templates you now have to call these parameters in the following way (note the brackets at the end, which represent a function call):
<?=$ITEM['BODY']['TEXT']()?>
<?=$ITEM['BODY']['HTML']()?>
In the background, the anonymous functions are called and executes $Item->getBody() and $Item->getHTML() only when needed. Previously, $Item->getBody() and $Item->getHTML() were basically executed and the parsed content was passed to the template, regardless of whether these parameters are required in the template or not!
|
|
|
|
already implemented in the parent Factory class.
|
|
+ The method "Item::getArguments" has been optimized and checks now the syntax of the argument names (only A-Z, a-z, 0-9 and underscores are allowed).
+ The admin template has been changed and displays now the used arguments of an item within the list.
|
|
|
|
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`;
|
|
also be an "Error" which is not a child of "Exception" but each type implements the interface "Throwable".
|
|
function was added to perform this task.
|
|
|
|
|
|
|
|
|
|
"require" (except within the 403.php and 404.php where it makes sense, because these files can be directly called or included).
|
|
|
|
|
|
commit e33c245d910e55b8cab407a03e669470509a705d, it is no longer necessary that the directory is publicly accessible via HTTP because all requests are running through the router.
|
|
|
|
several files has been changed.
|
|
(preparations for the next commits in which the system directory will be moved to a non-public directory).
|
|
|
|
"defaultHandler" method.
|
|
|
|
previous commits result in version 1.1:
+ The rules for the Apache and nginx configuration have been changed and redirects now all requests to the index.php.
+ A router class has been added which now handles all requests that arrives at the application on the index.php.
+ Short-hand functions "PAGE", "POST" and "USER" for use in templates added to get specific item data by ID.
+ More language variables have been added to the core language.
|
|
|
|
|
|
the current used protocol.
|
|
|
|
|
|
|
|
|
|
|