Example #1
0
 /**
  * Prepare Data Source
  *
  * @param array $dataSource
  * @return array
  */
 public function prepareDataSource(array $dataSource)
 {
     if (!isset($dataSource['data']['items'])) {
         return $dataSource;
     }
     $hasSubscription = false;
     if ($subscription = $this->moduleFactory->create()->load('Swissup_SubscriptionChecker')) {
         $hasSubscription = (bool) $subscription->getLocal();
     }
     foreach ($dataSource['data']['items'] as &$item) {
         // add installer links
         $module = $this->moduleFactory->create()->load($item['code']);
         if ($module->getInstaller()->hasUpgradesDir()) {
             $item[$this->getData('name')]['installer'] = ['href' => $this->urlBuilder->getUrl(static::URL_PATH_INSTALL, ['code' => $item['code']]), 'label' => __('Open Installer')];
             if ($module->isInstalled() && $module->getInstaller()->getUpgradesToRun()) {
                 $item[$this->getData('name')]['upgrade'] = ['href' => $this->urlBuilder->getUrl(static::URL_PATH_UPGRADE, ['code' => $item['code']]), 'label' => __('Run Upgrades')];
             }
         }
         // add external links
         foreach ($this->getData('links') as $link) {
             if (empty($item[$link['key']])) {
                 continue;
             }
             if ($link['key'] === 'download_link' && !$hasSubscription) {
                 continue;
             }
             $item[$this->getData('name')][$link['key']] = ['href' => $item[$link['key']], 'label' => __($link['label'])];
         }
     }
     return $dataSource;
 }
Example #2
0
 public function execute(\Magento\Framework\Event\Observer $observer)
 {
     foreach ($this->loader->getItems() as $component) {
         $module = $this->moduleFactory->create()->load($component['code']);
         $module->addData($component);
         $module->save();
     }
 }
Example #3
0
 public function execute(\Magento\Framework\Event\Observer $observer)
 {
     foreach ($observer->getModuleCollection() as $module) {
         $component = $this->loader->getItemById($module->getCode());
         if (!$component) {
             $this->moduleFactory->create()->load($module->getCode())->delete();
             continue;
         }
         $module->addData($component);
     }
 }
Example #4
0
 /**
  * Returns loded module object with copied new_store_ids and skip_upgrade
  * instructions into it
  *
  * @return Swissup\Core\Model\Module
  */
 protected function getModuleObject($code)
 {
     $module = $this->moduleFactory->create()->load($code)->setNewStores($this->module->getNewStores());
     if (!$module->getIdentityKey()) {
         $module->setIdentityKey($this->module->getIdentityKey());
     }
     return $module;
 }