Düzenli İstatistikler Top 10 ve Son Konular Top 10

Started by intFUSE, November 26, 2008, 03:40:50 PM

Previous topic - Next topic

intFUSE

İstatistikler Top 10 Düzenli

Açıklama ;

Öncelikle boardindex ve recent.php dosyalarında yapılan değişiklikler tamamen normal herkesin kullandığı top10 modifikasyonuna aittir.Sadece boardindex.template.php dosyasındaki kodları tamamıyla kendim yazdım ve xhtml hatası olmamasına özen gösterdim yani yoktur.Ekran görüntüsü aşağıdadır üzerine tıklayarak büyük halini görebilirsiniz.Sorularınız ve top10'a eklenmesini istediğiniz bloklar varsa belirtiniz ben zamanım oldukça yardım etmeye çalışacağım.



Yapılışı :

Öncelikle "Admin Paneli > Kullanılan Tema > Forum ana sayfasında gösterilecek en son ileti" bu bölümdeki değeri 10 yapmalıyız.Sonra ;

Sources/recent.php dosyasında bulun :
IFNULL(mem.realName, m.posterName) AS posterName, t.ID_BOARD, b.name AS bName,

Değiştirin :
IFNULL(mem.realName, m.posterName) AS posterName, t.ID_BOARD, t.numViews, b.name AS bName,

Bulun :
// Build the array.
$posts[] = array(
'board' => array(


Değiştirin :
// Build the array.
$posts[] = array(
'top10_hit' => $row['numViews'],
'board' => array(


Bulun :
['maxMsgID'] - 20 * $showlatestcount) . "
AND t.ID_TOPIC = m.ID_TOPIC
AND b.ID_BOARD = t.ID_BOARD" . (!empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0 ? "
AND b.ID_BOARD != $modSettings[recycle_board]" : '') . "


Değiştirin :
['maxMsgID'] - 20 * $showlatestcount) . "
AND m.ID_MSG = t.ID_LAST_MSG
AND b.ID_BOARD = t.ID_BOARD
" . (!empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0 ? "
AND b.ID_BOARD != $modSettings[recycle_board]" : '') . "


Sources/boardindex.php dosyasında bulun :
// 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.

Üstüne Ekleyin :
   // Statistics such as number of boards, categories, etc. Top 10
   $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'];
   
   
// Top 10 Mesaj


$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 = NULL;
if (!empty($modSettings['MemberColorStats'])) {
// Poster top.
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>';
}
}
   // Top 10 Yeni Uyeler
   $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 = NULL;
if (!empty($modSettings['MemberColorStats'])) {
// karma
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>';
}
}
   // Top 10 Karma


