/** * @test */ public function removeEmptyElementsRecursivelyRemovesEmptySubArrays() { $array = array('EmptyElement' => array(), 'Foo' => array('Bar' => array('Baz' => array('AnotherNullElement' => NULL, 'AnotherEmptyElement' => ''))), 'NotNull' => 123); $expectedResult = array('NotNull' => 123); $actualResult = Arrays::removeEmptyElementsRecursively($array); $this->assertEquals($expectedResult, $actualResult); }
/** * @param array $demand */ public function listAction($demand = NULL) { if (is_array($demand)) { $demand = Arrays::removeEmptyElementsRecursively($demand); $projects = $this->projectRepository->findByDemand($demand); //\TYPO3\Flow\var_dump($demand, 'demand'); // return not only the country code, but also the country name for filter display if (isset($demand['filter']['country'])) { $isoCode = $demand['filter']['country']; unset($demand['filter']['country']); $demand['filter']['country']['name'] = $this->cldrService->getTerritoryNameForIsoCode($isoCode); $demand['filter']['country']['isoCode'] = $isoCode; } // return not only the regions requested, but also their names if (isset($demand['filter']['regions']) && is_array($demand['filter']['regions'])) { $regionsRequested = $demand['filter']['regions']; unset($demand['filter']['regions']); foreach ($regionsRequested as $region) { $demand['filter']['regions'][$region]['key'] = $region; $demand['filter']['regions'][$region]['name'] = $this->cldrService->getTerritoryNameForIsoCode($region); } } // return not only the stages requested, but also their names if (isset($demand['filter']['stages']) && is_array($demand['filter']['stages'])) { $stagesRequested = $demand['filter']['stages']; unset($demand['filter']['stages']); $stagesSettings = $this->settings['projectDatabase']['filters']['stage']; foreach ($stagesRequested as $stage) { $demand['filter']['stages'][$stage]['key'] = $stage; $demand['filter']['stages'][$stage]['name'] = $stagesSettings[$stage]['_value']; } } // return not only the budget bracket keys, but also the minimum and maximum value if (isset($demand['filter']['budgetBrackets']) && is_array($demand['filter']['budgetBrackets'])) { $bracketsRequested = $demand['filter']['budgetBrackets']; unset($demand['filter']['budgetBrackets']); $bracketSettings = $this->settings['projectDatabase']['filters']['budget']['brackets']; foreach ($bracketsRequested as $bracket) { $demand['filter']['budgetBrackets'][$bracket]['key'] = $bracket; $demand['filter']['budgetBrackets'][$bracket]['minimum'] = $bracketSettings[$bracket]['minimum']; $demand['filter']['budgetBrackets'][$bracket]['maximum'] = $bracketSettings[$bracket]['maximum']; } } // return not only the required investment bracket keys, but also the minimum and maximum value if (isset($demand['filter']['requiredInvestmentBrackets']) && is_array($demand['filter']['requiredInvestmentBrackets'])) { $bracketsRequested = $demand['filter']['requiredInvestmentBrackets']; unset($demand['filter']['requiredInvestmentBrackets']); $bracketSettings = $this->settings['projectDatabase']['filters']['budget']['brackets']; foreach ($bracketsRequested as $bracket) { $demand['filter']['requiredInvestmentBrackets'][$bracket]['key'] = $bracket; $demand['filter']['requiredInvestmentBrackets'][$bracket]['minimum'] = $bracketSettings[$bracket]['minimum']; $demand['filter']['requiredInvestmentBrackets'][$bracket]['maximum'] = $bracketSettings[$bracket]['maximum']; } } } else { $projects = $this->projectRepository->findVisible(); } $this->view->assignMultiple(array('projects' => $projects, 'demand' => $demand)); }