Visa bild om användare varit registrerad i x antal år?

Frågor kring MODdar (modifikationer) för phpBB 2.0.x.

Moderatorer: Supportgrupp, Moderatorgrupp

ktd
Medlem
Medlem
Inlägg: 41
Blev medlem: 2005-05-02 20:29

Visa bild om användare varit registrerad i x antal år?

Inlägg av ktd » 2008-07-03 11:45

Här kommer en till önskan om en mod från mig. :oops:

Jag skulle vilja visa en bild under avataren typ för medlemmar som varit registrerade i mer än 2 år.
Det ska vara en statiskbild som inte ska kunna ändras osv.

Jag tycker man borde kunna göra det med IF-sats och direktlänk till en bild i image-mappen och inte nån ändring i databasen men jag lämnar det till er smart människor att lösa! ;)

Tack på föhand!

Användarvisningsbild
Marcus
Administratör
Administratör
Inlägg: 4321
Blev medlem: 2004-01-07 22:12
Ort: Skövde
Kontakt:

Re: Visa bild om användare varit registrerad i x antal år?

Inlägg av Marcus » 2008-07-05 07:38

På vilken sida sak det visas? Profilsidan?

/marcus
Marcus Farrington - Administratör på phpBB Sverige
OBS! På förekommen anledning ges ingen support via PM.

Webb- & Drupalutvecklare på Webbyrå Grebban.

ktd
Medlem
Medlem
Inlägg: 41
Blev medlem: 2005-05-02 20:29

Re: Visa bild om användare varit registrerad i x antal år?

Inlägg av ktd » 2008-07-05 09:29

Profilsidan och inläggen som jag tror heter viewtopic.php

Användarvisningsbild
Marcus
Administratör
Administratör
Inlägg: 4321
Blev medlem: 2004-01-07 22:12
Ort: Skövde
Kontakt:

Re: Visa bild om användare varit registrerad i x antal år?

Inlägg av Marcus » 2008-07-05 12:02

Två PHP-filer ska ändras:
<forumrot>/viewtopic.php
<forumrot>/includes/usercp_viewprofile.php


Två TPL-filer (template), för enkelhetens skull har jag valt att ändra i Subsilver:
<forumrot>/templates/subSilver/profile_view_body.tpl
<forumrot>/templates/subSilver/viewtopic_body.tpl


Delar nu upp detta svar i flera inlägg, ett per fil... så hoppas jag att det blir lätt att hänga med.

Nedan förutsätter jag att bilden är samma oavsett Template, och lägger därför filen i <forumrot>/images.
Ändra "filename.png" om det behövs där.

Vidare har jag valt att använda en metod som enkelt kan kompletteras med inställningar i ACP.

Spårkhantering är inte nödvändig såg jag det som, men det går att komplettera med det också enkelt.

Kom ihåg, spara en backup på filerna du redigerar.

/marcus
Marcus Farrington - Administratör på phpBB Sverige
OBS! På förekommen anledning ges ingen support via PM.

Webb- & Drupalutvecklare på Webbyrå Grebban.

Användarvisningsbild
Marcus
Administratör
Administratör
Inlägg: 4321
Blev medlem: 2004-01-07 22:12
Ort: Skövde
Kontakt:

Re: Visa bild om användare varit registrerad i x antal år?

Inlägg av Marcus » 2008-07-05 12:03

I filen <forumrot>/viewtopic.php

Leta upp:

Kod: Markera allt

	$poster_avatar = '';
	if ( $postrow[$i]['user_avatar_type'] && $poster_id != ANONYMOUS && $postrow[$i]['user_allowavatar'] )
	{
		switch( $postrow[$i]['user_avatar_type'] )
		{
			case USER_AVATAR_UPLOAD:
				$poster_avatar = ( $board_config['allow_avatar_upload'] ) ? '<img src="' . $board_config['avatar_path'] . '/' . $postrow[$i]['user_avatar'] . '" alt="" border="0" />' : '';
				break;
			case USER_AVATAR_REMOTE:
				$poster_avatar = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $postrow[$i]['user_avatar'] . '" alt="" border="0" />' : '';
				break;
			case USER_AVATAR_GALLERY:
				$poster_avatar = ( $board_config['allow_avatar_local'] ) ? '<img src="' . $board_config['avatar_gallery_path'] . '/' . $postrow[$i]['user_avatar'] . '" alt="" border="0" />' : '';
				break;
		}
	}
Direkt efter, lägg in:

Kod: Markera allt

// BEGIN - MEMBER FOR LONG TIME
	$poster_long_time_member_img = '';
      if ($postrow[$i]['user_regdate'] < date(strtotime('-2 years')))
	{
		$poster_long_time_member_img = '<img src="./images/filename.png" alt="" border="0" />';
	}	
// END - MEMBER FOR LONG TIME

Leta upp:

Kod: Markera allt

		'POSTER_AVATAR' => $poster_avatar,
Direkt efter, lägg in:

Kod: Markera allt

// BEGIN - MEMBER FOR LONG TIME
		'POSTER_LONGTIME' => $poster_long_time_member_img ,
