X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FCore%2FDAO%2FAllCoreTables.php;h=bb1e808d6a8c3dd267329d3d4fe0945f4232246b;hb=a4934764e309b794d091a3a1448a36b6fe1367e8;hp=51ffc8f1f375a7bb917bc6e3554263c5e13f6e7a;hpb=cb6333b0f7661267b28a53815a1645070a4f75e1;p=civicrm-core.git diff --git a/CRM/Core/DAO/AllCoreTables.php b/CRM/Core/DAO/AllCoreTables.php index 51ffc8f1f3..bb1e808d6a 100644 --- a/CRM/Core/DAO/AllCoreTables.php +++ b/CRM/Core/DAO/AllCoreTables.php @@ -191,7 +191,7 @@ class CRM_Core_DAO_AllCoreTables { * @return string */ public static function getCanonicalClassName($baoName) { - return str_replace('_BAO_', '_DAO_', $baoName); + return str_replace('_BAO_', '_DAO_', ($baoName ?? '')); } /** @@ -218,12 +218,11 @@ class CRM_Core_DAO_AllCoreTables { // This map only applies to APIv3 $map = [ 'acl' => 'Acl', - 'ACL' => 'Acl', 'im' => 'Im', - 'IM' => 'Im', + 'pcp' => 'Pcp', ]; - if ($legacyV3 && isset($map[$name])) { - return $map[$name]; + if ($legacyV3 && isset($map[strtolower($name)])) { + return $map[strtolower($name)]; } $fragments = explode('_', $name); @@ -234,9 +233,10 @@ class CRM_Core_DAO_AllCoreTables { $fragment = 'UF' . ucfirst(substr($fragment, 2)); } } - // Special case: UFGroup, UFJoin, UFMatch, UFField (if passed in underscore-separated) - if ($fragments[0] === 'Uf') { - $fragments[0] = 'UF'; + // Exceptions to CamelCase: UFGroup, UFJoin, UFMatch, UFField, ACL, IM, PCP + $exceptions = ['Uf', 'Acl', 'Im', 'Pcp']; + if (in_array($fragments[0], $exceptions)) { + $fragments[0] = strtoupper($fragments[0]); } return implode('', $fragments); }