From 9c7a44231d207aa0574ed2d58ff2647dae9fb090 Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Fri, 8 Jan 2021 15:20:59 -0500 Subject: [PATCH] Afform - Fix scanning for input types --- ext/afform/admin/CRM/AfformAdmin/Utils.php | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/ext/afform/admin/CRM/AfformAdmin/Utils.php b/ext/afform/admin/CRM/AfformAdmin/Utils.php index f34f739b4f..00cf47ba82 100644 --- a/ext/afform/admin/CRM/AfformAdmin/Utils.php +++ b/ext/afform/admin/CRM/AfformAdmin/Utils.php @@ -31,11 +31,12 @@ class CRM_AfformAdmin_Utils { $contactTypes = CRM_Contact_BAO_ContactType::basicTypeInfo(); - // Scan all extensions for our list of supported entities + // Scan all extensions for entities & input types foreach (CRM_Extension_System::singleton()->getMapper()->getActiveModuleFiles() as $ext) { - $dir = CRM_Utils_File::addTrailingSlash(dirname($ext['filePath'])) . 'afformEntities'; + $dir = CRM_Utils_File::addTrailingSlash(dirname($ext['filePath'])); if (is_dir($dir)) { - foreach (glob($dir . '/*.php') as $file) { + // Scan for entities + foreach (glob($dir . 'afformEntities/*.php') as $file) { $entity = include $file; // Skip disabled contact types if (!empty($entity['contact_type']) && !isset($contactTypes[$entity['contact_type']])) { @@ -50,6 +51,12 @@ class CRM_AfformAdmin_Utils { $entity['fields'] = (array) civicrm_api4($entity['entity'], 'getFields', $getFieldParams + ['values' => $values], 'name'); $data['entities'][$afformEntity] = $entity; } + // Scan for input types + foreach (glob($dir . 'ang/afGuiEditor/inputType/*.html') as $file) { + $matches = []; + preg_match('/([-a-z_A-Z0-9]*).html/', $file, $matches); + $data['inputType'][$matches[1]] = $matches[1]; + } } } @@ -141,14 +148,6 @@ class CRM_AfformAdmin_Utils { } } - // Scan for input types - // FIXME: Need a way to load this from other extensions too - foreach (glob(__DIR__ . '/ang/afGuiEditor/inputType/*.html') as $file) { - $matches = []; - preg_match('/([-a-z_A-Z0-9]*).html/', $file, $matches); - $data['inputType'][$matches[1]] = $matches[1]; - } - $data['styles'] = [ 'default' => E::ts('Default'), 'primary' => E::ts('Primary'), -- 2.25.1