Commit | Line | Data |
---|---|---|
25523059 CW |
1 | <?php |
2 | ||
fbf3a315 | 3 | require_once 'search_kit.civix.php'; |
25523059 CW |
4 | |
5 | /** | |
6 | * Implements hook_civicrm_config(). | |
7 | * | |
8 | * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_config/ | |
9 | */ | |
fbf3a315 CW |
10 | function search_kit_civicrm_config(&$config) { |
11 | _search_kit_civix_civicrm_config($config); | |
a92d81a1 | 12 | Civi::dispatcher()->addListener('hook_civicrm_alterAngular', ['\Civi\Search\AfformSearchMetadataInjector', 'preprocess'], 1000); |
25523059 CW |
13 | } |
14 | ||
5623bf2a CW |
15 | /** |
16 | * @param \Symfony\Component\DependencyInjection\ContainerBuilder $container | |
17 | */ | |
18 | function search_kit_civicrm_container($container) { | |
19 | $container->getDefinition('dispatcher') | |
20 | ->addMethodCall('addListener', [ | |
21 | 'civi.api4.authorizeRecord::SavedSearch', | |
22 | ['CRM_Search_BAO_SearchDisplay', 'savedSearchCheckAccessByDisplay'], | |
23 | ]); | |
24 | } | |
25 | ||
25523059 CW |
26 | /** |
27 | * Implements hook_civicrm_xmlMenu(). | |
28 | * | |
29 | * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_xmlMenu | |
30 | */ | |
fbf3a315 CW |
31 | function search_kit_civicrm_xmlMenu(&$files) { |
32 | _search_kit_civix_civicrm_xmlMenu($files); | |
25523059 CW |
33 | } |
34 | ||
25523059 CW |
35 | /** |
36 | * Implements hook_civicrm_managed(). | |
37 | * | |
38 | * Generate a list of entities to create/deactivate/delete when this module | |
39 | * is installed, disabled, uninstalled. | |
40 | * | |
41 | * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_managed | |
42 | */ | |
fbf3a315 CW |
43 | function search_kit_civicrm_managed(&$entities) { |
44 | _search_kit_civix_civicrm_managed($entities); | |
25523059 CW |
45 | } |
46 | ||
47 | /** | |
48 | * Implements hook_civicrm_angularModules(). | |
49 | * | |
50 | * Generate a list of Angular modules. | |
51 | * | |
52 | * Note: This hook only runs in CiviCRM 4.5+. It may | |
53 | * use features only available in v4.6+. | |
54 | * | |
55 | * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_angularModules | |
56 | */ | |
fbf3a315 CW |
57 | function search_kit_civicrm_angularModules(&$angularModules) { |
58 | _search_kit_civix_civicrm_angularModules($angularModules); | |
14564ba5 CW |
59 | // Fetch all search tasks provided by extensions and add their Angular modules as crmSearchTasks dependencies |
60 | $tasks = []; | |
1e313889 | 61 | $null = NULL; |
14564ba5 CW |
62 | $checkPermissions = FALSE; |
63 | \CRM_Utils_Hook::singleton()->invoke(['tasks', 'checkPermissions', 'userId'], | |
64 | $tasks, $checkPermissions, $null, | |
65 | $null, $null, $null, 'civicrm_searchKitTasks' | |
1e313889 CW |
66 | ); |
67 | foreach ($tasks as $entityTasks) { | |
68 | foreach ($entityTasks as $task) { | |
69 | if (isset($task['module']) && $task['module'] !== 'crmSearchTasks' && | |
70 | !in_array($task['module'], $angularModules['crmSearchTasks']['requires'], TRUE) | |
71 | ) { | |
72 | $angularModules['crmSearchTasks']['requires'][] = $task['module']; | |
73 | } | |
74 | } | |
75 | } | |
25523059 CW |
76 | } |
77 | ||
78 | /** | |
79 | * Implements hook_civicrm_alterSettingsFolders(). | |
80 | * | |
81 | * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_alterSettingsFolders | |
82 | */ | |
fbf3a315 CW |
83 | function search_kit_civicrm_alterSettingsFolders(&$metaDataFolders = NULL) { |
84 | _search_kit_civix_civicrm_alterSettingsFolders($metaDataFolders); | |
25523059 CW |
85 | } |
86 | ||
87 | /** | |
88 | * Implements hook_civicrm_entityTypes(). | |
89 | * | |
90 | * Declare entity types provided by this module. | |
91 | * | |
92 | * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_entityTypes | |
93 | */ | |
fbf3a315 CW |
94 | function search_kit_civicrm_entityTypes(&$entityTypes) { |
95 | _search_kit_civix_civicrm_entityTypes($entityTypes); | |
25523059 CW |
96 | } |
97 | ||
98 | /** | |
e991ce44 | 99 | * Implements hook_civicrm_themes(). |
25523059 | 100 | */ |
fbf3a315 CW |
101 | function search_kit_civicrm_themes(&$themes) { |
102 | _search_kit_civix_civicrm_themes($themes); | |
25523059 | 103 | } |
e991ce44 CW |
104 | |
105 | /** | |
106 | * Implements hook_civicrm_pre(). | |
107 | */ | |
fbf3a315 | 108 | function search_kit_civicrm_pre($op, $entity, $id, &$params) { |
e991ce44 CW |
109 | // Supply default name/label when creating new SearchDisplay |
110 | if ($entity === 'SearchDisplay' && $op === 'create') { | |
111 | if (empty($params['label'])) { | |
112 | $params['label'] = $params['name']; | |
113 | } | |
114 | elseif (empty($params['name'])) { | |
115 | $params['name'] = \CRM_Utils_String::munge($params['label']); | |
116 | } | |
117 | } | |
118 | } |