Hallo,
das Thema Login taucht ja immer wieder auf, aber ich habe nichts gefunden, was meinem akuten Fall entspricht. Daher also eine Frage an euch:
Ich habe eine Website mit momentan drei verschiedenen Bereichen:
- öffentlicher Teil
- passwortgeschützter Bereich Seminar A
- passwortgeschützter Bereich Seminar B
Nun möchte ich auf einer eigenen Seite ein Login anbieten. Das ist auch leicht zu machen und funktioniert.
Frontenduser und Frontendgruppe sind angelegt, Login funktioniert.
Aber es gibt nun für Seminar A und B einerseits gemeinsam zu nutzende Informationen (die werden über die Hauptnavigation angeboten), aber auch Informationen, die für jedes Seminar individuell sind und jeweils unsichtbar bleiben sollen für das andere.
Diese individuellen Informationen sind in einer separaten Kategorie abgelegt. Sie werden durch eine Artikelliste ausgegeben.
Das Ganze sieht also so aus:
|-- Öffentlicher Bereich
|-- Seminarmaterialien (für alle Seminare gleich)
|-- Seminar A
|--------- Infos Seminar A
|-- Seminar B
|--------- Infos Seminar B
|-- Login
Wie übermittle ich jetzt beim Login, welche Artikelliste zusätzlich nach dem Einloggen angezeigt werden soll, also welche Seminarinfos sichtbar werden?
Ich hoffe, ich habe mich verständlich ausgedrückt...
Viele Grüße,
Ayshe
login-frage
-
- Beiträge: 1758
- Registriert: Mo 1. Aug 2005, 00:35
- Wohnort: in der schönen Hallertau, mitten im Hopfen
- Kontaktdaten:
Re: login-frage
in dem du die benutzergruppen für die entsprechenden kategorien berechtigst
group a
group b
seminar a access by group a only
seminar b access by group b only
Seminarmaterialien access by group a and b
oder habe ich mal wieder nix verstanden
group a
group b
seminar a access by group a only
seminar b access by group b only
Seminarmaterialien access by group a and b
oder habe ich mal wieder nix verstanden

Grüsse, Guido
"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
Re: login-frage
Ganz so schlimm ist es nichtmvf hat geschrieben: oder habe ich mal wieder nix verstanden

