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

class XenForo_DataWriter_Helper_User
{
    public static function 
verifyUserId(&$user_idXenForo_DataWriter $dw$fieldName false)
    {
        
$db XenForo_Application::getDb();
        
$existing_user_id $db->fetchOne('
                SELECT user_id
                FROM xf_user
                WHERE user_id = ?
            '
$user_id);

        if (
$existing_user_id == $user_id)
        {
            return 
true;
        }

        
$dw->error(new XenForo_Phrase('requested_user_not_found'), $fieldName);
        return 
false;
    }

    public static function 
updateSecondaryUserGroupIds($userId$newGroupIds$oldGroupIds)
    {
        
$userDw XenForo_DataWriter::create('XenForo_DataWriter_User');
        
$userDw->setExistingData($userId);
        if (
$userDw->get('secondary_group_ids'))
        {
            
$existingGroups array_fill_keys(explode(','$userDw->get('secondary_group_ids')), true);
        }
        else
        {
            
$existingGroups = array();
        }

        if (
$oldGroupIds)
        {
            foreach(
explode(','$oldGroupIds) AS $groupId)
            {
                unset(
$existingGroups[$groupId]);
            }
        }

        if (
$newGroupIds)
        {
            foreach(
explode(','$newGroupIds) AS $groupId)
            {
                
$existingGroups[$groupId] = true;
            }
        }

        
$userDw->setSecondaryGroups(array_keys($existingGroups));
        
$userDw->save();

        return 
$userDw;
    }

    
/**
     * Verifies the extra user group IDs.
     *
     * @param array|string $userGroupIds Array or comma-delimited list
     *
     * @return boolean
     */
    
public static function verifyExtraUserGroupIds(&$userGroupIdsXenForo_DataWriter $dw$fieldName false)
    {
        if (!
is_array($userGroupIds))
        {
            if (
$userGroupIds === '')
            {
                return 
true;
            }
            
$userGroupIds preg_split('#,s*#'$userGroupIds);
        }

        if (!
$userGroupIds)
        {
            
$userGroupIds '';
            return 
true;
        }

        
$userGroupIds array_map('intval'$userGroupIds);
        
$userGroupIds array_unique($userGroupIds);
        
sort($userGroupIdsSORT_NUMERIC);
        
$userGroupIds implode(','$userGroupIds);

        return 
true;
    }
}
Онлайн: 1
Реклама