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

Public Member Functions

 __construct (\Magento\Framework\Composer\ComposerInformation $composerInformation, \Magento\Framework\Composer\MagentoComposerApplicationFactory $magentoComposerApplicationFactory)
 
 indexAction ()
 
 componentsAction ()
 

Detailed Description

Controller for other components grid on select version page

Definition at line 16 of file OtherComponentsGrid.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( \Magento\Framework\Composer\ComposerInformation  $composerInformation,
\Magento\Framework\Composer\MagentoComposerApplicationFactory  $magentoComposerApplicationFactory 
)
Parameters
\Magento\Framework\Composer\ComposerInformation$composerInformation
\Magento\Framework\Composer\MagentoComposerApplicationFactory$magentoComposerApplicationFactory

Definition at line 32 of file OtherComponentsGrid.php.

35  {
36  $this->composerInformation = $composerInformation;
37  $this->infoCommand = $magentoComposerApplicationFactory->createInfoCommand();
38  }

Member Function Documentation

◆ componentsAction()

componentsAction ( )

Get Components from composer info command

Returns
JsonModel
Exceptions

Definition at line 59 of file OtherComponentsGrid.php.

60  {
61  try {
62  $components = $this->composerInformation->getInstalledMagentoPackages();
63  foreach ($components as $component) {
64  if (!$this->composerInformation->isPackageInComposerJson($component['name'])) {
65  unset($components[$component['name']]);
66  continue;
67  }
68  $componentNameParts = explode('/', $component['name']);
69  $packageInfo = $this->infoCommand->run($component['name']);
70  if (!$packageInfo) {
71  throw new \RuntimeException('Package info not found for ' . $component['name']);
72  }
73  if ($packageInfo[InfoCommand::NEW_VERSIONS]) {
74  $currentVersion = $packageInfo[InfoCommand::CURRENT_VERSION];
75  $components[$component['name']]['version'] = $currentVersion;
76  $versions = [];
77  foreach ($packageInfo[InfoCommand::NEW_VERSIONS] as $version) {
78  $versions[] = ['id' => $version, 'name' => $version];
79  }
80  $versions[] = [
81  'id' => $packageInfo[InfoCommand::CURRENT_VERSION],
82  'name' => $packageInfo[InfoCommand::CURRENT_VERSION]
83  ];
84 
85  $versions[0]['name'] .= ' (latest)';
86  $versions[count($versions) - 1]['name'] .= ' (current)';
87 
88  $components[$component['name']]['vendor'] = $componentNameParts[0];
89  $components[$component['name']]['updates'] = $versions;
90  $components[$component['name']]['dropdownId'] = 'dd_' . $component['name'];
91  $components[$component['name']]['checkboxId'] = 'cb_' . $component['name'];
92  } else {
93  unset($components[$component['name']]);
94  }
95  }
96  return new JsonModel(
97  [
98  'components' => array_values($components),
99  'total' => count($components),
101  ]
102  );
103  } catch (\Exception $e) {
104  return new JsonModel(
105  [
107  ]
108  );
109  }
110  }

◆ indexAction()

indexAction ( )

No index action, return 404 error page

Returns
\Zend\View\Model\ViewModel

Definition at line 45 of file OtherComponentsGrid.php.

46  {
47  $view = new \Zend\View\Model\ViewModel;
48  $view->setTemplate('/error/404.phtml');
49  $this->getResponse()->setStatusCode(\Zend\Http\Response::STATUS_CODE_404);
50  return $view;
51  }

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