Merhaba, tekrar hoş geldiniz!

Bilgi sahibi olanlarla ihtiyaç duyanları buluşturmak, farklı bakış açılarına sahip insanları bir araya getirerek birbirlerini daha iyi anlamalarını sağlamak ve herkesin bilgisini paylaşmasını sağlamak istiyoruz.

Sitemizde Yakin Zamanda Ticaret Uygulaması Aktif Edilecek .
Tema yapım aşamasındadır, bu süre zarfında lütfen gördüğünüz hataları bize bildirin.

Soru SMF Avatarlarını Harici PHP Sayfasında Nasıl Gösterebilirim?

Smf Smf yardim

ogrenci01

Yeni Üye
Katılım
17 Kas 2021
Mesajlar
3
Tepkime puanı
1
Puanları
3
Konum
XxX
Merhaba;

SMF dizininde bulunan "avatar.php" üzerinde SMF avatarlarını göstermek istiyorum. "avatar.php" dosyasını SimplePortal ile PHP blok şeklinde eklemek istiyorum. Nasıl yapabilirim?
 

orhan

Moderator
Katılım
5 Ara 2018
Mesajlar
466
Tepkime puanı
79
Puanları
28
Merhaba;

SMF dizininde bulunan "avatar.php" üzerinde SMF avatarlarını göstermek istiyorum. "avatar.php" dosyasını SimplePortal ile PHP blok şeklinde eklemek istiyorum. Nasıl yapabilirim?
Merhaba Group İD belirtmeniz doğrultusunda, grupa ait kullanıcıları listeler.SpPortal yada normal SSI olarak çağırabilirsiniz.

Örnek
PHP:
<?php
require("SSI.php");

function selectgroup_portal($group_id=1){
        global $smcFunc,$scripturl, $modSettings;

    $reqselectgroup = $smcFunc['db_query']('', '
        SELECT
                m.id_member, m.real_name, m.avatar, m.location,
                mg.group_name, mg.online_color,
                a.id_attach, a.attachment_type, a.filename
        FROM {db_prefix}members AS m
                LEFT JOIN {db_prefix}membergroups AS mg ON (mg.id_group = m.id_group)
                LEFT JOIN {db_prefix}attachments AS a ON (a.id_member = m.id_member)
        WHERE mg.id_group = {int:reg_group_id} AND m.is_activated=1 AND mg.hidden != 1',
        array(
            'reg_group_id' => $group_id,
        )
    );

    $seleklegroup=array();

    while($row=$smcFunc['db_fetch_assoc']($reqselectgroup)){
        if ($modSettings['avatar_action_too_large'] == 'option_html_resize' || $modSettings['avatar_action_too_large'] == 'option_js_resize')
        {
            $avatar_width = !empty($modSettings['avatar_max_width_external']) ? ' width="' . $modSettings['avatar_max_width_external'] . '"' : '';
            $avatar_height = !empty($modSettings['avatar_max_height_external']) ? ' height="' . $modSettings['avatar_max_height_external'] . '"' : '';
        }
        else
        {
            $avatar_width = '';
            $avatar_height = '';
        }

        $seleklegroup[]=array(
            'id' => $row['id_member'],
            'name' => $row['real_name'],
            'location' => $row['location'],
            'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>',
            'group' => '<span style="color:'.$row['online_color'].'">'.$row['group_name'].'</span>',
            'color' => $row['online_color'],
            'avatar' => array(
                'name' => $row['avatar'],
                'image' => $row['avatar'] == '' ? ($row['id_attach'] > 0 ? '<img src="' . (empty($row['attachment_type']) ? $scripturl . '?action=dlattach;attach=' . $row['id_attach'] . ';type=avatar' : $modSettings['custom_avatar_url'] . '/' . $row['filename']) . '" alt="" class="avatar" border="0" />' : '') : (stristr($row['avatar'], 'http://') ? '<img src="' . $row['avatar'] . '"' . $avatar_width . $avatar_height . ' alt="" class="avatar" border="0" />' : '<img src="' . $modSettings['avatar_url'] . '/' . htmlspecialchars($row['avatar']) . '" alt="" class="avatar" border="0" />'),
                'href' => $row['avatar'] == '' ? ($row['id_attach'] > 0 ? (empty($row['attachment_type']) ? $scripturl . '?action=dlattach;attach=' . $row['id_attach'] . ';type=avatar' : $modSettings['custom_avatar_url'] . '/' . $row['filename']) : '') : (stristr($row['avatar'], 'http://') ? $row['avatar'] : $modSettings['avatar_url'] . '/' . $row['avatar']),
                'url' => $row['avatar'] == '' ? '' : (stristr($row['avatar'], 'http://') ? $row['avatar'] : $modSettings['avatar_url'] . '/' . $row['avatar'])
            ),
        );
    }

    $smcFunc['db_free_result']($reqselectgroup);

    echo '<table style="border-collapse: collapse;">';
    foreach ($seleklegroup as $sel)
        echo '
        <tr style="border-bottom:3px dotted '.$sel['color'].'">
            <td class="sp_staff sp_center">', !empty($sel['avatar']['href']) ? '
                <a href="' . $scripturl . '?action=profile;u=' . $sel['id'] . '"><img src="' . $sel['avatar']['href'] . '" alt="' . $sel['name'] . '" width="40" /></a>' : '', '
            </td>
            <td>
                 ', $sel['link'], '<br />
                ', $sel['group'], '<br />
                ',$sel['location'],'
            </td>
        </tr>';
    echo '</table>';

}
    

selectgroup_portal(1);
 

ogrenci01

Yeni Üye
Katılım
17 Kas 2021
Mesajlar
3
Tepkime puanı
1
Puanları
3
Konum
XxX
Merhaba @orhan ;

Yanıt için teşekkürler. ,Harici bir sunucudan gelen kullanıcı adı ile eşleştirdikten sonra avatar resmini aşağıdaki gibi yazdırdım ama include('avatar.php') işlemi sonucu resimler görünmüyor:

PHP:
$smf_user = "smf_kullanıcı_adı";
$userID = loadMemberData($smf_user,true,'normal');
loadMemberContext($userID[0]);
$avatar_link = $memberContext[$userID[0]]['avatar']['href'];
 
Son düzenleme:

orhan

Moderator
Katılım
5 Ara 2018
Mesajlar
466
Tepkime puanı
79
Puanları
28
Merhaba kodlarınız bağımsız bir sayfada loadMemberData çalışmaz size yukarda çalışacak kod yapısını sundum selectgroup_portal(1); parametresi yada sizin belirleyeceğiniz bir döngüyle rahatlıkla ala bilirsiniz ben size başka yârdim edemem cönkü kurulu bir smf formum yok bu yüzden smf destek sitelerinden yârdim almanızı tavsiye ederim.
 

ogrenci01

Yeni Üye
Katılım
17 Kas 2021
Mesajlar
3
Tepkime puanı
1
Puanları
3
Konum
XxX
Merhaba;

Harici bir sayfadan SimplePortal için avatarları gösterme şu şekilde olmalıdır:

PHP:
$smf_user = "smf_kullanıcı_adı";
$userID = loadMemberData($smf_user,true,'normal');
loadMemberContext($userID[0]);
global $memberContext;
$avatar_link = $memberContext[$userID[0]]['avatar']['href'];
 

orhan

Moderator
Katılım
5 Ara 2018
Mesajlar
466
Tepkime puanı
79
Puanları
28
Merhaba koşul olmadan elesa/if veritabaninizda yüzlercr sorguya yol acar bu bir cozüm değil malesef.
 

Benzer konular

Üst Alt