Forum. MyNuke.ru

Forum. MyNuke.ru (http://forum.mynuke.ru/index.php)
-   Настройка и Изменение (http://forum.mynuke.ru/forumdisplay.php?f=11)
-   -   SLAED & VB hack Modification (http://forum.mynuke.ru/showthread.php?t=1162)

ramzes2-2 28.03.2006 11:57

У меня было так: Slaed 1.4 + VB 3.0.9. Решил обновить форум до 3.5.4. Использовал конвертор для Php-Nuke. Вроде все нормально, только если заходишь через Opera - авторизация проходит через форум, возврат на слаед - и слаед не видит, пишет: Привет гость. Зато в IE - всю нормально, как и должно быть. Глюк оперы или там куки какие-то особенные?

Andruha 28.03.2006 17:30

Всем привет.

У меня такой вопрос:
Как вывести аватар пользователя с форума на сайт? К примеру в блок User Info.
Заранее спасибо.

Andruha 29.03.2006 00:23

Неужели никто не поможет. Вот, нашел функцию, которая отвечает за вывод аватаров на форум:
Код:
// ###################### Start getavatarurl ####################### function fetch_avatar_url($userid) { global $vbulletin; if ($avatarinfo = $vbulletin->db->query_first(" SELECT user.avatarid, user.avatarrevision, avatarpath, NOT ISNULL(customavatar.userid) AS hascustom, customavatar.dateline, customavatar.width, customavatar.height FROM " . TABLE_PREFIX . "user AS user LEFT JOIN " . TABLE_PREFIX . "avatar AS avatar ON avatar.avatarid = user.avatarid LEFT JOIN " . TABLE_PREFIX . "customavatar AS customavatar ON customavatar.userid = user.userid WHERE user.userid = $userid")) { if (!empty($avatarinfo['avatarpath'])) { return array($avatarinfo['avatarpath']); } else if ($avatarinfo['hascustom']) { $avatarurl = array(); if ($vbulletin->options['usefileavatar']) { $avatarurl[] = $vbulletin->options['avatarurl'] . "/avatar{$userid}_{$avatarinfo['avatarrevision']}.gif"; } else { $avatarurl[] = "image.php?u=$userid&dateline=$avatarinfo[dateline]"; } if ($avatarinfo['width'] AND $avatarinfo['height']) { $avatarurl[] = " width=\"$avatarinfo[width]\" height=\"$avatarinfo[height]\" "; } return $avatarurl; } else { return ''; } } }

Как прекрутить аватары с форума на сайт ?

Soniks 29.03.2006 20:27

PHP код:
 function get_avatar_url($userid)
{
    global 
$db;
// Данные настройки беруться из конфигурации форума
$usefileavatar 0;  // хранение аватор в файлах или в бд? 1-да 0-нет
$avatarurl "http:/site/avatar";  // путь до директории, где храняться аваторы

 
if ($avatarinfo $db->sql_fetchrow($db->sql_query("
        SELECT user.userid, user.avatarid, user.avatarrevision, avatarpath, NOT ISNULL(customavatar.userid) AS hascustom, customavatar.dateline,
            customavatar.width, customavatar.height
        FROM " 
FORUM_VB_PREFIX "user AS user
        LEFT JOIN " 
FORUM_VB_PREFIX "avatar AS avatar ON avatar.avatarid = user.avatarid
        LEFT JOIN " 
FORUM_VB_PREFIX "customavatar AS customavatar ON customavatar.userid = user.userid
        WHERE user.importuserid = 
$userid"))
    {
        if (!empty(
$avatarinfo['avatarpath']))
        {
            return 
$avatarinfo['avatarpath'];
        }
        else if (
$avatarinfo['hascustom'])
        {
            
$avatarurl "";

            if (
$usefileavatar)
            {
                
$avatarurl .= $avatarurl "/avatar{$avatarinfo['userid']}_{$avatarinfo['avatarrevision']}.gif";
            }
            else
            {
                
$avatarurl .= "image.php?u=".$avatarinfo['userid']."&dateline=$avatarinfo[dateline]";
            }

            if (
$avatarinfo['width'] AND $avatarinfo['height'])
            {
                
$avatarurl .= " width=\"$avatarinfo[width]\" height=\"$avatarinfo[height]\" ";
            }
            return 
$avatarurl;
        }
        else
        {
            return 
'';
        }
    }


вставляете эту функцию скажем в mainfile.php / functions.php и там где нужно получить путь аватора пользователя пишем например так:
PHP код:
 echo "<img src=\"".get_avatar_url($cookie[0])."\">"

в функцию передаеться id пользователя php-nuke / slaed, обратно возвращаеться url.

Andruha 31.03.2006 00:11

Спасибо тебе Soniks, буду пробовать.
Получается можно любую функцию с форума так перенести ? К примеру можно же сделать, чтоб когда пользователь пишет коммент на сайте, то ему зачисляется общее количество постов ?

Не получается, вставил код, где надо вывести аватар и выводит ошибку:
Fatal error: Call to undefined function: get_avatar_url() in

Soniks 31.03.2006 01:29

Andruha вункция не доступна, видимо вставили ее туда, где этот файл не используеться скриптов

Andruha 31.03.2006 01:45

Вставил в блок информации о пользователе.
Как я понял, показывает аватар только тому, кто сейчас в онлайн т.к. опредиление по cokies. А как сделать, чтоб видели другие ?

Soniks 31.03.2006 03:17

Andruha ну я же все написл, для куков привел как пример, в функцию нужно передать id пользователя

Andruha 31.03.2006 23:53

Не работает :( Пишет ошибку в самой функции:
Parse error: syntax error, unexpected '{' in / - Это:

WHERE user.importuserid = $userid"))
{
if (!empty($avatarinfo['avatarpath']))

Soniks 01.04.2006 02:13

Andruha будьте внимательнее ничего не пропускайте и тогда ошибок не будет! скорее всего забыли поставить закрывающую скобку


Часовой пояс GMT +4, время: 20:20.

Copyright © 2005 by Soniks