Passed
Pull Request — master (#444)
by Brian
10:32
created
includes/data/countries.php 2 patches
Indentation   +252 added lines, -252 removed lines patch added patch discarded remove patch
@@ -12,256 +12,256 @@
 block discarded – undo
12 12
 defined( 'ABSPATH' ) || exit;
13 13
 
14 14
 return array(
15
-	'US' => __('United States', 'invoicing'),
16
-	'CA' => __('Canada', 'invoicing'),
17
-	'GB' => __('United Kingdom', 'invoicing'),
18
-	'AF' => __('Afghanistan', 'invoicing'),
19
-	'AX' => __('Aland Islands', 'invoicing'),
20
-	'AL' => __('Albania', 'invoicing'),
21
-	'DZ' => __('Algeria', 'invoicing'),
22
-	'AS' => __('American Samoa', 'invoicing'),
23
-	'AD' => __('Andorra', 'invoicing'),
24
-	'AO' => __('Angola', 'invoicing'),
25
-	'AI' => __('Anguilla', 'invoicing'),
26
-	'AQ' => __('Antarctica', 'invoicing'),
27
-	'AG' => __('Antigua and Barbuda', 'invoicing'),
28
-	'AR' => __('Argentina', 'invoicing'),
29
-	'AM' => __('Armenia', 'invoicing'),
30
-	'AW' => __('Aruba', 'invoicing'),
31
-	'AU' => __('Australia', 'invoicing'),
32
-	'AT' => __('Austria', 'invoicing'),
33
-	'AZ' => __('Azerbaijan', 'invoicing'),
34
-	'BS' => __('Bahamas', 'invoicing'),
35
-	'BH' => __('Bahrain', 'invoicing'),
36
-	'BD' => __('Bangladesh', 'invoicing'),
37
-	'BB' => __('Barbados', 'invoicing'),
38
-	'BY' => __('Belarus', 'invoicing'),
39
-	'BE' => __('Belgium', 'invoicing'),
40
-	'BZ' => __('Belize', 'invoicing'),
41
-	'BJ' => __('Benin', 'invoicing'),
42
-	'BM' => __('Bermuda', 'invoicing'),
43
-	'BT' => __('Bhutan', 'invoicing'),
44
-	'BO' => __('Bolivia', 'invoicing'),
45
-	'BQ' => __('Bonaire, Saint Eustatius and Saba', 'invoicing'),
46
-	'BA' => __('Bosnia and Herzegovina', 'invoicing'),
47
-	'BW' => __('Botswana', 'invoicing'),
48
-	'BV' => __('Bouvet Island', 'invoicing'),
49
-	'BR' => __('Brazil', 'invoicing'),
50
-	'IO' => __('British Indian Ocean Territory', 'invoicing'),
51
-	'BN' => __('Brunei Darrussalam', 'invoicing'),
52
-	'BG' => __('Bulgaria', 'invoicing'),
53
-	'BF' => __('Burkina Faso', 'invoicing'),
54
-	'BI' => __('Burundi', 'invoicing'),
55
-	'KH' => __('Cambodia', 'invoicing'),
56
-	'CM' => __('Cameroon', 'invoicing'),
57
-	'CV' => __('Cape Verde', 'invoicing'),
58
-	'KY' => __('Cayman Islands', 'invoicing'),
59
-	'CF' => __('Central African Republic', 'invoicing'),
60
-	'TD' => __('Chad', 'invoicing'),
61
-	'CL' => __('Chile', 'invoicing'),
62
-	'CN' => __('China', 'invoicing'),
63
-	'CX' => __('Christmas Island', 'invoicing'),
64
-	'CC' => __('Cocos Islands', 'invoicing'),
65
-	'CO' => __('Colombia', 'invoicing'),
66
-	'KM' => __('Comoros', 'invoicing'),
67
-	'CD' => __('Congo, Democratic People\'s Republic', 'invoicing'),
68
-	'CG' => __('Congo, Republic of', 'invoicing'),
69
-	'CK' => __('Cook Islands', 'invoicing'),
70
-	'CR' => __('Costa Rica', 'invoicing'),
71
-	'CI' => __('Cote d\'Ivoire', 'invoicing'),
72
-	'HR' => __('Croatia/Hrvatska', 'invoicing'),
73
-	'CU' => __('Cuba', 'invoicing'),
74
-	'CW' => __('CuraÇao', 'invoicing'),
75
-	'CY' => __('Cyprus', 'invoicing'),
76
-	'CZ' => __('Czech Republic', 'invoicing'),
77
-	'DK' => __('Denmark', 'invoicing'),
78
-	'DJ' => __('Djibouti', 'invoicing'),
79
-	'DM' => __('Dominica', 'invoicing'),
80
-	'DO' => __('Dominican Republic', 'invoicing'),
81
-	'TP' => __('East Timor', 'invoicing'),
82
-	'EC' => __('Ecuador', 'invoicing'),
83
-	'EG' => __('Egypt', 'invoicing'),
84
-	'GQ' => __('Equatorial Guinea', 'invoicing'),
85
-	'SV' => __('El Salvador', 'invoicing'),
86
-	'ER' => __('Eritrea', 'invoicing'),
87
-	'EE' => __('Estonia', 'invoicing'),
88
-	'ET' => __('Ethiopia', 'invoicing'),
89
-	'FK' => __('Falkland Islands', 'invoicing'),
90
-	'FO' => __('Faroe Islands', 'invoicing'),
91
-	'FJ' => __('Fiji', 'invoicing'),
92
-	'FI' => __('Finland', 'invoicing'),
93
-	'FR' => __('France', 'invoicing'),
94
-	'GF' => __('French Guiana', 'invoicing'),
95
-	'PF' => __('French Polynesia', 'invoicing'),
96
-	'TF' => __('French Southern Territories', 'invoicing'),
97
-	'GA' => __('Gabon', 'invoicing'),
98
-	'GM' => __('Gambia', 'invoicing'),
99
-	'GE' => __('Georgia', 'invoicing'),
100
-	'DE' => __('Germany', 'invoicing'),
101
-	'GR' => __('Greece', 'invoicing'),
102
-	'GH' => __('Ghana', 'invoicing'),
103
-	'GI' => __('Gibraltar', 'invoicing'),
104
-	'GL' => __('Greenland', 'invoicing'),
105
-	'GD' => __('Grenada', 'invoicing'),
106
-	'GP' => __('Guadeloupe', 'invoicing'),
107
-	'GU' => __('Guam', 'invoicing'),
108
-	'GT' => __('Guatemala', 'invoicing'),
109
-	'GG' => __('Guernsey', 'invoicing'),
110
-	'GN' => __('Guinea', 'invoicing'),
111
-	'GW' => __('Guinea-Bissau', 'invoicing'),
112
-	'GY' => __('Guyana', 'invoicing'),
113
-	'HT' => __('Haiti', 'invoicing'),
114
-	'HM' => __('Heard and McDonald Islands', 'invoicing'),
115
-	'VA' => __('Holy See (City Vatican State)', 'invoicing'),
116
-	'HN' => __('Honduras', 'invoicing'),
117
-	'HK' => __('Hong Kong', 'invoicing'),
118
-	'HU' => __('Hungary', 'invoicing'),
119
-	'IS' => __('Iceland', 'invoicing'),
120
-	'IN' => __('India', 'invoicing'),
121
-	'ID' => __('Indonesia', 'invoicing'),
122
-	'IR' => __('Iran', 'invoicing'),
123
-	'IQ' => __('Iraq', 'invoicing'),
124
-	'IE' => __('Ireland', 'invoicing'),
125
-	'IM' => __('Isle of Man', 'invoicing'),
126
-	'IL' => __('Israel', 'invoicing'),
127
-	'IT' => __('Italy', 'invoicing'),
128
-	'JM' => __('Jamaica', 'invoicing'),
129
-	'JP' => __('Japan', 'invoicing'),
130
-	'JE' => __('Jersey', 'invoicing'),
131
-	'JO' => __('Jordan', 'invoicing'),
132
-	'KZ' => __('Kazakhstan', 'invoicing'),
133
-	'KE' => __('Kenya', 'invoicing'),
134
-	'KI' => __('Kiribati', 'invoicing'),
135
-	'KW' => __('Kuwait', 'invoicing'),
136
-	'KG' => __('Kyrgyzstan', 'invoicing'),
137
-	'LA' => __('Lao People\'s Democratic Republic', 'invoicing'),
138
-	'LV' => __('Latvia', 'invoicing'),
139
-	'LB' => __('Lebanon', 'invoicing'),
140
-	'LS' => __('Lesotho', 'invoicing'),
141
-	'LR' => __('Liberia', 'invoicing'),
142
-	'LY' => __('Libyan Arab Jamahiriya', 'invoicing'),
143
-	'LI' => __('Liechtenstein', 'invoicing'),
144
-	'LT' => __('Lithuania', 'invoicing'),
145
-	'LU' => __('Luxembourg', 'invoicing'),
146
-	'MO' => __('Macau', 'invoicing'),
147
-	'MK' => __('Macedonia', 'invoicing'),
148
-	'MG' => __('Madagascar', 'invoicing'),
149
-	'MW' => __('Malawi', 'invoicing'),
150
-	'MY' => __('Malaysia', 'invoicing'),
151
-	'MV' => __('Maldives', 'invoicing'),
152
-	'ML' => __('Mali', 'invoicing'),
153
-	'MT' => __('Malta', 'invoicing'),
154
-	'MH' => __('Marshall Islands', 'invoicing'),
155
-	'MQ' => __('Martinique', 'invoicing'),
156
-	'MR' => __('Mauritania', 'invoicing'),
157
-	'MU' => __('Mauritius', 'invoicing'),
158
-	'YT' => __('Mayotte', 'invoicing'),
159
-	'MX' => __('Mexico', 'invoicing'),
160
-	'FM' => __('Micronesia', 'invoicing'),
161
-	'MD' => __('Moldova, Republic of', 'invoicing'),
162
-	'MC' => __('Monaco', 'invoicing'),
163
-	'MN' => __('Mongolia', 'invoicing'),
164
-	'ME' => __('Montenegro', 'invoicing'),
165
-	'MS' => __('Montserrat', 'invoicing'),
166
-	'MA' => __('Morocco', 'invoicing'),
167
-	'MZ' => __('Mozambique', 'invoicing'),
168
-	'MM' => __('Myanmar', 'invoicing'),
169
-	'NA' => __('Namibia', 'invoicing'),
170
-	'NR' => __('Nauru', 'invoicing'),
171
-	'NP' => __('Nepal', 'invoicing'),
172
-	'NL' => __('Netherlands', 'invoicing'),
173
-	'AN' => __('Netherlands Antilles', 'invoicing'),
174
-	'NC' => __('New Caledonia', 'invoicing'),
175
-	'NZ' => __('New Zealand', 'invoicing'),
176
-	'NI' => __('Nicaragua', 'invoicing'),
177
-	'NE' => __('Niger', 'invoicing'),
178
-	'NG' => __('Nigeria', 'invoicing'),
179
-	'NU' => __('Niue', 'invoicing'),
180
-	'NF' => __('Norfolk Island', 'invoicing'),
181
-	'KP' => __('North Korea', 'invoicing'),
182
-	'MP' => __('Northern Mariana Islands', 'invoicing'),
183
-	'NO' => __('Norway', 'invoicing'),
184
-	'OM' => __('Oman', 'invoicing'),
185
-	'PK' => __('Pakistan', 'invoicing'),
186
-	'PW' => __('Palau', 'invoicing'),
187
-	'PS' => __('Palestinian Territories', 'invoicing'),
188
-	'PA' => __('Panama', 'invoicing'),
189
-	'PG' => __('Papua New Guinea', 'invoicing'),
190
-	'PY' => __('Paraguay', 'invoicing'),
191
-	'PE' => __('Peru', 'invoicing'),
192
-	'PH' => __('Phillipines', 'invoicing'),
193
-	'PN' => __('Pitcairn Island', 'invoicing'),
194
-	'PL' => __('Poland', 'invoicing'),
195
-	'PT' => __('Portugal', 'invoicing'),
196
-	'PR' => __('Puerto Rico', 'invoicing'),
197
-	'QA' => __('Qatar', 'invoicing'),
198
-	'XK' => __('Republic of Kosovo', 'invoicing'),
199
-	'RE' => __('Reunion Island', 'invoicing'),
200
-	'RO' => __('Romania', 'invoicing'),
201
-	'RU' => __('Russian Federation', 'invoicing'),
202
-	'RW' => __('Rwanda', 'invoicing'),
203
-	'BL' => __('Saint Barthélemy', 'invoicing'),
204
-	'SH' => __('Saint Helena', 'invoicing'),
205
-	'KN' => __('Saint Kitts and Nevis', 'invoicing'),
206
-	'LC' => __('Saint Lucia', 'invoicing'),
207
-	'MF' => __('Saint Martin (French)', 'invoicing'),
208
-	'SX' => __('Saint Martin (Dutch)', 'invoicing'),
209
-	'PM' => __('Saint Pierre and Miquelon', 'invoicing'),
210
-	'VC' => __('Saint Vincent and the Grenadines', 'invoicing'),
211
-	'SM' => __('San Marino', 'invoicing'),
212
-	'ST' => __('São Tomé and Príncipe', 'invoicing'),
213
-	'SA' => __('Saudi Arabia', 'invoicing'),
214
-	'SN' => __('Senegal', 'invoicing'),
215
-	'RS' => __('Serbia', 'invoicing'),
216
-	'SC' => __('Seychelles', 'invoicing'),
217
-	'SL' => __('Sierra Leone', 'invoicing'),
218
-	'SG' => __('Singapore', 'invoicing'),
219
-	'SK' => __('Slovak Republic', 'invoicing'),
220
-	'SI' => __('Slovenia', 'invoicing'),
221
-	'SB' => __('Solomon Islands', 'invoicing'),
222
-	'SO' => __('Somalia', 'invoicing'),
223
-	'ZA' => __('South Africa', 'invoicing'),
224
-	'GS' => __('South Georgia', 'invoicing'),
225
-	'KR' => __('South Korea', 'invoicing'),
226
-	'SS' => __('South Sudan', 'invoicing'),
227
-	'ES' => __('Spain', 'invoicing'),
228
-	'LK' => __('Sri Lanka', 'invoicing'),
229
-	'SD' => __('Sudan', 'invoicing'),
230
-	'SR' => __('Suriname', 'invoicing'),
231
-	'SJ' => __('Svalbard and Jan Mayen Islands', 'invoicing'),
232
-	'SZ' => __('Swaziland', 'invoicing'),
233
-	'SE' => __('Sweden', 'invoicing'),
234
-	'CH' => __('Switzerland', 'invoicing'),
235
-	'SY' => __('Syrian Arab Republic', 'invoicing'),
236
-	'TW' => __('Taiwan', 'invoicing'),
237
-	'TJ' => __('Tajikistan', 'invoicing'),
238
-	'TZ' => __('Tanzania', 'invoicing'),
239
-	'TH' => __('Thailand', 'invoicing'),
240
-	'TL' => __('Timor-Leste', 'invoicing'),
241
-	'TG' => __('Togo', 'invoicing'),
242
-	'TK' => __('Tokelau', 'invoicing'),
243
-	'TO' => __('Tonga', 'invoicing'),
244
-	'TT' => __('Trinidad and Tobago', 'invoicing'),
245
-	'TN' => __('Tunisia', 'invoicing'),
246
-	'TR' => __('Turkey', 'invoicing'),
247
-	'TM' => __('Turkmenistan', 'invoicing'),
248
-	'TC' => __('Turks and Caicos Islands', 'invoicing'),
249
-	'TV' => __('Tuvalu', 'invoicing'),
250
-	'UG' => __('Uganda', 'invoicing'),
251
-	'UA' => __('Ukraine', 'invoicing'),
252
-	'AE' => __('United Arab Emirates', 'invoicing'),
253
-	'UY' => __('Uruguay', 'invoicing'),
254
-	'UM' => __('US Minor Outlying Islands', 'invoicing'),
255
-	'UZ' => __('Uzbekistan', 'invoicing'),
256
-	'VU' => __('Vanuatu', 'invoicing'),
257
-	'VE' => __('Venezuela', 'invoicing'),
258
-	'VN' => __('Vietnam', 'invoicing'),
259
-	'VG' => __('Virgin Islands (British)', 'invoicing'),
260
-	'VI' => __('Virgin Islands (USA)', 'invoicing'),
261
-	'WF' => __('Wallis and Futuna Islands', 'invoicing'),
262
-	'EH' => __('Western Sahara', 'invoicing'),
263
-	'WS' => __('Western Samoa', 'invoicing'),
264
-	'YE' => __('Yemen', 'invoicing'),
265
-	'ZM' => __('Zambia', 'invoicing'),
266
-	'ZW' => __('Zimbabwe', 'invoicing'),
15
+    'US' => __('United States', 'invoicing'),
16
+    'CA' => __('Canada', 'invoicing'),
17
+    'GB' => __('United Kingdom', 'invoicing'),
18
+    'AF' => __('Afghanistan', 'invoicing'),
19
+    'AX' => __('Aland Islands', 'invoicing'),
20
+    'AL' => __('Albania', 'invoicing'),
21
+    'DZ' => __('Algeria', 'invoicing'),
22
+    'AS' => __('American Samoa', 'invoicing'),
23
+    'AD' => __('Andorra', 'invoicing'),
24
+    'AO' => __('Angola', 'invoicing'),
25
+    'AI' => __('Anguilla', 'invoicing'),
26
+    'AQ' => __('Antarctica', 'invoicing'),
27
+    'AG' => __('Antigua and Barbuda', 'invoicing'),
28
+    'AR' => __('Argentina', 'invoicing'),
29
+    'AM' => __('Armenia', 'invoicing'),
30
+    'AW' => __('Aruba', 'invoicing'),
31
+    'AU' => __('Australia', 'invoicing'),
32
+    'AT' => __('Austria', 'invoicing'),
33
+    'AZ' => __('Azerbaijan', 'invoicing'),
34
+    'BS' => __('Bahamas', 'invoicing'),
35
+    'BH' => __('Bahrain', 'invoicing'),
36
+    'BD' => __('Bangladesh', 'invoicing'),
37
+    'BB' => __('Barbados', 'invoicing'),
38
+    'BY' => __('Belarus', 'invoicing'),
39
+    'BE' => __('Belgium', 'invoicing'),
40
+    'BZ' => __('Belize', 'invoicing'),
41
+    'BJ' => __('Benin', 'invoicing'),
42
+    'BM' => __('Bermuda', 'invoicing'),
43
+    'BT' => __('Bhutan', 'invoicing'),
44
+    'BO' => __('Bolivia', 'invoicing'),
45
+    'BQ' => __('Bonaire, Saint Eustatius and Saba', 'invoicing'),
46
+    'BA' => __('Bosnia and Herzegovina', 'invoicing'),
47
+    'BW' => __('Botswana', 'invoicing'),
48
+    'BV' => __('Bouvet Island', 'invoicing'),
49
+    'BR' => __('Brazil', 'invoicing'),
50
+    'IO' => __('British Indian Ocean Territory', 'invoicing'),
51
+    'BN' => __('Brunei Darrussalam', 'invoicing'),
52
+    'BG' => __('Bulgaria', 'invoicing'),
53
+    'BF' => __('Burkina Faso', 'invoicing'),
54
+    'BI' => __('Burundi', 'invoicing'),
55
+    'KH' => __('Cambodia', 'invoicing'),
56
+    'CM' => __('Cameroon', 'invoicing'),
57
+    'CV' => __('Cape Verde', 'invoicing'),
58
+    'KY' => __('Cayman Islands', 'invoicing'),
59
+    'CF' => __('Central African Republic', 'invoicing'),
60
+    'TD' => __('Chad', 'invoicing'),
61
+    'CL' => __('Chile', 'invoicing'),
62
+    'CN' => __('China', 'invoicing'),
63
+    'CX' => __('Christmas Island', 'invoicing'),
64
+    'CC' => __('Cocos Islands', 'invoicing'),
65
+    'CO' => __('Colombia', 'invoicing'),
66
+    'KM' => __('Comoros', 'invoicing'),
67
+    'CD' => __('Congo, Democratic People\'s Republic', 'invoicing'),
68
+    'CG' => __('Congo, Republic of', 'invoicing'),
69
+    'CK' => __('Cook Islands', 'invoicing'),
70
+    'CR' => __('Costa Rica', 'invoicing'),
71
+    'CI' => __('Cote d\'Ivoire', 'invoicing'),
72
+    'HR' => __('Croatia/Hrvatska', 'invoicing'),
73
+    'CU' => __('Cuba', 'invoicing'),
74
+    'CW' => __('CuraÇao', 'invoicing'),
75
+    'CY' => __('Cyprus', 'invoicing'),
76
+    'CZ' => __('Czech Republic', 'invoicing'),
77
+    'DK' => __('Denmark', 'invoicing'),
78
+    'DJ' => __('Djibouti', 'invoicing'),
79
+    'DM' => __('Dominica', 'invoicing'),
80
+    'DO' => __('Dominican Republic', 'invoicing'),
81
+    'TP' => __('East Timor', 'invoicing'),
82
+    'EC' => __('Ecuador', 'invoicing'),
83
+    'EG' => __('Egypt', 'invoicing'),
84
+    'GQ' => __('Equatorial Guinea', 'invoicing'),
85
+    'SV' => __('El Salvador', 'invoicing'),
86
+    'ER' => __('Eritrea', 'invoicing'),
87
+    'EE' => __('Estonia', 'invoicing'),
88
+    'ET' => __('Ethiopia', 'invoicing'),
89
+    'FK' => __('Falkland Islands', 'invoicing'),
90
+    'FO' => __('Faroe Islands', 'invoicing'),
91
+    'FJ' => __('Fiji', 'invoicing'),
92
+    'FI' => __('Finland', 'invoicing'),
93
+    'FR' => __('France', 'invoicing'),
94
+    'GF' => __('French Guiana', 'invoicing'),
95
+    'PF' => __('French Polynesia', 'invoicing'),
96
+    'TF' => __('French Southern Territories', 'invoicing'),
97
+    'GA' => __('Gabon', 'invoicing'),
98
+    'GM' => __('Gambia', 'invoicing'),
99
+    'GE' => __('Georgia', 'invoicing'),
100
+    'DE' => __('Germany', 'invoicing'),
101
+    'GR' => __('Greece', 'invoicing'),
102
+    'GH' => __('Ghana', 'invoicing'),
103
+    'GI' => __('Gibraltar', 'invoicing'),
104
+    'GL' => __('Greenland', 'invoicing'),
105
+    'GD' => __('Grenada', 'invoicing'),
106
+    'GP' => __('Guadeloupe', 'invoicing'),
107
+    'GU' => __('Guam', 'invoicing'),
108
+    'GT' => __('Guatemala', 'invoicing'),
109
+    'GG' => __('Guernsey', 'invoicing'),
110
+    'GN' => __('Guinea', 'invoicing'),
111
+    'GW' => __('Guinea-Bissau', 'invoicing'),
112
+    'GY' => __('Guyana', 'invoicing'),
113
+    'HT' => __('Haiti', 'invoicing'),
114
+    'HM' => __('Heard and McDonald Islands', 'invoicing'),
115
+    'VA' => __('Holy See (City Vatican State)', 'invoicing'),
116
+    'HN' => __('Honduras', 'invoicing'),
117
+    'HK' => __('Hong Kong', 'invoicing'),
118
+    'HU' => __('Hungary', 'invoicing'),
119
+    'IS' => __('Iceland', 'invoicing'),
120
+    'IN' => __('India', 'invoicing'),
121
+    'ID' => __('Indonesia', 'invoicing'),
122
+    'IR' => __('Iran', 'invoicing'),
123
+    'IQ' => __('Iraq', 'invoicing'),
124
+    'IE' => __('Ireland', 'invoicing'),
125
+    'IM' => __('Isle of Man', 'invoicing'),
126
+    'IL' => __('Israel', 'invoicing'),
127
+    'IT' => __('Italy', 'invoicing'),
128
+    'JM' => __('Jamaica', 'invoicing'),
129
+    'JP' => __('Japan', 'invoicing'),
130
+    'JE' => __('Jersey', 'invoicing'),
131
+    'JO' => __('Jordan', 'invoicing'),
132
+    'KZ' => __('Kazakhstan', 'invoicing'),
133
+    'KE' => __('Kenya', 'invoicing'),
134
+    'KI' => __('Kiribati', 'invoicing'),
135
+    'KW' => __('Kuwait', 'invoicing'),
136
+    'KG' => __('Kyrgyzstan', 'invoicing'),
137
+    'LA' => __('Lao People\'s Democratic Republic', 'invoicing'),
138
+    'LV' => __('Latvia', 'invoicing'),
139
+    'LB' => __('Lebanon', 'invoicing'),
140
+    'LS' => __('Lesotho', 'invoicing'),
141
+    'LR' => __('Liberia', 'invoicing'),
142
+    'LY' => __('Libyan Arab Jamahiriya', 'invoicing'),
143
+    'LI' => __('Liechtenstein', 'invoicing'),
144
+    'LT' => __('Lithuania', 'invoicing'),
145
+    'LU' => __('Luxembourg', 'invoicing'),
146
+    'MO' => __('Macau', 'invoicing'),
147
+    'MK' => __('Macedonia', 'invoicing'),
148
+    'MG' => __('Madagascar', 'invoicing'),
149
+    'MW' => __('Malawi', 'invoicing'),
150
+    'MY' => __('Malaysia', 'invoicing'),
151
+    'MV' => __('Maldives', 'invoicing'),
152
+    'ML' => __('Mali', 'invoicing'),
153
+    'MT' => __('Malta', 'invoicing'),
154
+    'MH' => __('Marshall Islands', 'invoicing'),
155
+    'MQ' => __('Martinique', 'invoicing'),
156
+    'MR' => __('Mauritania', 'invoicing'),
157
+    'MU' => __('Mauritius', 'invoicing'),
158
+    'YT' => __('Mayotte', 'invoicing'),
159
+    'MX' => __('Mexico', 'invoicing'),
160
+    'FM' => __('Micronesia', 'invoicing'),
161
+    'MD' => __('Moldova, Republic of', 'invoicing'),
162
+    'MC' => __('Monaco', 'invoicing'),
163
+    'MN' => __('Mongolia', 'invoicing'),
164
+    'ME' => __('Montenegro', 'invoicing'),
165
+    'MS' => __('Montserrat', 'invoicing'),
166
+    'MA' => __('Morocco', 'invoicing'),
167
+    'MZ' => __('Mozambique', 'invoicing'),
168
+    'MM' => __('Myanmar', 'invoicing'),
169
+    'NA' => __('Namibia', 'invoicing'),
170
+    'NR' => __('Nauru', 'invoicing'),
171
+    'NP' => __('Nepal', 'invoicing'),
172
+    'NL' => __('Netherlands', 'invoicing'),
173
+    'AN' => __('Netherlands Antilles', 'invoicing'),
174
+    'NC' => __('New Caledonia', 'invoicing'),
175
+    'NZ' => __('New Zealand', 'invoicing'),
176
+    'NI' => __('Nicaragua', 'invoicing'),
177
+    'NE' => __('Niger', 'invoicing'),
178
+    'NG' => __('Nigeria', 'invoicing'),
179
+    'NU' => __('Niue', 'invoicing'),
180
+    'NF' => __('Norfolk Island', 'invoicing'),
181
+    'KP' => __('North Korea', 'invoicing'),
182
+    'MP' => __('Northern Mariana Islands', 'invoicing'),
183
+    'NO' => __('Norway', 'invoicing'),
184
+    'OM' => __('Oman', 'invoicing'),
185
+    'PK' => __('Pakistan', 'invoicing'),
186
+    'PW' => __('Palau', 'invoicing'),
187
+    'PS' => __('Palestinian Territories', 'invoicing'),
188
+    'PA' => __('Panama', 'invoicing'),
189
+    'PG' => __('Papua New Guinea', 'invoicing'),
190
+    'PY' => __('Paraguay', 'invoicing'),
191
+    'PE' => __('Peru', 'invoicing'),
192
+    'PH' => __('Phillipines', 'invoicing'),
193
+    'PN' => __('Pitcairn Island', 'invoicing'),
194
+    'PL' => __('Poland', 'invoicing'),
195
+    'PT' => __('Portugal', 'invoicing'),
196
+    'PR' => __('Puerto Rico', 'invoicing'),
197
+    'QA' => __('Qatar', 'invoicing'),
198
+    'XK' => __('Republic of Kosovo', 'invoicing'),
199
+    'RE' => __('Reunion Island', 'invoicing'),
200
+    'RO' => __('Romania', 'invoicing'),
201
+    'RU' => __('Russian Federation', 'invoicing'),
202
+    'RW' => __('Rwanda', 'invoicing'),
203
+    'BL' => __('Saint Barthélemy', 'invoicing'),
204
+    'SH' => __('Saint Helena', 'invoicing'),
205
+    'KN' => __('Saint Kitts and Nevis', 'invoicing'),
206
+    'LC' => __('Saint Lucia', 'invoicing'),
207
+    'MF' => __('Saint Martin (French)', 'invoicing'),
208
+    'SX' => __('Saint Martin (Dutch)', 'invoicing'),
209
+    'PM' => __('Saint Pierre and Miquelon', 'invoicing'),
210
+    'VC' => __('Saint Vincent and the Grenadines', 'invoicing'),
211
+    'SM' => __('San Marino', 'invoicing'),
212
+    'ST' => __('São Tomé and Príncipe', 'invoicing'),
213
+    'SA' => __('Saudi Arabia', 'invoicing'),
214
+    'SN' => __('Senegal', 'invoicing'),
215
+    'RS' => __('Serbia', 'invoicing'),
216
+    'SC' => __('Seychelles', 'invoicing'),
217
+    'SL' => __('Sierra Leone', 'invoicing'),
218
+    'SG' => __('Singapore', 'invoicing'),
219
+    'SK' => __('Slovak Republic', 'invoicing'),
220
+    'SI' => __('Slovenia', 'invoicing'),
221
+    'SB' => __('Solomon Islands', 'invoicing'),
222
+    'SO' => __('Somalia', 'invoicing'),
223
+    'ZA' => __('South Africa', 'invoicing'),
224
+    'GS' => __('South Georgia', 'invoicing'),
225
+    'KR' => __('South Korea', 'invoicing'),
226
+    'SS' => __('South Sudan', 'invoicing'),
227
+    'ES' => __('Spain', 'invoicing'),
228
+    'LK' => __('Sri Lanka', 'invoicing'),
229
+    'SD' => __('Sudan', 'invoicing'),
230
+    'SR' => __('Suriname', 'invoicing'),
231
+    'SJ' => __('Svalbard and Jan Mayen Islands', 'invoicing'),
232
+    'SZ' => __('Swaziland', 'invoicing'),
233
+    'SE' => __('Sweden', 'invoicing'),
234
+    'CH' => __('Switzerland', 'invoicing'),
235
+    'SY' => __('Syrian Arab Republic', 'invoicing'),
236
+    'TW' => __('Taiwan', 'invoicing'),
237
+    'TJ' => __('Tajikistan', 'invoicing'),
238
+    'TZ' => __('Tanzania', 'invoicing'),
239
+    'TH' => __('Thailand', 'invoicing'),
240
+    'TL' => __('Timor-Leste', 'invoicing'),
241
+    'TG' => __('Togo', 'invoicing'),
242
+    'TK' => __('Tokelau', 'invoicing'),
243
+    'TO' => __('Tonga', 'invoicing'),
244
+    'TT' => __('Trinidad and Tobago', 'invoicing'),
245
+    'TN' => __('Tunisia', 'invoicing'),
246
+    'TR' => __('Turkey', 'invoicing'),
247
+    'TM' => __('Turkmenistan', 'invoicing'),
248
+    'TC' => __('Turks and Caicos Islands', 'invoicing'),
249
+    'TV' => __('Tuvalu', 'invoicing'),
250
+    'UG' => __('Uganda', 'invoicing'),
251
+    'UA' => __('Ukraine', 'invoicing'),
252
+    'AE' => __('United Arab Emirates', 'invoicing'),
253
+    'UY' => __('Uruguay', 'invoicing'),
254
+    'UM' => __('US Minor Outlying Islands', 'invoicing'),
255
+    'UZ' => __('Uzbekistan', 'invoicing'),
256
+    'VU' => __('Vanuatu', 'invoicing'),
257
+    'VE' => __('Venezuela', 'invoicing'),
258
+    'VN' => __('Vietnam', 'invoicing'),
259
+    'VG' => __('Virgin Islands (British)', 'invoicing'),
260
+    'VI' => __('Virgin Islands (USA)', 'invoicing'),
261
+    'WF' => __('Wallis and Futuna Islands', 'invoicing'),
262
+    'EH' => __('Western Sahara', 'invoicing'),
263
+    'WS' => __('Western Samoa', 'invoicing'),
264
+    'YE' => __('Yemen', 'invoicing'),
265
+    'ZM' => __('Zambia', 'invoicing'),
266
+    'ZW' => __('Zimbabwe', 'invoicing'),
267 267
 );
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -9,7 +9,7 @@
 block discarded – undo
9 9
  * @version 1.0.14
10 10
  */
11 11
 
12
-defined( 'ABSPATH' ) || exit;
12
+defined('ABSPATH') || exit;
13 13
 
14 14
 return array(
15 15
 	'US' => __('United States', 'invoicing'),
Please login to merge, or discard this patch.
includes/class-wpinv-privacy.php 2 patches
Indentation   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -31,25 +31,25 @@
 block discarded – undo
31 31
     public function get_privacy_message() {
32 32
 
33 33
         $content = '<div class="wp-suggested-text">' .
34
-                   '<h2>' . __( 'Invoices and checkout', 'invoicing' ) . '</h2>' .
35
-                   '<p class="privacy-policy-tutorial">' . __( 'Example privacy texts.', 'invoicing' ) . '</p>' .
36
-                   '<p>' . __( 'We collect information about you during the checkout process on our site. This information may include, but is not limited to, your name, email address, phone number, address, IP and any other details that might be requested from you for the purpose of processing your payment and retaining your invoice details for legal reasons.', 'invoicing' ) . '</p>' .
37
-                   '<p>' . __( 'Handling this data also allows us to:', 'invoicing' ) . '</p>' .
38
-                   '<ul>' .
39
-                   '<li>' . __( '- Send you important account/order/service information.', 'invoicing' ) . '</li>' .
40
-                   '<li>' . __( '- Estimate taxes based on your location.', 'invoicing' ) . '</li>' .
41
-                   '<li>' . __( '- Respond to your queries or complaints.', 'invoicing' ) . '</li>' .
42
-                   '<li>' . __( '- Process payments and to prevent fraudulent transactions. We do this on the basis of our legitimate business interests.', 'invoicing' ) . '</li>' .
43
-                   '<li>' . __( '- Retain historical payment and invoice history. We do this on the basis of legal obligations.', 'invoicing' ) . '</li>' .
44
-                   '<li>' . __( '- Set up and administer your account, provide technical and/or customer support, and to verify your identity. We do this on the basis of our legitimate business interests.', 'invoicing' ) . '</li>' .
45
-                   '</ul>' .
46
-                   '<p>' . __( 'In addition to collecting information at checkout we may also use and store your contact details when manually creating invoices for require payments relating to prior contractual agreements or agreed terms.', 'invoicing' ) . '</p>' .
47
-                   '<h2>' . __( 'What we share with others', 'invoicing' ) . '</h2>' .
48
-                   '<p>' . __( 'We share information with third parties who help us provide our payment and invoicing services to you; for example --', 'invoicing' ) . '</p>' .
49
-                   '<p class="privacy-policy-tutorial">' . __( 'In this subsection you should list which third party payment processors you’re using to take payments since these may handle customer data. We’ve included PayPal as an example, but you should remove this if you’re not using PayPal.', 'invoicing' ) . '</p>' .
50
-                   '<p>' . __( 'We accept payments through PayPal. When processing payments, some of your data will be passed to PayPal, including information required to process or support the payment, such as the purchase total and billing information.', 'invoicing' ) . '</p>' .
51
-                   '<p>' . __( 'Please see the <a href="https://www.paypal.com/us/webapps/mpp/ua/privacy-full">PayPal Privacy Policy</a> for more details.', 'invoicing' ) . '</p>' .
52
-                   '</div>';
34
+                    '<h2>' . __( 'Invoices and checkout', 'invoicing' ) . '</h2>' .
35
+                    '<p class="privacy-policy-tutorial">' . __( 'Example privacy texts.', 'invoicing' ) . '</p>' .
36
+                    '<p>' . __( 'We collect information about you during the checkout process on our site. This information may include, but is not limited to, your name, email address, phone number, address, IP and any other details that might be requested from you for the purpose of processing your payment and retaining your invoice details for legal reasons.', 'invoicing' ) . '</p>' .
37
+                    '<p>' . __( 'Handling this data also allows us to:', 'invoicing' ) . '</p>' .
38
+                    '<ul>' .
39
+                    '<li>' . __( '- Send you important account/order/service information.', 'invoicing' ) . '</li>' .
40
+                    '<li>' . __( '- Estimate taxes based on your location.', 'invoicing' ) . '</li>' .
41
+                    '<li>' . __( '- Respond to your queries or complaints.', 'invoicing' ) . '</li>' .
42
+                    '<li>' . __( '- Process payments and to prevent fraudulent transactions. We do this on the basis of our legitimate business interests.', 'invoicing' ) . '</li>' .
43
+                    '<li>' . __( '- Retain historical payment and invoice history. We do this on the basis of legal obligations.', 'invoicing' ) . '</li>' .
44
+                    '<li>' . __( '- Set up and administer your account, provide technical and/or customer support, and to verify your identity. We do this on the basis of our legitimate business interests.', 'invoicing' ) . '</li>' .
45
+                    '</ul>' .
46
+                    '<p>' . __( 'In addition to collecting information at checkout we may also use and store your contact details when manually creating invoices for require payments relating to prior contractual agreements or agreed terms.', 'invoicing' ) . '</p>' .
47
+                    '<h2>' . __( 'What we share with others', 'invoicing' ) . '</h2>' .
48
+                    '<p>' . __( 'We share information with third parties who help us provide our payment and invoicing services to you; for example --', 'invoicing' ) . '</p>' .
49
+                    '<p class="privacy-policy-tutorial">' . __( 'In this subsection you should list which third party payment processors you’re using to take payments since these may handle customer data. We’ve included PayPal as an example, but you should remove this if you’re not using PayPal.', 'invoicing' ) . '</p>' .
50
+                    '<p>' . __( 'We accept payments through PayPal. When processing payments, some of your data will be passed to PayPal, including information required to process or support the payment, such as the purchase total and billing information.', 'invoicing' ) . '</p>' .
51
+                    '<p>' . __( 'Please see the <a href="https://www.paypal.com/us/webapps/mpp/ua/privacy-full">PayPal Privacy Policy</a> for more details.', 'invoicing' ) . '</p>' .
52
+                    '</div>';
53 53
 
54 54
         return apply_filters( 'wpinv_privacy_policy_content', $content );
55 55
     }
Please login to merge, or discard this patch.
Spacing   +20 added lines, -20 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * Privacy/GDPR related functionality which ties into WordPress functionality.
4 4
  */
5 5
 
6
-defined( 'ABSPATH' ) || exit;
6
+defined('ABSPATH') || exit;
7 7
 
8 8
 /**
9 9
  * WPInv_Privacy Class.
@@ -14,13 +14,13 @@  discard block
 block discarded – undo
14 14
      * Init - hook into events.
15 15
      */
16 16
     public function __construct() {
17
-        parent::__construct( __( 'Invoicing', 'invoicing' ) );
17
+        parent::__construct(__('Invoicing', 'invoicing'));
18 18
 
19 19
         // Include supporting classes.
20 20
         include_once 'class-wpinv-privacy-exporters.php';
21 21
 
22 22
         // This hook registers Invoicing data exporters.
23
-        $this->add_exporter( 'wpinv-customer-invoices', __( 'Customer Invoices', 'invoicing' ), array( 'WPInv_Privacy_Exporters', 'customer_invoice_data_exporter' ) );
23
+        $this->add_exporter('wpinv-customer-invoices', __('Customer Invoices', 'invoicing'), array('WPInv_Privacy_Exporters', 'customer_invoice_data_exporter'));
24 24
     }
25 25
 
26 26
     /**
@@ -31,27 +31,27 @@  discard block
 block discarded – undo
31 31
     public function get_privacy_message() {
32 32
 
33 33
         $content = '<div class="wp-suggested-text">' .
34
-                   '<h2>' . __( 'Invoices and checkout', 'invoicing' ) . '</h2>' .
35
-                   '<p class="privacy-policy-tutorial">' . __( 'Example privacy texts.', 'invoicing' ) . '</p>' .
36
-                   '<p>' . __( 'We collect information about you during the checkout process on our site. This information may include, but is not limited to, your name, email address, phone number, address, IP and any other details that might be requested from you for the purpose of processing your payment and retaining your invoice details for legal reasons.', 'invoicing' ) . '</p>' .
37
-                   '<p>' . __( 'Handling this data also allows us to:', 'invoicing' ) . '</p>' .
34
+                   '<h2>' . __('Invoices and checkout', 'invoicing') . '</h2>' .
35
+                   '<p class="privacy-policy-tutorial">' . __('Example privacy texts.', 'invoicing') . '</p>' .
36
+                   '<p>' . __('We collect information about you during the checkout process on our site. This information may include, but is not limited to, your name, email address, phone number, address, IP and any other details that might be requested from you for the purpose of processing your payment and retaining your invoice details for legal reasons.', 'invoicing') . '</p>' .
37
+                   '<p>' . __('Handling this data also allows us to:', 'invoicing') . '</p>' .
38 38
                    '<ul>' .
39
-                   '<li>' . __( '- Send you important account/order/service information.', 'invoicing' ) . '</li>' .
40
-                   '<li>' . __( '- Estimate taxes based on your location.', 'invoicing' ) . '</li>' .
41
-                   '<li>' . __( '- Respond to your queries or complaints.', 'invoicing' ) . '</li>' .
42
-                   '<li>' . __( '- Process payments and to prevent fraudulent transactions. We do this on the basis of our legitimate business interests.', 'invoicing' ) . '</li>' .
43
-                   '<li>' . __( '- Retain historical payment and invoice history. We do this on the basis of legal obligations.', 'invoicing' ) . '</li>' .
44
-                   '<li>' . __( '- Set up and administer your account, provide technical and/or customer support, and to verify your identity. We do this on the basis of our legitimate business interests.', 'invoicing' ) . '</li>' .
39
+                   '<li>' . __('- Send you important account/order/service information.', 'invoicing') . '</li>' .
40
+                   '<li>' . __('- Estimate taxes based on your location.', 'invoicing') . '</li>' .
41
+                   '<li>' . __('- Respond to your queries or complaints.', 'invoicing') . '</li>' .
42
+                   '<li>' . __('- Process payments and to prevent fraudulent transactions. We do this on the basis of our legitimate business interests.', 'invoicing') . '</li>' .
43
+                   '<li>' . __('- Retain historical payment and invoice history. We do this on the basis of legal obligations.', 'invoicing') . '</li>' .
44
+                   '<li>' . __('- Set up and administer your account, provide technical and/or customer support, and to verify your identity. We do this on the basis of our legitimate business interests.', 'invoicing') . '</li>' .
45 45
                    '</ul>' .
46
-                   '<p>' . __( 'In addition to collecting information at checkout we may also use and store your contact details when manually creating invoices for require payments relating to prior contractual agreements or agreed terms.', 'invoicing' ) . '</p>' .
47
-                   '<h2>' . __( 'What we share with others', 'invoicing' ) . '</h2>' .
48
-                   '<p>' . __( 'We share information with third parties who help us provide our payment and invoicing services to you; for example --', 'invoicing' ) . '</p>' .
49
-                   '<p class="privacy-policy-tutorial">' . __( 'In this subsection you should list which third party payment processors you’re using to take payments since these may handle customer data. We’ve included PayPal as an example, but you should remove this if you’re not using PayPal.', 'invoicing' ) . '</p>' .
50
-                   '<p>' . __( 'We accept payments through PayPal. When processing payments, some of your data will be passed to PayPal, including information required to process or support the payment, such as the purchase total and billing information.', 'invoicing' ) . '</p>' .
51
-                   '<p>' . __( 'Please see the <a href="https://www.paypal.com/us/webapps/mpp/ua/privacy-full">PayPal Privacy Policy</a> for more details.', 'invoicing' ) . '</p>' .
46
+                   '<p>' . __('In addition to collecting information at checkout we may also use and store your contact details when manually creating invoices for require payments relating to prior contractual agreements or agreed terms.', 'invoicing') . '</p>' .
47
+                   '<h2>' . __('What we share with others', 'invoicing') . '</h2>' .
48
+                   '<p>' . __('We share information with third parties who help us provide our payment and invoicing services to you; for example --', 'invoicing') . '</p>' .
49
+                   '<p class="privacy-policy-tutorial">' . __('In this subsection you should list which third party payment processors you’re using to take payments since these may handle customer data. We’ve included PayPal as an example, but you should remove this if you’re not using PayPal.', 'invoicing') . '</p>' .
50
+                   '<p>' . __('We accept payments through PayPal. When processing payments, some of your data will be passed to PayPal, including information required to process or support the payment, such as the purchase total and billing information.', 'invoicing') . '</p>' .
51
+                   '<p>' . __('Please see the <a href="https://www.paypal.com/us/webapps/mpp/ua/privacy-full">PayPal Privacy Policy</a> for more details.', 'invoicing') . '</p>' .
52 52
                    '</div>';
53 53
 
54
-        return apply_filters( 'wpinv_privacy_policy_content', $content );
54
+        return apply_filters('wpinv_privacy_policy_content', $content);
55 55
     }
56 56
 
57 57
 }
Please login to merge, or discard this patch.
widgets/buy-item.php 2 patches
Indentation   +49 added lines, -49 removed lines patch added patch discarded remove patch
@@ -38,29 +38,29 @@  discard block
 block discarded – undo
38 38
                     'advanced'    => false
39 39
                 ),
40 40
                 'items'  => array(
41
-	                'title'       => __( 'Items to buy', 'invoicing' ),
42
-	                'desc'        => __( 'Enter comma separated list of invoicing item id and quantity (item_id|quantity). Ex. 101|2 ', 'invoicing' ),
43
-	                'type'        => 'text',
44
-	                'desc_tip'    => true,
45
-	                'default'     => '',
46
-	                'placeholder' => __('Items to buy','invoicing'),
47
-	                'advanced'    => false
41
+                    'title'       => __( 'Items to buy', 'invoicing' ),
42
+                    'desc'        => __( 'Enter comma separated list of invoicing item id and quantity (item_id|quantity). Ex. 101|2 ', 'invoicing' ),
43
+                    'type'        => 'text',
44
+                    'desc_tip'    => true,
45
+                    'default'     => '',
46
+                    'placeholder' => __('Items to buy','invoicing'),
47
+                    'advanced'    => false
48 48
                 ),
49 49
                 'label'  => array(
50
-	                'title'       => __( 'Button Label', 'invoicing' ),
51
-	                'desc'        => __( 'Enter button label. Default "Buy Now".', 'invoicing' ),
52
-	                'type'        => 'text',
53
-	                'desc_tip'    => true,
54
-	                'default'     => __( 'Buy Now', 'invoicing' ),
55
-	                'advanced'    => false
50
+                    'title'       => __( 'Button Label', 'invoicing' ),
51
+                    'desc'        => __( 'Enter button label. Default "Buy Now".', 'invoicing' ),
52
+                    'type'        => 'text',
53
+                    'desc_tip'    => true,
54
+                    'default'     => __( 'Buy Now', 'invoicing' ),
55
+                    'advanced'    => false
56 56
                 ),
57 57
                 'post_id'  => array(
58
-	                'title'       => __( 'Post ID', 'invoicing' ),
59
-	                'desc'        => __( 'Enter related post ID. This is for 3rd party add ons and not mandatory field.', 'invoicing' ),
60
-	                'type'        => 'number',
61
-	                'desc_tip'    => true,
62
-	                'default'     => '',
63
-	                'advanced'    => true
58
+                    'title'       => __( 'Post ID', 'invoicing' ),
59
+                    'desc'        => __( 'Enter related post ID. This is for 3rd party add ons and not mandatory field.', 'invoicing' ),
60
+                    'type'        => 'number',
61
+                    'desc_tip'    => true,
62
+                    'default'     => '',
63
+                    'advanced'    => true
64 64
                 ),
65 65
             )
66 66
 
@@ -70,43 +70,43 @@  discard block
 block discarded – undo
70 70
         parent::__construct( $options );
71 71
     }
72 72
 
73
-	/**
74
-	 * The Super block output function.
75
-	 *
76
-	 * @param array $args
77
-	 * @param array $widget_args
78
-	 * @param string $content
79
-	 *
80
-	 * @return string
81
-	 */
73
+    /**
74
+     * The Super block output function.
75
+     *
76
+     * @param array $args
77
+     * @param array $widget_args
78
+     * @param string $content
79
+     *
80
+     * @return string
81
+     */
82 82
     public function output( $args = array(), $widget_args = array(), $content = '' ) {
83 83
 
84
-	    $defaults = array(
85
-		    'items'     	=> '', // should be used like: item_id|quantity,item_id|quantity,item_id|quantity
86
-		    'label'  	    => __( 'Buy Now', 'invoicing' ), // the button title
87
-		    'post_id'   	=> '', // any related post_id
88
-	    );
84
+        $defaults = array(
85
+            'items'     	=> '', // should be used like: item_id|quantity,item_id|quantity,item_id|quantity
86
+            'label'  	    => __( 'Buy Now', 'invoicing' ), // the button title
87
+            'post_id'   	=> '', // any related post_id
88
+        );
89 89
 
90
-	    /**
91
-	     * Parse incoming $args into an array and merge it with $defaults
92
-	     */
93
-	    $args = wp_parse_args( $args, $defaults );
90
+        /**
91
+         * Parse incoming $args into an array and merge it with $defaults
92
+         */
93
+        $args = wp_parse_args( $args, $defaults );
94 94
 
95
-		$html = '<div class="wpi-buy-button-wrapper wpi-g">';
95
+        $html = '<div class="wpi-buy-button-wrapper wpi-g">';
96 96
 		
97
-		if ( empty( $args['items'] ) ) {
98
-			$html .= __( 'No items selected', 'invoicing' );
99
-		} else {
100
-			$post_id = isset( $args['post_id'] ) && is_numeric( $args['post_id'] ) ? sanitize_text_field( $args['post_id'] ) : 0;
101
-			$label   = isset( $args['label'] ) ? sanitize_text_field( $args['label'] ) : __( 'Buy Now', 'invoicing' );
102
-			$items   = esc_attr( $args['items'] );
103
-			$html   .= "<button class='button button-primary wpi-buy-button' type='button' onclick=\"wpi_buy(this, '$items','$post_id');\">$label</button>";
104
-		}
97
+        if ( empty( $args['items'] ) ) {
98
+            $html .= __( 'No items selected', 'invoicing' );
99
+        } else {
100
+            $post_id = isset( $args['post_id'] ) && is_numeric( $args['post_id'] ) ? sanitize_text_field( $args['post_id'] ) : 0;
101
+            $label   = isset( $args['label'] ) ? sanitize_text_field( $args['label'] ) : __( 'Buy Now', 'invoicing' );
102
+            $items   = esc_attr( $args['items'] );
103
+            $html   .= "<button class='button button-primary wpi-buy-button' type='button' onclick=\"wpi_buy(this, '$items','$post_id');\">$label</button>";
104
+        }
105 105
 	
106
-	    $html .= wp_nonce_field( 'wpinv_buy_items', 'wpinv_buy_nonce', true, false );
107
-	    $html .= '</div>';
106
+        $html .= wp_nonce_field( 'wpinv_buy_items', 'wpinv_buy_nonce', true, false );
107
+        $html .= '</div>';
108 108
 
109
-	    return $html;
109
+        return $html;
110 110
 
111 111
     }
112 112
 
Please login to merge, or discard this patch.
Spacing   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) {
2
+if (!defined('ABSPATH')) {
3 3
     exit;
4 4
 }
5 5
 
@@ -23,40 +23,40 @@  discard block
 block discarded – undo
23 23
             'block-keywords'=> "['invoicing','buy', 'buy item']",
24 24
             'class_name'     => __CLASS__,
25 25
             'base_id'       => 'wpinv_buy',
26
-            'name'          => __('Get Paid > Buy Item Button (Deprecated)','invoicing'),
26
+            'name'          => __('Get Paid > Buy Item Button (Deprecated)', 'invoicing'),
27 27
             'widget_ops'    => array(
28 28
                 'classname'   => 'wpinv-buy-item-class  wpi-g',
29
-                'description' => esc_html__('This widget is deprecated. Use the GetPaid widget instead.','invoicing'),
29
+                'description' => esc_html__('This widget is deprecated. Use the GetPaid widget instead.', 'invoicing'),
30 30
             ),
31 31
             'arguments'     => array(
32 32
                 'title'  => array(
33
-                    'title'       => __( 'Widget title', 'invoicing' ),
34
-                    'desc'        => __( 'Enter widget title.', 'invoicing' ),
33
+                    'title'       => __('Widget title', 'invoicing'),
34
+                    'desc'        => __('Enter widget title.', 'invoicing'),
35 35
                     'type'        => 'text',
36 36
                     'desc_tip'    => true,
37 37
                     'default'     => '',
38 38
                     'advanced'    => false
39 39
                 ),
40 40
                 'items'  => array(
41
-	                'title'       => __( 'Items to buy', 'invoicing' ),
42
-	                'desc'        => __( 'Enter comma separated list of invoicing item id and quantity (item_id|quantity). Ex. 101|2 ', 'invoicing' ),
41
+	                'title'       => __('Items to buy', 'invoicing'),
42
+	                'desc'        => __('Enter comma separated list of invoicing item id and quantity (item_id|quantity). Ex. 101|2 ', 'invoicing'),
43 43
 	                'type'        => 'text',
44 44
 	                'desc_tip'    => true,
45 45
 	                'default'     => '',
46
-	                'placeholder' => __('Items to buy','invoicing'),
46
+	                'placeholder' => __('Items to buy', 'invoicing'),
47 47
 	                'advanced'    => false
48 48
                 ),
49 49
                 'label'  => array(
50
-	                'title'       => __( 'Button Label', 'invoicing' ),
51
-	                'desc'        => __( 'Enter button label. Default "Buy Now".', 'invoicing' ),
50
+	                'title'       => __('Button Label', 'invoicing'),
51
+	                'desc'        => __('Enter button label. Default "Buy Now".', 'invoicing'),
52 52
 	                'type'        => 'text',
53 53
 	                'desc_tip'    => true,
54
-	                'default'     => __( 'Buy Now', 'invoicing' ),
54
+	                'default'     => __('Buy Now', 'invoicing'),
55 55
 	                'advanced'    => false
56 56
                 ),
57 57
                 'post_id'  => array(
58
-	                'title'       => __( 'Post ID', 'invoicing' ),
59
-	                'desc'        => __( 'Enter related post ID. This is for 3rd party add ons and not mandatory field.', 'invoicing' ),
58
+	                'title'       => __('Post ID', 'invoicing'),
59
+	                'desc'        => __('Enter related post ID. This is for 3rd party add ons and not mandatory field.', 'invoicing'),
60 60
 	                'type'        => 'number',
61 61
 	                'desc_tip'    => true,
62 62
 	                'default'     => '',
@@ -67,7 +67,7 @@  discard block
 block discarded – undo
67 67
         );
68 68
 
69 69
 
70
-        parent::__construct( $options );
70
+        parent::__construct($options);
71 71
     }
72 72
 
73 73
 	/**
@@ -79,31 +79,31 @@  discard block
 block discarded – undo
79 79
 	 *
80 80
 	 * @return string
81 81
 	 */
82
-    public function output( $args = array(), $widget_args = array(), $content = '' ) {
82
+    public function output($args = array(), $widget_args = array(), $content = '') {
83 83
 
84 84
 	    $defaults = array(
85 85
 		    'items'     	=> '', // should be used like: item_id|quantity,item_id|quantity,item_id|quantity
86
-		    'label'  	    => __( 'Buy Now', 'invoicing' ), // the button title
86
+		    'label'  	    => __('Buy Now', 'invoicing'), // the button title
87 87
 		    'post_id'   	=> '', // any related post_id
88 88
 	    );
89 89
 
90 90
 	    /**
91 91
 	     * Parse incoming $args into an array and merge it with $defaults
92 92
 	     */
93
-	    $args = wp_parse_args( $args, $defaults );
93
+	    $args = wp_parse_args($args, $defaults);
94 94
 
95 95
 		$html = '<div class="wpi-buy-button-wrapper wpi-g">';
96 96
 		
97
-		if ( empty( $args['items'] ) ) {
98
-			$html .= __( 'No items selected', 'invoicing' );
97
+		if (empty($args['items'])) {
98
+			$html .= __('No items selected', 'invoicing');
99 99
 		} else {
100
-			$post_id = isset( $args['post_id'] ) && is_numeric( $args['post_id'] ) ? sanitize_text_field( $args['post_id'] ) : 0;
101
-			$label   = isset( $args['label'] ) ? sanitize_text_field( $args['label'] ) : __( 'Buy Now', 'invoicing' );
102
-			$items   = esc_attr( $args['items'] );
100
+			$post_id = isset($args['post_id']) && is_numeric($args['post_id']) ? sanitize_text_field($args['post_id']) : 0;
101
+			$label   = isset($args['label']) ? sanitize_text_field($args['label']) : __('Buy Now', 'invoicing');
102
+			$items   = esc_attr($args['items']);
103 103
 			$html   .= "<button class='button button-primary wpi-buy-button' type='button' onclick=\"wpi_buy(this, '$items','$post_id');\">$label</button>";
104 104
 		}
105 105
 	
106
-	    $html .= wp_nonce_field( 'wpinv_buy_items', 'wpinv_buy_nonce', true, false );
106
+	    $html .= wp_nonce_field('wpinv_buy_items', 'wpinv_buy_nonce', true, false);
107 107
 	    $html .= '</div>';
108 108
 
109 109
 	    return $html;
Please login to merge, or discard this patch.
includes/class-wpinv-discount.php 3 patches
Braces   +6 added lines, -4 removed lines patch added patch discarded remove patch
@@ -132,11 +132,13 @@
 block discarded – undo
132 132
 		if ( 'id' == strtolower( $field ) ) {
133 133
 			// Make sure the value is numeric to avoid casting objects, for example,
134 134
 			// to int 1.
135
-			if ( ! is_numeric( $value ) )
136
-				return false;
135
+			if ( ! is_numeric( $value ) ) {
136
+							return false;
137
+			}
137 138
 			$value = intval( $value );
138
-			if ( $value < 1 )
139
-				return false;
139
+			if ( $value < 1 ) {
140
+							return false;
141
+			}
140 142
 		}
141 143
 
142 144
 		if ( ! $value || ! is_string( $field ) ) {
Please login to merge, or discard this patch.
Spacing   +289 added lines, -289 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  * @since   1.0.15
6 6
  */
7 7
 
8
-defined( 'ABSPATH' ) || exit;
8
+defined('ABSPATH') || exit;
9 9
 
10 10
 /**
11 11
  * Discount class.
@@ -13,7 +13,7 @@  discard block
 block discarded – undo
13 13
  * @since 1.0.15
14 14
  *
15 15
  */
16
-class WPInv_Discount extends GetPaid_Data  {
16
+class WPInv_Discount extends GetPaid_Data {
17 17
 
18 18
 	/**
19 19
 	 * Which data store to load.
@@ -79,35 +79,35 @@  discard block
 block discarded – undo
79 79
 	 *
80 80
 	 * @param int|array|string|WPInv_Discount|WP_Post $discount discount data, object, ID or code.
81 81
 	 */
82
-	public function __construct( $discount = 0 ) {
83
-		parent::__construct( $discount );
82
+	public function __construct($discount = 0) {
83
+		parent::__construct($discount);
84 84
 
85
-		if ( is_numeric( $discount ) && 'wpi_discount' === get_post_type( $discount ) ) {
86
-			$this->set_id( $discount );
87
-		} elseif ( $discount instanceof self ) {
88
-			$this->set_id( $discount->get_id() );
89
-		} elseif ( ! empty( $discount->ID ) ) {
90
-			$this->set_id( $discount->ID );
91
-		} elseif ( is_array( $discount ) ) {
92
-			$this->set_props( $discount );
85
+		if (is_numeric($discount) && 'wpi_discount' === get_post_type($discount)) {
86
+			$this->set_id($discount);
87
+		} elseif ($discount instanceof self) {
88
+			$this->set_id($discount->get_id());
89
+		} elseif (!empty($discount->ID)) {
90
+			$this->set_id($discount->ID);
91
+		} elseif (is_array($discount)) {
92
+			$this->set_props($discount);
93 93
 
94
-			if ( isset( $discount['ID'] ) ) {
95
-				$this->set_id( $discount['ID'] );
94
+			if (isset($discount['ID'])) {
95
+				$this->set_id($discount['ID']);
96 96
 			}
97 97
 
98
-		} elseif ( is_scalar( $discount ) && $discount = self::get_discount_id_by_code( $discount ) ) {
99
-			$this->set_id( $discount );
98
+		} elseif (is_scalar($discount) && $discount = self::get_discount_id_by_code($discount)) {
99
+			$this->set_id($discount);
100 100
 		} else {
101
-			$this->set_object_read( true );
101
+			$this->set_object_read(true);
102 102
 		}
103 103
 
104 104
         // Load the datastore.
105
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
105
+		$this->data_store = GetPaid_Data_Store::load($this->data_store_name);
106 106
 
107
-		if ( $this->get_id() > 0 ) {
108
-            $this->post = get_post( $this->get_id() );
107
+		if ($this->get_id() > 0) {
108
+            $this->post = get_post($this->get_id());
109 109
             $this->ID   = $this->get_id();
110
-			$this->data_store->read( $this );
110
+			$this->data_store->read($this);
111 111
         }
112 112
 
113 113
 	}
@@ -123,50 +123,50 @@  discard block
 block discarded – undo
123 123
 	 * @since 1.0.15
124 124
 	 * @return array|bool array of discount details on success. False otherwise.
125 125
 	 */
126
-	public static function get_data_by( $field, $value ) {
126
+	public static function get_data_by($field, $value) {
127 127
 
128
-		if ( 'id' == strtolower( $field ) ) {
128
+		if ('id' == strtolower($field)) {
129 129
 			// Make sure the value is numeric to avoid casting objects, for example,
130 130
 			// to int 1.
131
-			if ( ! is_numeric( $value ) )
131
+			if (!is_numeric($value))
132 132
 				return false;
133
-			$value = intval( $value );
134
-			if ( $value < 1 )
133
+			$value = intval($value);
134
+			if ($value < 1)
135 135
 				return false;
136 136
 		}
137 137
 
138
-		if ( ! $value || ! is_string( $field ) ) {
138
+		if (!$value || !is_string($field)) {
139 139
 			return false;
140 140
 		}
141 141
 
142
-		$field = trim( $field );
142
+		$field = trim($field);
143 143
 
144 144
 		// prepare query args
145
-		switch ( strtolower( $field ) ) {
145
+		switch (strtolower($field)) {
146 146
 			case 'id':
147 147
 				$discount_id = $value;
148
-				$args		 = array( 'include' => array( $value ) );
148
+				$args = array('include' => array($value));
149 149
 				break;
150 150
 			case 'discount_code':
151 151
 			case 'code':
152
-				$value       = trim( $value );
153
-				$discount_id = wp_cache_get( $value, 'WPInv_Discount_Codes' );
154
-				$args		 = array( 'meta_key' => '_wpi_discount_code', 'meta_value' => $value );
152
+				$value       = trim($value);
153
+				$discount_id = wp_cache_get($value, 'WPInv_Discount_Codes');
154
+				$args = array('meta_key' => '_wpi_discount_code', 'meta_value' => $value);
155 155
 				break;
156 156
 			case 'name':
157 157
 				$discount_id = 0;
158
-				$args		 = array( 'name' => trim( $value ) );
158
+				$args		 = array('name' => trim($value));
159 159
 				break;
160 160
 			default:
161
-				$args		 = apply_filters( "wpinv_discount_get_data_by_{$field}_args", null, $value );
162
-				if ( ! is_array( $args ) ) {
163
-					return apply_filters( "wpinv_discount_get_data_by_$field", false, $value );
161
+				$args		 = apply_filters("wpinv_discount_get_data_by_{$field}_args", null, $value);
162
+				if (!is_array($args)) {
163
+					return apply_filters("wpinv_discount_get_data_by_$field", false, $value);
164 164
 				}
165 165
 
166 166
 		}
167 167
 
168 168
 		// Check if there is a cached value.
169
-		if ( ! empty( $discount_id ) && $discount = wp_cache_get( (int) $discount_id, 'WPInv_Discounts' ) ) {
169
+		if (!empty($discount_id) && $discount = wp_cache_get((int) $discount_id, 'WPInv_Discounts')) {
170 170
 			return $discount;
171 171
 		}
172 172
 
@@ -175,13 +175,13 @@  discard block
 block discarded – undo
175 175
 			array(
176 176
 				'post_type'      => 'wpi_discount',
177 177
 				'posts_per_page' => 1,
178
-				'post_status'    => array( 'publish', 'pending', 'draft', 'expired' )
178
+				'post_status'    => array('publish', 'pending', 'draft', 'expired')
179 179
 			)
180 180
 		);
181 181
 
182
-		$discount = get_posts( $args );
182
+		$discount = get_posts($args);
183 183
 
184
-		if( empty( $discount ) ) {
184
+		if (empty($discount)) {
185 185
 			return false;
186 186
 		}
187 187
 
@@ -190,30 +190,30 @@  discard block
 block discarded – undo
190 190
 		// Prepare the return data.
191 191
 		$return = array(
192 192
             'ID'                          => $discount->ID,
193
-            'code'                        => get_post_meta( $discount->ID, '_wpi_discount_code', true ),
194
-            'amount'                      => get_post_meta( $discount->ID, '_wpi_discount_amount', true ),
193
+            'code'                        => get_post_meta($discount->ID, '_wpi_discount_code', true),
194
+            'amount'                      => get_post_meta($discount->ID, '_wpi_discount_amount', true),
195 195
             'date_created'                => $discount->post_date,
196 196
 			'date_modified'               => $discount->post_modified,
197 197
 			'status'               		  => $discount->post_status,
198
-			'start'                  	  => get_post_meta( $discount->ID, '_wpi_discount_start', true ),
199
-            'expiration'                  => get_post_meta( $discount->ID, '_wpi_discount_expiration', true ),
200
-            'type'               		  => get_post_meta( $discount->ID, '_wpi_discount_type', true ),
198
+			'start'                  	  => get_post_meta($discount->ID, '_wpi_discount_start', true),
199
+            'expiration'                  => get_post_meta($discount->ID, '_wpi_discount_expiration', true),
200
+            'type'               		  => get_post_meta($discount->ID, '_wpi_discount_type', true),
201 201
             'description'                 => $discount->post_excerpt,
202
-            'uses'                 		  => get_post_meta( $discount->ID, '_wpi_discount_uses', true ),
203
-            'is_single_use'               => get_post_meta( $discount->ID, '_wpi_discount_is_single_use', true ),
204
-            'items'              	      => get_post_meta( $discount->ID, '_wpi_discount_items', true ),
205
-            'excluded_items'              => get_post_meta( $discount->ID, '_wpi_discount_excluded_items', true ),
206
-            'max_uses'                    => get_post_meta( $discount->ID, '_wpi_discount_max_uses', true ),
207
-            'is_recurring'                => get_post_meta( $discount->ID, '_wpi_discount_is_recurring', true ),
208
-            'min_total'                   => get_post_meta( $discount->ID, '_wpi_discount_min_total', true ),
209
-            'max_total'                   => get_post_meta( $discount->ID, '_wpi_discount_max_total', true ),
202
+            'uses'                 		  => get_post_meta($discount->ID, '_wpi_discount_uses', true),
203
+            'is_single_use'               => get_post_meta($discount->ID, '_wpi_discount_is_single_use', true),
204
+            'items'              	      => get_post_meta($discount->ID, '_wpi_discount_items', true),
205
+            'excluded_items'              => get_post_meta($discount->ID, '_wpi_discount_excluded_items', true),
206
+            'max_uses'                    => get_post_meta($discount->ID, '_wpi_discount_max_uses', true),
207
+            'is_recurring'                => get_post_meta($discount->ID, '_wpi_discount_is_recurring', true),
208
+            'min_total'                   => get_post_meta($discount->ID, '_wpi_discount_min_total', true),
209
+            'max_total'                   => get_post_meta($discount->ID, '_wpi_discount_max_total', true),
210 210
         );
211 211
 
212
-		$return = apply_filters( 'wpinv_discount_properties', $return );
212
+		$return = apply_filters('wpinv_discount_properties', $return);
213 213
 
214 214
 		// Update the cache with our data
215
-		wp_cache_add( $discount->ID, $return, 'WPInv_Discounts' );
216
-		wp_cache_add( $return['code'], $discount->ID, 'WPInv_Discount_Codes' );
215
+		wp_cache_add($discount->ID, $return, 'WPInv_Discounts');
216
+		wp_cache_add($return['code'], $discount->ID, 'WPInv_Discount_Codes');
217 217
 
218 218
 		return $return;
219 219
 	}
@@ -227,19 +227,19 @@  discard block
 block discarded – undo
227 227
 	 * @since 1.0.15
228 228
 	 * @return int
229 229
 	 */
230
-	public static function get_discount_id_by_code( $discount_code ) {
230
+	public static function get_discount_id_by_code($discount_code) {
231 231
 
232 232
 		// Trim the code.
233
-		$discount_code = trim( $discount_code );
233
+		$discount_code = trim($discount_code);
234 234
 
235 235
 		// Ensure a value has been passed.
236
-		if ( empty( $discount_code ) ) {
236
+		if (empty($discount_code)) {
237 237
 			return 0;
238 238
 		}
239 239
 
240 240
 		// Maybe retrieve from the cache.
241
-		$discount_id   = wp_cache_get( $discount_code, 'getpaid_discount_codes' );
242
-		if ( ! empty( $discount_id ) ) {
241
+		$discount_id = wp_cache_get($discount_code, 'getpaid_discount_codes');
242
+		if (!empty($discount_id)) {
243 243
 			return $discount_id;
244 244
 		}
245 245
 
@@ -250,19 +250,19 @@  discard block
 block discarded – undo
250 250
 				'meta_value'     => $discount_code,
251 251
 				'post_type'      => 'wpi_discount',
252 252
 				'posts_per_page' => 1,
253
-				'post_status'    => array( 'publish', 'pending', 'draft', 'expired' ),
253
+				'post_status'    => array('publish', 'pending', 'draft', 'expired'),
254 254
 				'fields'         => 'ids',
255 255
 			)
256 256
 		);
257 257
 
258
-		if ( empty( $discounts ) ) {
258
+		if (empty($discounts)) {
259 259
 			return 0;
260 260
 		}
261 261
 
262 262
 		$discount_id = $discounts[0];
263 263
 
264 264
 		// Update the cache with our data
265
-		wp_cache_add( get_post_meta( $discount_id, '_wpi_discount_code', true ), $discount_id, 'getpaid_discount_codes' );
265
+		wp_cache_add(get_post_meta($discount_id, '_wpi_discount_code', true), $discount_id, 'getpaid_discount_codes');
266 266
 
267 267
 		return $discount_id;
268 268
 	}
@@ -275,8 +275,8 @@  discard block
 block discarded – undo
275 275
 	 *
276 276
 	 * @return bool Whether the given discount field is set.
277 277
 	 */
278
-	public function __isset( $key ){
279
-		return isset( $this->data[$key] ) || method_exists( $this, "get_$key");
278
+	public function __isset($key) {
279
+		return isset($this->data[$key]) || method_exists($this, "get_$key");
280 280
 	}
281 281
 
282 282
 	/*
@@ -301,8 +301,8 @@  discard block
 block discarded – undo
301 301
 	 * @param  string $context View or edit context.
302 302
 	 * @return string
303 303
 	 */
304
-	public function get_status( $context = 'view' ) {
305
-		return $this->get_prop( 'status', $context );
304
+	public function get_status($context = 'view') {
305
+		return $this->get_prop('status', $context);
306 306
     }
307 307
 
308 308
     /**
@@ -312,8 +312,8 @@  discard block
 block discarded – undo
312 312
 	 * @param  string $context View or edit context.
313 313
 	 * @return string
314 314
 	 */
315
-	public function get_version( $context = 'view' ) {
316
-		return $this->get_prop( 'version', $context );
315
+	public function get_version($context = 'view') {
316
+		return $this->get_prop('version', $context);
317 317
     }
318 318
 
319 319
     /**
@@ -323,8 +323,8 @@  discard block
 block discarded – undo
323 323
 	 * @param  string $context View or edit context.
324 324
 	 * @return string
325 325
 	 */
326
-	public function get_date_created( $context = 'view' ) {
327
-		return $this->get_prop( 'date_created', $context );
326
+	public function get_date_created($context = 'view') {
327
+		return $this->get_prop('date_created', $context);
328 328
     }
329 329
 
330 330
     /**
@@ -334,11 +334,11 @@  discard block
 block discarded – undo
334 334
 	 * @param  string $context View or edit context.
335 335
 	 * @return string
336 336
 	 */
337
-	public function get_date_created_gmt( $context = 'view' ) {
338
-        $date = $this->get_date_created( $context );
337
+	public function get_date_created_gmt($context = 'view') {
338
+        $date = $this->get_date_created($context);
339 339
 
340
-        if ( $date ) {
341
-            $date = get_gmt_from_date( $date );
340
+        if ($date) {
341
+            $date = get_gmt_from_date($date);
342 342
         }
343 343
 		return $date;
344 344
     }
@@ -350,8 +350,8 @@  discard block
 block discarded – undo
350 350
 	 * @param  string $context View or edit context.
351 351
 	 * @return string
352 352
 	 */
353
-	public function get_date_modified( $context = 'view' ) {
354
-		return $this->get_prop( 'date_modified', $context );
353
+	public function get_date_modified($context = 'view') {
354
+		return $this->get_prop('date_modified', $context);
355 355
     }
356 356
 
357 357
     /**
@@ -361,11 +361,11 @@  discard block
 block discarded – undo
361 361
 	 * @param  string $context View or edit context.
362 362
 	 * @return string
363 363
 	 */
364
-	public function get_date_modified_gmt( $context = 'view' ) {
365
-        $date = $this->get_date_modified( $context );
364
+	public function get_date_modified_gmt($context = 'view') {
365
+        $date = $this->get_date_modified($context);
366 366
 
367
-        if ( $date ) {
368
-            $date = get_gmt_from_date( $date );
367
+        if ($date) {
368
+            $date = get_gmt_from_date($date);
369 369
         }
370 370
 		return $date;
371 371
     }
@@ -377,8 +377,8 @@  discard block
 block discarded – undo
377 377
 	 * @param  string $context View or edit context.
378 378
 	 * @return string
379 379
 	 */
380
-	public function get_name( $context = 'view' ) {
381
-		return $this->get_prop( 'name', $context );
380
+	public function get_name($context = 'view') {
381
+		return $this->get_prop('name', $context);
382 382
     }
383 383
 
384 384
     /**
@@ -388,8 +388,8 @@  discard block
 block discarded – undo
388 388
 	 * @param  string $context View or edit context.
389 389
 	 * @return string
390 390
 	 */
391
-	public function get_title( $context = 'view' ) {
392
-		return $this->get_name( $context );
391
+	public function get_title($context = 'view') {
392
+		return $this->get_name($context);
393 393
     }
394 394
 
395 395
     /**
@@ -399,8 +399,8 @@  discard block
 block discarded – undo
399 399
 	 * @param  string $context View or edit context.
400 400
 	 * @return string
401 401
 	 */
402
-	public function get_description( $context = 'view' ) {
403
-		return $this->get_prop( 'description', $context );
402
+	public function get_description($context = 'view') {
403
+		return $this->get_prop('description', $context);
404 404
     }
405 405
 
406 406
     /**
@@ -410,8 +410,8 @@  discard block
 block discarded – undo
410 410
 	 * @param  string $context View or edit context.
411 411
 	 * @return string
412 412
 	 */
413
-	public function get_excerpt( $context = 'view' ) {
414
-		return $this->get_description( $context );
413
+	public function get_excerpt($context = 'view') {
414
+		return $this->get_description($context);
415 415
     }
416 416
 
417 417
     /**
@@ -421,8 +421,8 @@  discard block
 block discarded – undo
421 421
 	 * @param  string $context View or edit context.
422 422
 	 * @return string
423 423
 	 */
424
-	public function get_summary( $context = 'view' ) {
425
-		return $this->get_description( $context );
424
+	public function get_summary($context = 'view') {
425
+		return $this->get_description($context);
426 426
     }
427 427
 
428 428
     /**
@@ -432,8 +432,8 @@  discard block
 block discarded – undo
432 432
 	 * @param  string $context View or edit context.
433 433
 	 * @return string
434 434
 	 */
435
-	public function get_author( $context = 'view' ) {
436
-		return (int) $this->get_prop( 'author', $context );
435
+	public function get_author($context = 'view') {
436
+		return (int) $this->get_prop('author', $context);
437 437
 	}
438 438
 	
439 439
 	/**
@@ -443,8 +443,8 @@  discard block
 block discarded – undo
443 443
 	 * @param  string $context View or edit context.
444 444
 	 * @return string
445 445
 	 */
446
-	public function get_code( $context = 'view' ) {
447
-		return $this->get_prop( 'code', $context );
446
+	public function get_code($context = 'view') {
447
+		return $this->get_prop('code', $context);
448 448
 	}
449 449
 	
450 450
 	/**
@@ -454,8 +454,8 @@  discard block
 block discarded – undo
454 454
 	 * @param  string $context View or edit context.
455 455
 	 * @return string
456 456
 	 */
457
-	public function get_coupon_code( $context = 'view' ) {
458
-		return $this->get_code( $context );
457
+	public function get_coupon_code($context = 'view') {
458
+		return $this->get_code($context);
459 459
 	}
460 460
 	
461 461
 	/**
@@ -465,8 +465,8 @@  discard block
 block discarded – undo
465 465
 	 * @param  string $context View or edit context.
466 466
 	 * @return string
467 467
 	 */
468
-	public function get_discount_code( $context = 'view' ) {
469
-		return $this->get_code( $context );
468
+	public function get_discount_code($context = 'view') {
469
+		return $this->get_code($context);
470 470
 	}
471 471
 	
472 472
 	/**
@@ -476,8 +476,8 @@  discard block
 block discarded – undo
476 476
 	 * @param  string $context View or edit context.
477 477
 	 * @return float
478 478
 	 */
479
-	public function get_amount( $context = 'view' ) {
480
-		return $this->get_prop( 'amount', $context );
479
+	public function get_amount($context = 'view') {
480
+		return $this->get_prop('amount', $context);
481 481
 	}
482 482
 
483 483
 	/**
@@ -488,13 +488,13 @@  discard block
 block discarded – undo
488 488
 	 */
489 489
 	public function get_formatted_amount() {
490 490
 
491
-		if ( $this->is_type( 'flat' ) ) {
492
-			$rate = wpinv_price( wpinv_format_amount( $this->get_amount() ) );
491
+		if ($this->is_type('flat')) {
492
+			$rate = wpinv_price(wpinv_format_amount($this->get_amount()));
493 493
 		} else {
494 494
 			$rate = $this->get_amount() . '%';
495 495
 		}
496 496
 
497
-		return apply_filters( 'wpinv_format_discount_rate', $rate, $this->get_type(), $this->get_amount() );
497
+		return apply_filters('wpinv_format_discount_rate', $rate, $this->get_type(), $this->get_amount());
498 498
 	}
499 499
 	
500 500
 	/**
@@ -504,8 +504,8 @@  discard block
 block discarded – undo
504 504
 	 * @param  string $context View or edit context.
505 505
 	 * @return string
506 506
 	 */
507
-	public function get_start( $context = 'view' ) {
508
-		return $this->get_prop( 'start', $context );
507
+	public function get_start($context = 'view') {
508
+		return $this->get_prop('start', $context);
509 509
 	}
510 510
 	
511 511
 	/**
@@ -515,8 +515,8 @@  discard block
 block discarded – undo
515 515
 	 * @param  string $context View or edit context.
516 516
 	 * @return string
517 517
 	 */
518
-	public function get_start_date( $context = 'view' ) {
519
-		return $this->get_start( $context );
518
+	public function get_start_date($context = 'view') {
519
+		return $this->get_start($context);
520 520
 	}
521 521
 	
522 522
 	/**
@@ -526,8 +526,8 @@  discard block
 block discarded – undo
526 526
 	 * @param  string $context View or edit context.
527 527
 	 * @return string
528 528
 	 */
529
-	public function get_expiration( $context = 'view' ) {
530
-		return $this->get_prop( 'expiration', $context );
529
+	public function get_expiration($context = 'view') {
530
+		return $this->get_prop('expiration', $context);
531 531
 	}
532 532
 	
533 533
 	/**
@@ -537,8 +537,8 @@  discard block
 block discarded – undo
537 537
 	 * @param  string $context View or edit context.
538 538
 	 * @return string
539 539
 	 */
540
-	public function get_expiration_date( $context = 'view' ) {
541
-		return $this->get_expiration( $context );
540
+	public function get_expiration_date($context = 'view') {
541
+		return $this->get_expiration($context);
542 542
 	}
543 543
 
544 544
 	/**
@@ -548,8 +548,8 @@  discard block
 block discarded – undo
548 548
 	 * @param  string $context View or edit context.
549 549
 	 * @return string
550 550
 	 */
551
-	public function get_end_date( $context = 'view' ) {
552
-		return $this->get_expiration( $context );
551
+	public function get_end_date($context = 'view') {
552
+		return $this->get_expiration($context);
553 553
 	}
554 554
 	
555 555
 	/**
@@ -559,8 +559,8 @@  discard block
 block discarded – undo
559 559
 	 * @param  string $context View or edit context.
560 560
 	 * @return string
561 561
 	 */
562
-	public function get_type( $context = 'view' ) {
563
-		return $this->get_prop( 'type', $context );
562
+	public function get_type($context = 'view') {
563
+		return $this->get_prop('type', $context);
564 564
 	}
565 565
 
566 566
 	/**
@@ -570,8 +570,8 @@  discard block
 block discarded – undo
570 570
 	 * @param  string $context View or edit context.
571 571
 	 * @return int
572 572
 	 */
573
-	public function get_uses( $context = 'view' ) {
574
-		return (int) $this->get_prop( 'uses', $context );
573
+	public function get_uses($context = 'view') {
574
+		return (int) $this->get_prop('uses', $context);
575 575
 	}
576 576
 
577 577
 	/**
@@ -582,7 +582,7 @@  discard block
 block discarded – undo
582 582
 	 */
583 583
 	public function get_usage() {
584 584
 
585
-		if ( ! $this->has_limit() ) {
585
+		if (!$this->has_limit()) {
586 586
 			return $this->get_uses() . ' / ' . ' &infin;';
587 587
 		}
588 588
 
@@ -597,9 +597,9 @@  discard block
 block discarded – undo
597 597
 	 * @param  string $context View or edit context.
598 598
 	 * @return int
599 599
 	 */
600
-	public function get_max_uses( $context = 'view' ) {
601
-		$max_uses = $this->get_prop( 'max_uses', $context );
602
-		return empty( $max_uses ) ? null : $max_uses;
600
+	public function get_max_uses($context = 'view') {
601
+		$max_uses = $this->get_prop('max_uses', $context);
602
+		return empty($max_uses) ? null : $max_uses;
603 603
 	}
604 604
 
605 605
 	/**
@@ -609,8 +609,8 @@  discard block
 block discarded – undo
609 609
 	 * @param  string $context View or edit context.
610 610
 	 * @return bool
611 611
 	 */
612
-	public function get_is_single_use( $context = 'view' ) {
613
-		return $this->get_prop( 'is_single_use', $context );
612
+	public function get_is_single_use($context = 'view') {
613
+		return $this->get_prop('is_single_use', $context);
614 614
 	}
615 615
 
616 616
 	/**
@@ -620,8 +620,8 @@  discard block
 block discarded – undo
620 620
 	 * @param  string $context View or edit context.
621 621
 	 * @return array
622 622
 	 */
623
-	public function get_items( $context = 'view' ) {
624
-		return wpinv_parse_list( $this->get_prop( 'items', $context ) );
623
+	public function get_items($context = 'view') {
624
+		return wpinv_parse_list($this->get_prop('items', $context));
625 625
 	}
626 626
 
627 627
 	/**
@@ -631,8 +631,8 @@  discard block
 block discarded – undo
631 631
 	 * @param  string $context View or edit context.
632 632
 	 * @return array
633 633
 	 */
634
-	public function get_allowed_items( $context = 'view' ) {
635
-		return $this->get_items( $context );
634
+	public function get_allowed_items($context = 'view') {
635
+		return $this->get_items($context);
636 636
 	}
637 637
 
638 638
 	/**
@@ -642,8 +642,8 @@  discard block
 block discarded – undo
642 642
 	 * @param  string $context View or edit context.
643 643
 	 * @return array
644 644
 	 */
645
-	public function get_excluded_items( $context = 'view' ) {
646
-		return wpinv_parse_list( $this->get_prop( 'excluded_items', $context ) );
645
+	public function get_excluded_items($context = 'view') {
646
+		return wpinv_parse_list($this->get_prop('excluded_items', $context));
647 647
 	}
648 648
 
649 649
 	/**
@@ -653,8 +653,8 @@  discard block
 block discarded – undo
653 653
 	 * @param  string $context View or edit context.
654 654
 	 * @return int|string|bool
655 655
 	 */
656
-	public function get_is_recurring( $context = 'view' ) {
657
-		return $this->get_prop( 'is_recurring', $context );
656
+	public function get_is_recurring($context = 'view') {
657
+		return $this->get_prop('is_recurring', $context);
658 658
 	}
659 659
 
660 660
 	/**
@@ -664,9 +664,9 @@  discard block
 block discarded – undo
664 664
 	 * @param  string $context View or edit context.
665 665
 	 * @return float
666 666
 	 */
667
-	public function get_min_total( $context = 'view' ) {
668
-		$minimum = $this->get_prop( 'min_total', $context );
669
-		return empty( $minimum ) ? null : $minimum;
667
+	public function get_min_total($context = 'view') {
668
+		$minimum = $this->get_prop('min_total', $context);
669
+		return empty($minimum) ? null : $minimum;
670 670
 	}
671 671
 
672 672
 	/**
@@ -676,8 +676,8 @@  discard block
 block discarded – undo
676 676
 	 * @param  string $context View or edit context.
677 677
 	 * @return float
678 678
 	 */
679
-	public function get_minimum_total( $context = 'view' ) {
680
-		return $this->get_min_total( $context );
679
+	public function get_minimum_total($context = 'view') {
680
+		return $this->get_min_total($context);
681 681
 	}
682 682
 
683 683
 	/**
@@ -687,9 +687,9 @@  discard block
 block discarded – undo
687 687
 	 * @param  string $context View or edit context.
688 688
 	 * @return float
689 689
 	 */
690
-	public function get_max_total( $context = 'view' ) {
691
-		$maximum = $this->get_prop( 'max_total', $context );
692
-		return empty( $maximum ) ? null : $maximum;
690
+	public function get_max_total($context = 'view') {
691
+		$maximum = $this->get_prop('max_total', $context);
692
+		return empty($maximum) ? null : $maximum;
693 693
 	}
694 694
 
695 695
 	/**
@@ -699,8 +699,8 @@  discard block
 block discarded – undo
699 699
 	 * @param  string $context View or edit context.
700 700
 	 * @return float
701 701
 	 */
702
-	public function get_maximum_total( $context = 'view' ) {
703
-		return $this->get_max_total( $context );
702
+	public function get_maximum_total($context = 'view') {
703
+		return $this->get_max_total($context);
704 704
 	}
705 705
 
706 706
 	/**
@@ -713,8 +713,8 @@  discard block
 block discarded – undo
713 713
 	 * @param  string $context View or edit context.
714 714
 	 * @return mixed Value of the given discount property (if set).
715 715
 	 */
716
-	public function get( $key, $context = 'view' ) {
717
-        return $this->get_prop( $key, $context );
716
+	public function get($key, $context = 'view') {
717
+        return $this->get_prop($key, $context);
718 718
 	}
719 719
 
720 720
 	/*
@@ -734,10 +734,10 @@  discard block
 block discarded – undo
734 734
 	 * @param  string $status New status.
735 735
 	 * @return array details of change.
736 736
 	 */
737
-	public function set_status( $status ) {
737
+	public function set_status($status) {
738 738
         $old_status = $this->get_status();
739 739
 
740
-        $this->set_prop( 'status', $status );
740
+        $this->set_prop('status', $status);
741 741
 
742 742
 		return array(
743 743
 			'from' => $old_status,
@@ -750,8 +750,8 @@  discard block
 block discarded – undo
750 750
 	 *
751 751
 	 * @since 1.0.19
752 752
 	 */
753
-	public function set_version( $value ) {
754
-		$this->set_prop( 'version', $value );
753
+	public function set_version($value) {
754
+		$this->set_prop('version', $value);
755 755
     }
756 756
 
757 757
     /**
@@ -761,11 +761,11 @@  discard block
 block discarded – undo
761 761
 	 * @param string $value Value to set.
762 762
      * @return bool Whether or not the date was set.
763 763
 	 */
764
-	public function set_date_created( $value ) {
765
-        $date = strtotime( $value );
764
+	public function set_date_created($value) {
765
+        $date = strtotime($value);
766 766
 
767
-        if ( $date ) {
768
-            $this->set_prop( 'date_created', date( 'Y-m-d H:i:s', $date ) );
767
+        if ($date) {
768
+            $this->set_prop('date_created', date('Y-m-d H:i:s', $date));
769 769
             return true;
770 770
         }
771 771
 
@@ -780,11 +780,11 @@  discard block
 block discarded – undo
780 780
 	 * @param string $value Value to set.
781 781
      * @return bool Whether or not the date was set.
782 782
 	 */
783
-	public function set_date_modified( $value ) {
784
-        $date = strtotime( $value );
783
+	public function set_date_modified($value) {
784
+        $date = strtotime($value);
785 785
 
786
-        if ( $date ) {
787
-            $this->set_prop( 'date_modified', date( 'Y-m-d H:i:s', $date ) );
786
+        if ($date) {
787
+            $this->set_prop('date_modified', date('Y-m-d H:i:s', $date));
788 788
             return true;
789 789
         }
790 790
 
@@ -798,9 +798,9 @@  discard block
 block discarded – undo
798 798
 	 * @since 1.0.19
799 799
 	 * @param  string $value New name.
800 800
 	 */
801
-	public function set_name( $value ) {
802
-        $name = sanitize_text_field( $value );
803
-		$this->set_prop( 'name', $name );
801
+	public function set_name($value) {
802
+        $name = sanitize_text_field($value);
803
+		$this->set_prop('name', $name);
804 804
     }
805 805
 
806 806
     /**
@@ -809,8 +809,8 @@  discard block
 block discarded – undo
809 809
 	 * @since 1.0.19
810 810
 	 * @param  string $value New name.
811 811
 	 */
812
-	public function set_title( $value ) {
813
-		$this->set_name( $value );
812
+	public function set_title($value) {
813
+		$this->set_name($value);
814 814
     }
815 815
 
816 816
     /**
@@ -819,9 +819,9 @@  discard block
 block discarded – undo
819 819
 	 * @since 1.0.19
820 820
 	 * @param  string $value New description.
821 821
 	 */
822
-	public function set_description( $value ) {
823
-        $description = wp_kses_post( $value );
824
-		return $this->set_prop( 'description', $description );
822
+	public function set_description($value) {
823
+        $description = wp_kses_post($value);
824
+		return $this->set_prop('description', $description);
825 825
     }
826 826
 
827 827
     /**
@@ -830,8 +830,8 @@  discard block
 block discarded – undo
830 830
 	 * @since 1.0.19
831 831
 	 * @param  string $value New description.
832 832
 	 */
833
-	public function set_excerpt( $value ) {
834
-		$this->set_description( $value );
833
+	public function set_excerpt($value) {
834
+		$this->set_description($value);
835 835
     }
836 836
 
837 837
     /**
@@ -840,8 +840,8 @@  discard block
 block discarded – undo
840 840
 	 * @since 1.0.19
841 841
 	 * @param  string $value New description.
842 842
 	 */
843
-	public function set_summary( $value ) {
844
-		$this->set_description( $value );
843
+	public function set_summary($value) {
844
+		$this->set_description($value);
845 845
     }
846 846
 
847 847
     /**
@@ -850,8 +850,8 @@  discard block
 block discarded – undo
850 850
 	 * @since 1.0.19
851 851
 	 * @param  int $value New author.
852 852
 	 */
853
-	public function set_author( $value ) {
854
-		$this->set_prop( 'author', (int) $value );
853
+	public function set_author($value) {
854
+		$this->set_prop('author', (int) $value);
855 855
 	}
856 856
 	
857 857
 	/**
@@ -860,9 +860,9 @@  discard block
 block discarded – undo
860 860
 	 * @since 1.0.19
861 861
 	 * @param string $value New discount code.
862 862
 	 */
863
-	public function set_code( $value ) {
864
-		$code = sanitize_text_field( $value );
865
-		$this->set_prop( 'code', $code );
863
+	public function set_code($value) {
864
+		$code = sanitize_text_field($value);
865
+		$this->set_prop('code', $code);
866 866
 	}
867 867
 	
868 868
 	/**
@@ -871,8 +871,8 @@  discard block
 block discarded – undo
871 871
 	 * @since 1.0.19
872 872
 	 * @param string $value New discount code.
873 873
 	 */
874
-	public function set_coupon_code( $value ) {
875
-		$this->set_code( $value );
874
+	public function set_coupon_code($value) {
875
+		$this->set_code($value);
876 876
 	}
877 877
 	
878 878
 	/**
@@ -881,8 +881,8 @@  discard block
 block discarded – undo
881 881
 	 * @since 1.0.19
882 882
 	 * @param string $value New discount code.
883 883
 	 */
884
-	public function set_discount_code( $value ) {
885
-		$this->set_code( $value );
884
+	public function set_discount_code($value) {
885
+		$this->set_code($value);
886 886
 	}
887 887
 	
888 888
 	/**
@@ -891,9 +891,9 @@  discard block
 block discarded – undo
891 891
 	 * @since 1.0.19
892 892
 	 * @param float $value New discount code.
893 893
 	 */
894
-	public function set_amount( $value ) {
895
-		$amount = floatval( wpinv_sanitize_amount( $value ) );
896
-		$this->set_prop( 'amount', $amount );
894
+	public function set_amount($value) {
895
+		$amount = floatval(wpinv_sanitize_amount($value));
896
+		$this->set_prop('amount', $amount);
897 897
 	}
898 898
 
899 899
 	/**
@@ -902,15 +902,15 @@  discard block
 block discarded – undo
902 902
 	 * @since 1.0.19
903 903
 	 * @param float $value New start date.
904 904
 	 */
905
-	public function set_start( $value ) {
906
-		$date = strtotime( $value );
905
+	public function set_start($value) {
906
+		$date = strtotime($value);
907 907
 
908
-        if ( $date ) {
909
-            $this->set_prop( 'start', date( 'Y-m-d H:i', $date ) );
908
+        if ($date) {
909
+            $this->set_prop('start', date('Y-m-d H:i', $date));
910 910
             return true;
911 911
 		}
912 912
 		
913
-		$this->set_prop( 'start', '' );
913
+		$this->set_prop('start', '');
914 914
 
915 915
         return false;
916 916
 	}
@@ -921,8 +921,8 @@  discard block
 block discarded – undo
921 921
 	 * @since 1.0.19
922 922
 	 * @param string $value New start date.
923 923
 	 */
924
-	public function set_start_date( $value ) {
925
-		$this->set_start( $value );
924
+	public function set_start_date($value) {
925
+		$this->set_start($value);
926 926
 	}
927 927
 
928 928
 	/**
@@ -931,15 +931,15 @@  discard block
 block discarded – undo
931 931
 	 * @since 1.0.19
932 932
 	 * @param float $value New expiration date.
933 933
 	 */
934
-	public function set_expiration( $value ) {
935
-		$date = strtotime( $value );
934
+	public function set_expiration($value) {
935
+		$date = strtotime($value);
936 936
 
937
-        if ( $date ) {
938
-            $this->set_prop( 'expiration', date( 'Y-m-d H:i', $date ) );
937
+        if ($date) {
938
+            $this->set_prop('expiration', date('Y-m-d H:i', $date));
939 939
             return true;
940 940
         }
941 941
 
942
-		$this->set_prop( 'expiration', '' );
942
+		$this->set_prop('expiration', '');
943 943
         return false;
944 944
 	}
945 945
 
@@ -949,8 +949,8 @@  discard block
 block discarded – undo
949 949
 	 * @since 1.0.19
950 950
 	 * @param string $value New expiration date.
951 951
 	 */
952
-	public function set_expiration_date( $value ) {
953
-		$this->set_expiration( $value );
952
+	public function set_expiration_date($value) {
953
+		$this->set_expiration($value);
954 954
 	}
955 955
 
956 956
 	/**
@@ -959,8 +959,8 @@  discard block
 block discarded – undo
959 959
 	 * @since 1.0.19
960 960
 	 * @param string $value New expiration date.
961 961
 	 */
962
-	public function set_end_date( $value ) {
963
-		$this->set_expiration( $value );
962
+	public function set_end_date($value) {
963
+		$this->set_expiration($value);
964 964
 	}
965 965
 
966 966
 	/**
@@ -969,9 +969,9 @@  discard block
 block discarded – undo
969 969
 	 * @since 1.0.19
970 970
 	 * @param string $value New discount type.
971 971
 	 */
972
-	public function set_type( $value ) {
973
-		if ( $value && array_key_exists( sanitize_text_field( $value ), wpinv_get_discount_types() ) ) {
974
-			$this->set_prop( 'type', sanitize_text_field( $value ) );
972
+	public function set_type($value) {
973
+		if ($value && array_key_exists(sanitize_text_field($value), wpinv_get_discount_types())) {
974
+			$this->set_prop('type', sanitize_text_field($value));
975 975
 		}
976 976
 	}
977 977
 
@@ -981,15 +981,15 @@  discard block
 block discarded – undo
981 981
 	 * @since 1.0.19
982 982
 	 * @param int $value usage count.
983 983
 	 */
984
-	public function set_uses( $value ) {
984
+	public function set_uses($value) {
985 985
 
986 986
 		$value = (int) $value;
987 987
 
988
-		if ( $value < 0 ) {
988
+		if ($value < 0) {
989 989
 			$value = 0;
990 990
 		}
991 991
 
992
-		$this->set_prop( 'uses', (int) $value );
992
+		$this->set_prop('uses', (int) $value);
993 993
 	}
994 994
 
995 995
 	/**
@@ -998,8 +998,8 @@  discard block
 block discarded – undo
998 998
 	 * @since 1.0.19
999 999
 	 * @param int $value maximum usage count.
1000 1000
 	 */
1001
-	public function set_max_uses( $value ) {
1002
-		$this->set_prop( 'max_uses', absint( $value ) );
1001
+	public function set_max_uses($value) {
1002
+		$this->set_prop('max_uses', absint($value));
1003 1003
 	}
1004 1004
 
1005 1005
 	/**
@@ -1008,8 +1008,8 @@  discard block
 block discarded – undo
1008 1008
 	 * @since 1.0.19
1009 1009
 	 * @param int|bool $value is single use.
1010 1010
 	 */
1011
-	public function set_is_single_use( $value ) {
1012
-		$this->set_prop( 'is_single_use', (bool) $value );
1011
+	public function set_is_single_use($value) {
1012
+		$this->set_prop('is_single_use', (bool) $value);
1013 1013
 	}
1014 1014
 
1015 1015
 	/**
@@ -1018,8 +1018,8 @@  discard block
 block discarded – undo
1018 1018
 	 * @since 1.0.19
1019 1019
 	 * @param array $value items.
1020 1020
 	 */
1021
-	public function set_items( $value ) {
1022
-		$this->set_prop( 'items', wpinv_parse_list( $value ) );
1021
+	public function set_items($value) {
1022
+		$this->set_prop('items', wpinv_parse_list($value));
1023 1023
 	}
1024 1024
 
1025 1025
 	/**
@@ -1028,8 +1028,8 @@  discard block
 block discarded – undo
1028 1028
 	 * @since 1.0.19
1029 1029
 	 * @param array $value items.
1030 1030
 	 */
1031
-	public function set_allowed_items( $value ) {
1032
-		$this->set_items( $value );
1031
+	public function set_allowed_items($value) {
1032
+		$this->set_items($value);
1033 1033
 	}
1034 1034
 
1035 1035
 	/**
@@ -1038,8 +1038,8 @@  discard block
 block discarded – undo
1038 1038
 	 * @since 1.0.19
1039 1039
 	 * @param array $value items.
1040 1040
 	 */
1041
-	public function set_excluded_items( $value ) {
1042
-		$this->set_prop( 'excluded_items', wpinv_parse_list( $value ) );
1041
+	public function set_excluded_items($value) {
1042
+		$this->set_prop('excluded_items', wpinv_parse_list($value));
1043 1043
 	}
1044 1044
 
1045 1045
 	/**
@@ -1048,8 +1048,8 @@  discard block
 block discarded – undo
1048 1048
 	 * @since 1.0.19
1049 1049
 	 * @param int|bool $value is recurring.
1050 1050
 	 */
1051
-	public function set_is_recurring( $value ) {
1052
-		$this->set_prop( 'is_recurring', (bool) $value );
1051
+	public function set_is_recurring($value) {
1052
+		$this->set_prop('is_recurring', (bool) $value);
1053 1053
 	}
1054 1054
 
1055 1055
 	/**
@@ -1058,8 +1058,8 @@  discard block
 block discarded – undo
1058 1058
 	 * @since 1.0.19
1059 1059
 	 * @param float $value minimum total.
1060 1060
 	 */
1061
-	public function set_min_total( $value ) {
1062
-		$this->set_prop( 'min_total', (float) wpinv_sanitize_amount( $value ) );
1061
+	public function set_min_total($value) {
1062
+		$this->set_prop('min_total', (float) wpinv_sanitize_amount($value));
1063 1063
 	}
1064 1064
 
1065 1065
 	/**
@@ -1068,8 +1068,8 @@  discard block
 block discarded – undo
1068 1068
 	 * @since 1.0.19
1069 1069
 	 * @param float $value minimum total.
1070 1070
 	 */
1071
-	public function set_minimum_total( $value ) {
1072
-		$this->set_min_total( $value );
1071
+	public function set_minimum_total($value) {
1072
+		$this->set_min_total($value);
1073 1073
 	}
1074 1074
 
1075 1075
 	/**
@@ -1078,8 +1078,8 @@  discard block
 block discarded – undo
1078 1078
 	 * @since 1.0.19
1079 1079
 	 * @param float $value maximum total.
1080 1080
 	 */
1081
-	public function set_max_total( $value ) {
1082
-		$this->set_prop( 'max_total', (float) wpinv_sanitize_amount( $value ) );
1081
+	public function set_max_total($value) {
1082
+		$this->set_prop('max_total', (float) wpinv_sanitize_amount($value));
1083 1083
 	}
1084 1084
 
1085 1085
 	/**
@@ -1088,23 +1088,23 @@  discard block
 block discarded – undo
1088 1088
 	 * @since 1.0.19
1089 1089
 	 * @param float $value maximum total.
1090 1090
 	 */
1091
-	public function set_maximum_total( $value ) {
1092
-		$this->set_max_total( $value );
1091
+	public function set_maximum_total($value) {
1092
+		$this->set_max_total($value);
1093 1093
 	}
1094 1094
 
1095 1095
 	/**
1096 1096
 	 * @deprecated
1097 1097
 	 */
1098
-	public function refresh(){}
1098
+	public function refresh() {}
1099 1099
 
1100 1100
 	/**
1101 1101
 	 * @deprecated
1102 1102
 	 *
1103 1103
 	 */
1104
-	public function update_status( $status = 'publish' ){
1104
+	public function update_status($status = 'publish') {
1105 1105
 
1106
-		if ( $this->exists() && $this->get_status() != $status ) {
1107
-			$this->set_status( $status );
1106
+		if ($this->exists() && $this->get_status() != $status) {
1107
+			$this->set_status($status);
1108 1108
 			$this->save();
1109 1109
 		}
1110 1110
 
@@ -1124,9 +1124,9 @@  discard block
 block discarded – undo
1124 1124
 	 *
1125 1125
 	 * @since 1.0.15
1126 1126
 	 */
1127
-	public function exists(){
1127
+	public function exists() {
1128 1128
 		$id = $this->get_id();
1129
-		return ! empty( $id );
1129
+		return !empty($id);
1130 1130
 	}
1131 1131
 
1132 1132
 	/**
@@ -1137,7 +1137,7 @@  discard block
 block discarded – undo
1137 1137
 	 * @since 1.0.15
1138 1138
 	 * @return bool
1139 1139
 	 */
1140
-	public function is_type( $type ) {
1140
+	public function is_type($type) {
1141 1141
 		return $this->get_type() == $type;
1142 1142
 	}
1143 1143
 
@@ -1159,7 +1159,7 @@  discard block
 block discarded – undo
1159 1159
 	 */
1160 1160
 	public function has_limit() {
1161 1161
 		$limit = $this->get_max_uses();
1162
-		return ! empty( $limit );
1162
+		return !empty($limit);
1163 1163
 	}
1164 1164
 
1165 1165
 	/**
@@ -1180,13 +1180,13 @@  discard block
 block discarded – undo
1180 1180
 	 */
1181 1181
 	public function has_exceeded_limit() {
1182 1182
 
1183
-		if ( ! $this->has_limit() || ! $this->has_uses() ) {
1184
-			$exceeded = false ;
1183
+		if (!$this->has_limit() || !$this->has_uses()) {
1184
+			$exceeded = false;
1185 1185
 		} else {
1186
-			$exceeded = ! ( (int) $this->get_max_uses() < $this->get_uses() );
1186
+			$exceeded = !((int) $this->get_max_uses() < $this->get_uses());
1187 1187
 		}
1188 1188
 
1189
-		return apply_filters( 'wpinv_is_discount_maxed_out', $exceeded, $this->get_id(), $this, $this->get_code() );
1189
+		return apply_filters('wpinv_is_discount_maxed_out', $exceeded, $this->get_id(), $this, $this->get_code());
1190 1190
 	}
1191 1191
 
1192 1192
 	/**
@@ -1197,7 +1197,7 @@  discard block
 block discarded – undo
1197 1197
 	 */
1198 1198
 	public function has_expiration_date() {
1199 1199
 		$date = $this->get_expiration_date();
1200
-		return ! empty( $date );
1200
+		return !empty($date);
1201 1201
 	}
1202 1202
 
1203 1203
 	/**
@@ -1207,8 +1207,8 @@  discard block
 block discarded – undo
1207 1207
 	 * @return bool
1208 1208
 	 */
1209 1209
 	public function is_expired() {
1210
-		$expired = $this->has_expiration_date() ? current_time( 'timestamp' ) > strtotime( $this->get_expiration_date() ) : false;
1211
-		return apply_filters( 'wpinv_is_discount_expired', $expired, $this->get_id(), $this, $this->get_code() );
1210
+		$expired = $this->has_expiration_date() ? current_time('timestamp') > strtotime($this->get_expiration_date()) : false;
1211
+		return apply_filters('wpinv_is_discount_expired', $expired, $this->get_id(), $this, $this->get_code());
1212 1212
 	}
1213 1213
 
1214 1214
 	/**
@@ -1219,7 +1219,7 @@  discard block
 block discarded – undo
1219 1219
 	 */
1220 1220
 	public function has_start_date() {
1221 1221
 		$date = $this->get_start_date();
1222
-		return ! empty( $date );
1222
+		return !empty($date);
1223 1223
 	}
1224 1224
 
1225 1225
 	/**
@@ -1229,8 +1229,8 @@  discard block
 block discarded – undo
1229 1229
 	 * @return bool
1230 1230
 	 */
1231 1231
 	public function has_started() {
1232
-		$started = $this->has_start_date() ? true : current_time( 'timestamp' ) > strtotime( $this->get_start_date() );
1233
-		return apply_filters( 'wpinv_is_discount_started', $started, $this->get_id(), $this, $this->get_code() );
1232
+		$started = $this->has_start_date() ? true : current_time('timestamp') > strtotime($this->get_start_date());
1233
+		return apply_filters('wpinv_is_discount_started', $started, $this->get_id(), $this, $this->get_code());
1234 1234
 	}
1235 1235
 
1236 1236
 	/**
@@ -1241,7 +1241,7 @@  discard block
 block discarded – undo
1241 1241
 	 */
1242 1242
 	public function has_allowed_items() {
1243 1243
 		$allowed_items = $this->get_allowed_items();
1244
-		return ! empty( $allowed_items );
1244
+		return !empty($allowed_items);
1245 1245
 	}
1246 1246
 
1247 1247
 	/**
@@ -1252,7 +1252,7 @@  discard block
 block discarded – undo
1252 1252
 	 */
1253 1253
 	public function has_excluded_items() {
1254 1254
 		$excluded_items = $this->get_excluded_items();
1255
-		return ! empty( $excluded_items );
1255
+		return !empty($excluded_items);
1256 1256
 	}
1257 1257
 
1258 1258
 	/**
@@ -1262,17 +1262,17 @@  discard block
 block discarded – undo
1262 1262
 	 * @since 1.0.15
1263 1263
 	 * @return boolean
1264 1264
 	 */
1265
-	public function is_valid_for_items( $item_ids ) {
1265
+	public function is_valid_for_items($item_ids) {
1266 1266
 
1267
-		$item_ids = wp_parse_id_list( $item_ids );
1268
-		$included = array_intersect( $item_ids, $this->get_allowed_items() );
1269
-		$excluded = array_intersect( $item_ids, $this->get_excluded_items() );
1267
+		$item_ids = wp_parse_id_list($item_ids);
1268
+		$included = array_intersect($item_ids, $this->get_allowed_items());
1269
+		$excluded = array_intersect($item_ids, $this->get_excluded_items());
1270 1270
 
1271
-		if ( $this->has_excluded_items() && ! empty( $excluded ) ) {
1271
+		if ($this->has_excluded_items() && !empty($excluded)) {
1272 1272
 			return false;
1273 1273
 		}
1274 1274
 
1275
-		if ( $this->has_allowed_items() && empty( $included ) ) {
1275
+		if ($this->has_allowed_items() && empty($included)) {
1276 1276
 			return false;
1277 1277
 		}
1278 1278
 
@@ -1286,8 +1286,8 @@  discard block
 block discarded – undo
1286 1286
 	 * @since 1.0.15
1287 1287
 	 * @return boolean
1288 1288
 	 */
1289
-	public function is_valid_for_amount( $amount ) {
1290
-		return $this->is_minimum_amount_met( $amount ) && $this->is_maximum_amount_met( $amount );
1289
+	public function is_valid_for_amount($amount) {
1290
+		return $this->is_minimum_amount_met($amount) && $this->is_maximum_amount_met($amount);
1291 1291
 	}
1292 1292
 
1293 1293
 	/**
@@ -1298,7 +1298,7 @@  discard block
 block discarded – undo
1298 1298
 	 */
1299 1299
 	public function has_minimum_amount() {
1300 1300
 		$minimum = $this->get_minimum_total();
1301
-		return ! empty( $minimum );
1301
+		return !empty($minimum);
1302 1302
 	}
1303 1303
 
1304 1304
 	/**
@@ -1308,10 +1308,10 @@  discard block
 block discarded – undo
1308 1308
 	 * @since 1.0.15
1309 1309
 	 * @return boolean
1310 1310
 	 */
1311
-	public function is_minimum_amount_met( $amount ) {
1312
-		$amount = floatval( wpinv_sanitize_amount( $amount ) );
1313
-		$min_met= ! ( $this->has_minimum_amount() && $amount < floatval( wpinv_sanitize_amount( $this->get_minimum_total() ) ) );
1314
-		return apply_filters( 'wpinv_is_discount_min_met', $min_met, $this->get_id(), $this, $this->get_code(), $amount );
1311
+	public function is_minimum_amount_met($amount) {
1312
+		$amount = floatval(wpinv_sanitize_amount($amount));
1313
+		$min_met = !($this->has_minimum_amount() && $amount < floatval(wpinv_sanitize_amount($this->get_minimum_total())));
1314
+		return apply_filters('wpinv_is_discount_min_met', $min_met, $this->get_id(), $this, $this->get_code(), $amount);
1315 1315
 	}
1316 1316
 
1317 1317
 	/**
@@ -1322,7 +1322,7 @@  discard block
 block discarded – undo
1322 1322
 	 */
1323 1323
 	public function has_maximum_amount() {
1324 1324
 		$maximum = $this->get_maximum_total();
1325
-		return ! empty( $maximum );
1325
+		return !empty($maximum);
1326 1326
 	}
1327 1327
 
1328 1328
 	/**
@@ -1332,10 +1332,10 @@  discard block
 block discarded – undo
1332 1332
 	 * @since 1.0.15
1333 1333
 	 * @return boolean
1334 1334
 	 */
1335
-	public function is_maximum_amount_met( $amount ) {
1336
-		$amount = floatval( wpinv_sanitize_amount( $amount ) );
1337
-		$max_met= ! ( $this->has_maximum_amount() && $amount > floatval( wpinv_sanitize_amount( $this->get_maximum_total() ) ) );
1338
-		return apply_filters( 'wpinv_is_discount_max_met', $max_met, $this->get_id(), $this, $this->get_code(), $amount );
1335
+	public function is_maximum_amount_met($amount) {
1336
+		$amount = floatval(wpinv_sanitize_amount($amount));
1337
+		$max_met = !($this->has_maximum_amount() && $amount > floatval(wpinv_sanitize_amount($this->get_maximum_total())));
1338
+		return apply_filters('wpinv_is_discount_max_met', $max_met, $this->get_id(), $this, $this->get_code(), $amount);
1339 1339
 	}
1340 1340
 
1341 1341
 	/**
@@ -1346,7 +1346,7 @@  discard block
 block discarded – undo
1346 1346
 	 */
1347 1347
 	public function is_recurring() {
1348 1348
 		$recurring = $this->get_is_recurring();
1349
-		return ! empty( $recurring );
1349
+		return !empty($recurring);
1350 1350
 	}
1351 1351
 
1352 1352
 	/**
@@ -1357,7 +1357,7 @@  discard block
 block discarded – undo
1357 1357
 	 */
1358 1358
 	public function is_single_use() {
1359 1359
 		$usage = $this->get_is_single_use();
1360
-		return ! empty( $usage );
1360
+		return !empty($usage);
1361 1361
 	}
1362 1362
 
1363 1363
 	/**
@@ -1367,37 +1367,37 @@  discard block
 block discarded – undo
1367 1367
 	 * @since 1.0.15
1368 1368
 	 * @return boolean
1369 1369
 	 */
1370
-	public function is_valid_for_user( $user ) {
1370
+	public function is_valid_for_user($user) {
1371 1371
 
1372 1372
 		// Ensure that the discount is single use.
1373
-		if ( empty( $user ) || ! $this->is_single_use() ) {
1373
+		if (empty($user) || !$this->is_single_use()) {
1374 1374
 			return true;
1375 1375
 		}
1376 1376
 
1377 1377
 		// Prepare the user id.
1378 1378
 		$user_id = 0;
1379
-        if ( is_numeric( $user ) ) {
1380
-            $user_id = absint( $user );
1381
-        } else if ( is_email( $user ) && $user_data = get_user_by( 'email', $user ) ) {
1379
+        if (is_numeric($user)) {
1380
+            $user_id = absint($user);
1381
+        } else if (is_email($user) && $user_data = get_user_by('email', $user)) {
1382 1382
             $user_id = $user_data->ID;
1383
-        } else if ( $user_data = get_user_by( 'login', $user ) ) {
1383
+        } else if ($user_data = get_user_by('login', $user)) {
1384 1384
             $user_id = $user_data->ID;
1385 1385
         }
1386 1386
 
1387 1387
 		// Ensure that we have a user.
1388
-		if ( empty( $user_id ) ) {
1388
+		if (empty($user_id)) {
1389 1389
 			return true;
1390 1390
 		}
1391 1391
 
1392 1392
 		// Get all payments with matching user id.
1393
-        $payments = wpinv_get_invoices( array( 'user' => $user_id, 'limit' => false, 'paginate' => false ) );
1394
-		$code     = strtolower( $this->get_code() );
1393
+        $payments = wpinv_get_invoices(array('user' => $user_id, 'limit' => false, 'paginate' => false));
1394
+		$code = strtolower($this->get_code());
1395 1395
 
1396 1396
 		// For each payment...
1397
-		foreach ( $payments as $payment ) {
1397
+		foreach ($payments as $payment) {
1398 1398
 
1399 1399
 			// Only check for paid invoices.
1400
-			if ( $payment->is_paid() && strtolower( $payment->get_discount_code() ) == $code ) {
1400
+			if ($payment->is_paid() && strtolower($payment->get_discount_code()) == $code) {
1401 1401
 				return false;
1402 1402
 			}
1403 1403
 
@@ -1423,24 +1423,24 @@  discard block
 block discarded – undo
1423 1423
 	 * @param int $by The number of usages to increas by.
1424 1424
 	 * @return int
1425 1425
 	 */
1426
-	public function increase_usage( $by = 1 ) {
1426
+	public function increase_usage($by = 1) {
1427 1427
 
1428 1428
 		// Abort if zero.
1429
-		if ( empty( $by ) ) {
1429
+		if (empty($by)) {
1430 1430
 			return;
1431 1431
 		}
1432 1432
 
1433 1433
 		// Increase the usage.
1434
-		$this->set_uses( $this->get_uses() + (int) $by );
1434
+		$this->set_uses($this->get_uses() + (int) $by);
1435 1435
 
1436 1436
 		// Save the discount.
1437 1437
 		$this->save();
1438 1438
 
1439 1439
 		// Fire relevant hooks.
1440
-		if( (int) $by > 0 ) {
1441
-			do_action( 'wpinv_discount_increase_use_count', $this->get_uses(), $this->get_id(), $this->get_code(),  absint( $by ) );
1440
+		if ((int) $by > 0) {
1441
+			do_action('wpinv_discount_increase_use_count', $this->get_uses(), $this->get_id(), $this->get_code(), absint($by));
1442 1442
 		} else {
1443
-			do_action( 'wpinv_discount_decrease_use_count', $this->get_uses(), $this->get_id(), $this->get_code(), absint( $by ) );
1443
+			do_action('wpinv_discount_decrease_use_count', $this->get_uses(), $this->get_id(), $this->get_code(), absint($by));
1444 1444
 		}
1445 1445
 
1446 1446
 		// Return the number of times the discount has been used.
@@ -1464,7 +1464,7 @@  discard block
 block discarded – undo
1464 1464
 	 * @param float $amount
1465 1465
 	 * @return float
1466 1466
 	 */
1467
-	public function get_discounted_amount( $amount ) {
1467
+	public function get_discounted_amount($amount) {
1468 1468
 
1469 1469
 		// Convert amount to float.
1470 1470
 		$amount = (float) $amount;
@@ -1472,29 +1472,29 @@  discard block
 block discarded – undo
1472 1472
 		// Get discount amount.
1473 1473
 		$discount_amount = $this->get_amount();
1474 1474
 
1475
-		if ( empty( $discount_amount ) ) {
1475
+		if (empty($discount_amount)) {
1476 1476
 			return 0;
1477 1477
 		}
1478 1478
 
1479 1479
 		// Format the amount.
1480
-		$discount_amount = floatval( wpinv_sanitize_amount( $discount_amount ) );
1480
+		$discount_amount = floatval(wpinv_sanitize_amount($discount_amount));
1481 1481
 		
1482 1482
 		// If this is a percentage discount.
1483
-		if ( $this->is_type( 'percent' ) ) {
1484
-            $discount_amount = $amount * ( $discount_amount / 100 );
1483
+		if ($this->is_type('percent')) {
1484
+            $discount_amount = $amount * ($discount_amount / 100);
1485 1485
 		}
1486 1486
 
1487 1487
 		// Discount can not be less than zero...
1488
-		if ( $discount_amount < 0 ) {
1488
+		if ($discount_amount < 0) {
1489 1489
 			$discount_amount = 0;
1490 1490
 		}
1491 1491
 
1492 1492
 		// ... or more than the amount.
1493
-		if ( $discount_amount > $amount ) {
1493
+		if ($discount_amount > $amount) {
1494 1494
 			$discount_amount = $amount;
1495 1495
 		}
1496 1496
 
1497
-		return apply_filters( 'wpinv_discount_total_discount_amount', $discount_amount, $amount, $this );
1497
+		return apply_filters('wpinv_discount_total_discount_amount', $discount_amount, $amount, $this);
1498 1498
 	}
1499 1499
 
1500 1500
 }
Please login to merge, or discard this patch.
Indentation   +1261 added lines, -1261 removed lines patch added patch discarded remove patch
@@ -15,30 +15,30 @@  discard block
 block discarded – undo
15 15
  */
16 16
 class WPInv_Discount extends GetPaid_Data  {
17 17
 
18
-	/**
19
-	 * Which data store to load.
20
-	 *
21
-	 * @var string
22
-	 */
18
+    /**
19
+     * Which data store to load.
20
+     *
21
+     * @var string
22
+     */
23 23
     protected $data_store_name = 'discount';
24 24
 
25 25
     /**
26
-	 * This is the name of this object type.
27
-	 *
28
-	 * @var string
29
-	 */
30
-	protected $object_type = 'discount';
31
-
32
-	/**
33
-	 * Discount Data array. This is the core item data exposed in APIs.
34
-	 *
35
-	 * @since 1.0.19
36
-	 * @var array
37
-	 */
38
-	protected $data = array(
39
-		'status'               => 'draft',
40
-		'version'              => '',
41
-		'date_created'         => null,
26
+     * This is the name of this object type.
27
+     *
28
+     * @var string
29
+     */
30
+    protected $object_type = 'discount';
31
+
32
+    /**
33
+     * Discount Data array. This is the core item data exposed in APIs.
34
+     *
35
+     * @since 1.0.19
36
+     * @var array
37
+     */
38
+    protected $data = array(
39
+        'status'               => 'draft',
40
+        'version'              => '',
41
+        'date_created'         => null,
42 42
         'date_modified'        => null,
43 43
         'name'                 => 'no-name',
44 44
         'description'          => '',
@@ -58,144 +58,144 @@  discard block
 block discarded – undo
58 58
         'amount'               => null,
59 59
     );
60 60
 
61
-	/**
62
-	 * Stores meta in cache for future reads.
63
-	 *
64
-	 * A group must be set to to enable caching.
65
-	 *
66
-	 * @var string
67
-	 */
68
-	protected $cache_group = 'getpaid_discounts';
61
+    /**
62
+     * Stores meta in cache for future reads.
63
+     *
64
+     * A group must be set to to enable caching.
65
+     *
66
+     * @var string
67
+     */
68
+    protected $cache_group = 'getpaid_discounts';
69 69
 
70 70
     /**
71 71
      * Stores a reference to the original WP_Post object
72 72
      *
73 73
      * @var WP_Post
74 74
      */
75
-	protected $post = null;
76
-
77
-	/**
78
-	 * Get the discount if ID is passed, otherwise the discount is new and empty.
79
-	 *
80
-	 * @param int|array|string|WPInv_Discount|WP_Post $discount discount data, object, ID or code.
81
-	 */
82
-	public function __construct( $discount = 0 ) {
83
-		parent::__construct( $discount );
84
-
85
-		if ( is_numeric( $discount ) && 'wpi_discount' === get_post_type( $discount ) ) {
86
-			$this->set_id( $discount );
87
-		} elseif ( $discount instanceof self ) {
88
-			$this->set_id( $discount->get_id() );
89
-		} elseif ( ! empty( $discount->ID ) ) {
90
-			$this->set_id( $discount->ID );
91
-		} elseif ( is_array( $discount ) ) {
92
-			$this->set_props( $discount );
93
-
94
-			if ( isset( $discount['ID'] ) ) {
95
-				$this->set_id( $discount['ID'] );
96
-			}
97
-
98
-		} elseif ( is_scalar( $discount ) && $discount = self::get_discount_id_by_code( $discount ) ) {
99
-			$this->set_id( $discount );
100
-		} else {
101
-			$this->set_object_read( true );
102
-		}
75
+    protected $post = null;
76
+
77
+    /**
78
+     * Get the discount if ID is passed, otherwise the discount is new and empty.
79
+     *
80
+     * @param int|array|string|WPInv_Discount|WP_Post $discount discount data, object, ID or code.
81
+     */
82
+    public function __construct( $discount = 0 ) {
83
+        parent::__construct( $discount );
84
+
85
+        if ( is_numeric( $discount ) && 'wpi_discount' === get_post_type( $discount ) ) {
86
+            $this->set_id( $discount );
87
+        } elseif ( $discount instanceof self ) {
88
+            $this->set_id( $discount->get_id() );
89
+        } elseif ( ! empty( $discount->ID ) ) {
90
+            $this->set_id( $discount->ID );
91
+        } elseif ( is_array( $discount ) ) {
92
+            $this->set_props( $discount );
93
+
94
+            if ( isset( $discount['ID'] ) ) {
95
+                $this->set_id( $discount['ID'] );
96
+            }
97
+
98
+        } elseif ( is_scalar( $discount ) && $discount = self::get_discount_id_by_code( $discount ) ) {
99
+            $this->set_id( $discount );
100
+        } else {
101
+            $this->set_object_read( true );
102
+        }
103 103
 
104 104
         // Load the datastore.
105
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
105
+        $this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
106 106
 
107
-		if ( $this->get_id() > 0 ) {
107
+        if ( $this->get_id() > 0 ) {
108 108
             $this->post = get_post( $this->get_id() );
109 109
             $this->ID   = $this->get_id();
110
-			$this->data_store->read( $this );
110
+            $this->data_store->read( $this );
111
+        }
112
+
113
+    }
114
+
115
+    /**
116
+     * Fetch a discount from the db/cache
117
+     *
118
+     *
119
+     * @static
120
+     * @param string $field The field to query against: 'ID', 'discount_code'
121
+     * @param string|int $value The field value
122
+     * @deprecated
123
+     * @since 1.0.15
124
+     * @return array|bool array of discount details on success. False otherwise.
125
+     */
126
+    public static function get_data_by( $field, $value ) {
127
+
128
+        if ( 'id' == strtolower( $field ) ) {
129
+            // Make sure the value is numeric to avoid casting objects, for example,
130
+            // to int 1.
131
+            if ( ! is_numeric( $value ) )
132
+                return false;
133
+            $value = intval( $value );
134
+            if ( $value < 1 )
135
+                return false;
136
+        }
137
+
138
+        if ( ! $value || ! is_string( $field ) ) {
139
+            return false;
140
+        }
141
+
142
+        $field = trim( $field );
143
+
144
+        // prepare query args
145
+        switch ( strtolower( $field ) ) {
146
+            case 'id':
147
+                $discount_id = $value;
148
+                $args		 = array( 'include' => array( $value ) );
149
+                break;
150
+            case 'discount_code':
151
+            case 'code':
152
+                $value       = trim( $value );
153
+                $discount_id = wp_cache_get( $value, 'WPInv_Discount_Codes' );
154
+                $args		 = array( 'meta_key' => '_wpi_discount_code', 'meta_value' => $value );
155
+                break;
156
+            case 'name':
157
+                $discount_id = 0;
158
+                $args		 = array( 'name' => trim( $value ) );
159
+                break;
160
+            default:
161
+                $args		 = apply_filters( "wpinv_discount_get_data_by_{$field}_args", null, $value );
162
+                if ( ! is_array( $args ) ) {
163
+                    return apply_filters( "wpinv_discount_get_data_by_$field", false, $value );
164
+                }
165
+
166
+        }
167
+
168
+        // Check if there is a cached value.
169
+        if ( ! empty( $discount_id ) && $discount = wp_cache_get( (int) $discount_id, 'WPInv_Discounts' ) ) {
170
+            return $discount;
171
+        }
172
+
173
+        $args = array_merge(
174
+            $args,
175
+            array(
176
+                'post_type'      => 'wpi_discount',
177
+                'posts_per_page' => 1,
178
+                'post_status'    => array( 'publish', 'pending', 'draft', 'expired' )
179
+            )
180
+        );
181
+
182
+        $discount = get_posts( $args );
183
+
184
+        if( empty( $discount ) ) {
185
+            return false;
111 186
         }
112 187
 
113
-	}
114
-
115
-	/**
116
-	 * Fetch a discount from the db/cache
117
-	 *
118
-	 *
119
-	 * @static
120
-	 * @param string $field The field to query against: 'ID', 'discount_code'
121
-	 * @param string|int $value The field value
122
-	 * @deprecated
123
-	 * @since 1.0.15
124
-	 * @return array|bool array of discount details on success. False otherwise.
125
-	 */
126
-	public static function get_data_by( $field, $value ) {
127
-
128
-		if ( 'id' == strtolower( $field ) ) {
129
-			// Make sure the value is numeric to avoid casting objects, for example,
130
-			// to int 1.
131
-			if ( ! is_numeric( $value ) )
132
-				return false;
133
-			$value = intval( $value );
134
-			if ( $value < 1 )
135
-				return false;
136
-		}
137
-
138
-		if ( ! $value || ! is_string( $field ) ) {
139
-			return false;
140
-		}
141
-
142
-		$field = trim( $field );
143
-
144
-		// prepare query args
145
-		switch ( strtolower( $field ) ) {
146
-			case 'id':
147
-				$discount_id = $value;
148
-				$args		 = array( 'include' => array( $value ) );
149
-				break;
150
-			case 'discount_code':
151
-			case 'code':
152
-				$value       = trim( $value );
153
-				$discount_id = wp_cache_get( $value, 'WPInv_Discount_Codes' );
154
-				$args		 = array( 'meta_key' => '_wpi_discount_code', 'meta_value' => $value );
155
-				break;
156
-			case 'name':
157
-				$discount_id = 0;
158
-				$args		 = array( 'name' => trim( $value ) );
159
-				break;
160
-			default:
161
-				$args		 = apply_filters( "wpinv_discount_get_data_by_{$field}_args", null, $value );
162
-				if ( ! is_array( $args ) ) {
163
-					return apply_filters( "wpinv_discount_get_data_by_$field", false, $value );
164
-				}
165
-
166
-		}
167
-
168
-		// Check if there is a cached value.
169
-		if ( ! empty( $discount_id ) && $discount = wp_cache_get( (int) $discount_id, 'WPInv_Discounts' ) ) {
170
-			return $discount;
171
-		}
172
-
173
-		$args = array_merge(
174
-			$args,
175
-			array(
176
-				'post_type'      => 'wpi_discount',
177
-				'posts_per_page' => 1,
178
-				'post_status'    => array( 'publish', 'pending', 'draft', 'expired' )
179
-			)
180
-		);
181
-
182
-		$discount = get_posts( $args );
183
-
184
-		if( empty( $discount ) ) {
185
-			return false;
186
-		}
187
-
188
-		$discount = $discount[0];
189
-
190
-		// Prepare the return data.
191
-		$return = array(
188
+        $discount = $discount[0];
189
+
190
+        // Prepare the return data.
191
+        $return = array(
192 192
             'ID'                          => $discount->ID,
193 193
             'code'                        => get_post_meta( $discount->ID, '_wpi_discount_code', true ),
194 194
             'amount'                      => get_post_meta( $discount->ID, '_wpi_discount_amount', true ),
195 195
             'date_created'                => $discount->post_date,
196
-			'date_modified'               => $discount->post_modified,
197
-			'status'               		  => $discount->post_status,
198
-			'start'                  	  => get_post_meta( $discount->ID, '_wpi_discount_start', true ),
196
+            'date_modified'               => $discount->post_modified,
197
+            'status'               		  => $discount->post_status,
198
+            'start'                  	  => get_post_meta( $discount->ID, '_wpi_discount_start', true ),
199 199
             'expiration'                  => get_post_meta( $discount->ID, '_wpi_discount_expiration', true ),
200 200
             'type'               		  => get_post_meta( $discount->ID, '_wpi_discount_type', true ),
201 201
             'description'                 => $discount->post_excerpt,
@@ -209,77 +209,77 @@  discard block
 block discarded – undo
209 209
             'max_total'                   => get_post_meta( $discount->ID, '_wpi_discount_max_total', true ),
210 210
         );
211 211
 
212
-		$return = apply_filters( 'wpinv_discount_properties', $return );
213
-
214
-		// Update the cache with our data
215
-		wp_cache_add( $discount->ID, $return, 'WPInv_Discounts' );
216
-		wp_cache_add( $return['code'], $discount->ID, 'WPInv_Discount_Codes' );
217
-
218
-		return $return;
219
-	}
220
-
221
-	/**
222
-	 * Given a discount code, it returns a discount id.
223
-	 *
224
-	 *
225
-	 * @static
226
-	 * @param string $discount_code
227
-	 * @since 1.0.15
228
-	 * @return int
229
-	 */
230
-	public static function get_discount_id_by_code( $discount_code ) {
231
-
232
-		// Trim the code.
233
-		$discount_code = trim( $discount_code );
234
-
235
-		// Ensure a value has been passed.
236
-		if ( empty( $discount_code ) ) {
237
-			return 0;
238
-		}
239
-
240
-		// Maybe retrieve from the cache.
241
-		$discount_id   = wp_cache_get( $discount_code, 'getpaid_discount_codes' );
242
-		if ( ! empty( $discount_id ) ) {
243
-			return $discount_id;
244
-		}
245
-
246
-		// Fetch the first discount codes.
247
-		$discounts = get_posts(
248
-			array(
249
-				'meta_key'       => '_wpi_discount_code',
250
-				'meta_value'     => $discount_code,
251
-				'post_type'      => 'wpi_discount',
252
-				'posts_per_page' => 1,
253
-				'post_status'    => array( 'publish', 'pending', 'draft', 'expired' ),
254
-				'fields'         => 'ids',
255
-			)
256
-		);
257
-
258
-		if ( empty( $discounts ) ) {
259
-			return 0;
260
-		}
261
-
262
-		$discount_id = $discounts[0];
263
-
264
-		// Update the cache with our data
265
-		wp_cache_add( get_post_meta( $discount_id, '_wpi_discount_code', true ), $discount_id, 'getpaid_discount_codes' );
266
-
267
-		return $discount_id;
268
-	}
269
-
270
-	/**
271
-	 * Magic method for checking the existence of a certain custom field.
272
-	 *
273
-	 * @since 1.0.15
274
-	 * @access public
275
-	 *
276
-	 * @return bool Whether the given discount field is set.
277
-	 */
278
-	public function __isset( $key ){
279
-		return isset( $this->data[$key] ) || method_exists( $this, "get_$key");
280
-	}
281
-
282
-	/*
212
+        $return = apply_filters( 'wpinv_discount_properties', $return );
213
+
214
+        // Update the cache with our data
215
+        wp_cache_add( $discount->ID, $return, 'WPInv_Discounts' );
216
+        wp_cache_add( $return['code'], $discount->ID, 'WPInv_Discount_Codes' );
217
+
218
+        return $return;
219
+    }
220
+
221
+    /**
222
+     * Given a discount code, it returns a discount id.
223
+     *
224
+     *
225
+     * @static
226
+     * @param string $discount_code
227
+     * @since 1.0.15
228
+     * @return int
229
+     */
230
+    public static function get_discount_id_by_code( $discount_code ) {
231
+
232
+        // Trim the code.
233
+        $discount_code = trim( $discount_code );
234
+
235
+        // Ensure a value has been passed.
236
+        if ( empty( $discount_code ) ) {
237
+            return 0;
238
+        }
239
+
240
+        // Maybe retrieve from the cache.
241
+        $discount_id   = wp_cache_get( $discount_code, 'getpaid_discount_codes' );
242
+        if ( ! empty( $discount_id ) ) {
243
+            return $discount_id;
244
+        }
245
+
246
+        // Fetch the first discount codes.
247
+        $discounts = get_posts(
248
+            array(
249
+                'meta_key'       => '_wpi_discount_code',
250
+                'meta_value'     => $discount_code,
251
+                'post_type'      => 'wpi_discount',
252
+                'posts_per_page' => 1,
253
+                'post_status'    => array( 'publish', 'pending', 'draft', 'expired' ),
254
+                'fields'         => 'ids',
255
+            )
256
+        );
257
+
258
+        if ( empty( $discounts ) ) {
259
+            return 0;
260
+        }
261
+
262
+        $discount_id = $discounts[0];
263
+
264
+        // Update the cache with our data
265
+        wp_cache_add( get_post_meta( $discount_id, '_wpi_discount_code', true ), $discount_id, 'getpaid_discount_codes' );
266
+
267
+        return $discount_id;
268
+    }
269
+
270
+    /**
271
+     * Magic method for checking the existence of a certain custom field.
272
+     *
273
+     * @since 1.0.15
274
+     * @access public
275
+     *
276
+     * @return bool Whether the given discount field is set.
277
+     */
278
+    public function __isset( $key ){
279
+        return isset( $this->data[$key] ) || method_exists( $this, "get_$key");
280
+    }
281
+
282
+    /*
283 283
 	|--------------------------------------------------------------------------
284 284
 	| CRUD methods
285 285
 	|--------------------------------------------------------------------------
@@ -294,430 +294,430 @@  discard block
 block discarded – undo
294 294
 	|--------------------------------------------------------------------------
295 295
 	*/
296 296
 
297
-	/**
298
-	 * Get discount status.
299
-	 *
300
-	 * @since 1.0.19
301
-	 * @param  string $context View or edit context.
302
-	 * @return string
303
-	 */
304
-	public function get_status( $context = 'view' ) {
305
-		return $this->get_prop( 'status', $context );
297
+    /**
298
+     * Get discount status.
299
+     *
300
+     * @since 1.0.19
301
+     * @param  string $context View or edit context.
302
+     * @return string
303
+     */
304
+    public function get_status( $context = 'view' ) {
305
+        return $this->get_prop( 'status', $context );
306 306
     }
307 307
 
308 308
     /**
309
-	 * Get plugin version when the discount was created.
310
-	 *
311
-	 * @since 1.0.19
312
-	 * @param  string $context View or edit context.
313
-	 * @return string
314
-	 */
315
-	public function get_version( $context = 'view' ) {
316
-		return $this->get_prop( 'version', $context );
309
+     * Get plugin version when the discount was created.
310
+     *
311
+     * @since 1.0.19
312
+     * @param  string $context View or edit context.
313
+     * @return string
314
+     */
315
+    public function get_version( $context = 'view' ) {
316
+        return $this->get_prop( 'version', $context );
317 317
     }
318 318
 
319 319
     /**
320
-	 * Get date when the discount was created.
321
-	 *
322
-	 * @since 1.0.19
323
-	 * @param  string $context View or edit context.
324
-	 * @return string
325
-	 */
326
-	public function get_date_created( $context = 'view' ) {
327
-		return $this->get_prop( 'date_created', $context );
320
+     * Get date when the discount was created.
321
+     *
322
+     * @since 1.0.19
323
+     * @param  string $context View or edit context.
324
+     * @return string
325
+     */
326
+    public function get_date_created( $context = 'view' ) {
327
+        return $this->get_prop( 'date_created', $context );
328 328
     }
329 329
 
330 330
     /**
331
-	 * Get GMT date when the discount was created.
332
-	 *
333
-	 * @since 1.0.19
334
-	 * @param  string $context View or edit context.
335
-	 * @return string
336
-	 */
337
-	public function get_date_created_gmt( $context = 'view' ) {
331
+     * Get GMT date when the discount was created.
332
+     *
333
+     * @since 1.0.19
334
+     * @param  string $context View or edit context.
335
+     * @return string
336
+     */
337
+    public function get_date_created_gmt( $context = 'view' ) {
338 338
         $date = $this->get_date_created( $context );
339 339
 
340 340
         if ( $date ) {
341 341
             $date = get_gmt_from_date( $date );
342 342
         }
343
-		return $date;
343
+        return $date;
344 344
     }
345 345
 
346 346
     /**
347
-	 * Get date when the discount was last modified.
348
-	 *
349
-	 * @since 1.0.19
350
-	 * @param  string $context View or edit context.
351
-	 * @return string
352
-	 */
353
-	public function get_date_modified( $context = 'view' ) {
354
-		return $this->get_prop( 'date_modified', $context );
347
+     * Get date when the discount was last modified.
348
+     *
349
+     * @since 1.0.19
350
+     * @param  string $context View or edit context.
351
+     * @return string
352
+     */
353
+    public function get_date_modified( $context = 'view' ) {
354
+        return $this->get_prop( 'date_modified', $context );
355 355
     }
356 356
 
357 357
     /**
358
-	 * Get GMT date when the discount was last modified.
359
-	 *
360
-	 * @since 1.0.19
361
-	 * @param  string $context View or edit context.
362
-	 * @return string
363
-	 */
364
-	public function get_date_modified_gmt( $context = 'view' ) {
358
+     * Get GMT date when the discount was last modified.
359
+     *
360
+     * @since 1.0.19
361
+     * @param  string $context View or edit context.
362
+     * @return string
363
+     */
364
+    public function get_date_modified_gmt( $context = 'view' ) {
365 365
         $date = $this->get_date_modified( $context );
366 366
 
367 367
         if ( $date ) {
368 368
             $date = get_gmt_from_date( $date );
369 369
         }
370
-		return $date;
370
+        return $date;
371 371
     }
372 372
 
373 373
     /**
374
-	 * Get the discount name.
375
-	 *
376
-	 * @since 1.0.19
377
-	 * @param  string $context View or edit context.
378
-	 * @return string
379
-	 */
380
-	public function get_name( $context = 'view' ) {
381
-		return $this->get_prop( 'name', $context );
374
+     * Get the discount name.
375
+     *
376
+     * @since 1.0.19
377
+     * @param  string $context View or edit context.
378
+     * @return string
379
+     */
380
+    public function get_name( $context = 'view' ) {
381
+        return $this->get_prop( 'name', $context );
382 382
     }
383 383
 
384 384
     /**
385
-	 * Alias of self::get_name().
386
-	 *
387
-	 * @since 1.0.19
388
-	 * @param  string $context View or edit context.
389
-	 * @return string
390
-	 */
391
-	public function get_title( $context = 'view' ) {
392
-		return $this->get_name( $context );
385
+     * Alias of self::get_name().
386
+     *
387
+     * @since 1.0.19
388
+     * @param  string $context View or edit context.
389
+     * @return string
390
+     */
391
+    public function get_title( $context = 'view' ) {
392
+        return $this->get_name( $context );
393 393
     }
394 394
 
395 395
     /**
396
-	 * Get the discount description.
397
-	 *
398
-	 * @since 1.0.19
399
-	 * @param  string $context View or edit context.
400
-	 * @return string
401
-	 */
402
-	public function get_description( $context = 'view' ) {
403
-		return $this->get_prop( 'description', $context );
396
+     * Get the discount description.
397
+     *
398
+     * @since 1.0.19
399
+     * @param  string $context View or edit context.
400
+     * @return string
401
+     */
402
+    public function get_description( $context = 'view' ) {
403
+        return $this->get_prop( 'description', $context );
404 404
     }
405 405
 
406 406
     /**
407
-	 * Alias of self::get_description().
408
-	 *
409
-	 * @since 1.0.19
410
-	 * @param  string $context View or edit context.
411
-	 * @return string
412
-	 */
413
-	public function get_excerpt( $context = 'view' ) {
414
-		return $this->get_description( $context );
407
+     * Alias of self::get_description().
408
+     *
409
+     * @since 1.0.19
410
+     * @param  string $context View or edit context.
411
+     * @return string
412
+     */
413
+    public function get_excerpt( $context = 'view' ) {
414
+        return $this->get_description( $context );
415 415
     }
416 416
 
417 417
     /**
418
-	 * Alias of self::get_description().
419
-	 *
420
-	 * @since 1.0.19
421
-	 * @param  string $context View or edit context.
422
-	 * @return string
423
-	 */
424
-	public function get_summary( $context = 'view' ) {
425
-		return $this->get_description( $context );
418
+     * Alias of self::get_description().
419
+     *
420
+     * @since 1.0.19
421
+     * @param  string $context View or edit context.
422
+     * @return string
423
+     */
424
+    public function get_summary( $context = 'view' ) {
425
+        return $this->get_description( $context );
426 426
     }
427 427
 
428 428
     /**
429
-	 * Get the owner of the discount.
430
-	 *
431
-	 * @since 1.0.19
432
-	 * @param  string $context View or edit context.
433
-	 * @return string
434
-	 */
435
-	public function get_author( $context = 'view' ) {
436
-		return (int) $this->get_prop( 'author', $context );
437
-	}
429
+     * Get the owner of the discount.
430
+     *
431
+     * @since 1.0.19
432
+     * @param  string $context View or edit context.
433
+     * @return string
434
+     */
435
+    public function get_author( $context = 'view' ) {
436
+        return (int) $this->get_prop( 'author', $context );
437
+    }
438 438
 	
439
-	/**
440
-	 * Get the discount code.
441
-	 *
442
-	 * @since 1.0.19
443
-	 * @param  string $context View or edit context.
444
-	 * @return string
445
-	 */
446
-	public function get_code( $context = 'view' ) {
447
-		return $this->get_prop( 'code', $context );
448
-	}
439
+    /**
440
+     * Get the discount code.
441
+     *
442
+     * @since 1.0.19
443
+     * @param  string $context View or edit context.
444
+     * @return string
445
+     */
446
+    public function get_code( $context = 'view' ) {
447
+        return $this->get_prop( 'code', $context );
448
+    }
449 449
 	
450
-	/**
451
-	 * Alias for self::get_code().
452
-	 *
453
-	 * @since 1.0.19
454
-	 * @param  string $context View or edit context.
455
-	 * @return string
456
-	 */
457
-	public function get_coupon_code( $context = 'view' ) {
458
-		return $this->get_code( $context );
459
-	}
450
+    /**
451
+     * Alias for self::get_code().
452
+     *
453
+     * @since 1.0.19
454
+     * @param  string $context View or edit context.
455
+     * @return string
456
+     */
457
+    public function get_coupon_code( $context = 'view' ) {
458
+        return $this->get_code( $context );
459
+    }
460 460
 	
461
-	/**
462
-	 * Alias for self::get_code().
463
-	 *
464
-	 * @since 1.0.19
465
-	 * @param  string $context View or edit context.
466
-	 * @return string
467
-	 */
468
-	public function get_discount_code( $context = 'view' ) {
469
-		return $this->get_code( $context );
470
-	}
461
+    /**
462
+     * Alias for self::get_code().
463
+     *
464
+     * @since 1.0.19
465
+     * @param  string $context View or edit context.
466
+     * @return string
467
+     */
468
+    public function get_discount_code( $context = 'view' ) {
469
+        return $this->get_code( $context );
470
+    }
471 471
 	
472
-	/**
473
-	 * Get the discount's amount.
474
-	 *
475
-	 * @since 1.0.19
476
-	 * @param  string $context View or edit context.
477
-	 * @return float
478
-	 */
479
-	public function get_amount( $context = 'view' ) {
480
-		return $this->get_prop( 'amount', $context );
481
-	}
482
-
483
-	/**
484
-	 * Get the discount's formated amount/rate.
485
-	 *
486
-	 * @since 1.0.19
487
-	 * @return string
488
-	 */
489
-	public function get_formatted_amount() {
490
-
491
-		if ( $this->is_type( 'flat' ) ) {
492
-			$rate = wpinv_price( wpinv_format_amount( $this->get_amount() ) );
493
-		} else {
494
-			$rate = $this->get_amount() . '%';
495
-		}
496
-
497
-		return apply_filters( 'wpinv_format_discount_rate', $rate, $this->get_type(), $this->get_amount() );
498
-	}
472
+    /**
473
+     * Get the discount's amount.
474
+     *
475
+     * @since 1.0.19
476
+     * @param  string $context View or edit context.
477
+     * @return float
478
+     */
479
+    public function get_amount( $context = 'view' ) {
480
+        return $this->get_prop( 'amount', $context );
481
+    }
482
+
483
+    /**
484
+     * Get the discount's formated amount/rate.
485
+     *
486
+     * @since 1.0.19
487
+     * @return string
488
+     */
489
+    public function get_formatted_amount() {
490
+
491
+        if ( $this->is_type( 'flat' ) ) {
492
+            $rate = wpinv_price( wpinv_format_amount( $this->get_amount() ) );
493
+        } else {
494
+            $rate = $this->get_amount() . '%';
495
+        }
496
+
497
+        return apply_filters( 'wpinv_format_discount_rate', $rate, $this->get_type(), $this->get_amount() );
498
+    }
499 499
 	
500
-	/**
501
-	 * Get the discount's start date.
502
-	 *
503
-	 * @since 1.0.19
504
-	 * @param  string $context View or edit context.
505
-	 * @return string
506
-	 */
507
-	public function get_start( $context = 'view' ) {
508
-		return $this->get_prop( 'start', $context );
509
-	}
500
+    /**
501
+     * Get the discount's start date.
502
+     *
503
+     * @since 1.0.19
504
+     * @param  string $context View or edit context.
505
+     * @return string
506
+     */
507
+    public function get_start( $context = 'view' ) {
508
+        return $this->get_prop( 'start', $context );
509
+    }
510 510
 	
511
-	/**
512
-	 * Alias for self::get_start().
513
-	 *
514
-	 * @since 1.0.19
515
-	 * @param  string $context View or edit context.
516
-	 * @return string
517
-	 */
518
-	public function get_start_date( $context = 'view' ) {
519
-		return $this->get_start( $context );
520
-	}
511
+    /**
512
+     * Alias for self::get_start().
513
+     *
514
+     * @since 1.0.19
515
+     * @param  string $context View or edit context.
516
+     * @return string
517
+     */
518
+    public function get_start_date( $context = 'view' ) {
519
+        return $this->get_start( $context );
520
+    }
521 521
 	
522
-	/**
523
-	 * Get the discount's expiration date.
524
-	 *
525
-	 * @since 1.0.19
526
-	 * @param  string $context View or edit context.
527
-	 * @return string
528
-	 */
529
-	public function get_expiration( $context = 'view' ) {
530
-		return $this->get_prop( 'expiration', $context );
531
-	}
522
+    /**
523
+     * Get the discount's expiration date.
524
+     *
525
+     * @since 1.0.19
526
+     * @param  string $context View or edit context.
527
+     * @return string
528
+     */
529
+    public function get_expiration( $context = 'view' ) {
530
+        return $this->get_prop( 'expiration', $context );
531
+    }
532 532
 	
533
-	/**
534
-	 * Alias for self::get_expiration().
535
-	 *
536
-	 * @since 1.0.19
537
-	 * @param  string $context View or edit context.
538
-	 * @return string
539
-	 */
540
-	public function get_expiration_date( $context = 'view' ) {
541
-		return $this->get_expiration( $context );
542
-	}
543
-
544
-	/**
545
-	 * Alias for self::get_expiration().
546
-	 *
547
-	 * @since 1.0.19
548
-	 * @param  string $context View or edit context.
549
-	 * @return string
550
-	 */
551
-	public function get_end_date( $context = 'view' ) {
552
-		return $this->get_expiration( $context );
553
-	}
533
+    /**
534
+     * Alias for self::get_expiration().
535
+     *
536
+     * @since 1.0.19
537
+     * @param  string $context View or edit context.
538
+     * @return string
539
+     */
540
+    public function get_expiration_date( $context = 'view' ) {
541
+        return $this->get_expiration( $context );
542
+    }
543
+
544
+    /**
545
+     * Alias for self::get_expiration().
546
+     *
547
+     * @since 1.0.19
548
+     * @param  string $context View or edit context.
549
+     * @return string
550
+     */
551
+    public function get_end_date( $context = 'view' ) {
552
+        return $this->get_expiration( $context );
553
+    }
554 554
 	
555
-	/**
556
-	 * Get the discount's type.
557
-	 *
558
-	 * @since 1.0.19
559
-	 * @param  string $context View or edit context.
560
-	 * @return string
561
-	 */
562
-	public function get_type( $context = 'view' ) {
563
-		return $this->get_prop( 'type', $context );
564
-	}
565
-
566
-	/**
567
-	 * Get the number of times a discount has been used.
568
-	 *
569
-	 * @since 1.0.19
570
-	 * @param  string $context View or edit context.
571
-	 * @return int
572
-	 */
573
-	public function get_uses( $context = 'view' ) {
574
-		return (int) $this->get_prop( 'uses', $context );
575
-	}
576
-
577
-	/**
578
-	 * Get the discount's usage, i.e uses / max uses.
579
-	 *
580
-	 * @since 1.0.19
581
-	 * @return string
582
-	 */
583
-	public function get_usage() {
584
-
585
-		if ( ! $this->has_limit() ) {
586
-			return $this->get_uses() . ' / ' . ' &infin;';
587
-		}
588
-
589
-		return $this->get_uses() . ' / ' . (int) $this->get_max_uses();
590
-
591
-	}
592
-
593
-	/**
594
-	 * Get the maximum number of time a discount can be used.
595
-	 *
596
-	 * @since 1.0.19
597
-	 * @param  string $context View or edit context.
598
-	 * @return int
599
-	 */
600
-	public function get_max_uses( $context = 'view' ) {
601
-		$max_uses = $this->get_prop( 'max_uses', $context );
602
-		return empty( $max_uses ) ? null : $max_uses;
603
-	}
604
-
605
-	/**
606
-	 * Checks if this is a single use discount or not.
607
-	 *
608
-	 * @since 1.0.19
609
-	 * @param  string $context View or edit context.
610
-	 * @return bool
611
-	 */
612
-	public function get_is_single_use( $context = 'view' ) {
613
-		return $this->get_prop( 'is_single_use', $context );
614
-	}
615
-
616
-	/**
617
-	 * Get the items that can be used with this discount.
618
-	 *
619
-	 * @since 1.0.19
620
-	 * @param  string $context View or edit context.
621
-	 * @return array
622
-	 */
623
-	public function get_items( $context = 'view' ) {
624
-		return wpinv_parse_list( $this->get_prop( 'items', $context ) );
625
-	}
626
-
627
-	/**
628
-	 * Alias for self::get_items().
629
-	 *
630
-	 * @since 1.0.19
631
-	 * @param  string $context View or edit context.
632
-	 * @return array
633
-	 */
634
-	public function get_allowed_items( $context = 'view' ) {
635
-		return $this->get_items( $context );
636
-	}
637
-
638
-	/**
639
-	 * Get the items that are not allowed to use this discount.
640
-	 *
641
-	 * @since 1.0.19
642
-	 * @param  string $context View or edit context.
643
-	 * @return array
644
-	 */
645
-	public function get_excluded_items( $context = 'view' ) {
646
-		return wpinv_parse_list( $this->get_prop( 'excluded_items', $context ) );
647
-	}
648
-
649
-	/**
650
-	 * Checks if this is a recurring discount or not.
651
-	 *
652
-	 * @since 1.0.19
653
-	 * @param  string $context View or edit context.
654
-	 * @return int|string|bool
655
-	 */
656
-	public function get_is_recurring( $context = 'view' ) {
657
-		return $this->get_prop( 'is_recurring', $context );
658
-	}
659
-
660
-	/**
661
-	 * Get's the minimum total amount allowed for this discount.
662
-	 *
663
-	 * @since 1.0.19
664
-	 * @param  string $context View or edit context.
665
-	 * @return float
666
-	 */
667
-	public function get_min_total( $context = 'view' ) {
668
-		$minimum = $this->get_prop( 'min_total', $context );
669
-		return empty( $minimum ) ? null : $minimum;
670
-	}
671
-
672
-	/**
673
-	 * Alias for self::get_min_total().
674
-	 *
675
-	 * @since 1.0.19
676
-	 * @param  string $context View or edit context.
677
-	 * @return float
678
-	 */
679
-	public function get_minimum_total( $context = 'view' ) {
680
-		return $this->get_min_total( $context );
681
-	}
682
-
683
-	/**
684
-	 * Get's the maximum total amount allowed for this discount.
685
-	 *
686
-	 * @since 1.0.19
687
-	 * @param  string $context View or edit context.
688
-	 * @return float
689
-	 */
690
-	public function get_max_total( $context = 'view' ) {
691
-		$maximum = $this->get_prop( 'max_total', $context );
692
-		return empty( $maximum ) ? null : $maximum;
693
-	}
694
-
695
-	/**
696
-	 * Alias for self::get_max_total().
697
-	 *
698
-	 * @since 1.0.19
699
-	 * @param  string $context View or edit context.
700
-	 * @return float
701
-	 */
702
-	public function get_maximum_total( $context = 'view' ) {
703
-		return $this->get_max_total( $context );
704
-	}
705
-
706
-	/**
707
-	 * Magic method for accessing discount properties.
708
-	 *
709
-	 * @since 1.0.15
710
-	 * @access public
711
-	 *
712
-	 * @param string $key Discount data to retrieve
713
-	 * @param  string $context View or edit context.
714
-	 * @return mixed Value of the given discount property (if set).
715
-	 */
716
-	public function get( $key, $context = 'view' ) {
555
+    /**
556
+     * Get the discount's type.
557
+     *
558
+     * @since 1.0.19
559
+     * @param  string $context View or edit context.
560
+     * @return string
561
+     */
562
+    public function get_type( $context = 'view' ) {
563
+        return $this->get_prop( 'type', $context );
564
+    }
565
+
566
+    /**
567
+     * Get the number of times a discount has been used.
568
+     *
569
+     * @since 1.0.19
570
+     * @param  string $context View or edit context.
571
+     * @return int
572
+     */
573
+    public function get_uses( $context = 'view' ) {
574
+        return (int) $this->get_prop( 'uses', $context );
575
+    }
576
+
577
+    /**
578
+     * Get the discount's usage, i.e uses / max uses.
579
+     *
580
+     * @since 1.0.19
581
+     * @return string
582
+     */
583
+    public function get_usage() {
584
+
585
+        if ( ! $this->has_limit() ) {
586
+            return $this->get_uses() . ' / ' . ' &infin;';
587
+        }
588
+
589
+        return $this->get_uses() . ' / ' . (int) $this->get_max_uses();
590
+
591
+    }
592
+
593
+    /**
594
+     * Get the maximum number of time a discount can be used.
595
+     *
596
+     * @since 1.0.19
597
+     * @param  string $context View or edit context.
598
+     * @return int
599
+     */
600
+    public function get_max_uses( $context = 'view' ) {
601
+        $max_uses = $this->get_prop( 'max_uses', $context );
602
+        return empty( $max_uses ) ? null : $max_uses;
603
+    }
604
+
605
+    /**
606
+     * Checks if this is a single use discount or not.
607
+     *
608
+     * @since 1.0.19
609
+     * @param  string $context View or edit context.
610
+     * @return bool
611
+     */
612
+    public function get_is_single_use( $context = 'view' ) {
613
+        return $this->get_prop( 'is_single_use', $context );
614
+    }
615
+
616
+    /**
617
+     * Get the items that can be used with this discount.
618
+     *
619
+     * @since 1.0.19
620
+     * @param  string $context View or edit context.
621
+     * @return array
622
+     */
623
+    public function get_items( $context = 'view' ) {
624
+        return wpinv_parse_list( $this->get_prop( 'items', $context ) );
625
+    }
626
+
627
+    /**
628
+     * Alias for self::get_items().
629
+     *
630
+     * @since 1.0.19
631
+     * @param  string $context View or edit context.
632
+     * @return array
633
+     */
634
+    public function get_allowed_items( $context = 'view' ) {
635
+        return $this->get_items( $context );
636
+    }
637
+
638
+    /**
639
+     * Get the items that are not allowed to use this discount.
640
+     *
641
+     * @since 1.0.19
642
+     * @param  string $context View or edit context.
643
+     * @return array
644
+     */
645
+    public function get_excluded_items( $context = 'view' ) {
646
+        return wpinv_parse_list( $this->get_prop( 'excluded_items', $context ) );
647
+    }
648
+
649
+    /**
650
+     * Checks if this is a recurring discount or not.
651
+     *
652
+     * @since 1.0.19
653
+     * @param  string $context View or edit context.
654
+     * @return int|string|bool
655
+     */
656
+    public function get_is_recurring( $context = 'view' ) {
657
+        return $this->get_prop( 'is_recurring', $context );
658
+    }
659
+
660
+    /**
661
+     * Get's the minimum total amount allowed for this discount.
662
+     *
663
+     * @since 1.0.19
664
+     * @param  string $context View or edit context.
665
+     * @return float
666
+     */
667
+    public function get_min_total( $context = 'view' ) {
668
+        $minimum = $this->get_prop( 'min_total', $context );
669
+        return empty( $minimum ) ? null : $minimum;
670
+    }
671
+
672
+    /**
673
+     * Alias for self::get_min_total().
674
+     *
675
+     * @since 1.0.19
676
+     * @param  string $context View or edit context.
677
+     * @return float
678
+     */
679
+    public function get_minimum_total( $context = 'view' ) {
680
+        return $this->get_min_total( $context );
681
+    }
682
+
683
+    /**
684
+     * Get's the maximum total amount allowed for this discount.
685
+     *
686
+     * @since 1.0.19
687
+     * @param  string $context View or edit context.
688
+     * @return float
689
+     */
690
+    public function get_max_total( $context = 'view' ) {
691
+        $maximum = $this->get_prop( 'max_total', $context );
692
+        return empty( $maximum ) ? null : $maximum;
693
+    }
694
+
695
+    /**
696
+     * Alias for self::get_max_total().
697
+     *
698
+     * @since 1.0.19
699
+     * @param  string $context View or edit context.
700
+     * @return float
701
+     */
702
+    public function get_maximum_total( $context = 'view' ) {
703
+        return $this->get_max_total( $context );
704
+    }
705
+
706
+    /**
707
+     * Magic method for accessing discount properties.
708
+     *
709
+     * @since 1.0.15
710
+     * @access public
711
+     *
712
+     * @param string $key Discount data to retrieve
713
+     * @param  string $context View or edit context.
714
+     * @return mixed Value of the given discount property (if set).
715
+     */
716
+    public function get( $key, $context = 'view' ) {
717 717
         return $this->get_prop( $key, $context );
718
-	}
718
+    }
719 719
 
720
-	/*
720
+    /*
721 721
 	|--------------------------------------------------------------------------
722 722
 	| Setters
723 723
 	|--------------------------------------------------------------------------
@@ -727,41 +727,41 @@  discard block
 block discarded – undo
727 727
 	| object.
728 728
 	*/
729 729
 	
730
-	/**
731
-	 * Sets discount status.
732
-	 *
733
-	 * @since 1.0.19
734
-	 * @param  string $status New status.
735
-	 * @return array details of change.
736
-	 */
737
-	public function set_status( $status ) {
730
+    /**
731
+     * Sets discount status.
732
+     *
733
+     * @since 1.0.19
734
+     * @param  string $status New status.
735
+     * @return array details of change.
736
+     */
737
+    public function set_status( $status ) {
738 738
         $old_status = $this->get_status();
739 739
 
740 740
         $this->set_prop( 'status', $status );
741 741
 
742
-		return array(
743
-			'from' => $old_status,
744
-			'to'   => $status,
745
-		);
742
+        return array(
743
+            'from' => $old_status,
744
+            'to'   => $status,
745
+        );
746 746
     }
747 747
 
748 748
     /**
749
-	 * Set plugin version when the discount was created.
750
-	 *
751
-	 * @since 1.0.19
752
-	 */
753
-	public function set_version( $value ) {
754
-		$this->set_prop( 'version', $value );
749
+     * Set plugin version when the discount was created.
750
+     *
751
+     * @since 1.0.19
752
+     */
753
+    public function set_version( $value ) {
754
+        $this->set_prop( 'version', $value );
755 755
     }
756 756
 
757 757
     /**
758
-	 * Set date when the discount was created.
759
-	 *
760
-	 * @since 1.0.19
761
-	 * @param string $value Value to set.
758
+     * Set date when the discount was created.
759
+     *
760
+     * @since 1.0.19
761
+     * @param string $value Value to set.
762 762
      * @return bool Whether or not the date was set.
763
-	 */
764
-	public function set_date_created( $value ) {
763
+     */
764
+    public function set_date_created( $value ) {
765 765
         $date = strtotime( $value );
766 766
 
767 767
         if ( $date ) {
@@ -774,13 +774,13 @@  discard block
 block discarded – undo
774 774
     }
775 775
 
776 776
     /**
777
-	 * Set date when the discount was last modified.
778
-	 *
779
-	 * @since 1.0.19
780
-	 * @param string $value Value to set.
777
+     * Set date when the discount was last modified.
778
+     *
779
+     * @since 1.0.19
780
+     * @param string $value Value to set.
781 781
      * @return bool Whether or not the date was set.
782
-	 */
783
-	public function set_date_modified( $value ) {
782
+     */
783
+    public function set_date_modified( $value ) {
784 784
         $date = strtotime( $value );
785 785
 
786 786
         if ( $date ) {
@@ -793,324 +793,324 @@  discard block
 block discarded – undo
793 793
     }
794 794
 
795 795
     /**
796
-	 * Set the discount name.
797
-	 *
798
-	 * @since 1.0.19
799
-	 * @param  string $value New name.
800
-	 */
801
-	public function set_name( $value ) {
796
+     * Set the discount name.
797
+     *
798
+     * @since 1.0.19
799
+     * @param  string $value New name.
800
+     */
801
+    public function set_name( $value ) {
802 802
         $name = sanitize_text_field( $value );
803
-		$this->set_prop( 'name', $name );
803
+        $this->set_prop( 'name', $name );
804 804
     }
805 805
 
806 806
     /**
807
-	 * Alias of self::set_name().
808
-	 *
809
-	 * @since 1.0.19
810
-	 * @param  string $value New name.
811
-	 */
812
-	public function set_title( $value ) {
813
-		$this->set_name( $value );
807
+     * Alias of self::set_name().
808
+     *
809
+     * @since 1.0.19
810
+     * @param  string $value New name.
811
+     */
812
+    public function set_title( $value ) {
813
+        $this->set_name( $value );
814 814
     }
815 815
 
816 816
     /**
817
-	 * Set the discount description.
818
-	 *
819
-	 * @since 1.0.19
820
-	 * @param  string $value New description.
821
-	 */
822
-	public function set_description( $value ) {
817
+     * Set the discount description.
818
+     *
819
+     * @since 1.0.19
820
+     * @param  string $value New description.
821
+     */
822
+    public function set_description( $value ) {
823 823
         $description = wp_kses_post( $value );
824
-		return $this->set_prop( 'description', $description );
824
+        return $this->set_prop( 'description', $description );
825 825
     }
826 826
 
827 827
     /**
828
-	 * Alias of self::set_description().
829
-	 *
830
-	 * @since 1.0.19
831
-	 * @param  string $value New description.
832
-	 */
833
-	public function set_excerpt( $value ) {
834
-		$this->set_description( $value );
828
+     * Alias of self::set_description().
829
+     *
830
+     * @since 1.0.19
831
+     * @param  string $value New description.
832
+     */
833
+    public function set_excerpt( $value ) {
834
+        $this->set_description( $value );
835 835
     }
836 836
 
837 837
     /**
838
-	 * Alias of self::set_description().
839
-	 *
840
-	 * @since 1.0.19
841
-	 * @param  string $value New description.
842
-	 */
843
-	public function set_summary( $value ) {
844
-		$this->set_description( $value );
838
+     * Alias of self::set_description().
839
+     *
840
+     * @since 1.0.19
841
+     * @param  string $value New description.
842
+     */
843
+    public function set_summary( $value ) {
844
+        $this->set_description( $value );
845 845
     }
846 846
 
847 847
     /**
848
-	 * Set the owner of the discount.
849
-	 *
850
-	 * @since 1.0.19
851
-	 * @param  int $value New author.
852
-	 */
853
-	public function set_author( $value ) {
854
-		$this->set_prop( 'author', (int) $value );
855
-	}
848
+     * Set the owner of the discount.
849
+     *
850
+     * @since 1.0.19
851
+     * @param  int $value New author.
852
+     */
853
+    public function set_author( $value ) {
854
+        $this->set_prop( 'author', (int) $value );
855
+    }
856 856
 	
857
-	/**
858
-	 * Sets the discount code.
859
-	 *
860
-	 * @since 1.0.19
861
-	 * @param string $value New discount code.
862
-	 */
863
-	public function set_code( $value ) {
864
-		$code = sanitize_text_field( $value );
865
-		$this->set_prop( 'code', $code );
866
-	}
857
+    /**
858
+     * Sets the discount code.
859
+     *
860
+     * @since 1.0.19
861
+     * @param string $value New discount code.
862
+     */
863
+    public function set_code( $value ) {
864
+        $code = sanitize_text_field( $value );
865
+        $this->set_prop( 'code', $code );
866
+    }
867 867
 	
868
-	/**
869
-	 * Alias of self::set_code().
870
-	 *
871
-	 * @since 1.0.19
872
-	 * @param string $value New discount code.
873
-	 */
874
-	public function set_coupon_code( $value ) {
875
-		$this->set_code( $value );
876
-	}
868
+    /**
869
+     * Alias of self::set_code().
870
+     *
871
+     * @since 1.0.19
872
+     * @param string $value New discount code.
873
+     */
874
+    public function set_coupon_code( $value ) {
875
+        $this->set_code( $value );
876
+    }
877 877
 	
878
-	/**
879
-	 * Alias of self::set_code().
880
-	 *
881
-	 * @since 1.0.19
882
-	 * @param string $value New discount code.
883
-	 */
884
-	public function set_discount_code( $value ) {
885
-		$this->set_code( $value );
886
-	}
878
+    /**
879
+     * Alias of self::set_code().
880
+     *
881
+     * @since 1.0.19
882
+     * @param string $value New discount code.
883
+     */
884
+    public function set_discount_code( $value ) {
885
+        $this->set_code( $value );
886
+    }
887 887
 	
888
-	/**
889
-	 * Sets the discount amount.
890
-	 *
891
-	 * @since 1.0.19
892
-	 * @param float $value New discount code.
893
-	 */
894
-	public function set_amount( $value ) {
895
-		$amount = floatval( wpinv_sanitize_amount( $value ) );
896
-		$this->set_prop( 'amount', $amount );
897
-	}
898
-
899
-	/**
900
-	 * Sets the discount's start date.
901
-	 *
902
-	 * @since 1.0.19
903
-	 * @param float $value New start date.
904
-	 */
905
-	public function set_start( $value ) {
906
-		$date = strtotime( $value );
888
+    /**
889
+     * Sets the discount amount.
890
+     *
891
+     * @since 1.0.19
892
+     * @param float $value New discount code.
893
+     */
894
+    public function set_amount( $value ) {
895
+        $amount = floatval( wpinv_sanitize_amount( $value ) );
896
+        $this->set_prop( 'amount', $amount );
897
+    }
907 898
 
908
-        if ( $date ) {
909
-            $this->set_prop( 'start', date( 'Y-m-d H:i', $date ) );
910
-            return true;
911
-		}
899
+    /**
900
+     * Sets the discount's start date.
901
+     *
902
+     * @since 1.0.19
903
+     * @param float $value New start date.
904
+     */
905
+    public function set_start( $value ) {
906
+        $date = strtotime( $value );
907
+
908
+        if ( $date ) {
909
+            $this->set_prop( 'start', date( 'Y-m-d H:i', $date ) );
910
+            return true;
911
+        }
912 912
 		
913
-		$this->set_prop( 'start', '' );
913
+        $this->set_prop( 'start', '' );
914 914
 
915 915
         return false;
916
-	}
917
-
918
-	/**
919
-	 * Alias of self::set_start().
920
-	 *
921
-	 * @since 1.0.19
922
-	 * @param string $value New start date.
923
-	 */
924
-	public function set_start_date( $value ) {
925
-		$this->set_start( $value );
926
-	}
927
-
928
-	/**
929
-	 * Sets the discount's expiration date.
930
-	 *
931
-	 * @since 1.0.19
932
-	 * @param float $value New expiration date.
933
-	 */
934
-	public function set_expiration( $value ) {
935
-		$date = strtotime( $value );
916
+    }
917
+
918
+    /**
919
+     * Alias of self::set_start().
920
+     *
921
+     * @since 1.0.19
922
+     * @param string $value New start date.
923
+     */
924
+    public function set_start_date( $value ) {
925
+        $this->set_start( $value );
926
+    }
927
+
928
+    /**
929
+     * Sets the discount's expiration date.
930
+     *
931
+     * @since 1.0.19
932
+     * @param float $value New expiration date.
933
+     */
934
+    public function set_expiration( $value ) {
935
+        $date = strtotime( $value );
936 936
 
937 937
         if ( $date ) {
938 938
             $this->set_prop( 'expiration', date( 'Y-m-d H:i', $date ) );
939 939
             return true;
940 940
         }
941 941
 
942
-		$this->set_prop( 'expiration', '' );
942
+        $this->set_prop( 'expiration', '' );
943 943
         return false;
944
-	}
945
-
946
-	/**
947
-	 * Alias of self::set_expiration().
948
-	 *
949
-	 * @since 1.0.19
950
-	 * @param string $value New expiration date.
951
-	 */
952
-	public function set_expiration_date( $value ) {
953
-		$this->set_expiration( $value );
954
-	}
955
-
956
-	/**
957
-	 * Alias of self::set_expiration().
958
-	 *
959
-	 * @since 1.0.19
960
-	 * @param string $value New expiration date.
961
-	 */
962
-	public function set_end_date( $value ) {
963
-		$this->set_expiration( $value );
964
-	}
965
-
966
-	/**
967
-	 * Sets the discount type.
968
-	 *
969
-	 * @since 1.0.19
970
-	 * @param string $value New discount type.
971
-	 */
972
-	public function set_type( $value ) {
973
-		if ( $value && array_key_exists( sanitize_text_field( $value ), wpinv_get_discount_types() ) ) {
974
-			$this->set_prop( 'type', sanitize_text_field( $value ) );
975
-		}
976
-	}
977
-
978
-	/**
979
-	 * Sets the number of times a discount has been used.
980
-	 *
981
-	 * @since 1.0.19
982
-	 * @param int $value usage count.
983
-	 */
984
-	public function set_uses( $value ) {
985
-
986
-		$value = (int) $value;
987
-
988
-		if ( $value < 0 ) {
989
-			$value = 0;
990
-		}
991
-
992
-		$this->set_prop( 'uses', (int) $value );
993
-	}
994
-
995
-	/**
996
-	 * Sets the maximum number of times a discount can be used.
997
-	 *
998
-	 * @since 1.0.19
999
-	 * @param int $value maximum usage count.
1000
-	 */
1001
-	public function set_max_uses( $value ) {
1002
-		$this->set_prop( 'max_uses', absint( $value ) );
1003
-	}
1004
-
1005
-	/**
1006
-	 * Sets if this is a single use discount or not.
1007
-	 *
1008
-	 * @since 1.0.19
1009
-	 * @param int|bool $value is single use.
1010
-	 */
1011
-	public function set_is_single_use( $value ) {
1012
-		$this->set_prop( 'is_single_use', (bool) $value );
1013
-	}
1014
-
1015
-	/**
1016
-	 * Sets the items that can be used with this discount.
1017
-	 *
1018
-	 * @since 1.0.19
1019
-	 * @param array $value items.
1020
-	 */
1021
-	public function set_items( $value ) {
1022
-		$this->set_prop( 'items', wpinv_parse_list( $value ) );
1023
-	}
1024
-
1025
-	/**
1026
-	 * Alias for self::set_items().
1027
-	 *
1028
-	 * @since 1.0.19
1029
-	 * @param array $value items.
1030
-	 */
1031
-	public function set_allowed_items( $value ) {
1032
-		$this->set_items( $value );
1033
-	}
1034
-
1035
-	/**
1036
-	 * Sets the items that can not be used with this discount.
1037
-	 *
1038
-	 * @since 1.0.19
1039
-	 * @param array $value items.
1040
-	 */
1041
-	public function set_excluded_items( $value ) {
1042
-		$this->set_prop( 'excluded_items', wpinv_parse_list( $value ) );
1043
-	}
1044
-
1045
-	/**
1046
-	 * Sets if this is a recurring discounts or not.
1047
-	 *
1048
-	 * @since 1.0.19
1049
-	 * @param int|bool $value is recurring.
1050
-	 */
1051
-	public function set_is_recurring( $value ) {
1052
-		$this->set_prop( 'is_recurring', (bool) $value );
1053
-	}
1054
-
1055
-	/**
1056
-	 * Sets the minimum total that can not be used with this discount.
1057
-	 *
1058
-	 * @since 1.0.19
1059
-	 * @param float $value minimum total.
1060
-	 */
1061
-	public function set_min_total( $value ) {
1062
-		$this->set_prop( 'min_total', (float) wpinv_sanitize_amount( $value ) );
1063
-	}
1064
-
1065
-	/**
1066
-	 * Alias for self::set_min_total().
1067
-	 *
1068
-	 * @since 1.0.19
1069
-	 * @param float $value minimum total.
1070
-	 */
1071
-	public function set_minimum_total( $value ) {
1072
-		$this->set_min_total( $value );
1073
-	}
1074
-
1075
-	/**
1076
-	 * Sets the maximum total that can not be used with this discount.
1077
-	 *
1078
-	 * @since 1.0.19
1079
-	 * @param float $value maximum total.
1080
-	 */
1081
-	public function set_max_total( $value ) {
1082
-		$this->set_prop( 'max_total', (float) wpinv_sanitize_amount( $value ) );
1083
-	}
1084
-
1085
-	/**
1086
-	 * Alias for self::set_max_total().
1087
-	 *
1088
-	 * @since 1.0.19
1089
-	 * @param float $value maximum total.
1090
-	 */
1091
-	public function set_maximum_total( $value ) {
1092
-		$this->set_max_total( $value );
1093
-	}
1094
-
1095
-	/**
1096
-	 * @deprecated
1097
-	 */
1098
-	public function refresh(){}
1099
-
1100
-	/**
1101
-	 * @deprecated
1102
-	 *
1103
-	 */
1104
-	public function update_status( $status = 'publish' ){
1105
-
1106
-		if ( $this->exists() && $this->get_status() != $status ) {
1107
-			$this->set_status( $status );
1108
-			$this->save();
1109
-		}
1110
-
1111
-	}
1112
-
1113
-	/*
944
+    }
945
+
946
+    /**
947
+     * Alias of self::set_expiration().
948
+     *
949
+     * @since 1.0.19
950
+     * @param string $value New expiration date.
951
+     */
952
+    public function set_expiration_date( $value ) {
953
+        $this->set_expiration( $value );
954
+    }
955
+
956
+    /**
957
+     * Alias of self::set_expiration().
958
+     *
959
+     * @since 1.0.19
960
+     * @param string $value New expiration date.
961
+     */
962
+    public function set_end_date( $value ) {
963
+        $this->set_expiration( $value );
964
+    }
965
+
966
+    /**
967
+     * Sets the discount type.
968
+     *
969
+     * @since 1.0.19
970
+     * @param string $value New discount type.
971
+     */
972
+    public function set_type( $value ) {
973
+        if ( $value && array_key_exists( sanitize_text_field( $value ), wpinv_get_discount_types() ) ) {
974
+            $this->set_prop( 'type', sanitize_text_field( $value ) );
975
+        }
976
+    }
977
+
978
+    /**
979
+     * Sets the number of times a discount has been used.
980
+     *
981
+     * @since 1.0.19
982
+     * @param int $value usage count.
983
+     */
984
+    public function set_uses( $value ) {
985
+
986
+        $value = (int) $value;
987
+
988
+        if ( $value < 0 ) {
989
+            $value = 0;
990
+        }
991
+
992
+        $this->set_prop( 'uses', (int) $value );
993
+    }
994
+
995
+    /**
996
+     * Sets the maximum number of times a discount can be used.
997
+     *
998
+     * @since 1.0.19
999
+     * @param int $value maximum usage count.
1000
+     */
1001
+    public function set_max_uses( $value ) {
1002
+        $this->set_prop( 'max_uses', absint( $value ) );
1003
+    }
1004
+
1005
+    /**
1006
+     * Sets if this is a single use discount or not.
1007
+     *
1008
+     * @since 1.0.19
1009
+     * @param int|bool $value is single use.
1010
+     */
1011
+    public function set_is_single_use( $value ) {
1012
+        $this->set_prop( 'is_single_use', (bool) $value );
1013
+    }
1014
+
1015
+    /**
1016
+     * Sets the items that can be used with this discount.
1017
+     *
1018
+     * @since 1.0.19
1019
+     * @param array $value items.
1020
+     */
1021
+    public function set_items( $value ) {
1022
+        $this->set_prop( 'items', wpinv_parse_list( $value ) );
1023
+    }
1024
+
1025
+    /**
1026
+     * Alias for self::set_items().
1027
+     *
1028
+     * @since 1.0.19
1029
+     * @param array $value items.
1030
+     */
1031
+    public function set_allowed_items( $value ) {
1032
+        $this->set_items( $value );
1033
+    }
1034
+
1035
+    /**
1036
+     * Sets the items that can not be used with this discount.
1037
+     *
1038
+     * @since 1.0.19
1039
+     * @param array $value items.
1040
+     */
1041
+    public function set_excluded_items( $value ) {
1042
+        $this->set_prop( 'excluded_items', wpinv_parse_list( $value ) );
1043
+    }
1044
+
1045
+    /**
1046
+     * Sets if this is a recurring discounts or not.
1047
+     *
1048
+     * @since 1.0.19
1049
+     * @param int|bool $value is recurring.
1050
+     */
1051
+    public function set_is_recurring( $value ) {
1052
+        $this->set_prop( 'is_recurring', (bool) $value );
1053
+    }
1054
+
1055
+    /**
1056
+     * Sets the minimum total that can not be used with this discount.
1057
+     *
1058
+     * @since 1.0.19
1059
+     * @param float $value minimum total.
1060
+     */
1061
+    public function set_min_total( $value ) {
1062
+        $this->set_prop( 'min_total', (float) wpinv_sanitize_amount( $value ) );
1063
+    }
1064
+
1065
+    /**
1066
+     * Alias for self::set_min_total().
1067
+     *
1068
+     * @since 1.0.19
1069
+     * @param float $value minimum total.
1070
+     */
1071
+    public function set_minimum_total( $value ) {
1072
+        $this->set_min_total( $value );
1073
+    }
1074
+
1075
+    /**
1076
+     * Sets the maximum total that can not be used with this discount.
1077
+     *
1078
+     * @since 1.0.19
1079
+     * @param float $value maximum total.
1080
+     */
1081
+    public function set_max_total( $value ) {
1082
+        $this->set_prop( 'max_total', (float) wpinv_sanitize_amount( $value ) );
1083
+    }
1084
+
1085
+    /**
1086
+     * Alias for self::set_max_total().
1087
+     *
1088
+     * @since 1.0.19
1089
+     * @param float $value maximum total.
1090
+     */
1091
+    public function set_maximum_total( $value ) {
1092
+        $this->set_max_total( $value );
1093
+    }
1094
+
1095
+    /**
1096
+     * @deprecated
1097
+     */
1098
+    public function refresh(){}
1099
+
1100
+    /**
1101
+     * @deprecated
1102
+     *
1103
+     */
1104
+    public function update_status( $status = 'publish' ){
1105
+
1106
+        if ( $this->exists() && $this->get_status() != $status ) {
1107
+            $this->set_status( $status );
1108
+            $this->save();
1109
+        }
1110
+
1111
+    }
1112
+
1113
+    /*
1114 1114
 	|--------------------------------------------------------------------------
1115 1115
 	| Conditionals
1116 1116
 	|--------------------------------------------------------------------------
@@ -1119,263 +1119,263 @@  discard block
 block discarded – undo
1119 1119
 	|
1120 1120
 	*/
1121 1121
 
1122
-	/**
1123
-	 * Checks whether a discount exists in the database or not
1124
-	 *
1125
-	 * @since 1.0.15
1126
-	 */
1127
-	public function exists(){
1128
-		$id = $this->get_id();
1129
-		return ! empty( $id );
1130
-	}
1131
-
1132
-	/**
1133
-	 * Checks the discount type.
1134
-	 *
1135
-	 *
1136
-	 * @param  string $type the discount type to check against
1137
-	 * @since 1.0.15
1138
-	 * @return bool
1139
-	 */
1140
-	public function is_type( $type ) {
1141
-		return $this->get_type() == $type;
1142
-	}
1143
-
1144
-	/**
1145
-	 * Checks whether the discount is published or not
1146
-	 *
1147
-	 * @since 1.0.15
1148
-	 * @return bool
1149
-	 */
1150
-	public function is_active() {
1151
-		return $this->get_status() == 'publish';
1152
-	}
1153
-
1154
-	/**
1155
-	 * Checks whether the discount has max uses
1156
-	 *
1157
-	 * @since 1.0.15
1158
-	 * @return bool
1159
-	 */
1160
-	public function has_limit() {
1161
-		$limit = $this->get_max_uses();
1162
-		return ! empty( $limit );
1163
-	}
1164
-
1165
-	/**
1166
-	 * Checks whether the discount has ever been used.
1167
-	 *
1168
-	 * @since 1.0.15
1169
-	 * @return bool
1170
-	 */
1171
-	public function has_uses() {
1172
-		return $this->get_uses() > 0;
1173
-	}
1174
-
1175
-	/**
1176
-	 * Checks whether the discount is has exided the usage limit or not
1177
-	 *
1178
-	 * @since 1.0.15
1179
-	 * @return bool
1180
-	 */
1181
-	public function has_exceeded_limit() {
1182
-
1183
-		if ( ! $this->has_limit() || ! $this->has_uses() ) {
1184
-			$exceeded = false ;
1185
-		} else {
1186
-			$exceeded = ! ( (int) $this->get_max_uses() < $this->get_uses() );
1187
-		}
1188
-
1189
-		return apply_filters( 'wpinv_is_discount_maxed_out', $exceeded, $this->get_id(), $this, $this->get_code() );
1190
-	}
1191
-
1192
-	/**
1193
-	 * Checks whether the discount has an expiration date.
1194
-	 *
1195
-	 * @since 1.0.15
1196
-	 * @return bool
1197
-	 */
1198
-	public function has_expiration_date() {
1199
-		$date = $this->get_expiration_date();
1200
-		return ! empty( $date );
1201
-	}
1202
-
1203
-	/**
1204
-	 * Checks if the discount is expired
1205
-	 *
1206
-	 * @since 1.0.15
1207
-	 * @return bool
1208
-	 */
1209
-	public function is_expired() {
1210
-		$expired = $this->has_expiration_date() ? current_time( 'timestamp' ) > strtotime( $this->get_expiration_date() ) : false;
1211
-		return apply_filters( 'wpinv_is_discount_expired', $expired, $this->get_id(), $this, $this->get_code() );
1212
-	}
1213
-
1214
-	/**
1215
-	 * Checks whether the discount has a start date.
1216
-	 *
1217
-	 * @since 1.0.15
1218
-	 * @return bool
1219
-	 */
1220
-	public function has_start_date() {
1221
-		$date = $this->get_start_date();
1222
-		return ! empty( $date );
1223
-	}
1224
-
1225
-	/**
1226
-	 * Checks the discount start date.
1227
-	 *
1228
-	 * @since 1.0.15
1229
-	 * @return bool
1230
-	 */
1231
-	public function has_started() {
1232
-		$started = $this->has_start_date() ? true : current_time( 'timestamp' ) > strtotime( $this->get_start_date() );
1233
-		return apply_filters( 'wpinv_is_discount_started', $started, $this->get_id(), $this, $this->get_code() );
1234
-	}
1235
-
1236
-	/**
1237
-	 * Checks the discount has allowed items or not.
1238
-	 *
1239
-	 * @since 1.0.15
1240
-	 * @return bool
1241
-	 */
1242
-	public function has_allowed_items() {
1243
-		$allowed_items = $this->get_allowed_items();
1244
-		return ! empty( $allowed_items );
1245
-	}
1246
-
1247
-	/**
1248
-	 * Checks the discount has excluded items or not.
1249
-	 *
1250
-	 * @since 1.0.15
1251
-	 * @return bool
1252
-	 */
1253
-	public function has_excluded_items() {
1254
-		$excluded_items = $this->get_excluded_items();
1255
-		return ! empty( $excluded_items );
1256
-	}
1257
-
1258
-	/**
1259
-	 * Check if a discount is valid for a given item id.
1260
-	 *
1261
-	 * @param  int|int[]  $item_ids
1262
-	 * @since 1.0.15
1263
-	 * @return boolean
1264
-	 */
1265
-	public function is_valid_for_items( $item_ids ) {
1266
-
1267
-		$item_ids = wp_parse_id_list( $item_ids );
1268
-		$included = array_intersect( $item_ids, $this->get_allowed_items() );
1269
-		$excluded = array_intersect( $item_ids, $this->get_excluded_items() );
1270
-
1271
-		if ( $this->has_excluded_items() && ! empty( $excluded ) ) {
1272
-			return false;
1273
-		}
1274
-
1275
-		if ( $this->has_allowed_items() && empty( $included ) ) {
1276
-			return false;
1277
-		}
1278
-
1279
-		return true;
1280
-	}
1281
-
1282
-	/**
1283
-	 * Check if a discount is valid for the given amount
1284
-	 *
1285
-	 * @param  float  $amount The amount to check against
1286
-	 * @since 1.0.15
1287
-	 * @return boolean
1288
-	 */
1289
-	public function is_valid_for_amount( $amount ) {
1290
-		return $this->is_minimum_amount_met( $amount ) && $this->is_maximum_amount_met( $amount );
1291
-	}
1292
-
1293
-	/**
1294
-	 * Checks if the minimum amount is set
1295
-	 *
1296
-	 * @since 1.0.15
1297
-	 * @return boolean
1298
-	 */
1299
-	public function has_minimum_amount() {
1300
-		$minimum = $this->get_minimum_total();
1301
-		return ! empty( $minimum );
1302
-	}
1303
-
1304
-	/**
1305
-	 * Checks if the minimum amount is met
1306
-	 *
1307
-	 * @param  float  $amount The amount to check against
1308
-	 * @since 1.0.15
1309
-	 * @return boolean
1310
-	 */
1311
-	public function is_minimum_amount_met( $amount ) {
1312
-		$amount = floatval( wpinv_sanitize_amount( $amount ) );
1313
-		$min_met= ! ( $this->has_minimum_amount() && $amount < floatval( wpinv_sanitize_amount( $this->get_minimum_total() ) ) );
1314
-		return apply_filters( 'wpinv_is_discount_min_met', $min_met, $this->get_id(), $this, $this->get_code(), $amount );
1315
-	}
1316
-
1317
-	/**
1318
-	 * Checks if the maximum amount is set
1319
-	 *
1320
-	 * @since 1.0.15
1321
-	 * @return boolean
1322
-	 */
1323
-	public function has_maximum_amount() {
1324
-		$maximum = $this->get_maximum_total();
1325
-		return ! empty( $maximum );
1326
-	}
1327
-
1328
-	/**
1329
-	 * Checks if the maximum amount is met
1330
-	 *
1331
-	 * @param  float  $amount The amount to check against
1332
-	 * @since 1.0.15
1333
-	 * @return boolean
1334
-	 */
1335
-	public function is_maximum_amount_met( $amount ) {
1336
-		$amount = floatval( wpinv_sanitize_amount( $amount ) );
1337
-		$max_met= ! ( $this->has_maximum_amount() && $amount > floatval( wpinv_sanitize_amount( $this->get_maximum_total() ) ) );
1338
-		return apply_filters( 'wpinv_is_discount_max_met', $max_met, $this->get_id(), $this, $this->get_code(), $amount );
1339
-	}
1340
-
1341
-	/**
1342
-	 * Checks if the discount is recurring.
1343
-	 *
1344
-	 * @since 1.0.15
1345
-	 * @return boolean
1346
-	 */
1347
-	public function is_recurring() {
1348
-		$recurring = $this->get_is_recurring();
1349
-		return ! empty( $recurring );
1350
-	}
1351
-
1352
-	/**
1353
-	 * Checks if the discount is single use.
1354
-	 *
1355
-	 * @since 1.0.15
1356
-	 * @return boolean
1357
-	 */
1358
-	public function is_single_use() {
1359
-		$usage = $this->get_is_single_use();
1360
-		return ! empty( $usage );
1361
-	}
1362
-
1363
-	/**
1364
-	 * Check if a discount is valid for the given user
1365
-	 *
1366
-	 * @param  int|string  $user
1367
-	 * @since 1.0.15
1368
-	 * @return boolean
1369
-	 */
1370
-	public function is_valid_for_user( $user ) {
1371
-
1372
-		// Ensure that the discount is single use.
1373
-		if ( empty( $user ) || ! $this->is_single_use() ) {
1374
-			return true;
1375
-		}
1376
-
1377
-		// Prepare the user id.
1378
-		$user_id = 0;
1122
+    /**
1123
+     * Checks whether a discount exists in the database or not
1124
+     *
1125
+     * @since 1.0.15
1126
+     */
1127
+    public function exists(){
1128
+        $id = $this->get_id();
1129
+        return ! empty( $id );
1130
+    }
1131
+
1132
+    /**
1133
+     * Checks the discount type.
1134
+     *
1135
+     *
1136
+     * @param  string $type the discount type to check against
1137
+     * @since 1.0.15
1138
+     * @return bool
1139
+     */
1140
+    public function is_type( $type ) {
1141
+        return $this->get_type() == $type;
1142
+    }
1143
+
1144
+    /**
1145
+     * Checks whether the discount is published or not
1146
+     *
1147
+     * @since 1.0.15
1148
+     * @return bool
1149
+     */
1150
+    public function is_active() {
1151
+        return $this->get_status() == 'publish';
1152
+    }
1153
+
1154
+    /**
1155
+     * Checks whether the discount has max uses
1156
+     *
1157
+     * @since 1.0.15
1158
+     * @return bool
1159
+     */
1160
+    public function has_limit() {
1161
+        $limit = $this->get_max_uses();
1162
+        return ! empty( $limit );
1163
+    }
1164
+
1165
+    /**
1166
+     * Checks whether the discount has ever been used.
1167
+     *
1168
+     * @since 1.0.15
1169
+     * @return bool
1170
+     */
1171
+    public function has_uses() {
1172
+        return $this->get_uses() > 0;
1173
+    }
1174
+
1175
+    /**
1176
+     * Checks whether the discount is has exided the usage limit or not
1177
+     *
1178
+     * @since 1.0.15
1179
+     * @return bool
1180
+     */
1181
+    public function has_exceeded_limit() {
1182
+
1183
+        if ( ! $this->has_limit() || ! $this->has_uses() ) {
1184
+            $exceeded = false ;
1185
+        } else {
1186
+            $exceeded = ! ( (int) $this->get_max_uses() < $this->get_uses() );
1187
+        }
1188
+
1189
+        return apply_filters( 'wpinv_is_discount_maxed_out', $exceeded, $this->get_id(), $this, $this->get_code() );
1190
+    }
1191
+
1192
+    /**
1193
+     * Checks whether the discount has an expiration date.
1194
+     *
1195
+     * @since 1.0.15
1196
+     * @return bool
1197
+     */
1198
+    public function has_expiration_date() {
1199
+        $date = $this->get_expiration_date();
1200
+        return ! empty( $date );
1201
+    }
1202
+
1203
+    /**
1204
+     * Checks if the discount is expired
1205
+     *
1206
+     * @since 1.0.15
1207
+     * @return bool
1208
+     */
1209
+    public function is_expired() {
1210
+        $expired = $this->has_expiration_date() ? current_time( 'timestamp' ) > strtotime( $this->get_expiration_date() ) : false;
1211
+        return apply_filters( 'wpinv_is_discount_expired', $expired, $this->get_id(), $this, $this->get_code() );
1212
+    }
1213
+
1214
+    /**
1215
+     * Checks whether the discount has a start date.
1216
+     *
1217
+     * @since 1.0.15
1218
+     * @return bool
1219
+     */
1220
+    public function has_start_date() {
1221
+        $date = $this->get_start_date();
1222
+        return ! empty( $date );
1223
+    }
1224
+
1225
+    /**
1226
+     * Checks the discount start date.
1227
+     *
1228
+     * @since 1.0.15
1229
+     * @return bool
1230
+     */
1231
+    public function has_started() {
1232
+        $started = $this->has_start_date() ? true : current_time( 'timestamp' ) > strtotime( $this->get_start_date() );
1233
+        return apply_filters( 'wpinv_is_discount_started', $started, $this->get_id(), $this, $this->get_code() );
1234
+    }
1235
+
1236
+    /**
1237
+     * Checks the discount has allowed items or not.
1238
+     *
1239
+     * @since 1.0.15
1240
+     * @return bool
1241
+     */
1242
+    public function has_allowed_items() {
1243
+        $allowed_items = $this->get_allowed_items();
1244
+        return ! empty( $allowed_items );
1245
+    }
1246
+
1247
+    /**
1248
+     * Checks the discount has excluded items or not.
1249
+     *
1250
+     * @since 1.0.15
1251
+     * @return bool
1252
+     */
1253
+    public function has_excluded_items() {
1254
+        $excluded_items = $this->get_excluded_items();
1255
+        return ! empty( $excluded_items );
1256
+    }
1257
+
1258
+    /**
1259
+     * Check if a discount is valid for a given item id.
1260
+     *
1261
+     * @param  int|int[]  $item_ids
1262
+     * @since 1.0.15
1263
+     * @return boolean
1264
+     */
1265
+    public function is_valid_for_items( $item_ids ) {
1266
+
1267
+        $item_ids = wp_parse_id_list( $item_ids );
1268
+        $included = array_intersect( $item_ids, $this->get_allowed_items() );
1269
+        $excluded = array_intersect( $item_ids, $this->get_excluded_items() );
1270
+
1271
+        if ( $this->has_excluded_items() && ! empty( $excluded ) ) {
1272
+            return false;
1273
+        }
1274
+
1275
+        if ( $this->has_allowed_items() && empty( $included ) ) {
1276
+            return false;
1277
+        }
1278
+
1279
+        return true;
1280
+    }
1281
+
1282
+    /**
1283
+     * Check if a discount is valid for the given amount
1284
+     *
1285
+     * @param  float  $amount The amount to check against
1286
+     * @since 1.0.15
1287
+     * @return boolean
1288
+     */
1289
+    public function is_valid_for_amount( $amount ) {
1290
+        return $this->is_minimum_amount_met( $amount ) && $this->is_maximum_amount_met( $amount );
1291
+    }
1292
+
1293
+    /**
1294
+     * Checks if the minimum amount is set
1295
+     *
1296
+     * @since 1.0.15
1297
+     * @return boolean
1298
+     */
1299
+    public function has_minimum_amount() {
1300
+        $minimum = $this->get_minimum_total();
1301
+        return ! empty( $minimum );
1302
+    }
1303
+
1304
+    /**
1305
+     * Checks if the minimum amount is met
1306
+     *
1307
+     * @param  float  $amount The amount to check against
1308
+     * @since 1.0.15
1309
+     * @return boolean
1310
+     */
1311
+    public function is_minimum_amount_met( $amount ) {
1312
+        $amount = floatval( wpinv_sanitize_amount( $amount ) );
1313
+        $min_met= ! ( $this->has_minimum_amount() && $amount < floatval( wpinv_sanitize_amount( $this->get_minimum_total() ) ) );
1314
+        return apply_filters( 'wpinv_is_discount_min_met', $min_met, $this->get_id(), $this, $this->get_code(), $amount );
1315
+    }
1316
+
1317
+    /**
1318
+     * Checks if the maximum amount is set
1319
+     *
1320
+     * @since 1.0.15
1321
+     * @return boolean
1322
+     */
1323
+    public function has_maximum_amount() {
1324
+        $maximum = $this->get_maximum_total();
1325
+        return ! empty( $maximum );
1326
+    }
1327
+
1328
+    /**
1329
+     * Checks if the maximum amount is met
1330
+     *
1331
+     * @param  float  $amount The amount to check against
1332
+     * @since 1.0.15
1333
+     * @return boolean
1334
+     */
1335
+    public function is_maximum_amount_met( $amount ) {
1336
+        $amount = floatval( wpinv_sanitize_amount( $amount ) );
1337
+        $max_met= ! ( $this->has_maximum_amount() && $amount > floatval( wpinv_sanitize_amount( $this->get_maximum_total() ) ) );
1338
+        return apply_filters( 'wpinv_is_discount_max_met', $max_met, $this->get_id(), $this, $this->get_code(), $amount );
1339
+    }
1340
+
1341
+    /**
1342
+     * Checks if the discount is recurring.
1343
+     *
1344
+     * @since 1.0.15
1345
+     * @return boolean
1346
+     */
1347
+    public function is_recurring() {
1348
+        $recurring = $this->get_is_recurring();
1349
+        return ! empty( $recurring );
1350
+    }
1351
+
1352
+    /**
1353
+     * Checks if the discount is single use.
1354
+     *
1355
+     * @since 1.0.15
1356
+     * @return boolean
1357
+     */
1358
+    public function is_single_use() {
1359
+        $usage = $this->get_is_single_use();
1360
+        return ! empty( $usage );
1361
+    }
1362
+
1363
+    /**
1364
+     * Check if a discount is valid for the given user
1365
+     *
1366
+     * @param  int|string  $user
1367
+     * @since 1.0.15
1368
+     * @return boolean
1369
+     */
1370
+    public function is_valid_for_user( $user ) {
1371
+
1372
+        // Ensure that the discount is single use.
1373
+        if ( empty( $user ) || ! $this->is_single_use() ) {
1374
+            return true;
1375
+        }
1376
+
1377
+        // Prepare the user id.
1378
+        $user_id = 0;
1379 1379
         if ( is_numeric( $user ) ) {
1380 1380
             $user_id = absint( $user );
1381 1381
         } else if ( is_email( $user ) && $user_data = get_user_by( 'email', $user ) ) {
@@ -1384,117 +1384,117 @@  discard block
 block discarded – undo
1384 1384
             $user_id = $user_data->ID;
1385 1385
         }
1386 1386
 
1387
-		// Ensure that we have a user.
1388
-		if ( empty( $user_id ) ) {
1389
-			return true;
1390
-		}
1387
+        // Ensure that we have a user.
1388
+        if ( empty( $user_id ) ) {
1389
+            return true;
1390
+        }
1391 1391
 
1392
-		// Get all payments with matching user id.
1392
+        // Get all payments with matching user id.
1393 1393
         $payments = wpinv_get_invoices( array( 'user' => $user_id, 'limit' => false, 'paginate' => false ) );
1394
-		$code     = strtolower( $this->get_code() );
1395
-
1396
-		// For each payment...
1397
-		foreach ( $payments as $payment ) {
1398
-
1399
-			// Only check for paid invoices.
1400
-			if ( $payment->is_paid() && strtolower( $payment->get_discount_code() ) == $code ) {
1401
-				return false;
1402
-			}
1403
-
1404
-		}
1405
-
1406
-		return true;
1407
-	}
1408
-
1409
-	/**
1410
-	 * Deletes the discount from the database
1411
-	 *
1412
-	 * @since 1.0.15
1413
-	 * @return boolean
1414
-	 */
1415
-	public function remove() {
1416
-		return $this->delete();
1417
-	}
1418
-
1419
-	/**
1420
-	 * Increases a discount's usage.
1421
-	 *
1422
-	 * @since 1.0.15
1423
-	 * @param int $by The number of usages to increas by.
1424
-	 * @return int
1425
-	 */
1426
-	public function increase_usage( $by = 1 ) {
1427
-
1428
-		// Abort if zero.
1429
-		if ( empty( $by ) ) {
1430
-			return;
1431
-		}
1432
-
1433
-		// Increase the usage.
1434
-		$this->set_uses( $this->get_uses() + (int) $by );
1435
-
1436
-		// Save the discount.
1437
-		$this->save();
1438
-
1439
-		// Fire relevant hooks.
1440
-		if( (int) $by > 0 ) {
1441
-			do_action( 'wpinv_discount_increase_use_count', $this->get_uses(), $this->get_id(), $this->get_code(),  absint( $by ) );
1442
-		} else {
1443
-			do_action( 'wpinv_discount_decrease_use_count', $this->get_uses(), $this->get_id(), $this->get_code(), absint( $by ) );
1444
-		}
1445
-
1446
-		// Return the number of times the discount has been used.
1447
-		return $this->get_uses();
1448
-	}
1449
-
1450
-	/**
1451
-	 * Alias of self::__toString()
1452
-	 *
1453
-	 * @since 1.0.15
1454
-	 * @return string|false
1455
-	 */
1456
-	public function get_data_as_json() {
1457
-		return $this->__toString();
1458
-	}
1459
-
1460
-	/**
1461
-	 * Returns a discount's discounted amount.
1462
-	 *
1463
-	 * @since 1.0.15
1464
-	 * @param float $amount
1465
-	 * @return float
1466
-	 */
1467
-	public function get_discounted_amount( $amount ) {
1468
-
1469
-		// Convert amount to float.
1470
-		$amount = (float) $amount;
1471
-
1472
-		// Get discount amount.
1473
-		$discount_amount = $this->get_amount();
1474
-
1475
-		if ( empty( $discount_amount ) ) {
1476
-			return 0;
1477
-		}
1478
-
1479
-		// Format the amount.
1480
-		$discount_amount = floatval( wpinv_sanitize_amount( $discount_amount ) );
1394
+        $code     = strtolower( $this->get_code() );
1395
+
1396
+        // For each payment...
1397
+        foreach ( $payments as $payment ) {
1398
+
1399
+            // Only check for paid invoices.
1400
+            if ( $payment->is_paid() && strtolower( $payment->get_discount_code() ) == $code ) {
1401
+                return false;
1402
+            }
1403
+
1404
+        }
1405
+
1406
+        return true;
1407
+    }
1408
+
1409
+    /**
1410
+     * Deletes the discount from the database
1411
+     *
1412
+     * @since 1.0.15
1413
+     * @return boolean
1414
+     */
1415
+    public function remove() {
1416
+        return $this->delete();
1417
+    }
1418
+
1419
+    /**
1420
+     * Increases a discount's usage.
1421
+     *
1422
+     * @since 1.0.15
1423
+     * @param int $by The number of usages to increas by.
1424
+     * @return int
1425
+     */
1426
+    public function increase_usage( $by = 1 ) {
1427
+
1428
+        // Abort if zero.
1429
+        if ( empty( $by ) ) {
1430
+            return;
1431
+        }
1432
+
1433
+        // Increase the usage.
1434
+        $this->set_uses( $this->get_uses() + (int) $by );
1435
+
1436
+        // Save the discount.
1437
+        $this->save();
1438
+
1439
+        // Fire relevant hooks.
1440
+        if( (int) $by > 0 ) {
1441
+            do_action( 'wpinv_discount_increase_use_count', $this->get_uses(), $this->get_id(), $this->get_code(),  absint( $by ) );
1442
+        } else {
1443
+            do_action( 'wpinv_discount_decrease_use_count', $this->get_uses(), $this->get_id(), $this->get_code(), absint( $by ) );
1444
+        }
1445
+
1446
+        // Return the number of times the discount has been used.
1447
+        return $this->get_uses();
1448
+    }
1449
+
1450
+    /**
1451
+     * Alias of self::__toString()
1452
+     *
1453
+     * @since 1.0.15
1454
+     * @return string|false
1455
+     */
1456
+    public function get_data_as_json() {
1457
+        return $this->__toString();
1458
+    }
1459
+
1460
+    /**
1461
+     * Returns a discount's discounted amount.
1462
+     *
1463
+     * @since 1.0.15
1464
+     * @param float $amount
1465
+     * @return float
1466
+     */
1467
+    public function get_discounted_amount( $amount ) {
1468
+
1469
+        // Convert amount to float.
1470
+        $amount = (float) $amount;
1471
+
1472
+        // Get discount amount.
1473
+        $discount_amount = $this->get_amount();
1474
+
1475
+        if ( empty( $discount_amount ) ) {
1476
+            return 0;
1477
+        }
1478
+
1479
+        // Format the amount.
1480
+        $discount_amount = floatval( wpinv_sanitize_amount( $discount_amount ) );
1481 1481
 		
1482
-		// If this is a percentage discount.
1483
-		if ( $this->is_type( 'percent' ) ) {
1482
+        // If this is a percentage discount.
1483
+        if ( $this->is_type( 'percent' ) ) {
1484 1484
             $discount_amount = $amount * ( $discount_amount / 100 );
1485
-		}
1485
+        }
1486 1486
 
1487
-		// Discount can not be less than zero...
1488
-		if ( $discount_amount < 0 ) {
1489
-			$discount_amount = 0;
1490
-		}
1487
+        // Discount can not be less than zero...
1488
+        if ( $discount_amount < 0 ) {
1489
+            $discount_amount = 0;
1490
+        }
1491 1491
 
1492
-		// ... or more than the amount.
1493
-		if ( $discount_amount > $amount ) {
1494
-			$discount_amount = $amount;
1495
-		}
1492
+        // ... or more than the amount.
1493
+        if ( $discount_amount > $amount ) {
1494
+            $discount_amount = $amount;
1495
+        }
1496 1496
 
1497
-		return apply_filters( 'wpinv_discount_total_discount_amount', $discount_amount, $amount, $this );
1498
-	}
1497
+        return apply_filters( 'wpinv_discount_total_discount_amount', $discount_amount, $amount, $this );
1498
+    }
1499 1499
 
1500 1500
 }
Please login to merge, or discard this patch.
vendor/ayecode/ayecode-connect-helper/ayecode-connect-helper.php 2 patches
Indentation   +310 added lines, -310 removed lines patch added patch discarded remove patch
@@ -1,271 +1,271 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 if ( ! defined( 'ABSPATH' ) ) {
4
-	exit;
4
+    exit;
5 5
 }
6 6
 
7 7
 if ( ! class_exists( "AyeCode_Connect_Helper" ) ) {
8
-	/**
9
-	 * Allow the quick setup and connection of our AyeCode Connect plugin.
10
-	 *
11
-	 * Class AyeCode_Connect_Helper
12
-	 */
13
-	class AyeCode_Connect_Helper {
14
-
15
-		// Hold the version number
16
-		var $version = "1.0.3";
17
-
18
-		// Hold the default strings.
19
-		var $strings = array();
20
-
21
-		// Hold the default pages.
22
-		var $pages = array();
23
-
24
-		/**
25
-		 * The constructor.
26
-		 *
27
-		 * AyeCode_Connect_Helper constructor.
28
-		 *
29
-		 * @param array $strings
30
-		 * @param array $pages
31
-		 */
32
-		public function __construct( $strings = array(), $pages = array() ) {
33
-
34
-			// Only fire if not localhost and the current user has the right permissions.
35
-			if ( ! $this->is_localhost() && current_user_can( 'manage_options' ) ) {
36
-
37
-
38
-				// set default strings
39
-				$default_strings = array(
40
-					'connect_title'     => __( "Thanks for choosing an AyeCode Product!" ),
41
-					'connect_external'  => __( "Please confirm you wish to connect your site?" ),
42
-					'connect'           => sprintf( __( "<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %slearn more%s" ), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", "</a>" ),
43
-					'connect_button'    => __( "Connect Site" ),
44
-					'connecting_button' => __( "Connecting..." ),
45
-					'error_localhost'   => __( "This service will only work with a live domain, not a localhost." ),
46
-					'error'             => __( "Something went wrong, please refresh and try again." ),
47
-				);
48
-				$this->strings   = array_merge( $default_strings, $strings );
49
-
50
-
51
-				// set default pages
52
-				$default_pages = array();
53
-				$this->pages   = array_merge( $default_pages, $pages );
54
-
55
-				// maybe show connect site notice
56
-				add_action( 'admin_notices', array( $this, 'ayecode_connect_install_notice' ) );
57
-
58
-				// add ajax action if not already added
59
-				if ( ! has_action( 'wp_ajax_ayecode_connect_helper' ) ) {
60
-					add_action( 'wp_ajax_ayecode_connect_helper', array( $this, 'ayecode_connect_install' ) );
61
-				}
62
-			}
63
-
64
-			// add ajax action if not already added
65
-			if ( ! has_action( 'wp_ajax_nopriv_ayecode_connect_helper_installed' ) ) {
66
-				add_action( 'wp_ajax_nopriv_ayecode_connect_helper_installed', array( $this, 'ayecode_connect_helper_installed' ) );
67
-			}
68
-
69
-		}
70
-
71
-		/**
72
-		 * Give a way to check we can connect via a external redirect.
73
-		 */
74
-		public function ayecode_connect_helper_installed(){
75
-			$active = array(
76
-				'gd'    =>  defined('GEODIRECTORY_VERSION') && version_compare(GEODIRECTORY_VERSION,'2.0.0.79','>') ? 1 : 0,
77
-				'uwp'    =>  defined('USERSWP_VERSION') && version_compare(USERSWP_VERSION,'1.2.1.5','>') ? 1 : 0,
78
-				'wpi'    =>  defined('WPINV_VERSION') && version_compare(WPINV_VERSION,'1.0.14','>') ? 1 : 0,
79
-			);
80
-			wp_send_json_success( $active );
81
-			wp_die();
82
-		}
83
-
84
-		/**
85
-		 * Get slug from path
86
-		 *
87
-		 * @param  string $key
88
-		 *
89
-		 * @return string
90
-		 */
91
-		private function format_plugin_slug( $key ) {
92
-			$slug = explode( '/', $key );
93
-			$slug = explode( '.', end( $slug ) );
94
-
95
-			return $slug[0];
96
-		}
97
-
98
-		/**
99
-		 * Install and activate the AyeCode Connect Plugin
100
-		 */
101
-		public function ayecode_connect_install() {
102
-
103
-			// bail if localhost
104
-			if ( $this->is_localhost() ) {
105
-				wp_send_json_error( $this->strings['error_localhost'] );
106
-			}
107
-
108
-			// Explicitly clear the event.
109
-			wp_clear_scheduled_hook( 'geodir_plugin_background_installer', func_get_args() );
110
-
111
-			$success     = true;
112
-			$plugin_slug = "ayecode-connect";
113
-			if ( ! empty( $plugin_slug ) ) {
114
-				require_once( ABSPATH . 'wp-admin/includes/file.php' );
115
-				require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
116
-				require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
117
-				require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
118
-
119
-				WP_Filesystem();
120
-
121
-				$skin              = new Automatic_Upgrader_Skin;
122
-				$upgrader          = new WP_Upgrader( $skin );
123
-				$installed_plugins = array_map( array( $this, 'format_plugin_slug' ), array_keys( get_plugins() ) );
124
-				$plugin_slug       = $plugin_slug;
125
-				$plugin            = $plugin_slug . '/' . $plugin_slug . '.php';
126
-				$installed         = false;
127
-				$activate          = false;
128
-
129
-				// See if the plugin is installed already
130
-				if ( in_array( $plugin_slug, $installed_plugins ) ) {
131
-					$installed = true;
132
-					$activate  = ! is_plugin_active( $plugin );
133
-				}
134
-
135
-				// Install this thing!
136
-				if ( ! $installed ) {
137
-
138
-					// Suppress feedback
139
-					ob_start();
140
-
141
-					try {
142
-						$plugin_information = plugins_api( 'plugin_information', array(
143
-							'slug'   => $plugin_slug,
144
-							'fields' => array(
145
-								'short_description' => false,
146
-								'sections'          => false,
147
-								'requires'          => false,
148
-								'rating'            => false,
149
-								'ratings'           => false,
150
-								'downloaded'        => false,
151
-								'last_updated'      => false,
152
-								'added'             => false,
153
-								'tags'              => false,
154
-								'homepage'          => false,
155
-								'donate_link'       => false,
156
-								'author_profile'    => false,
157
-								'author'            => false,
158
-							),
159
-						) );
160
-
161
-						if ( is_wp_error( $plugin_information ) ) {
162
-							throw new Exception( $plugin_information->get_error_message() );
163
-						}
164
-
165
-						$package  = $plugin_information->download_link;
166
-						$download = $upgrader->download_package( $package );
167
-
168
-						if ( is_wp_error( $download ) ) {
169
-							throw new Exception( $download->get_error_message() );
170
-						}
171
-
172
-						$working_dir = $upgrader->unpack_package( $download, true );
173
-
174
-						if ( is_wp_error( $working_dir ) ) {
175
-							throw new Exception( $working_dir->get_error_message() );
176
-						}
177
-
178
-						$result = $upgrader->install_package( array(
179
-							'source'                      => $working_dir,
180
-							'destination'                 => WP_PLUGIN_DIR,
181
-							'clear_destination'           => false,
182
-							'abort_if_destination_exists' => false,
183
-							'clear_working'               => true,
184
-							'hook_extra'                  => array(
185
-								'type'   => 'plugin',
186
-								'action' => 'install',
187
-							),
188
-						) );
189
-
190
-						if ( is_wp_error( $result ) ) {
191
-							throw new Exception( $result->get_error_message() );
192
-						}
193
-
194
-						$activate = true;
195
-
196
-					} catch ( Exception $e ) {
197
-						$success = false;
198
-					}
199
-
200
-					// Discard feedback
201
-					ob_end_clean();
202
-				}
203
-
204
-				wp_clean_plugins_cache();
205
-
206
-				// Activate this thing
207
-				if ( $activate ) {
208
-					try {
209
-						$result = activate_plugin( $plugin );
210
-
211
-						if ( is_wp_error( $result ) ) {
212
-							$success = false;
213
-						} else {
214
-							$success = true;
215
-						}
216
-					} catch ( Exception $e ) {
217
-						$success = false;
218
-					}
219
-				}
220
-			}
221
-
222
-			if ( $success && function_exists( 'ayecode_connect_args' ) ) {
223
-				ayecode_connect();// init
224
-				$args        = ayecode_connect_args();
225
-				$client      = new AyeCode_Connect( $args );
226
-				$redirect_to = ! empty( $_POST['redirect_to'] ) ? esc_url_raw( $_POST['redirect_to'] ) : '';
227
-				$redirect    = $client->build_connect_url( $redirect_to );
228
-				wp_send_json_success( array( 'connect_url' => $redirect ) );
229
-			} else {
230
-				wp_send_json_error( $this->strings['error_localhost'] );
231
-			}
232
-			wp_die();
233
-		}
234
-
235
-		/**
236
-		 * Check if maybe localhost.
237
-		 *
238
-		 * @return bool
239
-		 */
240
-		public function is_localhost() {
241
-			$localhost = false;
242
-
243
-			$host              = isset( $_SERVER['HTTP_HOST'] ) ? $_SERVER['HTTP_HOST'] : '';
244
-			$localhost_domains = array(
245
-				'localhost',
246
-				'localhost.localdomain',
247
-				'127.0.0.1',
248
-				'::1'
249
-			);
250
-
251
-			if ( in_array( $host, $localhost_domains ) ) {
252
-				$localhost = true;
253
-			}
254
-
255
-			return $localhost;
256
-		}
257
-
258
-		/**
259
-		 * Show notice to connect site.
260
-		 */
261
-		public function ayecode_connect_install_notice() {
262
-			if ( $this->maybe_show() ) {
263
-				$connect_title_string     = $this->strings['connect_title'];
264
-				$connect_external_string  = $this->strings['connect_external'];
265
-				$connect_string           = $this->strings['connect'];
266
-				$connect_button_string    = $this->strings['connect_button'];
267
-				$connecting_button_string = $this->strings['connecting_button'];
268
-				?>
8
+    /**
9
+     * Allow the quick setup and connection of our AyeCode Connect plugin.
10
+     *
11
+     * Class AyeCode_Connect_Helper
12
+     */
13
+    class AyeCode_Connect_Helper {
14
+
15
+        // Hold the version number
16
+        var $version = "1.0.3";
17
+
18
+        // Hold the default strings.
19
+        var $strings = array();
20
+
21
+        // Hold the default pages.
22
+        var $pages = array();
23
+
24
+        /**
25
+         * The constructor.
26
+         *
27
+         * AyeCode_Connect_Helper constructor.
28
+         *
29
+         * @param array $strings
30
+         * @param array $pages
31
+         */
32
+        public function __construct( $strings = array(), $pages = array() ) {
33
+
34
+            // Only fire if not localhost and the current user has the right permissions.
35
+            if ( ! $this->is_localhost() && current_user_can( 'manage_options' ) ) {
36
+
37
+
38
+                // set default strings
39
+                $default_strings = array(
40
+                    'connect_title'     => __( "Thanks for choosing an AyeCode Product!" ),
41
+                    'connect_external'  => __( "Please confirm you wish to connect your site?" ),
42
+                    'connect'           => sprintf( __( "<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %slearn more%s" ), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", "</a>" ),
43
+                    'connect_button'    => __( "Connect Site" ),
44
+                    'connecting_button' => __( "Connecting..." ),
45
+                    'error_localhost'   => __( "This service will only work with a live domain, not a localhost." ),
46
+                    'error'             => __( "Something went wrong, please refresh and try again." ),
47
+                );
48
+                $this->strings   = array_merge( $default_strings, $strings );
49
+
50
+
51
+                // set default pages
52
+                $default_pages = array();
53
+                $this->pages   = array_merge( $default_pages, $pages );
54
+
55
+                // maybe show connect site notice
56
+                add_action( 'admin_notices', array( $this, 'ayecode_connect_install_notice' ) );
57
+
58
+                // add ajax action if not already added
59
+                if ( ! has_action( 'wp_ajax_ayecode_connect_helper' ) ) {
60
+                    add_action( 'wp_ajax_ayecode_connect_helper', array( $this, 'ayecode_connect_install' ) );
61
+                }
62
+            }
63
+
64
+            // add ajax action if not already added
65
+            if ( ! has_action( 'wp_ajax_nopriv_ayecode_connect_helper_installed' ) ) {
66
+                add_action( 'wp_ajax_nopriv_ayecode_connect_helper_installed', array( $this, 'ayecode_connect_helper_installed' ) );
67
+            }
68
+
69
+        }
70
+
71
+        /**
72
+         * Give a way to check we can connect via a external redirect.
73
+         */
74
+        public function ayecode_connect_helper_installed(){
75
+            $active = array(
76
+                'gd'    =>  defined('GEODIRECTORY_VERSION') && version_compare(GEODIRECTORY_VERSION,'2.0.0.79','>') ? 1 : 0,
77
+                'uwp'    =>  defined('USERSWP_VERSION') && version_compare(USERSWP_VERSION,'1.2.1.5','>') ? 1 : 0,
78
+                'wpi'    =>  defined('WPINV_VERSION') && version_compare(WPINV_VERSION,'1.0.14','>') ? 1 : 0,
79
+            );
80
+            wp_send_json_success( $active );
81
+            wp_die();
82
+        }
83
+
84
+        /**
85
+         * Get slug from path
86
+         *
87
+         * @param  string $key
88
+         *
89
+         * @return string
90
+         */
91
+        private function format_plugin_slug( $key ) {
92
+            $slug = explode( '/', $key );
93
+            $slug = explode( '.', end( $slug ) );
94
+
95
+            return $slug[0];
96
+        }
97
+
98
+        /**
99
+         * Install and activate the AyeCode Connect Plugin
100
+         */
101
+        public function ayecode_connect_install() {
102
+
103
+            // bail if localhost
104
+            if ( $this->is_localhost() ) {
105
+                wp_send_json_error( $this->strings['error_localhost'] );
106
+            }
107
+
108
+            // Explicitly clear the event.
109
+            wp_clear_scheduled_hook( 'geodir_plugin_background_installer', func_get_args() );
110
+
111
+            $success     = true;
112
+            $plugin_slug = "ayecode-connect";
113
+            if ( ! empty( $plugin_slug ) ) {
114
+                require_once( ABSPATH . 'wp-admin/includes/file.php' );
115
+                require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
116
+                require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
117
+                require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
118
+
119
+                WP_Filesystem();
120
+
121
+                $skin              = new Automatic_Upgrader_Skin;
122
+                $upgrader          = new WP_Upgrader( $skin );
123
+                $installed_plugins = array_map( array( $this, 'format_plugin_slug' ), array_keys( get_plugins() ) );
124
+                $plugin_slug       = $plugin_slug;
125
+                $plugin            = $plugin_slug . '/' . $plugin_slug . '.php';
126
+                $installed         = false;
127
+                $activate          = false;
128
+
129
+                // See if the plugin is installed already
130
+                if ( in_array( $plugin_slug, $installed_plugins ) ) {
131
+                    $installed = true;
132
+                    $activate  = ! is_plugin_active( $plugin );
133
+                }
134
+
135
+                // Install this thing!
136
+                if ( ! $installed ) {
137
+
138
+                    // Suppress feedback
139
+                    ob_start();
140
+
141
+                    try {
142
+                        $plugin_information = plugins_api( 'plugin_information', array(
143
+                            'slug'   => $plugin_slug,
144
+                            'fields' => array(
145
+                                'short_description' => false,
146
+                                'sections'          => false,
147
+                                'requires'          => false,
148
+                                'rating'            => false,
149
+                                'ratings'           => false,
150
+                                'downloaded'        => false,
151
+                                'last_updated'      => false,
152
+                                'added'             => false,
153
+                                'tags'              => false,
154
+                                'homepage'          => false,
155
+                                'donate_link'       => false,
156
+                                'author_profile'    => false,
157
+                                'author'            => false,
158
+                            ),
159
+                        ) );
160
+
161
+                        if ( is_wp_error( $plugin_information ) ) {
162
+                            throw new Exception( $plugin_information->get_error_message() );
163
+                        }
164
+
165
+                        $package  = $plugin_information->download_link;
166
+                        $download = $upgrader->download_package( $package );
167
+
168
+                        if ( is_wp_error( $download ) ) {
169
+                            throw new Exception( $download->get_error_message() );
170
+                        }
171
+
172
+                        $working_dir = $upgrader->unpack_package( $download, true );
173
+
174
+                        if ( is_wp_error( $working_dir ) ) {
175
+                            throw new Exception( $working_dir->get_error_message() );
176
+                        }
177
+
178
+                        $result = $upgrader->install_package( array(
179
+                            'source'                      => $working_dir,
180
+                            'destination'                 => WP_PLUGIN_DIR,
181
+                            'clear_destination'           => false,
182
+                            'abort_if_destination_exists' => false,
183
+                            'clear_working'               => true,
184
+                            'hook_extra'                  => array(
185
+                                'type'   => 'plugin',
186
+                                'action' => 'install',
187
+                            ),
188
+                        ) );
189
+
190
+                        if ( is_wp_error( $result ) ) {
191
+                            throw new Exception( $result->get_error_message() );
192
+                        }
193
+
194
+                        $activate = true;
195
+
196
+                    } catch ( Exception $e ) {
197
+                        $success = false;
198
+                    }
199
+
200
+                    // Discard feedback
201
+                    ob_end_clean();
202
+                }
203
+
204
+                wp_clean_plugins_cache();
205
+
206
+                // Activate this thing
207
+                if ( $activate ) {
208
+                    try {
209
+                        $result = activate_plugin( $plugin );
210
+
211
+                        if ( is_wp_error( $result ) ) {
212
+                            $success = false;
213
+                        } else {
214
+                            $success = true;
215
+                        }
216
+                    } catch ( Exception $e ) {
217
+                        $success = false;
218
+                    }
219
+                }
220
+            }
221
+
222
+            if ( $success && function_exists( 'ayecode_connect_args' ) ) {
223
+                ayecode_connect();// init
224
+                $args        = ayecode_connect_args();
225
+                $client      = new AyeCode_Connect( $args );
226
+                $redirect_to = ! empty( $_POST['redirect_to'] ) ? esc_url_raw( $_POST['redirect_to'] ) : '';
227
+                $redirect    = $client->build_connect_url( $redirect_to );
228
+                wp_send_json_success( array( 'connect_url' => $redirect ) );
229
+            } else {
230
+                wp_send_json_error( $this->strings['error_localhost'] );
231
+            }
232
+            wp_die();
233
+        }
234
+
235
+        /**
236
+         * Check if maybe localhost.
237
+         *
238
+         * @return bool
239
+         */
240
+        public function is_localhost() {
241
+            $localhost = false;
242
+
243
+            $host              = isset( $_SERVER['HTTP_HOST'] ) ? $_SERVER['HTTP_HOST'] : '';
244
+            $localhost_domains = array(
245
+                'localhost',
246
+                'localhost.localdomain',
247
+                '127.0.0.1',
248
+                '::1'
249
+            );
250
+
251
+            if ( in_array( $host, $localhost_domains ) ) {
252
+                $localhost = true;
253
+            }
254
+
255
+            return $localhost;
256
+        }
257
+
258
+        /**
259
+         * Show notice to connect site.
260
+         */
261
+        public function ayecode_connect_install_notice() {
262
+            if ( $this->maybe_show() ) {
263
+                $connect_title_string     = $this->strings['connect_title'];
264
+                $connect_external_string  = $this->strings['connect_external'];
265
+                $connect_string           = $this->strings['connect'];
266
+                $connect_button_string    = $this->strings['connect_button'];
267
+                $connecting_button_string = $this->strings['connecting_button'];
268
+                ?>
269 269
 				<div class="notice notice-info acch-notice">
270 270
 					<span class="acch-float-left">
271 271
 						<svg width="61px" height="61px" viewBox="0 0 61 61" version="1.1"
@@ -304,8 +304,8 @@  discard block
 block discarded – undo
304 304
 						<h3 class="acch-title"><?php echo esc_attr( $connect_title_string ); ?></h3>
305 305
 					<p>
306 306
 						<?php
307
-						echo $connect_string;
308
-						?>
307
+                        echo $connect_string;
308
+                        ?>
309 309
 					</p>
310 310
 					</span>
311 311
 
@@ -318,9 +318,9 @@  discard block
 block discarded – undo
318 318
 				</div>
319 319
 
320 320
 				<?php
321
-				// only include the popup HTML if needed.
322
-				if ( ! empty( $_REQUEST['external-connect-request'] ) ) {
323
-					?>
321
+                // only include the popup HTML if needed.
322
+                if ( ! empty( $_REQUEST['external-connect-request'] ) ) {
323
+                    ?>
324 324
 					<div id="ayecode-connect-helper-external-confirm" style="display:none;">
325 325
 						<div class="noticex notice-info acch-notice" style="border: none;">
326 326
 					<span class="acch-float-left">
@@ -369,23 +369,23 @@  discard block
 block discarded – undo
369 369
 						</div>
370 370
 					</div>
371 371
 					<?php
372
-				}
373
-
374
-				// add required scripts
375
-				$this->script();
376
-			}
377
-		}
378
-
379
-		/**
380
-		 * Get the JS Script.
381
-		 */
382
-		public function script() {
383
-
384
-			// add thickbox if external request is requested
385
-			if ( ! empty( $_REQUEST['external-connect-request'] ) ) {
386
-				add_thickbox();
387
-			}
388
-			?>
372
+                }
373
+
374
+                // add required scripts
375
+                $this->script();
376
+            }
377
+        }
378
+
379
+        /**
380
+         * Get the JS Script.
381
+         */
382
+        public function script() {
383
+
384
+            // add thickbox if external request is requested
385
+            if ( ! empty( $_REQUEST['external-connect-request'] ) ) {
386
+                add_thickbox();
387
+            }
388
+            ?>
389 389
 			<style>
390 390
 				.acch-title {
391 391
 					margin: 0;
@@ -454,43 +454,43 @@  discard block
 block discarded – undo
454 454
 
455 455
 
456 456
 				<?php
457
-				// add thickbox if external request is requested
458
-				if(! empty( $_REQUEST['external-connect-request'] )) {
459
-				?>
457
+                // add thickbox if external request is requested
458
+                if(! empty( $_REQUEST['external-connect-request'] )) {
459
+                ?>
460 460
 				jQuery(function () {
461 461
 					setTimeout(function () {
462 462
 						tb_show("AyeCode Connect", "?TB_inline?width=300&height=80&inlineId=ayecode-connect-helper-external-confirm");
463 463
 					}, 200);
464 464
 				});
465 465
 				<?php
466
-				}
467
-				?>
466
+                }
467
+                ?>
468 468
 
469 469
 			</script>
470 470
 			<?php
471
-		}
472
-
473
-		/**
474
-		 * Decide what pages to show on.
475
-		 *
476
-		 * @return bool
477
-		 */
478
-		public function maybe_show() {
479
-			$show = false;
480
-
481
-			// check if on a page set to show
482
-			if ( isset( $_REQUEST['page'] ) && in_array( $_REQUEST['page'], $this->pages ) ) {
483
-
484
-				// check if not active and connected
485
-				if ( ! defined( 'AYECODE_CONNECT_VERSION' ) || ! get_option( 'ayecode_connect_blog_token' ) ) {
486
-					$show = true;
487
-				}
471
+        }
472
+
473
+        /**
474
+         * Decide what pages to show on.
475
+         *
476
+         * @return bool
477
+         */
478
+        public function maybe_show() {
479
+            $show = false;
480
+
481
+            // check if on a page set to show
482
+            if ( isset( $_REQUEST['page'] ) && in_array( $_REQUEST['page'], $this->pages ) ) {
483
+
484
+                // check if not active and connected
485
+                if ( ! defined( 'AYECODE_CONNECT_VERSION' ) || ! get_option( 'ayecode_connect_blog_token' ) ) {
486
+                    $show = true;
487
+                }
488 488
 
489
-			}
489
+            }
490 490
 
491
-			return $show;
492
-		}
491
+            return $show;
492
+        }
493 493
 
494
-	}
494
+    }
495 495
 
496 496
 }
Please login to merge, or discard this patch.
Spacing   +78 added lines, -78 removed lines patch added patch discarded remove patch
@@ -1,10 +1,10 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3
-if ( ! defined( 'ABSPATH' ) ) {
3
+if (!defined('ABSPATH')) {
4 4
 	exit;
5 5
 }
6 6
 
7
-if ( ! class_exists( "AyeCode_Connect_Helper" ) ) {
7
+if (!class_exists("AyeCode_Connect_Helper")) {
8 8
 	/**
9 9
 	 * Allow the quick setup and connection of our AyeCode Connect plugin.
10 10
 	 *
@@ -29,41 +29,41 @@  discard block
 block discarded – undo
29 29
 		 * @param array $strings
30 30
 		 * @param array $pages
31 31
 		 */
32
-		public function __construct( $strings = array(), $pages = array() ) {
32
+		public function __construct($strings = array(), $pages = array()) {
33 33
 
34 34
 			// Only fire if not localhost and the current user has the right permissions.
35
-			if ( ! $this->is_localhost() && current_user_can( 'manage_options' ) ) {
35
+			if (!$this->is_localhost() && current_user_can('manage_options')) {
36 36
 
37 37
 
38 38
 				// set default strings
39 39
 				$default_strings = array(
40
-					'connect_title'     => __( "Thanks for choosing an AyeCode Product!" ),
41
-					'connect_external'  => __( "Please confirm you wish to connect your site?" ),
42
-					'connect'           => sprintf( __( "<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %slearn more%s" ), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", "</a>" ),
43
-					'connect_button'    => __( "Connect Site" ),
44
-					'connecting_button' => __( "Connecting..." ),
45
-					'error_localhost'   => __( "This service will only work with a live domain, not a localhost." ),
46
-					'error'             => __( "Something went wrong, please refresh and try again." ),
40
+					'connect_title'     => __("Thanks for choosing an AyeCode Product!"),
41
+					'connect_external'  => __("Please confirm you wish to connect your site?"),
42
+					'connect'           => sprintf(__("<strong>Have a license?</strong> Forget about entering license keys or downloading zip files, connect your site for instant access. %slearn more%s"), "<a href='https://ayecode.io/introducing-ayecode-connect/' target='_blank'>", "</a>"),
43
+					'connect_button'    => __("Connect Site"),
44
+					'connecting_button' => __("Connecting..."),
45
+					'error_localhost'   => __("This service will only work with a live domain, not a localhost."),
46
+					'error'             => __("Something went wrong, please refresh and try again."),
47 47
 				);
48
-				$this->strings   = array_merge( $default_strings, $strings );
48
+				$this->strings = array_merge($default_strings, $strings);
49 49
 
50 50
 
51 51
 				// set default pages
52 52
 				$default_pages = array();
53
-				$this->pages   = array_merge( $default_pages, $pages );
53
+				$this->pages   = array_merge($default_pages, $pages);
54 54
 
55 55
 				// maybe show connect site notice
56
-				add_action( 'admin_notices', array( $this, 'ayecode_connect_install_notice' ) );
56
+				add_action('admin_notices', array($this, 'ayecode_connect_install_notice'));
57 57
 
58 58
 				// add ajax action if not already added
59
-				if ( ! has_action( 'wp_ajax_ayecode_connect_helper' ) ) {
60
-					add_action( 'wp_ajax_ayecode_connect_helper', array( $this, 'ayecode_connect_install' ) );
59
+				if (!has_action('wp_ajax_ayecode_connect_helper')) {
60
+					add_action('wp_ajax_ayecode_connect_helper', array($this, 'ayecode_connect_install'));
61 61
 				}
62 62
 			}
63 63
 
64 64
 			// add ajax action if not already added
65
-			if ( ! has_action( 'wp_ajax_nopriv_ayecode_connect_helper_installed' ) ) {
66
-				add_action( 'wp_ajax_nopriv_ayecode_connect_helper_installed', array( $this, 'ayecode_connect_helper_installed' ) );
65
+			if (!has_action('wp_ajax_nopriv_ayecode_connect_helper_installed')) {
66
+				add_action('wp_ajax_nopriv_ayecode_connect_helper_installed', array($this, 'ayecode_connect_helper_installed'));
67 67
 			}
68 68
 
69 69
 		}
@@ -71,13 +71,13 @@  discard block
 block discarded – undo
71 71
 		/**
72 72
 		 * Give a way to check we can connect via a external redirect.
73 73
 		 */
74
-		public function ayecode_connect_helper_installed(){
74
+		public function ayecode_connect_helper_installed() {
75 75
 			$active = array(
76
-				'gd'    =>  defined('GEODIRECTORY_VERSION') && version_compare(GEODIRECTORY_VERSION,'2.0.0.79','>') ? 1 : 0,
77
-				'uwp'    =>  defined('USERSWP_VERSION') && version_compare(USERSWP_VERSION,'1.2.1.5','>') ? 1 : 0,
78
-				'wpi'    =>  defined('WPINV_VERSION') && version_compare(WPINV_VERSION,'1.0.14','>') ? 1 : 0,
76
+				'gd'    =>  defined('GEODIRECTORY_VERSION') && version_compare(GEODIRECTORY_VERSION, '2.0.0.79', '>') ? 1 : 0,
77
+				'uwp'    =>  defined('USERSWP_VERSION') && version_compare(USERSWP_VERSION, '1.2.1.5', '>') ? 1 : 0,
78
+				'wpi'    =>  defined('WPINV_VERSION') && version_compare(WPINV_VERSION, '1.0.14', '>') ? 1 : 0,
79 79
 			);
80
-			wp_send_json_success( $active );
80
+			wp_send_json_success($active);
81 81
 			wp_die();
82 82
 		}
83 83
 
@@ -88,9 +88,9 @@  discard block
 block discarded – undo
88 88
 		 *
89 89
 		 * @return string
90 90
 		 */
91
-		private function format_plugin_slug( $key ) {
92
-			$slug = explode( '/', $key );
93
-			$slug = explode( '.', end( $slug ) );
91
+		private function format_plugin_slug($key) {
92
+			$slug = explode('/', $key);
93
+			$slug = explode('.', end($slug));
94 94
 
95 95
 			return $slug[0];
96 96
 		}
@@ -101,45 +101,45 @@  discard block
 block discarded – undo
101 101
 		public function ayecode_connect_install() {
102 102
 
103 103
 			// bail if localhost
104
-			if ( $this->is_localhost() ) {
105
-				wp_send_json_error( $this->strings['error_localhost'] );
104
+			if ($this->is_localhost()) {
105
+				wp_send_json_error($this->strings['error_localhost']);
106 106
 			}
107 107
 
108 108
 			// Explicitly clear the event.
109
-			wp_clear_scheduled_hook( 'geodir_plugin_background_installer', func_get_args() );
109
+			wp_clear_scheduled_hook('geodir_plugin_background_installer', func_get_args());
110 110
 
111 111
 			$success     = true;
112 112
 			$plugin_slug = "ayecode-connect";
113
-			if ( ! empty( $plugin_slug ) ) {
114
-				require_once( ABSPATH . 'wp-admin/includes/file.php' );
115
-				require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
116
-				require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
117
-				require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
113
+			if (!empty($plugin_slug)) {
114
+				require_once(ABSPATH . 'wp-admin/includes/file.php');
115
+				require_once(ABSPATH . 'wp-admin/includes/plugin-install.php');
116
+				require_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php');
117
+				require_once(ABSPATH . 'wp-admin/includes/plugin.php');
118 118
 
119 119
 				WP_Filesystem();
120 120
 
121 121
 				$skin              = new Automatic_Upgrader_Skin;
122
-				$upgrader          = new WP_Upgrader( $skin );
123
-				$installed_plugins = array_map( array( $this, 'format_plugin_slug' ), array_keys( get_plugins() ) );
122
+				$upgrader          = new WP_Upgrader($skin);
123
+				$installed_plugins = array_map(array($this, 'format_plugin_slug'), array_keys(get_plugins()));
124 124
 				$plugin_slug       = $plugin_slug;
125 125
 				$plugin            = $plugin_slug . '/' . $plugin_slug . '.php';
126 126
 				$installed         = false;
127 127
 				$activate          = false;
128 128
 
129 129
 				// See if the plugin is installed already
130
-				if ( in_array( $plugin_slug, $installed_plugins ) ) {
130
+				if (in_array($plugin_slug, $installed_plugins)) {
131 131
 					$installed = true;
132
-					$activate  = ! is_plugin_active( $plugin );
132
+					$activate  = !is_plugin_active($plugin);
133 133
 				}
134 134
 
135 135
 				// Install this thing!
136
-				if ( ! $installed ) {
136
+				if (!$installed) {
137 137
 
138 138
 					// Suppress feedback
139 139
 					ob_start();
140 140
 
141 141
 					try {
142
-						$plugin_information = plugins_api( 'plugin_information', array(
142
+						$plugin_information = plugins_api('plugin_information', array(
143 143
 							'slug'   => $plugin_slug,
144 144
 							'fields' => array(
145 145
 								'short_description' => false,
@@ -156,26 +156,26 @@  discard block
 block discarded – undo
156 156
 								'author_profile'    => false,
157 157
 								'author'            => false,
158 158
 							),
159
-						) );
159
+						));
160 160
 
161
-						if ( is_wp_error( $plugin_information ) ) {
162
-							throw new Exception( $plugin_information->get_error_message() );
161
+						if (is_wp_error($plugin_information)) {
162
+							throw new Exception($plugin_information->get_error_message());
163 163
 						}
164 164
 
165 165
 						$package  = $plugin_information->download_link;
166
-						$download = $upgrader->download_package( $package );
166
+						$download = $upgrader->download_package($package);
167 167
 
168
-						if ( is_wp_error( $download ) ) {
169
-							throw new Exception( $download->get_error_message() );
168
+						if (is_wp_error($download)) {
169
+							throw new Exception($download->get_error_message());
170 170
 						}
171 171
 
172
-						$working_dir = $upgrader->unpack_package( $download, true );
172
+						$working_dir = $upgrader->unpack_package($download, true);
173 173
 
174
-						if ( is_wp_error( $working_dir ) ) {
175
-							throw new Exception( $working_dir->get_error_message() );
174
+						if (is_wp_error($working_dir)) {
175
+							throw new Exception($working_dir->get_error_message());
176 176
 						}
177 177
 
178
-						$result = $upgrader->install_package( array(
178
+						$result = $upgrader->install_package(array(
179 179
 							'source'                      => $working_dir,
180 180
 							'destination'                 => WP_PLUGIN_DIR,
181 181
 							'clear_destination'           => false,
@@ -185,15 +185,15 @@  discard block
 block discarded – undo
185 185
 								'type'   => 'plugin',
186 186
 								'action' => 'install',
187 187
 							),
188
-						) );
188
+						));
189 189
 
190
-						if ( is_wp_error( $result ) ) {
191
-							throw new Exception( $result->get_error_message() );
190
+						if (is_wp_error($result)) {
191
+							throw new Exception($result->get_error_message());
192 192
 						}
193 193
 
194 194
 						$activate = true;
195 195
 
196
-					} catch ( Exception $e ) {
196
+					} catch (Exception $e) {
197 197
 						$success = false;
198 198
 					}
199 199
 
@@ -204,30 +204,30 @@  discard block
 block discarded – undo
204 204
 				wp_clean_plugins_cache();
205 205
 
206 206
 				// Activate this thing
207
-				if ( $activate ) {
207
+				if ($activate) {
208 208
 					try {
209
-						$result = activate_plugin( $plugin );
209
+						$result = activate_plugin($plugin);
210 210
 
211
-						if ( is_wp_error( $result ) ) {
211
+						if (is_wp_error($result)) {
212 212
 							$success = false;
213 213
 						} else {
214 214
 							$success = true;
215 215
 						}
216
-					} catch ( Exception $e ) {
216
+					} catch (Exception $e) {
217 217
 						$success = false;
218 218
 					}
219 219
 				}
220 220
 			}
221 221
 
222
-			if ( $success && function_exists( 'ayecode_connect_args' ) ) {
223
-				ayecode_connect();// init
222
+			if ($success && function_exists('ayecode_connect_args')) {
223
+				ayecode_connect(); // init
224 224
 				$args        = ayecode_connect_args();
225
-				$client      = new AyeCode_Connect( $args );
226
-				$redirect_to = ! empty( $_POST['redirect_to'] ) ? esc_url_raw( $_POST['redirect_to'] ) : '';
227
-				$redirect    = $client->build_connect_url( $redirect_to );
228
-				wp_send_json_success( array( 'connect_url' => $redirect ) );
225
+				$client      = new AyeCode_Connect($args);
226
+				$redirect_to = !empty($_POST['redirect_to']) ? esc_url_raw($_POST['redirect_to']) : '';
227
+				$redirect    = $client->build_connect_url($redirect_to);
228
+				wp_send_json_success(array('connect_url' => $redirect));
229 229
 			} else {
230
-				wp_send_json_error( $this->strings['error_localhost'] );
230
+				wp_send_json_error($this->strings['error_localhost']);
231 231
 			}
232 232
 			wp_die();
233 233
 		}
@@ -240,7 +240,7 @@  discard block
 block discarded – undo
240 240
 		public function is_localhost() {
241 241
 			$localhost = false;
242 242
 
243
-			$host              = isset( $_SERVER['HTTP_HOST'] ) ? $_SERVER['HTTP_HOST'] : '';
243
+			$host              = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '';
244 244
 			$localhost_domains = array(
245 245
 				'localhost',
246 246
 				'localhost.localdomain',
@@ -248,7 +248,7 @@  discard block
 block discarded – undo
248 248
 				'::1'
249 249
 			);
250 250
 
251
-			if ( in_array( $host, $localhost_domains ) ) {
251
+			if (in_array($host, $localhost_domains)) {
252 252
 				$localhost = true;
253 253
 			}
254 254
 
@@ -259,7 +259,7 @@  discard block
 block discarded – undo
259 259
 		 * Show notice to connect site.
260 260
 		 */
261 261
 		public function ayecode_connect_install_notice() {
262
-			if ( $this->maybe_show() ) {
262
+			if ($this->maybe_show()) {
263 263
 				$connect_title_string     = $this->strings['connect_title'];
264 264
 				$connect_external_string  = $this->strings['connect_external'];
265 265
 				$connect_string           = $this->strings['connect'];
@@ -301,7 +301,7 @@  discard block
 block discarded – undo
301 301
 					</svg>
302 302
 					</span>
303 303
 					<span class="acch-float-left acch-text">
304
-						<h3 class="acch-title"><?php echo esc_attr( $connect_title_string ); ?></h3>
304
+						<h3 class="acch-title"><?php echo esc_attr($connect_title_string); ?></h3>
305 305
 					<p>
306 306
 						<?php
307 307
 						echo $connect_string;
@@ -312,14 +312,14 @@  discard block
 block discarded – undo
312 312
 					<span class="acch-float-left acch-button">
313 313
 						<button onclick="ayecode_connect_helper(this);" id="gd-connect-site"
314 314
 						        class="button button-primary"
315
-						        data-connecting="<?php echo esc_attr( $connecting_button_string ); ?>"><?php echo esc_attr( $connect_button_string ) ?></button>
315
+						        data-connecting="<?php echo esc_attr($connecting_button_string); ?>"><?php echo esc_attr($connect_button_string) ?></button>
316 316
 					</span>
317 317
 
318 318
 				</div>
319 319
 
320 320
 				<?php
321 321
 				// only include the popup HTML if needed.
322
-				if ( ! empty( $_REQUEST['external-connect-request'] ) ) {
322
+				if (!empty($_REQUEST['external-connect-request'])) {
323 323
 					?>
324 324
 					<div id="ayecode-connect-helper-external-confirm" style="display:none;">
325 325
 						<div class="noticex notice-info acch-notice" style="border: none;">
@@ -357,13 +357,13 @@  discard block
 block discarded – undo
357 357
 					</svg>
358 358
 					</span>
359 359
 					<span class="acch-float-left acch-text">
360
-						<h3 class="acch-title"><?php echo esc_attr( $connect_external_string ); ?></h3>
360
+						<h3 class="acch-title"><?php echo esc_attr($connect_external_string); ?></h3>
361 361
 					</span>
362 362
 
363 363
 					<span class="acch-float-left acch-button">
364 364
 						<button onclick="ayecode_connect_helper(this);" id="gd-connect-site"
365 365
 						        class="button button-primary"
366
-						        data-connecting="<?php echo esc_attr( $connecting_button_string ); ?>"><?php echo esc_attr( $connect_button_string ) ?></button>
366
+						        data-connecting="<?php echo esc_attr($connecting_button_string); ?>"><?php echo esc_attr($connect_button_string) ?></button>
367 367
 					</span>
368 368
 
369 369
 						</div>
@@ -382,7 +382,7 @@  discard block
 block discarded – undo
382 382
 		public function script() {
383 383
 
384 384
 			// add thickbox if external request is requested
385
-			if ( ! empty( $_REQUEST['external-connect-request'] ) ) {
385
+			if (!empty($_REQUEST['external-connect-request'])) {
386 386
 				add_thickbox();
387 387
 			}
388 388
 			?>
@@ -434,7 +434,7 @@  discard block
 block discarded – undo
434 434
 						url: ajaxurl,
435 435
 						data: {
436 436
 							action: 'ayecode_connect_helper',
437
-							security: '<?php echo wp_create_nonce( 'ayecode-connect-helper' );?>',
437
+							security: '<?php echo wp_create_nonce('ayecode-connect-helper'); ?>',
438 438
 							redirect_to: $current_url
439 439
 						},
440 440
 						beforeSend: function () {
@@ -455,7 +455,7 @@  discard block
 block discarded – undo
455 455
 
456 456
 				<?php
457 457
 				// add thickbox if external request is requested
458
-				if(! empty( $_REQUEST['external-connect-request'] )) {
458
+				if (!empty($_REQUEST['external-connect-request'])) {
459 459
 				?>
460 460
 				jQuery(function () {
461 461
 					setTimeout(function () {
@@ -479,10 +479,10 @@  discard block
 block discarded – undo
479 479
 			$show = false;
480 480
 
481 481
 			// check if on a page set to show
482
-			if ( isset( $_REQUEST['page'] ) && in_array( $_REQUEST['page'], $this->pages ) ) {
482
+			if (isset($_REQUEST['page']) && in_array($_REQUEST['page'], $this->pages)) {
483 483
 
484 484
 				// check if not active and connected
485
-				if ( ! defined( 'AYECODE_CONNECT_VERSION' ) || ! get_option( 'ayecode_connect_blog_token' ) ) {
485
+				if (!defined('AYECODE_CONNECT_VERSION') || !get_option('ayecode_connect_blog_token')) {
486 486
 					$show = true;
487 487
 				}
488 488
 
Please login to merge, or discard this patch.
includes/data/sample-payment-form-items.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -8,7 +8,7 @@
 block discarded – undo
8 8
  * @version 1.0.19
9 9
  */
10 10
 
11
-defined( 'ABSPATH' ) || exit;
11
+defined('ABSPATH') || exit;
12 12
 
13 13
 return array(
14 14
 
Please login to merge, or discard this patch.
widgets/checkout.php 2 patches
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) {
2
+if (!defined('ABSPATH')) {
3 3
     exit;
4 4
 }
5 5
 
@@ -23,15 +23,15 @@  discard block
 block discarded – undo
23 23
             'block-keywords'=> "['invoicing','checkout']",
24 24
             'class_name'     => __CLASS__,
25 25
             'base_id'       => 'wpinv_checkout',
26
-            'name'          => __('GetPaid > Checkout','invoicing'),
26
+            'name'          => __('GetPaid > Checkout', 'invoicing'),
27 27
             'widget_ops'    => array(
28 28
                 'classname'   => 'getpaid-checkout bsui',
29
-                'description' => esc_html__('Displays a checkout form.','invoicing'),
29
+                'description' => esc_html__('Displays a checkout form.', 'invoicing'),
30 30
             ),
31 31
             'arguments'     => array(
32 32
                 'title'  => array(
33
-                    'title'       => __( 'Widget title', 'invoicing' ),
34
-                    'desc'        => __( 'Enter widget title.', 'invoicing' ),
33
+                    'title'       => __('Widget title', 'invoicing'),
34
+                    'desc'        => __('Enter widget title.', 'invoicing'),
35 35
                     'type'        => 'text',
36 36
                     'desc_tip'    => true,
37 37
                     'default'     => '',
@@ -42,7 +42,7 @@  discard block
 block discarded – undo
42 42
         );
43 43
 
44 44
 
45
-        parent::__construct( $options );
45
+        parent::__construct($options);
46 46
     }
47 47
 
48 48
 	/**
@@ -54,7 +54,7 @@  discard block
 block discarded – undo
54 54
 	 *
55 55
 	 * @return mixed|string|bool
56 56
 	 */
57
-    public function output( $args = array(), $widget_args = array(), $content = '' ) {
57
+    public function output($args = array(), $widget_args = array(), $content = '') {
58 58
 	    return wpinv_checkout_form();
59 59
     }
60 60
 
Please login to merge, or discard this patch.
Indentation   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -45,17 +45,17 @@
 block discarded – undo
45 45
         parent::__construct( $options );
46 46
     }
47 47
 
48
-	/**
49
-	 * The Super block output function.
50
-	 *
51
-	 * @param array $args
52
-	 * @param array $widget_args
53
-	 * @param string $content
54
-	 *
55
-	 * @return mixed|string|bool
56
-	 */
48
+    /**
49
+     * The Super block output function.
50
+     *
51
+     * @param array $args
52
+     * @param array $widget_args
53
+     * @param string $content
54
+     *
55
+     * @return mixed|string|bool
56
+     */
57 57
     public function output( $args = array(), $widget_args = array(), $content = '' ) {
58
-	    return wpinv_checkout_form();
58
+        return wpinv_checkout_form();
59 59
     }
60 60
 
61 61
 }
Please login to merge, or discard this patch.
includes/class-wpinv-legacy-invoice.php 3 patches
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -1355,10 +1355,10 @@
 block discarded – undo
1355 1355
                         $data['cart_details'][$key]['price']      = wpinv_round_amount( $item_total );
1356 1356
                     }
1357 1357
 
1358
-	                $total = $data['subtotal'] - $data['discount'] + $data['tax'];
1359
-	                if ( $total < 0 ) {
1360
-		                $total = 0;
1361
-	                }
1358
+                    $total = $data['subtotal'] - $data['discount'] + $data['tax'];
1359
+                    if ( $total < 0 ) {
1360
+                        $total = 0;
1361
+                    }
1362 1362
 
1363 1363
                     $data['subtotal'] = wpinv_round_amount( $cart_subtotal );
1364 1364
                     $data['discount'] = wpinv_round_amount( $cart_discount );
Please login to merge, or discard this patch.
Braces   +3 added lines, -2 removed lines patch added patch discarded remove patch
@@ -974,8 +974,9 @@
 block discarded – undo
974 974
             return false;
975 975
         }
976 976
 
977
-        if ( empty( $this->ID ) )
978
-            return false;
977
+        if ( empty( $this->ID ) ) {
978
+                    return false;
979
+        }
979 980
         
980 981
         if ( ( ( is_user_logged_in() && wpinv_current_user_can_manage_invoicing() ) || $added_by_user ) && !$system ) {
981 982
             $user                 = get_user_by( 'id', get_current_user_id() );
Please login to merge, or discard this patch.
Spacing   +519 added lines, -519 removed lines patch added patch discarded remove patch
@@ -7,8 +7,8 @@  discard block
 block discarded – undo
7 7
  */
8 8
  
9 9
 // MUST have WordPress.
10
-if ( !defined( 'WPINC' ) ) {
11
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
10
+if (!defined('WPINC')) {
11
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
12 12
 }
13 13
 
14 14
 final class WPInv_Legacy_Invoice {
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
     /**
17 17
      * Invoice id.
18 18
      */
19
-    public $ID  = 0;
19
+    public $ID = 0;
20 20
 
21 21
     /**
22 22
      * The title of the invoice. Usually the invoice number.
@@ -132,7 +132,7 @@  discard block
 block discarded – undo
132 132
     /**
133 133
      * The invoice status.
134 134
      */
135
-    public $status      = 'wpi-pending';
135
+    public $status = 'wpi-pending';
136 136
 
137 137
     /**
138 138
      * Same as self::$status.
@@ -259,17 +259,17 @@  discard block
 block discarded – undo
259 259
      */
260 260
     public $parent_invoice = 0;
261 261
     
262
-    public function __construct( $invoice_id = false ) {
263
-        if( empty( $invoice_id ) ) {
262
+    public function __construct($invoice_id = false) {
263
+        if (empty($invoice_id)) {
264 264
             return false;
265 265
         }
266 266
 
267
-        $this->setup_invoice( $invoice_id );
267
+        $this->setup_invoice($invoice_id);
268 268
     }
269 269
 
270
-    public function get( $key ) {
271
-        if ( method_exists( $this, 'get_' . $key ) ) {
272
-            $value = call_user_func( array( $this, 'get_' . $key ) );
270
+    public function get($key) {
271
+        if (method_exists($this, 'get_' . $key)) {
272
+            $value = call_user_func(array($this, 'get_' . $key));
273 273
         } else {
274 274
             $value = $this->$key;
275 275
         }
@@ -277,51 +277,51 @@  discard block
 block discarded – undo
277 277
         return $value;
278 278
     }
279 279
 
280
-    public function set( $key, $value ) {
281
-        $ignore = array( 'items', 'cart_details', 'fees', '_ID' );
280
+    public function set($key, $value) {
281
+        $ignore = array('items', 'cart_details', 'fees', '_ID');
282 282
 
283
-        if ( $key === 'status' ) {
283
+        if ($key === 'status') {
284 284
             $this->old_status = $this->status;
285 285
         }
286 286
 
287
-        if ( ! in_array( $key, $ignore ) ) {
288
-            $this->pending[ $key ] = $value;
287
+        if (!in_array($key, $ignore)) {
288
+            $this->pending[$key] = $value;
289 289
         }
290 290
 
291
-        if( '_ID' !== $key ) {
291
+        if ('_ID' !== $key) {
292 292
             $this->$key = $value;
293 293
         }
294 294
     }
295 295
 
296
-    public function _isset( $name ) {
297
-        if ( property_exists( $this, $name) ) {
298
-            return false === empty( $this->$name );
296
+    public function _isset($name) {
297
+        if (property_exists($this, $name)) {
298
+            return false === empty($this->$name);
299 299
         } else {
300 300
             return null;
301 301
         }
302 302
     }
303 303
 
304
-    private function setup_invoice( $invoice_id ) {
304
+    private function setup_invoice($invoice_id) {
305 305
         $this->pending = array();
306 306
 
307
-        if ( empty( $invoice_id ) ) {
307
+        if (empty($invoice_id)) {
308 308
             return false;
309 309
         }
310 310
 
311
-        $invoice = get_post( $invoice_id );
311
+        $invoice = get_post($invoice_id);
312 312
 
313
-        if( !$invoice || is_wp_error( $invoice ) ) {
313
+        if (!$invoice || is_wp_error($invoice)) {
314 314
             return false;
315 315
         }
316 316
 
317
-        if( !('wpi_invoice' == $invoice->post_type OR 'wpi_quote' == $invoice->post_type) ) {
317
+        if (!('wpi_invoice' == $invoice->post_type OR 'wpi_quote' == $invoice->post_type)) {
318 318
             return false;
319 319
         }
320 320
 
321
-        do_action( 'wpinv_pre_setup_invoice', $this, $invoice_id );
321
+        do_action('wpinv_pre_setup_invoice', $this, $invoice_id);
322 322
 
323 323
         // Primary Identifier
324
-        $this->ID              = absint( $invoice_id );
324
+        $this->ID              = absint($invoice_id);
325 325
         $this->post_type       = $invoice->post_type;
326 326
 
327 327
         // We have a payment, get the generic payment_meta item to reduce calls to it
@@ -331,14 +331,14 @@  discard block
 block discarded – undo
331 331
         $this->completed_date  = $this->setup_completed_date();
332 332
         $this->status          = $invoice->post_status;
333 333
 
334
-        if ( 'future' == $this->status ) {
334
+        if ('future' == $this->status) {
335 335
             $this->status = 'publish';
336 336
         }
337 337
 
338 338
         $this->post_status     = $this->status;
339 339
         $this->mode            = $this->setup_mode();
340 340
         $this->parent_invoice  = $invoice->post_parent;
341
-        $this->post_name       = $this->setup_post_name( $invoice );
341
+        $this->post_name       = $this->setup_post_name($invoice);
342 342
         $this->status_nicename = $this->setup_status_nicename($invoice->post_status);
343 343
 
344 344
         // Items
@@ -361,8 +361,8 @@  discard block
 block discarded – undo
361 361
         
362 362
         // User based
363 363
         $this->ip              = $this->setup_ip();
364
-        $this->user_id         = !empty( $invoice->post_author ) ? $invoice->post_author : get_current_user_id();///$this->setup_user_id();
365
-        $this->email           = get_the_author_meta( 'email', $this->user_id );
364
+        $this->user_id         = !empty($invoice->post_author) ? $invoice->post_author : get_current_user_id(); ///$this->setup_user_id();
365
+        $this->email           = get_the_author_meta('email', $this->user_id);
366 366
 
367 367
         $this->user_info       = $this->setup_user_info();
368 368
 
@@ -371,7 +371,7 @@  discard block
 block discarded – undo
371 371
         $this->company         = $this->user_info['company'];
372 372
         $this->vat_number      = $this->user_info['vat_number'];
373 373
         $this->vat_rate        = $this->user_info['vat_rate'];
374
-        $this->adddress_confirmed  = $this->user_info['adddress_confirmed'];
374
+        $this->adddress_confirmed = $this->user_info['adddress_confirmed'];
375 375
         $this->address         = $this->user_info['address'];
376 376
         $this->city            = $this->user_info['city'];
377 377
         $this->country         = $this->user_info['country'];
@@ -386,39 +386,39 @@  discard block
 block discarded – undo
386 386
         // Other Identifiers
387 387
         $this->key             = $this->setup_invoice_key();
388 388
         $this->number          = $this->setup_invoice_number();
389
-        $this->title           = !empty( $invoice->post_title ) ? $invoice->post_title : $this->number;
389
+        $this->title           = !empty($invoice->post_title) ? $invoice->post_title : $this->number;
390 390
         
391
-        $this->full_name       = trim( $this->first_name . ' '. $this->last_name );
391
+        $this->full_name       = trim($this->first_name . ' ' . $this->last_name);
392 392
         
393 393
         // Allow extensions to add items to this object via hook
394
-        do_action( 'wpinv_setup_invoice', $this, $invoice_id );
394
+        do_action('wpinv_setup_invoice', $this, $invoice_id);
395 395
 
396 396
         return true;
397 397
     }
398 398
 
399
-    private function setup_status_nicename( $status ) {
400
-        $all_invoice_statuses  = wpinv_get_invoice_statuses( true, true, $this );
399
+    private function setup_status_nicename($status) {
400
+        $all_invoice_statuses = wpinv_get_invoice_statuses(true, true, $this);
401 401
 
402
-        if ( $this->is_quote() && class_exists( 'Wpinv_Quotes_Shared' ) ) {
403
-            $all_invoice_statuses  = Wpinv_Quotes_Shared::wpinv_get_quote_statuses();
402
+        if ($this->is_quote() && class_exists('Wpinv_Quotes_Shared')) {
403
+            $all_invoice_statuses = Wpinv_Quotes_Shared::wpinv_get_quote_statuses();
404 404
         }
405
-        $status   = isset( $all_invoice_statuses[$status] ) ? $all_invoice_statuses[$status] : __( $status, 'invoicing' );
405
+        $status = isset($all_invoice_statuses[$status]) ? $all_invoice_statuses[$status] : __($status, 'invoicing');
406 406
 
407
-        return apply_filters( 'setup_status_nicename', $status );
407
+        return apply_filters('setup_status_nicename', $status);
408 408
     }
409 409
 
410
-    private function setup_post_name( $post = NULL ) {
410
+    private function setup_post_name($post = NULL) {
411 411
         global $wpdb;
412 412
         
413 413
         $post_name = '';
414 414
         
415
-        if ( !empty( $post ) ) {
416
-            if( !empty( $post->post_name ) ) {
415
+        if (!empty($post)) {
416
+            if (!empty($post->post_name)) {
417 417
                 $post_name = $post->post_name;
418
-            } else if ( !empty( $post->ID ) ) {
419
-                $post_name = wpinv_generate_post_name( $post->ID );
418
+            } else if (!empty($post->ID)) {
419
+                $post_name = wpinv_generate_post_name($post->ID);
420 420
 
421
-                $wpdb->update( $wpdb->posts, array( 'post_name' => $post_name ), array( 'ID' => $post->ID ) );
421
+                $wpdb->update($wpdb->posts, array('post_name' => $post_name), array('ID' => $post->ID));
422 422
             }
423 423
         }
424 424
 
@@ -426,12 +426,12 @@  discard block
 block discarded – undo
426 426
     }
427 427
     
428 428
     private function setup_due_date() {
429
-        $due_date = $this->get_meta( '_wpinv_due_date' );
429
+        $due_date = $this->get_meta('_wpinv_due_date');
430 430
         
431
-        if ( empty( $due_date ) ) {
432
-            $overdue_time = strtotime( $this->date ) + ( DAY_IN_SECONDS * absint( wpinv_get_option( 'overdue_days' ) ) );
433
-            $due_date = date_i18n( 'Y-m-d', $overdue_time );
434
-        } else if ( $due_date == 'none' ) {
431
+        if (empty($due_date)) {
432
+            $overdue_time = strtotime($this->date) + (DAY_IN_SECONDS * absint(wpinv_get_option('overdue_days')));
433
+            $due_date = date_i18n('Y-m-d', $overdue_time);
434
+        } else if ($due_date == 'none') {
435 435
             $due_date = '';
436 436
         }
437 437
         
@@ -439,67 +439,67 @@  discard block
 block discarded – undo
439 439
     }
440 440
     
441 441
     private function setup_completed_date() {
442
-        $invoice = get_post( $this->ID );
442
+        $invoice = get_post($this->ID);
443 443
 
444
-        if ( 'wpi-pending' == $invoice->post_status || 'preapproved' == $invoice->post_status ) {
444
+        if ('wpi-pending' == $invoice->post_status || 'preapproved' == $invoice->post_status) {
445 445
             return false; // This invoice was never paid
446 446
         }
447 447
 
448
-        $date = ( $date = $this->get_meta( '_wpinv_completed_date', true ) ) ? $date : $invoice->modified_date;
448
+        $date = ($date = $this->get_meta('_wpinv_completed_date', true)) ? $date : $invoice->modified_date;
449 449
 
450 450
         return $date;
451 451
     }
452 452
     
453 453
     private function setup_cart_details() {
454
-        $cart_details = isset( $this->payment_meta['cart_details'] ) ? maybe_unserialize( $this->payment_meta['cart_details'] ) : array();
454
+        $cart_details = isset($this->payment_meta['cart_details']) ? maybe_unserialize($this->payment_meta['cart_details']) : array();
455 455
         return $cart_details;
456 456
     }
457 457
     
458 458
     public function array_convert() {
459
-        return get_object_vars( $this );
459
+        return get_object_vars($this);
460 460
     }
461 461
     
462 462
     private function setup_items() {
463
-        $items = isset( $this->payment_meta['items'] ) ? maybe_unserialize( $this->payment_meta['items'] ) : array();
463
+        $items = isset($this->payment_meta['items']) ? maybe_unserialize($this->payment_meta['items']) : array();
464 464
         return $items;
465 465
     }
466 466
     
467 467
     private function setup_fees() {
468
-        $payment_fees = isset( $this->payment_meta['fees'] ) ? $this->payment_meta['fees'] : array();
468
+        $payment_fees = isset($this->payment_meta['fees']) ? $this->payment_meta['fees'] : array();
469 469
         return $payment_fees;
470 470
     }
471 471
         
472 472
     private function setup_currency() {
473
-        $currency = isset( $this->payment_meta['currency'] ) ? $this->payment_meta['currency'] : apply_filters( 'wpinv_currency_default', wpinv_get_currency(), $this );
473
+        $currency = isset($this->payment_meta['currency']) ? $this->payment_meta['currency'] : apply_filters('wpinv_currency_default', wpinv_get_currency(), $this);
474 474
         return $currency;
475 475
     }
476 476
     
477 477
     private function setup_discount() {
478 478
         //$discount = $this->get_meta( '_wpinv_discount', true );
479
-        $discount = (float)$this->subtotal - ( (float)$this->total - (float)$this->tax - (float)$this->fees_total );
480
-        if ( $discount < 0 ) {
479
+        $discount = (float) $this->subtotal - ((float) $this->total - (float) $this->tax - (float) $this->fees_total);
480
+        if ($discount < 0) {
481 481
             $discount = 0;
482 482
         }
483
-        $discount = wpinv_round_amount( $discount );
483
+        $discount = wpinv_round_amount($discount);
484 484
         
485 485
         return $discount;
486 486
     }
487 487
     
488 488
     private function setup_discount_code() {
489
-        $discount_code = !empty( $this->discounts ) ? $this->discounts : $this->get_meta( '_wpinv_discount_code', true );
489
+        $discount_code = !empty($this->discounts) ? $this->discounts : $this->get_meta('_wpinv_discount_code', true);
490 490
         return $discount_code;
491 491
     }
492 492
     
493 493
     private function setup_tax() {
494 494
 
495
-        $tax = $this->get_meta( '_wpinv_tax', true );
495
+        $tax = $this->get_meta('_wpinv_tax', true);
496 496
 
497 497
         // We don't have tax as it's own meta and no meta was passed
498
-        if ( '' === $tax ) {            
499
-            $tax = isset( $this->payment_meta['tax'] ) ? $this->payment_meta['tax'] : 0;
498
+        if ('' === $tax) {            
499
+            $tax = isset($this->payment_meta['tax']) ? $this->payment_meta['tax'] : 0;
500 500
         }
501 501
         
502
-        if ( $tax < 0 || ! $this->is_taxable() ) {
502
+        if ($tax < 0 || !$this->is_taxable()) {
503 503
             $tax = 0;
504 504
         }
505 505
 
@@ -510,16 +510,16 @@  discard block
 block discarded – undo
510 510
      * If taxes are enabled, allow users to enable/disable taxes per invoice.
511 511
      */
512 512
     private function setup_is_taxable() {
513
-        return (int) $this->get_meta( '_wpinv_disable_taxes', true );
513
+        return (int) $this->get_meta('_wpinv_disable_taxes', true);
514 514
     }
515 515
 
516 516
     private function setup_subtotal() {
517 517
         $subtotal     = 0;
518 518
         $cart_details = $this->cart_details;
519 519
 
520
-        if ( is_array( $cart_details ) ) {
521
-            foreach ( $cart_details as $item ) {
522
-                if ( isset( $item['subtotal'] ) ) {
520
+        if (is_array($cart_details)) {
521
+            foreach ($cart_details as $item) {
522
+                if (isset($item['subtotal'])) {
523 523
                     $subtotal += $item['subtotal'];
524 524
                 }
525 525
             }
@@ -533,23 +533,23 @@  discard block
 block discarded – undo
533 533
     }
534 534
 
535 535
     private function setup_discounts() {
536
-        $discounts = ! empty( $this->payment_meta['user_info']['discount'] ) ? $this->payment_meta['user_info']['discount'] : array();
536
+        $discounts = !empty($this->payment_meta['user_info']['discount']) ? $this->payment_meta['user_info']['discount'] : array();
537 537
         return $discounts;
538 538
     }
539 539
     
540 540
     private function setup_total() {
541
-        $amount = $this->get_meta( '_wpinv_total', true );
541
+        $amount = $this->get_meta('_wpinv_total', true);
542 542
 
543
-        if ( empty( $amount ) && '0.00' != $amount ) {
544
-            $meta   = $this->get_meta( '_wpinv_payment_meta', true );
545
-            $meta   = maybe_unserialize( $meta );
543
+        if (empty($amount) && '0.00' != $amount) {
544
+            $meta   = $this->get_meta('_wpinv_payment_meta', true);
545
+            $meta   = maybe_unserialize($meta);
546 546
 
547
-            if ( isset( $meta['amount'] ) ) {
547
+            if (isset($meta['amount'])) {
548 548
                 $amount = $meta['amount'];
549 549
             }
550 550
         }
551 551
 
552
-        if($amount < 0){
552
+        if ($amount < 0) {
553 553
             $amount = 0;
554 554
         }
555 555
 
@@ -557,13 +557,13 @@  discard block
 block discarded – undo
557 557
     }
558 558
     
559 559
     private function setup_mode() {
560
-        return $this->get_meta( '_wpinv_mode' );
560
+        return $this->get_meta('_wpinv_mode');
561 561
     }
562 562
 
563 563
     private function setup_gateway() {
564
-        $gateway = $this->get_meta( '_wpinv_gateway' );
564
+        $gateway = $this->get_meta('_wpinv_gateway');
565 565
         
566
-        if ( empty( $gateway ) && 'publish' === $this->status ) {
566
+        if (empty($gateway) && 'publish' === $this->status) {
567 567
             $gateway = 'manual';
568 568
         }
569 569
         
@@ -571,23 +571,23 @@  discard block
 block discarded – undo
571 571
     }
572 572
 
573 573
     private function setup_gateway_title() {
574
-        $gateway_title = wpinv_get_gateway_checkout_label( $this->gateway );
574
+        $gateway_title = wpinv_get_gateway_checkout_label($this->gateway);
575 575
         return $gateway_title;
576 576
     }
577 577
 
578 578
     private function setup_transaction_id() {
579
-        $transaction_id = $this->get_meta( '_wpinv_transaction_id' );
579
+        $transaction_id = $this->get_meta('_wpinv_transaction_id');
580 580
 
581
-        if ( empty( $transaction_id ) || (int) $transaction_id === (int) $this->ID ) {
581
+        if (empty($transaction_id) || (int) $transaction_id === (int) $this->ID) {
582 582
             $gateway        = $this->gateway;
583
-            $transaction_id = apply_filters( 'wpinv_get_invoice_transaction_id-' . $gateway, $this->ID );
583
+            $transaction_id = apply_filters('wpinv_get_invoice_transaction_id-' . $gateway, $this->ID);
584 584
         }
585 585
 
586 586
         return $transaction_id;
587 587
     }
588 588
 
589 589
     private function setup_ip() {
590
-        $ip = $this->get_meta( '_wpinv_user_ip' );
590
+        $ip = $this->get_meta('_wpinv_user_ip');
591 591
         return $ip;
592 592
     }
593 593
 
@@ -597,62 +597,62 @@  discard block
 block discarded – undo
597 597
     ///}
598 598
         
599 599
     private function setup_first_name() {
600
-        $first_name = $this->get_meta( '_wpinv_first_name' );
600
+        $first_name = $this->get_meta('_wpinv_first_name');
601 601
         return $first_name;
602 602
     }
603 603
     
604 604
     private function setup_last_name() {
605
-        $last_name = $this->get_meta( '_wpinv_last_name' );
605
+        $last_name = $this->get_meta('_wpinv_last_name');
606 606
         return $last_name;
607 607
     }
608 608
     
609 609
     private function setup_company() {
610
-        $company = $this->get_meta( '_wpinv_company' );
610
+        $company = $this->get_meta('_wpinv_company');
611 611
         return $company;
612 612
     }
613 613
     
614 614
     private function setup_vat_number() {
615
-        $vat_number = $this->get_meta( '_wpinv_vat_number' );
615
+        $vat_number = $this->get_meta('_wpinv_vat_number');
616 616
         return $vat_number;
617 617
     }
618 618
     
619 619
     private function setup_vat_rate() {
620
-        $vat_rate = $this->get_meta( '_wpinv_vat_rate' );
620
+        $vat_rate = $this->get_meta('_wpinv_vat_rate');
621 621
         return $vat_rate;
622 622
     }
623 623
     
624 624
     private function setup_adddress_confirmed() {
625
-        $adddress_confirmed = $this->get_meta( '_wpinv_adddress_confirmed' );
625
+        $adddress_confirmed = $this->get_meta('_wpinv_adddress_confirmed');
626 626
         return $adddress_confirmed;
627 627
     }
628 628
     
629 629
     private function setup_phone() {
630
-        $phone = $this->get_meta( '_wpinv_phone' );
630
+        $phone = $this->get_meta('_wpinv_phone');
631 631
         return $phone;
632 632
     }
633 633
     
634 634
     private function setup_address() {
635
-        $address = $this->get_meta( '_wpinv_address', true );
635
+        $address = $this->get_meta('_wpinv_address', true);
636 636
         return $address;
637 637
     }
638 638
     
639 639
     private function setup_city() {
640
-        $city = $this->get_meta( '_wpinv_city', true );
640
+        $city = $this->get_meta('_wpinv_city', true);
641 641
         return $city;
642 642
     }
643 643
     
644 644
     private function setup_country() {
645
-        $country = $this->get_meta( '_wpinv_country', true );
645
+        $country = $this->get_meta('_wpinv_country', true);
646 646
         return $country;
647 647
     }
648 648
     
649 649
     private function setup_state() {
650
-        $state = $this->get_meta( '_wpinv_state', true );
650
+        $state = $this->get_meta('_wpinv_state', true);
651 651
         return $state;
652 652
     }
653 653
     
654 654
     private function setup_zip() {
655
-        $zip = $this->get_meta( '_wpinv_zip', true );
655
+        $zip = $this->get_meta('_wpinv_zip', true);
656 656
         return $zip;
657 657
     }
658 658
 
@@ -661,7 +661,7 @@  discard block
 block discarded – undo
661 661
             'user_id'        => $this->user_id,
662 662
             'first_name'     => $this->first_name,
663 663
             'last_name'      => $this->last_name,
664
-            'email'          => get_the_author_meta( 'email', $this->user_id ),
664
+            'email'          => get_the_author_meta('email', $this->user_id),
665 665
             'phone'          => $this->phone,
666 666
             'address'        => $this->address,
667 667
             'city'           => $this->city,
@@ -676,12 +676,12 @@  discard block
 block discarded – undo
676 676
         );
677 677
         
678 678
         $user_info = array();
679
-        if ( isset( $this->payment_meta['user_info'] ) ) {
680
-            $user_info = maybe_unserialize( $this->payment_meta['user_info'] );
679
+        if (isset($this->payment_meta['user_info'])) {
680
+            $user_info = maybe_unserialize($this->payment_meta['user_info']);
681 681
             
682
-            if ( !empty( $user_info ) && isset( $user_info['user_id'] ) && $post = get_post( $this->ID ) ) {
682
+            if (!empty($user_info) && isset($user_info['user_id']) && $post = get_post($this->ID)) {
683 683
                 $this->user_id = $post->post_author;
684
-                $this->email = get_the_author_meta( 'email', $this->user_id );
684
+                $this->email = get_the_author_meta('email', $this->user_id);
685 685
                 
686 686
                 $user_info['user_id'] = $this->user_id;
687 687
                 $user_info['email'] = $this->email;
@@ -690,13 +690,13 @@  discard block
 block discarded – undo
690 690
             }
691 691
         }
692 692
         
693
-        $user_info    = wp_parse_args( $user_info, $defaults );
693
+        $user_info = wp_parse_args($user_info, $defaults);
694 694
         
695 695
         // Get the user, but only if it's been created
696
-        $user = get_userdata( $this->user_id );
696
+        $user = get_userdata($this->user_id);
697 697
         
698
-        if ( !empty( $user ) && $user->ID > 0 ) {
699
-            if ( empty( $user_info ) ) {
698
+        if (!empty($user) && $user->ID > 0) {
699
+            if (empty($user_info)) {
700 700
                 $user_info = array(
701 701
                     'user_id'    => $user->ID,
702 702
                     'first_name' => $user->first_name,
@@ -705,23 +705,23 @@  discard block
 block discarded – undo
705 705
                     'discount'   => '',
706 706
                 );
707 707
             } else {
708
-                foreach ( $user_info as $key => $value ) {
709
-                    if ( ! empty( $value ) ) {
708
+                foreach ($user_info as $key => $value) {
709
+                    if (!empty($value)) {
710 710
                         continue;
711 711
                     }
712 712
 
713
-                    switch( $key ) {
713
+                    switch ($key) {
714 714
                         case 'user_id':
715
-                            $user_info[ $key ] = $user->ID;
715
+                            $user_info[$key] = $user->ID;
716 716
                             break;
717 717
                         case 'first_name':
718
-                            $user_info[ $key ] = $user->first_name;
718
+                            $user_info[$key] = $user->first_name;
719 719
                             break;
720 720
                         case 'last_name':
721
-                            $user_info[ $key ] = $user->last_name;
721
+                            $user_info[$key] = $user->last_name;
722 722
                             break;
723 723
                         case 'email':
724
-                            $user_info[ $key ] = $user->user_email;
724
+                            $user_info[$key] = $user->user_email;
725 725
                             break;
726 726
                     }
727 727
                 }
@@ -732,25 +732,25 @@  discard block
 block discarded – undo
732 732
     }
733 733
 
734 734
     private function setup_invoice_key() {
735
-        $key = $this->get_meta( '_wpinv_key', true );
735
+        $key = $this->get_meta('_wpinv_key', true);
736 736
         
737 737
         return $key;
738 738
     }
739 739
 
740 740
     private function setup_invoice_number() {
741
-        $number = $this->get_meta( '_wpinv_number', true );
741
+        $number = $this->get_meta('_wpinv_number', true);
742 742
 
743
-        if ( !$number ) {
743
+        if (!$number) {
744 744
             $number = $this->ID;
745 745
 
746
-            if ( $this->status == 'auto-draft' ) {
747
-                if ( wpinv_sequential_number_active( $this->post_type ) ) {
748
-                    $next_number = wpinv_get_next_invoice_number( $this->post_type );
746
+            if ($this->status == 'auto-draft') {
747
+                if (wpinv_sequential_number_active($this->post_type)) {
748
+                    $next_number = wpinv_get_next_invoice_number($this->post_type);
749 749
                     $number      = $next_number;
750 750
                 }
751 751
             }
752 752
             
753
-            $number = wpinv_format_invoice_number( $number, $this->post_type );
753
+            $number = wpinv_format_invoice_number($number, $this->post_type);
754 754
         }
755 755
 
756 756
         return $number;
@@ -758,7 +758,7 @@  discard block
 block discarded – undo
758 758
 
759 759
     public function save() {}
760 760
     
761
-    public function add_fee( $args ) {
761
+    public function add_fee($args) {
762 762
         $default_args = array(
763 763
             'label'       => '',
764 764
             'amount'      => 0,
@@ -768,75 +768,75 @@  discard block
 block discarded – undo
768 768
             'item_id'     => 0,
769 769
         );
770 770
 
771
-        $fee = wp_parse_args( $args, $default_args );
771
+        $fee = wp_parse_args($args, $default_args);
772 772
         
773
-        if ( empty( $fee['label'] ) ) {
773
+        if (empty($fee['label'])) {
774 774
             return false;
775 775
         }
776 776
         
777
-        $fee['id']  = sanitize_title( $fee['label'] );
777
+        $fee['id'] = sanitize_title($fee['label']);
778 778
         
779
-        $this->fees[]               = $fee;
779
+        $this->fees[] = $fee;
780 780
         
781 781
         $added_fee               = $fee;
782 782
         $added_fee['action']     = 'add';
783 783
         $this->pending['fees'][] = $added_fee;
784
-        reset( $this->fees );
784
+        reset($this->fees);
785 785
 
786
-        $this->increase_fees( $fee['amount'] );
786
+        $this->increase_fees($fee['amount']);
787 787
         return true;
788 788
     }
789 789
 
790
-    public function remove_fee( $key ) {
790
+    public function remove_fee($key) {
791 791
         $removed = false;
792 792
 
793
-        if ( is_numeric( $key ) ) {
794
-            $removed = $this->remove_fee_by( 'index', $key );
793
+        if (is_numeric($key)) {
794
+            $removed = $this->remove_fee_by('index', $key);
795 795
         }
796 796
 
797 797
         return $removed;
798 798
     }
799 799
 
800
-    public function remove_fee_by( $key, $value, $global = false ) {
801
-        $allowed_fee_keys = apply_filters( 'wpinv_fee_keys', array(
800
+    public function remove_fee_by($key, $value, $global = false) {
801
+        $allowed_fee_keys = apply_filters('wpinv_fee_keys', array(
802 802
             'index', 'label', 'amount', 'type',
803
-        ) );
803
+        ));
804 804
 
805
-        if ( ! in_array( $key, $allowed_fee_keys ) ) {
805
+        if (!in_array($key, $allowed_fee_keys)) {
806 806
             return false;
807 807
         }
808 808
 
809 809
         $removed = false;
810
-        if ( 'index' === $key && array_key_exists( $value, $this->fees ) ) {
811
-            $removed_fee             = $this->fees[ $value ];
810
+        if ('index' === $key && array_key_exists($value, $this->fees)) {
811
+            $removed_fee             = $this->fees[$value];
812 812
             $removed_fee['action']   = 'remove';
813 813
             $this->pending['fees'][] = $removed_fee;
814 814
 
815
-            $this->decrease_fees( $removed_fee['amount'] );
815
+            $this->decrease_fees($removed_fee['amount']);
816 816
 
817
-            unset( $this->fees[ $value ] );
817
+            unset($this->fees[$value]);
818 818
             $removed = true;
819
-        } else if ( 'index' !== $key ) {
820
-            foreach ( $this->fees as $index => $fee ) {
821
-                if ( isset( $fee[ $key ] ) && $fee[ $key ] == $value ) {
819
+        } else if ('index' !== $key) {
820
+            foreach ($this->fees as $index => $fee) {
821
+                if (isset($fee[$key]) && $fee[$key] == $value) {
822 822
                     $removed_fee             = $fee;
823 823
                     $removed_fee['action']   = 'remove';
824 824
                     $this->pending['fees'][] = $removed_fee;
825 825
 
826
-                    $this->decrease_fees( $removed_fee['amount'] );
826
+                    $this->decrease_fees($removed_fee['amount']);
827 827
 
828
-                    unset( $this->fees[ $index ] );
828
+                    unset($this->fees[$index]);
829 829
                     $removed = true;
830 830
 
831
-                    if ( false === $global ) {
831
+                    if (false === $global) {
832 832
                         break;
833 833
                     }
834 834
                 }
835 835
             }
836 836
         }
837 837
 
838
-        if ( true === $removed ) {
839
-            $this->fees = array_values( $this->fees );
838
+        if (true === $removed) {
839
+            $this->fees = array_values($this->fees);
840 840
         }
841 841
 
842 842
         return $removed;
@@ -844,35 +844,35 @@  discard block
 block discarded – undo
844 844
 
845 845
     
846 846
 
847
-    public function add_note( $note = '', $customer_type = false, $added_by_user = false, $system = false ) {
847
+    public function add_note($note = '', $customer_type = false, $added_by_user = false, $system = false) {
848 848
         // Bail if no note specified
849
-        if( !$note ) {
849
+        if (!$note) {
850 850
             return false;
851 851
         }
852 852
 
853
-        if ( empty( $this->ID ) )
853
+        if (empty($this->ID))
854 854
             return false;
855 855
         
856
-        if ( ( ( is_user_logged_in() && wpinv_current_user_can_manage_invoicing() ) || $added_by_user ) && !$system ) {
857
-            $user                 = get_user_by( 'id', get_current_user_id() );
856
+        if (((is_user_logged_in() && wpinv_current_user_can_manage_invoicing()) || $added_by_user) && !$system) {
857
+            $user                 = get_user_by('id', get_current_user_id());
858 858
             $comment_author       = $user->display_name;
859 859
             $comment_author_email = $user->user_email;
860 860
         } else {
861 861
             $comment_author       = 'System';
862 862
             $comment_author_email = 'system@';
863
-            $comment_author_email .= isset( $_SERVER['HTTP_HOST'] ) ? str_replace( 'www.', '', $_SERVER['HTTP_HOST'] ) : 'noreply.com';
864
-            $comment_author_email = sanitize_email( $comment_author_email );
863
+            $comment_author_email .= isset($_SERVER['HTTP_HOST']) ? str_replace('www.', '', $_SERVER['HTTP_HOST']) : 'noreply.com';
864
+            $comment_author_email = sanitize_email($comment_author_email);
865 865
         }
866 866
 
867
-        do_action( 'wpinv_pre_insert_invoice_note', $this->ID, $note, $customer_type );
867
+        do_action('wpinv_pre_insert_invoice_note', $this->ID, $note, $customer_type);
868 868
 
869
-        $note_id = wp_insert_comment( wp_filter_comment( array(
869
+        $note_id = wp_insert_comment(wp_filter_comment(array(
870 870
             'comment_post_ID'      => $this->ID,
871 871
             'comment_content'      => $note,
872 872
             'comment_agent'        => 'WPInvoicing',
873 873
             'user_id'              => is_admin() ? get_current_user_id() : 0,
874
-            'comment_date'         => current_time( 'mysql' ),
875
-            'comment_date_gmt'     => current_time( 'mysql', 1 ),
874
+            'comment_date'         => current_time('mysql'),
875
+            'comment_date_gmt'     => current_time('mysql', 1),
876 876
             'comment_approved'     => 1,
877 877
             'comment_parent'       => 0,
878 878
             'comment_author'       => $comment_author,
@@ -880,53 +880,53 @@  discard block
 block discarded – undo
880 880
             'comment_author_url'   => '',
881 881
             'comment_author_email' => $comment_author_email,
882 882
             'comment_type'         => 'wpinv_note'
883
-        ) ) );
883
+        )));
884 884
 
885
-        do_action( 'wpinv_insert_payment_note', $note_id, $this->ID, $note );
885
+        do_action('wpinv_insert_payment_note', $note_id, $this->ID, $note);
886 886
         
887
-        if ( $customer_type ) {
888
-            add_comment_meta( $note_id, '_wpi_customer_note', 1 );
887
+        if ($customer_type) {
888
+            add_comment_meta($note_id, '_wpi_customer_note', 1);
889 889
 
890
-            do_action( 'wpinv_new_customer_note', array( 'invoice_id' => $this->ID, 'user_note' => $note ) );
890
+            do_action('wpinv_new_customer_note', array('invoice_id' => $this->ID, 'user_note' => $note));
891 891
         }
892 892
 
893 893
         return $note_id;
894 894
     }
895 895
 
896
-    private function increase_subtotal( $amount = 0.00 ) {
896
+    private function increase_subtotal($amount = 0.00) {
897 897
         $amount          = (float) $amount;
898 898
         $this->subtotal += $amount;
899
-        $this->subtotal  = wpinv_round_amount( $this->subtotal );
899
+        $this->subtotal  = wpinv_round_amount($this->subtotal);
900 900
 
901 901
         $this->recalculate_total();
902 902
     }
903 903
 
904
-    private function decrease_subtotal( $amount = 0.00 ) {
904
+    private function decrease_subtotal($amount = 0.00) {
905 905
         $amount          = (float) $amount;
906 906
         $this->subtotal -= $amount;
907
-        $this->subtotal  = wpinv_round_amount( $this->subtotal );
907
+        $this->subtotal  = wpinv_round_amount($this->subtotal);
908 908
 
909
-        if ( $this->subtotal < 0 ) {
909
+        if ($this->subtotal < 0) {
910 910
             $this->subtotal = 0;
911 911
         }
912 912
 
913 913
         $this->recalculate_total();
914 914
     }
915 915
 
916
-    private function increase_fees( $amount = 0.00 ) {
917
-        $amount            = (float)$amount;
916
+    private function increase_fees($amount = 0.00) {
917
+        $amount            = (float) $amount;
918 918
         $this->fees_total += $amount;
919
-        $this->fees_total  = wpinv_round_amount( $this->fees_total );
919
+        $this->fees_total  = wpinv_round_amount($this->fees_total);
920 920
 
921 921
         $this->recalculate_total();
922 922
     }
923 923
 
924
-    private function decrease_fees( $amount = 0.00 ) {
924
+    private function decrease_fees($amount = 0.00) {
925 925
         $amount            = (float) $amount;
926 926
         $this->fees_total -= $amount;
927
-        $this->fees_total  = wpinv_round_amount( $this->fees_total );
927
+        $this->fees_total  = wpinv_round_amount($this->fees_total);
928 928
 
929
-        if ( $this->fees_total < 0 ) {
929
+        if ($this->fees_total < 0) {
930 930
             $this->fees_total = 0;
931 931
         }
932 932
 
@@ -937,56 +937,56 @@  discard block
 block discarded – undo
937 937
         global $wpi_nosave;
938 938
         
939 939
         $this->total = $this->subtotal + $this->tax + $this->fees_total;
940
-        $this->total = wpinv_round_amount( $this->total );
940
+        $this->total = wpinv_round_amount($this->total);
941 941
         
942
-        do_action( 'wpinv_invoice_recalculate_total', $this, $wpi_nosave );
942
+        do_action('wpinv_invoice_recalculate_total', $this, $wpi_nosave);
943 943
     }
944 944
     
945
-    public function increase_tax( $amount = 0.00 ) {
945
+    public function increase_tax($amount = 0.00) {
946 946
         $amount       = (float) $amount;
947 947
         $this->tax   += $amount;
948 948
 
949 949
         $this->recalculate_total();
950 950
     }
951 951
 
952
-    public function decrease_tax( $amount = 0.00 ) {
952
+    public function decrease_tax($amount = 0.00) {
953 953
         $amount     = (float) $amount;
954 954
         $this->tax -= $amount;
955 955
 
956
-        if ( $this->tax < 0 ) {
956
+        if ($this->tax < 0) {
957 957
             $this->tax = 0;
958 958
         }
959 959
 
960 960
         $this->recalculate_total();
961 961
     }
962 962
 
963
-    public function update_status( $new_status = false, $note = '', $manual = false ) {
964
-        $old_status = ! empty( $this->old_status ) ? $this->old_status : get_post_status( $this->ID );
963
+    public function update_status($new_status = false, $note = '', $manual = false) {
964
+        $old_status = !empty($this->old_status) ? $this->old_status : get_post_status($this->ID);
965 965
 
966
-        if ( $old_status === $new_status && in_array( $new_status, array_keys( wpinv_get_invoice_statuses( true ) ) ) ) {
966
+        if ($old_status === $new_status && in_array($new_status, array_keys(wpinv_get_invoice_statuses(true)))) {
967 967
             return false; // Don't permit status changes that aren't changes
968 968
         }
969 969
 
970
-        $do_change = apply_filters( 'wpinv_should_update_invoice_status', true, $this->ID, $new_status, $old_status );
970
+        $do_change = apply_filters('wpinv_should_update_invoice_status', true, $this->ID, $new_status, $old_status);
971 971
         $updated = false;
972 972
 
973
-        if ( $do_change ) {
974
-            do_action( 'wpinv_before_invoice_status_change', $this->ID, $new_status, $old_status );
973
+        if ($do_change) {
974
+            do_action('wpinv_before_invoice_status_change', $this->ID, $new_status, $old_status);
975 975
 
976 976
             $update_post_data                   = array();
977 977
             $update_post_data['ID']             = $this->ID;
978 978
             $update_post_data['post_status']    = $new_status;
979
-            $update_post_data['edit_date']      = current_time( 'mysql', 0 );
980
-            $update_post_data['edit_date_gmt']  = current_time( 'mysql', 1 );
979
+            $update_post_data['edit_date']      = current_time('mysql', 0);
980
+            $update_post_data['edit_date_gmt']  = current_time('mysql', 1);
981 981
             
982
-            $update_post_data = apply_filters( 'wpinv_update_invoice_status_fields', $update_post_data, $this->ID );
982
+            $update_post_data = apply_filters('wpinv_update_invoice_status_fields', $update_post_data, $this->ID);
983 983
 
984
-            $updated = wp_update_post( $update_post_data );
984
+            $updated = wp_update_post($update_post_data);
985 985
             
986 986
             // Status was changed.
987
-            do_action( 'wpinv_status_' . $new_status, $this->ID, $old_status );
988
-            do_action( 'wpinv_status_' . $old_status . '_to_' . $new_status, $this->ID, $old_status );
989
-            do_action( 'wpinv_update_status', $this->ID, $new_status, $old_status );
987
+            do_action('wpinv_status_' . $new_status, $this->ID, $old_status);
988
+            do_action('wpinv_status_' . $old_status . '_to_' . $new_status, $this->ID, $old_status);
989
+            do_action('wpinv_update_status', $this->ID, $new_status, $old_status);
990 990
         }
991 991
 
992 992
         return $updated;
@@ -1000,20 +1000,20 @@  discard block
 block discarded – undo
1000 1000
         $this->save();
1001 1001
     }
1002 1002
 
1003
-    public function update_meta( $meta_key = '', $meta_value = '', $prev_value = '' ) {
1004
-        if ( empty( $meta_key ) ) {
1003
+    public function update_meta($meta_key = '', $meta_value = '', $prev_value = '') {
1004
+        if (empty($meta_key)) {
1005 1005
             return false;
1006 1006
         }
1007 1007
 
1008
-        if ( $meta_key == 'key' || $meta_key == 'date' ) {
1008
+        if ($meta_key == 'key' || $meta_key == 'date') {
1009 1009
             $current_meta = $this->get_meta();
1010
-            $current_meta[ $meta_key ] = $meta_value;
1010
+            $current_meta[$meta_key] = $meta_value;
1011 1011
 
1012 1012
             $meta_key     = '_wpinv_payment_meta';
1013 1013
             $meta_value   = $current_meta;
1014 1014
         }
1015 1015
 
1016
-        $meta_value = apply_filters( 'wpinv_update_payment_meta_' . $meta_key, $meta_value, $this->ID );
1016
+        $meta_value = apply_filters('wpinv_update_payment_meta_' . $meta_key, $meta_value, $this->ID);
1017 1017
         
1018 1018
         // Do not update created date on invoice marked as paid.
1019 1019
         /*if ( $meta_key == '_wpinv_completed_date' && !empty( $meta_value ) ) {
@@ -1028,76 +1028,76 @@  discard block
 block discarded – undo
1028 1028
             wp_update_post( $args );
1029 1029
         }*/
1030 1030
         
1031
-        return update_post_meta( $this->ID, $meta_key, $meta_value, $prev_value );
1031
+        return update_post_meta($this->ID, $meta_key, $meta_value, $prev_value);
1032 1032
     }
1033 1033
 
1034 1034
     // get data
1035
-    public function get_meta( $meta_key = '_wpinv_payment_meta', $single = true ) {
1036
-        $meta = get_post_meta( $this->ID, $meta_key, $single );
1035
+    public function get_meta($meta_key = '_wpinv_payment_meta', $single = true) {
1036
+        $meta = get_post_meta($this->ID, $meta_key, $single);
1037 1037
 
1038
-        if ( $meta_key === '_wpinv_payment_meta' ) {
1038
+        if ($meta_key === '_wpinv_payment_meta') {
1039 1039
 
1040
-            if(!is_array($meta)){$meta = array();} // we need this to be an array so make sure it is.
1040
+            if (!is_array($meta)) {$meta = array(); } // we need this to be an array so make sure it is.
1041 1041
 
1042
-            if ( empty( $meta['key'] ) ) {
1042
+            if (empty($meta['key'])) {
1043 1043
                 $meta['key'] = $this->setup_invoice_key();
1044 1044
             }
1045 1045
 
1046
-            if ( empty( $meta['date'] ) ) {
1047
-                $meta['date'] = get_post_field( 'post_date', $this->ID );
1046
+            if (empty($meta['date'])) {
1047
+                $meta['date'] = get_post_field('post_date', $this->ID);
1048 1048
             }
1049 1049
         }
1050 1050
 
1051
-        $meta = apply_filters( 'wpinv_get_invoice_meta_' . $meta_key, $meta, $this->ID );
1051
+        $meta = apply_filters('wpinv_get_invoice_meta_' . $meta_key, $meta, $this->ID);
1052 1052
 
1053
-        return apply_filters( 'wpinv_get_invoice_meta', $meta, $this->ID, $meta_key );
1053
+        return apply_filters('wpinv_get_invoice_meta', $meta, $this->ID, $meta_key);
1054 1054
     }
1055 1055
     
1056 1056
     public function get_description() {
1057
-        $post = get_post( $this->ID );
1057
+        $post = get_post($this->ID);
1058 1058
         
1059
-        $description = !empty( $post ) ? $post->post_content : '';
1060
-        return apply_filters( 'wpinv_get_description', $description, $this->ID, $this );
1059
+        $description = !empty($post) ? $post->post_content : '';
1060
+        return apply_filters('wpinv_get_description', $description, $this->ID, $this);
1061 1061
     }
1062 1062
     
1063
-    public function get_status( $nicename = false ) {
1064
-        if ( !$nicename ) {
1063
+    public function get_status($nicename = false) {
1064
+        if (!$nicename) {
1065 1065
             $status = $this->status;
1066 1066
         } else {
1067 1067
             $status = $this->status_nicename;
1068 1068
         }
1069 1069
         
1070
-        return apply_filters( 'wpinv_get_status', $status, $nicename, $this->ID, $this );
1070
+        return apply_filters('wpinv_get_status', $status, $nicename, $this->ID, $this);
1071 1071
     }
1072 1072
     
1073 1073
     public function get_cart_details() {
1074
-        return apply_filters( 'wpinv_cart_details', $this->cart_details, $this->ID, $this );
1074
+        return apply_filters('wpinv_cart_details', $this->cart_details, $this->ID, $this);
1075 1075
     }
1076 1076
     
1077
-    public function get_subtotal( $currency = false ) {
1078
-        $subtotal = wpinv_round_amount( $this->subtotal );
1077
+    public function get_subtotal($currency = false) {
1078
+        $subtotal = wpinv_round_amount($this->subtotal);
1079 1079
         
1080
-        if ( $currency ) {
1081
-            $subtotal = wpinv_price( wpinv_format_amount( $subtotal, NULL, !$currency ), $this->get_currency() );
1080
+        if ($currency) {
1081
+            $subtotal = wpinv_price(wpinv_format_amount($subtotal, NULL, !$currency), $this->get_currency());
1082 1082
         }
1083 1083
         
1084
-        return apply_filters( 'wpinv_get_invoice_subtotal', $subtotal, $this->ID, $this, $currency );
1084
+        return apply_filters('wpinv_get_invoice_subtotal', $subtotal, $this->ID, $this, $currency);
1085 1085
     }
1086 1086
     
1087
-    public function get_total( $currency = false ) {        
1088
-        if ( $this->is_free_trial() ) {
1089
-            $total = wpinv_round_amount( 0 );
1087
+    public function get_total($currency = false) {        
1088
+        if ($this->is_free_trial()) {
1089
+            $total = wpinv_round_amount(0);
1090 1090
         } else {
1091
-            $total = wpinv_round_amount( $this->total );
1091
+            $total = wpinv_round_amount($this->total);
1092 1092
         }
1093
-        if ( $currency ) {
1094
-            $total = wpinv_price( wpinv_format_amount( $total, NULL, !$currency ), $this->get_currency() );
1093
+        if ($currency) {
1094
+            $total = wpinv_price(wpinv_format_amount($total, NULL, !$currency), $this->get_currency());
1095 1095
         }
1096 1096
         
1097
-        return apply_filters( 'wpinv_get_invoice_total', $total, $this->ID, $this, $currency );
1097
+        return apply_filters('wpinv_get_invoice_total', $total, $this->ID, $this, $currency);
1098 1098
     }
1099 1099
     
1100
-    public function get_recurring_details( $field = '', $currency = false ) {        
1100
+    public function get_recurring_details($field = '', $currency = false) {        
1101 1101
         $data                 = array();
1102 1102
         $data['cart_details'] = $this->cart_details;
1103 1103
         $data['subtotal']     = $this->get_subtotal();
@@ -1105,119 +1105,119 @@  discard block
 block discarded – undo
1105 1105
         $data['tax']          = $this->get_tax();
1106 1106
         $data['total']        = $this->get_total();
1107 1107
     
1108
-        if ( !empty( $this->cart_details ) && ( $this->is_parent() || $this->is_renewal() ) ) {
1108
+        if (!empty($this->cart_details) && ($this->is_parent() || $this->is_renewal())) {
1109 1109
             $is_free_trial = $this->is_free_trial();
1110
-            $discounts = $this->get_discounts( true );
1110
+            $discounts = $this->get_discounts(true);
1111 1111
             
1112
-            if ( $is_free_trial || !empty( $discounts ) ) {
1112
+            if ($is_free_trial || !empty($discounts)) {
1113 1113
                 $first_use_only = false;
1114 1114
                 
1115
-                if ( !empty( $discounts ) ) {
1116
-                    foreach ( $discounts as $key => $code ) {
1117
-                        if ( wpinv_discount_is_recurring( $code, true ) && !$this->is_renewal() ) {
1115
+                if (!empty($discounts)) {
1116
+                    foreach ($discounts as $key => $code) {
1117
+                        if (wpinv_discount_is_recurring($code, true) && !$this->is_renewal()) {
1118 1118
                             $first_use_only = true;
1119 1119
                             break;
1120 1120
                         }
1121 1121
                     }
1122 1122
                 }
1123 1123
                     
1124
-                if ( !$first_use_only ) {
1125
-                    $data['subtotal'] = wpinv_round_amount( $this->subtotal );
1126
-                    $data['discount'] = wpinv_round_amount( $this->discount );
1127
-                    $data['tax']      = wpinv_round_amount( $this->tax );
1128
-                    $data['total']    = wpinv_round_amount( $this->total );
1124
+                if (!$first_use_only) {
1125
+                    $data['subtotal'] = wpinv_round_amount($this->subtotal);
1126
+                    $data['discount'] = wpinv_round_amount($this->discount);
1127
+                    $data['tax']      = wpinv_round_amount($this->tax);
1128
+                    $data['total']    = wpinv_round_amount($this->total);
1129 1129
                 } else {
1130 1130
                     $cart_subtotal   = 0;
1131 1131
                     $cart_discount   = $this->discount;
1132 1132
                     $cart_tax        = 0;
1133 1133
 
1134
-                    foreach ( $this->cart_details as $key => $item ) {
1135
-                        $item_quantity  = $item['quantity'] > 0 ? absint( $item['quantity'] ) : 1;
1136
-                        $item_subtotal  = !empty( $item['subtotal'] ) ? $item['subtotal'] : $item['item_price'] * $item_quantity;
1134
+                    foreach ($this->cart_details as $key => $item) {
1135
+                        $item_quantity  = $item['quantity'] > 0 ? absint($item['quantity']) : 1;
1136
+                        $item_subtotal  = !empty($item['subtotal']) ? $item['subtotal'] : $item['item_price'] * $item_quantity;
1137 1137
                         $item_discount  = 0;
1138
-                        $item_tax       = $item_subtotal > 0 && !empty( $item['vat_rate'] ) ? ( $item_subtotal * 0.01 * (float)$item['vat_rate'] ) : 0;
1138
+                        $item_tax       = $item_subtotal > 0 && !empty($item['vat_rate']) ? ($item_subtotal * 0.01 * (float) $item['vat_rate']) : 0;
1139 1139
                         
1140
-                        if ( wpinv_prices_include_tax() ) {
1141
-                            $item_subtotal -= wpinv_round_amount( $item_tax );
1140
+                        if (wpinv_prices_include_tax()) {
1141
+                            $item_subtotal -= wpinv_round_amount($item_tax);
1142 1142
                         }
1143 1143
                         
1144 1144
                         $item_total     = $item_subtotal - $item_discount + $item_tax;
1145 1145
                         // Do not allow totals to go negative
1146
-                        if ( $item_total < 0 ) {
1146
+                        if ($item_total < 0) {
1147 1147
                             $item_total = 0;
1148 1148
                         }
1149 1149
                         
1150
-                        $cart_subtotal  += (float)($item_subtotal);
1151
-                        $cart_discount  += (float)($item_discount);
1152
-                        $cart_tax       += (float)($item_tax);
1150
+                        $cart_subtotal  += (float) ($item_subtotal);
1151
+                        $cart_discount  += (float) ($item_discount);
1152
+                        $cart_tax       += (float) ($item_tax);
1153 1153
                         
1154
-                        $data['cart_details'][$key]['discount']   = wpinv_round_amount( $item_discount );
1155
-                        $data['cart_details'][$key]['tax']        = wpinv_round_amount( $item_tax );
1156
-                        $data['cart_details'][$key]['price']      = wpinv_round_amount( $item_total );
1154
+                        $data['cart_details'][$key]['discount']   = wpinv_round_amount($item_discount);
1155
+                        $data['cart_details'][$key]['tax']        = wpinv_round_amount($item_tax);
1156
+                        $data['cart_details'][$key]['price']      = wpinv_round_amount($item_total);
1157 1157
                     }
1158 1158
 
1159 1159
 	                $total = $data['subtotal'] - $data['discount'] + $data['tax'];
1160
-	                if ( $total < 0 ) {
1160
+	                if ($total < 0) {
1161 1161
 		                $total = 0;
1162 1162
 	                }
1163 1163
 
1164
-                    $data['subtotal'] = wpinv_round_amount( $cart_subtotal );
1165
-                    $data['discount'] = wpinv_round_amount( $cart_discount );
1166
-                    $data['tax']      = wpinv_round_amount( $cart_tax );
1167
-                    $data['total']    = wpinv_round_amount( $total );
1164
+                    $data['subtotal'] = wpinv_round_amount($cart_subtotal);
1165
+                    $data['discount'] = wpinv_round_amount($cart_discount);
1166
+                    $data['tax']      = wpinv_round_amount($cart_tax);
1167
+                    $data['total']    = wpinv_round_amount($total);
1168 1168
                 }
1169 1169
             }
1170 1170
         }
1171 1171
         
1172
-        $data = apply_filters( 'wpinv_get_invoice_recurring_details', $data, $this, $field, $currency );
1172
+        $data = apply_filters('wpinv_get_invoice_recurring_details', $data, $this, $field, $currency);
1173 1173
 
1174
-        if ( isset( $data[$field] ) ) {
1175
-            return ( $currency ? wpinv_price( $data[$field], $this->get_currency() ) : $data[$field] );
1174
+        if (isset($data[$field])) {
1175
+            return ($currency ? wpinv_price($data[$field], $this->get_currency()) : $data[$field]);
1176 1176
         }
1177 1177
         
1178 1178
         return $data;
1179 1179
     }
1180 1180
     
1181
-    public function get_final_tax( $currency = false ) {        
1182
-        $final_total = wpinv_round_amount( $this->tax );
1183
-        if ( $currency ) {
1184
-            $final_total = wpinv_price( wpinv_format_amount( $final_total, NULL, !$currency ), $this->get_currency() );
1181
+    public function get_final_tax($currency = false) {        
1182
+        $final_total = wpinv_round_amount($this->tax);
1183
+        if ($currency) {
1184
+            $final_total = wpinv_price(wpinv_format_amount($final_total, NULL, !$currency), $this->get_currency());
1185 1185
         }
1186 1186
         
1187
-        return apply_filters( 'wpinv_get_invoice_final_total', $final_total, $this, $currency );
1187
+        return apply_filters('wpinv_get_invoice_final_total', $final_total, $this, $currency);
1188 1188
     }
1189 1189
     
1190
-    public function get_discounts( $array = false ) {
1190
+    public function get_discounts($array = false) {
1191 1191
         $discounts = $this->discounts;
1192
-        if ( $array && $discounts ) {
1193
-            $discounts = explode( ',', $discounts );
1192
+        if ($array && $discounts) {
1193
+            $discounts = explode(',', $discounts);
1194 1194
         }
1195
-        return apply_filters( 'wpinv_payment_discounts', $discounts, $this->ID, $this, $array );
1195
+        return apply_filters('wpinv_payment_discounts', $discounts, $this->ID, $this, $array);
1196 1196
     }
1197 1197
     
1198
-    public function get_discount( $currency = false, $dash = false ) {
1199
-        if ( !empty( $this->discounts ) ) {
1198
+    public function get_discount($currency = false, $dash = false) {
1199
+        if (!empty($this->discounts)) {
1200 1200
             global $ajax_cart_details;
1201 1201
             $ajax_cart_details = $this->get_cart_details();
1202 1202
             
1203
-            if ( !empty( $ajax_cart_details ) && count( $ajax_cart_details ) == count( $this->items ) ) {
1203
+            if (!empty($ajax_cart_details) && count($ajax_cart_details) == count($this->items)) {
1204 1204
                 $cart_items = $ajax_cart_details;
1205 1205
             } else {
1206 1206
                 $cart_items = $this->items;
1207 1207
             }
1208 1208
 
1209
-            $this->discount = wpinv_get_cart_items_discount_amount( $cart_items , $this->discounts );
1209
+            $this->discount = wpinv_get_cart_items_discount_amount($cart_items, $this->discounts);
1210 1210
         }
1211
-        $discount   = wpinv_round_amount( $this->discount );
1211
+        $discount   = wpinv_round_amount($this->discount);
1212 1212
         $dash       = $dash && $discount > 0 ? '&ndash;' : '';
1213 1213
         
1214
-        if ( $currency ) {
1215
-            $discount = wpinv_price( wpinv_format_amount( $discount, NULL, !$currency ), $this->get_currency() );
1214
+        if ($currency) {
1215
+            $discount = wpinv_price(wpinv_format_amount($discount, NULL, !$currency), $this->get_currency());
1216 1216
         }
1217 1217
         
1218
-        $discount   = $dash . $discount;
1218
+        $discount = $dash . $discount;
1219 1219
         
1220
-        return apply_filters( 'wpinv_get_invoice_discount', $discount, $this->ID, $this, $currency, $dash );
1220
+        return apply_filters('wpinv_get_invoice_discount', $discount, $this->ID, $this, $currency, $dash);
1221 1221
     }
1222 1222
     
1223 1223
     public function get_discount_code() {
@@ -1229,49 +1229,49 @@  discard block
 block discarded – undo
1229 1229
         return (int) $this->disable_taxes === 0;
1230 1230
     }
1231 1231
 
1232
-    public function get_tax( $currency = false ) {
1233
-        $tax = wpinv_round_amount( $this->tax );
1232
+    public function get_tax($currency = false) {
1233
+        $tax = wpinv_round_amount($this->tax);
1234 1234
 
1235
-        if ( $currency ) {
1236
-            $tax = wpinv_price( wpinv_format_amount( $tax, NULL, !$currency ), $this->get_currency() );
1235
+        if ($currency) {
1236
+            $tax = wpinv_price(wpinv_format_amount($tax, NULL, !$currency), $this->get_currency());
1237 1237
         }
1238 1238
 
1239
-        if ( ! $this->is_taxable() ) {
1240
-            $tax = wpinv_round_amount( 0.00 );
1239
+        if (!$this->is_taxable()) {
1240
+            $tax = wpinv_round_amount(0.00);
1241 1241
         }
1242 1242
 
1243
-        return apply_filters( 'wpinv_get_invoice_tax', $tax, $this->ID, $this, $currency );
1243
+        return apply_filters('wpinv_get_invoice_tax', $tax, $this->ID, $this, $currency);
1244 1244
     }
1245 1245
     
1246
-    public function get_fees( $type = 'all' ) {
1247
-        $fees    = array();
1246
+    public function get_fees($type = 'all') {
1247
+        $fees = array();
1248 1248
 
1249
-        if ( ! empty( $this->fees ) && is_array( $this->fees ) ) {
1250
-            foreach ( $this->fees as $fee ) {
1251
-                if( 'all' != $type && ! empty( $fee['type'] ) && $type != $fee['type'] ) {
1249
+        if (!empty($this->fees) && is_array($this->fees)) {
1250
+            foreach ($this->fees as $fee) {
1251
+                if ('all' != $type && !empty($fee['type']) && $type != $fee['type']) {
1252 1252
                     continue;
1253 1253
                 }
1254 1254
 
1255
-                $fee['label'] = stripslashes( $fee['label'] );
1256
-                $fee['amount_display'] = wpinv_price( $fee['amount'], $this->get_currency() );
1257
-                $fees[]    = $fee;
1255
+                $fee['label'] = stripslashes($fee['label']);
1256
+                $fee['amount_display'] = wpinv_price($fee['amount'], $this->get_currency());
1257
+                $fees[] = $fee;
1258 1258
             }
1259 1259
         }
1260 1260
 
1261
-        return apply_filters( 'wpinv_get_invoice_fees', $fees, $this->ID, $this );
1261
+        return apply_filters('wpinv_get_invoice_fees', $fees, $this->ID, $this);
1262 1262
     }
1263 1263
     
1264
-    public function get_fees_total( $type = 'all' ) {
1264
+    public function get_fees_total($type = 'all') {
1265 1265
         $fees_total = (float) 0.00;
1266 1266
 
1267
-        $payment_fees = isset( $this->payment_meta['fees'] ) ? $this->payment_meta['fees'] : array();
1268
-        if ( ! empty( $payment_fees ) ) {
1269
-            foreach ( $payment_fees as $fee ) {
1267
+        $payment_fees = isset($this->payment_meta['fees']) ? $this->payment_meta['fees'] : array();
1268
+        if (!empty($payment_fees)) {
1269
+            foreach ($payment_fees as $fee) {
1270 1270
                 $fees_total += (float) $fee['amount'];
1271 1271
             }
1272 1272
         }
1273 1273
 
1274
-        return apply_filters( 'wpinv_get_invoice_fees_total', $fees_total, $this->ID, $this );
1274
+        return apply_filters('wpinv_get_invoice_fees_total', $fees_total, $this->ID, $this);
1275 1275
         /*
1276 1276
         $fees = $this->get_fees( $type );
1277 1277
 
@@ -1291,116 +1291,116 @@  discard block
 block discarded – undo
1291 1291
     }
1292 1292
 
1293 1293
     public function get_user_id() {
1294
-        return apply_filters( 'wpinv_user_id', $this->user_id, $this->ID, $this );
1294
+        return apply_filters('wpinv_user_id', $this->user_id, $this->ID, $this);
1295 1295
     }
1296 1296
     
1297 1297
     public function get_first_name() {
1298
-        return apply_filters( 'wpinv_first_name', $this->first_name, $this->ID, $this );
1298
+        return apply_filters('wpinv_first_name', $this->first_name, $this->ID, $this);
1299 1299
     }
1300 1300
     
1301 1301
     public function get_last_name() {
1302
-        return apply_filters( 'wpinv_last_name', $this->last_name, $this->ID, $this );
1302
+        return apply_filters('wpinv_last_name', $this->last_name, $this->ID, $this);
1303 1303
     }
1304 1304
     
1305 1305
     public function get_user_full_name() {
1306
-        return apply_filters( 'wpinv_user_full_name', $this->full_name, $this->ID, $this );
1306
+        return apply_filters('wpinv_user_full_name', $this->full_name, $this->ID, $this);
1307 1307
     }
1308 1308
     
1309 1309
     public function get_user_info() {
1310
-        return apply_filters( 'wpinv_user_info', $this->user_info, $this->ID, $this );
1310
+        return apply_filters('wpinv_user_info', $this->user_info, $this->ID, $this);
1311 1311
     }
1312 1312
     
1313 1313
     public function get_email() {
1314
-        return apply_filters( 'wpinv_user_email', $this->email, $this->ID, $this );
1314
+        return apply_filters('wpinv_user_email', $this->email, $this->ID, $this);
1315 1315
     }
1316 1316
     
1317 1317
     public function get_address() {
1318
-        return apply_filters( 'wpinv_address', $this->address, $this->ID, $this );
1318
+        return apply_filters('wpinv_address', $this->address, $this->ID, $this);
1319 1319
     }
1320 1320
     
1321 1321
     public function get_phone() {
1322
-        return apply_filters( 'wpinv_phone', $this->phone, $this->ID, $this );
1322
+        return apply_filters('wpinv_phone', $this->phone, $this->ID, $this);
1323 1323
     }
1324 1324
     
1325 1325
     public function get_number() {
1326
-        return apply_filters( 'wpinv_number', $this->number, $this->ID, $this );
1326
+        return apply_filters('wpinv_number', $this->number, $this->ID, $this);
1327 1327
     }
1328 1328
     
1329 1329
     public function get_items() {
1330
-        return apply_filters( 'wpinv_payment_meta_items', $this->items, $this->ID, $this );
1330
+        return apply_filters('wpinv_payment_meta_items', $this->items, $this->ID, $this);
1331 1331
     }
1332 1332
     
1333 1333
     public function get_key() {
1334
-        return apply_filters( 'wpinv_key', $this->key, $this->ID, $this );
1334
+        return apply_filters('wpinv_key', $this->key, $this->ID, $this);
1335 1335
     }
1336 1336
     
1337 1337
     public function get_transaction_id() {
1338
-        return apply_filters( 'wpinv_get_invoice_transaction_id', $this->transaction_id, $this->ID, $this );
1338
+        return apply_filters('wpinv_get_invoice_transaction_id', $this->transaction_id, $this->ID, $this);
1339 1339
     }
1340 1340
     
1341 1341
     public function get_gateway() {
1342
-        return apply_filters( 'wpinv_gateway', $this->gateway, $this->ID, $this );
1342
+        return apply_filters('wpinv_gateway', $this->gateway, $this->ID, $this);
1343 1343
     }
1344 1344
     
1345 1345
     public function get_gateway_title() {
1346
-        $this->gateway_title = !empty( $this->gateway_title ) ? $this->gateway_title : wpinv_get_gateway_checkout_label( $this->gateway );
1346
+        $this->gateway_title = !empty($this->gateway_title) ? $this->gateway_title : wpinv_get_gateway_checkout_label($this->gateway);
1347 1347
         
1348
-        return apply_filters( 'wpinv_gateway_title', $this->gateway_title, $this->ID, $this );
1348
+        return apply_filters('wpinv_gateway_title', $this->gateway_title, $this->ID, $this);
1349 1349
     }
1350 1350
     
1351 1351
     public function get_currency() {
1352
-        return apply_filters( 'wpinv_currency_code', $this->currency, $this->ID, $this );
1352
+        return apply_filters('wpinv_currency_code', $this->currency, $this->ID, $this);
1353 1353
     }
1354 1354
     
1355 1355
     public function get_created_date() {
1356
-        return apply_filters( 'wpinv_created_date', $this->date, $this->ID, $this );
1356
+        return apply_filters('wpinv_created_date', $this->date, $this->ID, $this);
1357 1357
     }
1358 1358
     
1359
-    public function get_due_date( $display = false ) {
1360
-        $due_date = apply_filters( 'wpinv_due_date', $this->due_date, $this->ID, $this );
1359
+    public function get_due_date($display = false) {
1360
+        $due_date = apply_filters('wpinv_due_date', $this->due_date, $this->ID, $this);
1361 1361
 
1362
-        if ( ! $display ) {
1362
+        if (!$display) {
1363 1363
             return $due_date;
1364 1364
         }
1365 1365
         
1366
-        return getpaid_format_date( $this->due_date );
1366
+        return getpaid_format_date($this->due_date);
1367 1367
     }
1368 1368
     
1369 1369
     public function get_completed_date() {
1370
-        return apply_filters( 'wpinv_completed_date', $this->completed_date, $this->ID, $this );
1370
+        return apply_filters('wpinv_completed_date', $this->completed_date, $this->ID, $this);
1371 1371
     }
1372 1372
     
1373
-    public function get_invoice_date( $formatted = true ) {
1373
+    public function get_invoice_date($formatted = true) {
1374 1374
         $date_completed = $this->completed_date;
1375 1375
         $invoice_date   = $date_completed != '' && $date_completed != '0000-00-00 00:00:00' ? $date_completed : '';
1376 1376
         
1377
-        if ( $invoice_date == '' ) {
1377
+        if ($invoice_date == '') {
1378 1378
             $date_created   = $this->date;
1379 1379
             $invoice_date   = $date_created != '' && $date_created != '0000-00-00 00:00:00' ? $date_created : '';
1380 1380
         }
1381 1381
         
1382
-        if ( $formatted && $invoice_date ) {
1383
-            $invoice_date   = getpaid_format_date( $invoice_date );
1382
+        if ($formatted && $invoice_date) {
1383
+            $invoice_date = getpaid_format_date($invoice_date);
1384 1384
         }
1385 1385
 
1386
-        return apply_filters( 'wpinv_get_invoice_date', $invoice_date, $formatted, $this->ID, $this );
1386
+        return apply_filters('wpinv_get_invoice_date', $invoice_date, $formatted, $this->ID, $this);
1387 1387
     }
1388 1388
     
1389 1389
     public function get_ip() {
1390
-        return apply_filters( 'wpinv_user_ip', $this->ip, $this->ID, $this );
1390
+        return apply_filters('wpinv_user_ip', $this->ip, $this->ID, $this);
1391 1391
     }
1392 1392
         
1393
-    public function has_status( $status ) {
1394
-        return apply_filters( 'wpinv_has_status', ( is_array( $status ) && in_array( $this->get_status(), $status ) ) || $this->get_status() === $status ? true : false, $this, $status );
1393
+    public function has_status($status) {
1394
+        return apply_filters('wpinv_has_status', (is_array($status) && in_array($this->get_status(), $status)) || $this->get_status() === $status ? true : false, $this, $status);
1395 1395
     }
1396 1396
     
1397
-    public function add_item( $item_id = 0, $args = array() ) {
1397
+    public function add_item($item_id = 0, $args = array()) {
1398 1398
         global $wpi_current_id, $wpi_item_id;
1399 1399
         
1400
-        $item = new WPInv_Item( $item_id );
1400
+        $item = new WPInv_Item($item_id);
1401 1401
 
1402 1402
         // Bail if this post isn't a item
1403
-        if( !$item || $item->post_type !== 'wpi_item' ) {
1403
+        if (!$item || $item->post_type !== 'wpi_item') {
1404 1404
             return false;
1405 1405
         }
1406 1406
         
@@ -1419,8 +1419,8 @@  discard block
 block discarded – undo
1419 1419
             'fees'          => array()
1420 1420
         );
1421 1421
 
1422
-        $args = wp_parse_args( apply_filters( 'wpinv_add_item_args', $args, $item->ID ), $defaults );
1423
-        $args['quantity']   = $has_quantities && $args['quantity'] > 0 ? absint( $args['quantity'] ) : 1;
1422
+        $args = wp_parse_args(apply_filters('wpinv_add_item_args', $args, $item->ID), $defaults);
1423
+        $args['quantity'] = $has_quantities && $args['quantity'] > 0 ? absint($args['quantity']) : 1;
1424 1424
 
1425 1425
         $wpi_current_id         = $this->ID;
1426 1426
         $wpi_item_id            = $item->ID;
@@ -1432,19 +1432,19 @@  discard block
 block discarded – undo
1432 1432
         $found_cart_key         = false;
1433 1433
         
1434 1434
         if ($has_quantities) {
1435
-            $this->cart_details = !empty( $this->cart_details ) ? array_values( $this->cart_details ) : $this->cart_details;
1435
+            $this->cart_details = !empty($this->cart_details) ? array_values($this->cart_details) : $this->cart_details;
1436 1436
             
1437
-            foreach ( $this->items as $key => $cart_item ) {
1438
-                if ( (int)$item_id !== (int)$cart_item['id'] ) {
1437
+            foreach ($this->items as $key => $cart_item) {
1438
+                if ((int) $item_id !== (int) $cart_item['id']) {
1439 1439
                     continue;
1440 1440
                 }
1441 1441
 
1442
-                $this->items[ $key ]['quantity'] += $args['quantity'];
1442
+                $this->items[$key]['quantity'] += $args['quantity'];
1443 1443
                 break;
1444 1444
             }
1445 1445
             
1446
-            foreach ( $this->cart_details as $cart_key => $cart_item ) {
1447
-                if ( $item_id != $cart_item['id'] ) {
1446
+            foreach ($this->cart_details as $cart_key => $cart_item) {
1447
+                if ($item_id != $cart_item['id']) {
1448 1448
                     continue;
1449 1449
                 }
1450 1450
 
@@ -1456,29 +1456,29 @@  discard block
 block discarded – undo
1456 1456
         if ($has_quantities && $found_cart_key !== false) {
1457 1457
             $cart_item          = $this->cart_details[$found_cart_key];
1458 1458
             $item_price         = $cart_item['item_price'];
1459
-            $quantity           = !empty( $cart_item['quantity'] ) ? $cart_item['quantity'] : 1;
1460
-            $tax_rate           = !empty( $cart_item['vat_rate'] ) ? $cart_item['vat_rate'] : 0;
1459
+            $quantity           = !empty($cart_item['quantity']) ? $cart_item['quantity'] : 1;
1460
+            $tax_rate           = !empty($cart_item['vat_rate']) ? $cart_item['vat_rate'] : 0;
1461 1461
             
1462 1462
             $new_quantity       = $quantity + $args['quantity'];
1463 1463
             $subtotal           = $item_price * $new_quantity;
1464 1464
             
1465 1465
             $args['quantity']   = $new_quantity;
1466
-            $discount           = !empty( $args['discount'] ) ? $args['discount'] : 0;
1467
-            $tax                = $subtotal > 0 && $tax_rate > 0 ? ( ( $subtotal - $discount ) * 0.01 * (float)$tax_rate ) : 0;
1466
+            $discount           = !empty($args['discount']) ? $args['discount'] : 0;
1467
+            $tax                = $subtotal > 0 && $tax_rate > 0 ? (($subtotal - $discount) * 0.01 * (float) $tax_rate) : 0;
1468 1468
             
1469
-            $discount_increased = $discount > 0 && $subtotal > 0 && $discount > (float)$cart_item['discount'] ? $discount - (float)$cart_item['discount'] : 0;
1470
-            $tax_increased      = $tax > 0 && $subtotal > 0 && $tax > (float)$cart_item['tax'] ? $tax - (float)$cart_item['tax'] : 0;
1469
+            $discount_increased = $discount > 0 && $subtotal > 0 && $discount > (float) $cart_item['discount'] ? $discount - (float) $cart_item['discount'] : 0;
1470
+            $tax_increased      = $tax > 0 && $subtotal > 0 && $tax > (float) $cart_item['tax'] ? $tax - (float) $cart_item['tax'] : 0;
1471 1471
             // The total increase equals the number removed * the item_price
1472
-            $total_increased    = wpinv_round_amount( $item_price );
1472
+            $total_increased    = wpinv_round_amount($item_price);
1473 1473
             
1474
-            if ( wpinv_prices_include_tax() ) {
1475
-                $subtotal -= wpinv_round_amount( $tax );
1474
+            if (wpinv_prices_include_tax()) {
1475
+                $subtotal -= wpinv_round_amount($tax);
1476 1476
             }
1477 1477
 
1478
-            $total              = $subtotal - $discount + $tax;
1478
+            $total = $subtotal - $discount + $tax;
1479 1479
 
1480 1480
             // Do not allow totals to go negative
1481
-            if( $total < 0 ) {
1481
+            if ($total < 0) {
1482 1482
                 $total = 0;
1483 1483
             }
1484 1484
             
@@ -1494,25 +1494,25 @@  discard block
 block discarded – undo
1494 1494
             $this->cart_details[$found_cart_key] = $cart_item;
1495 1495
         } else {
1496 1496
             // Set custom price.
1497
-            if ( $args['custom_price'] !== '' ) {
1497
+            if ($args['custom_price'] !== '') {
1498 1498
                 $item_price = $args['custom_price'];
1499 1499
             } else {
1500 1500
                 // Allow overriding the price
1501
-                if ( false !== $args['item_price'] ) {
1501
+                if (false !== $args['item_price']) {
1502 1502
                     $item_price = $args['item_price'];
1503 1503
                 } else {
1504
-                    $item_price = wpinv_get_item_price( $item->ID );
1504
+                    $item_price = wpinv_get_item_price($item->ID);
1505 1505
                 }
1506 1506
             }
1507 1507
 
1508 1508
             // Sanitizing the price here so we don't have a dozen calls later
1509
-            $item_price = wpinv_sanitize_amount( $item_price );
1510
-            $subtotal   = wpinv_round_amount( $item_price * $args['quantity'] );
1509
+            $item_price = wpinv_sanitize_amount($item_price);
1510
+            $subtotal   = wpinv_round_amount($item_price * $args['quantity']);
1511 1511
         
1512
-            $discount   = !empty( $args['discount'] ) ? $args['discount'] : 0;
1513
-            $tax_class  = !empty( $args['vat_class'] ) ? $args['vat_class'] : '';
1514
-            $tax_rate   = !empty( $args['vat_rate'] ) ? $args['vat_rate'] : 0;
1515
-            $tax        = $subtotal > 0 && $tax_rate > 0 ? ( ( $subtotal - $discount ) * 0.01 * (float)$tax_rate ) : 0;
1512
+            $discount   = !empty($args['discount']) ? $args['discount'] : 0;
1513
+            $tax_class  = !empty($args['vat_class']) ? $args['vat_class'] : '';
1514
+            $tax_rate   = !empty($args['vat_rate']) ? $args['vat_rate'] : 0;
1515
+            $tax        = $subtotal > 0 && $tax_rate > 0 ? (($subtotal - $discount) * 0.01 * (float) $tax_rate) : 0;
1516 1516
 
1517 1517
             // Setup the items meta item
1518 1518
             $new_item = array(
@@ -1520,29 +1520,29 @@  discard block
 block discarded – undo
1520 1520
                 'quantity' => $args['quantity'],
1521 1521
             );
1522 1522
 
1523
-            $this->items[]  = $new_item;
1523
+            $this->items[] = $new_item;
1524 1524
 
1525
-            if ( wpinv_prices_include_tax() ) {
1526
-                $subtotal -= wpinv_round_amount( $tax );
1525
+            if (wpinv_prices_include_tax()) {
1526
+                $subtotal -= wpinv_round_amount($tax);
1527 1527
             }
1528 1528
 
1529
-            $total      = $subtotal - $discount + $tax;
1529
+            $total = $subtotal - $discount + $tax;
1530 1530
 
1531 1531
             // Do not allow totals to go negative
1532
-            if( $total < 0 ) {
1532
+            if ($total < 0) {
1533 1533
                 $total = 0;
1534 1534
             }
1535 1535
         
1536 1536
             $this->cart_details[] = array(
1537 1537
                 'name'          => !empty($args['name']) ? $args['name'] : $item->get_name(),
1538 1538
                 'id'            => $item->ID,
1539
-                'item_price'    => wpinv_round_amount( $item_price ),
1540
-                'custom_price'  => ( $args['custom_price'] !== '' ? wpinv_round_amount( $args['custom_price'] ) : '' ),
1539
+                'item_price'    => wpinv_round_amount($item_price),
1540
+                'custom_price'  => ($args['custom_price'] !== '' ? wpinv_round_amount($args['custom_price']) : ''),
1541 1541
                 'quantity'      => $args['quantity'],
1542 1542
                 'discount'      => $discount,
1543
-                'subtotal'      => wpinv_round_amount( $subtotal ),
1544
-                'tax'           => wpinv_round_amount( $tax ),
1545
-                'price'         => wpinv_round_amount( $total ),
1543
+                'subtotal'      => wpinv_round_amount($subtotal),
1544
+                'tax'           => wpinv_round_amount($tax),
1545
+                'price'         => wpinv_round_amount($total),
1546 1546
                 'vat_rate'      => $tax_rate,
1547 1547
                 'vat_class'     => $tax_class,
1548 1548
                 'meta'          => $args['meta'],
@@ -1552,18 +1552,18 @@  discard block
 block discarded – undo
1552 1552
             $subtotal = $subtotal - $discount;
1553 1553
         }
1554 1554
         
1555
-        $added_item = end( $this->cart_details );
1556
-        $added_item['action']  = 'add';
1555
+        $added_item = end($this->cart_details);
1556
+        $added_item['action'] = 'add';
1557 1557
         
1558 1558
         $this->pending['items'][] = $added_item;
1559 1559
         
1560
-        $this->increase_subtotal( $subtotal );
1561
-        $this->increase_tax( $tax );
1560
+        $this->increase_subtotal($subtotal);
1561
+        $this->increase_tax($tax);
1562 1562
 
1563 1563
         return true;
1564 1564
     }
1565 1565
     
1566
-    public function remove_item( $item_id, $args = array() ) {
1566
+    public function remove_item($item_id, $args = array()) {
1567 1567
         // Set some defaults
1568 1568
         $defaults = array(
1569 1569
             'quantity'      => 1,
@@ -1571,51 +1571,51 @@  discard block
 block discarded – undo
1571 1571
             'custom_price'  => '',
1572 1572
             'cart_index'    => false,
1573 1573
         );
1574
-        $args = wp_parse_args( $args, $defaults );
1574
+        $args = wp_parse_args($args, $defaults);
1575 1575
 
1576 1576
         // Bail if this post isn't a item
1577
-        if ( get_post_type( $item_id ) !== 'wpi_item' ) {
1577
+        if (get_post_type($item_id) !== 'wpi_item') {
1578 1578
             return false;
1579 1579
         }
1580 1580
         
1581
-        $this->cart_details = !empty( $this->cart_details ) ? array_values( $this->cart_details ) : $this->cart_details;
1581
+        $this->cart_details = !empty($this->cart_details) ? array_values($this->cart_details) : $this->cart_details;
1582 1582
 
1583
-        foreach ( $this->items as $key => $item ) {
1584
-            if ( !empty($item['id']) && (int)$item_id !== (int)$item['id'] ) {
1583
+        foreach ($this->items as $key => $item) {
1584
+            if (!empty($item['id']) && (int) $item_id !== (int) $item['id']) {
1585 1585
                 continue;
1586 1586
             }
1587 1587
 
1588
-            if ( false !== $args['cart_index'] ) {
1589
-                $cart_index = absint( $args['cart_index'] );
1590
-                $cart_item  = ! empty( $this->cart_details[ $cart_index ] ) ? $this->cart_details[ $cart_index ] : false;
1588
+            if (false !== $args['cart_index']) {
1589
+                $cart_index = absint($args['cart_index']);
1590
+                $cart_item  = !empty($this->cart_details[$cart_index]) ? $this->cart_details[$cart_index] : false;
1591 1591
 
1592
-                if ( ! empty( $cart_item ) ) {
1592
+                if (!empty($cart_item)) {
1593 1593
                     // If the cart index item isn't the same item ID, don't remove it
1594
-                    if ( !empty($cart_item['id']) && $cart_item['id'] != $item['id'] ) {
1594
+                    if (!empty($cart_item['id']) && $cart_item['id'] != $item['id']) {
1595 1595
                         continue;
1596 1596
                     }
1597 1597
                 }
1598 1598
             }
1599 1599
 
1600
-            $item_quantity = $this->items[ $key ]['quantity'];
1601
-            if ( $item_quantity > $args['quantity'] ) {
1602
-                $this->items[ $key ]['quantity'] -= $args['quantity'];
1600
+            $item_quantity = $this->items[$key]['quantity'];
1601
+            if ($item_quantity > $args['quantity']) {
1602
+                $this->items[$key]['quantity'] -= $args['quantity'];
1603 1603
                 break;
1604 1604
             } else {
1605
-                unset( $this->items[ $key ] );
1605
+                unset($this->items[$key]);
1606 1606
                 break;
1607 1607
             }
1608 1608
         }
1609 1609
 
1610 1610
         $found_cart_key = false;
1611
-        if ( false === $args['cart_index'] ) {
1612
-            foreach ( $this->cart_details as $cart_key => $item ) {
1613
-                if ( $item_id != $item['id'] ) {
1611
+        if (false === $args['cart_index']) {
1612
+            foreach ($this->cart_details as $cart_key => $item) {
1613
+                if ($item_id != $item['id']) {
1614 1614
                     continue;
1615 1615
                 }
1616 1616
 
1617
-                if ( false !== $args['item_price'] ) {
1618
-                    if ( isset( $item['item_price'] ) && (float) $args['item_price'] != (float) $item['item_price'] ) {
1617
+                if (false !== $args['item_price']) {
1618
+                    if (isset($item['item_price']) && (float) $args['item_price'] != (float) $item['item_price']) {
1619 1619
                         continue;
1620 1620
                     }
1621 1621
                 }
@@ -1624,13 +1624,13 @@  discard block
 block discarded – undo
1624 1624
                 break;
1625 1625
             }
1626 1626
         } else {
1627
-            $cart_index = absint( $args['cart_index'] );
1627
+            $cart_index = absint($args['cart_index']);
1628 1628
 
1629
-            if ( ! array_key_exists( $cart_index, $this->cart_details ) ) {
1629
+            if (!array_key_exists($cart_index, $this->cart_details)) {
1630 1630
                 return false; // Invalid cart index passed.
1631 1631
             }
1632 1632
 
1633
-            if ( (int) $this->cart_details[ $cart_index ]['id'] > 0 && (int) $this->cart_details[ $cart_index ]['id'] !== (int) $item_id ) {
1633
+            if ((int) $this->cart_details[$cart_index]['id'] > 0 && (int) $this->cart_details[$cart_index]['id'] !== (int) $item_id) {
1634 1634
                 return false; // We still need the proper Item ID to be sure.
1635 1635
             }
1636 1636
 
@@ -1638,41 +1638,41 @@  discard block
 block discarded – undo
1638 1638
         }
1639 1639
         
1640 1640
         $cart_item  = $this->cart_details[$found_cart_key];
1641
-        $quantity   = !empty( $cart_item['quantity'] ) ? $cart_item['quantity'] : 1;
1641
+        $quantity   = !empty($cart_item['quantity']) ? $cart_item['quantity'] : 1;
1642 1642
         
1643
-        if ( count( $this->cart_details ) == 1 && ( $quantity - $args['quantity'] ) < 1 ) {
1643
+        if (count($this->cart_details) == 1 && ($quantity - $args['quantity']) < 1) {
1644 1644
             //return false; // Invoice must contain at least one item.
1645 1645
         }
1646 1646
         
1647
-        $discounts  = $this->get_discounts();
1647
+        $discounts = $this->get_discounts();
1648 1648
         
1649
-        if ( $quantity > $args['quantity'] ) {
1649
+        if ($quantity > $args['quantity']) {
1650 1650
             $item_price         = $cart_item['item_price'];
1651
-            $tax_rate           = !empty( $cart_item['vat_rate'] ) ? $cart_item['vat_rate'] : 0;
1651
+            $tax_rate           = !empty($cart_item['vat_rate']) ? $cart_item['vat_rate'] : 0;
1652 1652
             
1653
-            $new_quantity       = max( $quantity - $args['quantity'], 1);
1653
+            $new_quantity       = max($quantity - $args['quantity'], 1);
1654 1654
             $subtotal           = $item_price * $new_quantity;
1655 1655
             
1656 1656
             $args['quantity']   = $new_quantity;
1657
-            $discount           = !empty( $cart_item['discount'] ) ? $cart_item['discount'] : 0;
1658
-            $tax                = $subtotal > 0 && $tax_rate > 0 ? ( ( $subtotal - $discount ) * 0.01 * (float)$tax_rate ) : 0;
1657
+            $discount           = !empty($cart_item['discount']) ? $cart_item['discount'] : 0;
1658
+            $tax                = $subtotal > 0 && $tax_rate > 0 ? (($subtotal - $discount) * 0.01 * (float) $tax_rate) : 0;
1659 1659
             
1660
-            $discount_decrease  = (float)$cart_item['discount'] > 0 && $quantity > 0 ? wpinv_round_amount( ( (float)$cart_item['discount'] / $quantity ) ) : 0;
1661
-            $discount_decrease  = $discount > 0 && $subtotal > 0 && (float)$cart_item['discount'] > $discount ? (float)$cart_item['discount'] - $discount : $discount_decrease; 
1662
-            $tax_decrease       = (float)$cart_item['tax'] > 0 && $quantity > 0 ? wpinv_round_amount( ( (float)$cart_item['tax'] / $quantity ) ) : 0;
1663
-            $tax_decrease       = $tax > 0 && $subtotal > 0 && (float)$cart_item['tax'] > $tax ? (float)$cart_item['tax'] - $tax : $tax_decrease;
1660
+            $discount_decrease  = (float) $cart_item['discount'] > 0 && $quantity > 0 ? wpinv_round_amount(((float) $cart_item['discount'] / $quantity)) : 0;
1661
+            $discount_decrease  = $discount > 0 && $subtotal > 0 && (float) $cart_item['discount'] > $discount ? (float) $cart_item['discount'] - $discount : $discount_decrease; 
1662
+            $tax_decrease       = (float) $cart_item['tax'] > 0 && $quantity > 0 ? wpinv_round_amount(((float) $cart_item['tax'] / $quantity)) : 0;
1663
+            $tax_decrease       = $tax > 0 && $subtotal > 0 && (float) $cart_item['tax'] > $tax ? (float) $cart_item['tax'] - $tax : $tax_decrease;
1664 1664
             
1665 1665
             // The total increase equals the number removed * the item_price
1666
-            $total_decrease     = wpinv_round_amount( $item_price );
1666
+            $total_decrease     = wpinv_round_amount($item_price);
1667 1667
             
1668
-            if ( wpinv_prices_include_tax() ) {
1669
-                $subtotal -= wpinv_round_amount( $tax );
1668
+            if (wpinv_prices_include_tax()) {
1669
+                $subtotal -= wpinv_round_amount($tax);
1670 1670
             }
1671 1671
 
1672
-            $total              = $subtotal - $discount + $tax;
1672
+            $total = $subtotal - $discount + $tax;
1673 1673
 
1674 1674
             // Do not allow totals to go negative
1675
-            if( $total < 0 ) {
1675
+            if ($total < 0) {
1676 1676
                 $total = 0;
1677 1677
             }
1678 1678
             
@@ -1691,16 +1691,16 @@  discard block
 block discarded – undo
1691 1691
             
1692 1692
             $this->cart_details[$found_cart_key] = $cart_item;
1693 1693
             
1694
-            $remove_item = end( $this->cart_details );
1694
+            $remove_item = end($this->cart_details);
1695 1695
         } else {
1696 1696
             $item_price     = $cart_item['item_price'];
1697
-            $discount       = !empty( $cart_item['discount'] ) ? $cart_item['discount'] : 0;
1698
-            $tax            = !empty( $cart_item['tax'] ) ? $cart_item['tax'] : 0;
1697
+            $discount       = !empty($cart_item['discount']) ? $cart_item['discount'] : 0;
1698
+            $tax            = !empty($cart_item['tax']) ? $cart_item['tax'] : 0;
1699 1699
         
1700
-            $subtotal_decrease  = ( $item_price * $quantity ) - $discount;
1700
+            $subtotal_decrease  = ($item_price * $quantity) - $discount;
1701 1701
             $tax_decrease       = $tax;
1702 1702
 
1703
-            unset( $this->cart_details[$found_cart_key] );
1703
+            unset($this->cart_details[$found_cart_key]);
1704 1704
             
1705 1705
             $remove_item             = $args;
1706 1706
             $remove_item['id']       = $item_id;
@@ -1711,8 +1711,8 @@  discard block
 block discarded – undo
1711 1711
         $remove_item['action']      = 'remove';
1712 1712
         $this->pending['items'][]   = $remove_item;
1713 1713
                
1714
-        $this->decrease_subtotal( $subtotal_decrease );
1715
-        $this->decrease_tax( $tax_decrease );
1714
+        $this->decrease_subtotal($subtotal_decrease);
1715
+        $this->decrease_tax($tax_decrease);
1716 1716
         
1717 1717
         return true;
1718 1718
     }
@@ -1720,7 +1720,7 @@  discard block
 block discarded – undo
1720 1720
     public function update_items($temp = false) {
1721 1721
         global $wpinv_euvat, $wpi_current_id, $wpi_item_id, $wpi_nosave;
1722 1722
         
1723
-        if ( !empty( $this->cart_details ) ) {
1723
+        if (!empty($this->cart_details)) {
1724 1724
             $wpi_nosave             = $temp;
1725 1725
             $cart_subtotal          = 0;
1726 1726
             $cart_discount          = 0;
@@ -1730,65 +1730,65 @@  discard block
 block discarded – undo
1730 1730
             $_POST['wpinv_country'] = $this->country;
1731 1731
             $_POST['wpinv_state']   = $this->state;
1732 1732
 
1733
-            foreach ( $this->cart_details as $key => $item ) {
1733
+            foreach ($this->cart_details as $key => $item) {
1734 1734
                 $item_price = $item['item_price'];
1735
-                $quantity   = wpinv_item_quantities_enabled() && $item['quantity'] > 0 ? absint( $item['quantity'] ) : 1;
1736
-                $amount     = wpinv_round_amount( $item_price * $quantity );
1735
+                $quantity   = wpinv_item_quantities_enabled() && $item['quantity'] > 0 ? absint($item['quantity']) : 1;
1736
+                $amount     = wpinv_round_amount($item_price * $quantity);
1737 1737
                 $subtotal   = $item_price * $quantity;
1738 1738
                 
1739 1739
                 $wpi_current_id         = $this->ID;
1740 1740
                 $wpi_item_id            = $item['id'];
1741 1741
                 
1742
-                $discount   = wpinv_get_cart_item_discount_amount( $item, $this->get_discounts() );
1742
+                $discount   = wpinv_get_cart_item_discount_amount($item, $this->get_discounts());
1743 1743
                 
1744
-                $tax_rate   = wpinv_get_tax_rate( $this->country, $this->state, $wpi_item_id );
1745
-                $tax_class  = $wpinv_euvat->get_item_class( $wpi_item_id );
1746
-                $tax        = $item_price > 0 ? ( ( $subtotal - $discount ) * 0.01 * (float)$tax_rate ) : 0;
1744
+                $tax_rate   = wpinv_get_tax_rate($this->country, $this->state, $wpi_item_id);
1745
+                $tax_class  = $wpinv_euvat->get_item_class($wpi_item_id);
1746
+                $tax        = $item_price > 0 ? (($subtotal - $discount) * 0.01 * (float) $tax_rate) : 0;
1747 1747
 
1748
-                if ( ! $this->is_taxable() ) {
1748
+                if (!$this->is_taxable()) {
1749 1749
                     $tax = 0;
1750 1750
                 }
1751 1751
 
1752
-                if ( wpinv_prices_include_tax() ) {
1753
-                    $subtotal -= wpinv_round_amount( $tax );
1752
+                if (wpinv_prices_include_tax()) {
1753
+                    $subtotal -= wpinv_round_amount($tax);
1754 1754
                 }
1755 1755
 
1756
-                $total      = $subtotal - $discount + $tax;
1756
+                $total = $subtotal - $discount + $tax;
1757 1757
 
1758 1758
                 // Do not allow totals to go negative
1759
-                if( $total < 0 ) {
1759
+                if ($total < 0) {
1760 1760
                     $total = 0;
1761 1761
                 }
1762 1762
 
1763 1763
                 $cart_details[] = array(
1764 1764
                     'id'          => $item['id'],
1765 1765
                     'name'        => $item['name'],
1766
-                    'item_price'  => wpinv_round_amount( $item_price ),
1767
-                    'custom_price'=> ( isset( $item['custom_price'] ) ? $item['custom_price'] : '' ),
1766
+                    'item_price'  => wpinv_round_amount($item_price),
1767
+                    'custom_price'=> (isset($item['custom_price']) ? $item['custom_price'] : ''),
1768 1768
                     'quantity'    => $quantity,
1769 1769
                     'discount'    => $discount,
1770
-                    'subtotal'    => wpinv_round_amount( $subtotal ),
1771
-                    'tax'         => wpinv_round_amount( $tax ),
1772
-                    'price'       => wpinv_round_amount( $total ),
1770
+                    'subtotal'    => wpinv_round_amount($subtotal),
1771
+                    'tax'         => wpinv_round_amount($tax),
1772
+                    'price'       => wpinv_round_amount($total),
1773 1773
                     'vat_rate'    => $tax_rate,
1774 1774
                     'vat_class'   => $tax_class,
1775 1775
                     'meta'        => isset($item['meta']) ? $item['meta'] : array(),
1776 1776
                     'fees'        => isset($item['fees']) ? $item['fees'] : array(),
1777 1777
                 );
1778 1778
 
1779
-                $cart_subtotal  += (float)($subtotal - $discount); // TODO
1780
-                $cart_discount  += (float)($discount);
1781
-                $cart_tax       += (float)($tax);
1779
+                $cart_subtotal  += (float) ($subtotal - $discount); // TODO
1780
+                $cart_discount  += (float) ($discount);
1781
+                $cart_tax       += (float) ($tax);
1782 1782
             }
1783
-            if ( $cart_subtotal < 0 ) {
1783
+            if ($cart_subtotal < 0) {
1784 1784
                 $cart_subtotal = 0;
1785 1785
             }
1786
-            if ( $cart_tax < 0 ) {
1786
+            if ($cart_tax < 0) {
1787 1787
                 $cart_tax = 0;
1788 1788
             }
1789
-            $this->subtotal = wpinv_round_amount( $cart_subtotal );
1790
-            $this->tax      = wpinv_round_amount( $cart_tax );
1791
-            $this->discount = wpinv_round_amount( $cart_discount );
1789
+            $this->subtotal = wpinv_round_amount($cart_subtotal);
1790
+            $this->tax      = wpinv_round_amount($cart_tax);
1791
+            $this->discount = wpinv_round_amount($cart_discount);
1792 1792
             
1793 1793
             $this->recalculate_total();
1794 1794
             
@@ -1800,177 +1800,177 @@  discard block
 block discarded – undo
1800 1800
     
1801 1801
     public function recalculate_totals($temp = false) {        
1802 1802
         $this->update_items($temp);
1803
-        $this->save( true );
1803
+        $this->save(true);
1804 1804
         
1805 1805
         return $this;
1806 1806
     }
1807 1807
     
1808 1808
     public function needs_payment() {
1809
-        $valid_invoice_statuses = apply_filters( 'wpinv_valid_invoice_statuses_for_payment', array( 'wpi-pending' ), $this );
1809
+        $valid_invoice_statuses = apply_filters('wpinv_valid_invoice_statuses_for_payment', array('wpi-pending'), $this);
1810 1810
 
1811
-        if ( $this->has_status( $valid_invoice_statuses ) && ( $this->get_total() > 0 || $this->is_free_trial() || $this->is_free() || $this->is_initial_free() ) ) {
1811
+        if ($this->has_status($valid_invoice_statuses) && ($this->get_total() > 0 || $this->is_free_trial() || $this->is_free() || $this->is_initial_free())) {
1812 1812
             $needs_payment = true;
1813 1813
         } else {
1814 1814
             $needs_payment = false;
1815 1815
         }
1816 1816
 
1817
-        return apply_filters( 'wpinv_needs_payment', $needs_payment, $this, $valid_invoice_statuses );
1817
+        return apply_filters('wpinv_needs_payment', $needs_payment, $this, $valid_invoice_statuses);
1818 1818
     }
1819 1819
     
1820
-    public function get_checkout_payment_url( $with_key = false, $secret = false ) {
1820
+    public function get_checkout_payment_url($with_key = false, $secret = false) {
1821 1821
         $pay_url = wpinv_get_checkout_uri();
1822 1822
 
1823
-        if ( is_ssl() ) {
1824
-            $pay_url = str_replace( 'http:', 'https:', $pay_url );
1823
+        if (is_ssl()) {
1824
+            $pay_url = str_replace('http:', 'https:', $pay_url);
1825 1825
         }
1826 1826
         
1827 1827
         $key = $this->get_key();
1828 1828
 
1829
-        if ( $with_key ) {
1830
-            $pay_url = add_query_arg( 'invoice_key', $key, $pay_url );
1829
+        if ($with_key) {
1830
+            $pay_url = add_query_arg('invoice_key', $key, $pay_url);
1831 1831
         } else {
1832
-            $pay_url = add_query_arg( array( 'wpi_action' => 'pay_for_invoice', 'invoice_key' => $key ), $pay_url );
1832
+            $pay_url = add_query_arg(array('wpi_action' => 'pay_for_invoice', 'invoice_key' => $key), $pay_url);
1833 1833
         }
1834 1834
         
1835
-        if ( $secret ) {
1836
-            $pay_url = add_query_arg( array( '_wpipay' => md5( $this->get_user_id() . '::' . $this->get_email() . '::' . $key ) ), $pay_url );
1835
+        if ($secret) {
1836
+            $pay_url = add_query_arg(array('_wpipay' => md5($this->get_user_id() . '::' . $this->get_email() . '::' . $key)), $pay_url);
1837 1837
         }
1838 1838
 
1839
-        return apply_filters( 'wpinv_get_checkout_payment_url', $pay_url, $this, $with_key, $secret );
1839
+        return apply_filters('wpinv_get_checkout_payment_url', $pay_url, $this, $with_key, $secret);
1840 1840
     }
1841 1841
     
1842
-    public function get_view_url( $with_key = false ) {
1843
-        $invoice_url = get_permalink( $this->ID );
1842
+    public function get_view_url($with_key = false) {
1843
+        $invoice_url = get_permalink($this->ID);
1844 1844
 
1845
-        if ( $with_key ) {
1846
-            $invoice_url = add_query_arg( 'invoice_key', $this->get_key(), $invoice_url );
1845
+        if ($with_key) {
1846
+            $invoice_url = add_query_arg('invoice_key', $this->get_key(), $invoice_url);
1847 1847
         }
1848 1848
 
1849
-        return apply_filters( 'wpinv_get_view_url', $invoice_url, $this, $with_key );
1849
+        return apply_filters('wpinv_get_view_url', $invoice_url, $this, $with_key);
1850 1850
     }
1851 1851
     
1852
-    public function generate_key( $string = '' ) {
1853
-        $auth_key  = defined( 'AUTH_KEY' ) ? AUTH_KEY : '';
1854
-        return strtolower( md5( $string . date( 'Y-m-d H:i:s' ) . $auth_key . uniqid( 'wpinv', true ) ) );  // Unique key
1852
+    public function generate_key($string = '') {
1853
+        $auth_key = defined('AUTH_KEY') ? AUTH_KEY : '';
1854
+        return strtolower(md5($string . date('Y-m-d H:i:s') . $auth_key . uniqid('wpinv', true))); // Unique key
1855 1855
     }
1856 1856
     
1857 1857
     public function is_recurring() {
1858
-        if ( empty( $this->cart_details ) ) {
1858
+        if (empty($this->cart_details)) {
1859 1859
             return false;
1860 1860
         }
1861 1861
         
1862 1862
         $has_subscription = false;
1863
-        foreach( $this->cart_details as $cart_item ) {
1864
-            if ( !empty( $cart_item['id'] ) && wpinv_is_recurring_item( $cart_item['id'] )  ) {
1863
+        foreach ($this->cart_details as $cart_item) {
1864
+            if (!empty($cart_item['id']) && wpinv_is_recurring_item($cart_item['id'])) {
1865 1865
                 $has_subscription = true;
1866 1866
                 break;
1867 1867
             }
1868 1868
         }
1869 1869
         
1870
-        if ( count( $this->cart_details ) > 1 ) {
1870
+        if (count($this->cart_details) > 1) {
1871 1871
             $has_subscription = false;
1872 1872
         }
1873 1873
 
1874
-        return apply_filters( 'wpinv_invoice_has_recurring_item', $has_subscription, $this->cart_details );
1874
+        return apply_filters('wpinv_invoice_has_recurring_item', $has_subscription, $this->cart_details);
1875 1875
     }
1876 1876
 
1877 1877
     public function is_free_trial() {
1878 1878
         $is_free_trial = false;
1879 1879
         
1880
-        if ( $this->is_parent() && $item = $this->get_recurring( true ) ) {
1881
-            if ( !empty( $item ) && $item->has_free_trial() ) {
1880
+        if ($this->is_parent() && $item = $this->get_recurring(true)) {
1881
+            if (!empty($item) && $item->has_free_trial()) {
1882 1882
                 $is_free_trial = true;
1883 1883
             }
1884 1884
         }
1885 1885
 
1886
-        return apply_filters( 'wpinv_invoice_is_free_trial', $is_free_trial, $this->cart_details, $this );
1886
+        return apply_filters('wpinv_invoice_is_free_trial', $is_free_trial, $this->cart_details, $this);
1887 1887
     }
1888 1888
 
1889 1889
     public function is_initial_free() {
1890 1890
         $is_initial_free = false;
1891 1891
         
1892
-        if ( ! ( (float)wpinv_round_amount( $this->get_total() ) > 0 ) && $this->is_parent() && $this->is_recurring() && ! $this->is_free_trial() && ! $this->is_free() ) {
1892
+        if (!((float) wpinv_round_amount($this->get_total()) > 0) && $this->is_parent() && $this->is_recurring() && !$this->is_free_trial() && !$this->is_free()) {
1893 1893
             $is_initial_free = true;
1894 1894
         }
1895 1895
 
1896
-        return apply_filters( 'wpinv_invoice_is_initial_free', $is_initial_free, $this->cart_details );
1896
+        return apply_filters('wpinv_invoice_is_initial_free', $is_initial_free, $this->cart_details);
1897 1897
     }
1898 1898
     
1899
-    public function get_recurring( $object = false ) {
1899
+    public function get_recurring($object = false) {
1900 1900
         $item = NULL;
1901 1901
         
1902
-        if ( empty( $this->cart_details ) ) {
1902
+        if (empty($this->cart_details)) {
1903 1903
             return $item;
1904 1904
         }
1905 1905
         
1906
-        foreach( $this->cart_details as $cart_item ) {
1907
-            if ( !empty( $cart_item['id'] ) && wpinv_is_recurring_item( $cart_item['id'] )  ) {
1906
+        foreach ($this->cart_details as $cart_item) {
1907
+            if (!empty($cart_item['id']) && wpinv_is_recurring_item($cart_item['id'])) {
1908 1908
                 $item = $cart_item['id'];
1909 1909
                 break;
1910 1910
             }
1911 1911
         }
1912 1912
         
1913
-        if ( $object ) {
1914
-            $item = $item ? new WPInv_Item( $item ) : NULL;
1913
+        if ($object) {
1914
+            $item = $item ? new WPInv_Item($item) : NULL;
1915 1915
             
1916
-            apply_filters( 'wpinv_invoice_get_recurring_item', $item, $this );
1916
+            apply_filters('wpinv_invoice_get_recurring_item', $item, $this);
1917 1917
         }
1918 1918
 
1919
-        return apply_filters( 'wpinv_invoice_get_recurring_item_id', $item, $this );
1919
+        return apply_filters('wpinv_invoice_get_recurring_item_id', $item, $this);
1920 1920
     }
1921 1921
 
1922 1922
     public function get_subscription_name() {
1923
-        $item = $this->get_recurring( true );
1923
+        $item = $this->get_recurring(true);
1924 1924
 
1925
-        if ( empty( $item ) ) {
1925
+        if (empty($item)) {
1926 1926
             return NULL;
1927 1927
         }
1928 1928
 
1929
-        if ( !($name = $item->get_name()) ) {
1929
+        if (!($name = $item->get_name())) {
1930 1930
             $name = $item->post_name;
1931 1931
         }
1932 1932
 
1933
-        return apply_filters( 'wpinv_invoice_get_subscription_name', $name, $this );
1933
+        return apply_filters('wpinv_invoice_get_subscription_name', $name, $this);
1934 1934
     }
1935 1935
 
1936 1936
     public function get_subscription_id() {
1937
-        $subscription_id = $this->get_meta( '_wpinv_subscr_profile_id', true );
1937
+        $subscription_id = $this->get_meta('_wpinv_subscr_profile_id', true);
1938 1938
 
1939
-        if ( empty( $subscription_id ) && !empty( $this->parent_invoice ) ) {
1940
-            $parent_invoice = wpinv_get_invoice( $this->parent_invoice );
1939
+        if (empty($subscription_id) && !empty($this->parent_invoice)) {
1940
+            $parent_invoice = wpinv_get_invoice($this->parent_invoice);
1941 1941
 
1942
-            $subscription_id = $parent_invoice->get_meta( '_wpinv_subscr_profile_id', true );
1942
+            $subscription_id = $parent_invoice->get_meta('_wpinv_subscr_profile_id', true);
1943 1943
         }
1944 1944
         
1945 1945
         return $subscription_id;
1946 1946
     }
1947 1947
     
1948 1948
     public function is_parent() {
1949
-        $is_parent = empty( $this->parent_invoice ) ? true : false;
1949
+        $is_parent = empty($this->parent_invoice) ? true : false;
1950 1950
 
1951
-        return apply_filters( 'wpinv_invoice_is_parent', $is_parent, $this );
1951
+        return apply_filters('wpinv_invoice_is_parent', $is_parent, $this);
1952 1952
     }
1953 1953
     
1954 1954
     public function is_renewal() {
1955 1955
         $is_renewal = $this->parent_invoice && $this->parent_invoice != $this->ID ? true : false;
1956 1956
 
1957
-        return apply_filters( 'wpinv_invoice_is_renewal', $is_renewal, $this );
1957
+        return apply_filters('wpinv_invoice_is_renewal', $is_renewal, $this);
1958 1958
     }
1959 1959
     
1960 1960
     public function get_parent_payment() {
1961 1961
         $parent_payment = NULL;
1962 1962
         
1963
-        if ( $this->is_renewal() ) {
1964
-            $parent_payment = wpinv_get_invoice( $this->parent_invoice );
1963
+        if ($this->is_renewal()) {
1964
+            $parent_payment = wpinv_get_invoice($this->parent_invoice);
1965 1965
         }
1966 1966
         
1967 1967
         return $parent_payment;
1968 1968
     }
1969 1969
     
1970 1970
     public function is_paid() {
1971
-        $is_paid = $this->has_status( array( 'publish', 'wpi-processing', 'wpi-renewal' ) );
1971
+        $is_paid = $this->has_status(array('publish', 'wpi-processing', 'wpi-renewal'));
1972 1972
 
1973
-        return apply_filters( 'wpinv_invoice_is_paid', $is_paid, $this );
1973
+        return apply_filters('wpinv_invoice_is_paid', $is_paid, $this);
1974 1974
     }
1975 1975
 
1976 1976
     /**
@@ -1983,23 +1983,23 @@  discard block
 block discarded – undo
1983 1983
     }
1984 1984
     
1985 1985
     public function is_refunded() {
1986
-        $is_refunded = $this->has_status( array( 'wpi-refunded' ) );
1986
+        $is_refunded = $this->has_status(array('wpi-refunded'));
1987 1987
 
1988
-        return apply_filters( 'wpinv_invoice_is_refunded', $is_refunded, $this );
1988
+        return apply_filters('wpinv_invoice_is_refunded', $is_refunded, $this);
1989 1989
     }
1990 1990
     
1991 1991
     public function is_free() {
1992 1992
         $is_free = false;
1993 1993
         
1994
-        if ( !( (float)wpinv_round_amount( $this->get_total() ) > 0 ) ) {
1995
-            if ( $this->is_parent() && $this->is_recurring() ) {
1996
-                $is_free = (float)wpinv_round_amount( $this->get_recurring_details( 'total' ) ) > 0 ? false : true;
1994
+        if (!((float) wpinv_round_amount($this->get_total()) > 0)) {
1995
+            if ($this->is_parent() && $this->is_recurring()) {
1996
+                $is_free = (float) wpinv_round_amount($this->get_recurring_details('total')) > 0 ? false : true;
1997 1997
             } else {
1998 1998
                 $is_free = true;
1999 1999
             }
2000 2000
         }
2001 2001
         
2002
-        return apply_filters( 'wpinv_invoice_is_free', $is_free, $this );
2002
+        return apply_filters('wpinv_invoice_is_free', $is_free, $this);
2003 2003
     }
2004 2004
     
2005 2005
     public function has_vat() {
@@ -2007,41 +2007,41 @@  discard block
 block discarded – undo
2007 2007
         
2008 2008
         $requires_vat = false;
2009 2009
         
2010
-        if ( $this->country ) {
2010
+        if ($this->country) {
2011 2011
             $wpi_country        = $this->country;
2012 2012
             
2013
-            $requires_vat       = $wpinv_euvat->requires_vat( $requires_vat, $this->get_user_id(), $wpinv_euvat->invoice_has_digital_rule( $this ) );
2013
+            $requires_vat       = $wpinv_euvat->requires_vat($requires_vat, $this->get_user_id(), $wpinv_euvat->invoice_has_digital_rule($this));
2014 2014
         }
2015 2015
         
2016
-        return apply_filters( 'wpinv_invoice_has_vat', $requires_vat, $this );
2016
+        return apply_filters('wpinv_invoice_has_vat', $requires_vat, $this);
2017 2017
     }
2018 2018
     
2019 2019
     public function refresh_item_ids() {
2020 2020
         $item_ids = array();
2021 2021
         
2022
-        if ( !empty( $this->cart_details ) ) {
2023
-            foreach ( $this->cart_details as $key => $item ) {
2024
-                if ( !empty( $item['id'] ) ) {
2022
+        if (!empty($this->cart_details)) {
2023
+            foreach ($this->cart_details as $key => $item) {
2024
+                if (!empty($item['id'])) {
2025 2025
                     $item_ids[] = $item['id'];
2026 2026
                 }
2027 2027
             }
2028 2028
         }
2029 2029
         
2030
-        $item_ids = !empty( $item_ids ) ? implode( ',', array_unique( $item_ids ) ) : '';
2030
+        $item_ids = !empty($item_ids) ? implode(',', array_unique($item_ids)) : '';
2031 2031
         
2032
-        update_post_meta( $this->ID, '_wpinv_item_ids', $item_ids );
2032
+        update_post_meta($this->ID, '_wpinv_item_ids', $item_ids);
2033 2033
     }
2034 2034
     
2035
-    public function get_invoice_quote_type( $post_id ) {
2036
-        if ( empty( $post_id ) ) {
2035
+    public function get_invoice_quote_type($post_id) {
2036
+        if (empty($post_id)) {
2037 2037
             return '';
2038 2038
         }
2039 2039
 
2040
-        $type = get_post_type( $post_id );
2040
+        $type = get_post_type($post_id);
2041 2041
 
2042
-        if ( 'wpi_invoice' === $type ) {
2042
+        if ('wpi_invoice' === $type) {
2043 2043
             $post_type = __('Invoice', 'invoicing');
2044
-        } else{
2044
+        } else {
2045 2045
             $post_type = __('Quote', 'invoicing');
2046 2046
         }
2047 2047
 
Please login to merge, or discard this patch.
includes/class-wpinv-session-handler.php 2 patches
Spacing   +54 added lines, -54 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  *
6 6
  */
7 7
 
8
-defined( 'ABSPATH' ) || exit;
8
+defined('ABSPATH') || exit;
9 9
 
10 10
 /**
11 11
  * Session handler class.
@@ -52,11 +52,11 @@  discard block
 block discarded – undo
52 52
 	 */
53 53
 	public function __construct() {
54 54
 
55
-	    $this->_cookie = apply_filters( 'wpinv_cookie', 'wpinv_session_' . COOKIEHASH );
56
-        add_action( 'init', array( $this, 'init' ), -1 );
57
-		add_action( 'wp_logout', array( $this, 'destroy_session' ) );
58
-		add_action( 'wp', array( $this, 'set_customer_session_cookie' ), 10 );
59
-		add_action( 'shutdown', array( $this, 'save_data' ), 20 );
55
+	    $this->_cookie = apply_filters('wpinv_cookie', 'wpinv_session_' . COOKIEHASH);
56
+        add_action('init', array($this, 'init'), -1);
57
+		add_action('wp_logout', array($this, 'destroy_session'));
58
+		add_action('wp', array($this, 'set_customer_session_cookie'), 10);
59
+		add_action('shutdown', array($this, 'save_data'), 20);
60 60
 
61 61
 	}
62 62
 
@@ -68,8 +68,8 @@  discard block
 block discarded – undo
68 68
 	public function init() {
69 69
 		$this->init_session_cookie();
70 70
 
71
-		if ( ! is_user_logged_in() ) {
72
-			add_filter( 'nonce_user_logged_out', array( $this, 'nonce_user_logged_out' ) );
71
+		if (!is_user_logged_in()) {
72
+			add_filter('nonce_user_logged_out', array($this, 'nonce_user_logged_out'));
73 73
 		}
74 74
 	}
75 75
 
@@ -81,7 +81,7 @@  discard block
 block discarded – undo
81 81
 	public function init_session_cookie() {
82 82
 		$cookie = $this->get_session_cookie();
83 83
 
84
-		if ( $cookie ) {
84
+		if ($cookie) {
85 85
 			$this->_customer_id        = $cookie[0];
86 86
 			$this->_session_expiration = $cookie[1];
87 87
 			$this->_session_expiring   = $cookie[2];
@@ -89,17 +89,17 @@  discard block
 block discarded – undo
89 89
 			$this->_data               = $this->get_session_data();
90 90
 
91 91
 			// If the user logs in, update session.
92
-			if ( is_user_logged_in() && get_current_user_id() != $this->_customer_id ) {
92
+			if (is_user_logged_in() && get_current_user_id() != $this->_customer_id) {
93 93
 				$this->_customer_id = get_current_user_id();
94 94
 				$this->_dirty       = true;
95 95
 				$this->save_data();
96
-				$this->set_customer_session_cookie( true );
96
+				$this->set_customer_session_cookie(true);
97 97
 			}
98 98
 
99 99
 			// Update session if its close to expiring.
100
-			if ( time() > $this->_session_expiring ) {
100
+			if (time() > $this->_session_expiring) {
101 101
 				$this->set_session_expiration();
102
-				$this->update_session_timestamp( $this->_customer_id, $this->_session_expiration );
102
+				$this->update_session_timestamp($this->_customer_id, $this->_session_expiration);
103 103
 			}
104 104
 		} else {
105 105
 			$this->set_session_expiration();
@@ -117,25 +117,25 @@  discard block
 block discarded – undo
117 117
 	 *
118 118
 	 * @param bool $set Should the session cookie be set.
119 119
 	 */
120
-	public function set_customer_session_cookie( $set ) {
121
-		if ( $set ) {
120
+	public function set_customer_session_cookie($set) {
121
+		if ($set) {
122 122
 			$to_hash           = $this->_customer_id . '|' . $this->_session_expiration;
123
-			$cookie_hash       = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
123
+			$cookie_hash       = hash_hmac('md5', $to_hash, wp_hash($to_hash));
124 124
 			$cookie_value      = $this->_customer_id . '||' . $this->_session_expiration . '||' . $this->_session_expiring . '||' . $cookie_hash;
125 125
 			$this->_has_cookie = true;
126 126
 
127
-			if ( ! isset( $_COOKIE[ $this->_cookie ] ) || $_COOKIE[ $this->_cookie ] !== $cookie_value ) {
128
-				$this->setcookie( $this->_cookie, $cookie_value, $this->_session_expiration, $this->use_secure_cookie(), true );
127
+			if (!isset($_COOKIE[$this->_cookie]) || $_COOKIE[$this->_cookie] !== $cookie_value) {
128
+				$this->setcookie($this->_cookie, $cookie_value, $this->_session_expiration, $this->use_secure_cookie(), true);
129 129
 			}
130 130
 		}
131 131
 	}
132 132
 
133
-	public function setcookie($name, $value, $expire = 0, $secure = false, $httponly = false){
134
-        if ( ! headers_sent() ) {
135
-            setcookie( $name, $value, $expire, COOKIEPATH ? COOKIEPATH : '/', COOKIE_DOMAIN, $secure, apply_filters( 'wpinv_cookie_httponly', $httponly, $name, $value, $expire, $secure ) );
136
-        } elseif ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
137
-            headers_sent( $file, $line );
138
-            trigger_error( "{$name} cookie cannot be set - headers already sent by {$file} on line {$line}", E_USER_NOTICE ); // @codingStandardsIgnoreLine
133
+	public function setcookie($name, $value, $expire = 0, $secure = false, $httponly = false) {
134
+        if (!headers_sent()) {
135
+            setcookie($name, $value, $expire, COOKIEPATH ? COOKIEPATH : '/', COOKIE_DOMAIN, $secure, apply_filters('wpinv_cookie_httponly', $httponly, $name, $value, $expire, $secure));
136
+        } elseif (defined('WP_DEBUG') && WP_DEBUG) {
137
+            headers_sent($file, $line);
138
+            trigger_error("{$name} cookie cannot be set - headers already sent by {$file} on line {$line}", E_USER_NOTICE); // @codingStandardsIgnoreLine
139 139
         }
140 140
     }
141 141
 
@@ -146,8 +146,8 @@  discard block
 block discarded – undo
146 146
 	 * @return bool
147 147
 	 */
148 148
 	protected function use_secure_cookie() {
149
-        $is_https = false !== strstr( get_option( 'home' ), 'https:' );
150
-		return apply_filters( 'wpinv_session_use_secure_cookie', $is_https && is_ssl() );
149
+        $is_https = false !== strstr(get_option('home'), 'https:');
150
+		return apply_filters('wpinv_session_use_secure_cookie', $is_https && is_ssl());
151 151
 	}
152 152
 
153 153
 	/**
@@ -156,15 +156,15 @@  discard block
 block discarded – undo
156 156
 	 * @return bool
157 157
 	 */
158 158
 	public function has_session() {
159
-		return isset( $_COOKIE[ $this->_cookie ] ) || $this->_has_cookie || is_user_logged_in(); // @codingStandardsIgnoreLine.
159
+		return isset($_COOKIE[$this->_cookie]) || $this->_has_cookie || is_user_logged_in(); // @codingStandardsIgnoreLine.
160 160
 	}
161 161
 
162 162
 	/**
163 163
 	 * Set session expiration.
164 164
 	 */
165 165
 	public function set_session_expiration() {
166
-		$this->_session_expiring   = time() + intval( apply_filters( 'wpinv_session_expiring', 60 * 60 * 47 ) ); // 47 Hours.
167
-		$this->_session_expiration = time() + intval( apply_filters( 'wpinv_session_expiration', 60 * 60 * 48 ) ); // 48 Hours.
166
+		$this->_session_expiring   = time() + intval(apply_filters('wpinv_session_expiring', 60 * 60 * 47)); // 47 Hours.
167
+		$this->_session_expiration = time() + intval(apply_filters('wpinv_session_expiration', 60 * 60 * 48)); // 48 Hours.
168 168
 	}
169 169
 
170 170
 	/**
@@ -174,8 +174,8 @@  discard block
 block discarded – undo
174 174
 	 */
175 175
 	public function generate_customer_id() {
176 176
 		require_once ABSPATH . 'wp-includes/class-phpass.php';
177
-		$hasher      = new PasswordHash( 8, false );
178
-		return md5( $hasher->get_random_bytes( 32 ) );
177
+		$hasher = new PasswordHash(8, false);
178
+		return md5($hasher->get_random_bytes(32));
179 179
 	}
180 180
 
181 181
 	/**
@@ -186,27 +186,27 @@  discard block
 block discarded – undo
186 186
 	 * @return bool|array
187 187
 	 */
188 188
 	public function get_session_cookie() {
189
-		$cookie_value = isset( $_COOKIE[ $this->_cookie ] ) ? wp_unslash( $_COOKIE[ $this->_cookie ] ) : false; // @codingStandardsIgnoreLine.
189
+		$cookie_value = isset($_COOKIE[$this->_cookie]) ? wp_unslash($_COOKIE[$this->_cookie]) : false; // @codingStandardsIgnoreLine.
190 190
 
191
-		if ( empty( $cookie_value ) || ! is_string( $cookie_value ) ) {
191
+		if (empty($cookie_value) || !is_string($cookie_value)) {
192 192
 			return false;
193 193
 		}
194 194
 
195
-		list( $customer_id, $session_expiration, $session_expiring, $cookie_hash ) = explode( '||', $cookie_value );
195
+		list($customer_id, $session_expiration, $session_expiring, $cookie_hash) = explode('||', $cookie_value);
196 196
 
197
-		if ( empty( $customer_id ) ) {
197
+		if (empty($customer_id)) {
198 198
 			return false;
199 199
 		}
200 200
 
201 201
 		// Validate hash.
202 202
 		$to_hash = $customer_id . '|' . $session_expiration;
203
-		$hash    = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
203
+		$hash    = hash_hmac('md5', $to_hash, wp_hash($to_hash));
204 204
 
205
-		if ( empty( $cookie_hash ) || ! hash_equals( $hash, $cookie_hash ) ) {
205
+		if (empty($cookie_hash) || !hash_equals($hash, $cookie_hash)) {
206 206
 			return false;
207 207
 		}
208 208
 
209
-		return array( $customer_id, $session_expiration, $session_expiring, $cookie_hash );
209
+		return array($customer_id, $session_expiration, $session_expiring, $cookie_hash);
210 210
 	}
211 211
 
212 212
 	/**
@@ -215,15 +215,15 @@  discard block
 block discarded – undo
215 215
 	 * @return array
216 216
 	 */
217 217
 	public function get_session_data() {
218
-		return $this->has_session() ? (array) $this->get_session( $this->_customer_id ) : array();
218
+		return $this->has_session() ? (array) $this->get_session($this->_customer_id) : array();
219 219
 	}
220 220
 
221
-	public function generate_key($customer_id){
222
-        if(!$customer_id){
221
+	public function generate_key($customer_id) {
222
+        if (!$customer_id) {
223 223
             return;
224 224
         }
225 225
 
226
-        return 'wpi_trans_'.$customer_id;
226
+        return 'wpi_trans_' . $customer_id;
227 227
     }
228 228
 
229 229
 	/**
@@ -231,9 +231,9 @@  discard block
 block discarded – undo
231 231
 	 */
232 232
 	public function save_data() {
233 233
 		// Dirty if something changed - prevents saving nothing new.
234
-		if ( $this->_dirty && $this->has_session() ) {
234
+		if ($this->_dirty && $this->has_session()) {
235 235
 
236
-            set_transient( $this->generate_key($this->_customer_id), $this->_data, $this->_session_expiration);
236
+            set_transient($this->generate_key($this->_customer_id), $this->_data, $this->_session_expiration);
237 237
 
238 238
 			$this->_dirty = false;
239 239
 		}
@@ -243,7 +243,7 @@  discard block
 block discarded – undo
243 243
 	 * Destroy all session data.
244 244
 	 */
245 245
 	public function destroy_session() {
246
-		$this->delete_session( $this->_customer_id );
246
+		$this->delete_session($this->_customer_id);
247 247
 		$this->forget_session();
248 248
 	}
249 249
 
@@ -251,7 +251,7 @@  discard block
 block discarded – undo
251 251
 	 * Forget all session data without destroying it.
252 252
 	 */
253 253
 	public function forget_session() {
254
-		$this->setcookie( $this->_cookie, '', time() - YEAR_IN_SECONDS, $this->use_secure_cookie(), true );
254
+		$this->setcookie($this->_cookie, '', time() - YEAR_IN_SECONDS, $this->use_secure_cookie(), true);
255 255
 
256 256
 		wpinv_empty_cart();
257 257
 
@@ -266,7 +266,7 @@  discard block
 block discarded – undo
266 266
 	 * @param int $uid User ID.
267 267
 	 * @return string
268 268
 	 */
269
-	public function nonce_user_logged_out( $uid ) {
269
+	public function nonce_user_logged_out($uid) {
270 270
 		return $this->has_session() && $this->_customer_id ? $this->_customer_id : $uid;
271 271
 	}
272 272
 
@@ -277,20 +277,20 @@  discard block
 block discarded – undo
277 277
 	 * @param mixed  $default Default session value.
278 278
 	 * @return string|array
279 279
 	 */
280
-	public function get_session( $customer_id, $default = false ) {
280
+	public function get_session($customer_id, $default = false) {
281 281
 
282
-		if ( defined( 'WP_SETUP_CONFIG' ) ) {
282
+		if (defined('WP_SETUP_CONFIG')) {
283 283
 			return array();
284 284
 		}
285 285
 
286 286
         $key = $this->generate_key($customer_id);
287 287
         $value = get_transient($key);
288 288
 
289
-        if ( !$value ) {
289
+        if (!$value) {
290 290
             $value = $default;
291 291
         }
292 292
 
293
-		return maybe_unserialize( $value );
293
+		return maybe_unserialize($value);
294 294
 	}
295 295
 
296 296
 	/**
@@ -298,7 +298,7 @@  discard block
 block discarded – undo
298 298
 	 *
299 299
 	 * @param int $customer_id Customer ID.
300 300
 	 */
301
-	public function delete_session( $customer_id ) {
301
+	public function delete_session($customer_id) {
302 302
 
303 303
         $key = $this->generate_key($customer_id);
304 304
 
@@ -311,9 +311,9 @@  discard block
 block discarded – undo
311 311
 	 * @param string $customer_id Customer ID.
312 312
 	 * @param int    $timestamp Timestamp to expire the cookie.
313 313
 	 */
314
-	public function update_session_timestamp( $customer_id, $timestamp ) {
314
+	public function update_session_timestamp($customer_id, $timestamp) {
315 315
 
316
-        set_transient( $this->generate_key($customer_id), maybe_serialize( $this->_data ), $timestamp);
316
+        set_transient($this->generate_key($customer_id), maybe_serialize($this->_data), $timestamp);
317 317
 
318 318
 	}
319 319
 }
Please login to merge, or discard this patch.
Indentation   +268 added lines, -268 removed lines patch added patch discarded remove patch
@@ -12,125 +12,125 @@  discard block
 block discarded – undo
12 12
  */
13 13
 class WPInv_Session_Handler extends WPInv_Session {
14 14
 
15
-	/**
16
-	 * Cookie name used for the session.
17
-	 *
18
-	 * @var string cookie name
19
-	 */
20
-	protected $_cookie;
21
-
22
-	/**
23
-	 * Stores session expiry.
24
-	 *
25
-	 * @var int session due to expire timestamp
26
-	 */
27
-	protected $_session_expiring;
28
-
29
-	/**
30
-	 * Stores session due to expire timestamp.
31
-	 *
32
-	 * @var string session expiration timestamp
33
-	 */
34
-	protected $_session_expiration;
35
-
36
-	/**
37
-	 * True when the cookie exists.
38
-	 *
39
-	 * @var bool Based on whether a cookie exists.
40
-	 */
41
-	protected $_has_cookie = false;
42
-
43
-	/**
44
-	 * Table name for session data.
45
-	 *
46
-	 * @var string Custom session table name
47
-	 */
48
-	protected $_table;
49
-
50
-	/**
51
-	 * Constructor for the session class.
52
-	 */
53
-	public function __construct() {
54
-
55
-	    $this->_cookie = apply_filters( 'wpinv_cookie', 'wpinv_session_' . COOKIEHASH );
15
+    /**
16
+     * Cookie name used for the session.
17
+     *
18
+     * @var string cookie name
19
+     */
20
+    protected $_cookie;
21
+
22
+    /**
23
+     * Stores session expiry.
24
+     *
25
+     * @var int session due to expire timestamp
26
+     */
27
+    protected $_session_expiring;
28
+
29
+    /**
30
+     * Stores session due to expire timestamp.
31
+     *
32
+     * @var string session expiration timestamp
33
+     */
34
+    protected $_session_expiration;
35
+
36
+    /**
37
+     * True when the cookie exists.
38
+     *
39
+     * @var bool Based on whether a cookie exists.
40
+     */
41
+    protected $_has_cookie = false;
42
+
43
+    /**
44
+     * Table name for session data.
45
+     *
46
+     * @var string Custom session table name
47
+     */
48
+    protected $_table;
49
+
50
+    /**
51
+     * Constructor for the session class.
52
+     */
53
+    public function __construct() {
54
+
55
+        $this->_cookie = apply_filters( 'wpinv_cookie', 'wpinv_session_' . COOKIEHASH );
56 56
         add_action( 'init', array( $this, 'init' ), -1 );
57
-		add_action( 'wp_logout', array( $this, 'destroy_session' ) );
58
-		add_action( 'wp', array( $this, 'set_customer_session_cookie' ), 10 );
59
-		add_action( 'shutdown', array( $this, 'save_data' ), 20 );
60
-
61
-	}
62
-
63
-	/**
64
-	 * Init hooks and session data.
65
-	 *
66
-	 * @since 3.3.0
67
-	 */
68
-	public function init() {
69
-		$this->init_session_cookie();
70
-
71
-		if ( ! is_user_logged_in() ) {
72
-			add_filter( 'nonce_user_logged_out', array( $this, 'nonce_user_logged_out' ) );
73
-		}
74
-	}
75
-
76
-	/**
77
-	 * Setup cookie and customer ID.
78
-	 *
79
-	 * @since 3.6.0
80
-	 */
81
-	public function init_session_cookie() {
82
-		$cookie = $this->get_session_cookie();
83
-
84
-		if ( $cookie ) {
85
-			$this->_customer_id        = $cookie[0];
86
-			$this->_session_expiration = $cookie[1];
87
-			$this->_session_expiring   = $cookie[2];
88
-			$this->_has_cookie         = true;
89
-			$this->_data               = $this->get_session_data();
90
-
91
-			// If the user logs in, update session.
92
-			if ( is_user_logged_in() && get_current_user_id() != $this->_customer_id ) {
93
-				$this->_customer_id = get_current_user_id();
94
-				$this->_dirty       = true;
95
-				$this->save_data();
96
-				$this->set_customer_session_cookie( true );
97
-			}
98
-
99
-			// Update session if its close to expiring.
100
-			if ( time() > $this->_session_expiring ) {
101
-				$this->set_session_expiration();
102
-				$this->update_session_timestamp( $this->_customer_id, $this->_session_expiration );
103
-			}
104
-		} else {
105
-			$this->set_session_expiration();
106
-			$this->_customer_id = $this->generate_customer_id();
107
-			$this->_data        = $this->get_session_data();
108
-		}
109
-	}
110
-
111
-	/**
112
-	 * Sets the session cookie on-demand (usually after adding an item to the cart).
113
-	 *
114
-	 * Since the cookie name (as of 2.1) is prepended with wp, cache systems like batcache will not cache pages when set.
115
-	 *
116
-	 * Warning: Cookies will only be set if this is called before the headers are sent.
117
-	 *
118
-	 * @param bool $set Should the session cookie be set.
119
-	 */
120
-	public function set_customer_session_cookie( $set ) {
121
-		if ( $set ) {
122
-			$to_hash           = $this->_customer_id . '|' . $this->_session_expiration;
123
-			$cookie_hash       = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
124
-			$cookie_value      = $this->_customer_id . '||' . $this->_session_expiration . '||' . $this->_session_expiring . '||' . $cookie_hash;
125
-			$this->_has_cookie = true;
126
-
127
-			if ( ! isset( $_COOKIE[ $this->_cookie ] ) || $_COOKIE[ $this->_cookie ] !== $cookie_value ) {
128
-				$this->setcookie( $this->_cookie, $cookie_value, $this->_session_expiration, $this->use_secure_cookie(), true );
129
-			}
130
-		}
131
-	}
132
-
133
-	public function setcookie($name, $value, $expire = 0, $secure = false, $httponly = false){
57
+        add_action( 'wp_logout', array( $this, 'destroy_session' ) );
58
+        add_action( 'wp', array( $this, 'set_customer_session_cookie' ), 10 );
59
+        add_action( 'shutdown', array( $this, 'save_data' ), 20 );
60
+
61
+    }
62
+
63
+    /**
64
+     * Init hooks and session data.
65
+     *
66
+     * @since 3.3.0
67
+     */
68
+    public function init() {
69
+        $this->init_session_cookie();
70
+
71
+        if ( ! is_user_logged_in() ) {
72
+            add_filter( 'nonce_user_logged_out', array( $this, 'nonce_user_logged_out' ) );
73
+        }
74
+    }
75
+
76
+    /**
77
+     * Setup cookie and customer ID.
78
+     *
79
+     * @since 3.6.0
80
+     */
81
+    public function init_session_cookie() {
82
+        $cookie = $this->get_session_cookie();
83
+
84
+        if ( $cookie ) {
85
+            $this->_customer_id        = $cookie[0];
86
+            $this->_session_expiration = $cookie[1];
87
+            $this->_session_expiring   = $cookie[2];
88
+            $this->_has_cookie         = true;
89
+            $this->_data               = $this->get_session_data();
90
+
91
+            // If the user logs in, update session.
92
+            if ( is_user_logged_in() && get_current_user_id() != $this->_customer_id ) {
93
+                $this->_customer_id = get_current_user_id();
94
+                $this->_dirty       = true;
95
+                $this->save_data();
96
+                $this->set_customer_session_cookie( true );
97
+            }
98
+
99
+            // Update session if its close to expiring.
100
+            if ( time() > $this->_session_expiring ) {
101
+                $this->set_session_expiration();
102
+                $this->update_session_timestamp( $this->_customer_id, $this->_session_expiration );
103
+            }
104
+        } else {
105
+            $this->set_session_expiration();
106
+            $this->_customer_id = $this->generate_customer_id();
107
+            $this->_data        = $this->get_session_data();
108
+        }
109
+    }
110
+
111
+    /**
112
+     * Sets the session cookie on-demand (usually after adding an item to the cart).
113
+     *
114
+     * Since the cookie name (as of 2.1) is prepended with wp, cache systems like batcache will not cache pages when set.
115
+     *
116
+     * Warning: Cookies will only be set if this is called before the headers are sent.
117
+     *
118
+     * @param bool $set Should the session cookie be set.
119
+     */
120
+    public function set_customer_session_cookie( $set ) {
121
+        if ( $set ) {
122
+            $to_hash           = $this->_customer_id . '|' . $this->_session_expiration;
123
+            $cookie_hash       = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
124
+            $cookie_value      = $this->_customer_id . '||' . $this->_session_expiration . '||' . $this->_session_expiring . '||' . $cookie_hash;
125
+            $this->_has_cookie = true;
126
+
127
+            if ( ! isset( $_COOKIE[ $this->_cookie ] ) || $_COOKIE[ $this->_cookie ] !== $cookie_value ) {
128
+                $this->setcookie( $this->_cookie, $cookie_value, $this->_session_expiration, $this->use_secure_cookie(), true );
129
+            }
130
+        }
131
+    }
132
+
133
+    public function setcookie($name, $value, $expire = 0, $secure = false, $httponly = false){
134 134
         if ( ! headers_sent() ) {
135 135
             setcookie( $name, $value, $expire, COOKIEPATH ? COOKIEPATH : '/', COOKIE_DOMAIN, $secure, apply_filters( 'wpinv_cookie_httponly', $httponly, $name, $value, $expire, $secure ) );
136 136
         } elseif ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
@@ -139,86 +139,86 @@  discard block
 block discarded – undo
139 139
         }
140 140
     }
141 141
 
142
-	/**
143
-	 * Should the session cookie be secure?
144
-	 *
145
-	 * @since 3.6.0
146
-	 * @return bool
147
-	 */
148
-	protected function use_secure_cookie() {
142
+    /**
143
+     * Should the session cookie be secure?
144
+     *
145
+     * @since 3.6.0
146
+     * @return bool
147
+     */
148
+    protected function use_secure_cookie() {
149 149
         $is_https = false !== strstr( get_option( 'home' ), 'https:' );
150
-		return apply_filters( 'wpinv_session_use_secure_cookie', $is_https && is_ssl() );
151
-	}
152
-
153
-	/**
154
-	 * Return true if the current user has an active session, i.e. a cookie to retrieve values.
155
-	 *
156
-	 * @return bool
157
-	 */
158
-	public function has_session() {
159
-		return isset( $_COOKIE[ $this->_cookie ] ) || $this->_has_cookie || is_user_logged_in(); // @codingStandardsIgnoreLine.
160
-	}
161
-
162
-	/**
163
-	 * Set session expiration.
164
-	 */
165
-	public function set_session_expiration() {
166
-		$this->_session_expiring   = time() + intval( apply_filters( 'wpinv_session_expiring', 60 * 60 * 47 ) ); // 47 Hours.
167
-		$this->_session_expiration = time() + intval( apply_filters( 'wpinv_session_expiration', 60 * 60 * 48 ) ); // 48 Hours.
168
-	}
169
-
170
-	/**
171
-	 * Generates session ids.
172
-	 *
173
-	 * @return string
174
-	 */
175
-	public function generate_customer_id() {
176
-		require_once ABSPATH . 'wp-includes/class-phpass.php';
177
-		$hasher      = new PasswordHash( 8, false );
178
-		return md5( $hasher->get_random_bytes( 32 ) );
179
-	}
180
-
181
-	/**
182
-	 * Get the session cookie, if set. Otherwise return false.
183
-	 *
184
-	 * Session cookies without a customer ID are invalid.
185
-	 *
186
-	 * @return bool|array
187
-	 */
188
-	public function get_session_cookie() {
189
-		$cookie_value = isset( $_COOKIE[ $this->_cookie ] ) ? wp_unslash( $_COOKIE[ $this->_cookie ] ) : false; // @codingStandardsIgnoreLine.
190
-
191
-		if ( empty( $cookie_value ) || ! is_string( $cookie_value ) ) {
192
-			return false;
193
-		}
194
-
195
-		list( $customer_id, $session_expiration, $session_expiring, $cookie_hash ) = explode( '||', $cookie_value );
196
-
197
-		if ( empty( $customer_id ) ) {
198
-			return false;
199
-		}
200
-
201
-		// Validate hash.
202
-		$to_hash = $customer_id . '|' . $session_expiration;
203
-		$hash    = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
204
-
205
-		if ( empty( $cookie_hash ) || ! hash_equals( $hash, $cookie_hash ) ) {
206
-			return false;
207
-		}
208
-
209
-		return array( $customer_id, $session_expiration, $session_expiring, $cookie_hash );
210
-	}
211
-
212
-	/**
213
-	 * Get session data.
214
-	 *
215
-	 * @return array
216
-	 */
217
-	public function get_session_data() {
218
-		return $this->has_session() ? (array) $this->get_session( $this->_customer_id ) : array();
219
-	}
220
-
221
-	public function generate_key($customer_id){
150
+        return apply_filters( 'wpinv_session_use_secure_cookie', $is_https && is_ssl() );
151
+    }
152
+
153
+    /**
154
+     * Return true if the current user has an active session, i.e. a cookie to retrieve values.
155
+     *
156
+     * @return bool
157
+     */
158
+    public function has_session() {
159
+        return isset( $_COOKIE[ $this->_cookie ] ) || $this->_has_cookie || is_user_logged_in(); // @codingStandardsIgnoreLine.
160
+    }
161
+
162
+    /**
163
+     * Set session expiration.
164
+     */
165
+    public function set_session_expiration() {
166
+        $this->_session_expiring   = time() + intval( apply_filters( 'wpinv_session_expiring', 60 * 60 * 47 ) ); // 47 Hours.
167
+        $this->_session_expiration = time() + intval( apply_filters( 'wpinv_session_expiration', 60 * 60 * 48 ) ); // 48 Hours.
168
+    }
169
+
170
+    /**
171
+     * Generates session ids.
172
+     *
173
+     * @return string
174
+     */
175
+    public function generate_customer_id() {
176
+        require_once ABSPATH . 'wp-includes/class-phpass.php';
177
+        $hasher      = new PasswordHash( 8, false );
178
+        return md5( $hasher->get_random_bytes( 32 ) );
179
+    }
180
+
181
+    /**
182
+     * Get the session cookie, if set. Otherwise return false.
183
+     *
184
+     * Session cookies without a customer ID are invalid.
185
+     *
186
+     * @return bool|array
187
+     */
188
+    public function get_session_cookie() {
189
+        $cookie_value = isset( $_COOKIE[ $this->_cookie ] ) ? wp_unslash( $_COOKIE[ $this->_cookie ] ) : false; // @codingStandardsIgnoreLine.
190
+
191
+        if ( empty( $cookie_value ) || ! is_string( $cookie_value ) ) {
192
+            return false;
193
+        }
194
+
195
+        list( $customer_id, $session_expiration, $session_expiring, $cookie_hash ) = explode( '||', $cookie_value );
196
+
197
+        if ( empty( $customer_id ) ) {
198
+            return false;
199
+        }
200
+
201
+        // Validate hash.
202
+        $to_hash = $customer_id . '|' . $session_expiration;
203
+        $hash    = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) );
204
+
205
+        if ( empty( $cookie_hash ) || ! hash_equals( $hash, $cookie_hash ) ) {
206
+            return false;
207
+        }
208
+
209
+        return array( $customer_id, $session_expiration, $session_expiring, $cookie_hash );
210
+    }
211
+
212
+    /**
213
+     * Get session data.
214
+     *
215
+     * @return array
216
+     */
217
+    public function get_session_data() {
218
+        return $this->has_session() ? (array) $this->get_session( $this->_customer_id ) : array();
219
+    }
220
+
221
+    public function generate_key($customer_id){
222 222
         if(!$customer_id){
223 223
             return;
224 224
         }
@@ -226,62 +226,62 @@  discard block
 block discarded – undo
226 226
         return 'wpi_trans_'.$customer_id;
227 227
     }
228 228
 
229
-	/**
230
-	 * Save data.
231
-	 */
232
-	public function save_data() {
233
-		// Dirty if something changed - prevents saving nothing new.
234
-		if ( $this->_dirty && $this->has_session() ) {
229
+    /**
230
+     * Save data.
231
+     */
232
+    public function save_data() {
233
+        // Dirty if something changed - prevents saving nothing new.
234
+        if ( $this->_dirty && $this->has_session() ) {
235 235
 
236 236
             set_transient( $this->generate_key($this->_customer_id), $this->_data, $this->_session_expiration);
237 237
 
238
-			$this->_dirty = false;
239
-		}
240
-	}
241
-
242
-	/**
243
-	 * Destroy all session data.
244
-	 */
245
-	public function destroy_session() {
246
-		$this->delete_session( $this->_customer_id );
247
-		$this->forget_session();
248
-	}
249
-
250
-	/**
251
-	 * Forget all session data without destroying it.
252
-	 */
253
-	public function forget_session() {
254
-		$this->setcookie( $this->_cookie, '', time() - YEAR_IN_SECONDS, $this->use_secure_cookie(), true );
255
-
256
-		wpinv_empty_cart();
257
-
258
-		$this->_data        = array();
259
-		$this->_dirty       = false;
260
-		$this->_customer_id = $this->generate_customer_id();
261
-	}
262
-
263
-	/**
264
-	 * When a user is logged out, ensure they have a unique nonce by using the customer/session ID.
265
-	 *
266
-	 * @param int $uid User ID.
267
-	 * @return string
268
-	 */
269
-	public function nonce_user_logged_out( $uid ) {
270
-		return $this->has_session() && $this->_customer_id ? $this->_customer_id : $uid;
271
-	}
272
-
273
-	/**
274
-	 * Returns the session.
275
-	 *
276
-	 * @param string $customer_id Customer ID.
277
-	 * @param mixed  $default Default session value.
278
-	 * @return string|array
279
-	 */
280
-	public function get_session( $customer_id, $default = false ) {
281
-
282
-		if ( defined( 'WP_SETUP_CONFIG' ) ) {
283
-			return array();
284
-		}
238
+            $this->_dirty = false;
239
+        }
240
+    }
241
+
242
+    /**
243
+     * Destroy all session data.
244
+     */
245
+    public function destroy_session() {
246
+        $this->delete_session( $this->_customer_id );
247
+        $this->forget_session();
248
+    }
249
+
250
+    /**
251
+     * Forget all session data without destroying it.
252
+     */
253
+    public function forget_session() {
254
+        $this->setcookie( $this->_cookie, '', time() - YEAR_IN_SECONDS, $this->use_secure_cookie(), true );
255
+
256
+        wpinv_empty_cart();
257
+
258
+        $this->_data        = array();
259
+        $this->_dirty       = false;
260
+        $this->_customer_id = $this->generate_customer_id();
261
+    }
262
+
263
+    /**
264
+     * When a user is logged out, ensure they have a unique nonce by using the customer/session ID.
265
+     *
266
+     * @param int $uid User ID.
267
+     * @return string
268
+     */
269
+    public function nonce_user_logged_out( $uid ) {
270
+        return $this->has_session() && $this->_customer_id ? $this->_customer_id : $uid;
271
+    }
272
+
273
+    /**
274
+     * Returns the session.
275
+     *
276
+     * @param string $customer_id Customer ID.
277
+     * @param mixed  $default Default session value.
278
+     * @return string|array
279
+     */
280
+    public function get_session( $customer_id, $default = false ) {
281
+
282
+        if ( defined( 'WP_SETUP_CONFIG' ) ) {
283
+            return array();
284
+        }
285 285
 
286 286
         $key = $this->generate_key($customer_id);
287 287
         $value = get_transient($key);
@@ -290,30 +290,30 @@  discard block
 block discarded – undo
290 290
             $value = $default;
291 291
         }
292 292
 
293
-		return maybe_unserialize( $value );
294
-	}
293
+        return maybe_unserialize( $value );
294
+    }
295 295
 
296
-	/**
297
-	 * Delete the session from the cache and database.
298
-	 *
299
-	 * @param int $customer_id Customer ID.
300
-	 */
301
-	public function delete_session( $customer_id ) {
296
+    /**
297
+     * Delete the session from the cache and database.
298
+     *
299
+     * @param int $customer_id Customer ID.
300
+     */
301
+    public function delete_session( $customer_id ) {
302 302
 
303 303
         $key = $this->generate_key($customer_id);
304 304
 
305
-		delete_transient($key);
306
-	}
305
+        delete_transient($key);
306
+    }
307 307
 
308
-	/**
309
-	 * Update the session expiry timestamp.
310
-	 *
311
-	 * @param string $customer_id Customer ID.
312
-	 * @param int    $timestamp Timestamp to expire the cookie.
313
-	 */
314
-	public function update_session_timestamp( $customer_id, $timestamp ) {
308
+    /**
309
+     * Update the session expiry timestamp.
310
+     *
311
+     * @param string $customer_id Customer ID.
312
+     * @param int    $timestamp Timestamp to expire the cookie.
313
+     */
314
+    public function update_session_timestamp( $customer_id, $timestamp ) {
315 315
 
316 316
         set_transient( $this->generate_key($customer_id), maybe_serialize( $this->_data ), $timestamp);
317 317
 
318
-	}
318
+    }
319 319
 }
Please login to merge, or discard this patch.