Hallo,
nach update auf 4.9.3 geht mein Navi modul nicht mehr.
es kommt :
20-Feb-2014 09:44:59] PHP Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /var/www/clients/client5/web26/web/contenido/includes/frontend/include.front_content.php(657) : eval()'d code on line 195
[20-Feb-2014 09:44:59] PHP Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /var/www/clients/client5/web26/web/contenido/includes/frontend/include.front_content.php(657) : eval()'d code on line 126
[20-Feb-2014 09:44:59] PHP Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /var/www/clients/client5/web26/web/contenido/includes/frontend/include.front_content.php(657) : eval()'d code on line 132
das ist mein Modul:
<?php
$modcfg["start_parentid"] = 1;
$modcfg["renderSubFirst"] = true;
$modTemplate[0]["preblock"] = '';
$modTemplate[0]["postblock"] = '';
$modTemplate[0]["between"] = '';
$modTemplate[0]["before"] = '<li>';
$modTemplate[0]["after"] = '</li>';
$modTemplate[0]["maskNormal"] = '<a href="{link}">{name1}</a>';
$modTemplate[0]["maskSelected"] = '<a href="{link}">{name1}</a>';
$modTemplate[1]["preblock"] = '<ul>';
$modTemplate[1]["postblock"] = '</ul>';
$modTemplate[1]["before"] = '<li>';
$modTemplate[1]["after"] = '</li>';
$modTemplate[1]["between"] = '';
$modTemplate[1]["maskNormal"] = '<a href="{link}">{name1}</a>';
$modTemplate[1]["maskSelected"] = '<a href="{link}">{name1}</a>';
$modTemplate[2]["preblock"] = '<ul>';
$modTemplate[2]["postblock"] = '</ul>';
$modTemplate[2]["before"] = '<li>';
$modTemplate[2]["after"] = '</li>';
$modTemplate[2]["between"] = '';
$modTemplate[2]["maskNormal"] = '<a href="{link}">{name1}</a>';
$modTemplate[2]["maskSelected"] = '<a href="{link}">{name1}</a>';
// Version 4 vom 13.01.2014
// Ab hier keine Änderungen notwendig
global $auth, $user;
if ($auth->auth['uid'] == '' || !is_numeric($auth->auth['uid'])) {
$user = 0;
} else {
$user = $auth->auth['uid'];
}
$activeIds = GetActiveMenuIds($GLOBALS['idcat'], array());
RenderMenu($modcfg["start_parentid"]);
function RenderMenu($parentid, $ebene = 0)
{
global $cfg, $client, $lang, $user, $modTemplate, $activeIds, $modcfg;
$menu_sql = "SELECT DISTINCT
a.idcat,
a.parentid,
a.preid,
a.postid,
a.parentid,
b.name,
b.idlang,
IF (b.visible = 1 && (b.public = 1 || d.idfrontenduser IS NOT NULL), 1, 0) AS visible
FROM ".$cfg['tab']['cat']." AS a
LEFT JOIN ".$cfg['tab']['cat_lang']." AS b ON a.idcat = b.idcat
LEFT JOIN ".$cfg['tab']['frontendpermissions']." AS c ON ((c.item = b.idcatlang OR c.item = '__GLOBAL__') AND c.idlang = b.idlang AND plugin ='category')
LEFT JOIN ".$cfg['tab']['frontendgroupmembers']." AS d ON c.idfrontendgroup = d.idfrontendgroup AND d.idfrontenduser = ".$user."
LEFT JOIN ".$cfg['tab']['cat_tree']." AS e ON a.idcat = e.idcat
WHERE a.idclient = ".$client."
and a.parentid=".$parentid."
and b.idlang=".$lang."
and (IF (b.visible = 1 && (b.public = 1 || d.idfrontenduser IS NOT NULL), 1, 0))
ORDER BY e.idtree, b.name";
$menu_query = mysql_query($menu_sql);
$menu_count = mysql_num_rows($menu_query);
$counter = 0;
if($menu_count > 0)
echo str_replace('{idcat}', $parentid, $modTemplate[$ebene]["preblock"])."\n";
while($menu_rs = mysql_fetch_array($menu_query))
{
echo str_replace('{idcat}', $menu_rs["idcat"], str_replace('{parentid}', $parentid, $modTemplate[$ebene]["before"]))."\n";
ob_start();
$output = $modTemplate[$ebene]["maskNormal"];
if(in_array($menu_rs["idcat"], $activeIds))
$output = $modTemplate[$ebene]["maskSelected"];
$output = str_replace('{idcat}', $menu_rs["idcat"], str_replace('{parentid}', $parentid, str_replace('{name1}', $menu_rs["name"], str_replace('{link}', "front_content.php?idcat=".$menu_rs["idcat"], $output))));
echo $output."\n";
$output_current = ob_get_contents();
ob_end_clean();
if(!$modcfg["renderSubFirst"])
{
echo $output_current;
if($counter < ($menu_count-1))
echo $modTemplate[$ebene]["between"]."\n";
}
if($ebene < count($modTemplate))
RenderMenu($menu_rs["idcat"], ($ebene+1));
if($modcfg["renderSubFirst"])
{
echo $output_current;
if($counter < ($menu_count-1))
echo $modTemplate[$ebene]["between"]."\n";
}
echo str_replace('{idcat}', $menu_rs["idcat"], str_replace('{parentid}', $parentid, $modTemplate[$ebene]["after"]))."\n";
$counter++;
}
if($menu_count > 0)
echo str_replace('{idcat}', $parentid, $modTemplate[$ebene]["postblock"])."\n";
}
function GetActiveMenuIds($idcat, $idArray)
{
global $cfg, $client, $lang, $user;
$idArray[] = $idcat;
$menu_sql = "SELECT DISTINCT
a.parentid
FROM ".$cfg['tab']['cat']." AS a
LEFT JOIN ".$cfg['tab']['cat_lang']." AS b ON a.idcat = b.idcat
LEFT JOIN ".$cfg['tab']['frontendpermissions']." AS c ON ((c.item = b.idcatlang OR c.item = '__GLOBAL__') AND c.idlang = b.idlang AND plugin ='category')
LEFT JOIN ".$cfg['tab']['frontendgroupmembers']." AS d ON c.idfrontendgroup = d.idfrontendgroup AND d.idfrontenduser = ".$user."
WHERE a.idclient = ".$client."
and a.idcat=".$idcat."
and b.idlang=".$lang;
$menu_query = mysql_query($menu_sql);
while($menu_rs = mysql_fetch_array($menu_query))
if(intval($menu_rs["parentid"]) > 0)
$idArray = GetActiveMenuIds($menu_rs["parentid"], $idArray);
return $idArray;
}
?>
einer eine Idee ???
Danke
Booker
Mein altes Navi Modul geht nicht mehr
Re: Mein altes Navi Modul geht nicht mehr
Ganz ehrlich? Nimm doch die eine der vorgefertigten Navigationen der 4.9-Reihe, die ist wahrscheinlich schneller angepasst als die alte gefixed...
Re: Mein altes Navi Modul geht nicht mehr
...oder aber er gibt mit echo die beiden $menu_sql aus und fügt das mal in phpMyAdmin ein und schaut, was da passiert und passt das an bis es ein Ergebnis gibt.
Das ist sicher eine fiese Arbeit, aber denkbar möglich
Das ist sicher eine fiese Arbeit, aber denkbar möglich
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
-
- Beiträge: 4300
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Mein altes Navi Modul geht nicht mehr
... ich würde auch ein aktuelles aus der 4.9 nehmen. Das hier gepostete Modul nutzt nicht einmal die DB-Klasse von Contenido.
Gruß aus Franken
Ortwin
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog