Smf İstatistik - Top 10 v2

Mavi Gül

ѕση_¢ıqℓıк
Özel üye
Katılım
3 Mys 2009
Mesajlar
4,873
Beğeniler
376
Yaş
33
Şehir
Misafir Sevmez
#1
Yapımı

öncelikle admin paneline girip kullanılan temadan aşağıdaki ayarı yapıyoruz (10 dan fazla olursa şekil bozukluğu oluyo)

sources/boardindex.php yi açıyoruz
Kod:
        // Find all boards and categories, as well as related information.  This will be sorted by the natural order of boards and categories, which we control.
Kod:
    // Statistics such as number of boards, categories, etc. by rallyproco
    $result = db_query("
        SELECT COUNT(b.ID_BOARD)
        FROM {$db_prefix}boards AS b", __FILE__, __LINE__);
    list ($context['num_boards']) = mysql_fetch_row($result);
    mysql_free_result($result);

    $result = db_query("
        SELECT COUNT(c.ID_CAT)
        FROM {$db_prefix}categories AS c", __FILE__, __LINE__);
    list ($context['num_categories']) = mysql_fetch_row($result);
    mysql_free_result($result);

    $context['num_members'] = &$modSettings['totalMembers'];
    $context['num_posts'] = &$modSettings['totalMessages'];
    $context['num_topics'] = &$modSettings['totalTopics'];
    $context['most_members_online'] = array(
        'number' => &$modSettings['mostOnline'],
        'date' => timeformat($modSettings['mostDate'])
    );
    $context['latest_member'] = &$context['common_stats']['latest_member'];
   
   
// Poster top 10.

$members_result = db_query("
SELECT ID_MEMBER, realName, posts
FROM {$db_prefix}members
ORDER BY posts DESC
LIMIT 10", __FILE__, __LINE__);
$context['top_posters'] = array();
$max_num_posts = 1;
while ($row_members = mysql_fetch_assoc($members_result))
{
$context['top_posters'][] = array(
'name' => $row_members['realName'],
'id' => $row_members['ID_MEMBER'],
'num_posts' => $row_members['posts'],
'href' => $scripturl . '?action=profile;u=' . $row_members['ID_MEMBER'],
'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row_members['ID_MEMBER'] . '">' . $row_members['realName'] . '</a>'
);

if (!empty($modSettings['MemberColorStats']))
$MemberColor_ID_MEMBER[$row_members['ID_MEMBER']] = $row_members['ID_MEMBER'];

if ($max_num_posts < $row_members['posts'])
$max_num_posts = $row_members['posts'];
}
mysql_free_result($members_result);

foreach ($context['top_posters'] as $i => $poster)
$context['top_posters'][$i]['post_percent'] = round(($poster['num_posts'] * 100) / $max_num_posts);

if (!empty($modSettings['latestMember']) && !empty($modSettings['MemberColorLatestMember']))
$MemberColor_ID_MEMBER[$modSettings['latestMember']] = $modSettings['latestMember'];

        //Yeah baby give me some colors =).
if (!empty($MemberColor_ID_MEMBER)) {
//Now Load the Missing global :)
global $user_profile;
loadMemberData($MemberColor_ID_MEMBER);
$cmemcolid = ****;
if (!empty($modSettings['MemberColorStats'])) {
// Poster top 10.
foreach($context['top_posters'] as $key => $value) {
$cmemcolid = $context['top_posters'][$key]['id'];
$profile = &$user_profile[$cmemcolid];
if(!empty($profile['member_group_color']) || !empty($profile['post_group_color']))
$context['top_posters'][$key]['link'] = '<a href="' . $scripturl . '?action=profile;u=' . $profile['ID_MEMBER'] . '" title="' . $txt[92] . ' ' . $profile['realName'] . '"><font color="'.(!empty($profile['member_group_color']) ? $profile['member_group_color'] : $profile['post_group_color']).'">' . $profile['realName'] . '</font></a>';
}
        }
if (!empty($modSettings['latestMember']) && !empty($modSettings['MemberColorLatestMember'])) {
$profile = &$user_profile[$modSettings['latestMember']];
if(!empty($profile['member_group_color']) || !empty($profile['post_group_color']))
$context['latest_member']['link'] = '<a href="' . $scripturl . '?action=profile;u=' . $profile['ID_MEMBER'] . '" title="' . $txt[92] . ' ' . $profile['realName'] . '"><font color="'.(!empty($profile['member_group_color']) ? $profile['member_group_color'] : $profile['post_group_color']).'">' . $profile['realName'] . '</font></a>';
}
}
    // yeni uyeler. by rallyproco
    $members_result = db_query("
SELECT ID_MEMBER, realName, posts
FROM {$db_prefix}members
ORDER BY ID_MEMBER DESC
LIMIT 10", __FILE__, __LINE__);
    $context['yeniuyeler'] = array();
    $max_num_posts = 1;
    while ($row_members = mysql_fetch_assoc($members_result))
    {
       
        $context['yeniuyeler'][] = array(
            'name' => $row_members['realName'],
            'id' => $row_members['ID_MEMBER'],
            'num_posts' => $row_members['posts'],
            'href' => $scripturl . '?action=profile;u=' . $row_members['ID_MEMBER'],
            'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row_members['ID_MEMBER'] . '">' . $row_members['realName'] . '</a>'
        );

       
if (!empty($modSettings['MemberColorStats']))
            $MemberColor_ID_MEMBER[$row_members['ID_MEMBER']] = $row_members['ID_MEMBER'];

if ($max_num_posts < $row_members['posts'])
            $max_num_posts = $row_members['posts'];
    }
    mysql_free_result($members_result);

    foreach ($context['yeniuyeler'] as $i => $poster)
        $context['yeniuyeler'][$i]['post_percent'] = round(($poster['num_posts'] * 100) / $max_num_posts);
//Yeah baby give me some colors =).
if (!empty($MemberColor_ID_MEMBER)) {
//Now Load the Missing global :)
global $user_profile;
loadMemberData($MemberColor_ID_MEMBER);
$cmemcolid = ****;
if (!empty($modSettings['MemberColorStats'])) {
// repkarma
foreach($context['yeniuyeler'] as $key => $value) {
$cmemcolid = $context['yeniuyeler'][$key]['id'];
$profile = &$user_profile[$cmemcolid];
if(!empty($profile['member_group_color']) || !empty($profile['post_group_color']))
$context['yeniuyeler'][$key]['link'] = '<a href="' . $scripturl . '?action=profile;u=' . $profile['ID_MEMBER'] . '" title="' . $txt[92] . ' ' . $profile['realName'] . '"><font color="'.(!empty($profile['member_group_color']) ? $profile['member_group_color'] : $profile['post_group_color']).'">' . $profile['realName'] . '</font></a>';
}
        }
if (!empty($modSettings['latestMember']) && !empty($modSettings['MemberColorLatestMember'])) {
$profile = &$user_profile[$modSettings['latestMember']];
if(!empty($profile['member_group_color']) || !empty($profile['post_group_color']))
$context['latest_member']['link'] = '<a href="' . $scripturl . '?action=profile;u=' . $profile['ID_MEMBER'] . '" title="' . $txt[92] . ' ' . $profile['realName'] . '"><font color="'.(!empty($profile['member_group_color']) ? $profile['member_group_color'] : $profile['post_group_color']).'">' . $profile['realName'] . '</font></a>';
}
}
    // repkarma top 10. by rallyproco

$members_result = db_query("
SELECT ID_MEMBER, realName, posts , karmaGood
FROM {$db_prefix}members
ORDER BY karmaGood DESC
LIMIT 10", __FILE__, __LINE__);
$context['repkarma'] = array();
$max_num_posts = 1;
while ($row_members = mysql_fetch_assoc($members_result))
{
$context['repkarma'][] = array(
'name' => $row_members['realName'],
'id' => $row_members['ID_MEMBER'],
'karma' => $row_members['karmaGood'],
'num_posts' => $row_members['posts'],
'href' => $scripturl . '?action=profile;u=' . $row_members['ID_MEMBER'],
'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row_members['ID_MEMBER'] . '">' . $row_members['realName'] . '</a>'
);

if (!empty($modSettings['MemberColorStats']))
$MemberColor_ID_MEMBER[$row_members['ID_MEMBER']] = $row_members['ID_MEMBER'];

if ($max_num_posts < $row_members['posts'])
$max_num_posts = $row_members['posts'];
}
mysql_free_result($members_result);

foreach ($context['repkarma'] as $i => $poster)
$context['repkarma'][$i]['post_percent'] = round(($poster['num_posts'] * 100) / $max_num_posts);
//Yeah baby give me some colors =).
if (!empty($MemberColor_ID_MEMBER)) {
//Now Load the Missing global :)
global $user_profile;
loadMemberData($MemberColor_ID_MEMBER);
$cmemcolid = ****;
if (!empty($modSettings['MemberColorStats'])) {
// repkarma
foreach($context['repkarma'] as $key => $value) {
$cmemcolid = $context['repkarma'][$key]['id'];
$profile = &$user_profile[$cmemcolid];
if(!empty($profile['member_group_color']) || !empty($profile['post_group_color']))
$context['repkarma'][$key]['link'] = '<a href="' . $scripturl . '?action=profile;u=' . $profile['ID_MEMBER'] . '" title="' . $txt[92] . ' ' . $profile['realName'] . '"><font color="'.(!empty($profile['member_group_color']) ? $profile['member_group_color'] : $profile['post_group_color']).'">' . $profile['realName'] . '</font></a>';
}
        }
if (!empty($modSettings['latestMember']) && !empty($modSettings['MemberColorLatestMember'])) {
$profile = &$user_profile[$modSettings['latestMember']];
if(!empty($profile['member_group_color']) || !empty($profile['post_group_color']))
$context['latest_member']['link'] = '<a href="' . $scripturl . '?action=profile;u=' . $profile['ID_MEMBER'] . '" title="' . $txt[92] . ' ' . $profile['realName'] . '"><font color="'.(!empty($profile['member_group_color']) ? $profile['member_group_color'] : $profile['post_group_color']).'">' . $profile['realName'] . '</font></a>';
}
}
// Topic views top 10.
    $topic_view_result = db_query("
        SELECT m.subject, t.numViews, t.ID_BOARD, t.ID_TOPIC, b.name
        FROM ({$db_prefix}topics AS t, {$db_prefix}messages AS m, {$db_prefix}boards AS b)
        WHERE m.ID_MSG = t.ID_FIRST_MSG
            AND $user_info[query_see_board]" . (!empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0 ? "
            AND b.ID_BOARD != $modSettings[recycle_board]" : '') . "
            AND t.ID_BOARD = b.ID_BOARD" . (!empty($topic_ids) ? "
            AND t.ID_TOPIC IN (" . implode(', ', $topic_ids) . ")" : '') . "
        ORDER BY t.numViews DESC
        LIMIT 10", __FILE__, __LINE__);
    $context['top_topics_views'] = array();
    $max_num_views = 1;
    while ($row_topic_views = mysql_fetch_assoc($topic_view_result))
    {
        censorText($row_topic_views['subject']);
$row_topic_views['subject'] = shorten_subject($row_topic_views['subject'], 22);
        $context['top_topics_views'][] = array(
            'id' => $row_topic_views['ID_TOPIC'],
            'board' => array(
                'id' => $row_topic_views['ID_BOARD'],
                'name' => $row_topic_views['name'],
                'href' => $scripturl . '?board=' . $row_topic_views['ID_BOARD'] . '.0',
                'link' => '<a href="' . $scripturl . '?board=' . $row_topic_views['ID_BOARD'] . '.0">' . $row_topic_views['name'] . '</a>'
            ),
            'subject' => $row_topic_views['shorten_subject'],
            'num_views' => $row_topic_views['numViews'],
            'href' => $scripturl . '?topic=' . $row_topic_views['ID_TOPIC'] . '.0',
            'link' => '<a href="' . $scripturl . '?topic=' . $row_topic_views['ID_TOPIC'] . '.0">' . $row_topic_views['subject'] . '</a>'
        );

        if ($max_num_views < $row_topic_views['numViews'])
            $max_num_views = $row_topic_views['numViews'];
    }
    mysql_free_result($topic_view_result);

    foreach ($context['top_topics_views'] as $i => $topic)
        $context['top_topics_views'][$i]['post_percent'] = round(($topic['num_views'] * 100) / $max_num_views);
Default kullananlar: şimdide themes/default/boardindex.template dosyasını açıyoruz
Çöl Ateşi kullananlar: şimdide themes/col_atesi/boardindex.template dosyasını açıyoruz
hangi temayı kullanıyorsanız onunkini açıyorsunuz

bu kodup bulup hepsini siliyoruz (bo kod son mesajları tablo haline falan getirdiyseniz daha önce biraz farklı olabilir o zaman // This is the "Recent Posts" bar. dan başlıx // Show information about events, birthdays, and holidays on the calendar. dıra kadar olan kısmı silin )
Kod:
    // This is the "Recent Posts" bar.
    if (!empty($settings['number_recent_posts']))
    {
        echo '
                <tr>
                    <td class="titlebg" colspan="2">', $txt[214], '</td>
                </tr>
                <tr>
                    <td class="windowbg" width="20" valign="middle" align="center">
                        <a href="', $scripturl, '?action=recent"><img src="', $settings['images_url'], '/post/xx.gif" alt="', $txt[214], '" /></a>
                    </td>
                    <td class="windowbg2">';

        // Only show one post.
        if ($settings['number_recent_posts'] == 1)
        {
            // latest_post has link, href, time, subject, short_subject (shortened with...), and topic. (its id.)
            echo '
                        <b><a href="', $scripturl, '?action=recent">', $txt[214], '</a></b>
                        <div class="smalltext">
                                ', $txt[234], ' &quot;', $context['latest_post']['link'], '&quot; ', $txt[235], ' (', $context['latest_post']['time'], ')<br />
                        </div>';
        }
            // Show lots of posts.
elseif (!empty($context['latest_posts']))
{
echo '
<table border="0" width="100%" cellspacing="1" cellpadding="0" class="bordercolor">
<tr>
<th class="windowbg" align="left" width="42%">Konu</th>
<th class="windowbg" align="left" width="12%">Gönderen</th>
<th class="windowbg" align="left" width="25%">Bölüm</th>
<th class="windowbg" align="left" width="21%">Tarih</th>
</tr>';

/* Each post in latest_posts has:
board (with an id, name, and link.), topic (the topic's id.), poster (with id, name, and link.),
subject, short_subject (shortened with...), time, link, and href. */
foreach ($context['latest_posts'] as $post)
echo '

<tr>

<td class="windowbg2" valign="middle" width="42%"><font style="font-size: 8pt">', $post['link'], '</font></td>
<td class="windowbg2" valign="middle" width="12%"><font style="font-size: 8pt">', $post['poster']['link'], '</font></td>
<td class="windowbg2" valign="middle" width="25%"><font style="font-size: 8pt">', $post['board']['link'], '</font></td>
<td class="windowbg2" valign="middle" width="21%"><font style="font-size: 8pt">', $post['time'], '</font></td>

</tr>';
echo '
</table>';
}
echo '
</td>
</tr>';
         }
daha sonra bu kodu bulup

Kod:
// Here's where the "Info Center" starts...
üst satırına bu kodu ekleyin

Kod:
    // istatistik top 10...by rallyproco

echo '
   <br><div class="tborder" ', $context['browser']['needs_size_fix'] && !$context['browser']['is_ie6'] ? 'style="width: 100%;"' : '', '>
   <table border="0" width="100%" cellspacing="1" cellpadding="2" class="bordercolor">  <tr>
    <td width="100%" colspan="4" class="catbg" height="24">
    <font color="#FFFFFF"><b>İstatistikler - Top 10</b></font></td>
  </tr>
<tr class="titlebg">
<td width="20%"><font style="font-size: 8pt">En Hızlı Üyeler</font></td>
    <td width="20%"><font style="font-size: 8pt">En Yeni Üyeler</font></td>
  
    <td width="28%"><font style="font-size: 8pt">En Paylaşımcı Üyeler </font></td>
    <td width="32%"><font style="font-size: 8pt">Son Mesajlar</font></td>
</tr>
<tr class="windowbg2">
<td width="20%" valign="top"><table width="100%"><tr>

<td width="60%" class="windowbg2"><b><font style="font-size: 8pt">Üye:</font></b></td><td width="40%" class="windowbg2" align="right"><b><font style="font-size: 8pt">Mesaj:</font></b></td>
</tr><tr>
';
foreach ($context['top_posters'] as $poster)
{
echo '


<td width="60%" class="windowbg2"><font style="font-size: 8pt">', $poster['link'], '</font></td>

<td width="40%" class="windowbg2" align="right"><font style="font-size: 8pt">',$poster['num_posts'], '</font></td>

</tr>'; 

} echo '</table></td>
<td width="20%" valign="top">  

<table width="100%"><tr>

<td width="60%" class="windowbg2"><b><font style="font-size: 8pt">Üye:</font></b></td><td width="40%" class="windowbg2" align="right"><b><font style="font-size: 8pt">Mesaj:</font></b></td>
</tr><tr>
';
foreach ($context['yeniuyeler'] as $poster)
{
echo '


<td width="60%" class="windowbg2" valign="top"><font style="font-size: 8pt">',$poster['link'], '</font></td>

<td width="40%" class="windowbg2" align="right" valign="top"><font style="font-size: 8pt">',$poster['num_posts'], '</font></td>

</tr>'; 

} echo '</table>
</td>

<td width="28%" valign="top">  

<table width="100%"><tr>

<td width="50%" class="windowbg2"><b><font style="font-size: 8pt">Üye:</font></b></td><td width="30%" class="windowbg2"><b><font style="font-size: 8pt">Derece:</font></b></td><td width="20%" class="windowbg2" align="right"><b><font style="font-size: 8pt">Rep:</font></b></td>
</tr><tr>
';
foreach ($context['repkarma'] as $poster)
{
echo '


<td width="50%" class="windowbg2" valign="top"><font style="font-size: 8pt">',$poster['link'],'</font></td>';

if($poster['karma'] <= 0) {
echo '<td width="30%" class="windowbg2" ></td>';
}
elseif($poster['karma'] <= 5) {
echo '<td width="30%" class="windowbg2" ><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /></td>';
}
elseif ($poster['karma'] <= 10) {
echo'<td width="30%" class="windowbg2" ><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /></td>';
}
elseif ($poster['karma'] <= 20) {
echo'<td width="30%" class="windowbg2" ><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /></td>';
}
elseif ($poster['karma'] <= 35) {
echo'<td width="30%" class="windowbg2" ><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /></td>';
}
elseif ($poster['karma'] <= 55) {
echo'<td width="30%" class="windowbg2" ><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep2.gif" border="0" /></td>';
}
elseif ($poster['karma'] <= 80) {
echo'<td width="30%" class="windowbg2" ><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep2.gif" border="0" /></td>';
}
elseif ($poster['karma'] <= 110) {
echo'<td width="30%" class="windowbg2" ><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep2.gif" border="0" /><img src="' . $settings['images_url'] . '/rep2.gif" border="0" /><img src="' . $settings['images_url'] . '/rep2.gif" border="0" /></td>';
}
elseif ($poster['karma'] <= 145) {
echo'<td width="30%" class="windowbg2" ><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep2.gif" border="0" /><img src="' . $settings['images_url'] . '/rep2.gif" border="0" /><img src="' . $settings['images_url'] . '/rep2.gif" border="0" /><img src="' . $settings['images_url'] . '/rep2.gif" border="0" /></td>';
}
elseif ($poster['karma'] >= 185) {
echo'<td width="30%" class="windowbg2" ><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep1.gif" border="0" /><img src="' . $settings['images_url'] . '/rep2.gif" border="0" /><img src="' . $settings['images_url'] . '/rep2.gif" border="0" /><img src="' . $settings['images_url'] . '/rep2.gif" border="0" /><img src="' . $settings['images_url'] . '/rep2.gif" border="0" /><img src="' . $settings['images_url'] . '/rep2.gif" border="0" /></td>';
}
echo'

<td width="20%" class="windowbg2" align="right" valign="top"><font style="font-size: 8pt">',$poster['karma'], '</font></td>

</tr>'; 

} echo '</table>

</td>
<td width="32%" valign="top">';

// This is the "Recent Posts" bar.
if (!empty($settings['number_recent_posts']))
{

// Only show one post.
if ($settings['number_recent_posts'] == 1)
{
// latest_post has link, href, time, subject, short_subject (shortened with...), and topic. (its id.)
echo '
<b><a href="', $scripturl, '?action=recent">', $txt[214], '</a></b>
<div class="smalltext">
', $txt[234], ' &quot;', $context['latest_post']['link'], '&quot; ', $txt[235], ' (', $context['latest_post']['time'], ')<br />
</div>';
}
// Show lots of posts.
elseif (!empty($context['latest_posts']))
{
echo '
<table width="100%" >
<tr class="windowbg2">
<td width="42%"><b><font style="font-size: 8pt">Konu:</font></b></td>
<td width="22%" align="right"><b><font style="font-size: 8pt">Gönderen:</font></b></td>
';

/* Each post in latest_posts has:
board (with an id, name, and link.), topic (the topic's id.), poster (with id, name, and link.),
subject, short_subject (shortened with...), time, link, and href. */
foreach ($context['latest_posts'] as $post)
echo '

<tr>

<td class="windowbg2" valign="middle" width="42%"><font style="font-size: 8pt"><a href="',$post['href'],'">', $post['short_subject'], '</font></a></td>
<td class="windowbg2" valign="top" width="22%" align="right"><font style="font-size: 8pt">', $post['poster']['link'], '</font></td>

</tr>';
echo '
</table>';
}
echo '
</td>
</tr></table></div>';
         }
bunlarıda images'e atın
 

Benzer konular

Top