Completed
Pull Request — master (#21)
by Mario
05:14 queued 02:39
created

v1_0_0_data::update_data()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 77
Code Lines 50

Duplication

Lines 0
Ratio 0 %

Importance

Changes 9
Bugs 1 Features 4
Metric Value
c 9
b 1
f 4
dl 0
loc 77
rs 8.9342
cc 1
eloc 50
nc 1
nop 0

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
/**
3
 *
4
 * PayPal Donation extension for the phpBB Forum Software package.
5
 *
6
 * @copyright (c) 2015 Skouat
7
 * @license GNU General Public License, version 2 (GPL-2.0)
8
 *
9
 */
10
11
namespace skouat\ppde\migrations\v10x;
12
13
class v1_0_0_data extends \phpbb\db\migration\migration
14
{
15
	public static function depends_on()
16
	{
17
		return array('\skouat\ppde\migrations\v10x\v1_0_0_schema');
18
	}
19
20
	public function update_data()
21
	{
22
		return array(
23
			// Global Settings
24
			array('config.add', array('ppde_enable', false)),
25
			array('config.add', array('ppde_header_link', false)),
26
			array('config.add', array('ppde_account_id', '')),
27
			array('config.add', array('ppde_default_currency', 1)),
28
			array('config.add', array('ppde_default_value', 0)),
29
			array('config.add', array('ppde_dropbox_enable', false)),
30
			array('config.add', array('ppde_dropbox_value', '1,2,3,4,5,10,20,25,50,100')),
31
32
			// IPN Settings
33
			array('config.add', array('ppde_ipn_enable', false)),
34
			array('config.add', array('ppde_ipn_logging', false)),
35
			array('config.add', array('ppde_ipn_autogroup_enable', false)),
36
			array('config.add', array('ppde_ipn_group_id', 2)),
37
			array('config.add', array('ppde_ipn_group_as_default', false)),
38
			array('config.add', array('ppde_curl_detected', false)),
39
			array('config.add', array('ppde_fsock_detected', false)),
40
41
			// Sandbox Settings
42
			array('config.add', array('ppde_sandbox_enable', false)),
43
			array('config.add', array('ppde_sandbox_founder_enable', true)),
44
			array('config.add', array('ppde_sandbox_address', '')),
45
46
			// Statistics Settings
47
			array('config.add', array('ppde_stats_index_enable', false)),
48
			array('config.add', array('ppde_goal', 0)),
49
			array('config.add', array('ppde_goal_enable', false)),
50
			array('config.add', array('ppde_raised', 0)),
51
			array('config.add', array('ppde_raised_enable', false)),
52
			array('config.add', array('ppde_used', 0)),
53
			array('config.add', array('ppde_used_enable', false)),
54
55
			// Overview Settings
56
			array('config.add', array('ppde_transactions_count', 0)),
57
			array('config.add', array('ppde_known_donors_count', 0)),
58
			array('config.add', array('ppde_anonymous_donors_count', 0)),
59
60
			//Misc Settings
61
			array('config.add', array('ppde_install_date', time())),
62
63
			// add new permissions
64
			array('permission.add', array('u_ppde_use', true)),
65
			array('permission.add', array('a_ppde_manage', true)),
66
67
			//assign permissions to roles
68
			array('permission.permission_set', array('ROLE_USER_FULL', array('u_ppde_use'))),
69
			array('permission.permission_set', array('ROLE_ADMIN_FULL', array('a_ppde_manage'))),
70
71
			// add new module
72
			array('module.add', array(
73
				'acp',
74
				'ACP_CAT_DOT_MODS',
75
				'PPDE_ACP_DONATION',
76
				array(
77
					'module_enabled'  => 1,
78
					'module_display'  => 1,
79
					'module_langname' => 'PPDE_ACP_DONATION',
80
					'module_auth'     => 'ext_skouat/ppde && acl_a_ppde_manage',
81
				)
82
			)),
83
84
			array('module.add', array(
85
				'acp',
86
				'PPDE_ACP_DONATION',
87
				array(
88
					'module_basename' => '\skouat\ppde\acp\ppde_module',
89
					'modes'           => array('overview', 'settings', 'donation_pages', 'currency', 'transactions'),
90
				)
91
			)),
92
93
			// Run custom actions
94
			array('custom', array(array(&$this, 'add_ppde_currency_data'))),
95
		);
96
	}
97
98
	/**
99
	 * Add initial currency data to the database
100
	 *
101
	 * @return null
102
	 * @access public
103
	 */
104
	public function add_ppde_currency_data()
105
	{
106
		// Define data
107
		$currency_data = array(
108
			array(
109
				'currency_name'     => 'U.S. Dollar',
110
				'currency_iso_code' => 'USD',
111
				'currency_symbol'   => '&#36;', // symbol dollar
112
				'currency_enable'   => true,
113
				'currency_on_left'  => true,
114
				'currency_order'    => 1,
115
			),
116
			array(
117
				'currency_name'     => 'Euro',
118
				'currency_iso_code' => 'EUR',
119
				'currency_symbol'   => '&#8364;', // symbol euro
120
				'currency_enable'   => true,
121
				'currency_on_left'  => false,
122
				'currency_order'    => 2,
123
			),
124
			array(
125
				'currency_name'     => 'Australian Dollar',
126
				'currency_iso_code' => 'AUD',
127
				'currency_symbol'   => '&#36;', // symbol $
128
				'currency_enable'   => true,
129
				'currency_on_left'  => true,
130
				'currency_order'    => 3,
131
			),
132
			array(
133
				'currency_name'     => 'Canadian Dollar',
134
				'currency_iso_code' => 'CAD',
135
				'currency_symbol'   => '&#36;', // symbol $
136
				'currency_enable'   => true,
137
				'currency_on_left'  => true,
138
				'currency_order'    => 4,
139
			),
140
			array(
141
				'currency_name'     => 'Hong Kong Dollar',
142
				'currency_iso_code' => 'HKD',
143
				'currency_symbol'   => '&#36;', // symbol $
144
				'currency_enable'   => true,
145
				'currency_on_left'  => true,
146
				'currency_order'    => 5,
147
			),
148
			array(
149
				'currency_name'     => 'Pound Sterling',
150
				'currency_iso_code' => 'GBP',
151
				'currency_symbol'   => '&#163;', // symbol livre sterling
152
				'currency_enable'   => true,
153
				'currency_on_left'  => true,
154
				'currency_order'    => 6,
155
			),
156
			array(
157
				'currency_name'     => 'Yen',
158
				'currency_iso_code' => 'JPY',
159
				'currency_symbol'   => '&#165;', // symbol yen
160
				'currency_enable'   => true,
161
				'currency_on_left'  => false,
162
				'currency_order'    => 7,
163
			),
164
		);
165
166
		// Insert data
167
		$this->db->sql_multi_insert($this->table_prefix . 'ppde_currency', $currency_data);
168
	}
169
}
170