X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=api%2Fapi.php;h=be1946db3735796f65dd091d9d3aece9908d98e6;hb=0b396f84a77e2a129688af732a6233c20b799340;hp=1a70bc3921cb83182598e84da4c5e23a4d0702b8;hpb=078af004d7bed38c0c9f25caf907278ed5831f82;p=civicrm-core.git diff --git a/api/api.php b/api/api.php index 1a70bc3921..be1946db37 100644 --- a/api/api.php +++ b/api/api.php @@ -15,12 +15,11 @@ * create, get, delete or some special action name. * @param array $params * array to be passed to function - * @param null $extra * * @return array|int */ -function civicrm_api(string $entity = NULL, string $action, array $params, $extra = NULL) { - return \Civi::service('civi_api_kernel')->runSafe($entity, $action, $params, $extra); +function civicrm_api(string $entity, string $action, array $params) { + return \Civi::service('civi_api_kernel')->runSafe($entity, $action, $params); } /** @@ -61,7 +60,6 @@ function civicrm_api(string $entity = NULL, string $action, array $params, $extr * @throws \Civi\API\Exception\NotImplementedException */ function civicrm_api4(string $entity, string $action, array $params = [], $index = NULL) { - $apiCall = \Civi\Api4\Utils\ActionUtil::getAction($entity, $action); $indexField = $index && is_string($index) && !CRM_Utils_Rule::integer($index) ? $index : NULL; $removeIndexField = FALSE; @@ -70,10 +68,7 @@ function civicrm_api4(string $entity, string $action, array $params = [], $index $params['select'][] = $indexField; $removeIndexField = TRUE; } - foreach ($params as $name => $param) { - $setter = 'set' . ucfirst($name); - $apiCall->$setter($param); - } + $apiCall = \Civi\API\Request::create($entity, $action, ['version' => 4] + $params); if ($index && is_array($index)) { $indexCol = reset($index); @@ -189,12 +184,7 @@ function _civicrm_api3_api_getfields(&$apiRequest) { * true if error, false otherwise */ function civicrm_error($result) { - if (is_array($result)) { - return (array_key_exists('is_error', $result) && - $result['is_error'] - ) ? TRUE : FALSE; - } - return FALSE; + return is_array($result) && !empty($result['is_error']); } /** @@ -205,7 +195,7 @@ function civicrm_error($result) { * @return string|null */ function _civicrm_api_get_camel_name($entity) { - return is_string($entity) ? CRM_Utils_String::convertStringToCamel($entity) : NULL; + return is_string($entity) ? \Civi\API\Request::normalizeEntityName($entity) : NULL; } /** @@ -272,7 +262,7 @@ function _civicrm_api_replace_variable($value, $parentResult, $separator) { if (array_key_exists($fieldname, $parentResult) && is_array($parentResult[$fieldname])) { $arrayLocation = $parentResult[$fieldname]; foreach ($stringParts as $key => $innerValue) { - $arrayLocation = CRM_Utils_Array::value($innerValue, $arrayLocation); + $arrayLocation = $arrayLocation[$innerValue] ?? NULL; } $value = $arrayLocation; } @@ -291,33 +281,25 @@ function _civicrm_api_replace_variable($value, $parentResult, $separator) { * * @return string * Entity name in underscore separated format. + * + * @deprecated */ function _civicrm_api_get_entity_name_from_camel($entity) { - if (!$entity || $entity === strtolower($entity)) { - return $entity; - } - elseif ($entity == 'PCP') { - return 'pcp'; - } - else { - $entity = ltrim(strtolower(str_replace('U_F', - 'uf', - // That's CamelCase, beside an odd UFCamel that is expected as uf_camel - preg_replace('/(?=[A-Z])/', '_$0', $entity) - )), '_'); + if (!$entity) { + // @todo - this should not be called when empty. + return ''; } - return $entity; + return CRM_Core_DAO_AllCoreTables::convertEntityNameToLower($entity); } /** * Having a DAO object find the entity name. * - * @param object $bao + * @param CRM_Core_DAO $bao * DAO being passed in. * * @return string */ function _civicrm_api_get_entity_name_from_dao($bao) { - $daoName = str_replace("BAO", "DAO", get_class($bao)); - return CRM_Core_DAO_AllCoreTables::getBriefName($daoName); + return CRM_Core_DAO_AllCoreTables::getBriefName(get_class($bao)); }