[BUG 4.9.8] Anzeigeoptionen Benutzer einer Frontend-Gruppe
-
- Beiträge: 55
- Registriert: Mi 25. Nov 2009, 16:08
- Kontaktdaten:
[BUG 4.9.8] Anzeigeoptionen Benutzer einer Frontend-Gruppe
Hallo,
wenn ich im Backend unter Frontend die Anzeigeoptionen so anpasse, dass ich nur Benutzer einer Frontend-Gruppe angezeigt bekommen möchte, bekomme ich folgende Fehlermeldung:
Fatal error: Uncaught exception 'cUnexpectedValueException' with message 'The join partner 'cApiFrontendUserCollection' is not registered and can not be used with link().' in /xxx/contenido/classes/genericdb/class.item.collection.php:518 Stack trace: #0 /xxx/contenido/classes/genericdb/class.item.collection.php(589): ItemCollection->_fetchJoinTables() #1 /xxx/contenido/includes/include.frontend.user_menu.php(173): ItemCollection->query() #2 /xxx/contenido/main.php(203): include_once('/xxx/...') #3 {main} thrown in /xxx/contenido/classes/genericdb/class.item.collection.php on line 518
Leider scheint der gleiche Fehler bereits seit der 4.9.4 zu bestehen.
Ich benötige dafür dringend eine Lösung!
Kann jemand helfen?
wenn ich im Backend unter Frontend die Anzeigeoptionen so anpasse, dass ich nur Benutzer einer Frontend-Gruppe angezeigt bekommen möchte, bekomme ich folgende Fehlermeldung:
Fatal error: Uncaught exception 'cUnexpectedValueException' with message 'The join partner 'cApiFrontendUserCollection' is not registered and can not be used with link().' in /xxx/contenido/classes/genericdb/class.item.collection.php:518 Stack trace: #0 /xxx/contenido/classes/genericdb/class.item.collection.php(589): ItemCollection->_fetchJoinTables() #1 /xxx/contenido/includes/include.frontend.user_menu.php(173): ItemCollection->query() #2 /xxx/contenido/main.php(203): include_once('/xxx/...') #3 {main} thrown in /xxx/contenido/classes/genericdb/class.item.collection.php on line 518
Leider scheint der gleiche Fehler bereits seit der 4.9.4 zu bestehen.
Ich benötige dafür dringend eine Lösung!
Kann jemand helfen?
Re: [BUG 4.9.8] Anzeigeoptionen Benutzer einer Frontend-Grup
Yep, ich kann das für die 4.9.7 auch bestätigen (Neuinstallation). Ich sehe zwar keine Fehlermeldungsoutput, aber das Script steigt aus.
Das Problem besteht (auf die 4.9.7 bezogen) wohl in
include.frontend.user_menu.php
etwa ab Zeile 154:
Die Befehle
beenden das Skript mit einem Fehler und es steigt aus.
Ich habe getestet, dass $_REQUEST["restrictgroup"] noch mit dem im Backend-Dropdown gewählten Wert übereinstimmt und auch in Zeile 156 ankommt. Und die "if"-Schleife ab 154 wird korrekterweise auch durchlaufen, wenn das Dropdown umgestellt wird.
Ich habe noch etwas weiter getestet, und es scheint die Zeile
zu sein, die das Skript zuerst zum Absturz bringt, obwohl der Klassenname an sich stimmt. Kommentiert man diese und die Folgezeile aus, hören die Abstürze auf.
Das Problem besteht (auf die 4.9.7 bezogen) wohl in
include.frontend.user_menu.php
etwa ab Zeile 154:
Code: Alles auswählen
if ($_REQUEST["restrictgroup"] != "" && $_REQUEST["restrictgroup"] != "--all--") {
$oFEUsers->link("cApiFrontendGroupMemberCollection");
$oFEUsers->setWhere("cApiFrontendGroupMemberCollection.idfrontendgroup", $_REQUEST["restrictgroup"]);
}
$mPage = $_REQUEST["page"];
$elemperpage = $_REQUEST["elemperpage"];
$iFullTableCount = 0;
if ($bUsePlugins == false) {
$oFEUsers->query();
$iFullTableCount = $oFEUsers->count();
$oFEUsers->setOrder(implode(" ", array(
$oSelectSortBy->getDefault(),
$oSelectSortOrder->getDefault()
)));
$oFEUsers->setLimit($elemperpage *($mPage - 1), $elemperpage);
} else {
$oFEUsers->query();
$iFullTableCount = $oFEUsers->count();
}
if ($_REQUEST["elemperpage"] * ($_REQUEST["page"]) >= $iFullTableCount + $_REQUEST["elemperpage"] && $_REQUEST["page"] != 1) {
$_REQUEST["page"]--;
$mPage--;
}
Code: Alles auswählen
$oFEUsers->query();
Ich habe getestet, dass $_REQUEST["restrictgroup"] noch mit dem im Backend-Dropdown gewählten Wert übereinstimmt und auch in Zeile 156 ankommt. Und die "if"-Schleife ab 154 wird korrekterweise auch durchlaufen, wenn das Dropdown umgestellt wird.
Ich habe noch etwas weiter getestet, und es scheint die Zeile
Code: Alles auswählen
$oFEUsers->link("cApiFrontendGroupMemberCollection");
-
- Beiträge: 55
- Registriert: Mi 25. Nov 2009, 16:08
- Kontaktdaten:
Re: [BUG 4.9.8] Anzeigeoptionen Benutzer einer Frontend-Grup
Danke... ich muss dazu sagen, dass ich die Fehlerausgabe aktiviert habe und dadurch natürlich der Fehler angezeigt wird...
Das Auskommentieren der Zeilen bringt mich hier leider nicht weiter, habe ja dadurch nicht die gewünschte Ausgabe der Benutzer nach Gruppen
Ich bin weiter auf die Suche gegangen und denke es liegt an den Klassen cApiFrontendGroupMemberCollection, cApiFrontendUserCollection, cApiFrontendGroupCollection ... die Verknüpfung der Datenbank-Tabellen con_frontendusers, con_frontendgroups und con_frontendgroupmembers über "Joins" funktioniert nicht korrekt...
Komme da aber leider nicht weiter..
Das Auskommentieren der Zeilen bringt mich hier leider nicht weiter, habe ja dadurch nicht die gewünschte Ausgabe der Benutzer nach Gruppen
Ich bin weiter auf die Suche gegangen und denke es liegt an den Klassen cApiFrontendGroupMemberCollection, cApiFrontendUserCollection, cApiFrontendGroupCollection ... die Verknüpfung der Datenbank-Tabellen con_frontendusers, con_frontendgroups und con_frontendgroupmembers über "Joins" funktioniert nicht korrekt...
Komme da aber leider nicht weiter..
-
- Beiträge: 27
- Registriert: Di 23. Dez 2014, 14:08
- Kontaktdaten:
Re: [BUG 4.9.8] Anzeigeoptionen Benutzer einer Frontend-Grup
Danke für die Fehlermeldung.
Ich habe dazu ein Ticket für die nächste Version angelegt:
https://issues.contenido.org/browse/CON-2397
Ich habe dazu ein Ticket für die nächste Version angelegt:
https://issues.contenido.org/browse/CON-2397
-
- Beiträge: 63
- Registriert: Fr 21. Jan 2011, 13:29
- Kontaktdaten:
Re: [BUG 4.9.8] Anzeigeoptionen Benutzer einer Frontend-Grup
Der Fehler besteht leider immer noch in 4.9.11
-
- Beiträge: 967
- Registriert: Do 15. Apr 2004, 17:12
- Wohnort: Eschborn-Niederhöchstadt
- Kontaktdaten:
Re: [BUG 4.9.8] Anzeigeoptionen Benutzer einer Frontend-Grup
Wir haben das Problem vorerst mit keiner sehr hohen Priorität versehen, deshalb ist das derzeit auch nicht für die nächste Version vorgesehen. Ich habe das Thema aber mal auf dem Schirm, damit es nicht verloren geht!
Frederic Schneider
Entwickler bei der four for business AG
Entwickler bei der four for business AG
-
- Beiträge: 4254
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: [BUG 4.9.8] Anzeigeoptionen Benutzer einer Frontend-Grup
Servus,
das hier benannte Problem ist nicht ganz so einfach zu lösen. Es wird in diesem Fall auf eine Methode (->link()) der Generic DB zurückgegriffen, die in diesem Fall so nicht anwendbar ist. Den technischen Hintergrund erspare ich mir hier, das ist wohl eher ein Fall für mein Entwickler-Buch. Nur so viel - es soll eine Hilfstabelle per Left Join eingebunden werden, was aber aufgrund mangelnder ID-Querverweise hier nicht möglich ist.
Ich habe das Problem nun anders gelöst. Dazu müssen 2 Dateien modifiziert werden. Zum einen die Datei include.frontend.user_menu.php ab Zeile 123 und zum Anderen die Datei include.frontend.left_top.php ab Zeile 284. Dort steht folgender Code, der für die Filterung nach Gruppen bei der DB-Abfrage zuständig sein soll, jedoch so nicht funktioniert, sondern besagten Fehler auslöst.
Diesen nun bitte mit folgendem Code ersetzen
Könnte das bitte nochmal Jemand ausführlich testen. Ich habe nur ein paar grundsätzliche Tests im Demomandanten gemacht. Ein ausführlicher Test mit einer größeren Anzahl Frontend-Nutzern und -Gruppen fehlt noch.
Gruß aus Franken
Ortwin
das hier benannte Problem ist nicht ganz so einfach zu lösen. Es wird in diesem Fall auf eine Methode (->link()) der Generic DB zurückgegriffen, die in diesem Fall so nicht anwendbar ist. Den technischen Hintergrund erspare ich mir hier, das ist wohl eher ein Fall für mein Entwickler-Buch. Nur so viel - es soll eine Hilfstabelle per Left Join eingebunden werden, was aber aufgrund mangelnder ID-Querverweise hier nicht möglich ist.
Ich habe das Problem nun anders gelöst. Dazu müssen 2 Dateien modifiziert werden. Zum einen die Datei include.frontend.user_menu.php ab Zeile 123 und zum Anderen die Datei include.frontend.left_top.php ab Zeile 284. Dort steht folgender Code, der für die Filterung nach Gruppen bei der DB-Abfrage zuständig sein soll, jedoch so nicht funktioniert, sondern besagten Fehler auslöst.
Code: Alles auswählen
if ($_REQUEST["restrictgroup"] != "" && $_REQUEST["restrictgroup"] != "--all--") {
$oFEUsers->link("cApiFrontendGroupMemberCollection");
$oFEUsers->setWhere("cApiFrontendGroupMemberCollection.idfrontendgroup", $_REQUEST["restrictgroup"]);
}
Code: Alles auswählen
if ($_REQUEST["restrictgroup"] != "" && $_REQUEST["restrictgroup"] != "--all--") {
// mod (c) by Ortwin Pinke aka Oldperl, see forum topic http://forum.contenido.org/viewtopic.php?f=98&t=36554
$oFrontendGroupMembers = new cApiFrontendGroupMemberCollection();
$oFrontendGroupMembers->addResultField('idfrontenduser');
$oFrontendGroupMembers->setWhere('idfrontendgroup', $_REQUEST["restrictgroup"]);
$oFrontendGroupMembers->query();
$aTable = $oFrontendGroupMembers->fetchTable(array('idfrontenduser'=>'idfrontenduser'));
$aGroupMembers = array();
if(count($aTable) > 0) {
foreach ($aTable as $sKey => $aItem) {
$aGroupMembers[] = $aItem['idfrontenduser'];
}
}
if(count($aGroupMembers) == 0) {
$aGroupMembers[] = 0;
}
$oFEUsers->setWhere("cApiFrontendUserCollection.idfrontenduser", $aGroupMembers, "in");
}
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: [BUG 4.9.8] Anzeigeoptionen Benutzer einer Frontend-Grup
Hoi!Oldperl hat geschrieben:Servus,
Könnte das bitte nochmal Jemand ausführlich testen.
Mit zwei Usern und zwei Gruppen getestet und für gut befunden.
Gruß aus Berlin,
Frank
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
-
- Beiträge: 63
- Registriert: Fr 21. Jan 2011, 13:29
- Kontaktdaten:
Re: [BUG 4.9.8] Anzeigeoptionen Benutzer einer Frontend-Grup
Vielen lieben Dank Ortwin für das vorgezogene Weihnachtsgeschenk! Habs erst jetzt entdeckt und gleich getestet:
zumindest bei 68 Usern und 17 Gruppen funktionierts bisher bei mir ohne Probleme. DaS erleichtert mir eniges!
Vielen Dank nochmal von einem anderen Franken
zumindest bei 68 Usern und 17 Gruppen funktionierts bisher bei mir ohne Probleme. DaS erleichtert mir eniges!
Vielen Dank nochmal von einem anderen Franken
-
- Beiträge: 4254
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: [BUG 4.9.8] Anzeigeoptionen Benutzer einer Frontend-Grup
Immer gerne! Freut mich wenn ich helfen konnte. Dank an Dich für' s Testen und Dein Feedback.Bernbacher hat geschrieben:Vielen lieben Dank Ortwin...
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog