aboutsummaryrefslogtreecommitdiffstats
path: root/core/namespace/Attribute.php
diff options
context:
space:
mode:
authorThomas Lange <code@nerdmind.de>2017-05-30 21:03:03 +0200
committerThomas Lange <code@nerdmind.de>2017-05-30 21:03:03 +0200
commitfd6af01e313f441189c4cd69668766d2ded7ced3 (patch)
tree0a0ae7cb2dd19c2a52b0799c37bb53b0e5e9e892 /core/namespace/Attribute.php
parent1f1de386b09e48a02fccd62aa82ff319533969cc (diff)
downloadblog-fd6af01e313f441189c4cd69668766d2ded7ced3.tar.gz
blog-fd6af01e313f441189c4cd69668766d2ded7ced3.tar.xz
blog-fd6af01e313f441189c4cd69668766d2ded7ced3.zip
Several changes have been made in this commit, which together with the previous commits result in version 2.2 [changed template parameters]:v2.2
+ 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']
Diffstat (limited to 'core/namespace/Attribute.php')
-rw-r--r--core/namespace/Attribute.php11
1 files changed, 11 insertions, 0 deletions
diff --git a/core/namespace/Attribute.php b/core/namespace/Attribute.php
index 69998e0..32cfa0a 100644
--- a/core/namespace/Attribute.php
+++ b/core/namespace/Attribute.php
@@ -16,6 +16,17 @@ abstract class Attribute implements AttributeInterface {
}
#===============================================================================
+ # Get all attributes
+ #===============================================================================
+ public function getAll($exclude = []): array {
+ $attributes = get_object_vars($this);
+
+ return array_filter($attributes, function($attribute) use($exclude) {
+ return !in_array($attribute, $exclude);
+ }, ARRAY_FILTER_USE_KEY);
+ }
+
+ #===============================================================================
# Get array with not FALSE attributes
#===============================================================================
protected function getFilteredAttributes(): array {