Autor Tópico: O dia, semana, mês, Componentes - bloco php  (Lida 8739 vezes)

0 Membros e 2 Visitantes estão a ver este tópico.

Offline candidosa2

  • Suporte Tecnico
  • Fundador
  • *
  • Mensagens: 5073
  • Rank: 1658
  • Sexo: Masculino
  • Suporte
    • Hosting Moçambique
O dia, semana, mês, Componentes - bloco php
« em: 26 de Agosto de 2013, 22:32 »















Criar um Bloco Php PHP Personalizado



Código: [Seleccione]

  global $smcFunc, $scripturl, $context, $settings;


   // Top 10 Posters so far today
   // Change the time depending on server time offset
   list($year, $month, $day) = explode('-', date('Y-m-d'));
    $starttime = mktime(0, 0, 0, $month, $day, $year);
   // Offset based on forum time
   $starttime = forum_time(false, $starttime);
   
   $request = $smcFunc['db_query']('', '
      SELECT me.id_member, me.real_name, COUNT(*) as count_posts
      FROM {db_prefix}messages AS m
         LEFT JOIN {db_prefix}members AS me ON (me.id_member = m.id_member)
      WHERE m.poster_time > {int:start_time}
         AND m.id_member != 0
      GROUP BY me.id_member
      ORDER BY count_posts DESC
      LIMIT 5',
      array(
         'start_time' => $starttime,
      )
   );
         
   $context['top_posters_day'] = array();
   $max_num_posts = 1;
   while ($row_members = $smcFunc['db_fetch_assoc']($request))
   {
      $context['top_posters_day'][] = array(
         'name' => $row_members['real_name'],
         'id' => $row_members['id_member'],
         'num_posts' => $row_members['count_posts'],
         'href' => $scripturl . '?action=profile;u=' . $row_members['id_member'],
         'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row_members['id_member'] . '">' .


$row_members['real_name'] . '</a>'
      );


      if ($max_num_posts < $row_members['count_posts'])
         $max_num_posts = $row_members['count_posts'];
   }
   $smcFunc['db_free_result']($request);


   foreach ($context['top_posters_day'] as $i => $j)
      $context['top_posters_day'][$i]['post_percent'] = round(($j['num_posts'] * 100) / $max_num_posts);
   
   // Tidy up
   unset($max_num_posts, $row_members, $j, $i);
   global $smcFunc, $scripturl, $context, $settings;


   // Top 10 Posters so far this week  (starts sunday)
   $starttime = mktime(0, 0, 0, date("n"), date("j"), date("Y")) - (date("N")*3600*24);
   // Offset based on forum time
   $starttime = forum_time(false, $starttime);
   
   $request = $smcFunc['db_query']('', '
      SELECT me.id_member, me.real_name, COUNT(*) as count_posts
      FROM {db_prefix}messages AS m
         LEFT JOIN {db_prefix}members AS me ON (me.id_member = m.id_member)
      WHERE m.poster_time > {int:start_time}
         AND m.id_member != 0
      GROUP BY me.id_member
      ORDER BY count_posts DESC
      LIMIT 5',
      array(
         'start_time' => $starttime,
      )
   );
   
   $context['top_posters_week'] = array();
   $max_num_posts = 1;
   while ($row_members = $smcFunc['db_fetch_assoc']($request))
   {
      $context['top_posters_week'][] = array(
         'name' => $row_members['real_name'],
         'id' => $row_members['id_member'],
         'num_posts' => $row_members['count_posts'],
         'href' => $scripturl . '?action=profile;u=' . $row_members['id_member'],
         'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row_members['id_member'] . '">' .


$row_members['real_name'] . '</a>'
      );


      if ($max_num_posts < $row_members['count_posts'])
         $max_num_posts = $row_members['count_posts'];
   }
   $smcFunc['db_free_result']($request);


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


   // Tidy up
   unset($max_num_posts, $row_members, $j, $i);
      global $smcFunc, $scripturl, $context, $settings;


   // Top 10 Posters so far this month  (starts sunday)
   $starttime = mktime(0, 0, 0, date("n"), date("j"), date("Y")) - (3600*24*31);
   // Offset based on forum time
   $starttime = forum_time(false, $starttime);
   
   $request = $smcFunc['db_query']('', '
      SELECT me.id_member, me.real_name, COUNT(*) as count_posts
      FROM {db_prefix}messages AS m LEFT JOIN {db_prefix}members AS me ON (me.id_member = m.id_member)
      WHERE m.poster_time > {int:start_time}
         AND m.id_member != 0
      GROUP BY me.id_member
      ORDER BY count_posts DESC
      LIMIT 5',
      array(
         'start_time' => $starttime,
      )
   );
   
   $context['top_posters_month'] = array();
   $max_num_posts = 1;
   while ($row_members = $smcFunc['db_fetch_assoc']($request))
   {
      $context['top_posters_month'][] = array(
         'name' => $row_members['real_name'],
         'id' => $row_members['id_member'],
         'num_posts' => $row_members['count_posts'],
         'href' => $scripturl . '?action=profile;u=' . $row_members['id_member'],
         'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row_members['id_member'] . '">' .


$row_members['real_name'] . '</a>'
      );


      if ($max_num_posts < $row_members['count_posts'])
         $max_num_posts = $row_members['count_posts'];
   }
   $smcFunc['db_free_result']($request);


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


   // Tidy up
   unset($max_num_posts, $row_members, $j, $i);


   echo '




