HEX
Server: LiteSpeed
System: Linux php-prod-3.spaceapp.ru 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: sarli3128 (1010)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /home/retile.ru/public_html/catalog/controller/product/uni_search.php
<?php
class ControllerProductUniSearch extends Controller {
	private $uniset = [];
	
	public function index($params = ['filter_data' => [], 'products' => []]) {
		
		$uniset = $this->config->get('config_unishop2');
		$lang_id = $this->config->get('config_language_id');
		
		$this->uniset = $uniset;
		
		$this->load->model('extension/module/uni_search');
		$this->load->model('catalog/product');
		$this->load->model('tool/image');
		
		$this->load->language('extension/module/uni_othertext');
		$this->load->language('extension/module/uni_search');
		
		$data['categories_search'] = $this->getCategories($params['filter_data']);
		$data['manufacturers_search'] = $this->getManufacturers($params['filter_data']);
		$data['product_categories_search'] = $this->getProductCategories($params['products']);
		
		return $data;
	}
	
	private function getCategories($params) {
		$uniset = $this->uniset;
		
		$result = [];
				
		if(isset($uniset['search']['condition']['category']) && $params) {
			$categories = $this->model_extension_module_uni_search->getCategories($params);
				
			foreach ($categories as $category) {
				$result[] = [
					'category_id' => $category['category_id'],
					'name' 		  => $category['name'],
					'thumb' 	  => isset($uniset['search']['condition']['category_img']) && $category['image'] ? $this->model_tool_image->resize($category['image'], $this->config->get('theme_'.$this->config->get('config_theme').'_image_category_width'), $this->config->get('theme_'.$this->config->get('config_theme').'_image_category_height')) : '',
					'href'        => $this->url->link('product/category', 'path='.(int)$category['category_id'], true)
				];
			}
		}
		
		return $result;
	}
	
	private function getManufacturers($params) {
		$uniset = $this->uniset;
		
		$result = [];
				
		if(isset($uniset['search']['condition']['manufacturer']) && $params) {
			$manufacturers = $this->model_extension_module_uni_search->getManufacturers($params);
				
			foreach ($manufacturers as $manufacturer) {
				$result[] = [
					'manufacturer_id' => $manufacturer['manufacturer_id'],
					'name' 		  	  => $manufacturer['name'],
					'thumb' 	      => isset($uniset['search']['condition']['manufacturer_img']) && $manufacturer['image'] ? $this->model_tool_image->resize($manufacturer['image'], $this->config->get('theme_'.$this->config->get('config_theme').'_image_category_width'), $this->config->get('theme_'.$this->config->get('config_theme').'_image_category_height')) : '',
					'href'   		  => $this->url->link('product/manufacturer/info', 'manufacturer_id='.(int)$manufacturer['manufacturer_id'], true)
				];
			}
		}
		
		return $result;
	}
	
	private function getProductCategories($params) {
		$uniset = $this->uniset;
		
		$result = [];
		
		if(isset($uniset['search']['condition']['product_category']) && $params && !isset($this->request->get['category_id']) && !isset($this->request->get['sub_category'])) {
		
			$url = '';
		
			if (isset($this->request->get['search'])) {
				$url .= '&search=' . rawurlencode(html_entity_decode(trim($this->request->get['search']), ENT_QUOTES, 'UTF-8'));
			}

			if (isset($this->request->get['tag'])) {
				$url .= '&tag=' . rawurlencode(html_entity_decode($this->request->get['tag'], ENT_QUOTES, 'UTF-8'));
			}

			if (isset($this->request->get['description'])) {
				$url .= '&description=' . $this->request->get['description'];
			}

			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}
			
			$categories = $this->model_extension_module_uni_search->getProductCategories($params);
		
			foreach ($categories as $category) {
				$result[] = [
					'category_id'	=> $category['category_id'],
					'name'			=> $category['name'],
					'href'   	 	=> $this->url->link('product/search', '&category_id='.(int)$category['category_id'] . $url, true)
				];
			}
		}
		
		return $result;
	}
}