Mein altes Navi Modul geht nicht mehr
Verfasst: Do 20. Feb 2014, 10:45
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
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