/** * Shows list of extensions present in the system * * @return void */ public function indexAction() { $this->pageRenderer->addJsFile('../t3lib/js/extjs/notifications.js'); $availableExtensions = $this->listUtility->getAvailableExtensions(); $availableAndInstalledExtensions = $this->listUtility->getAvailableAndInstalledExtensions($availableExtensions); $availableAndInstalledExtensions = $this->listUtility->enrichExtensionsWithEmConfAndTerInformation($availableAndInstalledExtensions); $this->view->assign('extensions', $availableAndInstalledExtensions); }
/** * Returns all objects of this repository. * * @return array */ public function findAll() { if (!count($this->extensions)) { $availableExtensions = $this->listUtility->getAvailableExtensions(); $availableAndInstalledExtensions = $this->listUtility->getAvailableAndInstalledExtensions($availableExtensions); $availableAndInstalledExtensions = $this->listUtility->enrichExtensionsWithEmConfAndTerInformation($availableAndInstalledExtensions); foreach ($availableAndInstalledExtensions as $entry) { /** @var $extension \TYPO3\CMS\Lang\Domain\Model\Extension */ $extension = $this->objectManager->create('TYPO3\\CMS\\Lang\\Domain\\Model\\Extension', $entry['key'], $entry['title'], $this->getExtensionIconWithPath($entry)); $extension->setVersionFromString($entry['version']); $this->extensions[$entry['key']] = $extension; } // Sort the list by extension key ksort($this->extensions); } return $this->extensions; }
/** * Shows list of extensions present in the system * * @return void */ public function indexAction() { $availableExtensions = $this->listUtility->getAvailableExtensions(); $availableAndInstalledExtensions = $this->listUtility->getAvailableAndInstalledExtensions($availableExtensions); $availableAndInstalledExtensions = $this->listUtility->enrichExtensionsWithEmConfAndTerInformation($availableAndInstalledExtensions); $this->view->assign('extensions', $availableAndInstalledExtensions); $this->handleTriggerArguments(); }
/** * Shows extensions from TER * Either all extensions or depending on a search param * * @param string $search * @return void */ public function terAction($search = '') { $search = trim($search); if (!empty($search)) { $extensions = $this->extensionRepository->findByTitleOrAuthorNameOrExtensionKey($search); } else { $extensions = $this->extensionRepository->findAll(); } $availableAndInstalledExtensions = $this->listUtility->getAvailableAndInstalledExtensions($this->listUtility->getAvailableExtensions()); $this->view->assign('extensions', $extensions)->assign('search', $search)->assign('availableAndInstalled', $availableAndInstalledExtensions); }
public function findInstalledExtensionsThatDependOnMe($extensionKey) { $availableExtensions = $this->listUtility->getAvailableExtensions(); $availableAndInstalledExtensions = $this->listUtility->getAvailableAndInstalledExtensions($availableExtensions); $availableAndInstalledExtensions = $this->listUtility->enrichExtensionsWithEmConfAndTerInformation($availableAndInstalledExtensions); $dependentExtensions = array(); foreach ($availableAndInstalledExtensions as $availableAndInstalledExtensionKey => $availableAndInstalledExtension) { if (isset($availableAndInstalledExtension['installed']) && $availableAndInstalledExtension['installed'] === TRUE) { if (is_array($availableAndInstalledExtension['constraints']) && is_array($availableAndInstalledExtension['constraints']['depends']) && array_key_exists($extensionKey, $availableAndInstalledExtension['constraints']['depends'])) { $dependentExtensions[] = $availableAndInstalledExtensionKey; } } } return $dependentExtensions; }
/** * @test * @dataProvider getAvailableAndInstalledExtensionsDataProvider * @param $availableExtensions * @param $expectedResult * @return void */ public function getAvailableAndInstalledExtensionsTest($availableExtensions, $expectedResult) { $this->assertEquals($expectedResult, $this->subject->getAvailableAndInstalledExtensions($availableExtensions)); }