memberlist durch Realnamen Feld erweitern

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
MaracujaJoe
Mitglied
Beiträge: 25
Registriert: 21.10.2005 20:38

memberlist durch Realnamen Feld erweitern

Beitrag von MaracujaJoe »

Hallo,
ich habe folgendes Problem ...
Ich möchte meiner memberlist.php ein neues Feld Namens Real Namen: hinzufügen:
Die Informationen zum jeweiligen Namen soll sich die memberlist aus dem XDATA Mod holen!
Die Felder und Namen werden auch dargestellt nachdem ich einige Zeit gebraucht habe um die memberlist.php anzupassen ...
Doch nun Tritt folgender Fehler auf:
Von alle Benutzern die keinen Realnamen angegeben haben, hat der XDATA auch keinen XDATA_DATA -> user_id table angelegt ...
Die bedeutet mein Code füllt alle folgenden Felder bis zur neuen vorhandenen ID mit dem letzten Namen:
Seht selbst ...
http://www.bsv-heeren.de/5150/abi07/php ... erlist.php

Hier der Code:

Code: Alles auswählen

$sql = "SELECT username, user_id, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email, user_icq, user_aim, user_yim, user_msnm, user_avatar, user_avatar_type, user_allowavatar 
	FROM " . USERS_TABLE . "
	WHERE user_id <> " . ANONYMOUS . "
	ORDER BY $order_by";
if( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not query users', '', __LINE__, __FILE__, $sql);
}

if ( $row = $db->sql_fetchrow($result) )
{
	$i = 0;
	do
	{
		$username = $row['username'];
		$user_id = $row['user_id'];
		
		$sql2 = 'SELECT * FROM ' . XDATA_DATA_TABLE . '';
		
if( !($resultx = $db->sql_query($sql2)) )
{
	message_die(GENERAL_ERROR, 'Could not query users', '', __LINE__, __FILE__, $sql2);
}
if ( $row2 = $db->sql_fetchrow($resultx) )
{
	do
	{
		if ($row2['user_id'] == $user_id && $row2['field_id'] == 10)
			{
				$realusername = $row2['xdata_value'];
			}
		else if (!$row2['user_id'] != $user_id)
			{
			 $realusername = '-' ;
			 }
	}
	while ( $row2 = $db->sql_fetchrow($resultx) );
	$db->sql_freeresult($resultx);
}




		$from = ( !empty($row['user_from']) ) ? $row['user_from'] : '&nbsp;';
		$joined = create_date($lang['DATE_FORMAT'], $row['user_regdate'], $board_config['board_timezone']);
		$posts = ( $row['user_posts'] ) ? $row['user_posts'] : 0;

		$poster_avatar = '';
		if ( $row['user_avatar_type'] && $user_id != ANONYMOUS && $row['user_allowavatar'] )
		{
			switch( $row['user_avatar_type'] )
			{
				case USER_AVATAR_UPLOAD:
					$poster_avatar = ( $board_config['allow_avatar_upload'] ) ? '<img src="' . $board_config['avatar_path'] . '/' . $row['user_avatar'] . '" alt="" border="0" />' : '';
					break;
				case USER_AVATAR_REMOTE:
					$poster_avatar = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $row['user_avatar'] . '" alt="" border="0" />' : '';
					break;
				case USER_AVATAR_GALLERY:
					$poster_avatar = ( $board_config['allow_avatar_local'] ) ? '<img src="' . $board_config['avatar_gallery_path'] . '/' . $row['user_avatar'] . '" alt="" border="0" />' : '';
					break;
			}
		}

		if ( !empty($row['user_viewemail']) || $userdata['user_level'] == ADMIN )
		{
			$email_uri = ( $board_config['board_email_form'] ) ? append_sid("profile.$phpEx?mode=email&" . POST_USERS_URL .'=' . $user_id) : 'mailto:' . $row['user_email'];

			$email_img = '<a href="' . $email_uri . '"><img src="' . $images['icon_email'] . '" alt="' . $lang['Send_email'] . '" title="' . $lang['Send_email'] . '" border="0" /></a>';
			$email = '<a href="' . $email_uri . '">' . $lang['Send_email'] . '</a>';
		}
		else
		{
			$email_img = '&nbsp;';
			$email = '&nbsp;';
		}

		$temp_url = append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$user_id");
		$profile_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_profile'] . '" alt="' . $lang['Read_profile'] . '" title="' . $lang['Read_profile'] . '" border="0" /></a>';
		$profile = '<a href="' . $temp_url . '">' . $lang['Read_profile'] . '</a>';

		$temp_url = append_sid("privmsg.$phpEx?mode=post&" . POST_USERS_URL . "=$user_id");
		$pm_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_pm'] . '" alt="' . $lang['Send_private_message'] . '" title="' . $lang['Send_private_message'] . '" border="0" /></a>';
		$pm = '<a href="' . $temp_url . '">' . $lang['Send_private_message'] . '</a>';

		$www_img = ( $row['user_website'] ) ? '<a href="' . $row['user_website'] . '" target="_userwww"><img src="' . $images['icon_www'] . '" alt="' . $lang['Visit_website'] . '" title="' . $lang['Visit_website'] . '" border="0" /></a>' : '';
		$www = ( $row['user_website'] ) ? '<a href="' . $row['user_website'] . '" target="_userwww">' . $lang['Visit_website'] . '</a>' : '';

		if ( !empty($row['user_icq']) )
		{
			$icq_status_img = '<a href="http://wwp.icq.com/' . $row['user_icq'] . '#pager"><img src="http://web.icq.com/whitepages/online?icq=' . $row['user_icq'] . '&img=5" width="18" height="18" border="0" /></a>';
			$icq_img = '<a href="http://wwp.icq.com/scripts/search.dll?to=' . $row['user_icq'] . '"><img src="' . $images['icon_icq'] . '" alt="' . $lang['ICQ'] . '" title="' . $lang['ICQ'] . '" border="0" /></a>';
			$icq =  '<a href="http://wwp.icq.com/scripts/search.dll?to=' . $row['user_icq'] . '">' . $lang['ICQ'] . '</a>';
		}
		else
		{
			$icq_status_img = '';
			$icq_img = '';
			$icq = '';
		}

		$aim_img = ( $row['user_aim'] ) ? '<a href="aim:goim?screenname=' . $row['user_aim'] . '&message=Hello+Are+you+there?"><img src="' . $images['icon_aim'] . '" alt="' . $lang['AIM'] . '" title="' . $lang['AIM'] . '" border="0" /></a>' : '';
		$aim = ( $row['user_aim'] ) ? '<a href="aim:goim?screenname=' . $row['user_aim'] . '&message=Hello+Are+you+there?">' . $lang['AIM'] . '</a>' : '';

		$temp_url = append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$user_id");
		$msn_img = ( $row['user_msnm'] ) ? '<a href="' . $temp_url . '"><img src="' . $images['icon_msnm'] . '" alt="' . $lang['MSNM'] . '" title="' . $lang['MSNM'] . '" border="0" /></a>' : '';
		$msn = ( $row['user_msnm'] ) ? '<a href="' . $temp_url . '">' . $lang['MSNM'] . '</a>' : '';

		$yim_img = ( $row['user_yim'] ) ? '<a href="http://edit.yahoo.com/config/send_webmesg?.target=' . $row['user_yim'] . '&.src=pg"><img src="' . $images['icon_yim'] . '" alt="' . $lang['YIM'] . '" title="' . $lang['YIM'] . '" border="0" /></a>' : '';
		$yim = ( $row['user_yim'] ) ? '<a href="http://edit.yahoo.com/config/send_webmesg?.target=' . $row['user_yim'] . '&.src=pg">' . $lang['YIM'] . '</a>' : '';

		$temp_url = append_sid("search.$phpEx?search_author=" . urlencode($username) . "&showresults=posts");
		$search_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_search'] . '" alt="' . $lang['Search_user_posts'] . '" title="' . $lang['Search_user_posts'] . '" border="0" /></a>';
		$search = '<a href="' . $temp_url . '">' . $lang['Search_user_posts'] . '</a>';

		$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
		$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];

	
		$template->assign_block_vars('memberrow', array(
			'REALNAME' => $realusername,
			'ROW_NUMBER' => $i + ( $start + 1 ),
			'ROW_COLOR' => '#' . $row_color,
			'ROW_CLASS' => $row_class,
			'USERNAME' => $username,
			'FROM' => $from,
			'JOINED' => $joined,
			'POSTS' => $posts,
			'AVATAR_IMG' => $poster_avatar,
			'PROFILE_IMG' => $profile_img, 
			'PROFILE' => $profile, 
			'SEARCH_IMG' => $search_img,
			'SEARCH' => $search,
			'PM_IMG' => $pm_img,
			'PM' => $pm,
			'EMAIL_IMG' => $email_img,
			'EMAIL' => $email,
			'WWW_IMG' => $www_img,
			'WWW' => $www,
			'ICQ_STATUS_IMG' => $icq_status_img,
			'ICQ_IMG' => $icq_img, 
			'ICQ' => $icq, 
			'AIM_IMG' => $aim_img,
			'AIM' => $aim,
			'MSN_IMG' => $msn_img,
			'MSN' => $msn,
			'YIM_IMG' => $yim_img,
			'YIM' => $yim,
			
			'U_VIEWPROFILE' => append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$user_id"))
		);

		$i++;
	}
	while ( $row = $db->sql_fetchrow($result) );
	$db->sql_freeresult($result);
}
Hier muss ich wohl irgendetwas ändern:

Code: Alles auswählen

