function get_category_tree($parent_id = '0', $spacing = '', $exclude = '', $category_tree_array = '', $include_itself = false, $cPath = '') { if ($parent_id == 0) { $cPath = ''; } else { $cPath .= $parent_id . '_'; } if (!is_array($category_tree_array)) { $category_tree_array = array(); } if (sizeof($category_tree_array) < 1 && $exclude != '0') { $category_tree_array[] = array('id' => '0', 'text' => TEXT_TOP); } if ($include_itself) { $category_query = "select cd.categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " cd where cd.language_id = '" . $_SESSION['languages_id'] . "' and c.categories_status = '1' and cd.categories_id = '" . $parent_id . "'"; $category_query = vamDBquery($category_query); $category = vam_db_fetch_array($category_query, true); $category_tree_array[] = array('id' => $parent_id, 'text' => $category['categories_name']); } $categories_query = "select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = cd.categories_id and cd.language_id = '" . $_SESSION['languages_id'] . "' and c.parent_id = '" . $parent_id . "' and c.categories_status = '1' order by c.sort_order, cd.categories_name"; $categories_query = vamDBquery($categories_query); while ($categories = vam_db_fetch_array($categories_query, true)) { $SEF_link = vam_href_link(FILENAME_DEFAULT, vam_category_link($categories['categories_id'], $categories['categories_name'])); if ($exclude != $categories['categories_id']) { $category_tree_array[] = array('id' => $categories['categories_id'], 'text' => $spacing . $categories['categories_name'], 'link' => $SEF_link); } $category_tree_array = get_category_tree($categories['categories_id'], $spacing . ' ', $exclude, $category_tree_array, false, $cPath); } return $category_tree_array; }
function get_category_tree($parent_id = '0', $spacing = EMPTY_STRING, $exclude = EMPTY_STRING, $category_tree_array = EMPTY_STRING, $include_itself = false, $cPath = EMPTY_STRING) { if ($parent_id == 0) { $cPath = EMPTY_STRING; } else { $cPath .= $parent_id . '_'; } if (!is_array($category_tree_array)) { $category_tree_array = array(); } if (sizeof($category_tree_array) < 1 && $exclude != '0') { $category_tree_array[] = array('id' => '0', 'text' => TEXT_TOP); } if ($include_itself) { $category_query = olc_db_query("\n\t\t\tselect cd.categories_name\n\t\t\tfrom " . TABLE_CATEGORIES_DESCRIPTION . " cd\n\t\t\tWHERE c.categories_status = '1' AND cd.language_id = '" . SESSION_LANGUAGE_ID . "'\n\t\t\tand cd.categories_id = '" . $parent_id . APOS); $category = olc_db_fetch_array($category_query); $category_tree_array[] = array('id' => $parent_id, 'text' => $category['categories_name']); } $categories_query = olc_db_query("\n\t\tselect\n\t\tc.categories_id,\n\t\tcd.categories_name,\n\t\tc.parent_id\n\t\tfrom " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd\n\t\twhere c.categories_id = cd.categories_id\n\t\tand cd.language_id = '" . SESSION_LANGUAGE_ID . "'\n\t\tand c.parent_id = '" . $parent_id . "'\n\t\tand c.categories_status = '1'\n\t\torder by c.sort_order, cd.categories_name"); while ($categories = olc_db_fetch_array($categories_query)) { $categories_id = $categories['categories_id']; if ($exclude != $categories_id) { $category_tree_array[] = array('id' => $categories_id, 'text' => $spacing . $categories['categories_name'], 'link' => olc_href_link(FILENAME_DEFAULT, 'cPath=' . $cPath . $categories_id, NONSSL, false, true, false), 'pcount' => olc_count_products_in_category($categories_id)); $category_tree_array = get_category_tree($categories_id, $spacing . ' ', $exclude, $category_tree_array, false, $cPath); } } return $category_tree_array; }
get_sql_dump(); break; case "get_sql_file": get_sql_file($filename, $position); break; case "put_sql": put_sql($import_handle); break; case "get_version": get_version($version); break; case "get_config": get_config(); break; case "get_category_tree": get_category_tree(); break; case "run_indexer": run_indexer(); break; case "get_include_tables_exists": get_include_tables_exists(); break; case "get_var_from_script": echo handle_dirs($vars_main_dir, $vars_names); break; case "get_xml_data": echo get_xml_data($xml_path, $xml_fields, $xml_items_node, $xml_items_info_node, $xml_filters); break; case "get_ftp_files": echo get_ftp_files($search_path, $mask, $ignore_dir);
/** *取分类树 */ function get_category_tree($pid = 0, $child = false) { $cachekey = 'homecategorytree'; $categorytree = F($cachekey); if (empty($categorytree) || APP_DEBUG) { $rearr = array(); $where['status'] = 1; $where['pid'] = $pid; $categorytree = M('Category')->where($where)->order('sort asc')->select(); if ($categorytree) { foreach ($categorytree as $key => $val) { $child = get_category_tree($val['category_id']); $categorytree[$key]['child'] = $child; } } F($cachekey, $categorytree); } return $categorytree; }