Frontend User / LogIn Problem

raum-acht
Beiträge: 28
Registriert: Do 3. Nov 2005, 18:40
Kontaktdaten:

Frontend User / LogIn Problem

Beitrag von raum-acht » Do 3. Nov 2005, 18:59

ich setze 4.6.2 ein und habe folgendes problem:

wenn ich einen frontend-benutzer anlege, anschliessend eine gruppe anlege in der der user alle rechte hat die geschütze kategorie zu sehen - kann dieser sich zwar einloggen aber das menu bzw. die kategorien werden nicht sichtbar.
anders ist das beim admin und beim sysadmin - diese bekommen die geschützen bereiche zu sehen.

code für das modul des login

Code: Alles auswählen

<table cellpadding="8" cellspacing="0" class="contentbox-02">
  <tr> <?php echo "<td class=\"contentbox-headline\">CMS_HEAD[1]</td><td class=\"contentbox-headline\" align=right>"; ?>
    <?php if (!$contenido) { ?>
    <form style='margin:0' name='drucken' method='POST' target='_blank' action='print.php'>
      <input name='print_boxhead' type='hidden' id='print_boxhead' value='CMS_HEAD[1]'>
      <input name='print_head' type='hidden' id='print_head' value='CMS_HEAD[2]'>
      <input name='print_html' type='hidden' id='print_html' value='CMS_HTML[3]'>
      <SCRIPT TYPE="text/javascript">
<!--
var sr = new submitroll("upload/global-imgs/print-01.gif","upload/global-imgs/print-02.gif","mysubmit");
sr.write();
//-->
</SCRIPT>
      <NOSCRIPT>
      <INPUT TYPE=SUBMIT VALUE="Go!">
      </NOSCRIPT>
    </FORM>
    <?php } else { ?>
    <?php } ?>
    </td>
  </tr>
  <tr>
    <td colspan="2"><table cellpadding="0" cellspacing="0" class="contentbox-02-01">
        <tr> <?php echo "<td><img src=\"CMS_IMG[2]\" alt=\"\" border=\"0\">CMS_IMGDESCR[2]</td>"; ?> </tr>
        <tr>
          <td class="spacer"><img src="upload/global-imgs/clearpixel.gif" alt="" width="1" height="1" border="0"></td>
        </tr>
        <tr> <?php echo "<td class=\"content-txt\"><p class=\"content-headline\">CMS_HEAD[2]</p>"; ?>
          <?php if ($auth->auth["uid"] == "nobody") { ?>
          <form action="front_content.php?idcatart=<?php echo $idcatart; ?>" method="post" name="login">
            <input type="hidden" name="login" value="Anmelden">
            <p><span class="content-txt">Benutzername</span><br>
              <input type="input" name="username" value="" class="form">
            </p>
            <p><span class="content-txt">Passwort</span><br>
              <input type="password" name="password" value="" class="form">
            </p>
            <p><a href="javascript:document.login.submit()" class="link" onfocus="blur()">anmelden</a></p>
            <p>Um sich in den Mitglieder Bereich einloggen zu können benutzen Sie bitte die Ihnen bekannten Zugangsdaten.</p></form>
          <?php } else { ?>
          <p><span class="content-txt">Sie sind angemeldet als: <?php echo $auth->auth["uname"]; ?> </span></p>
          <form action="front_content.php?idcatart=<?php echo $idcatart; ?>" method="post" name="logout">
            <input type="hidden" name="logout" value="Abmelden">
            <a href="javascript:document.logout.submit()" class="link" onfocus="blur()">abmelden</a>
          </form>
          <?php } ?>
        </tr>
      </table>
    </td>
  </tr>
</table>
code für das modul der navigation

Code: Alles auswählen

<?php

/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Navigation 1.1
* Author : Jan Lengowski
* Copyright : Contenido - four for business
* Created : 15-05-2003
* Modified : 26-05-2003
************************************************/

if ( !is_object($db2) ) {
$db2 = new DB_Contenido;
}


/**
* Check if a category is child
* of another category
*
* @return boolean true/false
* @author Jan Lengowski <Jan.Lengowski@4fb.de>
* @copyright four for business AG 2003
*/
if (!function_exists("catIsChildOf"))
{
function catIsChildOf($id, $idparent) {

global $cfg, $client, $lang;

$db = new DB_Contenido;

$parent = $id;

while ( $parent != 0 ) {

$sql = "SELECT
a.parentid
FROM
".$cfg["tab"]["cat"]." AS a,
".$cfg["tab"]["cat_lang"]." AS b
WHERE
a.idclient = '".$client."' AND
b.idlang = '".$lang."' AND
a.idcat = b.idcat AND
a.idcat = '".$parent."'";

$db->query($sql);
$db->next_record();

$parent = $db->f("parentid");

if ($parent == $idparent) {
return true;
}

}

return false;

}
}

if ( catIsChildOf($idcat, "CMS_VALUE[0]") ) {
$sel_idcat = $idcat;
} else {
$sel_idcat = "CMS_VALUE[0]";
}

/* Include Template Class */
include_once($cfg["path"]["contenido"] . 'classes/class.template.php');

/**
* Array storing alle the
* navigation data
*/
$navitems = array();


/* Template Instance */
$tpl = new Template;

/**
* Recursive function for creating
* the navigation array
* @param Int $idcat Category id
*/
function nav($idcat) {

global $navitems, $client, $lang, $cfg, $perm ;

$db = new DB_Contenido;
$db2 = new DB_Contenido;

$sql = "SELECT parentid FROM ".$cfg["tab"]["cat"]." WHERE idcat = '$idcat'";

$db->query($sql);
$db->next_record();

$parentid = $db->f("parentid");

if ( $parentid == 0 ) {

if ( $idcat != "CMS_VALUE[0]" ){

$navitems = array();

$sql = "SELECT
A.idcat,
C.name,
C.public
FROM
".$cfg["tab"]["cat_tree"]." AS A,
".$cfg["tab"]["cat"]." AS B,
".$cfg["tab"]["cat_lang"]." AS C
WHERE
A.idcat = B.idcat AND
B.idcat = C.idcat AND
B.idclient = '$client' AND
C.idlang = '$lang' AND
C.visible = '1' AND
B.parentid = 'CMS_VALUE[0]'
ORDER
BY A.idtree";

$db->query($sql);

while ($db->next_record()) {

/* Check for external redirects... */
$sql = "SELECT
a.external_redirect AS ext
FROM
".$cfg["tab"]["art_lang"]." AS a,
".$cfg["tab"]["cat_art"]." AS b,
".$cfg["tab"]["cat"]." AS c
WHERE
b.idcat = '".$db->f("idcat")."' AND
b.is_start = '1' AND
c.idclient = '".$client."' AND
c.idcat = b.idcat AND
a.idart = b.idart AND
a.idlang = '".$lang."'";

$db2->query($sql);
$db2->next_record();

$target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';

if ($db->f("public") == 1 || $perm->have_perm_area_action_item("str","front_allow", $db->f("idcat")) || $perm->have_perm())
{
$navitems[$db->f("idcat")] = array("idcat" => $db->f("idcat"),
"name" => $db->f("name"),
"target" => $target);
}
}

}

return true;
}

$sql = "SELECT
A.idcat,
C.name,
C.public
FROM
".$cfg["tab"]["cat_tree"]." AS A,
".$cfg["tab"]["cat"]." AS B,
".$cfg["tab"]["cat_lang"]." AS C
WHERE
A.idcat = B.idcat AND
B.idcat = C.idcat AND
B.idclient = '$client' AND
C.idlang = '$lang' AND
C.visible = '1' AND
B.parentid = '$parentid'
ORDER BY
A.idtree";

$db->query($sql);

while ($db->next_record()) {

/* Check for external redirects... */
$sql = "SELECT
a.external_redirect AS ext
FROM
".$cfg["tab"]["art_lang"]." AS a,
".$cfg["tab"]["cat_art"]." AS b,
".$cfg["tab"]["cat"]." AS c
WHERE
b.idcat = '".$db->f("idcat")."' AND
b.is_start = '1' AND
c.idclient = '".$client."' AND
c.idcat = b.idcat AND
a.idart = b.idart AND
a.idlang = '".$lang."'";

$db2->query($sql);
$db2->next_record();

$target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';

if ($db->f("public") == 1 || $perm->have_perm_area_action_item("str","front_allow", $db->f("idcat")) || $perm->have_perm())
{
$tmp_nav[$db->f("idcat")] = array("idcat" => $db->f("idcat"),
"name" => $db->f("name"),
"target" => $target);
}
}

$tmp_nav[$idcat]["sub"] = $navitems;
$navitems = $tmp_nav;

/* Function call */
nav($parentid);

} // end function

$sql = "SELECT
A.idcat,
C.name,
C.public
FROM
".$cfg["tab"]["cat_tree"]." AS A,
".$cfg["tab"]["cat"]." AS B,
".$cfg["tab"]["cat_lang"]." AS C
WHERE
A.idcat = B.idcat AND
B.idcat = C.idcat AND
B.idclient = '$client' AND
C.idlang = '$lang' AND
C.visible = '1' AND
B.parentid = '$sel_idcat'
ORDER BY
A.idtree";

