-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcivicrm_backer_autoimport.install
85 lines (80 loc) · 3.6 KB
/
civicrm_backer_autoimport.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
<?php
function civicrm_backer_autoimport_install() {
civicrm_initialize();
$exists = CRM_Core_DAO::singleValueQuery("SELECT id FROM civicrm_payment_processor_type WHERE class_name LIKE 'Payment_Backer'");
if (!$exists){
$sql = "INSERT INTO civicrm_payment_processor_type (name, title, description, is_active, is_default, user_name_label, password_label, signature_label, subject_label, class_name, url_site_default, url_api_default, url_recur_default, url_button_default, url_site_test_default, url_api_test_default, url_recur_test_default, url_button_test_default, billing_mode, is_recur ) VALUES ('BACKER', '".ts("Backer Founder")."', NULL, 1, 0, '".ts('Contribution Page')."', 'Secret Key', NULL, NULL, 'Payment_Backer', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 7, 0)";
CRM_Core_DAO::executeQuery($sql);
}
// add relationship
$types = CRM_Core_PseudoConstant::relationshipType();
foreach($types as $tid => $type) {
if ($type['label_a_b'] == ts('Orderer') && $type['label_b_a'] == ts('Recipient') && $type['contact_type_a'] == '' && $type['contact_type_b'] == '') {
$rtypeId = $tid;
break;
}
if ($type['label_a_b'] == 'Orderer' && $type['label_b_a'] == 'Recipient' && $type['contact_type_a'] == '' && $type['contact_type_b'] == '') {
$rtypeId = $tid;
break;
}
}
if (!$rtypeId) {
$params = array(
'label_a_b' => ts('Orderer'),
'label_b_a' => ts('Recipient'),
'description' => ts("Used for").': '.ts('Backer Auto Import'),
'is_active' => 1,
'is_reserved' => 1,
'contact_type_a' => '',
'contact_type_b' => '',
'contact_types_a' => '',
'contact_types_b' => '',
'contact_sub_type_a' => '',
'contact_sub_type_b' => '',
);
$ids = array();
$saved = CRM_Contact_BAO_RelationshipType::add($params, $ids);
$rtypeId = $saved->id;
}
$params = array(
'backerFounderRelationship' => $rtypeId,
);
CRM_Core_BAO_ConfigSetting::add($params);
// Add backer custom receipt options. Refs #38459.
$backerReceiptOptions = array('single_e_receipt' => '單次寄送電子收據', 'annual_e_receipt' => '年度寄送電子收據');
$config = CRM_Core_Config::singleton();
$fieldId = $config->receiptYesNo;
$sql = "SELECT option_group_id FROM civicrm_custom_field WHERE id = %1";
$params = array( 1 => array($fieldId, 'Positive'));
$groupId = CRM_Core_DAO::singleValueQuery($sql, $params);
foreach ($backerReceiptOptions as $option_value => $option_lebel) {
$optionValue = new CRM_Core_DAO_OptionValue();
$optionValue->option_group_id = $groupId;
$optionValue->value = $option_value;
$optionValue->label = $option_lebel;
$optionValue->weight = 1000;
$optionValue->is_active = 0;
$optionValue->save();
}
}
/**
* Add backer custom receipt options. Refs #38459.
*/
function civicrm_backer_autoimport_update_7101(){
civicrm_initialize();
$backerReceiptOptions = array('single_e_receipt' => '單次寄送電子收據', 'annual_e_receipt' => '年度寄送電子收據');
$config = CRM_Core_Config::singleton();
$fieldId = $config->receiptYesNo;
$sql = "SELECT option_group_id FROM civicrm_custom_field WHERE id = %1";
$params = array( 1 => array($fieldId, 'Positive'));
$groupId = CRM_Core_DAO::singleValueQuery($sql, $params);
foreach ($backerReceiptOptions as $option_value => $option_lebel) {
$optionValue = new CRM_Core_DAO_OptionValue();
$optionValue->option_group_id = $groupId;
$optionValue->value = $option_value;
$optionValue->label = $option_lebel;
$optionValue->weight = 1000;
$optionValue->is_active = 0;
$optionValue->save();
}
}