X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FUtils%2FType.php;h=65b726c98f04b7353ed46b90b424d2060dba5aec;hb=110647e99322a4a7231379a041c474872b6d4f69;hp=6a2bf762067a33e5c3c8ae65c801a6104d645843;hpb=88c31e45a3a47425615cee983725f47193aaf86b;p=civicrm-core.git diff --git a/CRM/Utils/Type.php b/CRM/Utils/Type.php index 6a2bf76206..65b726c98f 100644 --- a/CRM/Utils/Type.php +++ b/CRM/Utils/Type.php @@ -144,7 +144,29 @@ class CRM_Utils_Type { } /** - * Helper function to call escape on arrays + * Get the data_type for the field. + * + * @param array $fieldMetadata + * Metadata about the field. + * + * @return string + */ + public static function getDataTypeFromFieldMetadata($fieldMetadata) { + if (isset($fieldMetadata['data_type'])) { + return $fieldMetadata['data_type']; + } + if (empty($fieldMetadata['type'])) { + // I would prefer to throw an e-notice but there is some, + // probably unnecessary logic, that only retrieves activity fields + // if they are 'in the profile' and probably they are not 'in' + // until they are added - which might lead to ? who knows! + return ''; + } + return self::typeToString($fieldMetadata['type']); + } + + /** + * Helper function to call escape on arrays. * * @see escape */