if ($locationTypeName) {
//we have a join on an location table - possibly in conjunction with search builder - CRM-14263
$parts = explode('-', $name);
- $locationID = array_search($parts[0], CRM_Core_BAO_Address::buildOptions('location_type_id', 'get', array('name' => $parts[0])));
+ $locationTypes = CRM_Core_BAO_Address::buildOptions('location_type_id', 'get');
+ foreach ($locationTypes as $locationTypeID => $locationType) {
+ if ($parts[0] == str_replace(' ', '_', $locationType)) {
+ $locationID = $locationTypeID;
+ }
+ }
$from .= " $side JOIN civicrm_{$locationTypeName} `{$name}` ON ( contact_a.id = `{$name}`.contact_id ) and `{$name}`.location_type_id = $locationID ";
}
else {
foreach ($value as $n => $v) {
foreach ($v as $n1 => $v1) {
if (!strpos('_id', $n1) && $n1 != 'location_type') {
+ $n = str_replace(' ', '_', $n);
$properties[] = "{$n}-{$n1}";
}
}