Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Attributes
Modules Class Reference
Inheritance diagram for Modules:

Public Member Functions

 __construct (ModuleStatus $allModules, ObjectManagerProvider $objectManagerProvider)
 
 indexAction ()
 
 allModulesValidAction ()
 
 validateAction ()
 

Protected Attributes

 $allModules
 

Detailed Description

Definition at line 14 of file Modules.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( ModuleStatus  $allModules,
ObjectManagerProvider  $objectManagerProvider 
)
Parameters
ModuleStatus$allModules
ObjectManagerProvider$objectManagerProvider

Definition at line 32 of file Modules.php.

33  {
34  $this->allModules = $allModules;
35  $this->objectManager = $objectManagerProvider->get();
36  }

Member Function Documentation

◆ allModulesValidAction()

allModulesValidAction ( )

Result of checking Modules Validity

Returns
JsonModel

Definition at line 68 of file Modules.php.

69  {
70  try {
71  $params = Json::decode($this->getRequest()->getContent(), Json::TYPE_ARRAY);
72  $enabledModules = isset($params['selectedModules']) ? $params['selectedModules'] : [];
73  return $this->checkGraph($enabledModules);
74  } catch (\Exception $e) {
75  return new JsonModel(['success' => false, 'error' => $e->getMessage()]);
76  }
77  }
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
Definition: website.php:18

◆ indexAction()

indexAction ( )

Returns list of Modules

Returns
JsonModel

Definition at line 43 of file Modules.php.

44  {
45  $allModules = $this->allModules->getAllModules();
46  $enabledModules = [];
47  foreach ($allModules as $module) {
48  if ($module['selected']) {
49  $enabledModules[] = $module['name'];
50  }
51  }
52  $validity = $this->checkGraph($enabledModules);
53  ksort($allModules);
54  if ($validity->getVariable("success")) {
55  return new JsonModel(['success' => true, 'modules' => $allModules]);
56  } else {
57  $errorMessage = $validity->getVariable("error");
58  return new JsonModel(['success' => false, 'modules' => $allModules,
59  'error' => '<b> Corrupt config.php!</b> <br />' . $errorMessage]);
60  }
61  }

◆ validateAction()

validateAction ( )

Check Module Dependencies

Returns
JsonModel

Definition at line 105 of file Modules.php.

106  {
107  $params = Json::decode($this->getRequest()->getContent(), Json::TYPE_ARRAY);
108  $status = $this->objectManager->create(\Magento\Framework\Module\Status::class);
109 
110  $constraints = $status->checkConstraints(
111  $params['status'],
112  [$params['module']],
113  array_diff($params['selectedModules'], [$params['module']])
114  );
115  if ($constraints) {
116  $message = $this->getConstraintsFailureMessage($params['status'], $constraints);
117  return new JsonModel(['success' => false, 'error' => $message]);
118  }
119 
120  $this->allModules->setIsEnabled($params['status'], $params['module']);
121  $allModules = $this->allModules->getAllModules($params['selectedModules']);
122  ksort($allModules);
123  return new JsonModel(['modules' => $allModules]);
124  }
$message
$status
Definition: order_status.php:8
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
Definition: website.php:18

Field Documentation

◆ $allModules

$allModules
protected

Definition at line 26 of file Modules.php.


The documentation for this class was generated from the following file: