Extended Rank System + Rank in Memberlist [erledigt]

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
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.
Antworten
Benutzeravatar
blacksoul_
Mitglied
Beiträge: 20
Registriert: 14.06.2007 11:06
Wohnort: Rosenheim
Kontaktdaten:

Extended Rank System + Rank in Memberlist [erledigt]

Beitrag von blacksoul_ »

Hallo allerseits, kurz zu Erklärung, ich bin neu hier und betreibe seit ca. zwei Monaten ein eigenes Forum von phpBB. Bin absoluter php-Neuling, habe es aber geschafft einige Mods einzubauen die auch fehlerfrei Funktionieren. Oft hat mir bei Problemen schon die Suche hier im Forum weitergeholfen, diesmal leider nicht.

Also zum Problem:

Ich habe in meinem Forum (http://forum.mnpcs.de) u.a. die beiden Mods "Extended Rank System" und "Rank in Memberlist" installiert. Nun habe ich ein Problem mit der Kombination beider Mods. In der Mitgliederliste werden zwar die Ränge angezeigt aber falsch. Und zwar insofern falsch daß immer wenn ich ein neues Rankset erstelle bei allen Usern die Ränge des zuletzt erstellten Rank-Sets angezeigt werden.

Beispiel zur Verdeutlichung:

In meinem Forum sind die Benutzer in mehrere Gruppen unterteilt, Administratoren, Supermods, Moderatoren, Supporter und normale User. Jede dieser Gruppen hat ein eigenes Rank-Set mit eigenen Rank-Symbolen. Als letztes habe ich das Rank-Set Administratoren erstellt und mit der Benutzergruppe Administratoren verknüpft. Nun werden bei allen Benutzern in der Mitgliederliste die Ränge der Administratoren angezeigt. Bei den vorherigen Erstellungen der Rank-Sets das gleiche Problem.

Das Problem ist nur in der Mitgliederliste, im Rest des Forums werden alle Ränge richtig angezeigt. Nun hätte ich gerne daß das auch in der Mitgliederliste so funktioniert. Jegliche versuche das Problem selbst zu lösen sind (mangels Kenntniss) fehlgeschlagen.

Ich habe auch mal meine memberlist.php verlinkt:

http://www.mnpcs.de/forum/memberlist.txt

Ich hoffe mir kann jemand weiterhelfen.

Gruß Michael
Zuletzt geändert von blacksoul_ am 03.04.2008 09:32, insgesamt 2-mal geändert.
Der IE ist wirklich sehr wichtig! Man benötigt ihn, um sich einen Browser zu besorgen!

Mein Board
Benutzeravatar
blacksoul_
Mitglied
Beiträge: 20
Registriert: 14.06.2007 11:06
Wohnort: Rosenheim
Kontaktdaten:

Beitrag von blacksoul_ »

*push* (ich weis ist nicht gerne gesehen aber nach sooo langer Zeit;))

Habs Problem jetzt ne zeitlang nicht mehr verfolgt aber interessiert hätt mich schonmal an was es liegt. Ich benutze jetzt übrigens version 2.0.23.

Vielleicht liest das ja jemand der das gleiche oder ein ähnliches Problem hat!
Der IE ist wirklich sehr wichtig! Man benötigt ihn, um sich einen Browser zu besorgen!

Mein Board
Benutzeravatar
blacksoul_
Mitglied
Beiträge: 20
Registriert: 14.06.2007 11:06
Wohnort: Rosenheim
Kontaktdaten:

Beitrag von blacksoul_ »

Habs geschafft daß in der Memberlist zumindest das Standard-Rankset bei allen Usern angezeigt wird. Habe folgenden Code verändert:

Code: Alles auswählen

$sql = "SELECT *
	FROM " . RANKS_TABLE . "
	ORDER BY rank_special, rank_min";
if ( !($result = $db->sql_query($sql)) )
ersetzt mit:

Code: Alles auswählen

$sql = "SELECT *
	FROM " . RANKS_TABLE . "
	WHERE rankset_id = 1
	OR rank_special = " . TRUE . "
	ORDER BY rank_special, rank_min";
if ( !($result = $db->sql_query($sql)) )
Hätte es wie gesagt gerne so daß in der Memberlist bei jedem Mitglied der richtige Rang aus dem dementsprechenden Rankset angezeigt wird. Momentan wird bei allen das Rankset "forum default" angezeigt. Ich glaube daß ich zumindest schon auf dem richtigen Weg bin. Wäre natürlich schön wenn mir jemand mit Ahnung unter die Arme greift 8) Habe die aktuelle memberlist.php nochmal zum download bereitgestellt:

http://www.mnpcs.de/forum/memberlist.txt
Der IE ist wirklich sehr wichtig! Man benötigt ihn, um sich einen Browser zu besorgen!

Mein Board
Benutzeravatar
blacksoul_
Mitglied
Beiträge: 20
Registriert: 14.06.2007 11:06
Wohnort: Rosenheim
Kontaktdaten:

Beitrag von blacksoul_ »

Erledigt, habe das Problem selbst gelöst. Werde heute Abend mal die Lösung posten falls jemand das gleiche Problem hat.
Der IE ist wirklich sehr wichtig! Man benötigt ihn, um sich einen Browser zu besorgen!

Mein Board
Benutzeravatar
blacksoul_
Mitglied
Beiträge: 20
Registriert: 14.06.2007 11:06
Wohnort: Rosenheim
Kontaktdaten:

Beitrag von blacksoul_ »

So, hier wie versprochen die Lösung. Wichtig für alle die die Mods "Rank in Memberlist" und "Extended Rank Set" gleichzeitig installiert haben.

Finde:

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 
Füge danach ein:

Code: Alles auswählen

, user_rankset_id
Finde:

Code: Alles auswählen

$user_rank = '';
$rank_image = '';
if ( $row['user_rank'] )
{
	for($j = 0; $j < count($ranksrow); $j++)
	{
		if ( $row['user_rank'] == $ranksrow[$j]['rank_id'] && $ranksrow[$j]['rank_special'] )
		{
			$user_rank = $ranksrow[$j]['rank_title'];
			$rank_image = ( $ranksrow[$j]['rank_image'] ) ? '<img src="' . $ranksrow[$j]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
		}
	}
}
else
{
	for($j = 0; $j < count($ranksrow); $j++)
	{
		if ( $row['user_posts'] >= $ranksrow[$j]['rank_min'] && !$ranksrow[$j]['rank_special'] )
		{
			$user_rank = $ranksrow[$j]['rank_title'];
			$rank_image = ( $ranksrow[$j]['rank_image'] ) ? '<img src="' . $ranksrow[$j]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
		}
	}
}
Ersetze mit:

Code: Alles auswählen

$user_rank = '';
$rank_image = '';
if ( $row['user_rank'] )
{
	for($j = 0; $j < count($ranksrow); $j++)
	{
		if ( $row['user_rank'] == $ranksrow[$j]['rank_id'] && $ranksrow[$j]['rank_special'] )
		{
			$user_rank = $ranksrow[$j]['rank_title'];
			$rank_image = ( $ranksrow[$j]['rank_image'] ) ? '<img src="' . $ranksrow[$j]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
		}
	}
}
else
{
	for($j = 0; $j < count($ranksrow); $j++)
	{
		if ( $row['user_posts'] >= $ranksrow[$j]['rank_min'] && !$ranksrow[$j]['rank_special'] && $ranksrow[$j]['rankset_id'] == $row['user_rankset_id'] )
		{
			$user_rank = $ranksrow[$j]['rank_title'];
			$rank_image = ( $ranksrow[$j]['rank_image'] ) ? '<img src="' . $ranksrow[$j]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
		}
	}
}
Jetzt sollten die Ränge in der Mitgliederliste richtig angezeigt werden.
Der IE ist wirklich sehr wichtig! Man benötigt ihn, um sich einen Browser zu besorgen!

Mein Board
Antworten

Zurück zu „phpBB 2.0: Mod Support“