// END - MEMBER FOR LONG TIME
Spara filen!
Marcus Farrington - Administratör på phpBB Sverige
OBS! På förekommen anledning ges ingen support via PM.

Webb- & Drupalutvecklare på Webbyrå Grebban.

Användarvisningsbild
Marcus
Administratör
Administratör
Inlägg: 4321
Blev medlem: 2004-01-07 22:12
Ort: Skövde
Kontakt:

Re: Visa bild om användare varit registrerad i x antal år?

Inlägg av Marcus » 2008-07-05 12:14

I filen <forumrot>/includes/usercp_viewprofile.php

Leta upp:

Kod: Markera allt

// Calculate the number of days this user has been a member ($memberdays)
// Then calculate their posts per day
//
$regdate = $profiledata['user_regdate'];
$memberdays = max(1, round( ( time() - $regdate ) / 86400 ));
Här har vi en uträkning av antal dagar någon varit medlem, och detta skulle man kunna använda, men jag tycker det är bra om man har samma lösning som var tvungen i viewtopic.php.

Direkt efter, lägg in:

Kod: Markera allt

// BEGIN - MEMBER FOR LONG TIME
$long_time_member_img = '';
if ($profiledata['user_regdate'] < date(strtotime('-2 years')))
{
	$long_time_member_img = '<img src="./images/filename.png" alt="" border="0" />';
}   
// END - MEMBER FOR LONG TIME
Leta upp:

Kod: Markera allt

	'AVATAR_IMG' => $avatar_img,
Direkt efter, lägg in:

Kod: Markera allt

// BEGIN - MEMBER FOR LONG TIME
	'LONGTIME' => $long_time_member_img ,
// END - MEMBER FOR LONG TIME
Spara filen!
Marcus Farrington - Administratör på phpBB Sverige
OBS! På förekommen anledning ges ingen support via PM.

Webb- & Drupalutvecklare på Webbyrå Grebban.

Användarvisningsbild
Marcus
Administratör
Administratör
Inlägg: 4321
Blev medlem: 2004-01-07 22:12
Ort: Skövde
Kontakt:

Re: Visa bild om användare varit registrerad i x antal år?

Inlägg av Marcus » 2008-07-05 12:21

I filen <forumrot>/templates/subSilver/viewtopic_body.tpl

Leta upp raden:

Kod: Markera allt

	<!-- BEGIN postrow -->
	<tr> 
		<td width="150" align="left" valign="top" class="{postrow.ROW_CLASS}"><span class="name"><a name="{postrow.U_POST_ID}"></a><b>{postrow.POSTER_NAME}</b></span><br /><span class="postdetails">{postrow.POSTER_RANK}<br />{postrow.RANK_IMAGE}{postrow.POSTER_AVATAR}<br /><br />{postrow.POSTER_JOINED}<br />{postrow.POSTER_POSTS}<br />{postrow.POSTER_FROM}</span><br /></td>
I 3:e den raden, hitta:

Kod: Markera allt

{postrow.POSTER_AVATAR}
I raden, direkt efter, lägg till:

Kod: Markera allt

<br />{postrow.POSTER_LONGTIME}
Spara filen!
Marcus Farrington - Administratör på phpBB Sverige
OBS! På förekommen anledning ges ingen support via PM.

Webb- & Drupalutvecklare på Webbyrå Grebban.

Användarvisningsbild
Marcus
Administratör
Administratör
Inlägg: 4321
Blev medlem: 2004-01-07 22:12
Ort: Skövde
Kontakt:

Re: Visa bild om användare varit registrerad i x antal år?

Inlägg av Marcus » 2008-07-05 12:26

I filen <forumrot>/templates/subSilver/profile_view_body.tpl

Leta upp raden:

Kod: Markera allt

	<td class="row1" height="6" valign="top" align="center">{AVATAR_IMG}<br /><span class="postdetails">{POSTER_RANK}</span></td>
I den raden, hitta:

Kod: Markera allt

{AVATAR_IMG}
I raden, direkt efter, lägg till:

Kod: Markera allt

<br />{LONGTIME}
Spara filen!
Marcus Farrington - Administratör på phpBB Sverige
OBS! På förekommen anledning ges ingen support via PM.

Webb- & Drupalutvecklare på Webbyrå Grebban.

Användarvisningsbild
Marcus
Administratör
Administratör
Inlägg: 4321
Blev medlem: 2004-01-07 22:12
Ort: Skövde
Kontakt:

Re: Visa bild om användare varit registrerad i x antal år?

Inlägg av Marcus » 2008-07-05 12:31

Ladda upp alla filer på sina platser, och testa.

/marcus

PS!
Har inte haft möjlighet att testa där jag sitter nu... men det borde fungera.
DS!
Marcus Farrington - Administratör på phpBB Sverige
OBS! På förekommen anledning ges ingen support via PM.

Webb- & Drupalutvecklare på Webbyrå Grebban.

Skriv svar

Vilka är online

Användare som besöker denna kategori: 2 och 0 gäster