7
7
8
8
use Magento \Setup \Model \Cron \ReadinessCheck ;
9
9
use Magento \Setup \Model \CronScriptReadinessCheck ;
10
- use Magento \Setup \Model \DependencyReadinessCheck ;
11
- use Magento \Setup \Model \UninstallDependencyCheck ;
12
10
use Magento \Setup \Model \PhpReadinessCheck ;
13
- use Zend \Json \Json ;
14
11
use Zend \Mvc \Controller \AbstractActionController ;
15
12
use Zend \View \Model \JsonModel ;
16
13
use Magento \Setup \Model \FilePermissions ;
17
14
use Magento \Framework \App \Filesystem \DirectoryList ;
18
15
use Magento \Framework \Filesystem ;
19
- use Magento \Setup \Model \ModuleStatusFactory ;
20
- use Magento \Framework \Module \Status ;
21
16
22
17
/**
23
18
* Class Environment
24
19
*
25
20
* Provides information and checks about the environment.
26
- *
27
- * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
28
21
*/
29
22
class Environment extends AbstractActionController
30
23
{
@@ -33,6 +26,11 @@ class Environment extends AbstractActionController
33
26
*/
34
27
const UPDATER_DIR = 'update ' ;
35
28
29
+ /**
30
+ * Path to Magento config
31
+ */
32
+ const PATH_TO_CONFIG = '/app/etc/config.php ' ;
33
+
36
34
/**
37
35
* File system
38
36
*
@@ -47,61 +45,31 @@ class Environment extends AbstractActionController
47
45
*/
48
46
protected $ cronScriptReadinessCheck ;
49
47
50
- /**
51
- * Dependency Readiness Check
52
- *
53
- * @var DependencyReadinessCheck
54
- */
55
- protected $ dependencyReadinessCheck ;
56
-
57
- /**
58
- * Uninstall Dependency Readiness Check
59
- *
60
- * @var UninstallDependencyCheck
61
- */
62
- protected $ uninstallDependencyCheck ;
63
-
64
48
/**
65
49
* PHP Readiness Check
66
50
*
67
51
* @var PhpReadinessCheck
68
52
*/
69
53
protected $ phpReadinessCheck ;
70
54
71
- /**
72
- * Module/Status Object
73
- *
74
- * @var Status
75
- */
76
- protected $ moduleStatus ;
77
-
78
55
/**
79
56
* Constructor
80
57
*
81
58
* @param FilePermissions $permissions
82
59
* @param Filesystem $filesystem
83
60
* @param CronScriptReadinessCheck $cronScriptReadinessCheck
84
- * @param DependencyReadinessCheck $dependencyReadinessCheck
85
- * @param UninstallDependencyCheck $uninstallDependencyCheck
86
61
* @param PhpReadinessCheck $phpReadinessCheck
87
- * @param ModuleStatusFactory $moduleStatusFactory
88
62
*/
89
63
public function __construct (
90
64
FilePermissions $ permissions ,
91
65
Filesystem $ filesystem ,
92
66
CronScriptReadinessCheck $ cronScriptReadinessCheck ,
93
- DependencyReadinessCheck $ dependencyReadinessCheck ,
94
- UninstallDependencyCheck $ uninstallDependencyCheck ,
95
- PhpReadinessCheck $ phpReadinessCheck ,
96
- ModuleStatusFactory $ moduleStatusFactory
67
+ PhpReadinessCheck $ phpReadinessCheck
97
68
) {
98
69
$ this ->permissions = $ permissions ;
99
70
$ this ->filesystem = $ filesystem ;
100
71
$ this ->cronScriptReadinessCheck = $ cronScriptReadinessCheck ;
101
- $ this ->dependencyReadinessCheck = $ dependencyReadinessCheck ;
102
- $ this ->uninstallDependencyCheck = $ uninstallDependencyCheck ;
103
72
$ this ->phpReadinessCheck = $ phpReadinessCheck ;
104
- $ this ->moduleStatus = $ moduleStatusFactory ->create ();
105
73
}
106
74
107
75
/**
@@ -249,101 +217,4 @@ public function cronScriptAction()
249
217
$ data ['responseType ' ] = $ responseType ;
250
218
return new JsonModel ($ data );
251
219
}
252
-
253
- /**
254
- * Verifies component dependency
255
- *
256
- * @return JsonModel
257
- */
258
- public function componentDependencyAction ()
259
- {
260
- $ responseType = ResponseTypeInterface::RESPONSE_TYPE_SUCCESS ;
261
- $ packages = Json::decode ($ this ->getRequest ()->getContent (), Json::TYPE_ARRAY );
262
- $ data = [];
263
- foreach ($ packages as $ package ) {
264
- $ data [] = implode (' ' , $ package );
265
- }
266
- $ dependencyCheck = $ this ->dependencyReadinessCheck ->runReadinessCheck ($ data );
267
- $ data = [];
268
- if (!$ dependencyCheck ['success ' ]) {
269
- $ responseType = ResponseTypeInterface::RESPONSE_TYPE_ERROR ;
270
- $ data ['errorMessage ' ] = $ dependencyCheck ['error ' ];
271
- }
272
- $ data ['responseType ' ] = $ responseType ;
273
- return new JsonModel ($ data );
274
- }
275
-
276
- /**
277
- * Verifies component dependency for uninstall
278
- *
279
- * @return JsonModel
280
- */
281
- public function uninstallDependencyCheckAction ()
282
- {
283
- $ responseType = ResponseTypeInterface::RESPONSE_TYPE_SUCCESS ;
284
- $ packages = Json::decode ($ this ->getRequest ()->getContent (), Json::TYPE_ARRAY );
285
-
286
- $ packagesToDelete = [];
287
- foreach ($ packages as $ package ) {
288
- $ packagesToDelete [] = $ package ['name ' ];
289
- }
290
-
291
- $ dependencyCheck = $ this ->uninstallDependencyCheck ->runUninstallReadinessCheck ($ packagesToDelete );
292
- $ data = [];
293
- if (!$ dependencyCheck ['success ' ]) {
294
- $ responseType = ResponseTypeInterface::RESPONSE_TYPE_ERROR ;
295
- $ data ['errorMessage ' ] = $ dependencyCheck ['error ' ];
296
- }
297
- $ data ['responseType ' ] = $ responseType ;
298
- return new JsonModel ($ data );
299
- }
300
-
301
- /**
302
- * Verifies component dependency for enable/disable actions
303
- *
304
- * @return JsonModel
305
- */
306
- public function enableDisableDependencyCheckAction ()
307
- {
308
- $ responseType = ResponseTypeInterface::RESPONSE_TYPE_SUCCESS ;
309
- $ data = Json::decode ($ this ->getRequest ()->getContent (), Json::TYPE_ARRAY );
310
-
311
- try {
312
- if (empty ($ data ['packages ' ])) {
313
- throw new \Exception ('No packages have been found. ' );
314
- }
315
-
316
- if (empty ($ data ['type ' ])) {
317
- throw new \Exception ('Can not determine the flow. ' );
318
- }
319
-
320
- $ modules = $ data ['packages ' ];
321
-
322
- $ isEnable = ($ data ['type ' ] !== 'disable ' );
323
-
324
- $ modulesToChange = [];
325
- foreach ($ modules as $ module ) {
326
- if (!isset ($ module ['name ' ])) {
327
- throw new \Exception ('Can not find module name. ' );
328
- }
329
- $ modulesToChange [] = $ module ['name ' ];
330
- }
331
-
332
- $ constraints = $ this ->moduleStatus ->checkConstraints ($ isEnable , $ modulesToChange );
333
- $ data = [];
334
-
335
- if ($ constraints ) {
336
- $ data ['errorMessage ' ] = "Unable to change status of modules because of the following constraints: "
337
- . implode ("<br> " , $ constraints );
338
- $ responseType = ResponseTypeInterface::RESPONSE_TYPE_ERROR ;
339
- }
340
-
341
- } catch (\Exception $ e ) {
342
- $ responseType = ResponseTypeInterface::RESPONSE_TYPE_ERROR ;
343
- $ data ['errorMessage ' ] = $ e ->getMessage ();
344
- }
345
-
346
- $ data ['responseType ' ] = $ responseType ;
347
- return new JsonModel ($ data );
348
- }
349
220
}
0 commit comments