From a741ffbd41be4ba6af92b8e6cfec17b72c810fd3 Mon Sep 17 00:00:00 2001 From: Paolo Date: Fri, 23 Nov 2018 18:04:40 +0100 Subject: [PATCH] - InfoCenter controller methods _fillFilters, _fillFiltersFreigegeben and _fillCustomFilters now use NavigationLib->oneLevel - NavigationLib added parameter subscriptLinkHref to oneLevel - NavigationWidget.js method _buildLeftMenuStructure now uses parameter subscriptLinkHref --- .../system/infocenter/InfoCenter.php | 73 +++++++++---------- application/libraries/NavigationLib.php | 8 +- public/js/NavigationWidget.js | 2 +- 3 files changed, 41 insertions(+), 42 deletions(-) diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index 89f3a4857..670dabddd 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -883,7 +883,7 @@ class InfoCenter extends Auth_Controller 'filters' => $this->navigationlib->oneLevel( 'Filter', // description '#', // link - (isset($filtersArray['children'])?$filtersArray['children']:''), // children + (isset($filtersArray['children']) ? $filtersArray['children'] : ''), // children '', // icon true, // expand null, // subscriptDescription @@ -899,20 +899,18 @@ class InfoCenter extends Auth_Controller /** * Utility method used to fill elements of the InfoCenter left menu of the main InfoCenter page */ - private function _fillFilters($filters, &$tofill) + private function _fillFilters($filters, &$toFill) { - $toPrint = "%s?%s=%s&%s=%s"; - foreach ($filters as $filterId => $description) { - $tofill['children'][] = array( - 'link' => sprintf( - $toPrint, - site_url(self::INFOCENTER_URI), 'filter_id', $filterId, - FHC_Controller::FHC_CONTROLLER_ID, - $this->getControllerId() - ), - 'description' => $description + $toFill['children'][] = $this->navigationlib->oneLevel( + $description, // description + sprintf( + '%s?%s=%s', + site_url(self::INFOCENTER_URI), + 'filter_id', + $filterId + ) // link ); } } @@ -920,20 +918,18 @@ class InfoCenter extends Auth_Controller /** * Utility method used to fill elements of the InfoCenter left menu of the freigegeben InfoCenter page */ - private function _fillFiltersFreigegeben($filters, &$tofill) + private function _fillFiltersFreigegeben($filters, &$toFill) { - $toPrint = "%s?%s=%s&%s=%s"; - foreach ($filters as $filterId => $description) { - $tofill['children'][] = array( - 'link' => sprintf( - $toPrint, - site_url(self::INFOCENTER_URI.'/'.self::FREIGEGEBEN_PAGE), 'filter_id', $filterId, - FHC_Controller::FHC_CONTROLLER_ID, - $this->getControllerId() - ), - 'description' => $description + $toFill['children'][] = $this->navigationlib->oneLevel( + $description, // description + sprintf( + '%s?%s=%s', + site_url(self::INFOCENTER_URI.'/'.self::FREIGEGEBEN_PAGE), + 'filter_id', + $filterId + ) // link ); } } @@ -942,23 +938,26 @@ class InfoCenter extends Auth_Controller * Utility method used to fill elements of the InfoCenter left menu * with the list of the custom filter of the authenticated user */ - private function _fillCustomFilters($filters, &$tofill) + private function _fillCustomFilters($filters, &$toFill) { - $toPrint = "%s?%s=%s&%s=%s"; - foreach ($filters as $filterId => $description) { - $tofill['children'][] = array( - 'link' => sprintf( - $toPrint, - site_url(self::INFOCENTER_URI), 'filter_id', $filterId, - FHC_Controller::FHC_CONTROLLER_ID, - $this->getControllerId() - ), - 'description' => $description, - 'subscriptDescription' => 'Remove', - 'subscriptLinkClass' => 'remove-custom-filter', - 'subscriptLinkValue' => $filterId + $toFill['children'][] = $this->navigationlib->oneLevel( + $description, // description + sprintf( + '%s?%s=%s', + site_url(self::INFOCENTER_URI), + 'filter_id', + $filterId + ), // link + null, // children + '', // icon + false, // expand + 'Remove', // subscriptDescription + 'remove-custom-filter', // subscriptLinkClass + $filterId, // subscriptLinkValue + null, // sort + null // requiredPermissions ); } } diff --git a/application/libraries/NavigationLib.php b/application/libraries/NavigationLib.php index 1b15943ea..812467c78 100644 --- a/application/libraries/NavigationLib.php +++ b/application/libraries/NavigationLib.php @@ -69,7 +69,7 @@ class NavigationLib public function oneLevel( $description, $link = '#', $children = null, $icon = '', $expand = false, $subscriptDescription = null, $subscriptLinkClass = null, $subscriptLinkValue = null, $target = '', - $sort = null, $requiredPermissions = null) + $sort = null, $requiredPermissions = null, $subscriptLinkHref = '#') { return array( 'description' => $description, @@ -82,7 +82,8 @@ class NavigationLib 'subscriptLinkClass' => $subscriptLinkClass, 'subscriptLinkValue' => $subscriptLinkValue, 'sort' => $sort, - 'requiredPermissions' => $requiredPermissions + 'requiredPermissions' => $requiredPermissions, + 'subscriptLinkHref' => $subscriptLinkHref ); } @@ -235,8 +236,7 @@ class NavigationLib { $extensionArray = array_merge_recursive( $extensionArray, - $this->_wildcardsearch($config[$configName], - $navigationPage) + $this->_wildcardsearch($config[$configName], $navigationPage) ); } } diff --git a/public/js/NavigationWidget.js b/public/js/NavigationWidget.js index 232bff455..4cb4a755e 100644 --- a/public/js/NavigationWidget.js +++ b/public/js/NavigationWidget.js @@ -232,7 +232,7 @@ var FHC_NavigationWidget = { if (item["subscriptLinkClass"] != null && item["subscriptDescription"] != null) { - strLeftMenu += '' + + strLeftMenu += '' + ' (' + item["subscriptDescription"] + ')' + ''; strLeftMenu += '';