Page 1 of 2
Modul CustomContent in v.1.8.1
Posted: Fri Jul 23, 2010 8:06 am
by misiu
Hallo,
ich nutzte immer das Modul CustomContent / FrontEndUsers, um Inhalt mit Benutzername/Passwort zu schützten. Das funktionierte bis zur Version 1.7.1 tadellos.
Benutzt habe ich immer diesen Mechanismus:
Code: Select all
{if $customcontent_loggedin > 0}
Welcome <b>{$customcontent_loginname}</b><br/>
{else}
<h1>You are not authorized to view this data</h1>
{/if}
Die Variable $customcontent_loggedin scheint leer zu sein oder nicht zu existieren.
Im FrontEndUsers wurde der Benutzter erfolgreich angemeldet.
Meine Frage an die Profis:
Wie kann ich den Fehler eingrenzen?
Grüße Oliver
Re: Modul CustomContent in v.1.8.1
Posted: Fri Jul 23, 2010 8:55 am
by NaN
Hallo und willkommen im Forum!
In der Modulhilfe des CustomContent Moduls werden zwei Varianten gezeigt, mit denen man den Loginstatus abfragen kann. Versuchs einfach mal mit der anderen

Re: Modul CustomContent in v.1.8.1
Posted: Fri Jul 23, 2010 8:58 am
by misiu
Das habe ich auch schon probiert - leider ohne Erfolg.
Re: Modul CustomContent in v.1.8.1
Posted: Fri Jul 23, 2010 9:10 am
by NaN
Hast Du den Zwischenspeicher gelöscht und für die Seiten in denen der Login geprüft wird deaktiviert?
Wird FrontendUsers und CustomContent auch im Template aufgerufen? (ich schätze mal ja, hatte ja vorher funktioniert)
Sind denn die Module auch alle auf dem neuesten Stand?
Es gab Änderungen bei CMSms 1.8, die bei vielen Modulen zu Problemen geführt hatten, weil die noch auf Funktionen zugegriffen haben, die es jetzt nicht mehr gibt.
Bei der aktuellsten Version von FrontendUsers wird zusätzlich noch CGExtensions benötigt.
Re: Modul CustomContent in v.1.8.1
Posted: Fri Jul 23, 2010 9:16 am
by misiu
Alle Module sind auf den neusten Stand:
CGExtensions 1.19
CustomContent 1.5.3
FrontEndUsers 1.10.1
Mir ist grade aufgefallen, dass in FrontEndUser unter Users folgender Fehler angezeigt wird.
Code: Select all
Error
Unknown column 'A.id' in 'on clause'
Steht das im Zusammenhang mit den beschriebenen Problem?
Re: Modul CustomContent in v.1.8.1
Posted: Fri Jul 23, 2010 9:20 am
by NaN
Könnte durchaus sein.
Setz mal in der config.php $config['debug'] = true; und Schau Dir das Ergebnis im FrontEndUsers Modul und im Frontend nochmal an. Schau mal was dort evtl. für Fehler stehen.
Re: Modul CustomContent in v.1.8.1
Posted: Fri Jul 23, 2010 9:57 am
by misiu
Diese Notiz kam hinzu:
Error
Notice: Undefined index: admin_nav in /var/www/html/tmp/templates_c/FrontEndUsers^%%84^849^8492E002%%module_file_tpl%3AFrontEndUsers%3Berror.tpl.php on line 5
Unknown column 'A.id' in 'on clause'
hier mal die Debug Meldung:
Debug: (2.4999999999942E-5) - (1483968)
loading smarty
Debug: (0.008425) - (1908208)
loading adodb
Debug: (0.011939) - (2043184)
loading page functions
Debug: (0.019394) - (2365672)
loading content functions
Debug: (0.025458) - (2678120)
loading pageinfo functions
Debug: (0.027018) - (2729008)
loading translation functions
Debug: (0.029655) - (2823472)
loading events functions
Debug: (0.03277) - (2947072)
loading php4 entity decode functions
Debug: (0.038292) - (3288224)
done loading files
Debug: (0.057597) - (4370592)
(mysql): SELECT sitepref_name, sitepref_value from cms_siteprefs
Debug: (0.070248) - (4524392)
(mysql): SELECT * FROM cms_userplugins
Debug: (0.089673) - (5343552)
(mysql): SELECT * FROM cms_modules WHERE active = 1 ORDER by module_name
Debug display of 'End of include':(0.321718) - (13120096)
Debug: (0.323502) - (13067712)
Session found. Moving on...
Debug: (0.323669) - (13068008)
Session found. Moving on...
Debug: (0.325578) - (13071224)
(mysql): SELECT preference, value FROM cms_userprefs WHERE user_id = '1'
Debug: (0.340042) - (13747456)
Session found. Moving on...
Debug: (0.340284) - (13748120)
Session found. Moving on...
Debug: (0.340395) - (13748264)
before theme load
Debug display of 'Load Content Operations':(0.343507) - (13912968)
Debug display of 'End Load Content Operations':(0.360147) - (14790368)
Debug: (0.361204) - (14791424)
(mysql): SELECT content_id FROM cms_content WHERE default_content = 1
Debug: (0.362444) - (14793608)
(mysql): SELECT * FROM cms_content WHERE content_id = '15'
Debug: (0.372352) - (15198128)
(mysql): SELECT ug.user_id FROM cms_user_groups ug
WHERE ug.user_id = '1' AND ug.group_id = 1
Debug: (0.374957) - (15199688)
(mysql): SELECT DISTINCT permission_name FROM cms_user_groups ug INNER JOIN cms_group_perms gp ON gp.group_id = ug.group_id INNER JOIN cms_permissions p ON p.permission_id = gp.permission_id INNER JOIN cms_groups gr ON gr.group_id = ug.group_id WHERE ug.user_id = '1' AND gr.active = 1
Debug: (0.521601) - (15808648)
(mysql): SELECT htmlblob_id FROM cms_additional_htmlblob_users WHERE user_id = '1'
Debug: (0.522557) - (15811440)
(mysql): SELECT group_id FROM cms_user_groups WHERE user_id = '1'
Debug: (0.523422) - (15810512)
(mysql): SELECT htmlblob_id FROM cms_additional_htmlblob_users WHERE user_id IN (-1)
Debug: (0.524428) - (15810176)
(mysql): SELECT content_id FROM cms_content WHERE owner_id = '1'
Debug: (0.525248) - (15811912)
(mysql): SELECT user_id,content_id FROM cms_additional_users
Debug: (0.526608) - (15778824)
after theme load
Debug: (0.526848) - (15779600)
before populate admin navigation
Debug: (0.526965) - (15779880)
before menu items
Debug: (0.533685) - (15838408)
after menu items
Debug: (0.535136) - (15841304)
before syste modules
Debug: (0.536615) - (15851544)
before module menu items
Debug: (0.538184) - (15865200)
after module menu items
Debug: (0.54834) - (15906712)
after populate admin navigation
Debug: (0.548479) - (15906952)
before theme-y stuff
Debug: (0.551448) - (15907192)
after theme-y stuff
Debug: (0.553426) - (15921872)
(mysql): SELECT count(news_id) FROM cms_module_news n
WHERE status != 'published'
AND (( IFNULL(end_time, '1970-01-01 01:00:01') = '1970-01-01 01:00:01') OR (end_time > '2010-07-23 11:53:11'))
Debug: (0.553971) - (15910544)
before notifications
Debug: (0.554323) - (15911400)
after notifications
Debug: (0.555079) - (15912968)
(mysql): SELECT version from cms_version
Debug: (0.559994) - (15983744)
(mysql): SELECT bookmark_id, user_id, title, url FROM cms_admin_bookmarks WHERE user_id = '1' ORDER BY title
Debug: (0.610101) - (16784424)
(mysql): SELECT * FROM cms_module_feusers_propdefn
Debug: (0.612129) - (16792152)
(mysql): SELECT * FROM cms_module_feusers_grouppropmap
WHERE name = 'name' ORDER BY sort_key DESC
Debug: (0.620737) - (16977176)
(mysql): SELECT * FROM cms_module_feusers_grouppropmap
WHERE name = 'vorname' ORDER BY sort_key DESC
Debug: (0.625047) - (16979200)
(mysql): SELECT * FROM cms_module_feusers_grouppropmap
WHERE name = 'email' ORDER BY sort_key DESC
Debug: (0.654784) - (18122120)
(mysql): SELECT eh.tag_name, eh.module_name, e.originator, e.event_name, eh.handler_order, eh.handler_id, eh.removable FROM cms_event_handlers eh
INNER JOIN cms_events e ON e.event_id = eh.event_id
ORDER BY eh.handler_order ASC
Debug: (0.686836) - (18067608)
(mysql): SELECT * FROM cms_module_feusers_groups
Debug: (0.703898) - (18075968)
(mysql): SELECT A.*,count(D.userid) as loggedin FROM cms_module_feusers_users A LEFT OUTER JOIN cms_module_feusers_loggedin D
ON A.id = D.userid LEFT JOIN cms_module_feusers_belongs C ON A.id = C.userid WHERE A.id = C.userid AND groupid = '1' GROUP BY A.id LIMIT 0, 100000
Debug: (0.735865) - (18132152)
(mysql): SELECT * FROM cms_module_feusers_groups
Debug: (0.745752) - (18185696)
(mysql): SELECT A.*,count(D.userid) as loggedin FROM cms_module_feusers_users A,cms_module_feusers_loggedin D LEFT JOIN cms_module_feusers_belongs C ON A.id = C.userid WHERE A.id = D.userid AND A.id = C.userid AND groupid = '1' GROUP BY A.id ORDER BY username LIMIT 0, 100
Error (1054): Unknown column 'A.id' in 'on clause'
Debug: (0.754145) - (18186032)
(mysql): SELECT count(id) as num FROM cms_module_feusers_users,cms_module_feusers_belongs WHERE id=userid AND groupid = '1'
Debug: (0.809671) - (18226752)
(mysql): SELECT count(userid) as count FROM cms_module_feusers_history
Debug: (0.812564) - (18229688)
(mysql): SELECT A.*,B.username
FROM cms_module_feusers_history A,
cms_module_feusers_users B
WHERE A.userid = B.id ORDER BY refdate DESC LIMIT 0,10
Debug: (0.878004) - (18229272)
(mysql): SELECT * FROM cms_module_feusers_groups
Debug: (0.921387) - (18553360)
(mysql): SELECT * FROM cms_module_feusers_groups
Debug: (0.932704) - (18563888)
(mysql): SELECT * from cms_module_templates WHERE module_name = 'FrontEndUsers' and template_name = 'notification_template'
Debug: (0.934359) - (18562760)
(mysql): SELECT COUNT(*) AS count FROM cms_module_feusers_tempcode
Debug: (1.112861) - (18652640)
(mysql): SELECT * from cms_module_templates WHERE module_name = 'FrontEndUsers' and template_name = 'feusers_loginform'
Debug: (1.123474) - (18655008)
(mysql): SELECT * from cms_module_templates WHERE module_name = 'FrontEndUsers' and template_name = 'feusers_logoutform'
Debug: (1.134077) - (18655624)
(mysql): SELECT * from cms_module_templates WHERE module_name = 'FrontEndUsers' and template_name = 'feusers_changesettingsform'
Debug: (1.144464) - (18657592)
(mysql): SELECT * from cms_module_templates WHERE module_name = 'FrontEndUsers' and template_name = 'feusers_forgotpasswordform'
Debug: (1.146411) - (18659488)
(mysql): SELECT * from cms_module_templates WHERE module_name = 'FrontEndUsers' and template_name = 'feusers_forgotpasswordemailform'
Debug: (1.148277) - (18660616)
(mysql): SELECT * from cms_module_templates WHERE module_name = 'FrontEndUsers' and template_name = 'feusers_forgotpasswordverifyform'
Debug: (1.163364) - (18677280)
(mysql): SELECT * from cms_module_templates WHERE module_name = 'FrontEndUsers' and template_name = 'feusers_lostunform'
Debug: (1.165645) - (18678136)
(mysql): SELECT * from cms_module_templates WHERE module_name = 'FrontEndUsers' and template_name = 'feusers_lostunform_confirm'
Debug: (1.178352) - (18687856)
(mysql): SELECT * from cms_module_templates WHERE module_name = 'FrontEndUsers' and template_name = 'feusers_viewuser'
Debug: (1.190011) - (18689576)
(mysql): SELECT * from cms_module_templates WHERE module_name = 'FrontEndUsers' and template_name = 'feusers_resetsession'
Re: Modul CustomContent in v.1.8.1
Posted: Fri Jul 23, 2010 12:46 pm
by NaN
Wie hast Du die Module aktualisiert?
Mit dem ModuleManager oder über FTP?
Weißt Du zufällig noch welche FrontendUsers Version Du vorher hattest?
Die Meldung "Unknown column 'A.id' in 'on clause'" gab es nämlich in einer älteren Version (aus dem Jahr 2009). Ich vermute mal, dass beim Update nicht alle Dateien fehlerfrei auf Deinem Server gelandet sind. Lade das FrontendUsers Modul einfach nochmal neu hoch.
Wenn Du den MenuManager verwendet hast, wird das nicht so einfach gehen.
Da musst Du erst die Zugriffsberechtigungen der Verzeichnisse und Dateien im Modulverzeichnis ändern.
In den Debug-Infos kann ich jetzt auf den ersten Blick keinen Fehler erkennen.
Die Meldung "Error Notice: Undefined index: admin_nav..." könnte auch mit anderen Modulen zusammenhängen. Z.B. Selfregistration oder CMSMailer. (frag nicht wieso, aber irgendwo hatte ich mal gelesen, dass eine Neuinstallation und -konfiguration das Problem behoben hat)
Eine Neuinstallation von FrontEndUsers könnte auch helfen.
Vielleicht war ein Fehler im Update-Skript.
Ich hoffe Du hast eine Sicherung der Datenbank gemacht, damit die User erhalten bleiben.
Re: Modul CustomContent in v.1.8.1
Posted: Fri Jul 23, 2010 1:03 pm
by misiu
Welche Version ich vorher hatte, kann ich leider nicht mehr sagen.
Ich meine es wäre die letzte gewesen. Ich nutzte dafür meist den ModulManager.
Ich werde mal heute FrontendUser neu installieren.
Ein Backup ist vorhanden - das macht doch jeder, oder? In den letzten 24 Stunden sind keine neuen User dazu gekommen.
Re: Modul CustomContent in v.1.8.1
Posted: Mon Jul 26, 2010 6:17 am
by misiu
So, nun habe ich das Modul FrontendUser neu installiert (direkt übers Filesystem).
Die Fehlermeldung:
Code: Select all
Unknown column 'A.id' in 'on clause'
ist leider nicht verschwunden.
Um zu meine ursprüngliche Frage zurückzukommen - Die zweite Methode von CustomContent funktioniert jetzt auf einmal. Das wäre für mich eine Lösung.
Gibt es noch andere Möglichkeiten Inhalt mit einer Authentifizierung über FEU zu schützten?
Re: Modul CustomContent in v.1.8.1
Posted: Mon Jul 26, 2010 11:21 am
by NaN
Das Modul AdvancedContent bietet die Möglichkeit Seiten nur für bestimmte FrontEndUsers Gruppen zugänglich zu machen (im Tab Optionen kann man dann einfach eine Gruppe auswählen).
So braucht man die Abfrage nicht im Template zu machen und kann ein und dasselbe Template verwenden.
Wenn eine Gruppe ausgewählt wurde, werden beim Speichern automatisch die Optionen "Zwischenspeichern" und "Seite kann durchsucht werden" deaktiviert.
Darüber muss man sich also auch keinen Kopf mehr machen.
Probiers einfach mal aus.
Re: Modul CustomContent in v.1.8.1
Posted: Mon Jul 26, 2010 11:25 am
by NaN
misiu wrote:
So, nun habe ich das Modul FrontendUser neu installiert (direkt übers Filesystem).
Bist Du sicher, dass die Dateien auch alle überschrieben wurden?
Wenn Du vorher den ModulManager verwendet hast, kann es sein, dass Du via FTP keine Dateien überschreiben kannst.
Re: Modul CustomContent in v.1.8.1
Posted: Mon Jul 26, 2010 11:39 am
by misiu
Doch direkt über SSH
Code: Select all
cd /var/www/html/modules/
rm -fr FrontEndUsers/
wget http://s3.amazonaws.com/cmsms/downloads/5767/FrontEndUsers-1.10.1.tar.gz
tar xvzf FrontEndUsers-1.10.1.tar.gz
chown -R apache.apache FrontEndUsers/
rm -f FrontEndUsers-1.10.1.tar.gz
fertig...
Re: Modul CustomContent in v.1.8.1
Posted: Wed Jul 28, 2010 12:25 pm
by nockenfell
NaN wrote:
Das Modul AdvancedContent bietet die Möglichkeit Seiten nur für bestimmte FrontEndUsers Gruppen zugänglich zu machen (im Tab Optionen kann man dann einfach eine Gruppe auswählen).
So braucht man die Abfrage nicht im Template zu machen und kann ein und dasselbe Template verwenden.
Wenn eine Gruppe ausgewählt wurde, werden beim Speichern automatisch die Optionen "Zwischenspeichern" und "Seite kann durchsucht werden" deaktiviert.
Darüber muss man sich also auch keinen Kopf mehr machen.
Probiers einfach mal aus.
Bin dies gerade am Testen. Allerdings komme ich noch nicht auf den grünen Zweig. Meine Überlegung dazu:
- Ich weiss anhand dem Eintrag in den Optionen, ob der Inhalt geschützt ist oder nicht.
- Darauf aufbauend mache ich eine Abfrage im Template
Hier der Test-Code den ich im Moment verwende, jedoch noch nicht klappt:
Code: Select all
{if $content_obj.mProperties->mPropertyValues->feu_access == 1 and $ccuser->loggedin() == 0}
<h1>Zugriff verweigert</h1>
<p>Sie haben keinen Zugriff auf diese Seite. Bitte melden Sie sich an:</p>
{FrontEndUsers form="login"}
{else}
Sie sind eingeloggt oder müssen sich nicht einloggen
{/if}
Ich komme im Moment noch nicht auf den Wert von "feu_access"
@NaN: Hast du ein Beispiel-Code für den FEU-Zugriff? Ich möchte für FEU-Zugriff wie normalen Zugriff das gleiche Template verwenden.
Re: Modul CustomContent in v.1.8.1
Posted: Wed Jul 28, 2010 1:46 pm
by NaN
Also eigentlich brauchst Du ja bei AdvancedContent keine Abfrage mehr im Template.
Du kannst einfach auf eine öffentliche Seite umleiten (die nicht im Menü sichtbar ist).
Kann man ebenfalls im Tab Optionen auswählen.
Und auf dieser Seite kannst Du ja einfach als Inhalt "Sie sind nicht berechtigt ... usw." verwenden.
Du kannst bei AdvancedContent auch einstellen, ob auf der Zielseite das Login-Formular angezeigt werden soll, oder nicht (bietet sich natürlich nur an, wenn die Seite generell nur für eingeloggte User ist - also unabhängig von der Gruppe)
Du kannst das aber auch alles im Inhalt der Zielseite selber machen.
Aber um Deine Frage nach dem feu_access zu beantworten:
1. Der Syntax bei {$content_obj} ist falsch.
Richtig wäre {$content_obj->mProperties->mPropertyValues.feu_access}
ABER:
2. feu_access beinhaltet nur die IDs der Usergruppen durch Semikolon getrennt
D.h. {if $content_obj->mProperties->mPropertyValues.feu_access == 1}
wird nur dann eintreten, wenn auch wirklich nur eine Usergruppe ausgewählt wurde
und diese die ID 1 hat.
Also der reine Login-Status lässt sich darüber nicht abfragen, sondern nur, ob die Seite öffentlich
oder nur für bestimmte Gruppen ist.
Also bei AdvancedContent wird der Inhalt automatisch nur dann angezeigt wenn man zu der ausgewählten Gruppe gehört. Da muss man nichts abfragen. Wenn man nicht eingeloggt ist, hat man entweder einfach keinen Inhalt oder kann das Login-Formular an dieser Stelle anzeigen lassen oder wird umgeleitet auf eine ausgewählte Seite und zeigt dort entweder deren Inhalt oder das Login-Formular an.