X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=api%2Fv3%2FGeneric%2FGetactions.php;h=9cfbbd67a95d7235558ccb9459f49d4e3ca550dd;hb=997a3533bdaf41983a13c27b078f64bca12436fb;hp=5d2ffef5e4d8bd5c519bbd3dbc8877ed06befd9d;hpb=232624b1bfe3beee7476775b278b9509e1607487;p=civicrm-core.git diff --git a/api/v3/Generic/Getactions.php b/api/v3/Generic/Getactions.php index 5d2ffef5e4..9cfbbd67a9 100644 --- a/api/v3/Generic/Getactions.php +++ b/api/v3/Generic/Getactions.php @@ -2,9 +2,9 @@ /* +--------------------------------------------------------------------+ -| CiviCRM version 4.4 | +| CiviCRM version 4.5 | +--------------------------------------------------------------------+ -| Copyright CiviCRM LLC (c) 2004-2013 | +| Copyright CiviCRM LLC (c) 2004-2014 | +--------------------------------------------------------------------+ | This file is a part of CiviCRM. | | | @@ -26,26 +26,9 @@ +--------------------------------------------------------------------+ */ -function civicrm_api3_generic_getActions($params) { - civicrm_api3_verify_mandatory($params, NULL, array('entity')); - $r = civicrm_api('Entity', 'Get', array('version' => 3)); - $entity = CRM_Utils_String::munge($params['entity']); - if (!in_array($entity, $r['values'])) { - return civicrm_api3_create_error("Entity " . $entity . " invalid. Use api.entity.get to have the list", array('entity' => $r['values'])); - } - _civicrm_api_loadEntity($entity); - - $functions = get_defined_functions(); - $actions = array(); - $prefix = 'civicrm_api3_' . strtolower($entity) . '_'; - $prefixGeneric = 'civicrm_api3_generic_'; - foreach ($functions['user'] as $fct) { - if (strpos($fct, $prefix) === 0) { - $actions[] = substr($fct, strlen($prefix)); - } - elseif (strpos($fct, $prefixGeneric) === 0) { - $actions[] = substr($fct, strlen($prefixGeneric)); - } - } +function civicrm_api3_generic_getActions($apiRequest) { + civicrm_api3_verify_mandatory($apiRequest, NULL, array('entity')); + $mfp = \Civi\Core\Container::singleton()->get('magic_function_provider'); + $actions = $mfp->getActionNames($apiRequest['version'], $apiRequest['entity']); return civicrm_api3_create_success($actions); }