Webboard

Pełna wersja: DVZ Stream 1.3 - dorobienie awatara
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Tak więc znalazłem modyfikację DVZ Stream, który spełnia moja oczekiwania co do wyświetlania ostatniej aktywności na forum na stronie głównej.

Jako tako skonfigurowałem ja go już pod siebie. Chciałbym jeszcze dorobić, aby przy wpisach ostatniej aktywności pojawiły się awatary autorów ostatnio napisanych postów / tematów...

Wrzuciłem już to:

Kod:
<img src="{$useravatar['image']}" alt="" style="float: left;margin-right: 5px; width: 32px; height: 32px;" {$useravatar['width_height']}/>

Jednak widzę, że trzeba będzie gdzieś dorobić zmienną. 
Takie więc moje pytanie: Co? Gdzie? Jak? 

Dziękuję za uwagę
inc/plugins/dvz_stream/threads.stream.php:68 do zapytania musisz dopisać pobieranie avatarów - u.avatar (najlepiej po u.username), pamiętaj o przecinkach.

Następnie w pętli while dodajesz kod PHP odpowiedzialny za kod, który przedstawiłeś w swoim poście.

Kod PHP:
        $useravatar format_avatar($row['avatar']); 
I tak we wszystkich trzech plikach.
threads.stream.php

