Back to PhocacartReward class

Method checkReward

public
checkReward
(mixed $points, mixed $msgOn = 0)

Method checkReward - Source code

public function checkReward($points, $msgOn = 0)
{
    $app = Factory::getApplication();
    $paramsC = PhocacartUtils::getComponentParameters();
    $enable_rewards = $paramsC->get('enable_rewards', 1);
    $rewards = array();
    $rewards['usertotal'] = 0;
    $rewards['wantstouse'] = (int) $points;
    $rewards['used'] = false;
    // 1. ENABLE REWARDS
    if ($enable_rewards == 0) {
        if ($msgOn == 1) {
            $app->enqueueMessage(Text::_('COM_PHOCACART_REWARD_POINTS_DISABLED'), 'error');
        }
        return false;
    }
    // 2. USER
    $user = PhocacartUser::getUser();
    if ($user->id > 0) {
        $rewards['usertotal'] = $this->getTotalPointsByUserId($user->id);
    } else {
        if ($msgOn == 1) {
            $app->enqueueMessage(Text::_('COM_PHOCACART_USER_NOT_FOUND'), 'error');
        }
        return false;
    }
    // 3. TOTAL
    if ($rewards['usertotal'] == $rewards['wantstouse']) {
        $rewards['used'] = $rewards['wantstouse'];
    } else {
        if ($rewards['usertotal'] > $rewards['wantstouse']) {
            $rewards['used'] = $rewards['wantstouse'];
        } else {
            if ($rewards['usertotal'] < $rewards['wantstouse']) {
                $rewards['used'] = $rewards['usertotal'];
            }
        }
    }
    return $rewards['used'];
}