hierarchy - mod !

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.
Benutzeravatar
Saber_Rider
Mitglied
Beiträge: 101
Registriert: 21.12.2003 18:27

Beitrag von Saber_Rider »

ich hätte gern jetzt außerdem noch die voreinstellung bei Management + für die Forenzugangskontrolle auf privat[versteckt] gesetzt. kann mir da bitte einer helfen was ich da umstellen muss ?
Benutzeravatar
rabbit
Ehemaliger Übersetzer
Beiträge: 4199
Registriert: 14.06.2003 22:09
Wohnort: Hildesheim
Kontaktdaten:

Beitrag von rabbit »

also, ich hab' part2 des hacks nicht eingebaut, daher kann ich dir da nicht weiterhelfen, leider. allerdings sieht es bei http://rpgnet.clanmckeen.com/demo/index.php so aus, als ob man das oben einstellen kann, direkt unter dem header.

bezüglich der voreinstellung: versuch' mal die def_auth.php, dort müsste das zu ändern sein.

tja, mein problem hat sich bisher immer noch nicht gelöst. ich muss wohl doch noch mal alle dateien stück für stück durchgehen... :roll:
Offizieller Übersetzer des Categories Hierarchy MOD 2.1.x
Deutscher UserGuide für den Categories Hierarchy MOD v2.1.4
Empfohlener Hoster: All-Inkl.com
Benutzeravatar
Saber_Rider
Mitglied
Beiträge: 101
Registriert: 21.12.2003 18:27

Beitrag von Saber_Rider »

also in der def_auth konnte ich umstellen was er unter öffentlich oder privat genau versteht. im $simple_auth_ary, aber die voreinstellung, dass ich standardmäßig gerne privat[versteckt] hätte habe ich nirgends gefunden.

und wegen den einstellungen. bei mir schaut es leider nicht so aus wie auf der seite wo der mod vorgestellt wird. bei mir fehtl das menu für den user oben.


ich hab jetzt noch ein problem das deinem glaube ich recht nahe kommt.
wenn jemand irgendwo moderator ist, dann bekommt er die moderator operationen überall angezeigt. auch in privaten foren wo er nicht moderator ist (in öffentlichen nicht).
der categroies mod ändert jeweils in der viewforum.php und viewtopic.php

Code: Alles auswählen

 $is_auth = auth(AUTH_ALL, $forum_id, $userdata, $forum_row);
bzw.

Code: Alles auswählen

$is_auth = auth(AUTH_ALL, $forum_id, $userdata, $forum_topic_data);
in

Code: Alles auswählen

$is_auth = $tree['auth'][POST_FORUM_URL . $forum_id];
bzw

Code: Alles auswählen

$is_auth = $tree['auth'][POST_FORUM_URL . $forum_id];
macht man diese änderung rückgängig funktioniert es (frag mich aber nicht wieso). aber vielleicht hängt deins auch irgendwie damit zusammen.
Benutzeravatar
rabbit
Ehemaliger Übersetzer
Beiträge: 4199
Registriert: 14.06.2003 22:09
Wohnort: Hildesheim
Kontaktdaten:

Beitrag von rabbit »

hmmm, das muss ich nachher mal testen... momentan läuft cobra11... :D

aber wenn dem so ist, stelle ich die frage mal in ptirhiik's board. ich hoffe, dass er diesmal antwortet :roll: ...
Offizieller Übersetzer des Categories Hierarchy MOD 2.1.x
Deutscher UserGuide für den Categories Hierarchy MOD v2.1.4
Empfohlener Hoster: All-Inkl.com
Benutzeravatar
Saber_Rider
Mitglied
Beiträge: 101
Registriert: 21.12.2003 18:27

Beitrag von Saber_Rider »

solltest du irgendwann noch mehr dazu rausbekommen sag mir bitte bescheid ;)
-achilles-
Mitglied
Beiträge: 25
Registriert: 15.09.2004 23:09
Wohnort: Eisenach
Kontaktdaten:

Beitrag von -achilles- »

Markus67 hat geschrieben:Hi ...

suche in der Datei db/mysql4.php

Code: Alles auswählen

			unset($this->row[$query_id]);
			unset($this->rowset[$query_id]);

			mysql_free_result($query_id);

			return true;
ersetze mit:

Code: Alles auswählen

			unset($this->row[$query_id]);
			unset($this->rowset[$query_id]);

			@mysql_free_result($query_id);

			return true;
Damit wird die Fehlermeldung unterdrückt. Solange alles funktioniert kannst du das auch problemlos so machen. Es existiert hier irgendwo im Forum auch eine entsprechende Erklärung dafür ... wenn es dich interessiert einfach mal danach suchen :wink:

Markus
hi, oben hast du doch erklärt wie ich die fehleranzeige weg machen soll. naja, kann die geänerte datei nur als txt datei saven. müsst ja aber ne andere sein. was soll ich tun?
Wer lesen kann is klar im Vorteil!
Benutzeravatar
Saber_Rider
Mitglied
Beiträge: 101
Registriert: 21.12.2003 18:27

Beitrag von Saber_Rider »

speichere sie als txt und klick sie dann mit der rechten maustaste an. wähle umbenennen und ändere das txt hinter dem . in php. dann einfach irgendwo hin klicken. dann frägt er ob du wirklich die dateiendung ändern willst weil die datei möglicherweise unbrauchbar wird. auf ja klicken und fertig.
Benutzeravatar
Saber_Rider
Mitglied
Beiträge: 101
Registriert: 21.12.2003 18:27

