Commit | Line | Data |
---|---|---|
11e724f0 TO |
1 | <?php |
2 | ||
3 | namespace Civi\Api4\Action\Afform; | |
4 | ||
11e724f0 | 5 | /** |
28b4ace4 | 6 | * @inheritDoc |
11e724f0 TO |
7 | * @package Civi\Api4\Action\Afform |
8 | */ | |
28b4ace4 | 9 | class Get extends \Civi\Api4\Generic\BasicGetAction { |
11e724f0 | 10 | |
28b4ace4 | 11 | use \Civi\Api4\Utils\AfformFormatTrait; |
11e724f0 TO |
12 | |
13 | public function getRecords() { | |
14 | /** @var \CRM_Afform_AfformScanner $scanner */ | |
15 | $scanner = \Civi::service('afform_scanner'); | |
16 | ||
f2f9e95d | 17 | $names = $this->_itemsToGet('name') ?? array_keys($scanner->findFilePaths()); |
11e724f0 TO |
18 | |
19 | $values = []; | |
20 | foreach ($names as $name) { | |
21 | $record = $scanner->getMeta($name); | |
10fd70a3 | 22 | $record = array_merge($record, $scanner->getComputedFields($name)); |
50868e8d | 23 | $layout = $this->_isFieldSelected('layout') ? $scanner->getLayout($name) : NULL; |
bebb3e59 TO |
24 | if ($layout !== NULL) { |
25 | // FIXME check for validity? | |
26 | $record['layout'] = $this->convertHtmlToOutput($layout); | |
11e724f0 TO |
27 | } |
28 | $values[] = $record; | |
29 | } | |
30 | ||
31 | return $values; | |
32 | } | |
33 | ||
34 | } |