Page 1 of 2
Globale Bekanntmachungen - Rechtefehler
Posted: 27. July 2008 21:26
by masc
Hallo Zusammen!
Erstmal ein Lob für das Portal, gefällt mir gut.
Ich habe jedoch ein kleines Problem. Wenn ich einem Link zu einer globalen Bekanntmachung im Block "Aktuelles" oder "Letzte Bekanntmachung" folge, bekomme ich eine Fehlermeldung angezeigt: "Du hast keine Berechtigung, dieses Forum zu lesen."
Ich habe bereits Stunden damit zugebracht nach einer Lösung zu suchen und bin dabei im phpbb3.com Forum auf einen Lösungsansatz gestossen. Dort hat jemand dazu geäussert, das dieses Problem dann Auftritt, wenn keine Forums-Id verlinkt wird, zu der der aktuelle Benutzer Leserechte hat. Sein Lösungsvorschlag dazu war wie folgt:
Code: Select all
// ####################################################################
// Get forum_id that can be used with gloabl announcements
// Get a list of forums the user cannot read
$forum_ary = array_unique(array_keys($auth->acl_getf('!f_read', true)));
// Determine first forum the user is able to read (must not be a category)
$sql = 'SELECT forum_id
FROM ' . FORUMS_TABLE . '
WHERE forum_type = ' . FORUM_POST;
if (sizeof($forum_ary))
{
$sql .= ' AND ' . $db->sql_in_set('forum_id', $forum_ary, true);
}
$result = $db->sql_query_limit($sql, 1);
$g_forum_id = (int) $db->sql_fetchfield('forum_id');
Testhalber habe ich dies einmal in die recent.php eingebaut und kann bestätigen, dass es dann funktioniert. Alle Links zu einer globalen Bekanntmachung erhalten dann gültige forum-id für ein Forum, für das der aktuelle Benutzer die benötigten Zugriffsrechte hat.
Mich würde jetzt jedoch interessieren, ob Ihr das vielleicht anders seht oder ob es tatsächlich ein Bug in der Portal Software ist.
Ausserdem hätte ich natürlich gerne auch noch die announcements.php gefixt, allerdings ist mir das zu komplex um da den Fix selber einzubauen.
Beste Grüße
masc
Re: Globale Bekanntmachungen - Rechtefehler
Posted: 28. July 2008 07:33
by Kevin
Moin masc,
sehr gut möglich, das uns das in der recent.php durch gerutscht ist - danke für den Hinweis und Lösungsansatz!
Das wäre dann auf jeden Fall was für den Bugtracker.
Das Thema, das immer eine Foren-ID bei globalen Bekanntmachungen übergeben werden muss, hat uns schon reichlich Kopfzerbrechen bei der announcements.php beschert.
Jedoch sollte in der announcements.php eigentlich alles korrekt sein - kannst du dieses Problem dort sicher reproduzieren?
Gruß
Kevin
Re: Globale Bekanntmachungen - Rechtefehler
Posted: 28. July 2008 13:25
by masc
Servus,
ja ich kann das definitiv bestätigen.
Meine Forum URL:
http://clubs.4gamers.de
Bitte beachte das alles noch Baustelle ist und das Forum noch nicht offiziell eröffnet wurde!
Im Portal im 2ten Block, unter "Wichtiges", dahinter liegt die announcements.php. Eine globale Bekanntmachung wird dort derzeit gelistet. Wenn Du Dir anschaust was für eine URL hinter dem Link in der Überschrift liegt, wirst Du sehen, das dort keine forum-id übergeben wird. Das selbe gilt für den Link hinter "Antworten". Interessanterweise liegt hinter "Antwort schreiben" jedoch ein Link mit forum-id. Kannst Dich gerne mal anmelden und ein bisschen Testen. Wenn Du besondere Rechte benötigst, dann schick mir eine PN oder ne Nachricht via ICQ.
Der Code den ich für die recent.php verwendet habe, sollte eigentlich auch für die announcements.php verwendet werden können. Ich habe es nur deshalb nicht selbst eingebaut, da mir die announcements.php einfach zu Umfangreich ist, um mich da mal eben so einzulesen.
Grüße
masc
Re: Globale Bekanntmachungen - Rechtefehler
Posted: 28. July 2008 14:19
by Kevin
Hmm, strange.
Welche phpBB Version?
In meinem Testforum funktioniert nämlich der direkte Aufruf einer globalen Bekanntmachung - ohne Foren-ID.
Sprich der Fehler tritt nicht auf. Das ist aber noch ein 3.0.1 - vielleicht wurde etwas in der 3.0.2 geändert. Das müsste man mal prüfen.
Bei Chris funktioniert das auch:
http://www.phpbb-projekt.de/
Gleich die oberste ist eine globale.
@Chris: welche Version setzt du ein?
*Edith sacht*
Blindfisch ich, steht doch direkt unter der globalen Ankündigung:
So - und nun kommst du, masc - was ist bei dir falsch?
Re: Globale Bekanntmachungen - Rechtefehler
Posted: 28. July 2008 14:50
by Christian_N
phpBB 3.0.2
Wir hatte da mal so Probleme mit gehabt also genau die selbe, aber hatte bevor die 1.0.0RC1 raus ging auch alles getestet und eigentlich auch behoben.
Hat er auch falls Updatet alle Dateien ersetzt ordnungsgemäß? Den bei mir ist der bisher auch nicht mehr aufgetaucht.
Selbst wenn ich bei dem recent.php (Aktuelles - Block) auf die Globale Bekanntmachung klicke wird sie angezeigt und ich hab den Fix aus dem erste Beitrag nicht drin.
Ok habe die aktuelle Rev. aber glaube wir haben dort nichts mehr geändert nach der RC1 und somit sollte eigentlich es in der RC1 genauso laufen.
Re: Globale Bekanntmachungen - Rechtefehler
Posted: 28. July 2008 14:54
by Kevin
Christian_N wrote:Ok habe die aktuelle Rev. aber glaube wir haben dort nichts mehr geändert nach der RC1 und somit sollte eigentlich es in der RC1 genauso laufen.
Jap, das ist so - an der recent.php haben wir nichts mehr gemacht. Ansonsten mal die Commitmeldungen durchschauen. Bin mir aber sicher, das wir seit der 1.0.0RC1 nichts mehr daran gemacht haben.
Re: Globale Bekanntmachungen - Rechtefehler
Posted: 28. July 2008 14:58
by Christian_N
Nö hab wir auch nicht, den habe mal auf der
Demoseite es getestet phpBB 3.0.1 und Portal 1.0.0RC1 (keine Rev) und dort funktioniert es bei beides genauso.
Jetzt ist die frage ob alle Dateien von RC1 übertragen wurden sind orgnungsgemäß und vorallem wie genau im ACP die Einstellungen aussehen bei ihm.
Die bräuchste man ggf. um selbst es so einstellen zu können und versuchen zu reproduzieren.
Gruß Chris
Re: Globale Bekanntmachungen - Rechtefehler
Posted: 28. July 2008 15:38
by masc
Mein phpbb ist Version 3.0.1
Habe ein Upgrade gemacht von 2.0.22.
Board3 Portal 1.0.0RC1
Habe mich exakt an Eure Installationsanleitung gehalten. Alles andere funktioniert übrigens einwandfrei.
Hier meine Einstellungen aus dem ACP für den Announcements Block:
Bekanntmachungen anzeigen: Ja
Kompakter Bekanntmachungen Block Style: Nein
Anzahl der Bekanntmachungen auf dem Portal: 1
Anzahl der Tage, die die Bekanntmachung angezeigt werden soll: 0
Maximal Länge der Bekanntmachungen: 200
ID des Forums der Bekanntmachungen: 41
Das Archivsystem für die Bekanntmachungen aktivieren: Ja
Berechtigungen prüfen anschalten?: Ja
Re: Globale Bekanntmachungen - Rechtefehler
Posted: 28. July 2008 15:53
by Christian_N
Vielleicht lief was bei des Upgrade von 2.0.22 schief?
Fakt ist das es bei Kevin und mir geht und wir es momentan (leider) nicht reproduzieren können.
masc wrote:Hier meine Einstellungen aus dem ACP für den Announcements Block:
Bekanntmachungen anzeigen: Ja
Kompakter Bekanntmachungen Block Style: Nein
Anzahl der Bekanntmachungen auf dem Portal: 1
Anzahl der Tage, die die Bekanntmachung angezeigt werden soll: 0
Maximal Länge der Bekanntmachungen: 200
ID des Forums der Bekanntmachungen: 41
Das Archivsystem für die Bekanntmachungen aktivieren: Ja
Berechtigungen prüfen anschalten?: Ja
Die Einstellungen sind bei mir genauso, nur das ich halt bei ID des Forums 2 stehen habe, aber das ist ja nicht der Grund des Problems.
Hmm, wie hast den die Berechtigungen für das Forum ID 41 verteilt?
Welche Systemgruppe erhält die Meldung?
Gäste, Registierte Benutzer, Globale Moderratoren oder Administratoren?
Und wie steht die Berechtigung für dieser Systemgruppe die dann die Meldung erhält in der Forum ID 41?
Das kann nämlich noch ein Grund sein das hier was nicht berücksichtigt wird.
Gruß Chris
Re: Globale Bekanntmachungen - Rechtefehler
Posted: 28. July 2008 17:19
by masc
Die Fehlermeldung erhalten alle Benutzergruppen.
Alle Benutzer-Gruppen haben auf das Forum zumindest Leserechte.
Es spielt auch keine Rolle welche Rechte ich vergebe. Selbst wenn ich allen Gruppen vollen Zugang gewähre, erhalten Sie diese Fehlermeldung. Das passiert aber nur im Portal. Im Forum können die globalen Bekanntmachungen von jedermann eingesehen werden ohne das eine Fehlermeldung erscheint. Das Problem tritt also nur im Portal auf!
Ich bin mir ziemlich sicher, dass das Problem damit zusammenhämgt, dass im Portal im Announcemnt Block keine Forum-ID in den Link eingebaut wird. Wie gesagt, das gleiche Problem existierte mit dem Recent Block und nachdem ich den Code dort wie in meinem Startposting beschrieben geändert habe, funktioniert der Block einwandfrei.
Das phpBB3 Forum macht übrigens das selbe was ich jetzt in den Recent Block eingebaut habe. Es benutzt für globale Bekanntmachungen als Forum-Id die erste Forum-Id die auffindbar ist, auf die der aktuelle Benutzer die benötigten Rechte hat. Links zu globalen Bekanntmachungen werden innerhalb von phpBB3 immer eine Forum-ID mitgegeben. Der Announcement und der Recent Block aus dem Board3 Portal halten sich daran jedoch nicht.
Re: Globale Bekanntmachungen - Rechtefehler
Posted: 28. July 2008 18:13
by masc
Hier ist übrigens mal der Link zu einem Posting, wo "naderman" vom phpBB Development Team erklärt (viertes Posting in den Comments), wie das mit dem verlinken von globalen Bekanntmachungen zu funktionieren hat. Er schildert das am Beispiel der "Active Topic" Funktion in phpBB3:
http://www.phpbb.com/bugs/phpbb3/ticket ... t_id=23835
Der sollte doch Wissen wie man es richtig macht.
P.S. Sorry, habe übersehen, das ich ja mein letztes Posting hätte editieren können.
Re: Globale Bekanntmachungen - Rechtefehler
Posted: 1. August 2008 18:59
by masc
Wäre nett wenn einer vom Board3-Portal-Team nochmal was dazu sagen würde.
Ich wüsste z.B. gerne ob das von mir geschilderte als Bug registriert wird/wurde?
Wenn ja, wann kann mit einem Fix gerechnet werden?
Re: Globale Bekanntmachungen - Rechtefehler
Posted: 1. August 2008 19:46
by r2d2
masc wrote:..........
Ich wüsste z.B. gerne ob das von mir geschilderte als Bug registriert wird/wurde?
Wenn ja, wann kann mit einem Fix gerechnet werden?
Liebes Portal-Team bitte nichts ändern, keine Bugs suchen und diesbezüglich nichts "fixen", es läuft alles fehlerfrei und bestens mit den globalen Bekanntmachungen, genau so wie es sollte.
Ich nutze die globale Bekanntmachung in meinem Test-Portal dazu, um aus beliebigen Foren beliebige Beiträge im Portal anzuzeigen. (Auswahl beim posten eines neuen Forumbeitrages, heißen bei mir nur "Top Neuigkeiten")
Auf diese Beiträge können dann
alle Nutzergruppen, falls die Beiträge nicht in einem "geschützten" Forum stehen, zugreifen.
@ masc
da muss irgendein "Einbaufehler" bei dir vorliegen oder eine Codeveränderung durch ein anderes Mod. Standardmäßig tritt der von dir geschilderte Fehler
nicht auf!
zu meinem Test-Portal (phpbb 3.0.2 /Board3-Portal 1.0.0 RC1)
Re: Globale Bekanntmachungen - Rechtefehler
Posted: 1. August 2008 22:53
by Kevin
masc wrote:Ich wüsste z.B. gerne ob das von mir geschilderte als Bug registriert wird/wurde?
Wenn ja, wann kann mit einem Fix gerechnet werden?
Als Bug "registrieren" kannst du ihn selbst - im
Bugtracker.
Aber eigentlich ist erstmal von unserer Seite alles geklärt. Christian und ich können das in zwei unterschiedlichen Testboards (3.0.1 und 3.0.2) nicht reproduzieren und bis Dato hat sich auch noch niemand anderes mit diesem Problem gemeldet. Bei knapp 3600 Downloads der aktuellen Version.
Da ist die Wahrscheinlichkeit recht hoch, das das Problem durch irgendwelche Sonderheiten (z.B. Einbaufehler, Kombination mit anderen Mods) deines modifizierten Boards kommt.
Insofern könnten wir die Bugmeldung im Bugtracker nur als "erwarte Informationen" oder als "kein Bug" markieren, solange wir nicht mehr Informationen bekommen.
Denn: wie sollen wir etwas fixen, das wir nicht reproduzieren können?
Denn noch zu der recent.php, die ich mir nun noch mal genauer angeschaut habe:
Es wird eine Foren-ID bei den globalen Bekanntmachungen mit übergeben - die Null bei globalen Bekanntmachungen. Und das funktioniert bei mir im Testboard allerbest.
Kann das bitte auch noch jemand anderes nachprüfen?
Re: Globale Bekanntmachungen - Rechtefehler
Posted: 1. August 2008 23:11
by masc
Hast Du eigentlich den Beitrag gelesen den ich weiter oben verlinkt hatte? Wenn nicht hier nochmal der Link (siehe 4tes posting von naderman):
http://www.phpbb.com/bugs/phpbb3/ticket ... t_id=23835
Da gibt es von offizieller Seite, von naderman vom phpBB3 Development Team, ein Statement dazu, wie Globale Bekanntmachungen innerhalb von phpBB3 verlinkt werden und das weicht stark von dem ab wie Ihr es macht. Nach naderman muss es so sein, dass die nächste Forum ID aus der DB herausgesucht werden muss, die dem aktuellen Benutzer die benötigten rechte gibt um die Bekanntmachung lesen zu können. Ihr übergebt als Forum ID bei globalen Bekanntmachungen jedoch einfach die 0. Wie ich bereits früher erwähnte ist es so, dass nachdem ich seinen Code in die recent.php eingebaut habe, diese reibungslos funktioniert.
Mal abgesehen davon, kann es doch für Euch nur erstrebenswert sein, den Code vom Portal möglichst kompatibel zu phpBB3 zu machen, oder?