if ( $row2 = $db->sql_fetchrow($resultx) )
{
	do
	{
		if ($row2['user_id'] == $user_id && $row2['field_id'] == 10)
			{
				$realusername = $row2['xdata_value'];
			}
		else if (!$row2['user_id'] != $user_id)
			{
			 $realusername = '-' ;
			 }
	}
	while ( $row2 = $db->sql_fetchrow($resultx) );
	$db->sql_freeresult($resultx);
Ich müsste irgendwie eine Abfrage einbringen die die nicht vorhandenen Tabbellen berücksichtigt ...

Noch eine Info:
$row2['field_id'] == 10 ist das Realnamesfeld im XDATA_DATA_TABLE

mfg MaracujaJoe
Danke an alle Helfer im vorraus!
MaracujaJoe
Mitglied
Beiträge: 25
Registriert: 21.10.2005 20:38

Beitrag von MaracujaJoe »

Hm, hat niemand eine Idee wie man Abfragen kann ob der Table überhaupt existiert?
Benutzeravatar
Amaya
Mitglied
Beiträge: 150
Registriert: 08.12.2004 02:02

Beitrag von Amaya »

Hätte das selbe Problem, weiß da vielleicht inzwischen jemand eine Lösung? :cry:
Benutzeravatar
FSKiller / Phoenix
Mitglied
Beiträge: 872
Registriert: 28.08.2003 19:57
Wohnort: Berlin

Beitrag von FSKiller / Phoenix »

Das Problem ist doch behoben oder sehe ich das falsch?
Kein Support per PN/Mail, wer sucht der findet!
MaracujaJoe
Mitglied
Beiträge: 25
Registriert: 21.10.2005 20:38

Beitrag von MaracujaJoe »

Haha, das is ja Monate her ^^

Aber nein behoben ist es nicht, oder?
Ich habe es bei mir gelöst indem ich ein Normales Feld genommen habe und das hab ich einfach umbenannt und eins was ich ned Abfragen muss einfacvh in Xdata erstellt ... also bei mir geht es so, aber die richtige Lösung kann das denke ich nicht sein ...
MaracujaJoe
Mitglied
Beiträge: 25
Registriert: 21.10.2005 20:38

Beitrag von MaracujaJoe »

Bzw. Tacheles würde immernoch gerne weitere Feld in die Mitgleiderliste einfügen ... also nun wo ichs mal wieder so ansehe ...
Benutzeravatar
FSKiller / Phoenix
Mitglied
Beiträge: 872
Registriert: 28.08.2003 19:57
Wohnort: Berlin

Beitrag von FSKiller / Phoenix »

sei doch froh das dir wer helfen will .....

poste mal bitte memberlist.php und tpl dazu, damit ich mir das anschauen kann, also verlinken die datei nicht den code hier posten.
Kein Support per PN/Mail, wer sucht der findet!
Benutzeravatar
Amaya
Mitglied
Beiträge: 150
Registriert: 08.12.2004 02:02

Beitrag von Amaya »

@ MaracujaJoe Schade, hatte in deinem Forum gesehen, dass es jetzt geht und hatte schon gehofft, aber ich bekomme das auch irgendwie noch mit xdata hin und wenn ich das alles nochmal komplett umschreiben muss, hab mich jetzt an deine Anfänge gehalten, da ich dachte es geht inzwischen irgendwie, naja mal schaun.

@FSKiller die beiden Dateien: memberlist.php und tpl

Im moment sieht es eben so aus wie oben beschrieben, das die User, die die Angabe nicht gemacht haben, keine Tabelle erstellt bekommen und dadurch die Infos von anderen Usern dort eingetragen werden. Hoffe du hast vielleicht ne Idee, danke.
Kiste7
Mitglied
Beiträge: 54
Registriert: 24.03.2006 19:02

Beitrag von Kiste7 »

Hi, ich hatte die Idee für meine Community auch schon, aber jetzt mal ernsthaft, wer gibt seinen echten Namen an? Ich glaube das machen sehr wenige. Vielleicht kann man aber den echten Namen hinterlegen, und nur einzelnen freigeben. Sozusagen die akzeptierten Freunden.

D.H, wenn ich Heinz in meine Buddylist aufnehme, und Heiz auch mich, dann ist es ein akzeptierter zweiseitiger Kontakt. Dann könnte man den Realnamen einblenden.

Oder ist das doof? Schließlich weiß man ja vielleicht gar nicht, dass Heinz angemeldet ist, und möchte nach dem richtigen Namen suchen?!
MaracujaJoe
Mitglied
Beiträge: 25
Registriert: 21.10.2005 20:38

Beitrag von MaracujaJoe »

Hehe das mit Hinz hört sich gut an ^^

Aber für mein Forum ist das mit den Namen schon Sinnvoll, denn es ist für meinen Abiturjahrgang!

Naja, irgendwie müsste man das doch hinbekommen ;-) kehr kehr ^^
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“