TP-Docs
HTML5 Icon HTML5 Icon HTML5 Icon
TP on Social Media

Recent

Welcome to TinyPortal. Please login or sign up.

Members
  • Total Members: 3,963
  • Latest: BiZaJe
Stats
  • Total Posts: 195,917
  • Total Topics: 21,308
  • Online today: 884
  • Online ever: 8,223 (February 19, 2025, 04:35:35 AM)
Users Online
  • Users: 0
  • Guests: 237
  • Total: 237

RC3 & TP5-1 Multi New Member Avatar Block help

Started by bluedevil, April 16, 2010, 07:05:42 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Mick

Im trying to convert this code from 1.1.x to RC3 but i got snagged.  I think i got most of it done but im sure im missing something.

All i see is a blank page after activating it.   :-\


Original code by: JPDeni
http://www.tinyportal.net/index.php?topic=30387.msg242353#msg242353

My translation:
global $context, $settings, $scripturl, $txt, $db_prefix, $user_info, $modSettings, $user_profile, $smcFunc;

// How many members we want?
$count = 12;
// Avatar images.
$avatarImage = 'http://www.chevyavalancheclub/Themes/default/images/tinyportal/TPguest.png';

// Lets get the ID's of the members we want.
$request = $smcFunc['db_query']("", "
   SELECT id_member FROM {$db_prefix}members WHERE is_activated = 1 ORDER BY id_member DESC LIMIT ".$count);
$members = array();
while ($row = $smcFunc['db_fetch_assoc']($request))
   $members[] = $row['id_member'];
$smcFunc['db_free_result']($request);

// Load the data for these members.
loadMemberData($members);

// Now get the context.
foreach ($members as $member)
   loadMemberContext($member);

$number_per_row = 3; // how many you want to display in each row
echo '
<DIV ALIGN="CENTER">
<table>
   <tr>';
    $number_in_row = 0;
foreach ($memberContext as $member)
{
  if ($number_in_row == $number_per_row) {
    echo '</tr>
      <tr>';
      $number_in_row = 0;
  }
  ++$number_in_row;
   echo '
      <td>
         <a href="' . $scripturl . '?action=profile;u=' . $member['id'] . '" title="' . $txt['View the profile of'] . ' ' . $member['name'] . '">',
empty($member['avatar']['image']) ? '<img src="' . $avatarImage . '" />' : str_replace('class="avatar"', 'width="50" height="50" class="avatar"', $member['avatar']['image']), '<br />
         </a>
   </td>';
}

echo '
   </tr>
</table></div>';

IchBin

This:
SELECT id_member FROM {$db_prefix}members WHERE is_activated = 1 ORDER BY id_member DESC LIMIT ".$count, __FILE__, __LINE__);

Should be this:
SELECT id_member FROM {$db_prefix}members WHERE is_activated = 1 ORDER BY id_member DESC LIMIT ".$count);

Mick


IchBin

Quote from: bluedevil on April 19, 2010, 01:14:38 AM
I still see an empty page  :P

* IchBinâ„¢ puts on mind reading tin foil hat in hopes to read Bluedevil's mind to see if he had any errors in his SMF or server error log.
::)

Mick

Quote from: IchBinâ„¢ on April 19, 2010, 04:25:57 AM
Quote from: bluedevil on April 19, 2010, 01:14:38 AM
I still see an empty page  :P

* IchBinâ„¢ puts on mind reading tin foil hat in hopes to read Bluedevil's mind to see if he had any errors in his SMF or server error log.
::)

lol...

Im such a noob.  I'll post back. ;)

IchBin

Try this:
global $context, $settings, $scripturl, $txt, $db_prefix, $user_info, $modSettings, $user_profile, $smcFunc, $memberContext;

// How many members we want?
$count = 12;
// Avatar images.
$avatarImage = 'http://www.chevyavalancheclub/Themes/default/images/tinyportal/TPguest.png';

// Lets get the ID's of the members we want.
$request = $smcFunc['db_query']("", "
   SELECT id_member FROM {$db_prefix}members WHERE is_activated = 1 ORDER BY id_member DESC LIMIT ".$count);
$members = array();
while ($row = $smcFunc['db_fetch_assoc']($request))
   $members[] = $row['id_member'];
$smcFunc['db_free_result']($request);

// Load the data for these members.
loadMemberData($members);

// Now get the context.
foreach ($members as $member)
   loadMemberContext($member);

$number_per_row = 3; // how many you want to display in each row
echo '
<div align="center">
<table>
   <tr>';
    $number_in_row = 0;
foreach ($memberContext as $member)
{
  if ($number_in_row == $number_per_row) {
    echo '</tr>
      <tr>';
      $number_in_row = 0;
  }
  ++$number_in_row;
   echo '
      <td>
         <a href="' . $scripturl . '?action=profile;u=' . $member['id'] . '" title="View the profile of ' . $member['name'] . '">',
empty($member['avatar']['image']) ? '<img src="' . $avatarImage . '" />' : str_replace('class="avatar"', 'width="50" height="50" class="avatar"', $member['avatar']['image']), '<br />
         </a>
   </td>';
}

echo '
   </tr>
</table></div>';

Mick

That worked!   Thanx.

Do you mind posting what was fixed?  I'd like to know ;)

Mick

I dont want search engine count the avatars as links.

Will a rel="nofollow" work like this?

         <a rel="nofollow" href="' . $scripturl . '?action=profile;u=' . $member['id'] . '" title="View the profile of ' . $member['name'] . '">',
empty($member['avatar']['image']) ? '<img src="' . $avatarImage . '" />' : str_replace('class="avatar"', 'width="50" height="50" class="avatar"', $member['avatar']['image']), '<br />

IchBin

If I remember right, all I did was add $memberContext to the globals.  I have no idea about search engine crap. lol

Mick

Quote from: IchBinâ„¢ on April 19, 2010, 04:49:19 PM
If I remember right, all I did was add $memberContext to the globals.  I have no idea about search engine crap. lol

Cool.  I wanted to know to expand my experience.

Yes, it works.  I used a meta tag tester and it didnt count as links.

Thanx!

This website is proudly hosted on Crocweb Cloud Website Hosting.