Kod PHP:
   $data $db->query("
        SELECT
            t.tid, t.subject, t.fid, t.dateline,
            u.uid, u.username, u.avatar,
            f.name
        FROM
            " 
TABLE_PREFIX "threads t
            LEFT JOIN " 
TABLE_PREFIX "users u  ON t.uid = u.uid
            LEFT JOIN " 
TABLE_PREFIX "forums f ON t.fid = f.fid
        WHERE
            t.tid > " 
. (int)$lastItemId " AND t.visible = 1 AND t.firstpost != 0
            AND f.password = ''
            " 
$query_where "
        ORDER BY t.tid DESC
        LIMIT " 
. (int)$limit "
    "
);

 
   $entries = [];

 
   while ($row $db->fetch_array($data)) {
 
       $forum '<a href="' $mybb->settings['bburl'] . '/' get_forum_link($row['fid']) . '">' $row['name'] . '</a>';
 
       $thread '<a href="' get_thread_link($row['tid']) . '">' htmlspecialchars($row['subject']) . '</a>';
       $useravatar format_avatar($row['avatar']);

 
       $entries[] = [
 
           'id'           => $row['tid'],
 
           'date'         => $row['dateline'],
 
           'uid'          => $row['uid'],
 
           'username'     => $row['username'],
 
           'usergroup'    => false,
 
           'displaygroup' => false,
 
           'location'     => $forum,
 
           'item'         => $thread,
 
       ];
 
   

posts.stream.php

Kod PHP:
   $data $db->query("
        SELECT
            t.tid, t.subject, t.fid, t.dateline,
            u.uid, u.username, u.avatar,
            f.name
        FROM
            " 
TABLE_PREFIX "threads t
            LEFT JOIN " 
TABLE_PREFIX "users u  ON t.uid = u.uid
            LEFT JOIN " 
TABLE_PREFIX "forums f ON t.fid = f.fid
        WHERE
            t.tid > " 
. (int)$lastItemId " AND t.visible = 1 AND t.firstpost != 0
            AND f.password = ''
            " 
$query_where "
        ORDER BY t.tid DESC
        LIMIT " 
. (int)$limit "
    "
);

 
   $entries = [];

 
   $data $db->query("
        SELECT
            p.pid, p.dateline,
            u.uid, u.username, u.avatar,
            t.tid, t.subject, t.fid,
            f.name
        FROM
            " 
TABLE_PREFIX "posts p
            LEFT JOIN " 
TABLE_PREFIX "users u   ON p.uid = u.uid
            LEFT JOIN " 
TABLE_PREFIX "threads t ON p.tid = t.tid
            LEFT JOIN " 
TABLE_PREFIX "forums f  ON p.fid = f.fid
        WHERE
            p.pid > " 
. (int)$lastItemId " AND p.replyto != 0 AND p.visible = 1 " $query_where "
            AND f.password = ''
            " 
$query_where "
        ORDER BY p.pid DESC
        LIMIT " 
. (int)$limit "
    "
);

 
   while ($row $db->fetch_array($data)) {
 
       $forum '<a href="' $mybb->settings['bburl'] . '/' get_forum_link($row['fid']) . '">' $row['name'] . '</a>';
 
       $thread '<a href="' get_post_link($row['pid'], $row['tid']) . '#pid' $row['pid'] . '">' htmlspecialchars($row['subject']) . '</a></strong>';
       $useravatar format_avatar($row['avatar']);

 
       $entries[] = [
 
           'id'           => $row['pid'],
 
           'date'         => $row['dateline'],
 
           'uid'          => $row['uid'],
 
           'username'     => $row['username'],
 
           'usergroup'    => false,
 
           'displaygroup' => false,
 
           'location'     => $forum,
 
           'item'         => $thread,
 
       ];
 
   

users.stream.php

Kod PHP:
  $data $db->query("
        SELECT
            u.uid, u.regdate, u.username, u.avatar
        FROM
            " 
TABLE_PREFIX "users u
        WHERE u.uid > " 
. (int)$lastItemId " AND u.invisible = 0
        ORDER BY u.uid DESC
        LIMIT " 
. (int)$limit "
    "
);

 
   while ($row $db->fetch_array($data)) {
 
       $useravatar format_avatar($row['avatar']);

 
       $entries[] = [
 
           'id'           => $row['uid'],
 
           'date'         => $row['regdate'],
 
           'uid'          => $row['uid'],
 
           'username'     => $row['username'],
 
           'usergroup'    => false,
 
           'displaygroup' => false,
 
       ];

 
   

Dziękuję za odpowiedź
Zrobiłem tak jak wskazałeś, ale dalej nie działa.
Kod HTML:
Kod:
<img src="{$useravatar['image']}" alt="" style="float: left;margin-right: 5px; width: 32px; height: 32px;" />

threads.stream.php:
Kod PHP:
$data $db->query("
        SELECT
            t.tid, t.subject, t.fid, t.dateline,
            u.uid, u.username, u.avatar,
            f.name
        FROM
            " 
TABLE_PREFIX "threads t
            LEFT JOIN " 
TABLE_PREFIX "users u  ON t.uid = u.uid
            LEFT JOIN " 
TABLE_PREFIX "forums f ON t.fid = f.fid
        WHERE
            t.tid > " 
. (int)$lastItemId " AND t.visible = 1 AND t.firstpost != 0
            AND f.password = ''
            " 
$query_where "
        ORDER BY t.tid DESC
        LIMIT " 
. (int)$limit "
    "
);

    
$entries = [];

    while (
$row $db->fetch_array($data)) {
        
$forum '<a href="' $mybb->settings['bburl'] . '/' get_forum_link($row['fid']) . '">' $row['name'] . '</a>';
        
$thread '<a href="' get_thread_link($row['tid']) . '">' htmlspecialchars($row['subject']) . '</a>';

        
$entries[] = [
            
'id'           => $row['tid'],
            
'date'         => $row['dateline'],
            
'uid'          => $row['uid'],
            
'username'     => $row['username'],
            
'usergroup'    => false,
            
'displaygroup' => false,
            
'location'     => $forum,
            
'item'         => $thread,
            
'avatar'        => $row['avatar'],
        ];
    } 

users.stream.php:

Kod PHP:
$data $db->query("
        SELECT
            u.uid, u.regdate, u.username, u.avatar
        FROM
            " 
TABLE_PREFIX "users u
        WHERE u.uid > " 
. (int)$lastItemId " AND u.invisible = 0
        ORDER BY u.uid DESC
        LIMIT " 
. (int)$limit "
    "
);

    while (
$row $db->fetch_array($data)) {

        
$entries[] = [
            
'id'           => $row['uid'],
            
'date'         => $row['regdate'],
            
'uid'          => $row['uid'],
            
'username'     => $row['username'],
            
'usergroup'    => false,
            
'displaygroup' => false,
            
'avatar'        => $row['avatar'],
        ];

    } 

posts.stream.php:
Kod PHP:
$data $db->query("
        SELECT
            t.tid, t.subject, t.fid, t.dateline,
            u.uid, u.username, u.avatar,
            f.name
        FROM
            " 
TABLE_PREFIX "threads t
            LEFT JOIN " 
TABLE_PREFIX "users u  ON t.uid = u.uid
            LEFT JOIN " 
TABLE_PREFIX "forums f ON t.fid = f.fid
        WHERE
            t.tid > " 
. (int)$lastItemId " AND t.visible = 1 AND t.firstpost != 0
            AND f.password = ''
            " 
$query_where "
        ORDER BY t.tid DESC
        LIMIT " 
. (int)$limit "
    "
);

    
$entries = [];

    
$data $db->query("
        SELECT
            p.pid, p.dateline,
            u.uid, u.username, u.avatar,
            t.tid, t.subject, t.fid,
            f.name
        FROM
            " 
TABLE_PREFIX "posts p
            LEFT JOIN " 
TABLE_PREFIX "users u   ON p.uid = u.uid
            LEFT JOIN " 
TABLE_PREFIX "threads t ON p.tid = t.tid
            LEFT JOIN " 
TABLE_PREFIX "forums f  ON p.fid = f.fid
        WHERE
            p.pid > " 
. (int)$lastItemId " AND p.replyto != 0 AND p.visible = 1 " $query_where "
            AND f.password = ''
            " 
$query_where "
        ORDER BY p.pid DESC
        LIMIT " 
. (int)$limit "
    "
);

    while (
$row $db->fetch_array($data)) {
        
$forum '<a href="' $mybb->settings['bburl'] . '/' get_forum_link($row['fid']) . '">' $row['name'] . '</a>';
        
$thread '<a href="' get_post_link($row['pid'], $row['tid']) . '#pid' $row['pid'] . '">' htmlspecialchars($row['subject']) . '</a></strong>';
        
        
$entries[] = [
            
'id'           => $row['pid'],
            
'date'         => $row['dateline'],
            
'uid'          => $row['uid'],
            
'username'     => $row['username'],
            
'usergroup'    => false,
            
'displaygroup' => false,
            
'location'     => $forum,
            
'item'         => $thread,
            
'avatar'       => $row['avatar'],
        ];
    } 

potem inc/plugins/dvz_stream.php w funkcji render_entry() dodaj:
Kod PHP:
        $useravatar format_avatar($data['avatar']); 

Zobacz czy zadziała, nie mam jak zrobić z plików paczki na chwilę obecną.