_helper = $helper; $this->urlBuilder = $urlBuilder; } /** * Check whether all extensions are valid or not * * @return bool */ public function isDisplayed() { $notActiveModules = $this->getModules(); if (sizeof($notActiveModules)) { return true; } return false; } /** * @return array */ public function getModules() { if (empty($this->_needActiveModules)) { $moduleLists = $this->_helper->getModuleList(); foreach ($moduleLists as $module) { if ($this->_helper->needActive($module) && !$this->_helper->isModuleActive($module)) { $this->_needActiveModules[] = $module; } } } return $this->_needActiveModules; } /** * Retrieve unique message identity * * @return string */ public function getIdentity() { return md5('MAGEPLAZA_VALIDATE_MESSAGE'); } /** * Retrieve message text * * @return \Magento\Framework\Phrase|string */ public function getText() { $modules = $this->getModules(); if (empty($modules)) { return ''; } $sectionName = $this->_helper->getConfigModulePath($modules[0]); $url = $this->urlBuilder->getUrl('adminhtml/system_config/edit', ['section' => $sectionName]); return __( 'One or more Mageplaza extensions are not validated. Click here to validate them.', $url ); } /** * Retrieve message severity * * @return int */ public function getSeverity() { return self::SEVERITY_MAJOR; } }