mirror of
https://github.com/slawkens/myaac.git
synced 2025-04-26 17:29:21 +02:00
Gratis premium account (#156)
* skip premdays and lastdays calculation when premdays = 65535 (gratis premium in TFS) * TFS consider 65535 as gratis premium account and PHP_INT_MAX does not assume this value * adds condition of premdays=65535 and standardize the label "gratis premium account" with tibia client * adjust the label "days" when there is only one day of premium account * adjusted premium account status * Some small adjustment * Sorry, typo. Co-authored-by: slawkens <slawkens@gmail.com> (cherry picked from commit 9d7854dda62468e420c26a6e531bacf47351f499)
This commit is contained in:
parent
9d8f398d9f
commit
ea035136e1
@ -42,6 +42,8 @@ class OTS_Account extends OTS_Row_DAO implements IteratorAggregate, Countable
|
|||||||
private $data = array('email' => '', 'blocked' => false, 'rlname' => '','location' => '', 'country' => '','web_flags' => 0, 'lastday' => 0, 'premdays' => 0, 'created' => 0);
|
private $data = array('email' => '', 'blocked' => false, 'rlname' => '','location' => '', 'country' => '','web_flags' => 0, 'lastday' => 0, 'premdays' => 0, 'created' => 0);
|
||||||
|
|
||||||
public static $cache = array();
|
public static $cache = array();
|
||||||
|
|
||||||
|
const GRATIS_PREMIUM_DAYS = 65535;
|
||||||
/**
|
/**
|
||||||
* Creates new account.
|
* Creates new account.
|
||||||
*
|
*
|
||||||
@ -382,6 +384,10 @@ class OTS_Account extends OTS_Row_DAO implements IteratorAggregate, Countable
|
|||||||
global $config;
|
global $config;
|
||||||
if(isset($config['lua']['freePremium']) && getBoolean($config['lua']['freePremium'])) return -1;
|
if(isset($config['lua']['freePremium']) && getBoolean($config['lua']['freePremium'])) return -1;
|
||||||
|
|
||||||
|
if($this->data['premdays'] == self::GRATIS_PREMIUM_DAYS){
|
||||||
|
return self::GRATIS_PREMIUM_DAYS;
|
||||||
|
}
|
||||||
|
|
||||||
$ret = ceil($this->data['premdays'] - (date("z", time()) + (365 * (date("Y", time()) - date("Y", $this->data['lastday']))) - date("z", $this->data['lastday'])));
|
$ret = ceil($this->data['premdays'] - (date("z", time()) + (365 * (date("Y", time()) - date("Y", $this->data['lastday']))) - date("z", $this->data['lastday'])));
|
||||||
return $ret > 0 ? $ret : 0;
|
return $ret > 0 ? $ret : 0;
|
||||||
}
|
}
|
||||||
|
@ -60,14 +60,15 @@ $errors = array();
|
|||||||
|
|
||||||
if($action == '')
|
if($action == '')
|
||||||
{
|
{
|
||||||
$freePremium = isset($config['lua']['freePremium']) && getBoolean($config['lua']['freePremium']);
|
$freePremium = isset($config['lua']['freePremium']) && getBoolean($config['lua']['freePremium']) || $account_logged->getPremDays() == OTS_Account::GRATIS_PREMIUM_DAYS;
|
||||||
|
$dayOrDays = $account_logged->getPremDays() == 1 ? 'day' : 'days';
|
||||||
/**
|
/**
|
||||||
* @var OTS_Account $account_logged
|
* @var OTS_Account $account_logged
|
||||||
*/
|
*/
|
||||||
if(!$account_logged->isPremium())
|
if(!$account_logged->isPremium())
|
||||||
$account_status = '<b><span style="color: red">Free Account</span></b>';
|
$account_status = '<b><span style="color: red">Free Account</span></b>';
|
||||||
else
|
else
|
||||||
$account_status = '<b><span style="color: green">Premium Account, ' . ($freePremium ? 'Unlimited' : $account_logged->getPremDays() . ' days left') . '</span></b>';
|
$account_status = '<b><span style="color: green">' . ($freePremium ? 'Gratis Premium Account' : 'Premium Account, ' . $account_logged->getPremDays() . ' '.$dayOrDays.' left') . '</span></b>';
|
||||||
|
|
||||||
$recovery_key = $account_logged->getCustomField('key');
|
$recovery_key = $account_logged->getCustomField('key');
|
||||||
if(empty($recovery_key))
|
if(empty($recovery_key))
|
||||||
|
@ -167,7 +167,7 @@ else if (isset($_REQUEST['search'])) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$lastDay = 0;
|
$lastDay = 0;
|
||||||
if ($p_days != 0 && $p_days != PHP_INT_MAX) {
|
if($p_days != 0 && $p_days != OTS_Account::GRATIS_PREMIUM_DAYS) {
|
||||||
$lastDay = time();
|
$lastDay = time();
|
||||||
} else if ($lastDay != 0) {
|
} else if ($lastDay != 0) {
|
||||||
$lastDay = 0;
|
$lastDay = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user