Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $froms = array();
- $fields = array();
- foreach($this->_filters as $block){
- foreach($block as $object=>$block_filters){
- foreach($block_filters as $gauge){
- $source = $gauge->template->source();
- if(!isset($froms[$object.'_'.$source['alias']])){
- if($source['alias'] == 'doc_object'){
- }
- else if($object == 'delivered' && $source['alias'] == 'car_seller' && is_null(['delivered_car_seller_id'])){
- }
- else
- $froms[$object.'_'.$source['alias']] = $source['table'];
- }
- if(!isset($fields[$object.'_'.$gauge->id]) && !isset($fields[$object.'_'.$gauge->id.'_'.(is_array($gauge->values) ? $gauge->values[0] : $gauge->values)])){
- if($object == 'delivered' && $source['alias'] == 'doc_object' && is_null($args['delivered_object_id'])){
- if($gauge->condition == 'doc')
- $fields[$object.'_'.$gauge->id.'_'.(is_array($gauge->values) ? $gauge->values[0] : $gauge->values)] = 'null';
- else
- $fields[$object.'_'.$gauge->id] = 'null';
- }
- elseif($object == 'delivered' && $source['alias'] == 'car_seller' && is_null($args['delivered_car_seller_id'])){
- $fields[$object.'_'.$gauge->id] = 'null';
- }
- elseif($object == 'delivered' && $source['alias'] == 'car' && is_null($args['delivered_car_id'])){
- $fields[$object.'_'.$gauge->id] = 'null';
- }
- elseif($object == 'delivered' && $source['alias'] == 'tradein' && is_null($args['delivered_tradein_id'])){
- $fields[$object.'_'.$gauge->id] = 'null';
- }
- else{
- if(isset($source['func'])){
- if($gauge->condition == 'doc'){
- $values = is_array($gauge->values) ? $gauge->values[0] : $gauge->values;
- $key = $object.'_'.$gauge->id.'_'.$values;
- }
- else{
- $values = is_array($gauge->values) ? $gauge->values : array($gauge->values);
- $key = $object.'_'.$gauge->id;
- }
- $fields[$key] = $source['func'];
- $fields[$key] = str_replace("&&program.id",$args['program_id'],$fields[$key]);
- $fields[$key] = str_replace("&&values",is_array($values) ? implode(',',$values) : $values,$fields[$key]);
- if($object == 'delivered'){
- $fields[$key] = str_replace("&&car_seller.id",$args['delivered_car_seller_id'],$fields[$key]);
- $fields[$key] = str_replace("&&car.id",$args['delivered_car_id'],$fields[$key]);
- $fields[$key] = str_replace("&&car_seller.company_id",$args['delivered_company_id'],$fields[$key]);
- $fields[$key] = str_replace("&&tradein.id",$args['delivered_tradein_id'],$fields[$key]);
- $fields[$key] = str_replace("&&object_type_id",$args['delivered_object_type_id'],$fields[$key]);
- $fields[$key] = str_replace("&&object_id",$args['delivered_object_id'],$fields[$key]);
- }
- else{
- $fields[$key] = str_replace("&&car_seller.id",$args['received_car_seller_id'],$fields[$key]);
- $fields[$key] = str_replace("&&car.id",$args['received_car_id'],$fields[$key]);
- $fields[$key] = str_replace("&&car_seller.company_id",$args['received_company_id'],$fields[$key]);
- $fields[$key] = str_replace("&&object_type_id",$args['received_object_type_id'],$fields[$key]);
- $fields[$key] = str_replace("&&object_id",$args['received_object_id'],$fields[$key]);
- }
- }
- else{
- $fields[$object.'_'.$gauge->id] = $object.'_'.$source['alias'].'.'.$source['field'];
- }
- }
- }
- }
- }
- }
- $sql = 'SELECT';
- $i=0;
- foreach($fields as $as=>$field){
- if($i>0) $sql .= ',';
- $sql .= ' ' . $field . ' as ' . $as;
- $i++;
- }
- $sql = $sql == 'SELECT' ? 'SELECT 1' : $sql;
- $sql .= ' FROM crp_car_seller received_car_seller';
- foreach($froms as $from=>$table){
- if($from != 'received_car_seller'){
- if($from == 'delivered_car_seller' && is_null($args['delivered_car_seller_id'])){
- }
- elseif($from == 'delivered_car' && is_null($args['delivered_car_id'])){
- }
- elseif($from == 'delivered_tradein' && is_null($args['delivered_tradein_id'])){
- }
- else{
- $sql .= ', ' . $table . ' ' . $from;
- }
- }
- }
- $sql .= ' WHERE received_car_seller.id=' . $args['received_car_seller_id'];
- foreach($froms as $from=>$table){
- if($from == 'delivered_car_seller' && is_null($args['delivered_car_seller_id'])){
- }
- elseif($from == 'delivered_car' && is_null($args['delivered_car_id'])){
- }
- elseif($from == 'delivered_tradein' && is_null($args['delivered_tradein_id'])){
- }
- else{
- switch($from){
- case 'received_car':
- $sql .= ' AND received_car.id = received_car_seller.car_id';
- break;
- case 'received_car_seller_details':
- $sql .= ' AND received_car_seller.id = received_car_seller_details.car_seller_id';
- break;
- case 'delivered_car_seller':
- $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))';
- break;
- case 'delivered_car':
- $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))';
- break;
- case 'delivered_tradein':
- $sql .= ' AND delivered_tradein.id = '. $args['delivered_tradein_id'];
- break;
- }
- }
- }
- return $sql;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement