Merhaba, tekrar hoş geldiniz!

Tüm özelliklerimize erişmek için şimdi bize katılın. Kaydolduktan ve giriş yaptıktan sonra, konu oluşturabilir, mevcut konulara yanıt gönderebilir, diğer üyelerinize itibar kazandırabilir, kendi özel mesajcınızı alabilir ve çok daha fazlasını yapabilirsiniz. Ayrıca hızlı ve tamamen ücretsiz, o halde ne bekliyorsunuz?

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ı
75
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ı
75
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ı
75
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