Seite 1 von 1

menu und login modul suche

Verfasst: Mi 1. Feb 2006, 00:13
von hypekermit
ich suche diese navigation, welche den geschützten bereich nach dem login anzeigt....

user demo
pass demo

die standard hauptnavigation scheint dies nicht zu sein...

http://contenido.funjumping.de/front_co ... dcatart=51

Verfasst: Mi 1. Feb 2006, 01:07
von HerrB
Doch. Das Hauptnavigationsmodul zu V4.6.x kann sowas.

Du musst natürlich a) die Kategorie schützen, b) die Frontend-User in eine Frontenduser-Gruppe eintragen, c) die Frontenduser-Gruppe für den Zugriff auf die Kategorie berechtigen (Administration -> Frontend -> Frontenduser-Gruppe, Gruppe anklicken, rechts auf Category).

Gruß
HerrB

alles gemacht

Verfasst: Mi 1. Feb 2006, 01:10
von hypekermit
sobald ein schlüssel auf dem ordner ist, dann verschwindet der menupunkt...

Verfasst: Mi 1. Feb 2006, 01:19
von HerrB
Und?
Du musst natürlich a) die Kategorie schützen, b) die Frontend-User in eine Frontenduser-Gruppe eintragen, c) die Frontenduser-Gruppe für den Zugriff auf die Kategorie berechtigen (Administration -> Frontend -> Frontenduser-Gruppe, Gruppe anklicken, rechts auf Category).
Das Login-Modul muss sich in einer ungeschützten Kategorie befinden. Erst anmelden, dann Menü sehen...

Gruß
HerrB

login

Verfasst: Do 2. Feb 2006, 10:22
von hypekermit
also so wie ich das vorhabe scheint es nicht zu klappen...

mal andersherum gefragt..

ich habe oben eine hauptmenu aus flash... mit einem login button...

wenn ich darauf klicke kommt der login....

mein login modul habe ich so verändert, das wenn der user eingeloggt ist, automatisch auf eine andere seite kommt...

klappt auch...

jetzt soll in einem eigenen iframe das closed area menu erscheinen, welche alle mit einem schlüssel versehen sind....

wenn der schlüssel weg ist, dann erscheinen die bäume... wenn er da ist verschwinden die bäume...
ich habe 4 verschiedende benutzer angelegt mit den jewiligen rechte einen baum zu sehen oder nicht.. jedoch erfolglos...



ich habe wie folgt einen baum

Code: Alles auswählen


kategorie -> login
               artikel -> willkommen im loginbereich
               kategorie -> bereich 1
                                  artikel -> das können sie tun
                                  artikel -> und jenes
               kategorie -> bereich 2
                                  artikel -> das können sie tun
                                  artikel -> und jenes
                                  artikel -> und viel mehr
                                  artikel -> ausserdem das noch
               kategorie -> bereich 3
                                  artikel -> das können sie tun
                                  artikel -> und jenes
                                  artikel -> und viel mehr
                                  artikel -> ausserdem das noch
                                  artikel -> member anlegen
                                  artikel -> ganz andere sachen
gibt es ausserdem eine möglichkeit die artikel in dem menu mit auzugeben?? bzw. nur die artikel und nicht die bäume..

so das benutrzergruppe 1 ein kleines menu
und benutzergruppe 3 ein grosses menu hat???

danke für eure hilfe

Verfasst: Do 2. Feb 2006, 14:03
von HerrB
Ähm, wie? Ich habe es jetzt nicht wirklich verstanden.

Daher eine etwas allgemeine Antwort: Eine Berechtigung auf Artikel ist nicht möglich. Ansonsten findest Du im Hauptnavigationsmodul eine Funktion, die die Berechtigungen überprüft - sie funktioniert nur mit Kategorien, aber vielleicht kannst Du es gebrauchen.

Gruß
HerrB

abfrage der gruppe

Verfasst: Fr 3. Feb 2006, 01:32
von hypekermit
hallo danke für die hilfe...

mit auth user bekomme ich den user angezeigt klappt wunderbar...