Beitrag von Saber_Rider »

man mag es nicht glauben. nachdem heute wieder mal ein moderator auf mich zu kam der nicht moderieren konnte hab ich mir die datenbank mal genauer angeschaut.
danach habe ich folgendes herausbekommen:
wenn der moderator in keiner gruppe ist die sonst noch normalen zugriff auf das forum hat funktioniert es einwandfrei. also

Code: Alles auswählen

172  	161  	0  	0  	0  	0  	0  	0  	0  	0  	0  	0  	0  	1
33 	161 	1 	1 	1 	1 	1 	1 	0 	0 	1 	1 	0 	0
235 	161 	1 	1 	1 	1 	1 	1 	0 	0 	1 	1 	0 	0
klappt solange der moderator 172 nicht in einer der gruppen 22 und 253 ist. sobald er aber auch in einen der beiden anderen gruppen ist kann er nicht mehr moderieren. das komische ist, dass er eben manchmal nicht mehr moderieren kann.
für folgendes beispiel nehme ich an, dass der moderator 172 in der gruppe 33 ist, aber nicht in 235.
wenn ich nun mit phpmyadmin eine abfrage auf die datenbank mache und in dieser reihenfolge die rechte bekomme:
172
33
235
klappt das moderieren nicht.
bekomme ich die rechte aber in der reihenfolge
33
172
235
geht das moderieren.
durch mehrmaliges erstellen verschiedener foren und verteilen der rechte klappte diese konstellation ab und zu und manchmal wieder nicht.

anscheinend wird für die moderatorenkontrolle lediglich der letze zurückgegebene eintrag verwendet. in meinem fall der auth_mod wert von 33 und 172. erhalte ich den wert von 33 nach der 172 wird der wert von 172 überschrieben (oder garnicht erst verwendet) und ich kann nicht moderieren.
in der functions_categories_hierarchy.php wird also in meinem fall 33 und 172 zurück gegeben. steht 33 in der tabelle weiter unten wird der wert in auth_mod von 172 wieder überschrieben.

gelöst habe ich das jetzt folgendermaßen, damit ich immer das moderatorenrecht als letztes raus bekomme.

Code: Alles auswählen

in der functions_categories_hierarchy.php finde:

	// read the user auth and the last post of each forums
	if ( $userdata['session_logged_in'] )
	{
		$sql_select = ', a.*, ug.user_id';
		$sql_from = "LEFT JOIN " . AUTH_ACCESS_TABLE . " a ON a.forum_id = f.forum_id )
					LEFT JOIN " . USER_GROUP_TABLE . " ug ON ug.group_id = a.group_id AND ug.user_id = " . intval($userdata['user_id']) . " AND ug.user_pending=0 )";
	}

und ersetze es mit

	// read the user auth and the last post of each forums
	if ( $userdata['session_logged_in'] )
	{
		$sql_select = ', a.*, ug.user_id';
		$sql_from = "LEFT JOIN " . AUTH_ACCESS_TABLE . " a ON a.forum_id = f.forum_id )
					LEFT JOIN " . USER_GROUP_TABLE . " ug ON ug.group_id = a.group_id AND ug.user_id = " . intval($userdata['user_id']) . " AND ug.user_pending=0 ) order by auth_mod asc";
	}
wichtig ist also hinten das order by auth_mod asc
Benutzeravatar
Saber_Rider
Mitglied
Beiträge: 101
Registriert: 21.12.2003 18:27

Beitrag von Saber_Rider »

mir ist grad aufgefallen, dass es so doch nicht ganz funktioniert.

den wie
"// read the user auth and the last post of each forums " schon sagt liest er da auch den letzten beitrag aus und deswegen versaut er die reihenfolge dann total.

naja such ich wieder weiter.


so jetzt hab ich es gefunden. den beitrag von oben bitte nicht beachten.

in einer schleife

Code: Alles auswählen

	while ( $row = $db->sql_fetchrow($result) )
	{
		// get the last post
		if ( !empty($row['forum_last_post_id']) && !isset($last_posts[ $row['forum_last_post_id'] ]) )
		{
			$last_posts[ $row['forum_last_post_id'] ] = $row['forum_id_main'];
			$s_last_posts .= ( empty($s_last_posts) ? '' : ', ' ) . $row['forum_last_post_id'];
		}

		// get the access auth
		if ( $userdata['session_logged_in'] && ($row['user_id'] == $userdata['user_id']) )
		{
			$u_access[ $row['forum_id_main'] ] = $row;
		}
	}
wird die authorisierung berechnet. wenn jetzt aber eben der letzte schleifendurchlauf nicht der mod eintrag ist, werden sämtliche einträge überschrieben.
man muss also

Code: Alles auswählen

		// get the access auth
		if ( $userdata['session_logged_in'] && ($row['user_id'] == $userdata['user_id']) )
		{
			$u_access[ $row['forum_id_main'] ] = $row;
		}
durch

Code: Alles auswählen

		// get the access auth
		if ( $userdata['session_logged_in'] && ($row['user_id'] == $userdata['user_id']) )
		{
			$u_access[ $row['forum_id_main'] ] = max($row, $u_access[ $row['forum_id_main'] ]);
		}
ersetzen, damit beim moderator die 1 verwendet wird und nicht eventuell die 0 aus seinem letzten beitrag.
Antworten

Zurück zu „phpBB 2.0: Mod Support“