if (!empty($r)) {
$q = $r;
}
- if (!empty($q)) {
+ $entity = CRM_Utils_array::value('entity', $requestParams);
+ if ( empty($entity) && !empty($q)) {
$args = explode('/', $q);
// If the function isn't in the civicrm namespace, reject the request.
if ($args[0] != 'civicrm') {
if (array_key_exists('json', $requestParams) && $requestParams['json'][0] == "{") {
$params = json_decode($requestParams['json'], TRUE);
if($params === NULL) {
- echo json_encode(array('is_error' => 1, 'error_message', 'Unable to decode supplied JSON.'));
- CRM_Utils_System::civiExit();
+ CRM_Utils_JSON::output(array('is_error' => 1, 'error_message', 'Unable to decode supplied JSON.'));
}
}
foreach ($requestParams as $n => $v) {
'reason' => 'CSRF suspected',
)
);
- echo json_encode($error);
- CRM_Utils_System::civiExit();
+ CRM_Utils_JSON::output($error);
}
if (empty($requestParams['entity'])) {
- echo json_encode(civicrm_api3_create_error('missing entity param'));
- CRM_Utils_System::civiExit();
+ CRM_Utils_JSON::output(civicrm_api3_create_error('missing entity param'));
}
if (empty($requestParams['entity'])) {
- echo json_encode(civicrm_api3_create_error('missing entity entity'));
- CRM_Utils_System::civiExit();
+ CRM_Utils_JSON::output(civicrm_api3_create_error('missing entity entity'));
}
if (!empty($requestParams['json'])) {
$params = json_decode($requestParams['json'], TRUE);
$entity = CRM_Utils_String::munge(CRM_Utils_Array::value('entity', $requestParams));
$action = CRM_Utils_String::munge(CRM_Utils_Array::value('action', $requestParams));
if (!is_array($params)) {
- echo json_encode(array('is_error' => 1, 'error_message', 'invalid json format: ?{"param_with_double_quote":"value"}'));
- CRM_Utils_System::civiExit();
+ CRM_Utils_JSON::output(array('is_error' => 1, 'error_message', 'invalid json format: ?{"param_with_double_quote":"value"}'));
}
$params['check_permissions'] = TRUE;
'reason' => 'CSRF suspected',
)
);
- echo json_encode($error);
- CRM_Utils_System::civiExit();
+ CRM_Utils_JSON::output($error);
}
$q = CRM_Utils_Array::value('fnName', $requestParams);