Skip to content

Instantly share code, notes, and snippets.

@vsguts
Last active December 7, 2015 11:57
Show Gist options
  • Save vsguts/426da80bff734652b02b to your computer and use it in GitHub Desktop.
Save vsguts/426da80bff734652b02b to your computer and use it in GitHub Desktop.
diff --git a/app/functions/fn.search.php b/app/functions/fn.search.php
index 886f34d..e303497 100644
--- a/app/functions/fn.search.php
+++ b/app/functions/fn.search.php
@@ -170,9 +170,10 @@ function fn_search($params, $items_per_page = 0, $lang_code = CART_LANGUAGE)
$_params = fn_array_merge($_params, $search['default_params'][$object]);
}
$search['conditions']['values'][$object] = call_user_func($function, $_params, $lang_code);
- $search['action_links'][$object] = str_replace(
- '%search%', urlencode($params['q']), $search['action_links'][$object]
- );
+ $search['action_links'][$object] = strtr($search['action_links'][$object], array(
+ '%search%' => urlencode($params['q']),
+ '%search_num%' => is_numeric($params['q']) ? $params['q'] : '',
+ ));
}
}
@@ -404,12 +405,14 @@ function fn_create_products_condition($params, $lang_code = CART_LANGUAGE)
$params['get_conditions'] = true;
if (AREA == 'A') {
$params['pcode_from_q'] = 'Y';
- $params['pid'] = $params['q'];
+ if (is_numeric($params['q'])) {
+ $params['pid'] = $params['q'];
+ }
}
list($fields, $join, $condition) = fn_get_products($params, 0, $lang_code);
@@ -450,14 +453,16 @@ function fn_create_orders_condition($params, $lang_code = CART_LANGUAGE)
$params['get_conditions'] = true;
if (!empty($params['q'])) {
- $params['order_id'] = $params['q'];
+ if (is_numeric($params['q'])) {
+ $params['order_id'] = $params['q'];
+ }
$params['email'] = $params['q'];
$params['cname'] = $params['q'];
}
list($fields, $join, $condition) = fn_get_orders($params, 0, $lang_code);
diff --git a/app/schemas/search/schema.php b/app/schemas/search/schema.php
index fc1dc0b..476bf5b 100644
--- a/app/schemas/search/schema.php
+++ b/app/schemas/search/schema.php
@@ -24,7 +24,7 @@ $schema = array(
'title' => __('products'),
'more_data_function' => '',
'bulk_data_function' => 'fn_gather_additional_products_data_for_search',
- 'action_link' => 'products.manage?compact=Y&q=%search%&pshort=Y&pfull=Y&pname=Y&pkeywords=Y&pcode_from_q=Y&pid=%search%&match=any&content_id=products_content',
+ 'action_link' => 'products.manage?compact=Y&q=%search%&pshort=Y&pfull=Y&pname=Y&pkeywords=Y&pcode_from_q=Y&pid=%search_num%&match=any&content_id=products_content',
'detailed_link' => 'products.update?product_id=%id%',
'show_in_search' => false,
'default' => true
@@ -51,7 +51,7 @@ if (AREA == 'A') {
'title' => __('orders'),
'more_data_function' => '',
'bulk_data_function' => '',
- 'action_link' => 'orders.manage?order_id=%search%&compact=Y&email=%search%&cname=%search%&content_id=order_content',
+ 'action_link' => 'orders.manage?order_id=%search_num%&compact=Y&email=%search%&cname=%search%&content_id=order_content',
'detailed_link' => 'orders.details?order_id=%id%',
'show_in_search' => false
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment