$mercury=Mercury::make();
$categories=array();
if ($params[SEMainmenuImages::DATA_CATEGORIES]) {
foreach($params[SEMainmenuImages::DATA_CATEGORIES] as $kat) {
$categories[]=$mercury->kategorie($kat,false);
}
} elseif ($params[SEMainmenuImages::DATA_MASTER_CATEGORY] or $params[SEMainmenuImages::DATA_MASTER_CATEGORY]===0 or $params[SEMainmenuImages::DATA_MASTER_CATEGORY]==="0") {
$categories=$mercury->strukto_menu($params[SEMainmenuImages::DATA_MASTER_CATEGORY]);
}
$categories=array_merge($categories,$params[SEMainmenuImages::DATA_ADDON_LINKS]);
if ($this->isFlag(SEMainmenuImages::FLAG_SUBMENU)) {
foreach($categories as $index=>$category) {
$categories[$index]["subs"]=$mercury->strukto_menu($category["id"]);
if (isset($params[SEMainmenuImages::DATA_ENABLED_SUBCATEGORIES][$category["id"]]) and $params[SEMainmenuImages::DATA_ENABLED_SUBCATEGORIES][$category["id"]]) {
$invertedSubcats = array_fill_keys($params[SEMainmenuImages::DATA_ENABLED_SUBCATEGORIES][$category["id"]], true);
foreach($categories[$index]["subs"] as $indexSub=>$dataSub) {
if (!isset($invertedSubcats[$dataSub["id"]])) {
unset($categories[$index]["subs"][$indexSub]);
}
}
$categories[$index]["subs"] = array_values($categories[$index]["subs"]);
}
}
}
if (isCallable($params[SEMainmenuImages::DATA_CALLBACK])) {
$kats2=call_user_func_array($params[SEMainmenuImages::DATA_CALLBACK], array($categories, $params[SEComponent::DATA_SELF]));
if ($kats2!==null) $categories=$kats2;
}
switch (count($categories)) {
case 1:
case 2:
$numberWord="two";
break;
case 3:
$numberWord="three";
break;
case 4:
$numberWord="four";
break;
case 5:
$numberWord="five";
break;
default:
$numberWord="six";
break;
}
?>
foreach($categories as $kat) {
if (is_numeric($kat)) $kat=$mercury->kategorie($kat);
if (!isset($kat["title"]) and isset($kat["nazev"])) $kat["title"]=$kat["nazev"];
if (!isset($kat["nazev"]) and isset($kat["title"])) $kat["nazev"]=$kat["title"];
if (!isset($kat["blank"])) $kat["blank"]=false;
$obrazek="";
if (isset($kat["obrazek-mercury"])) {
$obrazek=$kat["obrazek-mercury"]->html("");
} elseif (isset($kat["obrazek"]) and $kat["obrazek"] instanceof EshopObrazek) {
$obrazek=$kat["obrazek"]->html("");
} elseif (isset($kat["obrazek"])) {
$obrazek="
";
}
$hasSubCategories=(isset($kat["subs"]) and $kat["subs"] and $this->isFlag(SEMainmenuImages::FLAG_SUBMENU));
echo '
-
';
if ($hasSubCategories) {
echo '
';
foreach($kat["subs"] as $subKat) {
if (is_numeric($subKat)) {
$subKat=$mercury->kategorie($subKat);
}
if (!isset($subKat["title"]) and isset($subKat["nazev"])) $subKat["title"]=$subKat["nazev"];
if (!isset($subKat["nazev"]) and isset($subKat["title"])) $subKat["nazev"]=$subKat["title"];
if (!isset($subKat["blank"])) $subKat["blank"]=false;
echo '- '.specChars($subKat["nazev"]).'
';
}
echo '
';
}
echo ' ';
}
?>