Advertisement
abushyk

template_search_work

Apr 11th, 2014
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.33 KB | None | 0 0
  1. <?php
  2. class Template_Search extends SiteBill {
  3.  
  4.         public function getParams(){
  5.                 $params=array();
  6.         //тут мы собираем параметры
  7.                 if(NULL!==$this->getRequestValue('is_wifi')){
  8.             $params['is_wifi'] = 1;
  9.         }
  10.  
  11.         if(0!==(int)$this->getRequestValue('floor_type')){
  12.             $params['floor_type'] = (int)$this->getRequestValue('floor_type');
  13.         }
  14.  
  15.         if(0!==(int)$this->getRequestValue('sea_distance_min')){
  16.             $params['sea_distance_min'] = (int)$this->getRequestValue('sea_distance_min');
  17.         }
  18.         if(0!==(int)$this->getRequestValue('sea_distance_max')){
  19.             $params['sea_distance_max'] = (int)$this->getRequestValue('sea_distance_max');
  20.         }
  21.         //закончили сбор
  22.                 return $params;
  23.         }
  24.  
  25.         public function run(){
  26.                 $ret=array(
  27.                         'where'=>array(),
  28.                         'params'=>array()              
  29.                 );
  30.                 $params=$this->getParams();
  31.                 if(empty($params)){
  32.                         return $ret;
  33.                 }
  34.                 require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php');
  35.                 $data_model = new Data_Model();
  36.                 $data_model_array = $data_model->get_kvartira_model(false);
  37.                 $data_model_array=$data_model_array['data'];
  38.  
  39.                 $where_array=array();
  40.                //начинаем обрабатывать
  41.                  if(isset($params['is_wifi']) && isset($data_model_array['is_wifi'])){
  42.             $where_array[]=DB_PREFIX.'_data.is_wifi=1';
  43.         }
  44.  
  45.         if(isset($params['floor_type']) && isset($data_model_array['floor_type'])){
  46.             $where_array[]=DB_PREFIX.'_data.floor_type='.$params['floor_type'];
  47.         }
  48.  
  49.         if(isset($params['sea_distance_min']) && isset($data_model_array['sea_distance'])){
  50.             $where_array[]=DB_PREFIX.'_data.sea_distance*1>='.$params['sea_distance_min'];
  51.         }
  52.  
  53.         if(isset($params['sea_distance_max']) && isset($data_model_array['sea_distance'])){
  54.             $where_array[]=DB_PREFIX.'_data.sea_distance*1<='.$params['sea_distance_max'];
  55.         }
  56.                //отдаем в механизм компоновки запроса
  57.                 return array(
  58.                         'where'=>$where_array,
  59.                         'params'=>$params              
  60.                 );
  61.         }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement