Advertisement
Guest User

Untitled

a guest
Jul 17th, 2019
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.33 KB | None | 0 0
  1. $froms = array();
  2.         $fields = array();
  3.         foreach($this->_filters as $block){
  4.             foreach($block as $object=>$block_filters){
  5.                 foreach($block_filters as $gauge){
  6.                     $source = $gauge->template->source();
  7.                     if(!isset($froms[$object.'_'.$source['alias']])){
  8.                         if($source['alias'] == 'doc_object'){
  9.                         }
  10.                         else if($object == 'delivered' && $source['alias'] == 'car_seller' && is_null(['delivered_car_seller_id'])){
  11.  
  12.                         }
  13.                         else
  14.                             $froms[$object.'_'.$source['alias']] = $source['table'];
  15.                     }
  16.                     if(!isset($fields[$object.'_'.$gauge->id]) && !isset($fields[$object.'_'.$gauge->id.'_'.(is_array($gauge->values) ? $gauge->values[0] : $gauge->values)])){
  17.                         if($object == 'delivered' && $source['alias'] == 'doc_object' && is_null($args['delivered_object_id'])){
  18.                             if($gauge->condition == 'doc')
  19.                                 $fields[$object.'_'.$gauge->id.'_'.(is_array($gauge->values) ? $gauge->values[0] : $gauge->values)] = 'null';
  20.                             else
  21.                                 $fields[$object.'_'.$gauge->id] = 'null';
  22.                         }
  23.                         elseif($object == 'delivered' && $source['alias'] == 'car_seller' && is_null($args['delivered_car_seller_id'])){
  24.                             $fields[$object.'_'.$gauge->id] = 'null';
  25.                         }
  26.                         elseif($object == 'delivered' && $source['alias'] == 'car' && is_null($args['delivered_car_id'])){
  27.                             $fields[$object.'_'.$gauge->id] = 'null';
  28.                         }
  29.                         elseif($object == 'delivered' && $source['alias'] == 'tradein' && is_null($args['delivered_tradein_id'])){
  30.                             $fields[$object.'_'.$gauge->id] = 'null';
  31.                         }
  32.                         else{
  33.                             if(isset($source['func'])){
  34.                                 if($gauge->condition == 'doc'){
  35.                                     $values = is_array($gauge->values) ? $gauge->values[0] : $gauge->values;
  36.                                     $key = $object.'_'.$gauge->id.'_'.$values;
  37.                                 }
  38.                                 else{
  39.                                     $values = is_array($gauge->values) ? $gauge->values : array($gauge->values);
  40.                                     $key = $object.'_'.$gauge->id;
  41.                                 }
  42.  
  43.                                 $fields[$key] = $source['func'];
  44.                                 $fields[$key] = str_replace("&&program.id",$args['program_id'],$fields[$key]);
  45.                                 $fields[$key] = str_replace("&&values",is_array($values) ? implode(',',$values) : $values,$fields[$key]);
  46.                                 if($object == 'delivered'){
  47.                                     $fields[$key] = str_replace("&&car_seller.id",$args['delivered_car_seller_id'],$fields[$key]);
  48.                                     $fields[$key] = str_replace("&&car.id",$args['delivered_car_id'],$fields[$key]);
  49.                                     $fields[$key] = str_replace("&&car_seller.company_id",$args['delivered_company_id'],$fields[$key]);
  50.                                     $fields[$key] = str_replace("&&tradein.id",$args['delivered_tradein_id'],$fields[$key]);
  51.                                     $fields[$key] = str_replace("&&object_type_id",$args['delivered_object_type_id'],$fields[$key]);
  52.                                     $fields[$key] = str_replace("&&object_id",$args['delivered_object_id'],$fields[$key]);
  53.                                 }
  54.                                 else{
  55.                                     $fields[$key] = str_replace("&&car_seller.id",$args['received_car_seller_id'],$fields[$key]);
  56.                                     $fields[$key] = str_replace("&&car.id",$args['received_car_id'],$fields[$key]);
  57.                                     $fields[$key] = str_replace("&&car_seller.company_id",$args['received_company_id'],$fields[$key]);
  58.                                     $fields[$key] = str_replace("&&object_type_id",$args['received_object_type_id'],$fields[$key]);
  59.                                     $fields[$key] = str_replace("&&object_id",$args['received_object_id'],$fields[$key]);
  60.                                 }
  61.                             }
  62.                             else{
  63.                                 $fields[$object.'_'.$gauge->id] = $object.'_'.$source['alias'].'.'.$source['field'];
  64.                             }
  65.                         }
  66.                     }
  67.                 }
  68.             }
  69.         }
  70.         $sql = 'SELECT';
  71.         $i=0;
  72.         foreach($fields as $as=>$field){
  73.             if($i>0) $sql .= ',';
  74.             $sql .= ' ' . $field . ' as ' . $as;
  75.             $i++;
  76.         }
  77.         $sql = $sql == 'SELECT' ? 'SELECT 1' : $sql;
  78.         $sql .= ' FROM crp_car_seller received_car_seller';
  79.         foreach($froms as $from=>$table){
  80.             if($from != 'received_car_seller'){
  81.                 if($from == 'delivered_car_seller' && is_null($args['delivered_car_seller_id'])){
  82.  
  83.                 }
  84.                 elseif($from == 'delivered_car' && is_null($args['delivered_car_id'])){
  85.  
  86.                 }
  87.                 elseif($from == 'delivered_tradein' && is_null($args['delivered_tradein_id'])){
  88.  
  89.                 }
  90.                 else{
  91.                     $sql .= ', ' . $table . ' ' . $from;
  92.                 }
  93.             }
  94.         }
  95.         $sql .= ' WHERE received_car_seller.id=' . $args['received_car_seller_id'];
  96.         foreach($froms as $from=>$table){
  97.             if($from == 'delivered_car_seller' && is_null($args['delivered_car_seller_id'])){
  98.  
  99.             }
  100.             elseif($from == 'delivered_car' && is_null($args['delivered_car_id'])){
  101.  
  102.             }
  103.             elseif($from == 'delivered_tradein' && is_null($args['delivered_tradein_id'])){
  104.  
  105.             }
  106.             else{
  107.                 switch($from){
  108.                     case 'received_car':
  109.                         $sql .= ' AND received_car.id = received_car_seller.car_id';
  110.                         break;
  111.                     case 'received_car_seller_details':
  112.                         $sql .= ' AND received_car_seller.id = received_car_seller_details.car_seller_id';
  113.                         break;
  114.                     case 'delivered_car_seller':
  115.                         $sql .= ' AND delivered_car_seller.id = (SELECT car_seller_id FROM crp_car_tradein WHERE is_active=1 AND car_income_id = (SELECT id FROM crp_car_income WHERE car_seller_id=received_car_seller.id AND is_active=1))';
  116.                         break;
  117.                     case 'delivered_car':
  118.                         $sql .= ' AND delivered_car.id = (SELECT car_id FROM crp_car_tradein WHERE is_active=1 AND car_income_id = (SELECT id FROM crp_car_income WHERE car_seller_id=received_car_seller.id AND is_active=1))';
  119.                         break;
  120.                     case 'delivered_tradein':
  121.                         $sql .= ' AND delivered_tradein.id = '. $args['delivered_tradein_id'];
  122.                         break;
  123.                 }
  124.             }
  125.         }
  126.         return $sql;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement