/**
  * @return ViewModel
  */
 public function indexAction()
 {
     $sampleDataDeployed = $this->moduleList->has('Magento_SampleData');
     if ($sampleDataDeployed) {
         /** @var \Magento\Framework\Setup\SampleData\State $sampleData */
         $sampleData = $this->objectManagerProvider->get()->get('Magento\\Framework\\Setup\\SampleData\\State');
         $isSampleDataInstalled = $sampleData->isInstalled();
         $isSampleDataErrorInstallation = $sampleData->hasError();
     } else {
         $isSampleDataInstalled = false;
         $isSampleDataErrorInstallation = false;
     }
     $view = new ViewModel(['timezone' => $this->list->getTimezoneList(), 'currency' => $this->list->getCurrencyList(), 'language' => $this->list->getLocaleList(), 'isSampleDataInstalled' => $isSampleDataInstalled, 'isSampleDataErrorInstallation' => $isSampleDataErrorInstallation]);
     $view->setTerminal(true);
     return $view;
 }
예제 #2
0
 /**
  * Validate list of modules against installed composer packages and return error messages
  *
  * @param string[] $modules
  * @return string[]
  */
 protected function validate(array $modules)
 {
     $messages = [];
     $unknownPackages = [];
     $unknownModules = [];
     $installedPackages = $this->composer->getRootRequiredPackages();
     foreach ($modules as $module) {
         if (array_search($this->packageInfo->getPackageName($module), $installedPackages) === false) {
             $unknownPackages[] = $module;
         }
         if (!$this->fullModuleList->has($module)) {
             $unknownModules[] = $module;
         }
     }
     $unknownPackages = array_diff($unknownPackages, $unknownModules);
     if (!empty($unknownPackages)) {
         $text = count($unknownPackages) > 1 ?
             ' are not installed composer packages' : ' is not an installed composer package';
         $messages[] = '<error>' . implode(', ', $unknownPackages) . $text . '</error>';
     }
     if (!empty($unknownModules)) {
         $messages[] = '<error>Unknown module(s): ' . implode(', ', $unknownModules) . '</error>';
     }
     return $messages;
 }
예제 #3
0
 /**
  * Validate 'enable/disable' job type payload
  *
  * @param array $postPayload
  * @return string
  */
 private function validateEnableDisablePayload(array $postPayload)
 {
     $errorMessage = '';
     $packages = $postPayload[self::KEY_POST_PACKAGES];
     foreach ($packages as $package) {
         if (!$this->moduleList->has($package[self::KEY_POST_PACKAGE_NAME])) {
             $errorMessage .= 'Invalid Magento module name: ' . $package[self::KEY_POST_PACKAGE_NAME] . PHP_EOL;
             break;
         }
     }
     return $errorMessage;
 }
예제 #4
0
 /**
  * Validate 'enable/disable' job type payload
  *
  * @param array $postPayload
  * @return string
  */
 private function validateEnableDisablePayload(array $postPayload)
 {
     $errorMessage = '';
     if (!isset($postPayload[UpdaterTaskCreator::KEY_POST_PACKAGES])) {
         $errorMessage = 'Missing packages' . PHP_EOL;
     } else {
         $packages = $postPayload[UpdaterTaskCreator::KEY_POST_PACKAGES];
         foreach ($packages as $package) {
             if (!$this->moduleList->has($package[UpdaterTaskCreator::KEY_POST_PACKAGE_NAME])) {
                 $errorMessage .= 'Invalid Magento module name: ' . $package[UpdaterTaskCreator::KEY_POST_PACKAGE_NAME] . PHP_EOL;
                 break;
             }
         }
     }
     return $errorMessage;
 }