diff options
Diffstat (limited to 'www/crm/wp-content/plugins/civicrm/civicrm/ext/api4/Civi/Api4/Utils/CoreUtil.php')
-rw-r--r-- | www/crm/wp-content/plugins/civicrm/civicrm/ext/api4/Civi/Api4/Utils/CoreUtil.php | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/www/crm/wp-content/plugins/civicrm/civicrm/ext/api4/Civi/Api4/Utils/CoreUtil.php b/www/crm/wp-content/plugins/civicrm/civicrm/ext/api4/Civi/Api4/Utils/CoreUtil.php new file mode 100644 index 00000000..b43e62ca --- /dev/null +++ b/www/crm/wp-content/plugins/civicrm/civicrm/ext/api4/Civi/Api4/Utils/CoreUtil.php @@ -0,0 +1,42 @@ +<?php + +namespace Civi\Api4\Utils; + +use Civi\Api4\CustomGroup; + +require_once 'api/v3/utils.php'; + +class CoreUtil { + + /** + * todo this class should not rely on api3 code + * + * @param $entityName + * + * @return \CRM_Core_DAO|string + * The DAO name for use in static calls. Return doc block is hacked to allow + * auto-completion of static methods + */ + public static function getDAOFromApiName($entityName) { + if ($entityName === 'CustomValue' || strpos($entityName, 'Custom_') === 0) { + return 'CRM_Contact_BAO_Contact'; + } + return \_civicrm_api3_get_DAO($entityName); + } + + /** + * Get table name of given Custom group + * + * @param string $customGroupName + * + * @return string + */ + public static function getCustomTableByName($customGroupName) { + return CustomGroup::get() + ->addSelect('table_name') + ->addWhere('name', '=', $customGroupName) + ->execute() + ->first()['table_name']; + } + +} |