<table border="1" width="100%" style="border-collapse: collapse; border-width: 0px">
<tr>
<td style="border-style: none; border-width: medium">   <table border="1" width="100%"


style="border-collapse: collapse; border-width: 0px">
<tr>
<td style="border-style: none; border-width: medium" width="100" align="right">
     <img border="0" src="http://www.simpleportalpt.net/images/smfptmhj.gif" width="75" height="98"></td>


<td style="border-style: none; border-width: medium">  <table border="0" cellpadding="1" cellspacing="0"


width="100%">
';


   foreach ($context['top_posters_day'] as $poster)
      echo '
            <tr>
<div>', sp_embed_image($user['name'] == 'H' ? 'tux' : 'user'), ' ', $poster['link'], '   


[', $poster['num_posts'], ']<>
            </tr>';
   echo '
         </table></td>
</tr>
</table></td>
<td style="border-style: none; border-width: medium">   <table border="1" width="100%"


style="border-collapse: collapse; border-width: 0px">
<tr>
<td style="border-style: none; border-width: medium" width="100" align="right">
<img border="0" src="http://www.simpleportalpt.net/images/msmfptsemana.gif" width="75" height="98">
</td>
<td style="border-style: none; border-width: medium">
         <table border="0" cellpadding="1" cellspacing="0" width="100%">
';


   foreach ($context['top_posters_week'] as $poster)
      echo '
            <tr>
              <div>', sp_embed_image($user['name'] == 'H' ? 'tux' : 'user'), ' ', $poster['link'], '     [',


$poster['num_posts'], ']<>
            </tr>';
   echo '
         </table></td>
</tr>
</table>
</td>
<td style="border-style: none; border-width: medium"><table border="1" width="100%"


style="border-collapse: collapse; border-width: 0px">
<tr>
<td style="border-style: none; border-width: medium" width="100" align="right">
<img border="0" src="http://www.simpleportalpt.net/images/mmessmfpt.gif" width="75" height="98"> </td>
<td style="border-style: none; border-width: medium">
         <table border="0" cellpadding="1" cellspacing="0" width="100%">
';


   foreach ($context['top_posters_month'] as $poster)
      echo '
            <tr >
             <div> ', sp_embed_image($user['name'] == 'H' ? 'tux' : 'user'), ' ', $poster['link'], '   [',


$poster['num_posts'], ']<>
            </tr>';
   echo '
         </table></td>
</tr>
</table></td>
</tr>
</table>';




Abrir o ficheiro index.css


Pesquisar por





.information
{
	
padding0.5em 1em;
	
font-size0.9em;
	
line-height1.3em;
	
border1px solid #003c74;
	
background#f5f5f5;
	
margin0.2em 1px 1em 1px;
}










.en
{
	
padding0.5em 1em;
	
font-size0.9em;
	
line-height1.3em;
	
border1px solid #003c74;
	
background#ffffff;
	
margin0.2em 1px 1em 1px;
}