Seite 1 von 1

Bestimmte Forenberechtigung in der DB ermitteln?

Verfasst: 09.02.2010 11:48
von Wuppi
Hi

ich versuche eine phpBB2-Google-Sitemap aufs phpBB3 umzustellen. Siehe auch: viewtopic.php?f=87&t=187409&p=1160795#p1160795

Ich hänge im moment an einer sehr wichtigen Stelle:

Code: Alles auswählen

$sql =   "SELECT t.topic_id, t.topic_time, t.topic_views, t.topic_replies, p.post_time
      FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f, " . POSTS_TABLE . " AS p
      WHERE f.forum_id = t.forum_id

      AND p.post_id = t.topic_last_post_id
      ORDER BY t.topic_last_post_id DESC";
Mit diesem Aufruf bekomme ich die nötigen Infos um daraus Topic-URLs zu basteln - das klappt auch. ABER: Forenberechtigungen werden völlig ignoriert.

Im phpBB2 würde ich an der fehlenden Zeile oben im Code folgendes stehen haben:

Code: Alles auswählen

	AND f.auth_view = " . AUTH_ALL . "
Jetzt hätte ich in der Liste nur Topics in Foren die öffentlich zugänglich sind.

ABER: diese Zeile klappt mit dem phpBB3 nicht mehr. An dieser Stelle merkt man das sich am Rechtessystem zu 3.0 etwas geändert hat ;) ... und ich weiß net wie ich das aufs phpBB3 anpassen muss.

Ich hab mir mal einen anderen Sitemap-Mod angeschaut (der mir nicht gefällt, da komplett manuell, fehlende Unterseitenerfassung usw.; meiner ist (für mich) halb-automatisch, unterseiten &start= werden erfasst) und gesehen das dieses über die Berechtigung für Bot-User gemacht wird. Aber ich verstehe den code da net so wirklich und kann ihn somit nicht bei mir einbauen.

Was muss ich hier anpassen damit nur Topics erfasst werden die in öffentlich Zugänglichen Foren liegen?

Gruß

Re: Bestimmte Forenberechtigung in der DB ermitteln?

Verfasst: 11.02.2010 19:31
von Wuppi
hat hier wirklich keiner eine idee? :(

Re: Bestimmte Forenberechtigung in der DB ermitteln?

Verfasst: 16.02.2010 13:42
von Wuppi
Hi

ich muss mal pushen :(

Ich hab leider echt keine idee wie ich die rechte auslesen soll. Beim phpBB2 hab ich die Struktur in der DB ja soweit verstanden - ich weiß was er abfragt und was da stehen muss. Aber beim phpBB3 hat sich das leider komplett geändert und das ganze scheint wohl über mehrere Tabellen verteilt zu sein?! :(

Was ich bisher rausbekommen habe:
Der Schlüssel liegt in der phpbb_acl_groups ... auth_role_id muss 19 sein - das wäre der Zugang fürn Bot.
Es muss also in der phpbb_topics die Foren-ID abfragt werden - wird ja bereits gemacht. Diese Foren-ID muss in der acl_groups geprüft werden ob bei auth_role = 19 steht. Ist also bei Foren-ID 10, die auth_role u.a. 19, darf gespidert werden. Steht da nur die k.a. 10, 12 - aber keine 19, darf nicht gespidert werden. Oder hab ich hier einen denkfehler? Wir schreibe ich so eine Abfrage in sql? Meine bisherigen Versuche enden daran das die mysql crashed :(

Das Sitemap-Script fürs phpBB2 ist hier zu finden: http://www.phpbb2.de/ftopic29003-15.html

Gruß