$db->query($sql);

while ( $db->next_record() ) {

/* Check for external redirects... */
$sql = "SELECT
a.external_redirect AS ext
FROM
".$cfg["tab"]["art_lang"]." AS a,
".$cfg["tab"]["cat_art"]." AS b,
".$cfg["tab"]["cat"]." AS c
WHERE
b.idcat = '".$db->f("idcat")."' AND
b.is_start = '1' AND
c.idclient = '".$client."' AND
c.idcat = b.idcat AND
a.idart = b.idart AND
a.idlang = '".$lang."'";

$db2->query($sql);
$db2->next_record();

$target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';

if ($db->f("public") == 1 || $perm->have_perm_area_action_item("str","front_allow", $db->f("idcat")) || $perm->have_perm())
{
$navitems[$db->f("idcat")] = array("idcat" => $db->f("idcat"),
"name" => $db->f("name"),
"target" => $target);
}
}
/* Create Navigation Array */
nav($sel_idcat);

/* Start Output buffer */
ob_start();
?>

<table cellpadding="8" cellspacing="0" class="contentbox-01">
  <tr> 
    <td class="contentbox-headline">Mitglieder Bereich</td>
  </tr>
  <tr> 
    <td><table cellpadding="0" cellspacing="0" class="contentbox-01-01">

<?php
$spacer = 0;
foreach ($navitems as $key => $data) {

/* 1. Navigations Ebene */
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$tpl->set('d', 'TARGET', $data['target']);
$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$tpl->next();

if ($spacer == 1) {
		echo "<tr><td class=hr><img src=upload/global-imgs/clearpixel.gif width=1 height=1 border=0></td></tr>";
}
	
if ($idcat == $data['idcat'] || is_array($data['sub'])) {
$tpl->generate('templates/navfirst_on.html');
} else {
$tpl->generate('templates/navfirst_off.html');
}
$spacer = 1;

if (is_array($data['sub'])) {

foreach ($data['sub'] as $key => $data) {

/* 2. Navigations Ebene */
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$tpl->set('d', 'TARGET', $data['target']);
$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$tpl->next();

if ($idcat == $data['idcat'] || is_array($data['sub'])) {
$tpl->generate('templates/navsecond_on.html');
} else {
$tpl->generate('templates/navsecond_off.html');
}

if (is_array($data['sub'])) {

foreach ($data['sub'] as $key => $data) {

/* 3. Navigations Ebene */
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$tpl->set('d', 'TARGET', $data['target']);
$tpl->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$tpl->next();

if ($idcat == $data['idcat']) {
$tpl->generate('templates/navthird_on.html');
} else {
$tpl->generate('templates/navthird_off.html');
}

} // end foreach

} // end if

} // end foreach

} // end if

} // end foreach

echo '</table></td></tr></table>';

/* Read out buffer */
$html = ob_get_contents();

/* Clean buffer */
ob_end_clean();

/* Output buffer-contents */
echo $html;

?>
vielen dank vorab für lösungsvorschläge!
lg - philipp

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Do 3. Nov 2005, 22:57

Zum einen denke ich, dass Du ein Modul nun für ältere Contenido-Versionen einsetzt. Zum anderen gehe ich davon aus, dass das so nicht mehr geht, da in V4.6 Frontendnutzer und Backendnutzer getrennt wurden (Gott sei Dank).

Generell musst Du a) die Kategorie schützen und b) bei den Frontend-Gruppen auf der Seite "Category" (ja, die gibts da) die jeweilige Gruppe für die Kategorie berechtigen.

Wie ein Modul aussehen kann, welches diese Rechte beachtet, kannst Du dem Beispielmandanten entnehmen (z.B. mal die WAMP lokal installieren und reingucken). Das Hauptnavigationsmodul beachtet die individuellen Berechtigungen.

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

raum-acht
Beiträge: 28
Registriert: Do 3. Nov 2005, 18:40
Kontaktdaten:

Beitrag von raum-acht » Fr 4. Nov 2005, 15:10

hallo herr b.

vielen dank!
die category hatte ich so eingestellt wie von ihnen beschrieben.

eine bitte - könnten sie den code hier posten - ich denke das wäre auch hilfreich für andere.

vielen dank vorab!

gruss - philipp

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Fr 4. Nov 2005, 19:48

Wenn ich es vergesse, sende man mir bitte eine Erinnerung per PM (das ist die Taste "PM" unter dieser Antwort... :wink: ).

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

