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

Загрузить аватарку через Datawriter API

Тема в разделе "Вопросы и ответы по XenForo Framework", создана пользователем gunpowder, 05.04.2015.

Загрузка
  1. gunpowder

    gunpowder Активный пользователь

    Регистрация:
    17.09.13
    Сообщения:
    116
    Симпатии:
    1
    Версия XF:
    1.2.1
    Можно ли как-нбудь через Datawriter API аву загрузить?
     
  2. Exile

    Exile Местный

    Регистрация:
    27.06.11
    Сообщения:
    997
    Симпатии:
    545
    Версия XF:
    1.4.4
    gunpowder, посмотрите как работает аналогичная функция в движке, самое простое. Датаврайтер обычный пользовательский, только там не создаете, а дописываете к существующим данным.
     
  3. FractalizeR

    FractalizeR XenForo Addicted

    Регистрация:
    27.09.10
    Сообщения:
    1 085
    Симпатии:
    832
    Версия XF:
    1.3.2
    Насколько я помню, аватар устанавливается не через DataWriter, а через Model:

    PHP:
            $avatar = new XenForo_Upload(basename($url), $response->getStreamName());

            
    /* @var $avatarModel XenForo_Model_Avatar */
            
    $avatarModel XenForo_Model::create('XenForo_Model_Avatar');

            try {
                
    $avatarModel->uploadAvatar($avatar$userIdfalse);
            } catch (
    Exception $e) {
                
    //Temporary disabled error on importing incorrect avatars
                // FH_Auth_Error::exception("Ошибка загрузки аватара для пользователя {$userId}. Ошибка: {$e->getMessage()}\r\n");
            
    }
     
  4. gunpowder

    gunpowder Активный пользователь

    Регистрация:
    17.09.13
    Сообщения:
    116
    Симпатии:
    1
    Версия XF:
    1.2.1
    Класс. Спасибо.

    Т.е. Изображение само потом подгонится ? Ресайз и размеры?

    а $response->getStreamName - это что?
     
    Последнее редактирование: 11.04.2015
  5. FractalizeR

    FractalizeR XenForo Addicted

    Регистрация:
    27.09.10
    Сообщения:
    1 085
    Симпатии:
    832
    Версия XF:
    1.3.2
    С изображением все произойдет так, как если бы вы его загрузили на форуме через управление аватаром. И три версии создадутся и все прочее.

    $response->getStreamName() - это имя файла с аватаром. Просто вместо этого подставьте, что вам там нужно.
     
  6. gunpowder

    gunpowder Активный пользователь

    Регистрация:
    17.09.13
    Сообщения:
    116
    Симпатии:
    1
    Версия XF:
    1.2.1
    спасибо все работает. а выгде этот код сами нашли
     
  7. FractalizeR

    FractalizeR XenForo Addicted

    Регистрация:
    27.09.10
    Сообщения:
    1 085
    Симпатии:
    832
    Версия XF:
    1.3.2
    Я его написал, используя в качестве основы исходники движка. XenForo ведь позволяет аватар у пользователя сменить, верно? ;) Посмотрите код движка около \XenForo_ControllerPublic_Account::actionAvatar
     

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