1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

1.3.3 XenForo Api change password/email помогите

Тема в разделе "Интеграция XenForo с различными движками", создана пользователем Romzik, 30.07.2014.

Загрузка
  1. Romzik

    Romzik Новичок

    Регистрация:
    16.07.14
    Сообщения:
    1
    Симпатии:
    0
    Версия XF:
    1.3.3
    помогите с решением смены пароля/емайла через API
     
  2. FractalizeR

    FractalizeR XenForo Addicted

    Регистрация:
    27.09.10
    Сообщения:
    1 085
    Симпатии:
    832
    Версия XF:
    1.3.2
    Делается это примерно так:

    PHP:
    foreach ($vldUsers as $vldUser) {
        
    /** @var XenForo_DataWriter_User $writer */
        
    $writer XenForo_DataWriter::create('XenForo_DataWriter_User');
        
    // set all the values

        //Generating username
        
    $username $vldUser['username'];
        while (
    true) {
            
    $usernameExists $db->fetchOne("SELECT username FROM xf_user WHERE username=?"$username);
            if (!
    $usernameExists) {
                break;
            }
            
    $username $vldUser['username'] . randString(4"0123456789");
        }

        
    $writer->set('username'$username);
        
    $writer->set('email'$vldUser['email']);
        
    $newpassword randString(8);
        
    $writer->setPassword($newpassword$newpassword);
        
    $writer->set('user_group_id'$userGroupsMap[$vldUser['group_id']]);

        try {
            
    $writer->save();
        } catch (
    Exception $e) {
            echo(
    "Ошибка переноса аккаунта {$username}{$e->getMessage()}<br />\r\n");
            continue;
        } 
     

Поделиться этой страницей