function smarty_function_select_categories($params, &$smarty) { extract($params); if (empty($assign)) { $smarty->trigger_error("assign: missing 'assign' parameter"); return; } if ($remove_root && !$current_category_id) { return false; } cw_load('category', 'image'); if ($remove_root) { $path = cw_category_get_path($current_category_id); $category_id = array_shift($path); } $categories = cw_category_get_subcategories($category_id, $current_category_id); if ($params['images']) { foreach ($categories as $k => $v) { $categories[$k]['image'] = cw_image_get('categories_images_thumb', $v['category_id']); } } $smarty->assign($assign, $categories); }
$query_joins['docs_user_info'] = array("on" => "{$tables['docs_user_info']}.customer_id = {$tables['customers']}.customer_id", 'parent' => 'customers', 'is_inner' => 1); if (empty($query_joins['docs'])) { $query_joins['docs'] = array("on" => "{$tables['docs']}.doc_info_id = {$tables['docs_user_info']}.doc_info_id", 'parent' => 'docs_user_info', 'is_inner' => 1); } $query_joins['docs_items'] = array("on" => "{$tables['docs_items']}.doc_id = {$tables['docs']}.doc_id" . " and {$tables['docs_items']}.product_id = '" . $data['orders']['orders_product'] . "'", 'parent' => 'docs', 'is_inner' => 1); } if (!empty($data['orders']['orders_count_from']) || !empty($data['orders']['orders_count_to']) || !empty($data['orders']['avg_subtotal_from']) || !empty($data['orders']['avg_subtotal_to']) || !empty($data['orders']['total_spent_from']) || !empty($data['orders']['total_spent_to'])) { $query_joins['customers_docs_stats'] = array("on" => "{$tables['customers_docs_stats']}.customer_id = {$tables['customers']}.customer_id" . ($data['orders']['orders_count_from'] ? " and {$tables['customers_docs_stats']}.orders_count >= '" . $data['orders']['orders_count_from'] . "'" : "") . ($data['orders']['orders_count_to'] ? " and {$tables['customers_docs_stats']}.orders_count <= '" . $data['orders']['orders_count_to'] . "'" : "") . ($data['orders']['avg_subtotal_from'] ? " and {$tables['customers_docs_stats']}.avg_subtotal >= '" . $data['orders']['avg_subtotal_from'] . "'" : "") . ($data['orders']['avg_subtotal_to'] ? " and {$tables['customers_docs_stats']}.avg_subtotal <= '" . $data['orders']['avg_subtotal_to'] . "'" : "") . ($data['orders']['total_spent_from'] ? " and {$tables['customers_docs_stats']}.total_spent >= '" . $data['orders']['total_spent_from'] . "'" : "") . ($data['orders']['total_spent_to'] ? " and {$tables['customers_docs_stats']}.total_spent <= '" . $data['orders']['total_spent_to'] . "'" : ""), 'parent' => 'customers', 'is_inner' => 1); } if (!empty($data['orders']['category_ids'])) { $categories_conditions = array(); foreach ($data['orders']['category_ids'] as $search_categ) { if (empty($search_categ)) { continue; } $all_subcats = cw_category_get_subcategories($search_categ); $subcat_ids[$search_categ] = 1; foreach ($all_subcats as $subcat) { $subcat_ids[$subcat['category_id']] = 1; } $categories_conditions[] = "{$tables['doc_history_categories']}.category_id in ('" . implode("','", array_keys($subcat_ids)) . "')"; } if (!empty($categories_conditions)) { $query_joins['docs_user_info'] = array("on" => "{$tables['docs_user_info']}.customer_id = {$tables['customers']}.customer_id", 'parent' => 'customers', 'is_inner' => 1); if (empty($query_joins['docs'])) { $query_joins['docs'] = array("on" => "{$tables['docs']}.doc_info_id = {$tables['docs_user_info']}.doc_info_id", 'parent' => 'docs_user_info', 'is_inner' => 1); } $query_joins['doc_history_categories'] = array("on" => "{$tables['doc_history_categories']}.doc_id = {$tables['docs']}.doc_id" . " and (" . implode(" or ", $categories_conditions) . ")", 'parent' => 'docs', 'is_inner' => 1); } } if (!empty($data['orders']['attributes'])) {
$ids[] = $val; $curr_subcats = cw_query_column("SELECT c.category_id FROM {$tables['categories']} as c, {$tables['categories_parents']} as cp WHERE c.category_id=cp.parent_id and cp.parent_id='{$val}'"); if ($curr_subcats) { $ids = array_merge($ids, $curr_subcats); } } $subcats = cw_query("SELECT category_id, category FROM {$tables['categories']} WHERE category_id in ('" . implode("', '", $ids) . "')"); if (is_array($subcats)) { foreach ($subcats as $k => $v) { # kronev, for the big amount of products - there are no any sense to display it $subcats[$k]['products_count'] = cw_query_first_cell("SELECT count(*) FROM {$tables['products_categories']}, {$tables['products']} WHERE {$tables['products_categories']}.category_id='{$v['category_id']}' AND {$tables['products_categories']}.product_id={$tables['products']}.product_id AND {$tables['products_categories']}.main=1"); // $subcats[$k]['products_count'] = (is_array($subcats[$k]['products']) ? count($subcats[$k]['products']) : 0); } } $smarty->assign('subcats', $subcats); $smarty->assign('main', 'category/delete_confirmation'); } elseif ($mode == 'search') { $search_data['categories']['page'] = $page; list($categories, $navigation) = cw_func_call('cw_category_search', array('data' => $search_data['categories'])); $navigation['script'] = 'index.php?target=' . $target . '&mode=search'; $smarty->assign('navigation', $navigation); $smarty->assign('categories', $categories); $smarty->assign('search_prefilled', $search_data['categories']); $smarty->assign('js_tab', 'search'); $smarty->assign('main', 'categories'); } $location[] = array(cw_get_langvar_by_name('lbl_categories'), ''); $smarty->assign('subcategories', cw_category_get_subcategories($cat ? $cat : 0)); $smarty->assign('current_category', cw_func_call('cw_category_get', array('cat' => $cat))); $smarty->assign('category_location', cw_category_get_location($cat, 'categories', 1)); $smarty->assign('cat', $cat);
<?php cw_load('category'); $smarty->assign('subcategories', cw_category_get_subcategories($cat, $current_category)); $smarty->assign('current_category', $current_category); $smarty->assign('name', $name); $smarty->assign('id', $id); $smarty->assign('index', $index); $smarty->assign('el_name', $el_name); $smarty->assign('multiple', $multiple); $smarty->assign('parent_category_id', $cat); $smarty->assign('return_type', $return_type); cw_display('main/ajax/categories.tpl', $smarty); exit(0);