Beispiel #1
0
 /**
  * parse the advanced filter options for the query condition 
  * @param integer $idcustom_view
  * @return mix
  * @see ViewFilterUtils::get_adv_filter_conditions()
  */
 public function parse_custom_view_advanced_filter($idcustom_view)
 {
     $this->query($this->get_saved_advanced_filter(), array((int) $idcustom_view));
     return ViewFilterUtils::parse_advanced_filter($this);
 }
Beispiel #2
0
<?php

// Copyright SQCRM. For licensing, reuse, modification and distribution see license.txt
/**
* Customview add 
* @author Abhik Chakraborty
*/
$do_crmfields = new CRMFields();
if (isset($_REQUEST["target_module_id"]) && (int) $_REQUEST["target_module_id"] > 0) {
    $target_module_id = (int) $_REQUEST["target_module_id"];
    $cv_fields = $do_crmfields->get_fieldinfo_grouped_by_block($target_module_id, true);
    $date_filters = $do_crmfields->get_date_fields($target_module_id, true);
    $date_filter_options = ViewFilterUtils::get_date_filter_otions();
    $advanced_filter_options = ViewFilterUtils::get_advanced_filter_options();
    require_once 'view/customview_create_view.php';
}
Beispiel #3
0
 /**
  * parse the advanced filter options and generate the query condition
  * @param object $obj 
  * @return mix
  */
 public static function parse_advanced_filter($obj)
 {
     $return_array = array();
     if (is_object($obj)) {
         if ($obj->getNumRows() > 0) {
             $adv_where = '';
             while ($obj->next()) {
                 if ((int) $obj->filter_field > 0 && (int) $obj->filter_type > 0 && $obj->filter_value != '') {
                     $adv_filter_field = '';
                     $condition = ViewFilterUtils::get_adv_filter_conditions($obj->filter_type);
                     if ($obj->field_type == 15) {
                         $adv_where .= " AND ( `user`.`user_name` {$condition} OR `group`.`group_name` {$condition}) ";
                         if ($obj->filter_type == 3 || $obj->filter_type == 4) {
                             $bind_params[] = '%' . $obj->filter_value . '%';
                             $bind_params[] = '%' . $obj->filter_value . '%';
                         } else {
                             $bind_params[] = $obj->filter_value;
                             $bind_params[] = $obj->filter_value;
                         }
                     } elseif ($obj->field_type == 131) {
                         if ($obj->idmodule == 6) {
                             $adv_where .= " AND (`org2`.`organization_name` {$condition}) ";
                         } elseif ($obj->idmodule == 4) {
                             $adv_where .= " AND (`organization`.`organization_name` {$condition}) ";
                         }
                         if ($obj->filter_type == 3 || $obj->filter_type == 4) {
                             $bind_params[] = '%' . $obj->filter_value . '%';
                         } else {
                             $bind_params[] = $obj->filter_value;
                         }
                     } elseif ($obj->field_type == 130) {
                         $adv_where .= " AND (concat(`cnt2`.`firstname`,' ',`cnt2`.`lastname`) {$condition}) ";
                         if ($obj->filter_type == 3 || $obj->filter_type == 4) {
                             $bind_params[] = '%' . $obj->filter_value . '%';
                         } else {
                             $bind_params[] = $obj->filter_value;
                         }
                     } elseif ($obj->field_type == 133) {
                         $adv_where .= " AND `potentials`.`potential_name` {$condition} ";
                         if ($obj->filter_type == 3 || $obj->filter_type == 4) {
                             $bind_params[] = '%' . $obj->filter_value . '%';
                         } else {
                             $bind_params[] = $obj->filter_value;
                         }
                     } elseif ($obj->field_type == 141) {
                         $adv_where .= " AND `organization`.`organization_name` {$condition} ";
                         if ($obj->filter_type == 3 || $obj->filter_type == 4) {
                             $bind_params[] = '%' . $obj->filter_value . '%';
                         } else {
                             $bind_params[] = $obj->filter_value;
                         }
                     } elseif ($obj->field_type == 142) {
                         $adv_where .= " AND concat(`contacts`.`firstname`,' ',`contacts`.`lastname`) {$condition} ";
                         if ($obj->filter_type == 3 || $obj->filter_type == 4) {
                             $bind_params[] = '%' . $obj->filter_value . '%';
                         } else {
                             $bind_params[] = $obj->filter_value;
                         }
                     } elseif ($obj->field_type == 143) {
                         $adv_where .= " AND concat(`contacts`.`firstname`,' ',`contacts`.`lastname`) {$condition} ";
                         if ($obj->filter_type == 3 || $obj->filter_type == 4) {
                             $bind_params[] = '%' . $obj->filter_value . '%';
                         } else {
                             $bind_params[] = $obj->filter_value;
                         }
                     } elseif ($obj->field_type == 150) {
                         $adv_where .= " AND ( `sqorg`.`organization_name` {$condition} OR concat(sqcnt.firstname,' ',sqcnt.lastname) {$condition} ) ";
                         if ($obj->filter_type == 3 || $obj->filter_type == 4) {
                             $bind_params[] = '%' . $obj->filter_value . '%';
                             $bind_params[] = '%' . $obj->filter_value . '%';
                         } else {
                             $bind_params[] = $obj->filter_value;
                             $bind_params[] = $obj->filter_value;
                         }
                     } elseif ($obj->field_type == 151) {
                         $adv_where .= " AND ( sqorg.organization_name {$condition} OR concat(sqcnt.firstname,' ',sqcnt.lastname) {$condition} OR concat(sqleads.firstname,' ',sqleads.lastname) {$condition} OR sqpot.potential_name {$condition} )";
                         if ($obj->filter_type == 3) {
                             $bind_params[] = '%' . $obj->filter_value . '%';
                             $bind_params[] = '%' . $obj->filter_value . '%';
                             $bind_params[] = '%' . $obj->filter_value . '%';
                             $bind_params[] = '%' . $obj->filter_value . '%';
                         } else {
                             $bind_params[] = $obj->filter_value;
                             $bind_params[] = $obj->filter_value;
                             $bind_params[] = $obj->filter_value;
                             $bind_params[] = $obj->filter_value;
                         }
                     } elseif ($obj->field_type == 160) {
                         $adv_where .= " AND `vendor`.`vendor_name` {$condition} ";
                         if ($obj->filter_type == 3 || $obj->filter_type == 4) {
                             $bind_params[] = '%' . $obj->filter_value . '%';
                         } else {
                             $bind_params[] = $obj->filter_value;
                         }
                     } else {
                         $adv_where .= " AND `" . $obj->table_name . "`.`" . $obj->field_name . "` {$condition} ";
                         if ($obj->filter_type == 3 || $obj->filter_type == 4) {
                             $bind_params[] = '%' . $obj->filter_value . '%';
                         } else {
                             $bind_params[] = $obj->filter_value;
                         }
                     }
                 }
             }
             if ($adv_where != '') {
                 return array("where" => $adv_where, "bind_params" => $bind_params);
             } else {
                 return false;
             }
         } else {
             return false;
         }
     } else {
         return false;
     }
 }