Вход Регистрация
Файл: library/XenForo/CronEntry/UserGroupPromotion.php
Строк: 46
<?php

/**
 * Cron entry for executing user group promotions.
 */
class XenForo_CronEntry_UserGroupPromotion
{
    
/**
     * Runs the cron-based check for new promotions that users should be awarded.
     */
    
public static function runPromotions()
    {
        
/* @var $promotionModel XenForo_Model_UserGroupPromotion */
        
$promotionModel XenForo_Model::create('XenForo_Model_UserGroupPromotion');
        
$promotions $promotionModel->getPromotions(array(
            
'active' => 1
        
));
        if (!
$promotions)
        {
            return;
        }

        
/* @var $userModel XenForo_Model_User */
        
$userModel XenForo_Model::create('XenForo_Model_User');

        
$users $userModel->getUsers(array(
            
'user_state' => 'valid',
            
'is_banned' => 0,
            
'last_activity' => array('>'XenForo_Application::$time 3600)
        ), array(
            
'join' => XenForo_Model_User::FETCH_USER_FULL
        
));

        
$userPromotionStates $promotionModel->getPromotionStatesByUserIds(array_keys($users));

        foreach (
$users AS $userId => $user)
        {
            
$promotionModel->updatePromotionsForUser(
                
$user,
                isset(
$userPromotionStates[$userId]) ? $userPromotionStates[$userId] : array(),
                
$promotions
            
);
        }
    }
}
Онлайн: 0
Реклама