<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.3 |
+ | CiviCRM version 4.4 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2013 |
+--------------------------------------------------------------------+
if ($blockName == 'phone') {
$phoneTypeBlockValue = CRM_Utils_Array::value('phoneTypeId', $blockValue);
- if ($phoneTypeBlockValue == $value['phone_type_id']) {
+ if ($phoneTypeBlockValue == CRM_Utils_Array::value('phone_type_id', $value)) {
$valueId = TRUE;
}
}
* @static
*/
public static function handlePrimary(&$params, $class) {
- switch ($class) {
- case 'CRM_Core_BAO_Phone':
- $table = 'civicrm_phone';
- break;
-
- case 'CRM_Core_BAO_Email':
- $table = 'civicrm_email';
- break;
-
- case 'CRM_Core_BAO_Address':
- $table = 'civicrm_address';
- break;
+ $table = CRM_Core_DAO_AllCoreTables::getTableForClass($class);
+ if (!$table) {
+ throw new API_Exception("Failed to locate table for class [$class]");
}
+
// contact_id in params might be empty or the string 'null' so cast to integer
$contactId = (int) CRM_Utils_Array::value('contact_id', $params);
// If id is set & we haven't been passed a contact_id, retrieve it