$categories[$cur_category_id]["image_alt"] = $image_alt; $categories[$cur_category_id]["image_large"] = $db->f("image_large"); $categories[$cur_category_id]["image_large_alt"] = get_translation($db->f("image_large_alt")); if ($not) { if ($allowed_categories_ids && in_array($cur_category_id, $allowed_categories_ids)) { $categories[$cur_category_id]["allowed"] = false; } else { $categories[$cur_category_id]["allowed"] = true; } } else { if (!$allowed_categories_ids || !in_array($cur_category_id, $allowed_categories_ids)) { $categories[$cur_category_id]["allowed"] = false; } else { $categories[$cur_category_id]["allowed"] = true; } } $categories[$parent_category_id]["subs"][] = $cur_category_id; } if (sizeof($categories) > 0 && isset($categories[0])) { $category_number = 0; $column_width = intval(100 / $columns); $t->set_var("column_width", $column_width . "%"); set_categories(0, 0, $columns, 0, $categories_image); if ($category_number % $columns != 0) { $t->parse("categories_rows"); } $block_parsed = true; $t->parse("block_body", false); } } }
function set_categories($parent_id, $level, $columns, $top_id, $image_type = 1) { global $t, $categories, $category_number, $restrict_categories_images, $settings, $category_id; global $list_url, $list_page; $friendly_urls = get_setting_value($settings, "friendly_urls", 0); $friendly_extension = get_setting_value($settings, "friendly_extension", ""); $subs = isset($categories[$parent_id]) && isset($categories[$parent_id]["subs"]) ? $categories[$parent_id]["subs"] : array(); for ($i = 0, $ic = count($subs); $i < $ic; $i++) { $show_category_id = $subs[$i]; $category_name = $categories[$show_category_id]["category_name"]; $a_title = $categories[$show_category_id]["a_title"]; $friendly_url = $categories[$show_category_id]["friendly_url"]; $has_nested = isset($categories[$show_category_id]["subs"]) ? is_array($categories[$show_category_id]["subs"]) : false; $is_rss = isset($categories[$show_category_id]["is_rss"]) ? $categories[$show_category_id]["is_rss"] : false; $is_last = $i == $ic - 1; $is_first = $i == 0; $is_restricted = isset($categories[$show_category_id]["allowed"]) ? !$categories[$show_category_id]["allowed"] : false; if ($has_nested) { set_categories($show_category_id, $level + 1, $columns, $top_id, $image_type); } if ($friendly_urls && $friendly_url) { $list_url->remove_parameter("category_id"); $t->set_var("list_url", htmlspecialchars($list_url->get_url($friendly_url . $friendly_extension))); } else { $list_url->add_parameter("category_id", CONSTANT, $show_category_id); $t->set_var("list_url", htmlspecialchars($list_url->get_url($list_page))); } if ($image_type == 2) { $category_image = $categories[$show_category_id]["image"]; $image_alt = $categories[$show_category_id]["image_alt"]; } else { if ($image_type == 3) { $category_image = $categories[$show_category_id]["image_large"]; $image_alt = $categories[$show_category_id]["image_large_alt"]; } else { $category_image = false; } } $short_description = $categories[$show_category_id]["short_description"]; $t->set_var("category_id", $show_category_id); $t->set_var("category_name", htmlspecialchars($category_name)); $t->set_var("a_title", htmlspecialchars($a_title)); $t->set_var("level", $level); if ($show_category_id == $category_id) { if ($level > 0) { $category_class = "selectedsubCategory"; } else { $category_class = "selectedtopCategory"; } } else { if ($level > 0) { $category_class = "subCategory"; } else { $category_class = "topCategory"; } } if ($is_first) { $category_class .= " firstCategory"; } if ($is_last) { $category_class .= " lastCategory"; } $t->set_var("category_class", $category_class); if ($is_restricted) { $t->set_var("restricted_class", " restrictedCategory"); $t->sparse("restricted_image", false); } else { $t->set_var("restricted_class", ""); $t->set_var("restricted_image", ""); } if ($is_rss) { $t->parse("category_rss", false); } else { $t->set_var("category_rss", ""); } if ($category_image) { if (preg_match("/^(http|https|ftp|ftps)\\:\\/\\//", $category_image)) { $image_size = ""; } else { $image_size = @GetImageSize($category_image); if (isset($restrict_categories_images) && $restrict_categories_images) { $category_image = "image_show.php?category_id=" . $show_category_id; } } if (!strlen($image_alt)) { $image_alt = $category_name; } $t->set_var("alt", htmlspecialchars($image_alt)); $t->set_var("src", htmlspecialchars($category_image)); if (is_array($image_size)) { $t->set_var("width", "width=\"" . $image_size[0] . "\""); $t->set_var("height", "height=\"" . $image_size[1] . "\""); } else { $t->set_var("width", ""); $t->set_var("height", ""); } $t->parse("category_image", false); } else { $t->set_var("category_image", ""); } if ($has_nested) { $t->set_var("subcategories", $t->get_var("subcategories_" . ($level + 1))); $t->parse("subcategories_rows"); $t->set_var("subcategories_" . ($level + 1), ""); $t->set_var("subcategories", ""); } else { $t->set_var("subcategories_rows", ""); } if ($level > 0) { $t->parse_to("categories", "subcategories_" . $level); } else { $t->parse("categories"); } if ($has_nested) { $t->set_var("subcategories_rows", ""); } if ($is_last && $level == 0) { $t->parse("categories_rows"); $t->set_var("categories", ""); } } }