コード例 #1
0
 function model()
 {
     $language =& $this->locator->get('language');
     $request =& $this->locator->get('request');
     $session =& $this->locator->get('session');
     $response =& $this->locator->get('response');
     require_once 'library/application/string_modify.php';
     $language->load('extension/module/searchoptions.php');
     $text_all = $language->get('text_all');
     $text_model = $language->get('text_model');
     $search = wildcardsearch($session->get('search.search'), $language);
     $description = $session->get('search.description');
     if ($description == "on") {
         $description_sql = "or pd.description like ";
         $search_description = $search;
     } else {
         $description_sql = '';
         $search_description = '';
     }
     $manufacturer_id = (int) substr($request->gethtml('manufacturer'), 0, strpos($request->gethtml('manufacturer'), "*_*"));
     $model = substr($session->get('search.model'), 0, strpos($session->get('search.model'), "*_*"));
     $search = wildcardsearch($session->get('search.search'), $language);
     if ($manufacturer_id > 0) {
         $manufacturer_sql = " and p.manufacturer_id = ";
         $manufacturer_filter = "'" . $manufacturer_id . "'";
     } else {
         $manufacturer_sql = "";
         $manufacturer_filter = "";
     }
     $results = $this->modelSearch->get_model($search, $description_sql, $search_description, $manufacturer_sql, $manufacturer_filter);
     if (count($results) > 1) {
         $models_data = array();
         foreach ($results as $result) {
             $models_data[] = array('model' => $result['model'], 'model_value' => $result['model'] . "*_*" . $session->get('search.search'));
         }
     } else {
         $models_data = "";
     }
     if ($models_data) {
         $output = '<tr><td>' . $text_model . '</td></tr>' . "\n";
         $output .= '<tr><td>';
         $output .= '<select name="model">' . "\n";
         $output .= '<option value="all">';
         $output .= $text_all . '</option>' . "\n";
         foreach ($models_data as $model_data) {
             $output .= '<option value="' . $model_data['model_value'] . '">';
             $output .= $model_data['model'] . '</option>' . "\n";
         }
         $output .= '</select><div class="divider"></div></td></tr>' . "\n";
     } else {
         $output = "";
     }
     $response->set($output);
 }
コード例 #2
0
 function fetch()
 {
     $config =& $this->locator->get('config');
     $language =& $this->locator->get('language');
     $image =& $this->locator->get('image');
     $request =& $this->locator->get('request');
     $session =& $this->locator->get('session');
     $template =& $this->locator->get('template');
     $url =& $this->locator->get('url');
     $head_def =& $this->locator->get('HeaderDefinition');
     $this->modelProducts = $this->model->get('model_products');
     $this->modelSearch = $this->model->get('model_search');
     $this->modelCore = $this->model->get('model_core');
     require_once 'library/application/string_modify.php';
     if (!$config->get('search_options_status')) {
         return;
     }
     $language->load('extension/module/searchoptions.php');
     if (!$session->get('search.search')) {
         return;
     }
     $view = $this->locator->create('template');
     $view->set('heading_title', $language->get('heading_title'));
     $manufacturer_id = (int) substr($session->get('search.manufacturer'), 0, strpos($session->get('search.manufacturer'), "*_*"));
     $model = substr($session->get('search.model'), 0, strpos($session->get('search.model'), "*_*"));
     $view->set('default_max_rows', (int) $session->get('search.max_rows'));
     $view->set('default_page_rows', (int) $session->get('search.page_rows'));
     $view->set('default_order', $session->get('search.sort_order'));
     $view->set('default_filter', $session->get('search.sort_filter'));
     $view->set('default_columns', $session->get('search.columns'));
     $view->set('columns', $session->get('search.columns'));
     $view->set('display_lock', $config->get('search_display_lock'));
     $view->set('options_manufacturer', $config->get('options_manufacturer'));
     $view->set('options_model', $config->get('options_model'));
     $search = wildcardsearch($session->get('search.search'), $language);
     $description = $session->get('search.description');
     $view->set('description', $description);
     if ($description == "on") {
         $description_sql = "or pd.description like ";
         $search_description = $search;
     } else {
         $description_sql = '';
         $search_description = '';
     }
     $man_results = $this->modelSearch->get_manufacturer($search, $description_sql, $search_description);
     if (count($man_results) > 1) {
         $manufacturers_data = array();
         foreach ($man_results as $man_result) {
             $result = $this->modelProducts->getRow_manufacturer($man_result['manufacturer_id']);
             $manufacturers_data[] = array('manufacturer' => $result['manufacturer_id'] . "*_*" . $session->get('search.search'), 'name' => $result['name']);
         }
     } else {
         $manufacturers_data = "";
     }
     if ($manufacturer_id > 0) {
         $manufacturer_sql = " and p.manufacturer_id = ";
         $manufacturer_filter = "'" . $manufacturer_id . "'";
     } else {
         $manufacturer_sql = "";
         $manufacturer_filter = "";
     }
     $results = $this->modelSearch->get_model($search, $description_sql, $search_description, $manufacturer_sql, $manufacturer_filter);
     if (count($results) > 1) {
         $model_data = array();
         foreach ($results as $result) {
             $model_data[] = array('model' => $result['model'], 'model_value' => $result['model'] . "*_*" . $session->get('search.search'));
         }
     } else {
         $model_data = "";
     }
     $view->set('models_data', $model_data);
     $view->set('model', $model);
     $view->set('manufacturers_data', $manufacturers_data);
     $view->set('manufacturer_id', $session->get('search.manufacturer'));
     $view->set('search', $session->get('search.search'));
     $view->set('action', $url->href('search', 'search_page'));
     $view->set('sort_filter', $this->sort_filter());
     $view->set('sort_order', $this->sort_order());
     $view->set('text_sort_by', $language->get('text_sort_by'));
     $view->set('text_order', $language->get('text_order'));
     $view->set('text_max_rows', $language->get('text_max_rows'));
     $view->set('text_page_rows', $language->get('text_page_rows'));
     $view->set('text_columns', $language->get('text_columns'));
     $view->set('text_model', $language->get('text_model'));
     $view->set('text_all', $language->get('text_all'));
     $view->set('text_manufacturer_all', $language->get('text_manufacturer_all'));
     $view->set('text_manufacturer', $language->get('text_manufacturer'));
     $view->set('entry_submit', $language->get('entry_submit'));
     $column_data = $this->modelCore->tpl_columns != 3 ? array(1, 2, 3, 4, 5) : array(1, 2, 3, 4);
     $view->set('column_data', $column_data);
     $view->set('this_controller', 'search');
     $view->set('head_def', $head_def);
     return $view->fetch('module/display_options.tpl');
 }