forked from civicrm/civicrm-drupal
-
Notifications
You must be signed in to change notification settings - Fork 0
/
civicrm.install
111 lines (91 loc) · 2.76 KB
/
civicrm.install
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?php
/*
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC. All rights reserved. |
| |
| This work is published under the GNU AGPLv3 license with some |
| permitted exceptions and without any warranty. For full license |
| and copyright information, see https://civicrm.org/licensing |
+--------------------------------------------------------------------+
*/
/**
*
* @package CRM
* @copyright CiviCRM LLC https://civicrm.org/licensing
* $Id$
*
*/
/**
* Enable CiviCRM.
*/
function civicrm_enable() {
db_query("UPDATE {system} SET weight = 100 WHERE name = 'civicrm'");
menu_rebuild();
menu_link_maintain('civicrm', 'delete', 'civicrm', 'CiviCRM');
$options = array(
'link_title' => 'CiviCRM',
'link_path' => 'civicrm/dashboard',
'module' => 'civicrm',
'options' => array('alter' => TRUE),
);
menu_link_save($options);
if (!civicrm_initialize()) {
return;
}
// also invoke civicrm menu rebuild
CRM_Core_Menu::store();
// Update the 'blocks' DB table with the blocks.
if (module_exists('block')) {
_block_rehash();
}
}
/**
* Implements hook_uninstall().
*/
function civicrm_uninstall() {
require_once 'civicrm.module';
if (!civicrm_initialize()) {
return;
}
require_once 'CRM/Core/Config.php';
$config = CRM_Core_Config::singleton();
require_once 'CRM/Core/DAO.php';
CRM_Core_DAO::dropAllTables();
}
function civicrm_requirements($phase) {
global $base_url;
$civicrm_path = drupal_get_path('module', 'civicrm');
//remove the last occurrence of 'drupal' from path
$pos = strrpos($civicrm_path, 'drupal');
if ($pos !== FALSE) {
$civicrm_path = substr_replace($civicrm_path, '', $pos, strlen($civicrm_path));
}
$url = $base_url . '/' . $civicrm_path . 'install/index.php';
$settings = glob('sites/*/civicrm.settings.php');
$problems = array();
$t = get_t();
if (empty($settings) && $phase == 'install') {
$problems[] = array(
'title' => $t('CiviCRM settings does not exist'),
'value' =>
$t('CiviCRM settings file does not exist. It should be created by CiviCRM <a href="!link">install</a>',
array('!link' => $url)),
'severity' => REQUIREMENT_ERROR,
);
}
return $problems;
}
/**
* Update CiviCRM module weight
*/
function civicrm_update_7400(&$sandbox) {
db_query("UPDATE {system} SET weight = 100 WHERE name = 'civicrm'");
}
/**
* Trigger cache clear to pick up TZ handling change from CRM-6877.
*/
function civicrm_update_7401($sandbox) {
// This is an empty hook_update_N() so that caches will be
// cleared when update_finished() is called.
return t('TZ changes in CiviCRM Views picked up.');
}