Вход Регистрация
Файл: plugins/user_credits/controllers/ajax.php
Строк: 97
<?php

class USERCREDITS_CTRL_Ajax extends PEEP_ActionController
{
    public function 
setCredits()
    {
        if ( !
PEEP::getRequest()->isAjax() )
        {
            throw new 
Redirect404Exception();
        }

        if ( !
PEEP::getUser()->isAuthorized('usercredits') )
        {
            throw new 
AuthenticateException();
        }
        
        
$form = new USERCREDITS_CLASS_SetCreditsForm();

        if ( 
$form->isValid($_POST) )
        {
            
$lang PEEP::getLanguage();
            
$creditService USERCREDITS_BOL_CreditsService::getInstance();

            
$values $form->getValues();
            
$userId = (int) $values['userId'];
            
$balance abs((int) $values['balance']);

            
$balanceValues $creditService->getBalanceForUserList(array($userId));
            
$oldBalance 0;
            
            if ( !empty(
$balanceValues[$userId]) )
            {
                
$oldBalance = (int)$balanceValues[$userId];
            }
            
            
$amount $balance $oldBalance;
            
            
$creditService->setBalance($userId$balance);

            
$data = array('amount' => $amount'balance' => $balance ,'userId' => $userId);
            
$event = new PEEP_Event('usercredits.set_by_moderator'$data);
            
PEEP::getEventManager()->trigger($event);

            
$balance $creditService->getCreditsBalance($userId);
            exit(
json_encode(array(
                
"message" => $lang->text('usercredits''credit_balance_updated'),
                
"credits" => $balance,
                
"text" => PEEP::getLanguage()->text('usercredits''profile_toolbar_item_credits', array('credits' => $balance))
            )));
        }
    }

    public function 
grantCredits()
    {
        if ( !
PEEP::getRequest()->isAjax() )
        {
            throw new 
Redirect404Exception();
        }

        if ( !
PEEP::getUser()->isAuthenticated() )
        {
            throw new 
AuthenticateException();
        }

        
$form = new USERCREDITS_CLASS_GrantCreditsForm();

        if ( 
$form->isValid($_POST) )
        {
            
$lang PEEP::getLanguage();
            
$creditService USERCREDITS_BOL_CreditsService::getInstance();

            
$grantorId PEEP::getUser()->getId();
            
$values $form->getValues();
            
$userId = (int) $values['userId'];
            
$amount abs((int) $values['amount']);

            
$granted $creditService->grantCredits($grantorId$userId$amount);
            
$credits $creditService->getCreditsBalance($grantorId);

            if ( 
$granted )
            {
                
$data = array('amount' => $amount'grantorId' => $grantorId'userId' => $userId);
                
$event = new PEEP_Event('usercredits.grant'$data);
                
PEEP::getEventManager()->trigger($event);

                
$data = array(
                    
'message' => $lang->text('usercredits''credits_granted', array('amount' => $amount)),
                    
'credits' => $credits
                
);

            }
            else
            {
                
$data = array('error' => $lang->text('usercredits''credits_grant_error'));
            }

            exit(
json_encode($data));
        }
    }
}
Онлайн: 2
Реклама