Age | Commit message (Collapse) | Author | Files | Lines |
|
This commit significantly reduces the number of database queries required to display a list of pages, posts or users. This could be achieved by using "SELECT * FROM […]" in combination with the new implemented factory method "buildByAttribute".
Previously, the first database query returned an array of unique item IDs that were then passed to the factory method "build" within the "foreach" loop which caused the application to make an additional database query like "SELECT * FROM […] WHERE id = {current_id}" for every single item ID to get it's payload data. Since this commit, this additional query for every item is not necessary anymore.
|
|
This commit replaces the method calls of "Item::getSearchResultIDs" with "Item::getSearchResults".
In addition, the associated Item instances (Page or Post) are therefore now created with "Factory::buildByAttribute" instead of "Factory::build" (because "getSearchResults" returns an array of Attribute instances while "getSearchResultIDs" had returned an array of unique item IDs without attribute data).
|
|
files was removed and some missing PHP closing tags were added.
|
|
administration area. In addition, some markup within the "/*/index.php" files of the admin template was re-formatted.
|
|
name was misleading because the function did not generate a complete URL, but only a partial string (the slug) for the final URL. By the way, some improvements were made to the code.
|
|
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']
|
|
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`;
|
|
|
|
"require" (except within the 403.php and 404.php where it makes sense, because these files can be directly called or included).
|
|
|
|
several files has been changed.
|
|
|
|
|