raum-acht
Beiträge: 28
Registriert: Do 3. Nov 2005, 18:40
Kontaktdaten:

Beitrag von raum-acht » Fr 4. Nov 2005, 19:54

ab wann soll die erinnerung erfolgen?

gruss - philipp

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Fr 4. Nov 2005, 19:58

Spätestens Sonntag früh... (habe hier gerade keine V4.6.2) ... das nenne ich Wiedervorlage... danke :wink:

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

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » So 6. Nov 2005, 02:52

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

raum-acht
Beiträge: 28
Registriert: Do 3. Nov 2005, 18:40
Kontaktdaten:

Beitrag von raum-acht » Mo 7. Nov 2005, 14:07

vielen dank herrB,

jetzt funktioniert der login!

vielen dank...

grüsse - philipp

raum-acht
Beiträge: 28
Registriert: Do 3. Nov 2005, 18:40
Kontaktdaten:

Beitrag von raum-acht » Di 8. Nov 2005, 15:47

jetzt hab ich doch noch eine frage:

wenn ich einen falschen user/pass oder garkeinen eintrage und mich dennoch anmelde werde ich auf das cms login umgeleitet.

kann ich das irgendwie verhindern bzw. einen "alert" anzeigen?

vielen dank vorab - philipp

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Di 8. Nov 2005, 18:19

Das ist nicht das cms-Login, sondern die front_crcloginform.inc.php im Mandanten-Verzeichnis. Eine Anmeldung darüber dürfte vermutlich nach wie vor nicht funktionieren, Du kannst daher den Code darin komplett ersetzen und z.B. auf Deine Login-Seite umleiten:

Code: Alles auswählen

<?php
header("Status: 301 Moved Permanently"); // wichtig für google
if ($_REQUEST["logout"] != "") {
   header("Location: http://<www.domain.tld>/<ggf. Pfad>/front_content.php?idart=36&idcat=26&logout=true");
} else {
   header("Location: http://<www.domain.tld>/<ggf. Pfad>/front_content.php?idart=36&idcat=26&loginerror=1");
}
exit; 
?>
Die Werte für idcat und idart musst Du natürlich entsprechend anpassen (kannst auch Alternativ idcatart verwenden). Das mit dem loginerror ist nicht so wichtig, das könnte man z.B. im Login-Modul abfragen und eine Meldung anzeigen ("Passwort falsch, nochmal versuchen").

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

vize
Beiträge: 18
Registriert: Mo 24. Okt 2005, 14:57
Kontaktdaten:

Beitrag von vize » Di 8. Nov 2005, 23:12

Hallo

oben steht:
... und b) bei den Frontend-Gruppen auf der Seite "Category" (ja, die gibts da) die jeweilige Gruppe für die Kategorie berechtigen.
aber wo finde die Frontend Gruppen auf der Seite Category? bei mir gibt es da keinen punkt mehr

Hab gerade gemerkt das zwar der login im democontent geht aber die seite vertraulich nicht aufrufbar ist.

danke im vorraus

Vize

raum-acht
Beiträge: 28
Registriert: Do 3. Nov 2005, 18:40
Kontaktdaten:

Beitrag von raum-acht » Mi 9. Nov 2005, 10:55

hallo HerrB,

funktioniert wunderbar - genau so hab ich es mir vorgestellt!


vielen dank!
grüsse - philipp

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Mi 9. Nov 2005, 23:37

aber wo finde die Frontend Gruppen auf der Seite Category? bei mir gibt es da keinen punkt mehr
Umgekehrt: Unter Administration -> Frontend -> Gruppen findest Du, wenn Du eine Gruppe anklickst, rechts ein Submenü Category.

Gruß
HerrB
Zuletzt geändert von HerrB am Do 10. Nov 2005, 23:51, insgesamt 1-mal geändert.
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

pit
Beiträge: 96
Registriert: Mo 14. Apr 2003, 10:28
Wohnort: Rotenhain
Kontaktdaten:

Beitrag von pit » Do 10. Nov 2005, 10:07

kannst Du da mal ein screenshot posten? Ich seh da nichts?! (blind)

Gruß Pit
Die alten Zeilen wurden schlecht und man begann sie wegzuschmeissen, die neuen kamen grade recht um sich an ihnen zu verbeissen! (frei nach Heinz Erhardt)

raum-acht
Beiträge: 28
Registriert: Do 3. Nov 2005, 18:40
Kontaktdaten:

Beitrag von raum-acht » Do 10. Nov 2005, 11:49

mit welcher cms version arbeitest du?

Gesperrt