first
This commit is contained in:
@ -0,0 +1,105 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Nextend\SmartSlider3\Application\Model;
|
||||
|
||||
|
||||
use Nextend\Framework\Model\StorageSectionManager;
|
||||
use Nextend\Framework\Notification\Notification;
|
||||
use Nextend\Framework\Pattern\SingletonTrait;
|
||||
use Nextend\SmartSlider3\SmartSlider3Info;
|
||||
|
||||
/**
|
||||
* Class ModelLicense
|
||||
*
|
||||
* @package Nextend\SmartSlider3\Application\Model
|
||||
*
|
||||
*/
|
||||
class ModelLicense {
|
||||
|
||||
use SingletonTrait;
|
||||
|
||||
private $key;
|
||||
|
||||
public function __construct() {
|
||||
if (defined('SMART_SLIDER_LICENSE')) {
|
||||
$this->key = SMART_SLIDER_LICENSE;
|
||||
} else {
|
||||
$this->key = StorageSectionManager::getStorage('smartslider')
|
||||
->get('license', 'key');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function hasKey() {
|
||||
return !empty($this->key);
|
||||
}
|
||||
|
||||
public function maybeActiveLazy() {
|
||||
$lastActive = StorageSectionManager::getStorage('smartslider')
|
||||
->get('license', 'isActive');
|
||||
|
||||
return $lastActive > 0;
|
||||
|
||||
}
|
||||
|
||||
public function maybeActive() {
|
||||
$lastActive = StorageSectionManager::getStorage('smartslider')
|
||||
->get('license', 'isActive');
|
||||
if ($lastActive && $lastActive > strtotime("-1 week")) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function getKey() {
|
||||
return $this->key;
|
||||
}
|
||||
|
||||
public function setKey($licenseKey) {
|
||||
StorageSectionManager::getStorage('smartslider')
|
||||
->set('license', 'key', $licenseKey);
|
||||
StorageSectionManager::getStorage('smartslider')
|
||||
->set('license', 'isActive', time());
|
||||
if ($licenseKey == '') {
|
||||
StorageSectionManager::getStorage('smartslider')
|
||||
->set('license', 'isActive', '0');
|
||||
}
|
||||
$this->key = $licenseKey;
|
||||
|
||||
}
|
||||
|
||||
public function checkKey($license, $action = 'licensecheck') {
|
||||
return 'OK';
|
||||
|
||||
}
|
||||
|
||||
public function isActive($cacheAccepted = true) {
|
||||
if ($cacheAccepted && $this->maybeActive()) {
|
||||
return 'OK';
|
||||
}
|
||||
$status = $this->checkKey($this->key);
|
||||
if ($this->hasKey() && $status == 'OK') {
|
||||
StorageSectionManager::getStorage('smartslider')
|
||||
->set('license', 'isActive', time());
|
||||
|
||||
return $status;
|
||||
}
|
||||
StorageSectionManager::getStorage('smartslider')
|
||||
->set('license', 'isActive', '0');
|
||||
|
||||
return $status;
|
||||
}
|
||||
|
||||
public function deAuthorize() {
|
||||
if ($this->hasKey()) {
|
||||
$this->setKey('');
|
||||
Notification::notice(n2_('Smart Slider 3 deactivated on this site!'));
|
||||
|
||||
return 'OK';
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user