Seite 1 von 1

zu falls Avantar im Portal

Verfasst: 11.04.2007 14:52
von double78
ich suche nen Mod wo ich ein zu falls Avantar eines Users im Forum im Portal anzeigen lassen kann, gib es so was ?

Hab die Suche benutzt aber ohne Ergebniss was weitergeholfen hätte.

Wenn es keinen Mod gibt kann mir einer der php Götter hier helfen?
einen Block im Portal erstellen kann ich ja noch aber alles andere wie welchen code da bin ich aufgeschmissen

wär toll wenn einer helfen könnte


gruß Tom

Verfasst: 25.04.2007 13:43
von phillip
öffne die Portal.php und suche

Code: Alles auswählen

// END: Top Posters MOD
Füge danach ein:

Code: Alles auswählen

$sql = "SELECT *
        FROM " . USERS_TABLE . "
	WHERE user_id <> " . ANONYMOUS . " AND
	user_avatar != ''
        ORDER BY RAND() LIMIT 1"; 
        if ( !($result = $db->sql_query($sql)) ) 
        { 
          message_die(GENERAL_ERROR, 'Konnte den zufalls avatar nicht laden!', '', __LINE__, __FILE__, $sql); 
        } 


while ( $row = $db->sql_fetchrow($result) ) 
{ 

$randpic = 'images/avatars/'.$row['user_avatar'];

$randuserlink = 'profile.php?mode=viewprofile&u='.$row['user_id'];

$template->assign_block_vars('randavatar', array( 
'RANDAVATAR' => $randpic,
'RANDLINK' => $randuserlink
)); 
}

öffne portal_body.tpl, und suche

Code: Alles auswählen

<!-- ##### BIRTHDAY ENDE ##### -->
füge danach ein:

Code: Alles auswählen

<br>
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline">
  		  <tr>
    		<th>Zufalls Avatar</th>
		  </tr>
		  <tr>
<!-- BEGIN randavatar --> 
			<td align="center"><a href="{randavatar.RANDLINK}"><img src="{randavatar.RANDAVATAR}"></a></td>
<!-- END randavatar -->
		</tr>
		</table>
natürlich kannst du diesen Code einfügen, wo es am besten passt. schau einfach, dass du es nach einem

Code: Alles auswählen

</table>
einfügst.

Viel Spass

Verfasst: 25.04.2007 13:50
von double78
ja sauber werd ich gleich mal ausprobieren.



Edit: phillip danke danke so wollte ich es haben!

Code: Alles auswählen

// END: Top Posters MOD
diesen gab es bei mir in der Portal.php nicht, hab den

Code: Alles auswählen

$sql = "SELECT *
        FROM " . USERS_TABLE . "
   WHERE user_id <> " . ANONYMOUS . " AND
   user_avatar != ''
        ORDER BY RAND() LIMIT 1";
        if ( !($result = $db->sql_query($sql)) )
        {
          message_die(GENERAL_ERROR, 'Konnte den zufalls avatar nicht laden!', '', __LINE__, __FILE__, $sql);
        }


while ( $row = $db->sql_fetchrow($result) )
{

$randpic = 'images/avatars/'.$row['user_avatar'];

$randuserlink = 'profile.php?mode=viewprofile&u='.$row['user_id'];

$template->assign_block_vars('randavatar', array(
'RANDAVATAR' => $randpic,
'RANDLINK' => $randuserlink
));
}
einfach wo anders in die portal eingebaut.

http://proevoliga.pr.ohost.de/phpBB2/portal.php wenn du es dir mal ansehen möchtes,recht im portal unter Forenstatistik.

nochmal vielen dank phillip

Verfasst: 25.04.2007 14:36
von phillip
Kein Problem. Doch ich hab gesehen, bei dir hat sich noch ein Schreibfehler eingeschlichen (Avatar, und nicht Avantar).

Verfasst: 25.04.2007 14:43
von double78
ups :oops: Danke für den Hinweis

Verfasst: 25.04.2007 17:54
von hackepeter13
Hi,

ich hab mir den Code auch mal eingebaut.

Nun dachte ich mir aber das ich das ganze für die Nickpage mache.

Also das er das Nickpage-Bild lädt ist ja nicht das ding, aber wie mache ich es jetzt, das er zum Bild auch die passende Nickpage verlingt.

Problem ist, das beim verlinken der Nickpage in der URL der Nickname statt die User-ID benutzt wird.

Mit dem einfachen Befehlt $row['username'] gehts leider nicht richtig, also er verlinkt eben immer zu einem anderen User als er als Zufall geladen hat.

Bislang hab ich nur diesen Code als weitesten Schritt:

Code: Alles auswählen

$sql = "SELECT * 
FROM " . USERS_TABLE . " a, " . NICKPAGE_TABLE . " b 
WHERE b.uid=a.user_id <> " . ANONYMOUS . " AND b.pic != ''
ORDER BY RAND() LIMIT 1"; 

        if ( !($result = $db->sql_query($sql)) ) 
        { 
          message_die(GENERAL_ERROR, 'Konnte die Zufalls-Nickpage nicht laden!', '', __LINE__, __FILE__, $sql); 
        } 

while ( $row = $db->sql_fetchrow($result) ) 
{ 

$randpic = $row['pic']; 

$randuserlink = 'nickpage.php?user='.$row['username']; 

$template->assign_block_vars('randavatar', array( 
'RANDAVATAR' => $randpic, 
'RANDLINK' => $randuserlink  
)); 
}
Wäre super, wenn mir jetzt noch jemand auf die Sprünge helfen kann, das er aus auch die richtige Nickpage verlinkt.

Hab schon einiges Probiert, aber leider erfolglos.

Verfasst: 25.04.2007 18:00
von phillip
Das würde dann so aussehen :

Code: Alles auswählen

$sql = "SELECT a.*, b.*
        FROM " . USERS_TABLE . " a, ".NICKPAGE_TABLE." b
        WHERE a.user_id = b.uid  AND pic != ''
        ORDER BY RAND() LIMIT 1"; 
        if ( !($result = $db->sql_query($sql)) ) 
        { 
          message_die(GENERAL_ERROR, 'Could not query random user data.', '', __LINE__, __FILE__, $sql); 
        } 


while ( $row = $db->sql_fetchrow($result) ) 
{ 

//AVATAR --------------------------------------------------

$randpic = $row['pic'];

// USERNAME ------------------------------------------------------------

$randuser = $row['username'];


//USERLINK ------------------------------------------------------------------
$randuserlink = append_sid($phpbb_root_path.'nickpage.php?user=' .$row['username']);

$template->assign_block_vars('randavatar', array( 
'RANDLINK' => $randuserlink,
'RANDAVATAR' => $randpic
)); 
}
Gib mir bitte bescheid ;-)

Verfasst: 25.04.2007 18:15
von hackepeter13
Super phillip

Klappt wunderbar, danke dir.

Mal sehen, was sich noch so draus machen läßt ^^