ich habe 2 Installationen von Contenido laufen.
In einer (frisch) habe ich links die normale Navigation. Habe dort für das Frontend einen Testuser (aktiv). Wenn ich nun eine Kategorie schütze, wird diese ausgeblendet und wenn sich der user über das simple login einloggt erst angezeigt. -> einwandfrei
In meiner 2. Installation (Upgrade) habe ich die horiz. Navigation laufen (sh. unten). Wenn ich hier nun einen Kategorie schütze, wird diese aber trotzdem im Frontend angezeigt, klicke ich sie nun an, komme ich zu einem login-from (ähnlich dem zum einloggen im frontend) bei dem ich mich mit meinem frontend-user nicht anmelden kann. als admin kann ich mich hier zwar anmelden, bekomme aber dann auch nur wieder meine allgemeine startseite zu sehen.
Die neue gesplitte Naviagtion aus dem Forum habe ich auch schon probiert -> selbes Problem

Danke schon mal für Tipps.
Gruß PC_mobil
Output
Code: Alles auswählen
<?php
/***********************************************
* OUTPUT
************************************************/
include_once($cfg["path"]["contenido"].$cfg["path"]["includes"]."functions.con.php");
// ****************************************************************************************************
// SECURITY-CHECKS
// ****************************************************************************************************
// SQL-Injection Überprüfungen und Work-Arounds
// lokale Variabeln initialisieren um Injections zu unterbinden
$db2 = "";
$catStart = "";
$catPrev = "";
$sTmpStr = "";
$db2_sql = "";
$catIds = "";
$key = "";
$val = "";
$sql = "";
// ****************************************************************************************************
// erstelle eine zweite DB-Klasseninstanz, da wir hier
// mit zwei Abfragen udn Resultsets arbeiten müssen
$db2 = new DB_Contenido;
/*
$eckkla_auf = ':: ';
$eckkla_zu = '';
$eckkla_trenn = '<br>';
$strBEGIN = '';
$strEND = '';
*/
// Hole aus der Artikeldefinition die Ausgewählte Einstellungen
$catStart = "CMS_VALUE[3200]";
$catPrev = "CMS_VALUE[3201]";
$eckkla_auf = "CMS_VALUE[3202]";
$eckkla_zu = "CMS_VALUE[3203]";
$eckkla_trenn = "CMS_VALUE[3204]";
$strBEGIN = "CMS_VALUE[3205]";
$strEND = "CMS_VALUE[3206]";
$cfg_chkchildid = "CMS_VALUE[3207]";
$cfg_css_link = "CMS_VALUE[3208]";
$cfg_css_linkhl = "CMS_VALUE[3209]";
// * get catPrec Category and output CatName as [ BackTo ] nav item
if ($catStart != "" && $catStart != "--kein--" ) {
$sTmpStr = "";
if ( $catPrev != "--kein--" ) {
// Datenbankabfrage ( SQL QUERY ) aufbauen
$sql = " SELECT
CAT.idcat AS idcat,
name
FROM
".$cfg["tab"]["cat"]." AS CAT,
".$cfg["tab"]["cat_lang"]." AS CATLANG
WHERE CAT.idcat = ".$catPrev."
AND CAT.idcat = CATLANG.idcat
AND CATLANG.idlang = '$lang'
AND CATLANG.visible = '1'";
// Datenbankabfrage durchführen
$db->query($sql);
// die einzelnen Recordsets der Datenbankabfrage durchgehen
while ( $db->next_record() ) {
// überprüfung, ob schon ein Eintrag in der Ausgabevariabel ist
if ( strlen($sTmpStr) == 0 ) {
// ... Nein, dann die Formatierung für den ersten Eintrag verwenden
// und den Eintrag der Ausgabevariabel hinzufügen
$sTmpStr = $sTmpStr . $strBEGIN . $eckkla_auf . '<a class="'.$cfg_css_link.'" href="front_content.php?idcat='.$db->f("idcat").'">'.$db->f("name").'</a>' . $eckkla_zu;
}
else
{
// ... Ja, dann die Formatierung für die weiteren Einträge verwenden und
// den Eintrag der Ausgabevariabel hinzufügen
$sTmpStr = $sTmpStr . $eckkla_trenn . $eckkla_auf . '<a class="'.$cfg_css_link.'" href="front_content.php?idcat='.$db->f("idcat").'">'.$db->f("name").'</a>' . $eckkla_zu;
} // end if
} // end while
}
$db2_sql = " SELECT
*
FROM ". $cfg["tab"]["cat"] ." AS A
WHERE
A.parentid = ". $catStart . "
ORDER BY A.preid
";
// Abfrage ausführen
$db2->query($db2_sql);
// Ermittlung aller Kategorie IDs der ausgesuchten
// Navigationsebene und speicherug in einem Array
while ( $db2->next_record() ) {
// $catIds[] = $db2->f("idcat");
$test_1[$db2->f("preid")] = $db2->f("idcat");
}
/*
PREID => IDCAT ( $test_1 )
Array (
[0] => 50
[26] => 27
[27] => 28
[28] => 29
[29] => 30
[30] => 31
[31] => 32
[32] => 33
[33] => 38
[34] => 35
[35] => 36
[36] => 37
[38] => 34
[50] => 26
)
------------------------------------
*/
// ---------------------------------------------
// sort ids
$ar_anz = count($test_1);
$lpre = 0;
$test_3 = "";
$ires = "";
for ( $sli = 1 ; $sli <= $ar_anz ; $sli++ )
{
$ires = $test_1[$lpre];
$test_3[] = $test_1[$lpre];
$lpre = $ires;
}
// print_r($test_3); echo '<br><br>';
$catIds = $test_3;
// ---------------------------------------------
// Überprüfung ob $catIds wirklich ein Array ist
if ( is_array($catIds) ) {
// die einzelnen IDs durchgegen
foreach($catIds as $key=>$val) {
// Datenbankabfrage ( SQL QUERY ) aufbauen
$sql = " SELECT
CAT.idcat AS idcat,
name
FROM
".$cfg["tab"]["cat"]." AS CAT,
".$cfg["tab"]["cat_lang"]." AS CATLANG
WHERE CAT.idcat = ".$val."
AND CAT.idcat = CATLANG.idcat
AND CATLANG.idlang = '$lang'
AND CATLANG.visible = '1'";
// Datenbankabfrage durchführen
$db->query($sql);
// die einzelnen Recordsets der Datenbankabfrage durchgehen
while ( $db->next_record() ) {
if ( $cfg_chkchildid && sn_check_if_child ( $idcat, $catStart ))
{
// überprüfung, ob schon ein Eintrag in der Ausgabevariabel ist
if ( strlen($sTmpStr) == 0 ) {
// ... Nein, dann die Formatierung für den ersten Eintrag verwenden
// und den Eintrag der Ausgabevariabel hinzufügen
$sTmpStr = $sTmpStr . $strBEGIN . $eckkla_auf . '<a class="'.$cfg_css_linkhl.'" href="front_content.php?idcat='.$db->f("idcat").'">'.$db->f("name").'</a>' . $eckkla_zu;
}
else
{
// ... Ja, dann die Formatierung für die weiteren Einträge verwenden und
// den Eintrag der Ausgabevariabel hinzufügen
$sTmpStr = $sTmpStr . $eckkla_trenn . $eckkla_auf . '<a class="'.$cfg_css_linkhl.'" href="front_content.php?idcat='.$db->f("idcat").'">'.$db->f("name").'</a>' . $eckkla_zu;
} // end if
}
else
{
// überprüfung, ob schon ein Eintrag in der Ausgabevariabel ist
if ( strlen($sTmpStr) == 0 ) {
// ... Nein, dann die Formatierung für den ersten Eintrag verwenden
// und den Eintrag der Ausgabevariabel hinzufügen
$sTmpStr = $sTmpStr . $strBEGIN . $eckkla_auf . '<a class="'.$cfg_css_link.'" href="front_content.php?idcat='.$db->f("idcat").'">'.$db->f("name").'</a>' . $eckkla_zu;
}
else
{
// ... Ja, dann die Formatierung für die weiteren Einträge verwenden und
// den Eintrag der Ausgabevariabel hinzufügen
$sTmpStr = $sTmpStr . $eckkla_trenn . $eckkla_auf . '<a class="'.$cfg_css_link.'" href="front_content.php?idcat='.$db->f("idcat").'">'.$db->f("name").'</a>' . $eckkla_zu;
} // end if
}
} // end while
} // end foreach
// END Zeichen $strEND anfügen
$sTmpStr = $sTmpStr . $strEND;
// Ausgabevariabel schreiben, da nun alle Einträge behandelt wurden.
echo $sTmpStr;
} // end if (is_array)
}
if ( $sn_navmod != "multiuse" ) {
$sn_navmod = "multiuse";
function sn_check_if_child ( $l_idcat, $l_paridcat )
{
$bResult = false;
$l_int = $l_idcat;
while ( $l_int != 0 && $l_int != $l_paridcat )
{
$l_int = get_parentid_from_idcat ( $l_int );
if ( $l_int == $l_paridcat )
{
$bResult = true;
} // end if
} // end while
return $bResult;
} // check_if_child
function get_parentid_from_idcat ( $l_idcat )
{
$ldb = new DB_Contenido;
$lsql= "SELECT *
FROM ".$cfg["tab"]["cat"]." AS CAT,
".$cfg["tab"]["cat_lang"]." AS CATLANG
WHERE CAT.idcat = ".$l_idcat."
AND CAT.idcat = CATLANG.idcat
AND CATLANG.idlang = '$lang'
AND CATLANG.visible = '1'";
$ldb->query($lsql);
while ( $ldb->next_record() )
{
$l_parid = $ldb->f("parentid");
}
return $l_parid;
} // end function get_parentid_from_idcat
} // end MULTIUSE Funktions
?>