From 7221ea5a52257de6a96179e8566a42d66d934f9f Mon Sep 17 00:00:00 2001 From: olegnax Date: Wed, 22 Jul 2020 13:55:30 +0300 Subject: [PATCH] versioin 1.1.0.1 --- Block/Adminhtml/Modules/Update.php | 275 ++------------- Block/Adminhtml/System/Config/Form/Info.php | 162 +++++++++ .../System/Config/Form/InfoTheme.php | 54 +++ Block/Template.php | 70 ---- Helper/Helper.php | 141 +++++--- Helper/ModuleInfo.php | 320 ++++++++++++++++++ composer.json | 4 +- etc/adminhtml/menu.xml | 4 +- etc/module.xml | 2 +- module-core.zip | Bin 0 -> 112065 bytes view/adminhtml/templates/modules/update.phtml | 175 ++++++---- .../adminhtml/web/css/source/_info-block.less | 264 +++++++++++++++ view/adminhtml/web/css/source/_module.less | 311 ++++++++++++++++- view/adminhtml/web/images/docs-icon-tiny.png | Bin 0 -> 1247 bytes view/adminhtml/web/images/docs-icon.jpg | Bin 0 -> 1700 bytes view/adminhtml/web/images/info.png | Bin 0 -> 460 bytes view/adminhtml/web/images/ox.png | Bin 0 -> 920 bytes .../web/images/support-icon-tiny.png | Bin 0 -> 670 bytes view/adminhtml/web/images/warning-icon.png | Bin 0 -> 1339 bytes view/frontend/web/images/placeholder.png | Bin 0 -> 68 bytes view/frontend/web/images/preloader-img.gif | Bin 0 -> 747 bytes 21 files changed, 1340 insertions(+), 442 deletions(-) create mode 100644 Block/Adminhtml/System/Config/Form/Info.php create mode 100644 Block/Adminhtml/System/Config/Form/InfoTheme.php create mode 100644 Helper/ModuleInfo.php create mode 100644 module-core.zip create mode 100644 view/adminhtml/web/css/source/_info-block.less create mode 100644 view/adminhtml/web/images/docs-icon-tiny.png create mode 100644 view/adminhtml/web/images/docs-icon.jpg create mode 100644 view/adminhtml/web/images/info.png create mode 100644 view/adminhtml/web/images/ox.png create mode 100644 view/adminhtml/web/images/support-icon-tiny.png create mode 100644 view/adminhtml/web/images/warning-icon.png create mode 100644 view/frontend/web/images/placeholder.png create mode 100644 view/frontend/web/images/preloader-img.gif diff --git a/Block/Adminhtml/Modules/Update.php b/Block/Adminhtml/Modules/Update.php index 8bd58d5..a4d4619 100644 --- a/Block/Adminhtml/Modules/Update.php +++ b/Block/Adminhtml/Modules/Update.php @@ -8,171 +8,45 @@ namespace Olegnax\Core\Block\Adminhtml\Modules; -use Exception; use Magento\Backend\Block\Template; use Magento\Backend\Block\Template\Context; -use Magento\Framework\App\Config\ScopeConfigInterface; use Magento\Framework\App\DeploymentConfig; -use Magento\Framework\App\ObjectManager; -use Magento\Framework\App\ProductMetadataInterface; -use Magento\Framework\App\RequestInterface; -use Magento\Framework\Component\ComponentRegistrar; -use Magento\Framework\Component\ComponentRegistrarInterface; -use Magento\Framework\Filesystem\Directory\ReadFactory; -use Magento\Framework\HTTP\Adapter\CurlFactory; -use Magento\Framework\HTTP\PhpEnvironment\RemoteAddress; -use Magento\Framework\Module\ModuleListInterface; -use Magento\Store\Model\StoreManagerInterface; -use Zend_Http_Client; +use Olegnax\Core\Helper\ModuleInfo; /** @noinspection ClassNameCollisionInspection */ class Update extends Template { - - const MODULE_URL = 'http://olegnax.com/extras/products-status/magento2_modules.json'; const CACHE_KEY_PREFIX = 'OLEGNAX_'; + + const CACHE_TAG = 'extensions'; /** - * Cache tag + * @var ModuleInfo */ - const CACHE_TAG = 'extensions'; + protected $helper; /** - * - * @var ObjectManager + * @var DeploymentConfig */ - public $objectManager; - protected $_moduleUrl; protected $deploymentConfig; - protected $moduleList; - protected $componentRegistrar; - protected $readFactory; - protected $latestVersions; - protected $storeManager; - protected $curlFactory; - protected $productMetadata; public function __construct( - DeploymentConfig $deploymentConfig, - ModuleListInterface $moduleList, - ComponentRegistrarInterface $componentRegistrar, - ReadFactory $readFactory, Context $context, - StoreManagerInterface $storeManager, - CurlFactory $curlFactory, - ProductMetadataInterface $productMetadata, + DeploymentConfig $deploymentConfig, + ModuleInfo $helper, array $data = [] ) { $this->deploymentConfig = $deploymentConfig; - $this->moduleList = $moduleList; - $this->readFactory = $readFactory; - $this->componentRegistrar = $componentRegistrar; - $this->storeManager = $storeManager; - $this->curlFactory = $curlFactory; - $this->productMetadata = $productMetadata; + $this->helper = $helper; parent::__construct($context, $data); - $this->getModulesLatestVersions(); $this->addData(['cache_lifetime' => 86400, 'cache_tags' => [self::CACHE_TAG]]); } /** - * @return array + * Forsed update Data */ - protected function getModulesLatestVersions() - { - $result = $this->_loadCache(); - if (!$result) { - $result = $this->getModuleData(); - if (!empty($result)) { - $this->_saveCache($result); - } - } - try { - $result = (array)json_decode($result, true); - - $this->latestVersions = $result; - } catch (Exception $e) { - $this->latestVersions = []; - } - - return $this->latestVersions; - } - - public function getModuleData() - { - $curl = $this->curlFactory->create(); - $curl->setConfig( - [ - 'timeout' => 2, - 'maxredirects' => 5, - 'useragent' => 'Olegnax: ' . $this->productMetadata->getName() . '/' . $this->productMetadata->getVersion() . ' (' . $this->productMetadata->getEdition() . ')', - 'referer' => $this->getCurrentUrl(), - 'verifypeer' => false, - ] - ); - $curl->write(Zend_Http_Client::GET, $this->getModuleUrl(), '1.0'); - $data = $curl->read(); - $curl->close(); - - $data = preg_split('/^\r?$/m', $data, 2); - $data = trim($data[1]); - - return $data; - } - - public function getCurrentUrl() - { - return $this->_loadObject(ScopeConfigInterface::class)->getValue('web/unsecure/base_url'); - } - - protected function _loadObject($object) - { - return $this->_getObjectManager()->get($object); - } - - protected function _getObjectManager() - { - return ObjectManager::getInstance(); - } - - public function getModuleUrl() - { - if ($this->_moduleUrl === null) { - $this->_moduleUrl = self::MODULE_URL . $this->getHash(); - } - return $this->_moduleUrl; - } - - public function getHash() - { - $args = ['hash' => base64_encode($this->getCurrentIp())]; - $args = array_filter($args); - $query = ''; - if (!empty($args)) { - $query = '?' . http_build_query($args); - } - - return $query; - } - - public function getCurrentIp() + public function ForsedUpdate() { - $variable = [ - 'HTTP_X_REAL_IP', - 'HTTP_CLIENT_IP', - 'HTTP_X_FORWARDED_FOR' - ]; - $value = array_map([$this, 'getServer'], $variable); - $value = array_map('trim', $value); - $value[] = $this->getRemoteAddress(); - $value = array_filter($value); - $value = implode(',', $value); - - return $value; - } - - public function getRemoteAddress() - { - return $this->_loadObject(RemoteAddress::class)->getRemoteAddress(); + $this->helper->getData(true); } /** @@ -182,68 +56,17 @@ public function getModuleVersions() { $modules = $this->deploymentConfig->get('modules'); $modules = array_filter($modules, [$this, 'filter_module'], ARRAY_FILTER_USE_KEY); + $_modules = []; foreach ($modules as $moduleName => $enabled) { - $module = array_merge($this->getModule($moduleName), ['enabled' => $enabled]); - if (array_key_exists($moduleName, $this->latestVersions)) { - $module = array_merge($module, $this->latestVersions[$moduleName], [ - 'server_version' => $this->latestVersions[$moduleName]['version'], - 'theme_module' => $this->latestVersions[$moduleName]['theme_module'], - 'update_status' => version_compare($this->latestVersions[$moduleName]['version'], - $module['setup_version'], '>'), - ]); - } else { - $module = array_merge($module, [ - 'server_version' => $module['setup_version'], - 'theme_module' => false, - 'update_status' => false, - ]); - } - $modules[$moduleName] = $module; - } - - return $modules; - } - - protected function getModule($name) - { - $module = $this->moduleList->getOne($name); - if (empty($module)) { - $module = [ - 'name' => $name, - 'setup_version' => $this->getComposerVersion($name), - ]; - } - return (array)$module; - } - - /** - * @param string $moduleName - * @param string $type - * @return string - */ - protected function getComposerVersion($moduleName, $type = ComponentRegistrar::MODULE) - { - $path = $this->componentRegistrar->getPath($type, $moduleName); - - if ($path) { - $dirReader = $this->readFactory->create($path); - - if ($dirReader->isExist('composer.json')) { - $data = $dirReader->readFile('composer.json'); - $data = json_decode($data, true); - if (isset($data['version'])) { - return $data['version']; - } - } - if ($dirReader->isExist('etc/module.xml')) { - $data = $dirReader->readFile('etc/module.xml'); - if (preg_match('/setup_version="([^\"]+)"/i', $data, $matches)) { - return $matches[1]; - } + $module = $this->helper->getModuleInfo($moduleName); + if (empty($module)) { + continue; } + $module['enabled'] = $enabled; + $_modules[$moduleName] = $module; } - return ''; + return $_modules; } public function filter_module($moduleName) @@ -259,66 +82,16 @@ public function getThemeVersions() $themes = [ 'Athlete2' => 'frontend/Olegnax/athlete2', ]; + $_themes = []; foreach ($themes as $themeName => $path) { - $theme = $this->getTheme($path); - if ('' === $theme['setup_version']) { - unset($themes[$themeName]); + $theme = $this->helper->getThemeInfo($path, $themeName); + if (empty($theme)) { continue; } - if (!array_key_exists('name', $theme)) { - $theme['name'] = $themeName; - } - if (array_key_exists($themeName, $this->latestVersions)) { - $theme = array_merge($theme, $this->latestVersions[$themeName], [ - 'server_version' => $this->latestVersions[$themeName]['version'], - 'update_status' => version_compare($this->latestVersions[$themeName]['version'], - $theme['setup_version'], '>'), - ]); - } else { - $theme = array_merge($theme, [ - 'server_version' => $theme['setup_version'], - 'update_status' => false, - ]); - } - $themes[$themeName] = $theme; - } - - return $themes; - } - - protected function getTheme($path) - { - $theme = [ - 'path' => $path, - 'setup_version' => $this->getComposerVersion($path, ComponentRegistrar::THEME), - ]; - $name = $this->getThemeName($path); - if (!empty($name)) { - $theme['name'] = $name; + $_themes[$themeName] = $theme; } - return (array)$theme; - } - - protected function getThemeName($path) - { - $path = $this->componentRegistrar->getPath(ComponentRegistrar::THEME, $path); - if ($path) { - $dirReader = $this->readFactory->create($path); - if ($dirReader->isExist('theme.xml')) { - $data = $dirReader->readFile('theme.xml'); - if (preg_match('/([^<>]+)<\/title>/i', $data, $matches)) { - return $matches[1]; - } - } - } - - return null; - } - - public function getServer($name) - { - return $this->_loadObject(RequestInterface::class)->getServer($name); + return $_themes; } } diff --git a/Block/Adminhtml/System/Config/Form/Info.php b/Block/Adminhtml/System/Config/Form/Info.php new file mode 100644 index 0000000..88a566c --- /dev/null +++ b/Block/Adminhtml/System/Config/Form/Info.php @@ -0,0 +1,162 @@ +<?php +/** + * @author Olegnax + * @package Olegnax_Core + * @copyright Copyright (c) 2019 Olegnax (http://olegnax.com/). All rights reserved. + * See COPYING.txt for license details. + */ + + +namespace Olegnax\Core\Block\Adminhtml\System\Config\Form; + + +use Magento\Backend\Block\Context; +use Magento\Backend\Model\Auth\Session; +use Magento\Config\Block\System\Config\Form\Fieldset; +use Magento\Framework\Data\Form\Element\AbstractElement; +use Magento\Framework\View\Helper\Js; +use Olegnax\Core\Block\Adminhtml\NoticeContent; +use Olegnax\Core\Helper\ModuleInfo; + +class Info extends Fieldset +{ + /** + * @var ModuleInfo + */ + protected $moduleInfo; + /** + * @var NoticeContent + */ + protected $content; + + /** + * Info constructor. + * @param Context $context + * @param Session $authSession + * @param Js $jsHelper + * @param NoticeContent $content + * @param ModuleInfo $moduleInfo + * @param array $data + */ + public function __construct( + Context $context, + Session $authSession, + Js $jsHelper, + NoticeContent $content, + ModuleInfo $moduleInfo, + array $data = [] + ) { + $this->content = $content; + $this->moduleInfo = $moduleInfo; + parent::__construct($context, $authSession, $jsHelper, $data); + } + + /** + * Retrieve HTML markup for given form element + * + * @param AbstractElement $element + * @return string + */ + public function render(AbstractElement $element) + { + $html = $this->_toTPL(); + $html .= $this->getContent(); + + if ($element->getIsNested()) { + $html = '<tr class="nested"><td colspan="4">' . $html . '</td></tr>'; + } + return $html; + } + + /** + * Template to string + * + * @param array $data + * @return string + */ + public function _toTPL($data = []) + { + ob_start(); + $this->toTPL(array_replace($this->getModuleInfo(), $data)); + return (string)ob_get_clean(); + } + + /** + * Template + * + * @param array $data + */ + public function toTPL($data = []) + { + $rightUrls = [ + 'docs' => __('User Guide'), + ]; + $rightBlock = ''; + foreach ($rightUrls as $key => $label) { + if (isset($data[$key]) && !empty($data[$key])) { + $rightBlock .= '<div class="ox-info-block__' . $key . '"><a href="' . $this->escapeUrl($data[$key]) . '" target="_blank">' . $label . '</a></div>'; + } + } + $rightBlock .= $this->rightCustomBlocks($data); + ?> + <div class="ox-info-block"> + <a href="https://olegnax.com/" target="_blank" class="ox-info-block__logo"></a> + <div class="ox-info-block__title"><?= $this->escapeHtml($data['title']); ?></div> + <?= $this->leftCustomBlocks($data); ?> + <?php if ($data['update_status']): ?> + <div class="ox-info-block__version expired"> + <div class="ox-module-version">v<?= $this->escapeHtml($data['setup_version']); ?> <span class="ox-server-version">v<?= $this->escapeHtml($data['server_version']) ?></span><?php if (isset($data['url_changelog']) && !empty($data['url_changelog'])): ?> <a href="<?= $this->escapeUrl($data['url_changelog']) ?>" target="_blank"><?= __("What's New") ?></a></div><?php endif; ?> + </div> + <?php else: ?> + <div class="ox-info-block__version"> + <div class="ox-module-version">v<?= $this->escapeHtml($data['setup_version']); ?></div> + </div> + <?php endif; ?> + <?php if (!empty($rightBlock)): ?><div class="ox-info-block__right"><?= $rightBlock; ?></div><?php endif; ?> + </div> + <?php + } + + /** + * Right Custom Blocks + * + * @param array $data + * @return string + */ + protected function rightCustomBlocks($data = []) + { + return ''; + } + + /** + * Left Custom Blocks + * + * @param array $data + * @return string + */ + protected function leftCustomBlocks($data = []) + { + return ''; + } + + /** + * Get Module info + * + * @return array + */ + protected function getModuleInfo() + { + return $this->moduleInfo->getModuleInfo($this->getModuleName()); + } + + /** + * Show notice + * + * @return string + */ + protected function getContent() + { + $this->content->setData('location', $this->getModuleName()); + return $this->content->toHtml(); + } +} \ No newline at end of file diff --git a/Block/Adminhtml/System/Config/Form/InfoTheme.php b/Block/Adminhtml/System/Config/Form/InfoTheme.php new file mode 100644 index 0000000..5ac1ce9 --- /dev/null +++ b/Block/Adminhtml/System/Config/Form/InfoTheme.php @@ -0,0 +1,54 @@ +<?php + + +namespace Olegnax\Core\Block\Adminhtml\System\Config\Form; + + +use Magento\Backend\Block\Context; +use Magento\Backend\Model\Auth\Session; +use Magento\Framework\App\ObjectManager; +use Magento\Framework\View\Helper\Js; +use Olegnax\Athlete2\Helper\Helper; +use Olegnax\Core\Block\Adminhtml\NoticeContent; +use Olegnax\Core\Helper\ModuleInfo; + +class InfoTheme extends Info +{ + public function __construct( + Context $context, + Session $authSession, + Js $jsHelper, + NoticeContent $content, + ModuleInfo $moduleInfo, + array $data = [] + ) { + parent::__construct($context, $authSession, $jsHelper, $content, $moduleInfo, $data); + } + + protected function rightCustomBlocks($data = []) + { + if (!$this->moduleInfo->isActive('Olegnax_Athlete2')) { + return ''; + } + $this->_helper = ObjectManager::getInstance()->get(Helper::class); + $code = $this->_helper->getSystemDefaultValue('athlete2_license/general/code'); + $license = $this->_helper->get(); + $status = !empty($license) + && isset($license->data->the_key) + && $license->data->the_key == $code + && $license->data->status == "active"; + $supportExpired = isset($license->notices->support); + $notice = []; + if ($status) { + $notice[] = '<div class="ox-info-block__support support-' . ($supportExpired ? 'expired' : 'active') . '"><div class="wrapper"><span class="label">' . __('Support') . '</span>'; + if ($supportExpired) { + $notice[] = '<a href="https://themeforest.net/item/athlete2-strong-magento-2-theme/23693737" target="_blank">' . __('Renew') . '</a>'; + } else { + $notice[] = '<a href="https://olegnax.com/help" target="_blank">' . __('Active') . '</a>'; + } + $notice[] = '</div></div>'; + } + + return implode($notice); + } +} \ No newline at end of file diff --git a/Block/Template.php b/Block/Template.php index 5a84035..4d127e9 100644 --- a/Block/Template.php +++ b/Block/Template.php @@ -119,76 +119,6 @@ public function getBlockTemplateProcessor($content = '') return $this->getHelper()->getBlockTemplateProcessor($content); } - public function getLayoutTemplateHtml($option_path = '', $fileName = '', $arguments = []) - { - $value = $this->getConfig($option_path); - - if (is_string($value) || is_numeric($value)) { - return $this->getLayoutTemplateHtmlbyValue($value, $fileName, $arguments); - } - return ''; - } - - public function getLayoutTemplateHtmlbyValue($value = null, $fileName = null, $arguments = [], $separator = '/') - { - $block = $this; - $_fileName = ''; - if (empty($fileName)) { - $blockTemplate = $block->getTemplate(); - if (preg_match('/(\.[^\.]+?)$/', $blockTemplate)) { - $fileName = preg_replace('/(\.[^\.]+?)$/', '%s%s$1', $blockTemplate); - } else { - $fileName .= '%s%s'; - } - } else { - $_fileName = $fileName; - } - $blockName = $separator . $block->getNameInLayout() . $separator . $_fileName . $separator . $value; - $fileName = sprintf($fileName, $separator, $value); - while ($block->getLayout()->getBlock($blockName)) { - $blockName .= '_0'; - } - $_block = $block->getLayout()->createBlock(static::CHILD_TEMPLATE, $blockName); - $block->setChild($_block->getNameInLayout(), $_block); - if (!empty($arguments) && is_array($arguments)) { - foreach ($arguments as $key => $value) { - $_block->addData($key, $value); - } - } - $content = $_block->setTemplate($fileName)->toHtml(); - - return $content; - } - - public function getLayoutBlockHtml($option_path = '', $blockName = null) - { - $value = $this->getConfig($option_path); - - if (is_string($value) || is_numeric($value)) { - return $this->getBlockValueHtmlby($value, $blockName); - } - return ''; - } - - public function getLayoutBlockHtmlbyValue($value = null, $blockName = null, $separator = '/') - { - $block = $this; - if (empty($blockName)) { - $blockName = $block->getNameInLayout(); - } - $blockName = $blockName . $separator . $value; - $_block = $block->getLayout()->getBlock($blockName); - $content = ''; - if ($_block) { - $block->setChild($blockName, $_block); - $content = $_block->toHtml(); - - return $content; - } - - return $content; - } - public function getBaseUrl() { return $this->getHelper()->getBaseUrl(); diff --git a/Helper/Helper.php b/Helper/Helper.php index 4ea52a1..1d2c15d 100644 --- a/Helper/Helper.php +++ b/Helper/Helper.php @@ -12,6 +12,9 @@ use Magento\Cms\Model\Template\FilterProvider; use Magento\Customer\Model\Session; use Magento\Framework\App\Area; +use Magento\Framework\App\Cache\Frontend\Pool; +use Magento\Framework\App\Cache\TypeListInterface; +use Magento\Framework\App\Config\ReinitableConfigInterface; use Magento\Framework\App\Config\ScopeConfigInterface; use Magento\Framework\App\Config\Storage\WriterInterface; use Magento\Framework\App\Helper\AbstractHelper; @@ -60,7 +63,14 @@ public function setModuleConfig( public function setSystemValue($path, $value, $scope = ScopeConfigInterface::SCOPE_TYPE_DEFAULT, $scopeId = 0) { - return $this->_loadObject(WriterInterface::class)->save($path, $value, $scope, $scopeId); + $result = $this->_loadObject(WriterInterface::class)->save($path, $value, $scope, $scopeId); + $this->_loadObject(ReinitableConfigInterface::class)->reinit(); + return $result; + } + + public function deleteSystemValue($path, $scope = ScopeConfigInterface::SCOPE_TYPE_DEFAULT, $scopeId = 0) + { + return $this->_loadObject(WriterInterface::class)->delete($path, $scope, $scopeId); } /** @@ -74,7 +84,9 @@ public function _loadObject($path) public function getModuleConfig($path = '', $storeCode = null) { - if (!empty($path)) { + if (empty($path)) { + $path = static::CONFIG_MODULE; + } else { $path = static::CONFIG_MODULE . '/' . $path; } return $this->getSystemValue($path, $storeCode); @@ -84,11 +96,20 @@ public function getSystemValue($path, $storeCode = null) { return $this->scopeConfig->getValue( $path, - !empty($storeCode) ? ScopeInterface::SCOPE_STORE : ScopeConfigInterface::SCOPE_TYPE_DEFAULT, + ScopeInterface::SCOPE_STORE, $storeCode ); } + public function getSystemDefaultValue($path) + { + return $this->scopeConfig->getValue( + $path, + ScopeConfigInterface::SCOPE_TYPE_DEFAULT, + 0 + ); + } + /** * @return bool */ @@ -129,7 +150,7 @@ public function _createObject($path, $arguments = []) public function getLayoutTemplateHtml($block, $option_path = '', $fileName = '', $arguments = []) { - $value = $this->getConfig($option_path); + $value = $this->getSystemValue($option_path); if (is_string($value) || is_numeric($value)) { return $this->getLayoutTemplateHtmlbyValue($block, $value, $fileName, $arguments); @@ -157,6 +178,12 @@ public function getLayoutTemplateHtmlbyValue( } else { $fileName .= '%s%s'; } + if (!preg_match('#([^_\:])_([^_\:])\:\:#i', $fileName)) { + $className = array_slice(array_filter(explode('\\', get_class($block))), 0, 2); + if ('Magento' !== $className[0]) { + $fileName = implode('_', $className) . '::' . $fileName; + } + } } else { $_fileName = $fileName; } @@ -168,43 +195,13 @@ public function getLayoutTemplateHtmlbyValue( $_block = $block->getLayout()->createBlock(static::CHILD_TEMPLATE, $blockName); $block->setChild($_block->getNameInLayout(), $_block); if (!empty($arguments) && is_array($arguments)) { - foreach ($arguments as $key => $value) { - $_block->addData($key, $value); - } + $_block->addData($arguments); } $content = $_block->setTemplate($fileName)->toHtml(); return $content; } - public function getLayoutBlockHtml($block, $option_path = '', $blockName = null) - { - $value = $this->getConfig($option_path); - - if (is_string($value) || is_numeric($value)) { - return $this->getBlockValueHtmlby($block, $value, $blockName); - } - return ''; - } - - public function getLayoutBlockHtmlbyValue($block, $value = null, $blockName = null, $separator = '/') - { - if (empty($blockName)) { - $blockName = $block->getNameInLayout(); - } - $blockName = $blockName . $separator . $value; - $_block = $block->getLayout()->getBlock($blockName); - $content = ''; - if ($_block) { - $block->setChild($blockName, $_block); - $content = $_block->toHtml(); - - return $content; - } - - return $content; - } - public function isLoggedIn() { return $this->_loadObject(Session::class)->isLoggedIn(); @@ -239,15 +236,42 @@ public function getStore() public function isMobile() { - $user_agent = filter_input(INPUT_SERVER, HTTP_USER_AGENT); - $result = false; - if (!empty($user_agent)) { - $result = preg_match( - "/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", - $user_agent); - } - - return $result; + $regex_match = "/(nokia|iphone|android|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|" + . "htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|" + . "blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|" + . "symbian|smartphone|mmp|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|" + . "jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220" + . ")/i"; + + if (preg_match($regex_match, strtolower($_SERVER['HTTP_USER_AGENT']))) { + return TRUE; + } + + if ((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml') > 0) or ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))) { + return TRUE; + } + + $mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'], 0, 4)); + $mobile_agents = array( + 'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac', + 'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno', + 'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-', + 'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-', + 'newt','noki','oper','palm','pana','pant','phil','play','port','prox', + 'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar', + 'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-', + 'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp', + 'wapr','webc','winw','winw','xda ','xda-'); + + if (in_array($mobile_ua,$mobile_agents)) { + return TRUE; + } + + if (isset($_SERVER['ALL_HTTP']) && strpos(strtolower($_SERVER['ALL_HTTP']),'OperaMini') > 0) { + return TRUE; + } + + return FALSE; } public function getBlockTemplateProcessor($content = '') @@ -270,4 +294,33 @@ public function isHomePage() return $currentUrl == $urlRewrite; } + + public function clearCache() + { + /** @var TypeListInterface $cacheTypeList */ + $cacheTypeList = $this->_loadObject(TypeListInterface::class); + $types = [ + 'config', + 'layout', + 'block_html', + 'collections', + 'reflection', + 'db_ddl', + 'eav', + 'config_integration', + 'config_integration_api', + 'full_page', + 'translate', + 'config_webservice', + ]; + foreach ($types as $type) { + $cacheTypeList->cleanType($type); + } + /** @var Pool $CacheFrontendPool */ + $CacheFrontendPool = $this->_loadObject(Pool::class); + foreach ($CacheFrontendPool as $cacheFrontend) { + $cacheFrontend->getBackend()->clean(); + } + } + } diff --git a/Helper/ModuleInfo.php b/Helper/ModuleInfo.php new file mode 100644 index 0000000..837f1a8 --- /dev/null +++ b/Helper/ModuleInfo.php @@ -0,0 +1,320 @@ +<?php + + +namespace Olegnax\Core\Helper; + + +use Exception; +use Magento\Framework\App\Config\ScopeConfigInterface; +use Magento\Framework\App\Helper\Context; +use Magento\Framework\App\ProductMetadataInterface; +use Magento\Framework\App\RequestInterface; +use Magento\Framework\Component\ComponentRegistrar; +use Magento\Framework\Component\ComponentRegistrarInterface; +use Magento\Framework\Filesystem\Directory\ReadFactory; +use Magento\Framework\HTTP\Adapter\CurlFactory; +use Magento\Framework\HTTP\PhpEnvironment\RemoteAddress; +use Magento\Framework\Module\ModuleListInterface; +use Zend_Http_Client; + +class ModuleInfo extends Helper +{ + const MODULE_URL = 'https://olegnax.com/extras/products-status/magento2_modules.json'; + const CACHE_PERIOD = 24 * 60 * 60; + const XML_PATH_CACHE = 'olegnax_core/module/cache'; + const XML_PATH_CACHE_DATE = 'olegnax_core/module/datacache'; + /** + * @var ProductMetadataInterface + */ + protected $productMetadata; + /** + * @var CurlFactory + */ + protected $curlFactory; + /** + * @var RemoteAddress + */ + protected $remoteAddress; + /** + * @var RequestInterface + */ + protected $request; + /** + * @var array + */ + protected $data; + /** + * @var string + */ + protected $_moduleUrl; + /** + * @var ComponentRegistrarInterface + */ + protected $componentRegistrar; + /** + * @var ModuleListInterface + */ + protected $moduleList; + /** + * @var ReadFactory + */ + protected $readFactory; + + public function __construct( + Context $context, + CurlFactory $curlFactory, + ProductMetadataInterface $productMetadata, + RemoteAddress $remoteAddress, + ComponentRegistrarInterface $componentRegistrar, + ModuleListInterface $moduleList, + ReadFactory $readFactory, + RequestInterface $request + ) { + $this->curlFactory = $curlFactory; + $this->moduleList = $moduleList; + $this->productMetadata = $productMetadata; + $this->remoteAddress = $remoteAddress; + $this->componentRegistrar = $componentRegistrar; + $this->readFactory = $readFactory; + $this->request = $request; + parent::__construct($context); + } + + public function getServer( + $name + ) { + return $this->request->getServer($name); + } + + public function getModuleInfo($moduleName, $onlyInstalled = true) + { + $data = $this->getModule($moduleName); + if ('' == $data['setup_version'] && $onlyInstalled) { + return []; + } + $apiData = $this->getData(); + if (array_key_exists($moduleName, $apiData)) { + $data = array_replace($data, $apiData[$moduleName]); + } + if (!isset($data['theme_module'])) { + $data['theme_module'] = false; + } + $data['server_version'] = isset($data['version']) ? $data['version'] : $data['setup_version']; + $data['update_status'] = version_compare( + $data['server_version'], + $data['setup_version'], + '>' + ); + + return $data; + } + + /** + * @param string $moduleName + * @return bool + */ + public function isActive($moduleName){ + return $this->_moduleManager->isEnabled($moduleName); + } + + protected function getModule($name) + { + $module = $this->moduleList->getOne($name); + if (empty($module)) { + $module = [ + 'name' => $name, + 'setup_version' => $this->getComposerVersion($name), + ]; + } + $module['title'] = str_replace('_', ' ', $module['name']); + return (array)$module; + } + + protected function getComposerVersion($moduleName, $type = ComponentRegistrar::MODULE) + { + $path = $this->componentRegistrar->getPath($type, $moduleName); + + if ($path) { + $dirReader = $this->readFactory->create($path); + + if ($dirReader->isExist('composer.json')) { + $data = $dirReader->readFile('composer.json'); + $data = json_decode($data, true); + if (isset($data['version'])) { + return $data['version']; + } + } + if ($dirReader->isExist('etc/module.xml')) { + $data = $dirReader->readFile('etc/module.xml'); + if (preg_match('/setup_version="([^\"]+)"/i', $data, $matches)) { + return $matches[1]; + } + } + } + + return ''; + } + + public function getData($forsed = false) + { + $date = (int)$this->getSystemDefaultValue(static::XML_PATH_CACHE_DATE); + try { + if (empty($this->data)) { + $this->data = $this->decodeData($this->getSystemDefaultValue(static::XML_PATH_CACHE)); + } + if ($date + static::CACHE_PERIOD < time() || $forsed || empty($this->data)) { + $this->data = $this->decodeData($this->loadData()); + if (!empty($this->data)) { + $this->setSystemValue( + static::XML_PATH_CACHE, + json_encode($this->data), + ScopeConfigInterface::SCOPE_TYPE_DEFAULT, + 0 + ); + $this->setSystemValue( + static::XML_PATH_CACHE_DATE, + time(), + ScopeConfigInterface::SCOPE_TYPE_DEFAULT, + 0 + ); + } + } + } catch (Exception $e) { + $this->data = []; + } + + return $this->data; + } + + private function decodeData($data = '') + { + if (empty($data)) { + return []; + } + return (array)json_decode($data, true); + } + + protected function loadData() + { + $curl = $this->curlFactory->create(); + $curl->setConfig( + [ + 'timeout' => 2, + 'maxredirects' => 5, + 'useragent' => sprintf( + 'Olegnax: %s/%s (%s)', + $this->productMetadata->getName(), + $this->productMetadata->getVersion(), + $this->productMetadata->getEdition() + ), + 'referer' => $this->getSystemDefaultValue('web/unsecure/base_url'), + 'verifypeer' => 0, + 'verifyhost' => 0, + ] + ); + $curl->write(Zend_Http_Client::GET, $this->getModuleUrl()); + $data = $curl->read(); + $curl->close(); + + $data = preg_split('/^\r?$/m', $data, 2); + $data = trim($data[1]); + + return $data; + } + + public function getModuleUrl() + { + if ($this->_moduleUrl === null) { + $this->_moduleUrl = self::MODULE_URL . $this->getHash(); + } + return $this->_moduleUrl; + } + + public function getHash() + { + $args = ['hash' => base64_encode($this->getCurrentIp())]; + $args = array_filter($args); + $query = ''; + if (!empty($args)) { + $query = '?' . http_build_query($args); + } + + return $query; + } + + public function getCurrentIp() + { + $variable = [ + 'HTTP_X_REAL_IP', + 'HTTP_CLIENT_IP', + 'HTTP_X_FORWARDED_FOR' + ]; + $value = array_map([$this, 'getServer'], $variable); + $value = array_map('trim', $value); + $value[] = $this->getRemoteAddress(); + $value = array_filter($value); + $value = implode(',', $value); + + return $value; + } + + public function getRemoteAddress() + { + return $this->remoteAddress->getRemoteAddress(); + } + + public function getThemeInfo($themePath, $themeName = null, $onlyInstalled = true) + { + $data = $this->getTheme($themePath); + if ('' == $data['setup_version'] && $onlyInstalled) { + return []; + } + if (empty($themeName) && isset($data['name']) && !empty($data['name'])) { + $themeName = $data['name']; + } + $apiData = $this->getData(); + if (!empty($themeName) && array_key_exists($themeName, $apiData)) { + $data = array_replace($data, $apiData[$themeName]); + } + $data['server_version'] = isset($data['version']) ? $data['version'] : $data['setup_version']; + $data['update_status'] = version_compare( + $data['server_version'], + $data['setup_version'], + '>' + ); + + return $data; + } + + private function getTheme($themePath) + { + $theme = [ + 'path' => $themePath, + 'setup_version' => $this->getComposerVersion($themePath, ComponentRegistrar::THEME), + ]; + $name = $this->getThemeName($themePath); + if (!empty($name)) { + $theme['name'] = $name; + } + + return (array)$theme; + } + + protected function getThemeName($path) + { + $path = $this->componentRegistrar->getPath(ComponentRegistrar::THEME, $path); + if ($path) { + $dirReader = $this->readFactory->create($path); + if ($dirReader->isExist('theme.xml')) { + $data = $dirReader->readFile('theme.xml'); + if (preg_match('/<title>([^<>]+)<\/title>/i', $data, $matches)) { + return $matches[1]; + } + } + } + + return null; + } + + +} \ No newline at end of file diff --git a/composer.json b/composer.json index 48c8207..17ac707 100644 --- a/composer.json +++ b/composer.json @@ -1,13 +1,13 @@ { "name": "olegnax/module-core", "description": "Olegnax Core. Required by all Olegnax extensions and themes.", - "version": "1.0.11", + "version": "1.1.0.1", "type": "magento2-module", "license": [ "OSL-3.0" ], "require": { - "php": "~7.1.3||~7.2.0", + "php": "~7.1.3||~7.2.0||~7.3.0", "ext-simplexml": "*", "ext-json": "*", "magento/module-catalog": "^103.0.0", diff --git a/etc/adminhtml/menu.xml b/etc/adminhtml/menu.xml index 7d0d2f6..89f4132 100644 --- a/etc/adminhtml/menu.xml +++ b/etc/adminhtml/menu.xml @@ -5,7 +5,7 @@ <add id="Olegnax_Core::Olegnax_Core" title="Olegnax" module="Olegnax_Core" sortOrder="10" resource="Olegnax_Core::Olegnax_Core"/> <add id="Olegnax_Core::Modules_Update" action="olegnax/modules/update" module="Olegnax_Core" - parent="Olegnax_Core::Olegnax_Core" resource="Olegnax_Core::Modules_Update" sortOrder="9999" - title="Modules"/> + parent="Olegnax_Core::Olegnax_Core" resource="Olegnax_Core::Modules_Update" sortOrder="0" + title="Modules Info"/> </menu> </config> \ No newline at end of file diff --git a/etc/module.xml b/etc/module.xml index 77075a0..858a609 100644 --- a/etc/module.xml +++ b/etc/module.xml @@ -1,6 +1,6 @@ <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> - <module name="Olegnax_Core" setup_version="1.0.11"> + <module name="Olegnax_Core" setup_version="1.1.0.1"> <sequence> <module name="Magento_AdminNotification"/> <module name="Magento_Catalog"/> diff --git a/module-core.zip b/module-core.zip new file mode 100644 index 0000000000000000000000000000000000000000..62603e1f6896d41e07db0fd7047d7afd85fb69fa GIT binary patch literal 112065 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 literal 0 HcmV?d00001 diff --git a/view/adminhtml/templates/modules/update.phtml b/view/adminhtml/templates/modules/update.phtml index a030648..df80acf 100644 --- a/view/adminhtml/templates/modules/update.phtml +++ b/view/adminhtml/templates/modules/update.phtml @@ -9,85 +9,118 @@ use Olegnax\Core\Block\Adminhtml\Modules\Update; /** @var $block Update */ +$block->ForsedUpdate(); $modules = $block->getModuleVersions(); $themes = $block->getThemeVersions(); ?> -<div class="admin__page-section-item"> - <div class="admin__page-section-item-content"> - <table class="admin__table-secondary"> - <thead> - <tr> - <th><?php echo $block->escapeHtml(__('Name')); ?></th> - <th><?php echo $block->escapeHtml(__('Enabled')); ?></th> - <th><?php echo $block->escapeHtml(__('Current Version')); ?></th> - <th><?php echo $block->escapeHtml(__('Latest Version')); ?></th> - <th><?php echo $block->escapeHtml(__('Extension Link')); ?></th> - <th></th> - </tr> - </thead> - <tbody> - <?php foreach ($modules as $module) : ?> - <tr> - <td> - <span class="module-title"><?php echo $module['name'] ?></span> - <?php if ($module['theme_module']) : ?> - <span class="module-theme-info">(<?php echo __('Theme module'); ?>)</span> - <?php endif; ?> - </td> - <td><?php echo ($module['enabled']) ? __('Yes') : __('No') ?></td> - <td><?php echo $module['setup_version'] ?></td> - <td><?php echo $module['server_version'] ?></td> - <td> - <?php if (array_key_exists('url', $module)): ?> - <a target="_blank" href="<?php echo $module['url'] ?>"><?php echo __('Visit page'); ?></a> - <?php endif; ?> - </td> - <td> - <span class="rewrite-status rewrite-status-<?php echo ($module['update_status']) ? 'nok' : 'ok'; ?>"><?php echo ($module['update_status']) ? __('Update needed') : __('Up to Date'); ?></span> - </td> - </tr> - <?php endforeach; ?> - </tbody> - </table> +<div class="admin__page-section-item ox-admin__modules"> + <div class="admin__page-section-item-content ox-admin__row"> + <?php foreach ($modules as $module) : ?> + <?php if (is_array($module)): ?> + <div class="ox-admin__module us-<?php echo ($module['update_status']) ? 'nok' : 'ok'; ?>"> + <div class="ox-admin__module-wrapper"> + <?php if (array_key_exists('image', $module) && !empty($module['image'])): ?> + <div class="ox-admin__module-image"> + <img src="<?php echo $module['image'] ?>" /> + </div> + <?php endif; ?> + <div class="ox-admin__status-wrapper"> + <span class="ox-module-status ox-module-status-<?php echo ($module['update_status']) ? 'nok' : 'ok'; ?>"><?php echo ($module['update_status']) ? __('Update Required') : __('Up to Date'); ?></span> + <?php if (array_key_exists('pro', $module)): ?> + <a target="_blank" class="ox-pro-version" href="<?php echo $module['pro'] ?>"><?php echo __('Get Pro'); ?></a> + <?php endif; ?> + </div> + <div class="ox-admin__module-title-wrapper"> + <a target="_blank" href="<?= array_key_exists('url', $module) ?: '#'; ?>"> + <span class="ox-module-title"><?php if (array_key_exists('title', $module)): echo $module['title']; else: echo $module['name']; endif; ?> + <?php if ($module['theme_module']) : ?> + <span class="ox-module-theme-info"><?php echo __('Theme module'); ?></span> + <?php endif; ?> + </span> + </a> + </div> + <div class="ox-admin__module-info"> + <table> + <tr> + <td><?php echo $block->escapeHtml(__('Installed Version')); ?></td> + <td><?php echo $module['setup_version'] ?></td> + </tr> + <tr> + <td><?php echo $block->escapeHtml(__('Latest Version')); ?></td> + <td><span class="ox-server-version"><?php echo $module['server_version'] ?></span></td> + </tr> + <tr> + <td><?php echo $block->escapeHtml(__('Status')); ?></td> + <td><?php echo ($module['enabled']) ? __('Enabled') : __('Disabled') ?></td> + </tr> + <tr> + <td colspan="2"><span class="ox-module-full-name"><?php echo $module['name'] ?></span></td> + </tr> + </table> + </div> + <div class="ox-admin__modules-bottom"> + <?php if (array_key_exists('docs', $module)): ?> + <a target="_blank" href="<?php echo $module['docs'] ?>"><span class="icon-docs"></span><?php echo __('Docs'); ?></a> + <?php endif; ?> + <?php if (array_key_exists('url_changelog', $module)): ?> + <a target="_blank" class="changelog-link" href="<?php echo $module['url_changelog'] ?>"><?php echo __('Changelog'); ?></a> + <?php endif; ?> + + </div> + </div> + </div> + <?php endif; ?> + <?php endforeach; ?> </div> </div> <?php if (count($themes)) : ?> - <hr/><br/> - <div class="admin__page-section-item"> + <div class="admin__page-section-item ox-admin__modules"> <div class="admin__page-section-item-title"> <h1 class="page-title"><?php echo $block->escapeHtml(__('Themes')); ?></h1> </div> - <div class="admin__page-section-item-content"> - <table class="admin__table-secondary"> - <thead> - <tr> - <th><?php echo $block->escapeHtml(__('Name')); ?></th> - <th><?php echo $block->escapeHtml(__('Current Version')); ?></th> - <th><?php echo $block->escapeHtml(__('Latest Version')); ?></th> - <th><?php echo $block->escapeHtml(__('Theme Link')); ?></th> - <th></th> - </tr> - </thead> - <tbody> - <?php foreach ($themes as $theme) : ?> - <tr> - <td><span class="module-title"><?php echo $theme['name'] ?></span></td> - <td><?php echo $theme['setup_version'] ?></td> - <td><?php echo $theme['server_version'] ?></td> - <td> - <?php if (array_key_exists('url', $theme)): ?> - <a target="_blank" - href="<?php echo $theme['url'] ?>"><?php echo __('Visit page'); ?></a> - <?php endif; ?> - </td> - <td> - <span class="rewrite-status rewrite-status-<?php echo ($theme['update_status']) ? 'nok' : 'ok'; ?>"><?php echo ($theme['update_status']) ? __('Update needed') : __('Up to Date'); ?></span> - </td> - - </tr> - <?php endforeach; ?> - </tbody> - </table> + <div class="admin__page-section-item-content ox-admin__row"> + <?php foreach ($themes as $theme) : ?> + <div class="ox-admin__theme us-<?php echo ($theme['update_status']) ? 'nok' : 'ok'; ?>"> + <div class="ox-admin__theme-wrapper"> + <div class="ox-admin__theme-image"> + <?php if (array_key_exists('image', $theme) && !empty($theme['image'])): ?> + <img src="<?php echo $theme['image'] ?>"/> + <?php endif; ?> + </div> + <div class="ox-admin__theme-content"> + <div class="ox-admin__status-wrapper"> + <span class="ox-module-status ox-module-status-<?php echo ($theme['update_status']) ? 'nok' : 'ok'; ?>"><?php echo ($theme['update_status']) ? __('Update Required') : __('Up to Date'); ?></span> + </div> + <div class="ox-admin__module-title-wrapper"> + <a target="_blank" href="<?= array_key_exists('url', $theme) ?: '#'; ?>"> + <span class="ox-module-title"><?php if (array_key_exists('title', $theme)): echo $theme['title']; else: echo $theme['name']; endif; ?></span> + </a> + </div> + <div class="ox-admin__module-info"> + <table> + <tr> + <td><?php echo $block->escapeHtml(__('Installed Version')); ?></td> + <td><?php echo $theme['setup_version'] ?></td> + </tr> + <tr> + <td><?php echo $block->escapeHtml(__('Latest Version')); ?></td> + <td><span class="ox-server-version"><?php echo $theme['server_version'] ?></span></td> + </tr> + </table> + </div> + <div class="ox-admin__modules-bottom"> + <span class="icon-docs"></span> + <?php if (array_key_exists('docs', $theme)): ?> + <a target="_blank" href="<?php echo $theme['docs'] ?>"><?php echo __('Docs'); ?></a> + <?php endif; ?> + <?php if (array_key_exists('url_changelog', $theme)): ?> + <a target="_blank" class="changelog-link" href="<?php echo $theme['url_changelog'] ?>"><?php echo __('Changelog'); ?></a> + <?php endif; ?> + </div> + </div> + </div> + </div> + <?php endforeach; ?> </div> </div> -<?php endif; ?> +<?php endif; ?> \ No newline at end of file diff --git a/view/adminhtml/web/css/source/_info-block.less b/view/adminhtml/web/css/source/_info-block.less new file mode 100644 index 0000000..c6c5ac7 --- /dev/null +++ b/view/adminhtml/web/css/source/_info-block.less @@ -0,0 +1,264 @@ +/** + * Olegnax + * + * NOTICE OF LICENSE + * + * This source file is subject to the Olegnax.com license that is + * available through the world-wide-web at this URL: + * https://www.olegnax.com/license + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade this extension to newer + * version in the future. + * + * @category Olegnax + * @package Olegnax_Athlete2 + * @copyright Copyright (c) 2010-2019 Olegnax (http://www.olegnax.com/) + * @license https://www.olegnax.com/license + */ + +@athlete2__icon--support-tiny: '@{baseDir}Olegnax_Core/images/support-icon-tiny.png'; +@athlete2__icon--docs-tiny: '@{baseDir}Olegnax_Core/images/docs-icon-tiny.png'; +@ox-logo: '@{baseDir}Olegnax_Core/images/ox.png'; + +/* ------------------------------- + + Module Info block above settings + +------------------------------- */ + +.ox-info-block{ + padding-left: 108px; + position:relative; + box-shadow: 1px 4px 27px rgba(210, 225, 240, 0.54); + padding: 20px 30px; + display: flex; + flex-wrap:wrap; + min-height: 40px; + align-items: center; + margin-bottom: 30px; + padding-left:108px; + a{ + border-bottom:1px solid; + text-decoration: none; + } + .ox-info-block__right{ + width:100%; + display: flex; + align-items: center; + margin-top: 15px; + } + .ox-info-block__docs{ + &:before{ + content:''; + display: inline-block; + width:31px; + height:28px; + margin-right:15px; + background-image: url(@athlete2__icon--docs-tiny); + background-position: center; + background-repeat: no-repeat; + vertical-align: middle; + } + a{ + font-weight: 600; + color:#1f1e32; + border-color:transparent; + transition:all 0.2s ease; + &:hover{ + border-color:black; + } + } + } + .ox-info-block__support{ + &:before{ + content: ''; + width: 1px; + height: 20px; + background: #e4e4e4; + display: inline-block; + position: relative; + margin-left: 25px; + vertical-align: middle; + margin-right: 25px; + top: -10px; + } + .label{ + font-weight: 600; + color:#1f1e32; + display:block; + width: 100%; + padding: 0; + float: none; + text-align: left; + } + a{ + font-weight:600; + font-size: 13px; + color:#1f1e32; + position: relative; + top: -3px; + transition:all 0.2s ease; + &:hover{ + border-color:transparent; + } + } + .ox-wrapper{ + display: inline-block; + padding-left: 43px; + position: relative; + &:before{ + content:''; + display: inline-block; + width:29px; + height:26px; + margin-right:15px; + background-position: center; + background-repeat: no-repeat; + background-image: url(@athlete2__icon--support-tiny); + position: absolute; + left: 0; + top: 4px; + } + } + &.ox-support-expired{ + .label{ + color: #b4b4b4; + } + } + &.ox-support-active{ + a{ + &:after{ + content: ''; + width: 10px; + height: 10px; + background: #95d033; + display: inline-block; + border-radius: 6px; + position: relative; + margin-left: 5px; + } + } + } + } + .ox-info-block__logo{ + line-height: 0; + display: block; + border: none; + text-decoration: none; + background: #2b292a; + width:78px; + position: absolute; + top:0; + bottom:0; + left:0; + &:before{ + content:''; + display: block; + width:49px; + height:33px; + background-position: center; + background-repeat: no-repeat; + background-image: url(@ox-logo); + position: absolute; + top: 50%; + margin-top: -16px; + left: 50%; + margin-left: -25px; + } + } + .ox-info-block__title{ + font-weight: 800; + color:#1f1e32; + font-size:16px; + &:after{ + content: ''; + width: 1px; + height: 20px; + background: #e4e4e4; + display: inline-block; + position: relative; + margin-left: 25px; + vertical-align: middle; + margin-right: 25px; + } + } + .ox-info-block__dev{ + font-size: 13px; + font-weight: 600; + line-height: 1.2; + margin-right: 25px; + } + .ox-info-block__version{ + margin-right:25px; + a{ + transition:all 0.2s ease; + margin-left: 12px; + color:#494949; + border-bottom:1px solid; + text-decoration: none; + font-weight: 600; + &:hover{ + border-color:transparent; + } + } + .ox-module-version{ + color: #41362f; + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: 400; + line-height: 1.36; + font-size: 1.4rem; + } + .ox-modules-expired, + .ox-module-expired, + .ox-module-version, + .ox-theme-version{ + &:before{ + content: ''; + width: 10px; + height: 10px; + background: #95d033; + display: inline-block; + border-radius: 6px; + position: relative; + margin-right: 10px; + } + } + .ox-modules-expired, + .ox-module-expired{ + &:before{ + background: #e35000; + } + } + .ox-modules-expired{ + a{ + margin-left: 0; + } + } + &.expired{ + .ox-module-version, + .ox-theme-version{ + &:before{ + background: #e35000; + } + } + .ox-server-version{ + font-weight: 700; + color:#e35000; + margin-left: 10px; + } + } + } +} + + @media (min-width: 1380px){ + .ox-info-block{ + .ox-info-block__right{ + width:auto; + margin-left: auto; + margin-top: 0; + } + } + } \ No newline at end of file diff --git a/view/adminhtml/web/css/source/_module.less b/view/adminhtml/web/css/source/_module.less index b3ffb6c..8841508 100644 --- a/view/adminhtml/web/css/source/_module.less +++ b/view/adminhtml/web/css/source/_module.less @@ -17,7 +17,40 @@ * @copyright Copyright (c) 2010-2019 Olegnax (http://olegnax.com/) * @license https://olegnax.com/license */ + @import '_icons.less'; +@import '_info-block.less'; + +.item-olegnax-core{ + .submenu{ + .level-1 > a{ + color: #a79d95; + display: block; + font-size: 1.6rem; + font-weight: 600; + margin-bottom: .7rem; + padding: 1.25rem 1.5rem; + } + .item-modules-update { + margin-bottom: 1.5rem; + padding-bottom: 2rem!important; + border-bottom: 1px solid rgba(167, 157, 149, 0.3); + a{ + &:before{ + content: ''; + background: url('@{baseDir}Olegnax_Core/images/info.png'); + width: 16px; + height: 16px; + background-size:16px 16px; + background-position: center; + display: inline-block; + margin-right: 10px; + margin-bottom: -2px; + } + } + } + } +} .admin__menu .item-olegnax-core.parent.level-0 > a:before { content: @icon-olegnax__content; @@ -27,4 +60,280 @@ margin: 2.2rem 0 1.2rem; border: 0; border-bottom: 1px solid #cccccc; -} \ No newline at end of file +} +.ox-admin__table-wrapper{ + box-shadow: 1px 10px 40px rgba(210,225,240,.52); + background: #fff; + padding: 30px; + +} +.ox-admin__modules{ + .admin__page-section-item-content{ + margin-bottom: 60px; + } + .admin__table-secondary { + th, + td{ + padding: 1.5rem; + text-align: center; + &:first-child{ + text-align: left; + font-weight: 700; + } + } + tbody tr:nth-child(odd){ + th, + td{ + background-color: #f6f9fc; + } + } + } + .ox-module-status{ + display: inline-block; + padding: 6px 15px; + border-radius: 14px; + font-size: 12px; + font-weight: 600; + line-height: 1; + margin-right: 5px; + margin-bottom: 8px; + } + .ox-module-status-ok{ + background: #91cf24; + color: #fff; + box-shadow: 0 9px 16px -6px rgba(145, 207, 35, 0.84); + } + .ox-module-status-nok{ + background: #e34426; + color: #fff; + box-shadow: 0 9px 16px -6px rgba(227, 38, 38, 0.47); + } + .ox-admin__theme, + .ox-admin__module{ + &.us-nok{ + .ox-admin__module-info{ + .server-version{ + font-weight: bold; + color:red; + } + } + } + } + .ox-admin__row{ + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -15px; + margin-left: -15px; + } + .ox-admin__module{ + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; + margin-bottom: 30px; + &:hover{ + .ox-admin__module-wrapper { + box-shadow: 1px 4px 10px rgba(210, 225, 240, 0.69); + transform: translateY(3px); + } + } + } + .ox-admin__module-wrapper{ + transition: all 300ms ease; + height: 100%; + padding:20px 0; + box-shadow: 1px 10px 40px rgba(210,225,240,.52); + background: #fff; + > div{ + padding-left:20px; + padding-right:20px; + } + } + .ox-module-full-name{ + word-break: break-all; + } + .ox-admin__theme{ + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + position: relative; + width: 100%; + padding-right: 15px; + padding-left: 15px; + &:hover{ + .ox-admin__theme-wrapper { + box-shadow: 1px 4px 10px rgba(210, 225, 240, 0.69); + transform: translateY(3px); + } + } + } + .ox-admin__theme-content{ + display: flex; + flex-direction: column; + justify-content: center; + } + .ox-admin__theme-wrapper{ + transition: all 300ms ease; + width: 100%; + display: flex; + height:100%; + box-shadow: 1px 10px 40px rgba(210,225,240,.52); + background: #fff; + .ox-admin__theme-content{ + padding: 35px; + } + } + .ox-admin__module-image, + .ox-admin__theme-image{ + background: #f6f9fc; + img{ + width:100%; + height:auto; + } + } + .ox-admin__status-wrapper{ + margin-bottom:8px; + .ox-pro-version{ + text-decoration: none; + background: #d878dd; + color: #fff; + display: inline-block; + padding: 6px 15px; + border-radius: 14px; + font-size: 12px; + font-weight: 600; + line-height: 1; + margin-bottom: 8px; + box-shadow: 0 9px 16px -6px rgb(216, 120, 221); + &:before{ + content:''; + display:inline-block; + width: 10px; + height: 10px; + margin-right: 6px; + background-image: url(data:image/svg+xml;base64,PHN2ZyBpZD0iQm9sZCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0id2hpdGUiIGQ9Im01LjU3NCAxNS4zNjItMS4yNjcgNy43NjdjLS4xMDEuNjE3LjU1OCAxLjA4IDEuMTAzLjc3N2w2LjU5LTMuNjQyIDYuNTkgMy42NDNjLjU0LjMgMS4yMDUtLjE1NCAxLjEwMy0uNzc3bC0xLjI2Ny03Ljc2NyA1LjM2LTUuNDk0Yy40MjUtLjQzNS4xODEtMS4xNzMtLjQyMy0xLjI2NWwtNy4zNzgtMS4xMjctMy4zMDctNy4wNDRjLS4yNDctLjUyNi0xLjExLS41MjYtMS4zNTcgMGwtMy4zMDYgNy4wNDMtNy4zNzggMS4xMjdjLS42MDYuMDkzLS44NDguODMtLjQyMyAxLjI2NXoiLz48L3N2Zz4=); + background-position: center; + background-repeat: no-repeat; + background-size: 10px 10px; + } + } + } + .ox-admin__module-title-wrapper{ + margin-bottom: 20px; + a{ + text-decoration: none; + } + .ox-module-title{ + color: black; + font-size:16px; + font-weight: 700; + } + .ox-module-theme-info{ + font-size: 13px; + display: block; + font-weight: 600; + } + } + .ox-admin__theme-wrapper{ + .ox-admin__module-title-wrapper{ + .ox-module-title{ + font-size:24px; + } + } + .ox-admin__module-info { + padding: 20px; + } + } + .ox-admin__module-info { + background:#f6f9fc; + padding: 20px 0; + table{ + width: 100%; + line-height: 1.8; + th, + td{ + text-align: right; + &:first-child{ + text-align: left; + } + } + } + } + .ox-admin__modules-bottom{ + margin-top: 25px; + display:flex; + flex-wrap:wrap; + .icon-docs{ + display:inline-block; + width:18px; + height:22px; + margin-right:10px; + background-image: url(data:image/svg+xml;base64,PHN2ZyBpZD0iQ2FwYV8xIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHdpZHRoPSI1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGc+PHBhdGggZD0ibTM1Ny4xMDUgMGgtMzEyLjA2OXY1MTJoNDIxLjkyOHYtNDAyLjMzM3ptOC43OTUgNTEuMTY4IDQ5LjgwNiA0OS43MmgtNDkuODA2em0tMjkwLjg2NCA0MzAuODMydi00NTJoMjYwLjg2NHYxMDAuODg4aDEwMS4wNjN2MzUxLjExMnoiLz48cGF0aCBkPSJtMTQ2LjA4OCAxNjAuOTM2aDIxOS44MjR2MzBoLTIxOS44MjR6Ii8+PHBhdGggZD0ibTE0Ni4wODggMjIwLjk4NGgyMTkuODI0djMwaC0yMTkuODI0eiIvPjxwYXRoIGQ9Im0xNDYuMDg4IDI4MS4wMzJoMjE5LjgyNHYzMGgtMjE5LjgyNHoiLz48cGF0aCBkPSJtMTQ2LjA4OCAzNDEuMDhoMjE5LjgyNHYzMGgtMjE5LjgyNHoiLz48L2c+PC9zdmc+); + background-position: center; + background-repeat: no-repeat; + background-size: 18px 22px; + } + a{ + color: black; + text-decoration: none; + line-height: 23px; + font-weight: 600; + display: flex; + } + .changelog-link{ + margin-left: 20px; + &:before{ + content: ''; + display: inline-block; + margin-right: 20px; + width: 1px; + height: 10px; + background: black; + position: relative; + top: 7px; + } + } + + } +} + + @media (min-width: 640px){ + .ox-admin__modules { + .ox-admin__module-wrapper{ + padding:30px 0; + > div{ + padding-left:30px; + padding-right:30px; + } + } + .ox-admin__module{ + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + } + } + @media (min-width: 1025px){ + .ox-admin__modules .ox-admin__module{ + width: 340px; + -ms-flex: 0 0 340px; + flex: 0 0 340px; + max-width: 340px; + } + } + @media (min-width: 1025px){ + .ox-admin__modules .ox-admin__theme{ + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + .ox-admin__theme-image, + .ox-admin__theme-content{ + -ms-flex: 0 0 50%; + flex: 0 0 50%; + max-width: 50%; + } + } + } diff --git a/view/adminhtml/web/images/docs-icon-tiny.png b/view/adminhtml/web/images/docs-icon-tiny.png new file mode 100644 index 0000000000000000000000000000000000000000..464cddc7c144b477643971ad2a3e2f17c0e4353c GIT binary patch literal 1247 zcmV<51R(o~P)<h;3K|Lk000e1NJLTq0018V000~a1^@s6nL1>b0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU$fk{L`RCwB)ms^M&MHGg+dv3eqC}uT; zWN|f!V9-PbA5;`2;0^Ub&4VT{2Cpb<z@S3%CJ0`@3m8EOg3A)b2T{SG28EyoZ@IXR zvPcwNg2Yv0vct|~c6z4${^a!1Q`^(CY{Ac|sy<c!Ij5>lRr_OOV_vh_^i(>Xj<=Xn zuh)~!Ac~?<<XxZuqD4&cv+w)c^WG9lrBX>6a3gpb?7)ax3b}8HOnMM+MC6u4t}-|{ z=t1VSTCLSIe`&YdqXPp2nPVXJ8jXgR%jH6vH@W1?z$LMTDW#>5ff;MB$>;NHkYTY{ z)Uw@6{b|Sh2W;GPU>pN?$!m>ClCQ?HPmn7>JH>#=2Au#;g1gbb85F5krH@BHA>VYy z9w9<cAa4a{qrWTuaEe@36SfT~mB1AsOe1Gt0X$0m9fcab^|WuHzR|)eqdVrQ#s@%i z?&MoUWIj^p<GDqCF?b29uR`u;4S&m8H}tkK!Dc3WJ`BVCg#Aj9&>zvhl=?#!xtOGi z&OV$Q4}##Zk)QUQj#spQz-M4(sZ`3`G!S%b%^OTQA3YJ#-i`duypPHM1j{k*3*-jl zIZaOIh;0Ui=waJ*k0@Nu#?kj<=#N={&~?~@Kw-Uy>I<?lam4Nf2W%<2j-fo4;(%?Y zwvk>B%8v3WFKol4Wh0-tK0r=@lcu9FlNdF}w`-{Xp+rV~PWI+?Rue@T>L2i!>zPfY zR9H7dQ;xAe&Du^Q&!l~>IitwtA=NnLgdFwD(P`wJlq!o>fzOr5Qat}1+-6~2P~-@c z-hq5O-k$<}E&2*JPIESC-{*Q>v<-5D4Rp!pY_sK^ei3&dxd{0#&DW{FMP2KCKk`AO z`k$iz8{}VL+9j8T3fB%>bGOK_Eq0!hMd3SxvF{`I@_nlrbQxk6{9yZFl5aoGZ#XCH zTIUA%)YjiE%5EW(CKJ#hTgz`{ur3WbWKI<<G9{Bm@!1jex;$sI<VHqDW-MI}IlEfR za6}t!YHCVJCEjIUGRNaouLIB0J{GTkuR<bQNRCy_a=Cm#p-|Y9HkgV3<|<u>UdVBo zzo{rY4Y3o8x*5B|4xt_f^`W7mNhVmH^jzOCYO+?V%`wK0$4SOfP|=kchqW(x(nIP+ z+lg0O;)#-n7@}Foo5^wVl9cPF;4Xs}L$3MT)oRt7n3y=8aj|%IL!Hc8R~g09G&0@> zU13)S(!=263}bc9_ZsQ7K-cMcy_A`Im7SibpXUWTi-)k-PqA25R?y#q9JUnvAvkD9 z)YT7d%y2L7V{&~wZtMKDd6+i9NB;z2-)1+}xZPH%j@$WPVNUsJVULr*d*F8PYDU;) zX&VE6)sx6xtwFE%BKQ}KT9#W7&Ditvk-7jjQ$Htbli1A`Ka<KCy6T_Bxf;v3mik$4 zltlgpcoE`Fw)y&H2<bnA{)N={Sk$}>19U_y=pV3D>?I$NuW6l8816$VtJj0=K-cC< z<bPmmkJqmI4)_WKW?XWW?+yLRZb<hb*Xe4tSIyC-{&@T^zyQ{=8kne_azp?C002ov JPDHLkV1m`*VVeK| literal 0 HcmV?d00001 diff --git a/view/adminhtml/web/images/docs-icon.jpg b/view/adminhtml/web/images/docs-icon.jpg new file mode 100644 index 0000000000000000000000000000000000000000..36776019223a1275e9559da3802e3d26f271dc88 GIT binary patch literal 1700 zcmaJ=3rrJd9RIElTI&NV4{=Vt9T){^@2(Z-9n_|@MbXtkslqmwth85X@OsC!*g|UN z2AOkfm<kSunbRU;=)|bOiO$C|o%o2^48|9}qKk7**h758NOxsCG!cKvUB2)C{eQpz z<NJT%i{YCf!Q^*20m#iw0a7r6@Si|#tgx3=0tkqB^AZ5UH-%`a*UOS9>h>sY4yKq= z+8G-4+gKD=VkpSc`B|I2jPk<8REf*2MS2e&L133dixj4rF*9qRN?i-8II5s(vDIEx zW+xnoZXTTFC;c=_Q(hbFr<c1uq+g2+h?D#}Vnz{oz{OjpMf8!VaFIC=HZU9orzz7F zc3iE2GYBP~Mrc%XQ(+Z`r=u8w;&T-kPGSU!;qV|3J{sq6k``mmU@U&8MFxxV`Fu*B zTFG!FC{7Rrim6bQO2K<5Je6**&988K5{DFwl*i7wSg(t5!x2SWF;n5yB7CO*mq4?_ zvM=q`bB<>7t6gb2(trV3kJmzt<oi-#kF}DePz&W@DmXjEyC+7-ENS2<o0s9N46}Tw zi+QDtm+_P`ENn1Dx|RXYE_AsajL(xiz%iT2T(`$-bK9w0qZZ*+lrEQpRAn3V85%vN zNmm<j+{8DX$R-RJk)hXM1{IDCagB_<f~MTwA+BSDi;v2Uj04T`k&P7RT0uE-IEID? z$|hZ-=0cc8)f?nGM$LuD8I_Cj$)J(TeeSY{O#B2zmcygVZ-$4Ta`O|<@uMB?0TTuW z7C4UbPY4QM0X0AXMZo_BLIM8?1w4d<5DP^-gkrHcDk@4WmPn*hi9{B`xM4uNzep&O z@W(Q#MEcyxu*<6#;iEt<1@YiDAtVO^IV6-r;bXu9fDnR4-ai0hi8N}=i>Ao&L;#}r z97NLSL1(@QkvK}iYsS1WNtJ=;t7GTJCycR`BbHF2-Rg)-OE1(E$zRZpP{WtOI3dJm zAd~|gSV_yD3C_1Kd4%sj@E)3a=its-qU-)%Os}mAZ0R@=*D-IQZ0U|YElBRS9iKKj zb5#=?fwcBOwKGF>e^Juy;54>iQeN?`=K4<4rVn>yFKFMju*L`o=cLqap~S+9lUDNf z9hENida`1E%c{;RTlaNrU^iRZTB~=DTeR;%X8m3w<*Ro(Ynn>l+|jcP*)BV44P9A# zOaraD#uk8&o1y7~yoaZ*>;7GN<ZyIJe|PkKbn@N94UcOtK!&G>zKgv}2Tl27*QIR8 zY$9Y2>NY-gX74%o`jpV)wzkHFu_;`6&ywU|f$QwOm?q1Edq=Y_QCa%MCoigG$Lo`K zZL?cDs}qxFtZi=jQawiYd(wrk6~*g4NexBMpuQi^&zQC4uPI}@j?bEL<A+xD@-wl? z@ne5!EAPaEXMFeOG+!lm5hl^O+V-=V#an~rV7w(})x#?Pgeq>slW+RF`U1kse+L3$ z`tygk+Ka{?`T4}sN6K?$Q!BgQzBtboRGKzV*r}QspH%TjS5skVP3V(f^WxTvo~%x9 zoN9@kd`ZGg@0AeSYx?hYOg8_s$+odi|5?!1aQvs;`D^2PXP-Vj?fu`Hx2~?|0_5uX zV2-#e;i_t8Z^HGSw^|cELOSXu)}JcepSkR|sdi@f8Uf+Vi>Z~TmVL2K@cpK~1~ycE lb9U<%R-#?EBESETF7Uy|NAIey`MLuwp=Z(iZs@|7{sY-rCHMdU literal 0 HcmV?d00001 diff --git a/view/adminhtml/web/images/info.png b/view/adminhtml/web/images/info.png new file mode 100644 index 0000000000000000000000000000000000000000..b867987f1f4f025c09a86a34032057962d235b89 GIT binary patch literal 460 zcmV;-0W<!IP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzZb?KzRCwByle<d;K@f*?hlK{j#wLXz zz9Kd%7TVaQvA0pX;4_UDcJ@}5KH?)0EEIzN0R};^uu*(83MwLsg;-dLm7d>(-^m&h zNCrM;cW-~Qd$TiM5Cjp|_Oh!3xCt17n3mt*5Hcgl)QP*_3j-jm$F0Grt?T=je4V4& zhe-l`*u<AOip#^8#A%2_RJ6h(yu&aYqiOgHfGvYv{SumC2JW0wA7KG{;S{=Iv+xVM znH5_+SFjGacZ6YrJZG&5E}#(xO_Y>)y+~ZnUSLb(aT6vqNtf8{6`dYh7$D*6N@fow zHU`dbxb`F;vj9Ju_>syjyj5VLXHDW&1Zb0g_4WRRgj5k=RzB}5A>USA&{KififUT9 z+3+dJ8<ntGPDN7g6*}QS;~lhTVdCcD2-@MwB16A=!06L6-|7IX##C`L)#8?53Tnz+ z-(D;WbDaM9FM!j|U8+uN=N9MPt(~_KUc38$1sDJlj$Mrpc+(jG0000<MNUMnLSTYy C(8gi_ literal 0 HcmV?d00001 diff --git a/view/adminhtml/web/images/ox.png b/view/adminhtml/web/images/ox.png new file mode 100644 index 0000000000000000000000000000000000000000..d5a01443ac47577c0a2705a84c2099ef436c74d0 GIT binary patch literal 920 zcmV;J184k+P)<h;3K|Lk000e1NJLTq001!n001Ef1^@s6a7sgm0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU#I!Q!9RCwC#m`i9BK@f&B*=Vv6B0dk2 zRoPXec+ra*1&O*oz=I%013nNTCodu*8x@UfB<7%a5N{GCil7HY@DP%q2P1l1U-*bo zS>pTs*fnc#{5#ZOQS{8tBm-tJ1s}cJUEN(Z(_K}&hH07wLtP%#b%)U;z(x=OX>bl4 zsc4L5jiK%Y94JN81{P|DZ-V881w&sF<Uk5610~d^sDF15-b5Fg7+8v<bB*;YN7_Mm z5Z*+D9UU$=s4WkI6KQHIMgJmddx`?!#Cfm}9LEvbiMEp*I7Z_wL2#l`-3PkF9h&IW zG|=N@fH8zy8SQb8etlf#44ODdf~O!yt@<ACA6L=IB_*I1bbyTcSH6N)uo;Z7nR^2K z04*StXCD<YPmzAJ8{6DE5C_lA{PGYi(9C~HMkx;G*=sM;{p^<$+d!Yj;4Jv5>F)*W z#2N>fVT$!Od#wTAnch)9oLB;K%)n0|0VXq@C>i-pI8w=U)DgPOjC%*>ioIroH%zAu zj2x^J#o!q;>^_+4pg$dSG5tH@{FhOmW#nTpfyTyyyJBp-+xzM?xLsV{n2QCck**~* zVtgie#f)tSVQ^Kvr8yn~j-wOTnK6evEShBVE@{SBi*x^geOCR|UL0_8A|x*JEDwuT zuz4SCbQ0pCTO_?Y;N-+4aY+r23-_}5VVhiVQ8;kLMGnzom$7-jNq7-cWOpfLDjAEu z86GPDt+8BQgWvSInCf}A5~VpxzJQFTWNFr{sY>oMAmo=5ec(3xUhQGc8uqzUGhPQ) zvhSzao2vp1o?nH-S=+(R^#@Sy;(Sh_glNeYF}{M5qID0NsJ~uBsI`8D*iw*Y2HgV@ z2mKg@OI}A6iOk-^jBRBFV~8%cHTKp^M9inKN`zYVl=o8@wW5qF7aBy_p-Pp-;(^>^ zMm_-(#a`n?&PY*~_pJc@r784sHvL&m!aB)}Qx9Uk&0Z=~zh}B<{Vc_+zzY|pxT=lj zY3B1%qc+c8n?xyY_~nFE5N@SvlwV%;<Su{>pwMRSF8V!k(B)oxNWb2V{$T!h8bzTo u^RIt|8$tLlcA&{_*ok2${#Pgd2rvN5?ZG8iHI*Fz0000<MNUMnLSTZwF`Tdf literal 0 HcmV?d00001 diff --git a/view/adminhtml/web/images/support-icon-tiny.png b/view/adminhtml/web/images/support-icon-tiny.png new file mode 100644 index 0000000000000000000000000000000000000000..e729bd1228ae3b9d9e35880aef7f1db158856b74 GIT binary patch literal 670 zcmV;P0%84$P)<h;3K|Lk000e1NJLTq0012T000^Y1^@s6OO{u+0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!KuJVFRCwCFmR*PqVHn3}#<VTlA{42O z;?|YiD78r`A4zf{Qc7thL<vQ?P_l(u?Q)?GCB+?gTXI2Zv%5uY3fb~`aeUke$8mQ3 zp8B5}dgq;a&nf@<HPg)V&hyUm{@-UNu2d>ffEL4L*aArurYf9=3u(Zh888T&;3$kh zneo$#+YSBjHYDjvSO+KIQWUO-umX04lxP7=!BbC+J+vq1UIU)N{E(zmI=ZUU1y}UY z36;_%8{0@)C{ygX)(iXKBs?&)z^uFnge3hfQ@HdIhTuAM!%t7_U!}71**U>=nB$qy zI2?pWuncy>4_{I%*8%8*4$oWKgl6j8rG<()0>i$NS<*9b3hu+G$3)9vbIzKYK509R z6s=RLnb~^mFNj?O>(wM&vhrVq<8a$E`8bu`Z<a7pm**{;Z`!M4o;tJcjidHuZ}A4c z=iFbVN{yy1Y@M2phhc-<K3&jzJCyW;^>0^qF~cm9saC^FYtosm)2ZHjNHH~4DlVwP zEjS00uB1Ek>Ds2i({NP-ts(=kRE8N)ITMe;nn@dxr;iTGSnuT6Y9@BB_TpZ+rt5t= z4wYRW*IIst*P7W2_^RuZa1XX;5;iNdF~o6cX0eO(TnTIcT(|Q63Q3w|zI7qaZA(e! z)AZkzYJJYaJQyo*VY89c)vK$mG!{#G48Fl0{cx4lW7w*(acI&n>Ms4-4n?Z#U+4zh z)#q-a75AFni!yozYvB$o2~C=`;fE(`;NvQBY5fsk0L-X-qz2w%<^TWy07*qoM6N<$ Eg5tP7{{R30 literal 0 HcmV?d00001 diff --git a/view/adminhtml/web/images/warning-icon.png b/view/adminhtml/web/images/warning-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d6bb05357eb7561dabceb1330c9fd3f2fa04ea GIT binary patch literal 1339 zcmeAS@N?(olHy`uVBq!ia0vp^azHG}!3HGNOy@~~I3=zTCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+nAI{vB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxOgGuk*h0bFQqR!T z(!$6@N5ROz&`jUJQs2--*TB%qz|zXVPyq^*fVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD<cE0=g99h1>$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;Np<V zf>iyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7I$DAddqG{Q6U zQu51-HNkp(eXTt6ic1pnl2bihY?Xkf=w)W6Sh*P+yP7*1I$M|-I~y9hT3T9|Svb0x zxL6t*xtf|dy1?|h<R_QrrskEv^rj&6y5Q6cN)EXNK$~4si!#enQ{0O3a}~hew#vlq z7Dt@sLG`BKc8e2Ez4}1M=z}5`DY9Wgz!U^x!jmqL15f;^dB7B31WekooSn}Y7#LT3 zx;TbZ+}bnE+T(D5NZaHYQ7qZfGS(V=e6N&VEa;fs@gSw#@t~{tToyrdc6Iluj}-Kd zdWwi1IqE9FBChUOqrlgdFi~kr)*t;p;`&P~znFbIaDCbHIrG+U->GOQd)&}Onb&K< ziqEOu!Bz}$2W(Gd_zGyR6O@jzuHU%a(AnF@{~>F|<Bt(n9`R@dOk?%7*~jb~*!5ZD z>C`)##j685-8CwnpGvKp@l)spSF{ZKc9At9E1ySLv!~5?l*(sUyfXShn{9Anr}Y8x z_P(kwzMI|Oe7R<D#9d}b@Wkm8LyCT%$-S;U@4*803qlTePTt{{xFl-ctj-s;B51vu zSdM}Ixk?}RJ;xZ;^-9e*9=xlYv@xvEe7(0|v(%%)Yh4R$SKJ7xD?ImD{-Y3gS)@IW z*1V8&6PFf0SJX`HPx*T!^TVlUlJgJNX@|W}Ij`_gb(-}jg#%qp9jwRSM3)PHZ_YRS zdgY^d_@(1BQ!hko<}rll+~5h+y7}mh_s;y3L_bXlK}B&hZM$x7^-lNo?h5zpdoq++ zxfYx~=FM|ts?!z4m|nH{tA!7k{Zl{n;B$BbBZHh{eRZtqizrZW=IQF^vd$@?2>?D= B(*pni literal 0 HcmV?d00001 diff --git a/view/frontend/web/images/placeholder.png b/view/frontend/web/images/placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..909c66db1740b7c1b41eb4db6c414a7ab5bb6a23 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcwN$DG5Lh8v~O;;{|;n Oi^0>?&t;ucLK6U5DhwL{ literal 0 HcmV?d00001 diff --git a/view/frontend/web/images/preloader-img.gif b/view/frontend/web/images/preloader-img.gif new file mode 100644 index 0000000000000000000000000000000000000000..4d5563c3f17c81a19e65186e89609be6377729bd GIT binary patch literal 747 zcmZ?wbhEHb)L~#|n8?Hc1pmPR$WZ*x?dKX2?CcoeYNTht%m@<t$->Iaz{H>fQV7z* zz{J(lzw-23{>5`Pph+`>rI}mmSrOWR8i1l8ZK&dGIK(+|i1XkO=f@!~ghN~uD9!|S z4^vA#!kOYYluO|dm&GBjfJ0mvhqxLJaZMcJKw(&L_TUI+6mg_rMiB=EGYceIdiui< o;lPW-d;uKd!Z^gmaEMFd5SPIrE)NvP=1!#WMDZ6=c!I>O0rkjQEdT%j literal 0 HcmV?d00001