Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Template_Search extends SiteBill {
- public function getParams(){
- $params=array();
- //тут мы собираем параметры
- if(NULL!==$this->getRequestValue('is_wifi')){
- $params['is_wifi'] = 1;
- }
- if(0!==(int)$this->getRequestValue('floor_type')){
- $params['floor_type'] = (int)$this->getRequestValue('floor_type');
- }
- if(0!==(int)$this->getRequestValue('sea_distance_min')){
- $params['sea_distance_min'] = (int)$this->getRequestValue('sea_distance_min');
- }
- if(0!==(int)$this->getRequestValue('sea_distance_max')){
- $params['sea_distance_max'] = (int)$this->getRequestValue('sea_distance_max');
- }
- //закончили сбор
- return $params;
- }
- public function run(){
- $ret=array(
- 'where'=>array(),
- 'params'=>array()
- );
- $params=$this->getParams();
- if(empty($params)){
- return $ret;
- }
- require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php');
- $data_model = new Data_Model();
- $data_model_array = $data_model->get_kvartira_model(false);
- $data_model_array=$data_model_array['data'];
- $where_array=array();
- //начинаем обрабатывать
- if(isset($params['is_wifi']) && isset($data_model_array['is_wifi'])){
- $where_array[]=DB_PREFIX.'_data.is_wifi=1';
- }
- if(isset($params['floor_type']) && isset($data_model_array['floor_type'])){
- $where_array[]=DB_PREFIX.'_data.floor_type='.$params['floor_type'];
- }
- if(isset($params['sea_distance_min']) && isset($data_model_array['sea_distance'])){
- $where_array[]=DB_PREFIX.'_data.sea_distance*1>='.$params['sea_distance_min'];
- }
- if(isset($params['sea_distance_max']) && isset($data_model_array['sea_distance'])){
- $where_array[]=DB_PREFIX.'_data.sea_distance*1<='.$params['sea_distance_max'];
- }
- //отдаем в механизм компоновки запроса
- return array(
- 'where'=>$where_array,
- 'params'=>$params
- );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement