$smarty->register_function("get_category_list", "get_category_list");
function get_category_list($params, &$smarty)
{
require_once(PFAD_ROOT . PFAD_CLASSES . "class.JTL-Shop.Kategorie.php");
$oKategorie_arr = array();
if(!isset($params['cKatAttrib']) || strlen($params['cKatAttrib']) == 0)
return false;
// Limit
$cLimit = "";
if(isset($params['nLimit']) && intval($params['nLimit']) > 0)
$cLimit = " LIMIT " . intval($params['nLimit']);
// Assign
$cAssing = "oCustomKategorie_arr";
if(isset($params['cAssign']) && strlen($params['cAssign']) > 0)
$cAssing = $params['cAssign'];
// Sprache
$kSprache = 0;
if(isset($params['kSprache']) && intval($params['kSprache']) > 0)
$kSprache = intval($params['kSprache']);
elseif(isset($_SESSION['kSprache']) && intval($_SESSION['kSprache']) > 0)
$kSprache = intval($_SESSION['kSprache']);
else
{
$oSprache = gibStandardsprache(true);
$kSprache = $oSprache->kSprache;
}
// Kundengruppe
$kKundengruppe = 0;
if(isset($params['kKundengruppe']) && intval($params['kKundengruppe']) > 0)
$kKundengruppe = intval($params['kKundengruppe']);
elseif(isset($_SESSION['Kundengruppe']->kKundengruppe) && intval($_SESSION['kKundengruppe']->kKundengruppe) > 0)
$kKundengruppe = intval($_SESSION['kKundengruppe']->kKundengruppe);
else
$kKundengruppe = gibStandardKundengruppe();
$oKat_arr = $GLOBALS['DB']->executeQuery("SELECT tkategorie.kKategorie
FROM tkategorie
JOIN tkategorieattribut ON tkategorieattribut.kKategorie = tkategorie.kKategorie
AND tkategorieattribut.cName = '" . filterXSS($params['cKatAttrib']) . "'
ORDER BY tkategorie.nSort, tkategorie.cName" . $cLimit, 2);
if(is_array($oKat_arr) && count($oKat_arr) > 0)
{
foreach($oKat_arr as $oKat)
{
if($oKat->kKategorie > 0)
$oKategorie_arr[] = new Kategorie($oKat->kKategorie, $kSprache, $kKundengruppe);
}
}
$smarty->assign($cAssing, $oKategorie_arr);
if($params['bReturn'])
return $oKategorie_arr;
}