[BUGFIX] Disable some not finished functions in EM
[Packages/TYPO3.CMS.git] / typo3 / sysext / extensionmanager / Classes / Controller / UpdateFromTerController.php
1 <?php
2 namespace TYPO3\CMS\Extensionmanager\Controller;
3
4 /***************************************************************
5 * Copyright notice
6 *
7 * (c) 2012 Susanne Moog, <typo3@susannemoog.de>
8 * All rights reserved
9 *
10 * This script is part of the TYPO3 project. The TYPO3 project is
11 * free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * The GNU General Public License can be found at
17 * http://www.gnu.org/copyleft/gpl.html.
18 * A copy is found in the textfile GPL.txt and important notices to the license
19 * from the author is found in LICENSE.txt distributed with these scripts.
20 *
21 *
22 * This script is distributed in the hope that it will be useful,
23 * but WITHOUT ANY WARRANTY; without even the implied warranty of
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 * GNU General Public License for more details.
26 *
27 * This copyright notice MUST APPEAR in all copies of the script!
28 ***************************************************************/
29 /**
30 * Controller for actions relating to update of full extension list from TER
31 *
32 * @author Susanne Moog <typo3@susannemoog.de>
33 */
34 class UpdateFromTerController extends \TYPO3\CMS\Extensionmanager\Controller\AbstractController {
35
36 /**
37 * @var \TYPO3\CMS\Extensionmanager\Utility\Repository\Helper
38 */
39 protected $repositoryHelper;
40
41 /**
42 * @var \TYPO3\CMS\Extensionmanager\Domain\Repository\RepositoryRepository
43 */
44 protected $repositoryRepository;
45
46 /**
47 * @var \TYPO3\CMS\Extensionmanager\Utility\ListUtility
48 */
49 protected $listUtility;
50
51 /**
52 * @var \TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository
53 */
54 protected $extensionRepository;
55
56 /**
57 * Dependency injection of the Extension Repository
58 *
59 * @param \TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository $extensionRepository
60 * @return void
61 */
62 public function injectExtensionRepository(\TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository $extensionRepository) {
63 $this->extensionRepository = $extensionRepository;
64 }
65
66 /**
67 * Dependency injection of the Repository Helper Utility
68 *
69 * @param \TYPO3\CMS\Extensionmanager\Utility\Repository\Helper $repositoryHelper
70 * @return void
71 */
72 public function injectRepositoryHelper(\TYPO3\CMS\Extensionmanager\Utility\Repository\Helper $repositoryHelper) {
73 $this->repositoryHelper = $repositoryHelper;
74 }
75
76 /**
77 * Dependency injection of repository repository
78 *
79 * @param \TYPO3\CMS\Extensionmanager\Domain\Repository\RepositoryRepository $repositoryRepository
80 * @return void
81 */
82 public function injectRepositoryRepository(\TYPO3\CMS\Extensionmanager\Domain\Repository\RepositoryRepository $repositoryRepository) {
83 $this->repositoryRepository = $repositoryRepository;
84 }
85
86 /**
87 * @param \TYPO3\CMS\Extensionmanager\Utility\ListUtility $listUtility
88 * @return void
89 */
90 public function injectListUtility(\TYPO3\CMS\Extensionmanager\Utility\ListUtility $listUtility) {
91 $this->listUtility = $listUtility;
92 }
93
94 /**
95 * Update extension list from TER
96 *
97 * @param boolean $forceUpdateCheck
98 * @return void
99 */
100 public function updateExtensionListFromTerAction($forceUpdateCheck = FALSE) {
101 $updated = FALSE;
102 $errorMessage = '';
103 /** @var $repository \TYPO3\CMS\Extensionmanager\Domain\Model\Repository */
104 $repository = $this->repositoryRepository->findOneByUid((int)$this->settings['repositoryUid']);
105 if ($repository->getExtensionCount() === 0 || $forceUpdateCheck) {
106 try {
107 $updated = $this->repositoryHelper->updateExtList();
108 } catch (\TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException $e) {
109 $errorMessage = $e->getMessage();
110 }
111 }
112 $this->view->assign('updated', $updated)
113 ->assign('repository', $repository)
114 ->assign('errorMessage', $errorMessage);
115 }
116 }
117 ?>