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...
			
			
									
						- 
				Faar
- Beiträge: 1958
- Registriert: Sa 8. Sep 2007, 16:23
- Wohnort: Brandenburg
- Hat sich bedankt: 28 Mal
- Danksagung erhalten: 4 Mal
- Kontaktdaten:
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.
						- 
				Oldperl
- Beiträge: 4319
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 8 Mal
- 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 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.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