From a13df3e3c3dd6881e5359ed8dec4b839f6a502ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=B4me=20Chilliet?= <come@opensides.be> Date: Wed, 7 Mar 2018 16:21:25 +0100 Subject: [PATCH] :ambulance: fix(management) Avoid a lot of array_merge on empty arrays --- include/management/actions/class_Action.inc | 3 +-- include/management/class_management.inc | 8 ++------ include/management/class_managementListing.inc | 2 +- include/management/columns/class_ActionsColumn.inc | 4 ++-- include/management/columns/class_Column.inc | 3 +-- plugins/admin/users/class_userManagement.inc | 9 +++------ 6 files changed, 10 insertions(+), 19 deletions(-) diff --git a/include/management/actions/class_Action.inc b/include/management/actions/class_Action.inc index bf25ba4cc..ef8be4db9 100644 --- a/include/management/actions/class_Action.inc +++ b/include/management/actions/class_Action.inc @@ -143,9 +143,8 @@ class Action ); } - function getRowClasses(ListingEntry $entry) + function fillRowClasses(&$classes, ListingEntry $entry) { - return array(); } function renderColumnIcons(ListingEntry $entry) diff --git a/include/management/class_management.inc b/include/management/class_management.inc index f8177b8f0..2208298ad 100644 --- a/include/management/class_management.inc +++ b/include/management/class_management.inc @@ -464,15 +464,11 @@ class management return $result; } - function getActionRowClasses(ListingEntry $entry) + function fillActionRowClasses(&$classes, ListingEntry $entry) { - $classes = array(); foreach ($this->actions as $action) { - // TODO optimize - $classes = array_merge($classes, $action->getRowClasses($entry)); + $action->fillRowClasses($classes, $entry); } - - return $classes; } /*! diff --git a/include/management/class_managementListing.inc b/include/management/class_managementListing.inc index d0860f3d1..29b2188c6 100644 --- a/include/management/class_managementListing.inc +++ b/include/management/class_managementListing.inc @@ -168,7 +168,7 @@ class managementListing 'props' => $column->getHtmlCellProps(), 'render' => $column->renderCell($entry) ); - $row['classes'] = array_merge($row['classes'], $column->getRowClasses($entry)); + $column->fillRowClasses($row['classes'], $entry); } $row['index'] = $entry->row; diff --git a/include/management/columns/class_ActionsColumn.inc b/include/management/columns/class_ActionsColumn.inc index 4ea91a979..62245dcf0 100644 --- a/include/management/columns/class_ActionsColumn.inc +++ b/include/management/columns/class_ActionsColumn.inc @@ -28,9 +28,9 @@ class ActionsColumn extends Column return FALSE; } - function getRowClasses(ListingEntry $entry) + function fillRowClasses(&$classes, ListingEntry $entry) { - return $this->parent->parent->getActionRowClasses($entry); + $this->parent->parent->fillActionRowClasses($classes, $entry); } function renderCell(ListingEntry $entry) diff --git a/include/management/columns/class_Column.inc b/include/management/columns/class_Column.inc index 0111b3bac..66b0e9de3 100644 --- a/include/management/columns/class_Column.inc +++ b/include/management/columns/class_Column.inc @@ -100,9 +100,8 @@ class Column } } - function getRowClasses(ListingEntry $entry) + function fillRowClasses(&$classes, ListingEntry $entry) { - return array(); } function renderCell(ListingEntry $entry) diff --git a/plugins/admin/users/class_userManagement.inc b/plugins/admin/users/class_userManagement.inc index 85d2ba6eb..a8e2b6872 100644 --- a/plugins/admin/users/class_userManagement.inc +++ b/plugins/admin/users/class_userManagement.inc @@ -68,13 +68,10 @@ class LockAction extends Action ); } - function getRowClasses(ListingEntry $entry) + function fillRowClasses(&$classes, ListingEntry $entry) { - $lockStatus = $this->isLocked($entry); - if ($lockStatus === TRUE) { - return array('entry-locked'); - } else { - return array(); + if ($this->isLocked($entry) === TRUE) { + $classes[] = 'entry-locked'; } } -- GitLab