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
Extended Rank System + Rank in Memberlist [erledigt]
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.
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.
- blacksoul_
- Mitglied
- Beiträge: 20
- Registriert: 14.06.2007 11:06
- Wohnort: Rosenheim
- Kontaktdaten:
Extended Rank System + Rank in Memberlist [erledigt]
Zuletzt geändert von blacksoul_ am 03.04.2008 09:32, insgesamt 2-mal geändert.
- blacksoul_
- Mitglied
- Beiträge: 20
- Registriert: 14.06.2007 11:06
- Wohnort: Rosenheim
- Kontaktdaten:
- blacksoul_
- Mitglied
- Beiträge: 20
- Registriert: 14.06.2007 11:06
- Wohnort: Rosenheim
- Kontaktdaten:
Habs geschafft daß in der Memberlist zumindest das Standard-Rankset bei allen Usern angezeigt wird. Habe folgenden Code verändert:
ersetzt mit:
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
Habe die aktuelle memberlist.php nochmal zum download bereitgestellt:
http://www.mnpcs.de/forum/memberlist.txt
Code: Alles auswählen
$sql = "SELECT *
FROM " . RANKS_TABLE . "
ORDER BY rank_special, rank_min";
if ( !($result = $db->sql_query($sql)) )
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)) )

http://www.mnpcs.de/forum/memberlist.txt
- blacksoul_
- Mitglied
- Beiträge: 20
- Registriert: 14.06.2007 11:06
- Wohnort: Rosenheim
- Kontaktdaten:
- blacksoul_
- Mitglied
- Beiträge: 20
- Registriert: 14.06.2007 11:06
- Wohnort: Rosenheim
- Kontaktdaten:
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:
Füge danach ein:
Finde:
Ersetze mit:
Jetzt sollten die Ränge in der Mitgliederliste richtig angezeigt werden.
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
Code: Alles auswählen
, user_rankset_id
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 />' : '';
}
}
}
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 />' : '';
}
}
}