/** * @param string $fixtureName * @param string $inputJson * @param string $ignore * @dataProvider definitionProvider */ public function testRoundtrip_JsonToXmlToJson($fixtureName, $inputJson, $ignore) { $tempXml = CRM_Case_BAO_CaseType::convertDefinitionToXML('Housing Support', json_decode($inputJson, TRUE)); $actualDefinition = CRM_Case_BAO_CaseType::convertXmlToDefinition(simplexml_load_string($tempXml)); $expectedDefinition = json_decode($inputJson, TRUE); $this->assertEquals($expectedDefinition, $actualDefinition); }
/** * Format definition. * * @param array $result * * @return array * @throws \CRM_Core_Exception */ function _civicrm_api3_case_type_get_formatResult(&$result) { foreach ($result['values'] as $key => $caseType) { $caseTypeName = isset($caseType['name']) ? $caseType['name'] : CRM_Core_DAO::getFieldValue('CRM_Case_DAO_CaseType', $caseType['id'], 'name', 'id', TRUE); $xml = CRM_Case_XMLRepository::singleton()->retrieve($caseTypeName); if ($xml) { $result['values'][$key]['definition'] = CRM_Case_BAO_CaseType::convertXmlToDefinition($xml); } else { $result['values'][$key]['definition'] = array(); } $result['values'][$key]['is_forkable'] = CRM_Case_BAO_CaseType::isForkable($result['values'][$key]['id']); $result['values'][$key]['is_forked'] = CRM_Case_BAO_CaseType::isForked($result['values'][$key]['id']); } return $result; }