gibt es eine möglichkeit..

->frontendusergruppe
->frontendusername
->frontenduserberechtigung

für den jeweilgen eingeloggten user anzuzegen, so das ich für die drei usegruppen jeweils eine eigene navigation anzeigen lassen kann???

die funktionen in den klassen lassen sich anscheinend nur schwierig ansprechen..


besten dank für schnelle hilfe...

Verfasst: Fr 3. Feb 2006, 21:34
von HerrB
Na ja, schwierig ist relativ:

Code: Alles auswählen

cInclude("classes", "class.frontend.users.php");
$oFEUsers = new FrontendUserCollection;
$oFEUsers->loadItem($auth->auth["uid"]);
echo $oFEUsers->get("username");

$oFEUserGroups = new FrontendGroupCollection;
$oFEUserGroups->setWhere("FrontendGroupCollection.idclient", $client);
$oFEUserGroups->link("FrontendGroupMemberCollection");
$oFEUserGroups->setWhere("FrontendGroupMemberCollection.idfrontenduser", $auth->auth["uid"]);
$oFEUserGroups->query();

while ($oFEUserGroups->next()) {
   echo $oFEUserGroups->get("groupname");
}
Hey, ich gebs zu, ich habe mich da mal durchgebissen... :wink:

Ungetestet.

Gruß
HerrB

fehler

Verfasst: Sa 4. Feb 2006, 14:44
von hypekermit
danke für dein script...

aber es kommt nicht mit get-> klar

fehlermeldung

Code: Alles auswählen

user3
Fatal error: Call to undefined function: get() in /home/www/web131/html/cms/front_content.php(770) : eval()'d code on line 133
mein script sieht so aus:

Code: Alles auswählen

<?php
#Includes
cInclude('classes', 'class.template.php');
cInclude("classes", "class.frontend.users.php"); 

if ( !is_object($tpl) ) {
    $tpl = new Template;
}
$tpl->reset();

//datenbank connect 
$uname = $auth->auth["uname"];

// abfrage der kundendaten
$sql = "SELECT * FROM `con_frontendusers` WHERE `username` = '$uname'";
$result = mysql_query($sql);

$row = mysql_fetch_assoc($result);
//echo $sql;

$play_check = $row["game"];
$new_firma = $row["firma"];
$new_name = $row["anrede"]." ".$row["realname"];
$new_child = $row["patenkind"];


// prüfung ob eingeloggt oder nicht
if ($auth->auth["uid"] == "nobody"){

	$template = 'login.html';
                $tpl->set('s', 'FORM_ACTION', 'front_content.php?idcatart='.$idcatart.'&firmen_id='.$uname);	
	$tpl->set('s', 'USERNAME', mi18n("Username"));	
	$tpl->set('s', 'PASSWORD', mi18n("Passwort"));	
	$tpl->set('s', 'GO', mi18n("Go"));	
	$tpl->set('s', 'LOGIN', mi18n("Login"));
} 

// geloggt und gespielt
elseif($play_check=="1"){
	$row["anrede"] = $n_anrede;
         $template = 'gespielt.html';
         $tpl->set('s', 'CURRENT_USERNAME', (""));	
         $tpl->set('s', 'USERNAME', $new_name);
         $tpl->set('s', 'PATENKIND', $new_child);
         $tpl->set('s', 'FIRMA', $new_firma);	
         $tpl->set('s', 'HREF', 'front_content.php?idcatart='.$idcatart.'&logout=yes');	
         $tpl->set('s', 'LOGOUT', ("ausloggen"));	
        }


