%PDF- %PDF-
| Direktori : /home/lightco1/www/feiss.com.au/libraries/nextend2/smartslider/smartslider/models/ |
| Current File : /home/lightco1/www/feiss.com.au/libraries/nextend2/smartslider/smartslider/models/License.php |
<?php
class N2SmartsliderLicenseModel {
private $key;
public function __construct() {
$this->key = N2Base::getApplication('smartslider')->storage->get('license', 'key');
}
public static function getInstance() {
static $ins;
if (!$ins) {
$ins = new N2SmartsliderLicenseModel();
}
return $ins;
}
public function hasKey() {
return !empty($this->key);
}
public function maybeActive() {
$lastActive = N2Base::getApplication('smartslider')->storage->get('license', 'isActive');
if ($lastActive && $lastActive > strtotime("-1 week")) {
return true;
}
return false;
}
public function getKey() {
return $this->key;
}
public function setKey($licenseKey) {
N2Base::getApplication('smartslider')->storage->set('license', 'key', $licenseKey);
$this->key = $licenseKey;
}
public function checkKey($license, $action = 'licensecheck') {
$result = N2SS3::api(array(
'action' => $action,
'license' => $license
));
if ($result === false) {
return 'CONNECTION_ERROR';
}
return $result['status'];
}
public function isActive($cacheAccepted = true) {
if ($cacheAccepted && $this->maybeActive()) {
return 'OK';
}
$status = $this->checkKey($this->key);
if ($this->hasKey() && $status == 'OK') {
N2Base::getApplication('smartslider')->storage->set('license', 'isActive', time());
return $status;
}
N2Base::getApplication('smartslider')->storage->set('license', 'isActive', 0);
return $status;
}
public function deAuthorize() {
if ($this->hasKey()) {
$status = $this->checkKey($this->key, 'licensedeauthorize');
if ($status == 'OK' || $status == 'LICENSE_EXPIRED' || $status == 'PLATFORM_NOT_ALLOWED') {
$this->setKey('');
N2Message::notice('Smart Slider deauthorized on this site!');
}
return $status;
}
return false;
}
}