search.php
6.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<?php
// * @source See SOURCE.txt for source and other copyright.
// * @license GNU General Public License version 3; see LICENSE.txt
class ControllerSearchSearch extends Controller {
public function index() {
if(empty($this->session->data['user_token'])) {
return;
}
$this->load->language('search/search');
$data = array();
$data['text_search_options'] = $this->language->get('text_search_options');
$data['text_catalog'] = $this->language->get('text_catalog');
$data['text_customers'] = $this->language->get('text_customers');
$data['text_orders'] = $this->language->get('text_orders');
$data['text_catalog_placeholder'] = $this->language->get('text_catalog_placeholder');
$data['text_customers_placeholder'] = $this->language->get('text_customers_placeholder');
$data['text_orders_placeholder'] = $this->language->get('text_orders_placeholder');
$data['text_search_placeholder'] = $this->language->get('text_search_placeholder');
$data['user_token'] = $this->session->data['user_token'];
return $this->load->view('search/search', $data);
}
public function search(){
$this->load->language('search/search');
$data['text_products'] = $this->language->get('text_products');
$data['text_categories'] = $this->language->get('text_categories');
$data['text_manufacturers'] = $this->language->get('text_manufacturers');
$data['text_orders'] = $this->language->get('text_orders');
$data['text_order_id'] = $this->language->get('text_order_id');
$data['text_customers'] = $this->language->get('text_customers');
$data['text_no_result'] = $this->language->get('text_no_result');
$data['user_token'] = $this->session->data['user_token'];
if(!empty($this->request->get['query'])) {
$_data['query'] = $this->request->get['query'];
}
else{
$json['error'] = $this->language->get('text_empty_query');
}
if(!empty($this->request->get['search-option'])) {
$search_option = $this->request->get['search-option'];
}
else{
$search_option = 'catalog';
}
if(!empty($json['error'])) {
$this->response->setOutput(json_encode($json));
return;
}
$this->load->model('tool/image');
$data['no_image'] = $this->model_tool_image->resize('no_image.png', 30, 30);
$this->load->model('search/search');
switch($search_option) {
case 'catalog':
// Get products
$data['products'] = $this->model_search_search->getProducts($_data);
foreach($data['products'] as $key => $product){
if(!empty($product['image'])) {
$data['products'][$key]['image'] = $this->model_tool_image->resize($product['image'], 30, 30);
}
else{
$data['products'][$key]['image'] = $this->model_tool_image->resize('no_image.png', 30, 30);
}
$data['products'][$key]['url'] = $this->url->link('catalog/product/edit', 'user_token=' . $this->session->data['user_token'] . '&product_id=' . $product['product_id'], true);
}
// Get categories
$data['categories'] = $this->model_search_search->getCategories($_data);
foreach($data['categories'] as $key => $category){
if(!empty($category['image'])) {
$data['categories'][$key]['image'] = $this->model_tool_image->resize($category['image'], 30, 30);
}
else{
$data['categories'][$key]['image'] = $this->model_tool_image->resize('no_image.png', 30, 30);
}
$data['categories'][$key]['url'] = $this->url->link('catalog/category/edit', 'user_token=' . $this->session->data['user_token'] . '&category_id=' . $category['category_id'], true);
}
// Get manufacturers
$data['manufacturers'] = $this->model_search_search->getManufacturers($_data);
foreach($data['manufacturers'] as $key => $manufacturer){
if(!empty($category['image'])) {
$data['manufacturers'][$key]['image'] = $this->model_tool_image->resize($manufacturer['image'], 30, 30);
}
else{
$data['manufacturers'][$key]['image'] = $this->model_tool_image->resize('no_image.png', 30, 30);
}
$data['manufacturers'][$key]['url'] = $this->url->link('catalog/manufacturer/edit', 'user_token=' . $this->session->data['user_token'] . '&manufacturer_id=' . $manufacturer['manufacturer_id'], true);
}
$json['result'] = $this->load->view('search/catalog_result', $data);
break;
case 'customers':
$data['customers'] = $this->model_search_search->getCustomers($_data);
foreach($data['customers'] as $key => $customer){
$data['customers'][$key]['url'] = $this->url->link('customer/customer/edit', 'user_token=' . $this->session->data['user_token'] . '&customer_id=' . $customer['customer_id'], true);
}
$json['result'] = $this->load->view('search/customers_result', $data);
break;
case 'orders':
$data['orders'] = $this->model_search_search->getOrders($_data);
foreach($data['orders'] as $key => $order){
$data['orders'][$key]['url'] = $this->url->link('sale/order/info', 'user_token=' . $this->session->data['user_token'] . '&order_id=' . $order['order_id'], true);
}
$json['result'] = $this->load->view('search/orders_result', $data);
break;
default:
break;
}
$this->response->setOutput(json_encode($json));
}
}