Merge pull request #19146 from JMAConsulting/issue-2174
[civicrm-core.git] / ext / search / CRM / Search / Upgrader.php
1 <?php
2 use CRM_Search_ExtensionUtil as E;
3
4 /**
5 * Collection of upgrade steps.
6 */
7 class CRM_Search_Upgrader extends CRM_Search_Upgrader_Base {
8
9 /**
10 * Add menu item when enabled.
11 */
12 public function enable() {
13 \Civi\Api4\Navigation::create(FALSE)
14 ->addValue('parent_id:name', 'Search')
15 ->addValue('label', E::ts('Search Kit'))
16 ->addValue('name', 'search_kit')
17 ->addValue('url', 'civicrm/admin/search')
18 ->addValue('icon', 'crm-i fa-search-plus')
19 ->addValue('has_separator', 2)
20 ->addValue('weight', 99)
21 ->execute();
22 }
23
24 /**
25 * Delete menu item when disabled.
26 */
27 public function disable() {
28 \Civi\Api4\Navigation::delete(FALSE)
29 ->addWhere('name', '=', 'search_kit')
30 ->addWhere('domain_id', '=', 'current_domain')
31 ->execute();
32 }
33
34 public function upgrade_1000() {
35 $this->ctx->log->info('Applying update 1000 - install schema.');
36 // For early, early adopters who installed the extension pre-beta
37 if (!CRM_Core_DAO::singleValueQuery("SHOW TABLES LIKE 'civicrm_search_display'")) {
38 $this->executeSqlFile('sql/auto_install.sql');
39 }
40 CRM_Core_DAO::executeQuery("UPDATE civicrm_navigation SET url = 'civicrm/admin/search', name = 'search_kit' WHERE url = 'civicrm/search'");
41 return TRUE;
42 }
43
44 }