// geloggt und nicht gespielt
else {

echo $uname; 

$oFEUsers = new FrontendUserCollection; 
$oFEUsers->loadItem($auth->auth["uid"]); 
echo $oFEUsers->get("username"); 

$oFEUserGroups = new FrontendGroupCollection; 
$oFEUserGroups->setWhere("FrontendGroupCollection.idclient", $client); 
$oFEUserGroups->link("FrontendGroupMemberCollection"); 
$oFEUserGroups->setWhere("FrontendGroupMemberCollection.idfrontenduser", $auth->auth["uid"]); 
$oFEUserGroups->query(); 

while ($oFEUserGroups->next()) { 
echo $oFEUserGroups->get("groupname");
  
} 

/*$template = 'logout.php';

	$tpl->set('s', 'CURRENT_USERNAME', (""));	
	$tpl->set('s', 'USERNAME', $new_name);
	$tpl->set('s', 'Firmen_ID', $auth->auth["uname"]);
         $tpl->set('s', 'HREF', 'front_content.php?idcatart='.$idcatart.'&logout=yes');	
	$tpl->set('s', 'LOGOUT', ("ausloggen"));	*/
}

$tpl->generate('templates/'.$template);
?>


Verfasst: Sa 4. Feb 2006, 17:24
von HerrB
Na ja, da ist nur ein kleiner Fehler. Ändere diese Zeile:

Code: Alles auswählen

echo $oFEUsers->get("username"); 
in

Code: Alles auswählen

if ($oFEUsers->next()) {
   echo $oFEUsers->get("username");
}
Gruß
HerrB

gleicher fehler!

Verfasst: Sa 4. Feb 2006, 17:33
von hypekermit
die änderung gibt den gleichen fehler wieder aus...

Code: Alles auswählen

user3 
Fatal error: Call to undefined function: get() in /home/www/web131/html/cms/front_content.php(770) : eval()'d code on line 138 
habe es bei beiden einträgen geändert wie folgt:

Code: Alles auswählen


$oFEUsers = new FrontendUserCollection; 
$oFEUsers->loadItem($auth->auth["uid"]); 

if ($oFEUsers->next()) { 
   echo $oFEUsers->get("username"); 
}

$oFEUserGroups = new FrontendGroupCollection; 
$oFEUserGroups->setWhere("FrontendGroupCollection.idclient", $client); 
$oFEUserGroups->link("FrontendGroupMemberCollection"); 
$oFEUserGroups->setWhere("FrontendGroupMemberCollection.idfrontenduser", $auth->auth["uid"]); 
$oFEUserGroups->query(); 

while ($oFEUserGroups->next()) { 
     if ($oFEUserGroups->next()) { 
          echo $oFEUserGroups->get("groupname"); 
     } 
} 


Verfasst: Sa 4. Feb 2006, 17:55
von HerrB
Nein, das wäre falsch gewesen. Whatever, habe die falschen Objekte verwendet:

Code: Alles auswählen

<?php
$oFEUsers = new FrontendUserCollection;
$oFEUser = $oFEUsers->loadItem($auth->auth["uid"]);
if ($oFEUser) {
   echo $oFEUser->get("username");
}

$oFEUserGroups = new FrontendGroupCollection;
$oFEUserGroups->setWhere("FrontendGroupCollection.idclient", $client);
$oFEUserGroups->link("FrontendGroupMemberCollection");
$oFEUserGroups->setWhere("FrontendGroupMemberCollection.idfrontenduser", $auth->auth["uid"]);
$oFEUserGroups->query();

while ($oFEUserGroup = $oFEUserGroups->next()) {
   echo $oFEUserGroup->get("groupname");
}
?>
Getestet, funzt.

Gruß
HerrB

perfekto funktioniert

Verfasst: Sa 4. Feb 2006, 18:00
von hypekermit
hast du noch eine idee... das wenn jemand ein falsches login eingibt, auf ein anderes template geleitet wird...

momentan wird ja nur wieder der login aufgerufen und dem user nicht mitgeteilt, das er eine falsche eingabe gemacht hat..

thanx mucho...

gracias

Verfasst: Sa 4. Feb 2006, 18:40
von Beleuchtfix
Ich habe vor einer Weile ein Logintest auf Modulebene programmiert.
Schau mal hier nach:
http://www.contenido.org/forum/viewtopi ... ight=login

Du kannst damit nach einem Login mehr von einer Seite anzeigen. Vielleicht nützt dir das auch etwas.

Viel Erfolg
Florian