Aber ich weiß schon vom Prinzip und auch aus der Praxis, wie ich die Berechtigungen setzen muß. Das ist ja auch alles OK.
Ich denke, es liegt vielmehr am Modul, mit dem die Sachen angezeigt werden sollen. Die Hauptnavigation zu den Seminarinhalten wird ja gezeigt, aber es gibt halt auch eine Subnavigation, die über die w3concept Artikelliste v1 geregelt wird. Und ich denke, die kann eben nicht die Parameter verarbeiten wie die Hauptnavigation.
Der Code der Artikelliste:
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : w3concepts_alist_v1
* Author : Andreas Kummer
* Copyright : mumprecht & kummer w3concepts
* Created : 06-05-2004
* Modified : 06-05-2004 by Ayshe: <ul> statt Tabelle
* Modified : 13-05-2005 by Ayshe: CSS-Klasse für aktive Kategorie, Standarzeichen für "Mehr" und "Zurück"
* Modifide : 17-03-2006 by Ayshe: title-Attribut wird in den URLs generiert; alle "&"-Zeichen im URL ersetzt durch "&" (Validität!)
************************************************/
// konfiguration
$categorie = "CMS_VALUE[0]";
$angezeigte_anzahl = "CMS_VALUE[1]";
if ($angezeigte_anzahl == '') $angezeigte_anzahl = 10;
$startartikel = "CMS_VALUE[2]";
if ($startartikel == '') $startartikel = false;
$subheadline = "CMS_VALUE[3]";
if ($subheadline == '') $subheadline = 200;
$navigationslink['previous'] = "CMS_VALUE[4]";
if ($navigationslink['previous'] == '') $navigationslink['previous'] = '[ «« ]';
$navigationslink['next'] = "CMS_VALUE[5]";
if ($navigationslink['next'] == '') $navigationslink['next'] = '[ »» ]';
$ebene = "CMS_VALUE[6]";
$limit = (isset($_GET['displaylimit']) && $_GET['displaylimit'] > 0)?($_GET['displaylimit']):(0);
$db = new DB_Contenido;
$db2 = new DB_Contenido;
// wenn startartikel true ist, werden die startartikel dargestellt, sonst nicht
$nurstartartikel = ($startartikel)?(''):('AND d.is_start = 0');
// liest die anzahl betroffener artikel aus der datenbank
switch ($ebene) {
case -2:
$sql_1 = "
SELECT count(*) AS anzahl
FROM {$cfg['tab']['cat']} AS a,
{$cfg['tab']['cat']} AS b,
{$cfg['tab']['cat']} AS c
LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
WHERE
(
(
c.parentid = b.idcat
AND b.parentid = a.idcat
)
OR
(
c.idcat = b.idcat
AND b.parentid = a.idcat
)
OR
(
c.idcat = b.idcat
AND b.idcat = a.idcat
)
)
AND a.idcat = $categorie
AND e.online = 1
AND e.redirect = 0
AND e.external_redirect = 0
$nurstartartikel
";
$sql_2 = "
SELECT c.idcat, d.idart, e.idartlang, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum
FROM {$cfg['tab']['cat']} AS a,
{$cfg['tab']['cat']} AS b,
{$cfg['tab']['cat']} AS c
LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
WHERE
(
(
c.parentid = b.idcat
AND b.parentid = a.idcat
)
OR
(
c.idcat = b.idcat
AND b.parentid = a.idcat
)
OR
(
c.idcat = b.idcat
AND b.idcat = a.idcat
)
)
AND a.idcat = $categorie
AND e.online = 1
AND e.redirect = 0
AND e.external_redirect = 0
$nurstartartikel
ORDER BY e.artsort, e.title ASC
LIMIT $limit, $angezeigte_anzahl
";
break;
case -1:
$sql_1 = "
SELECT count(*) AS anzahl
FROM {$cfg['tab']['cat']} AS a,
{$cfg['tab']['cat']} AS b,
{$cfg['tab']['cat']} AS c
LEFT JOIN {$cfg['tab']['cat_art']} AS d ON b.idcat = d.idcat
LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
WHERE
(
(
c.idcat = b.idcat
AND b.parentid = a.idcat
)
OR
(
c.idcat = b.idcat
AND b.idcat = a.idcat
)
)
AND a.idcat = $categorie
AND e.online = 1
AND e.redirect = 0
AND e.external_redirect = 0
$nurstartartikel
";
$sql_2 = "
SELECT c.idcat, d.idart, e.idartlang, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum
FROM {$cfg['tab']['cat']} AS a,
{$cfg['tab']['cat']} AS b,
{$cfg['tab']['cat']} AS c
LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
WHERE
(
(
c.idcat = b.idcat
AND b.parentid = a.idcat
)
OR
(
c.idcat = b.idcat
AND b.idcat = a.idcat
)
)
AND a.idcat = $categorie
AND e.online = 1
AND e.redirect = 0
AND e.external_redirect = 0
$nurstartartikel
ORDER BY e.artsort, e.title ASC
LIMIT $limit, $angezeigte_anzahl
";
break;
case 0:
$sql_1 = "
SELECT count(*) AS anzahl
FROM {$cfg['tab']['cat']} AS a,
{$cfg['tab']['cat']} AS b,
{$cfg['tab']['cat']} AS c
LEFT JOIN {$cfg['tab']['cat_art']} AS d ON b.idcat = d.idcat
LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
WHERE
(
(
c.idcat = b.idcat
AND b.idcat = a.idcat
)
)
AND a.idcat = $categorie
AND e.online = 1
AND e.redirect = 0
AND e.external_redirect = 0
$nurstartartikel
";
$sql_2 = "
SELECT c.idcat, d.idart, e.idartlang, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum
FROM {$cfg['tab']['cat']} AS a,
{$cfg['tab']['cat']} AS b,
{$cfg['tab']['cat']} AS c
LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
WHERE
(
(
c.idcat = b.idcat
AND b.idcat = a.idcat
)
)
AND a.idcat = $categorie
AND e.online = 1
AND e.redirect = 0
AND e.external_redirect = 0
$nurstartartikel
ORDER BY e.artsort, e.title ASC
LIMIT $limit, $angezeigte_anzahl
";
break;
}
$db->query($sql_1);
$db->next_record();
$anzahl_artikel = $db->f("anzahl");
$db->query($sql_2);
while ($db->next_record()) {
$sql = "
SELECT value FROM {$cfg['tab']['content']}
WHERE
idartlang = ".$db->f("idartlang")."
AND idtype = 1
ORDER BY typeid ASC
";
$db2->query($sql);
$db2->next_record();
$link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=".$db->f("idcat")."&idart=".$db->f("idart"));
if ($idart == $db->f("idart")) {
echo "<li><a href="$link" class="aktiv" title="".urldecode($db2->f("value"))."">".urldecode($db2->f("value"))."</a></li>";
}
else {
echo "<li><a href="$link" title="".urldecode($db2->f("value"))."">".urldecode($db2->f("value"))."</a></li>";
}
$db2->next_record();
// die subheadline auf die gew?nschte l?nge reduzieren (trennung nur
// nach bzw. vor einem ganzen wort
if (strlen($db2->f("value")) > $subheadline) {
$newsubheadline = '';
$worte = explode (" ",strip_tags(urldecode($db2->f("value"))));
$zulang = false;
foreach ($worte as $wort) {
if (strlen($newsubheadline." ".$wort) >= $subheadline) $zulang = true;
$newsubheadline = (!$zulang)?($newsubheadline." ".$wort):($newsubheadline);
}
$newsubheadline .= "...";
} else {
$newsubheadline = strip_tags(urldecode($db2->f("value")));
}
}
//weitere und vorherige Eintr?ge falls Anzahl der gelisteten Artikel begrenzt ist
if ($limit > 0 || $anzahl_artikel > $limit + $angezeigte_anzahl) {
if ($limit > 0) {
$displaylimit = ($limit - $angezeigte_anzahl >= 0)?($limit - $angezeigte_anzahl):(0);
echo "<li><a href="".$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&displaylimit=$displaylimit")."">{$navigationslink['previous']}</a></li>";
} else {
echo '';
}
if ($anzahl_artikel > $limit + $angezeigte_anzahl) {
$displaylimit = $limit + $angezeigte_anzahl;
echo "<li><a href="".$sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat&idart=$idart&displaylimit=$displaylimit")."">{$navigationslink['next']}</a></li>";
} else {
echo '';
}
}
?>
Gruß,
Ayshe
Wirf einen Blick in das Hauptnavigationsmodul, wie die Berechtigungen überprüft werden und integriere das in dieses Modul.
Gruß
HerrB
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
-
- Beiträge: 1758
- Registriert: Mo 1. Aug 2005, 00:35
- Wohnort: in der schönen Hallertau, mitten im Hopfen
- Kontaktdaten:
beuspiel dazu habe ich vor kurzem bei der VPsitemap von dodger gepostet, da fehlte auch die abfrage ob geschützt oder nichtHerrB hat geschrieben:Wirf einen Blick in das Hauptnavigationsmodul, wie die Berechtigungen überprüft werden und integriere das in dieses Modul.
Gruß
HerrB
Grüsse, Guido
"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
@ mvf: Ich nehme an, Du meinst diesen Beitrag: http://www.contenido.org/forum/viewtopi ... p&start=30
Leider habe ich überhaupt nicht gerafft, womit Du in der Sitemap die Anzeige geschützter Bereiche steuerst - allerdings kenne ich das Sitemap-Modul von Dodger auch nicht.
@ HerrB und alle:
Meine PHP-Kenntnisse entsprechen immer noch - und das wird sich sicher auch nie wirklich ändern - eher einem Stammeln, als einem fließendem Sprechen. Verzeiht mir also bitte, wenn ich nochmal nachfrage.
Gruß,
Ayshe
Leider habe ich überhaupt nicht gerafft, womit Du in der Sitemap die Anzeige geschützter Bereiche steuerst - allerdings kenne ich das Sitemap-Modul von Dodger auch nicht.
@ HerrB und alle:
Meine PHP-Kenntnisse entsprechen immer noch - und das wird sich sicher auch nie wirklich ändern - eher einem Stammeln, als einem fließendem Sprechen. Verzeiht mir also bitte, wenn ich nochmal nachfrage.
Gruß,
Ayshe
-
- Beiträge: 1758
- Registriert: Mo 1. Aug 2005, 00:35
- Wohnort: in der schönen Hallertau, mitten im Hopfen
- Kontaktdaten:
basically ist es im letzten post von mir auf der seite 1 dieser part der verantwortlich ist#ayshe hat geschrieben:@ mvf: Ich nehme an, Du meinst diesen Beitrag: http://www.contenido.org/forum/viewtopi ... p&start=30
Leider habe ich überhaupt nicht gerafft, womit Du in der Sitemap die Anzeige geschützter Bereiche steuerst - allerdings kenne ich das Sitemap-Modul von Dodger auch nicht.
Code: Alles auswählen
$visible = checkCatPermission($db->f("idcatlang"),$db->f("public"));
if ($visible) { .... }
Grüsse, Guido
"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams