----------------------------------------
* CRM-14474: Update CiviCase XML processor to load from DB *or* file
https://issues.civicrm.org/jira/browse/CRM-14474
* @static
*/
static function getCaseTypeDefinition($caseType) {
- // check if case type definition is saved in DB
- if (!empty($caseType['definition'])) {
- $xml = simplexml_load_string($caseType['definition']);
- }
- else {
- $xml = CRM_Case_XMLRepository::singleton()->retrieve($caseType['name']);
- }
+ $xml = CRM_Case_XMLRepository::singleton()->retrieve($caseType['name']);
// build PHP array based on definition
$definition = array();
* @return SimpleXMLElement|FALSE
*/
public function retrieve($caseType) {
+ // check if xml definition is defined in db
+ $definition = CRM_Core_DAO::getFieldValue('CRM_Case_DAO_CaseType', $caseType, 'definition', 'name');
+
+ if (!empty($definition)) {
+ return simplexml_load_string($definition);
+ }
+
$caseType = CRM_Case_XMLProcessor::mungeCaseType($caseType);
if (!CRM_Utils_Array::value($caseType, $this->xml)) {