143 lines
5.6 KiB
PHP
Executable File
143 lines
5.6 KiB
PHP
Executable File
<?php
|
|
|
|
|
|
namespace Olegnax\Athlete2\Block\Adminhtml;
|
|
|
|
|
|
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\Athlete2\Helper\Helper;
|
|
use Olegnax\Core\Helper\ModuleInfo;
|
|
|
|
class Info extends Fieldset
|
|
{
|
|
/**
|
|
* @var Helper
|
|
*/
|
|
protected $_helper;
|
|
/**
|
|
* @var ModuleInfo
|
|
*/
|
|
private $_moduleInfo;
|
|
|
|
public function __construct(
|
|
Context $context,
|
|
Session $authSession,
|
|
Js $jsHelper,
|
|
ModuleInfo $moduleInfo,
|
|
Helper $helper,
|
|
array $data = []
|
|
) {
|
|
$this->_moduleInfo = $moduleInfo;
|
|
$this->_helper = $helper;
|
|
parent::__construct($context, $authSession, $jsHelper, $data);
|
|
}
|
|
|
|
public function checkModulesVersion( $moduleName ) {
|
|
$index = 0;
|
|
if ( !empty( $moduleName ) && is_array( $moduleName ) ){
|
|
foreach ( $moduleName as $name ) {
|
|
$module = $this->_moduleInfo->getModuleInfo( 'Olegnax_' . $name );
|
|
if (empty($module)) {
|
|
$module = [
|
|
'update_status' => false,
|
|
'setup_version' => ''
|
|
];
|
|
}
|
|
if ( $module[ 'update_status' ] )
|
|
$index++;
|
|
}
|
|
}
|
|
return $index;
|
|
}
|
|
/**
|
|
* Retrieve HTML markup for given form element
|
|
*
|
|
* @param AbstractElement $element
|
|
* @return string
|
|
*/
|
|
public function render(AbstractElement $element)
|
|
{
|
|
$modulesList= array('Athlete2','Quickview','MegaMenu','ProductLabel','BrandSlider','BannerSlider','Athlete2Slideshow','ProductSlider','ProductReviewsSummary','Core');
|
|
$license = $this->_helper->get();
|
|
$code = $this->_helper->getSystemDefaultValue('athlete2_license/general/code');
|
|
$status = !empty($license)
|
|
&& isset($license->data->the_key)
|
|
&& $license->data->the_key == $code
|
|
&& $license->data->status == "active";
|
|
$devLicense = $status && isset($license->notices->develop);
|
|
$supportExpired = $status && $license->data->has_expired;
|
|
|
|
$notice = [];
|
|
$notice[] = '<a href="https://olegnax.com/" target="_blank" class="ox-info-block__logo"></a>';
|
|
$notice[] = '<div class="ox-info-block__title">' . __('Athlete2') . '</div>';
|
|
if ($devLicense) {
|
|
$notice[] = '<div class="ox-info-block__dev">' . __('Dev License Activated. <br>Do not use on live store.') . '</div>';
|
|
}
|
|
if ($status) {
|
|
$module = $this->_moduleInfo->getModuleInfo($this->getModuleName());
|
|
$theme = $this->_moduleInfo->getThemeInfo('frontend/Olegnax/athlete2', 'Athlete2');
|
|
if (empty($theme)) {
|
|
$theme = $this->_moduleInfo->getThemeInfo('frontend/Olegnax/Athlete2', 'Athlete2');
|
|
}
|
|
if (empty($theme)) {
|
|
$theme = [
|
|
'update_status' => false,
|
|
'setup_version' => ''
|
|
];
|
|
}
|
|
$isExpired = '';
|
|
if($theme['update_status']){
|
|
$isExpired = ' expired';
|
|
}
|
|
$notice[] = '<div class="ox-info-block__version'. $isExpired .'">';
|
|
// Current Theme version
|
|
$notice[] = '<div class="ox-theme-version">Theme v' . $this->escapeHtml($theme['setup_version']);
|
|
// Check if Theme is expired
|
|
if ($theme['update_status']) {
|
|
$notice[] = '<span class="ox-server-version">v'.$this->escapeHtml($theme['server_version']).'</span><a href="' . $this->escapeUrl($theme['url_changelog']) . '">' . __("What's New") . '</a>';
|
|
}
|
|
$notice[] = '</div>';
|
|
// check if Athlete2 Module is expired
|
|
/* if ($module['update_status']) {
|
|
$notice[] = '<div class="module-expired">Athlete2 Module - v' . $this->escapeHtml($module['setup_version']) . '<span class="server-version">v'.$this->escapeHtml($module['server_version']).'</span>';
|
|
if (array_key_exists('url_changelog', $module)) {
|
|
$notice[] = '<a href="' . $this->escapeUrl($module['url_changelog']) . '">' . __("What's New") . '</a>';
|
|
}
|
|
$notice[] = '</div>';
|
|
}*/
|
|
// check if any of Olegnax Modules are expired
|
|
$expiredModules = $this->checkModulesVersion($modulesList);
|
|
if($expiredModules > 0){
|
|
$notice[] = '<div class="ox-modules-expired"><a href="'. $this->getUrl('olegnax/modules/update') .'">' . $expiredModules . ' of theme modules outdated.</a></div>';
|
|
}
|
|
//close ox-info-block__version
|
|
$notice[] = '</div>';
|
|
|
|
$notice[] = '<div class="ox-info-block__right">';
|
|
$notice[] = '<div class="ox-info-block__docs"><a href="https://athlete2.com/documentation/" target="_blank">' . __('User Guide') . '</a></div>';
|
|
|
|
$notice[] = '<div class="ox-info-block__support support-' . ($supportExpired ? 'expired' : 'active') . '"><div class="ox-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></div>';
|
|
} else {
|
|
$notice[] = '<strong style="color:#a4a4a4">Theme is not Activated.</strong>';
|
|
}
|
|
$html = sprintf(
|
|
('<div class="ox-info-block">%s</div>'),
|
|
implode('', $notice)
|
|
);
|
|
|
|
if ($element->getIsNested()) {
|
|
$html = '<tr class="nested"><td colspan="4">' . $html . '</td></tr>';
|
|
}
|
|
return $html;
|
|
}
|
|
} |