ce191dd6fba1c1e2484e25803996b94700c12bca
[civicrm-core.git] / ext / afform / core / CRM / Afform / Page / AfformBase.php
1 <?php
2 use CRM_Afform_ExtensionUtil as E;
3
4 class CRM_Afform_Page_AfformBase extends CRM_Core_Page {
5
6 public function run() {
7 list ($pagePath, $pageArgs) = func_get_args();
8
9 $afform = civicrm_api4('Afform', 'get', [
10 'checkPermissions' => FALSE,
11 'where' => [['name', '=', $pageArgs['afform']]],
12 'select' => ['title', 'module_name', 'directive_name'],
13 ], 0);
14
15 $this->set('afModule', $afform['module_name']);
16
17 $loader = new \Civi\Angular\AngularLoader();
18 $loader->setModules([$afform['module_name'], 'afformStandalone']);
19 $loader->setPageName(implode('/', $pagePath));
20 $loader->getRes()->addSetting([
21 'afform' => [
22 'open' => $afform['directive_name'],
23 ],
24 ]);
25 $loader->load();
26
27
28 if (!empty($afform['title'])) {
29 $title = strip_tags($afform['title']);
30 CRM_Utils_System::setTitle($title);
31 CRM_Utils_System::appendBreadCrumb([['title' => $title, 'url' => CRM_Utils_System::url(implode('/', $pagePath), NULL, FALSE, '/')]]);
32 }
33
34 parent::run();
35 }
36
37 }