escape(stripslashes($_GET['search']))."%";
$search_string_description = "% ".$wpdb->escape(stripslashes($_GET['search']))."%";
$search_sql = "AND (`products`.`name` LIKE '".$search_string_title."' OR `products`.`description` LIKE '".$search_string_description."')";
$search_string = $_GET['search'];
} else {
$search_sql = '';
$search_string = '';
}
$search_sql = apply_filters('wpsc_admin_products_list_search_sql', $search_sql);
if($category_id > 0) { // if we are getting items from only one category, this is a monster SQL query to do this with the product order
$sql = "SELECT `products`.`id` , `products`.`name` , `products`.`price` , `products`.`image`, `products`.`publish`, `categories`.`category_id`,`order`.`order`, IF(ISNULL(`order`.`order`), 0, 1) AS `order_state`
FROM `".WPSC_TABLE_PRODUCT_LIST."` AS `products`
LEFT JOIN `".WPSC_TABLE_ITEM_CATEGORY_ASSOC."` AS `categories` ON `products`.`id` = `categories`.`product_id`
LEFT JOIN `".WPSC_TABLE_PRODUCT_ORDER."` AS `order` ON (
( `products`.`id` = `order`.`product_id` )
AND
( `categories`.`category_id` = `order`.`category_id` )
)
WHERE `products`.`active` = '1' $search_sql
AND `categories`.`category_id`
IN (
'".$category_id."'
)
ORDER BY `order_state` DESC,`order`.`order` ASC, `products`.`date_added` DESC, `products`.`id` DESC";
// if we are selecting a category, set is_sortable to true
$is_sortable = true;
} else {
$itempp = 10;
if ($_GET['pageno']!='all') {
if($_GET['pageno'] > 0) {
$page = absint($_GET['pageno']);
} else {
$page = 1;
}
$start = (int)($page * $itempp) - $itempp;
$sql = "SELECT DISTINCT * FROM `".WPSC_TABLE_PRODUCT_LIST."` AS `products` WHERE `products`.`active`='1' $search_sql ORDER BY `products`.`date_added` DESC LIMIT $start,$itempp";
} else {
$sql = "SELECT DISTINCT * FROM `".WPSC_TABLE_PRODUCT_LIST."` AS `products` WHERE `products`.`active`='1' $search_sql ORDER BY `products`.`date_added`";
}
}
$product_list = $wpdb->get_results($sql,ARRAY_A);
$num_products = $wpdb->get_var("SELECT COUNT(DISTINCT `products`.`id`) FROM `".WPSC_TABLE_PRODUCT_LIST."` AS `products` WHERE `products`.`active`='1' $search_sql");
if (isset($itempp)) {
$num_pages = ceil($num_products/$itempp);
}
if($page !== null) {
$page_links = paginate_links( array(
'base' => add_query_arg( 'pageno', '%#%' ),
'format' => '',
'prev_text' => __('«'),
'next_text' => __('»'),
'total' => $num_pages,
'current' => $page
));
}
$this_page_url = stripslashes($_SERVER['REQUEST_URI']);
?>
".TXT_WPSC_ALLCATEGORIES."\r\n";
$options .= wpsc_admin_category_dropdown_tree(null, 0, absint($_GET['category_id']));
$concat = "\r\n";
$concat .= "\r\n";
$concat .= "\r\n";
return $concat;
}
function wpsc_admin_category_dropdown_tree($category_id = null, $iteration = 0, $selected_id = null) {
/*
* Displays the category forms for adding and editing products
* Recurses to generate the branched view for subcategories
*/
global $wpdb;
$siteurl = get_option('siteurl');
$url = $siteurl."/wp-admin/admin.php?page=wpsc-edit-products";
$search_sql = apply_filters('wpsc_admin_category_dropdown_tree_search_sql', '');
if(is_numeric($category_id)) {
$sql = "SELECT * FROM `".WPSC_TABLE_PRODUCT_CATEGORIES."` WHERE `active`='1' AND `category_parent` = '$category_id' ".$search_sql." ORDER BY `id` ASC";
} else {
$sql = "SELECT * FROM `".WPSC_TABLE_PRODUCT_CATEGORIES."` WHERE `active`='1' AND `category_parent` = '0' ".$search_sql." ORDER BY `id` ASC";
}
// echo $sql;
$values = $wpdb->get_results($sql, ARRAY_A);
foreach((array)$values as $option) {
if($selected_id == $option['id']) {
$selected = "selected='selected'";
}
//$url = htmlentities(remove_query_arg('product_id',add_query_arg('category_id', $option['id'])));
$output .= "\r\n";
$output .= wpsc_admin_category_dropdown_tree($option['id'], $iteration+1, $selected_id);
$selected = "";
}
return $output;
}
?>