Вопрос Как узнать аватарку пользователя XenForo?

Начинающий
Статус
Оффлайн
Регистрация
5 Июн 2022
Сообщения
12
Реакции[?]
3
Поинты[?]
5K
Вобщем, у меня есть простенький лодер на C++ для cs:go, а так же есть форум на XenForo. Авторизация через форум у меня уже настроена, простенькая хвид система тоже, данные авторизации записываются в специальный файл. Так как за серверную часть я не шарю, особенно за принципы работы XenForo, я решил задать вопрос на юге.
 
Эксперт
Статус
Оффлайн
Регистрация
17 Янв 2020
Сообщения
2,197
Реакции[?]
718
Поинты[?]
79K
Товары в продаже
1
Вобщем, у меня есть простенький лодер на C++ для cs:go, а так же есть форум на XenForo. Авторизация через форум у меня уже настроена, простенькая хвид система тоже, данные авторизации записываются в специальный файл. Так как за серверную часть я не шарю, особенно за принципы работы XenForo, я решил задать вопрос на юге.
Есть много способов: один из них: подмена файла: /data/o/0/userid.jpg
Другой через функции ксенфоро.
 
Начинающий
Статус
Оффлайн
Регистрация
5 Июн 2022
Сообщения
12
Реакции[?]
3
Поинты[?]
5K
Эксперт
Статус
Оффлайн
Регистрация
17 Янв 2020
Сообщения
2,197
Реакции[?]
718
Поинты[?]
79K
Товары в продаже
1
а какой способ лучший? (по твоему мнению)
Если есть времени прочитать документацию xenforo то второе. Если в веб кодинге не бобо:
Так как за серверную часть я не шарю, особенно за принципы работы XenForo, я решил задать вопрос на юге
то через подмену файла.
Или же воспользоваться api xenforo:
1692992788852.png
(Взять с страницы юг с api)
 
Начинающий
Статус
Оффлайн
Регистрация
5 Июн 2022
Сообщения
12
Реакции[?]
3
Поинты[?]
5K
Если есть времени прочитать документацию xenforo то второе. Если в веб кодинге не бобо:

то через подмену файла.
Или же воспользоваться api xenforo:
Посмотреть вложение 257043
(Взять с страницы юг с api)
спасибо за ответ, пойду читать документацию.
 
ЧВК EB_LAN
Забаненный
Статус
Оффлайн
Регистрация
12 Янв 2019
Сообщения
838
Реакции[?]
298
Поинты[?]
17K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
спасибо за ответ, пойду читать документацию.
PHP:
        $finder = \XF::finder( 'XF:User' );
        $user = $finder->where( 'username', $_GET[ "username" ] )->fetchOne( );

        if ( isset( $_GET[ "avatar" ] ) )
        {
            echo "http://192.168.1.11/data/avatars/l/0/" . $user[ "user_id" ] . ".jpg";
        }
со стороны веба.
Ну а дальше просто качешь ее, лоадишь как текстуру ну и удаляешь например.
C++:
if ( !m_pAvatar )
    {
        HRESULT m_hResult = URLDownloadToFile( NULL, ссылочка, _xor_( L"C:\\test\\avatar.jpg" ).c_str( ), 0, NULL );
       
        if ( SUCCEEDED( m_hResult ) )
        {
            int w = 0, h = 0;
            LoadTextureFromFile( _xor_( "C:\\test\\avatar.jpg" ).c_str( ), &m_pAvatar, &w, &h );

            DeleteFile( _xor_( L"C:\\test\\avatar.jpg" ).c_str( ) );
        }
    }
А и еще забыл про этот кусок
C++:
PDIRECT3DTEXTURE9 m_pAvatar = NULL;

bool LoadTextureFromFile(const char* filename, PDIRECT3DTEXTURE9* out_texture, int* out_width, int* out_height)
{
    PDIRECT3DTEXTURE9 texture;
    HRESULT hr = D3DXCreateTextureFromFileA(Globals::g_pD3DDevice, filename, &texture);
    if (hr != S_OK)
        return false;

    D3DSURFACE_DESC my_image_desc;
    texture->GetLevelDesc(0, &my_image_desc);
    *out_texture = texture;
    *out_width = (int)my_image_desc.Width;
    *out_height = (int)my_image_desc.Height;
    return true;
}
 
Начинающий
Статус
Оффлайн
Регистрация
5 Июн 2022
Сообщения
12
Реакции[?]
3
Поинты[?]
5K
PHP:
        $finder = \XF::finder( 'XF:User' );
        $user = $finder->where( 'username', $_GET[ "username" ] )->fetchOne( );

        if ( isset( $_GET[ "avatar" ] ) )
        {
            echo "http://192.168.1.11/data/avatars/l/0/" . $user[ "user_id" ] . ".jpg";
        }
со стороны веба.
Ну а дальше просто качешь ее, лоадишь как текстуру ну и удаляешь например.
C++:
if ( !m_pAvatar )
    {
        HRESULT m_hResult = URLDownloadToFile( NULL, ссылочка, _xor_( L"C:\\test\\avatar.jpg" ).c_str( ), 0, NULL );
     
        if ( SUCCEEDED( m_hResult ) )
        {
            int w = 0, h = 0;
            LoadTextureFromFile( _xor_( "C:\\test\\avatar.jpg" ).c_str( ), &m_pAvatar, &w, &h );

            DeleteFile( _xor_( L"C:\\test\\avatar.jpg" ).c_str( ) );
        }
    }
А и еще забыл про этот кусок
C++:
PDIRECT3DTEXTURE9 m_pAvatar = NULL;

bool LoadTextureFromFile(const char* filename, PDIRECT3DTEXTURE9* out_texture, int* out_width, int* out_height)
{
    PDIRECT3DTEXTURE9 texture;
    HRESULT hr = D3DXCreateTextureFromFileA(Globals::g_pD3DDevice, filename, &texture);
    if (hr != S_OK)
        return false;

    D3DSURFACE_DESC my_image_desc;
    texture->GetLevelDesc(0, &my_image_desc);
    *out_texture = texture;
    *out_width = (int)my_image_desc.Width;
    *out_height = (int)my_image_desc.Height;
    return true;
}
Спасибо за ответ, но я уже нашел как узнавать ссылку на аватарку с помощью парсинга (nlohmann/json)
 
ЧВК EB_LAN
Забаненный
Статус
Оффлайн
Регистрация
12 Янв 2019
Сообщения
838
Реакции[?]
298
Поинты[?]
17K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Спасибо за ответ, но я уже нашел как узнавать ссылку на аватарку с помощью парсинга (nlohmann/json)
Я очень сильно надеюсь, что у тебя джсон только для этого используется и не для чего больше.
 
Сверху Снизу