$members_result = db_query("
SELECT ID_MEMBER, realName, posts , karmaGood
FROM {$db_prefix}members
ORDER BY karmaGood DESC
LIMIT 10", __FILE__, __LINE__);
$context['karma'] = array();
$max_num_posts = 1;
while ($row_members = mysql_fetch_assoc($members_result))
{
$context['karma'][] = 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['karma'] as $i => $poster)
$context['karma'][$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 = NULL;
if (!empty($modSettings['MemberColorStats'])) {
// Karma
foreach($context['karma'] as $key => $value) {
$cmemcolid = $context['karma'][$key]['id'];
$profile = &$user_profile[$cmemcolid];
if(!empty($profile['member_group_color']) || !empty($profile['post_group_color']))
$context['karma'][$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>';
}
}
// Top 10 Hit
   $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'], 24);
      $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>'
         ),
         '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);

// Try to cache this when possible, because it's a little unavoidably slow.
   if (($members = cache_get_data('stats_top_starters', 360)) == null)
   {
      $request = db_query("
         SELECT ID_MEMBER_STARTED, COUNT(ID_TOPIC) AS hits
         FROM {$db_prefix}topics" . (!empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0 ? "
         WHERE ID_BOARD != $modSettings[recycle_board]" : '') . "
         GROUP BY ID_MEMBER_STARTED
         ORDER BY hits DESC
         LIMIT 20", __FILE__, __LINE__);
      $members = array();
      while ($row = mysql_fetch_assoc($request))
         $members[$row['ID_MEMBER_STARTED']] = $row['hits'];
      mysql_free_result($request);

      cache_put_data('stats_top_starters', $members, 360);
   }

   if (empty($members))
      $members = array(0 => 0);
   // Topic poster full top 10
   $members_result = db_query("
      SELECT ID_MEMBER, realName
      FROM {$db_prefix}members
      WHERE ID_MEMBER IN (" . implode(', ', array_keys($members)) . ")
      GROUP BY ID_MEMBER
      ORDER BY FIND_IN_SET(ID_MEMBER, '" . implode(',', array_keys($members)) . "')
      LIMIT 10", __FILE__, __LINE__);
   $context['top_starters'] = array();
   $max_num_topics = 1;
   while ($row_members = mysql_fetch_assoc($members_result))
   {
      $context['top_starters'][] = array(
         'name' => $row_members['realName'],
         'id' => $row_members['ID_MEMBER'],
         'num_topics' => $members[$row_members['ID_MEMBER']],
         '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_topics < $members[$row_members['ID_MEMBER']])
         $max_num_topics = $members[$row_members['ID_MEMBER']];
   }
   mysql_free_result($members_result);

   foreach ($context['top_starters'] as $i => $topic)
      $context['top_starters'][$i]['post_percent'] = round(($topic['num_topics'] * 100) / $max_num_topics);
   
   //Yeah baby give me some colors =).
if (!empty($MemberColor_ID_MEMBER)) {
//Now Load the Missing global :)
global $user_profile;
loadMemberData($MemberColor_ID_MEMBER);
$cmemcolid = NULL;
if (!empty($modSettings['MemberColorStats'])) {
// top_starters
foreach($context['top_starters'] as $key => $value) {
$cmemcolid = $context['top_starters'][$key]['id'];
$profile = &$user_profile[$cmemcolid];
if(!empty($profile['member_group_color']) || !empty($profile['post_group_color']))
$context['top_starters'][$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>';
}
}
   // Top 10 Online Olanlar
   // !!!SLOW This query is sorta slow.  Should we just add a key? (or would that be bad in the long run?)
   $temp = cache_get_data('stats_total_time_members', 600);
   $members_result = db_query("
      SELECT ID_MEMBER, realName, totalTimeLoggedIn
      FROM {$db_prefix}members" . (!empty($temp) ? "
      WHERE ID_MEMBER IN (" . implode(', ', $temp) . ")" : '') . "
      ORDER BY totalTimeLoggedIn DESC
      LIMIT 20", __FILE__, __LINE__);
   $context['top_time_online'] = array();
   $temp2 = array();
   $max_time_online = 1;
   while ($row_members = mysql_fetch_assoc($members_result))
   {
      $temp2[] = (int) $row_members['ID_MEMBER'];
      if (count($context['top_time_online']) >= 10)
         continue;

      // Figure out the days, hours and minutes.
      $timeDays = floor($row_members['totalTimeLoggedIn'] / 86400);
      $timeHours = floor(($row_members['totalTimeLoggedIn'] % 86400) / 3600);

      // Figure out which things to show... (days, hours, minutes, etc.)
      $timelogged = '';
      if ($timeDays > 0)
         $timelogged .= $timeDays . $txt['totalTimeLogged5'];
      if ($timeHours > 0)
         $timelogged .= $timeHours . $txt['totalTimeLogged6'];
      $timelogged .= floor(($row_members['totalTimeLoggedIn'] % 3600) / 60) . $txt['totalTimeLogged7'];

      $context['top_time_online'][] = array(
         'id' => $row_members['ID_MEMBER'],
         'name' => $row_members['realName'],
         'time_online' => $timelogged,
         'seconds_online' => $row_members['totalTimeLoggedIn'],
         '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 ($max_time_online < $row_members['totalTimeLoggedIn'])
         $max_time_online = $row_members['totalTimeLoggedIn'];
   }
   mysql_free_result($members_result);

   foreach ($context['top_time_online'] as $i => $member)
      $context['top_time_online'][$i]['time_percent'] = round(($member['seconds_online'] * 100) / $max_time_online);

   // Cache the ones we found for a bit, just so we don't have to look again.
   if ($temp !== $temp2)
      cache_put_data('stats_total_time_members', $temp2, 480);
   //Yeah baby give me some colors =).
if (!empty($MemberColor_ID_MEMBER)) {
//Now Load the Missing global :)
global $user_profile;
loadMemberData($MemberColor_ID_MEMBER);
$cmemcolid = NULL;
if (!empty($modSettings['MemberColorStats'])) {
// max.online olanlar
foreach($context['top_time_online'] as $key => $value) {
$cmemcolid = $context['top_time_online'][$key]['id'];
$profile = &$user_profile[$cmemcolid];
if(!empty($profile['member_group_color']) || !empty($profile['post_group_color']))
$context['top_time_online'][$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>';
}
}


Themes/sizintemaniz/boardindex.template.php dosyasında bulun ve silin :
// 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 cellpadding="0" cellspacing="0" width="100%" border="0">';

/* 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="middletext" valign="top" nowrap="nowrap"><b>', $post['link'], '</b> ', $txt[525], ' ', $post['poster']['link'], ' (', $post['board']['link'], ')</td>
<td class="middletext" align="right" valign="top" nowrap="nowrap">', $post['time'], '</td>
</tr>';
echo '
</table>';
}
echo '
</td>
</tr>';
}



Top 10 modifikasyonunun kategorilerin üstünde çıkmasını istiyorsanız ;

Themes/sizintemaniz/boardindex.template.php dosyasında bulun :
/* Each category in categories is made up of:

Üstüne Ekleyin :
// Top 10
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="5" align="center" class="catbg" height="24">
', $context['forum_name'], '', $txt['top10stats_'], '
</td>
</tr>

<tr class="titlebg">
<td width="18%"><span class="smalltext" style="color: #fff; font-weight: bold;">Top 10 Mesaj</span></td>
<td width="18%"><span class="smalltext" style="color: #fff; font-weight: bold;">Top 10 Konu</span></td>
<td width="50%"><span class="smalltext" style="color: #fff; font-weight: bold;">Top 10 Popüler Konu</span></td>
<td width="14%"><span class="smalltext" style="color: #fff; font-weight: bold;">Yeni Uyeler</span></td>
</tr>

<tr class="windowbg">
<td width="18%" valign="top">

<table width="100%">
<tr>
<td width="75%" class="windowbg2"><span class="smalltext" style="font-weight: bold;"><u>Üye</u></span></td>
<td width="25%" class="windowbg2" align="right"><span class="smalltext" style="font-weight: bold;"><u>Mesaj</u></span></td>
</tr>';

// Top 10 Mesaj
foreach ($context['top_posters'] as $poster)
{
echo '<tr>
<td width="75%" class="windowbg2"><span class="smalltext"><img src="', $settings['images_url'], '/top10/rpbuser.gif" alt="" />&nbsp;', $poster['link'], '</span></td>
<td width="25%" class="windowbg2" align="right"><span class="smalltext">', $poster['num_posts'], '</span></td>
</tr>';
}

echo '</table>
</td>

<td width="18%" valign="top">
<table width="100%"class="windowbg">';
{
echo'
<tr>
<td width="75%" class="windowbg2"><span class="smalltext" style="font-weight: bold;"><u>Üye</u></span></td>
<td width="25%" class="windowbg2" align="right"><span class="smalltext" style="font-weight: bold;"><u>Konu</u></span></td>
</tr>';
}

// Top 10 Konu
foreach ($context['top_starters'] as $poster)
{
echo '<tr>
<td width="75%" class="windowbg2" valign="top"><span class="smalltext"><img src="', $settings['images_url'], '/top10/rpbuser.gif" alt="" />&nbsp;', $poster['link'], '</span></td>
<td width="25%" class="windowbg2" align="right" valign="top"><span class="smalltext">',$poster['num_topics'], '</span></td>
</tr>';
}
echo '</table>
</td>

<td width="32%" valign="top">
<table width="100%"class="windowbg">
<tr>
<td width="80%" class="windowbg2"><span class="smalltext" style="font-weight: bold;"><u>Konu</u></span></td>
<td width="20%" class="windowbg2" align="right"><span class="smalltext" style="font-weight: bold;"><u>Hit</u></span></td>
</tr>';

// Top 10 Popüler Konular
foreach ($context['top_topics_views'] as $topic)
{
echo '<tr>
<td width="80%" class="windowbg2" valign="top"><span class="smalltext"><img src="', $settings['images_url'], '/top10/rpbarrow.gif" alt="" />&nbsp;', $topic['link'], '</span></td>
<td width="20%" class="windowbg2" align="right" valign="top"><span class="smalltext">', $topic['num_views'], '&nbsp;<img src="', $settings['images_url'], '/top10/rpbhit.gif" alt="" /></span></td>
</tr>';
}
echo '</table>
</td>

<td width="14%" valign="top">
<table width="100%"class="windowbg">
<tr>
<td width="100%" class="windowbg2"><span class="smalltext" style="font-weight: bold;"><u>Üye</u></span></td>
</tr>';

// Top 10 Son Üyeler
foreach ($context['yeniuyeler'] as $poster)
{

echo '<tr>
<td width="100%" class="windowbg2" valign="top"><span class="smalltext"><img src="', $settings['images_url'], '/top10/rpbuser.gif" alt="" />&nbsp;',$poster['link'], '</span></td>
</tr>';
}
echo '</table>
</td>
</tr>

<tr class="windowbg">
<td width="100%"colspan="5" height="0">
<table width="100%">
<tr class="titlebg">
<td width="28%"><span class="smalltext" style="color: #fff; font-weight: bold;">Yanıtlanan Kategori</span></td>
<td width="36%"><span class="smalltext" style="color: #fff; font-weight: bold;">Yanıtlanan Konu</span></td>
<td width="18%"><span class="smalltext" style="color: #fff; font-weight: bold;">Gönderen</span></td>
<td width="18%"><span class="smalltext" style="color: #fff; font-weight: bold;">Tarih</span></td>
</tr>
</table>

<table cellspacing="1" width="100%" cellpadding="0" border="0">';

// Top 10 Son Konular
foreach ($context['latest_posts'] as $post)

echo '<tr>
<td class="windowbg2" valign="top" width="28%"><span class="smalltext"><img src="', $settings['images_url'], '/top10/rpbcat.gif" alt="" />&nbsp;', $post['board']['link'],  '</span></td>
<td class="windowbg2" valign="top" width="36%"><span class="smalltext"><img src="', $settings['images_url'], '/top10/rpbarrow.gif" alt="" />&nbsp;<a href="',$post['href'],'">', $post['short_subject'], '</a></span></td>
<td class="windowbg2" valign="top" width="18%"><span class="smalltext"><img src="', $settings['images_url'], '/top10/rpbuser.gif" alt="" />&nbsp;', $post['poster']['link'],'</span></td>
<td class="windowbg2" valign="top" width="18%"><span class="smalltext"><img src="', $settings['images_url'], '/top10/rpbdate.gif" alt="" />&nbsp;', $post['time'], '</span></td>
</tr>';
echo '</table>

</td>
</tr>

</table>
</div>';



Eğer Top 10 modifikasyonunun sitenin altındaki istatistikler bölümünün üstünde gözükmesini istiyorsanız ;

Themes/sizintemaniz/boardindex.template.php dosyasında bulun :
// Here's where the "Info Center" starts...

Üstüne Ekleyin :
// Top 10
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="5" align="center" class="catbg" height="24">
', $context['forum_name'], '', $txt['top10stats_'], '
</td>
</tr>

<tr class="titlebg">
<td width="18%"><span class="smalltext" style="color: #fff; font-weight: bold;">Top 10 Mesaj</span></td>
<td width="18%"><span class="smalltext" style="color: #fff; font-weight: bold;">Top 10 Konu</span></td>
<td width="50%"><span class="smalltext" style="color: #fff; font-weight: bold;">Top 10 Popüler Konu</span></td>
<td width="14%"><span class="smalltext" style="color: #fff; font-weight: bold;">Yeni Uyeler</span></td>
</tr>

<tr class="windowbg">
<td width="18%" valign="top">

<table width="100%">
<tr>
<td width="75%" class="windowbg2"><span class="smalltext" style="font-weight: bold;"><u>Üye</u></span></td>
<td width="25%" class="windowbg2" align="right"><span class="smalltext" style="font-weight: bold;"><u>Mesaj</u></span></td>
</tr>';

// Top 10 Mesaj
foreach ($context['top_posters'] as $poster)
{
echo '<tr>
<td width="75%" class="windowbg2"><span class="smalltext"><img src="', $settings['images_url'], '/top10/rpbuser.gif" alt="" />&nbsp;', $poster['link'], '</span></td>
<td width="25%" class="windowbg2" align="right"><span class="smalltext">', $poster['num_posts'], '</span></td>
</tr>';
}

echo '</table>
</td>

<td width="18%" valign="top">
<table width="100%"class="windowbg">';
{
echo'
<tr>
<td width="75%" class="windowbg2"><span class="smalltext" style="font-weight: bold;"><u>Üye</u></span></td>
<td width="25%" class="windowbg2" align="right"><span class="smalltext" style="font-weight: bold;"><u>Konu</u></span></td>
</tr>';
}

// Top 10 Konu
foreach ($context['top_starters'] as $poster)
{
echo '<tr>
<td width="75%" class="windowbg2" valign="top"><span class="smalltext"><img src="', $settings['images_url'], '/top10/rpbuser.gif" alt="" />&nbsp;', $poster['link'], '</span></td>
<td width="25%" class="windowbg2" align="right" valign="top"><span class="smalltext">',$poster['num_topics'], '</span></td>
</tr>';
}
echo '</table>
</td>

<td width="32%" valign="top">
<table width="100%"class="windowbg">
<tr>
<td width="80%" class="windowbg2"><span class="smalltext" style="font-weight: bold;"><u>Konu</u></span></td>
<td width="20%" class="windowbg2" align="right"><span class="smalltext" style="font-weight: bold;"><u>Hit</u></span></td>
</tr>';

// Top 10 Popüler Konular
foreach ($context['top_topics_views'] as $topic)
{
echo '<tr>
<td width="80%" class="windowbg2" valign="top"><span class="smalltext"><img src="', $settings['images_url'], '/top10/rpbarrow.gif" alt="" />&nbsp;', $topic['link'], '</span></td>
<td width="20%" class="windowbg2" align="right" valign="top"><span class="smalltext">', $topic['num_views'], '&nbsp;<img src="', $settings['images_url'], '/top10/rpbhit.gif" alt="" /></span></td>
</tr>';
}
echo '</table>
</td>

<td width="14%" valign="top">
<table width="100%"class="windowbg">
<tr>
<td width="100%" class="windowbg2"><span class="smalltext" style="font-weight: bold;"><u>Üye</u></span></td>
</tr>';

// Top 10 Son Üyeler
foreach ($context['yeniuyeler'] as $poster)
{

echo '<tr>
<td width="100%" class="windowbg2" valign="top"><span class="smalltext"><img src="', $settings['images_url'], '/top10/rpbuser.gif" alt="" />&nbsp;',$poster['link'], '</span></td>
</tr>';
}
echo '</table>
</td>
</tr>

<tr class="windowbg">
<td width="100%"colspan="5" height="0">
<table width="100%">
<tr class="titlebg">
<td width="28%"><span class="smalltext" style="color: #fff; font-weight: bold;">Yanıtlanan Kategori</span></td>
<td width="36%"><span class="smalltext" style="color: #fff; font-weight: bold;">Yanıtlanan Konu</span></td>
<td width="18%"><span class="smalltext" style="color: #fff; font-weight: bold;">Gönderen</span></td>
<td width="18%"><span class="smalltext" style="color: #fff; font-weight: bold;">Tarih</span></td>
</tr>
</table>

<table cellspacing="1" width="100%" cellpadding="0" border="0">';

// Top 10 Son Konular
foreach ($context['latest_posts'] as $post)

echo '<tr>
<td class="windowbg2" valign="top" width="28%"><span class="smalltext"><img src="', $settings['images_url'], '/top10/rpbcat.gif" alt="" />&nbsp;', $post['board']['link'],  '</span></td>
<td class="windowbg2" valign="top" width="36%"><span class="smalltext"><img src="', $settings['images_url'], '/top10/rpbarrow.gif" alt="" />&nbsp;<a href="',$post['href'],'">', $post['short_subject'], '</a></span></td>
<td class="windowbg2" valign="top" width="18%"><span class="smalltext"><img src="', $settings['images_url'], '/top10/rpbuser.gif" alt="" />&nbsp;', $post['poster']['link'],'</span></td>
<td class="windowbg2" valign="top" width="18%"><span class="smalltext"><img src="', $settings['images_url'], '/top10/rpbdate.gif" alt="" />&nbsp;', $post['time'], '</span></td>
</tr>';
echo '</table>

</td>
</tr>

</table>
</div>';


Themes/sizintemaniz/languages/modifications.turkish.php dosyasında bulun :
?>

Üstüne ekleyin :
$txt['top10stats_'] = ' İstatistikler';


Themes/sizintemaniz/languages/modifications.english.php dosyasında bulun :
?>

Üstüne ekleyin :
$txt['top10stats_'] = ' Stats';


Evet gelelim dosyalara.Aşağıda verdiğim adresdeki zip dosyasını açıp içindeki top10 klasörünü olduğu gibi Themes/sizintemaniz/images içine atın.


Dosyaları buradan indirebilirsiniz.





İstatistikler Top 10 Düzenli (Sadece Son konular)

Açıklama ;

Sadece boardindex.template.php dosyasında değişiklik yapılmış olup üstteki Top 10 modifikasyonundan editleme yapılmıştır.XHTML hatası yoktur.İlgili resim aşağıdadır, üstüne tıklayarak büyük halini görebilirsiniz.




Yapılışı :

Öncelikle "Admin Paneli > Kullanılan Tema > Forum ana sayfasında gösterilecek en son ileti" bu bölümdeki değeri 10 yapmalıyız.Sonra ;


Themes/sizintemaniz/boardindex.template.php dosyasında bulun :
// 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 cellpadding="0" cellspacing="0" width="100%" border="0">';

/* 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="middletext" valign="top" nowrap="nowrap"><b>', $post['link'], '</b> ', $txt[525], ' ', $post['poster']['link'], ' (', $post['board']['link'], ')</td>
<td class="middletext" align="right" valign="top" nowrap="nowrap">', $post['time'], '</td>
</tr>';
echo '
</table>';
}
echo '
</td>
</tr>';
}



Değiştirin :
// 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 class="windowbg2" cellspacing="1" width="100%" cellpadding="0"  border="0">
<tr>
<th class="windowbg" align="left" width="29%">', $txt['smf267'], '</th>
<th class="windowbg" align="left" width="29%">', $txt[64], '</th>
<th class="windowbg" align="left" width="13%">', $txt[197], '</th>
<th class="windowbg" align="left" width="29%">', $txt[317], '</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="windowbg" valign="middle" width="29%"><img src="', $settings['images_url'], '/rpbcat.gif" alt="" /> ', $post['board']['link'], '</td>
<td class="windowbg" valign="middle" width="29%"><a href="', $post['href'],'"><img src="', $settings['images_url'], '/rpbarrow.gif" alt="" /> ', $post['short_subject'], '</a></td>
<td class="windowbg" valign="middle" width="13%"><img src="', $settings['images_url'], '/rpbuser.gif" alt="" /> ', $post['poster']['link'], '</td>
<td class="windowbg" valign="middle" width="29%"><img src="', $settings['images_url'], '/rpbdate.gif" alt="" /> ', $post['time'], '</td>
</tr>';
echo '
</table>';

}
echo '
</td>
</tr>';
}



Evet gelelim dosyalara.Aşağıda verdiğim adresdeki zip dosyasını açıp içindeki resimleri  Themes/sizintemaniz/images içine atın.

Dosyaları buradan indirebilirsiniz.


Not: Bu anlatımları kaynak göstererek istediğiniz yerde paylaşabilirsiniz.

kalibre

süper olmuş kardeşim ellerine sağlık ;D

intFUSE


[-Delete-]

aranan kan bulunmuştur :P

Teşekkürler BrKn* emeğine sağlık , artık daralmıştım Top 10 nerdee , Hata vaar gibisinden konulardan , Bu Çözüm olur inş.

Tekrar teşekkürler. Kolay gelsin...
Pess..!

intFUSE


Tick Tock

#5
Çok estetik çok güzel olmuş ellerine sağlık.
Yalnız bir isteğim olacak, ben sadece Yanıtlanan Kategori     Yanıtlanan Konu     Gönderen     Tarih bölümlerini istiyorum, üst taraflar olunca benim temayla uygunsuz duruyor.

Boardindex.template de istemediğim yerleri sildim ama bu seferde görüntü bozuldu. Ne yapmak lazım ?

Edit: Height, weightlerle oynayayım bakalım belki düzelir.
This is our time, we have you now, you are our great delight, scream to your god, who never hears a thing, he's not with you now, the time is right !

intFUSE

eğer öyle istiyorsan burda yapılan hiçbirşeyi uygulama (: beklersen biraz daha değişik ve sadece boardindex.template dosyasında değişiklik yapılan bir eklenti yapabilirim (:

Tick Tock

Olabilir.
Genişlik, yükseklikle falan oynadım ama pekte sağlıklı olmadı.
This is our time, we have you now, you are our great delight, scream to your god, who never hears a thing, he's not with you now, the time is right !

intFUSE

#8
ilk mesaja ekledim deneyebilirsin..

Tick Tock

Sağol güzel oldu. Yalnız, resimlerin linkini $settings['images_url'], '/top10/falanfilan.gif şeklinde vermeyi unutmuşsun, aceleden olsa gerek.
This is our time, we have you now, you are our great delight, scream to your god, who never hears a thing, he's not with you now, the time is right !

intFUSE

hayır  :) onun kendi resimleri var altında linkde verdim.onları images'e atıcaksın.   ;D

Tick Tock

Asıl benim gözümden kaçmış :) Neyse ben hala top10 klasöründeki resimleri kullanmaya devam edeyim.
Tekrar teşekkürler.
This is our time, we have you now, you are our great delight, scream to your god, who never hears a thing, he's not with you now, the time is right !


Gökhan | Brestgerfich

#13
2.0 beta ile uyumlu mudur acaba ?

bİ DE acaba bu istatistiklere, Günün En Aktif üyesini de ekleyebilir miyiz ?

intFUSE

betalıktan çıktıntan sonra yaptığım eklenti ve temaları 2.0'a uyarlamayı düşünüyorum.

Günün en aktif üyesini de boş bir zamanımda uğraşırım :)

Yağız...

Tartışma yaratan mesajlar silinmiştir. Lütfen daha dikkatli olunuz.


ibotheibo

1-tablonun ayarlarını nasıl değiştiririz. enine küçültüp-büyütmek gibi..

2-top 10 popüler konu ve yanıtlanan konu bölümlerinde yazılar çok kısa. mesela komik karika.... diye noktalarla kesiyor ama tablo geniş ve yanda epey bir boşluk var neden devam etmiyo çözümü varmı??


intFUSE

Quote from: ibotheibo on December 04, 2008, 04:42:58 PM
1-tablonun ayarlarını nasıl değiştiririz. enine küçültüp-büyütmek gibi..

2-top 10 popüler konu ve yanıtlanan konu bölümlerinde yazılar çok kısa. mesela komik karika.... diye noktalarla kesiyor ama tablo geniş ve yanda epey bir boşluk var neden devam etmiyo çözümü varmı??

1. soruna cevap boardindex.template deki table kodlarından yapabilrisin.

2. soruna cevap recent.phpden değişiyor ama bakacak durumda değilim şuan.

@0000sinan teşekkürler




Herkese iyi bayramlar :)

Advertisement: