Frage zum Group Rank Hack von Saerdnaer

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.
Markocat
Mitglied
Beiträge: 245
Registriert: 16.05.2002 18:57
Wohnort: Bad Dürrenberg
Kontaktdaten:

Beitrag von Markocat »

@saerdnaer

ich hab nochmal eine Frage :)

ich hab mal hier bei dir geschaut wo deine Mods liegen
https://sourceforge.net/project/showfil ... _id=119922

und da ist doch die aktuellste version die 1.0.1
die hab ich doch glaub ich auch drinn
aber ich wert jedenfalls erstmal versuchen die Viewtopic auszubessern
Markocat
Mitglied
Beiträge: 245
Registriert: 16.05.2002 18:57
Wohnort: Bad Dürrenberg
Kontaktdaten:

Beitrag von Markocat »

@saerdnaer
ich habs noch nicht hinbekommen :(
jetzt hab ich die Viewtopic.php nochmal überarbeitet
und auch paarmal überprüft aber jetzt bekomm ich die Fehlermeldung

Parse error: parse error, unexpected T_ELSE in d:\apache group\www\phpBB2\viewtopic.php on line 1625

ich kann jetzt wirklich keinen Fehler mehr enddecken
ich hab die Textdatei nochmal neu drauf gemacht
könntest du nicht vielleicht mal Bitte nachschauen

der Fehler ist nur weg wenn ich den bereich endferne

Code: Alles auswählen

	else
	{
		for($j = 0; $j < $ranksrow[0]['count']; $j++)
		{
			if ( $postrow[$i]['user_posts'] >= $ranksrow[0][$j]['rank_min'] )
			{
				$poster_rank = $ranksrow[0][$j]['rank_title'];
				$rank_image = ( $ranksrow[0][$j]['rank_image'] ) ? '<img src="' . $ranksrow[0][$j]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
				break;
			}
		}
	}
aber dann kommt die Meldung

Could not obtain poster group information.

schau doch Bitte nochmal nach was da falsch sein könnte
http://www.dragon-heartz.de/download/viewtopic.txt
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

also dann wollen wir mal:

Code: Alles auswählen

$sql = "SELECT *
	FROM " . RANKS_TABLE . "
	ORDER BY rank_special, rank_min, rank_title DESC"; // ADDED ' DESC' BY Group Rank Hack
sieht bei mir so aus:

Code: Alles auswählen

$sql = "SELECT *
        FROM " . RANKS_TABLE . "
        ORDER BY rank_special, rank_min DESC"; // ADDED ' DESC' BY Group Rank Hack
wenn du das rank title drin lassen willst musst du das so schreiben:

Code: Alles auswählen

$sql = "SELECT *
        FROM " . RANKS_TABLE . "
        ORDER BY rank_special, rank_min DESC, rank_title"; // ADDED ' DESC' BY Group Rank Hack
dann würd ich mal

Code: Alles auswählen

$rankidx = 1;
$rank_mod = NULL;

do
{
	if ($ranksrow[$rankidx]['rank_title'] == "Moderator")
	{
		$rank_mod = $rankidx;
		break;
	}
	
	$rankidx++;
}
while ($ranksrow[$rankidx]);
auskommentieren also vor den code /* und nach den code */ machen...

in der anleitung stand folgendes:
#
#-----[ FIND ]------------------------------------------
#
else if ( $postrow[$i]['user_rank'] )
{
for($j = 0; $j < count($ranksrow); $j++)
{
if ( $postrow[$i]['user_rank'] == $ranksrow[$j]['rank_id'] && $ranksrow[$j]['rank_special'] )
{
$poster_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 ( $postrow[$i]['user_posts'] >= $ranksrow[$j]['rank_min'] && !$ranksrow[$j]['rank_special'] )
{
$poster_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 />' : '';
}
}
}
#
#-----[ BEFORE, ADD ]------------------------------------------
#
// BEGIN Group Rank Hack
else if ( $postrow[$i]['user_rank'] )
{
$poster_rank = $ranksrow[-1][$postrow[$i]['user_rank']]['rank_title'];
$rank_image = ( $ranksrow[-1][$postrow[$i]['user_rank']]['rank_image'] ) ? '<img src="' . $ranksrow[-1][$postrow[$i]['user_rank']]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
}
else if ( isset($poster_group[$postrow[$i]['user_id']]) )
{
$g = $poster_group[$postrow[$i]['user_id']];
$count = count($ranksrow[$g]);
for($j = 0; $j < $ranksrow[$g]['count']; $j++)
{
if ( $postrow[$i]['user_posts'] >= $ranksrow[$g][$j]['rank_min'] )
{
$poster_rank = $ranksrow[$g][$j]['rank_title'];
$rank_image = ( $ranksrow[$g][$j]['rank_image'] ) ? '<img src="' . $ranksrow[$g][$j]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
break;
}
}
}
else
{
for($j = 0; $j < $ranksrow[0]['count']; $j++)
{
if ( $postrow[$i]['user_posts'] >= $ranksrow[0][$j]['rank_min'] )
{
$poster_rank = $ranksrow[0][$j]['rank_title'];
$rank_image = ( $ranksrow[0][$j]['rank_image'] ) ? '<img src="' . $ranksrow[0][$j]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
break;
}
}
}
// END Group Rank Hack
/* COMMENTED BY Group Rank Hack
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
das after add soll man nicht nach dem before add machen sondern nach dem was man oben gefunden hat!!! also musst du das

Code: Alles auswählen

	/* COMMENTED BY Group Rank Hack
	*/
durch

Code: Alles auswählen

	/* COMMENTED BY Group Rank Hack
ersetzen und vor

Code: Alles auswählen

	//
	// Set buddy items
	//
folgendes einfügen ah
Markocat
Mitglied
Beiträge: 245
Registriert: 16.05.2002 18:57
Wohnort: Bad Dürrenberg
Kontaktdaten:

Beitrag von Markocat »

ja ich danke dir erstmal
mit der gruppe Funktioniert das jetzt schonmal soweit
sind nur noch paar kleine Probleme

unzwar geht alles super wenn ich eine gruppe einstelle
da zeigt es nur Mitgliedern der Gruppe den Rang an
außer beim Admin der, der Gruppenleider ist da zeigt es den Rang nur im Profil an aber nicht in der Viewtopic.
Und wenn ich auf special Rang stelle bekomm ich aber wenn ich die Viewtopic öffnen will folgenden Fehler

Code: Alles auswählen

Could not obtain poster group information.
soweit ich das beobachten konnte tritt der nur dort auf wo jemand anderes gepostet hat als der mit dem special Rang.

ich lade die aktuelle Viewtopic nochmal hoch vielleicht ist da was übersehen worde waran das liegen könnte.

http://www.dragon-heartz.de/download/viewtopic.txt

aber ohne deine Hilfe hät ich das nicht soweit hinbekommen mit den Rängen :)
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

aktivier mal den debug mode...
Markocat
Mitglied
Beiträge: 245
Registriert: 16.05.2002 18:57
Wohnort: Bad Dürrenberg
Kontaktdaten:

Beitrag von Markocat »

ja
da steht das da

Code: Alles auswählen

Could not obtain poster group information.

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax near ') AND g.group_id = ug.group_id AND g.group_single_user = 0 ORDER BY g' at line 4

SELECT ug.user_id, ug.group_id FROM phpbb_user_group ug, phpbb_groups g WHERE ug.user_id IN ( 3,4,3,-1 ) AND ug.group_id IN ( ) AND g.group_id = ug.group_id AND g.group_single_user = 0 ORDER BY g.group_order DESC

Line : 796
File : d:\apache group\www\phpBB2\viewtopic.php

PS: noch eine Frage

in der anleidung steht bei mir ja folgendes

Code: Alles auswählen

	// BEGIN Group Rank Hack
	else if ( $postrow[$i]['user_rank'] )
	{
		$poster_rank = $ranksrow[-1][$postrow[$i]['user_rank']]['rank_title'];
		$rank_image = ( $ranksrow[-1][$postrow[$i]['user_rank']]['rank_image'] ) ? '<img src="' . $ranksrow[-1][$postrow[$i]['user_rank']]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
	}
	else if ( isset($poster_group[$postrow[$i]['user_id']]) )
	{
		echo ddd;
		$g = $poster_group[$postrow[$i]['user_id']];
ist das

Code: Alles auswählen

echo ddd;
darin wichtig weil das die Buchstaben ja oben über den Beitragtext bei mir schreibt :D
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

nein das musst du rauslöschen... drum sagte ich ja du sollst die neueste version benutzen...

der fehler kommt weil die $rank_group_id_sql irgendwie nicht richtig gesetzt wird... du hast schon irgendwelche gruppenränge erstellt oder? ansonsten würde ich mal folgendes machen:
suchen:

Code: Alles auswählen

if ( !empty($poster_id_sql) )
ersetzen durch

Code: Alles auswählen

if ( !empty($poster_id_sql) && !empty($rank_group_id_sql) )
dann sollte wenigstens die fehlermeldung weg sein...
Markocat
Mitglied
Beiträge: 245
Registriert: 16.05.2002 18:57
Wohnort: Bad Dürrenberg
Kontaktdaten:

Beitrag von Markocat »

ja danke geht schon fast richtig

jetzt zeigt es den Rang bei der Gruppe richtig an in der Viewtopic außer beim Admin da immer nur noch im Profil aber dafür komischerweise bei der jenigen gRuppe nicht im Profil.

mal eine Frage
welche ist deine neuste Version
weil ich nur die 1.0.1 finden konnte woraus ich den Codeauschnitt habe
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

eigendlich ist das die neueste...

ah
Markocat
Mitglied
Beiträge: 245
Registriert: 16.05.2002 18:57
Wohnort: Bad Dürrenberg
Kontaktdaten:

Beitrag von Markocat »

war ja nur ne Frage
weil egal von wo ich die ziehe ob von phpbbhacks.com
oder von www.sourceforge.net es steht immer in der anleidung das mit dem echo ddd; drinn.

nur so als hinweiß
Antworten

Zurück zu „phpBB 2.0: Mod Support“