Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.
Common duplication problems, and corresponding solutions are:
Complex classes like Give_Payment often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes. You can also have a look at the cohesion graph to spot any un-connected, or weakly-connected components.
Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.
While breaking up the class, it is a good idea to analyze how other classes use Give_Payment, and based on these observations, apply Extract Interface, too.
1 | <?php |
||
58 | final class Give_Payment { |
||
59 | |||
60 | /** |
||
61 | * The Payment ID. |
||
62 | * |
||
63 | * @since 1.5 |
||
64 | * |
||
65 | * @var int |
||
66 | */ |
||
67 | public $ID = 0; |
||
68 | |||
69 | /** |
||
70 | * Protected non-read $_ID. |
||
71 | * |
||
72 | * @var int |
||
73 | */ |
||
74 | protected $_ID = 0; |
||
75 | |||
76 | /** |
||
77 | * Identify if the payment is a new one or existing. |
||
78 | * |
||
79 | * @since 1.5 |
||
80 | * @access protected |
||
81 | * |
||
82 | * @var boolean |
||
83 | */ |
||
84 | protected $new = false; |
||
85 | |||
86 | /** |
||
87 | * The Payment number (for use with sequential payments). |
||
88 | * |
||
89 | * @since 1.5 |
||
90 | * @access protected |
||
91 | * |
||
92 | * @var string |
||
93 | */ |
||
94 | protected $number = ''; |
||
95 | |||
96 | /** |
||
97 | * The Gateway mode the payment was made in. |
||
98 | * |
||
99 | * @since 1.5 |
||
100 | * @access protected |
||
101 | * |
||
102 | * @var string |
||
103 | */ |
||
104 | protected $mode = 'live'; |
||
105 | |||
106 | /** |
||
107 | * Is donations is Import or not. |
||
108 | * |
||
109 | * @since 1.8.13 |
||
110 | * @access protected |
||
111 | * |
||
112 | * @var bool |
||
113 | */ |
||
114 | protected $import = false; |
||
115 | |||
116 | /** |
||
117 | * The unique donation payment key. |
||
118 | * |
||
119 | * @since 1.5 |
||
120 | * @access protected |
||
121 | * |
||
122 | * @var string |
||
123 | */ |
||
124 | protected $key = ''; |
||
125 | |||
126 | /** |
||
127 | * The Donation Form Title |
||
128 | * |
||
129 | * @since 1.5 |
||
130 | * @access protected |
||
131 | * |
||
132 | * @var string |
||
133 | */ |
||
134 | protected $form_title = 0; |
||
135 | |||
136 | /** |
||
137 | * The Donation Form ID |
||
138 | * |
||
139 | * @since 1.5 |
||
140 | * @access protected |
||
141 | * |
||
142 | * @var string |
||
143 | */ |
||
144 | protected $form_id = 0; |
||
145 | |||
146 | /** |
||
147 | * The Donation Form Price ID |
||
148 | * |
||
149 | * @since 1.5 |
||
150 | * @access protected |
||
151 | * |
||
152 | * @var string|int |
||
153 | */ |
||
154 | protected $price_id = 0; |
||
155 | |||
156 | /** |
||
157 | * The total amount of the donation payment. |
||
158 | * |
||
159 | * @since 1.5 |
||
160 | * @access protected |
||
161 | * |
||
162 | * @var float |
||
163 | */ |
||
164 | protected $total = 0.00; |
||
165 | |||
166 | /** |
||
167 | * The Subtotal fo the payment. |
||
168 | * |
||
169 | * @since 1.5 |
||
170 | * @access protected |
||
171 | * |
||
172 | * @var float |
||
173 | */ |
||
174 | protected $subtotal = 0; |
||
175 | |||
176 | /** |
||
177 | * The date the payment was created |
||
178 | * |
||
179 | * @since 1.5 |
||
180 | * @access protected |
||
181 | * |
||
182 | * @var string |
||
183 | */ |
||
184 | protected $date = ''; |
||
185 | |||
186 | /** |
||
187 | * The date the payment post was created. |
||
188 | * |
||
189 | * @var string |
||
190 | */ |
||
191 | protected $post_date = ''; |
||
192 | |||
193 | /** |
||
194 | * The date the payment was marked as 'complete'. |
||
195 | * |
||
196 | * @since 1.5 |
||
197 | * @access protected |
||
198 | * |
||
199 | * @var string |
||
200 | */ |
||
201 | protected $completed_date = ''; |
||
202 | |||
203 | /** |
||
204 | * The status of the donation payment. |
||
205 | * |
||
206 | * @since 1.5 |
||
207 | * @access protected |
||
208 | * |
||
209 | * @var string |
||
210 | */ |
||
211 | protected $status = 'pending'; |
||
212 | |||
213 | /** |
||
214 | * Donation Status. |
||
215 | * |
||
216 | * @var string |
||
217 | */ |
||
218 | protected $post_status = 'pending'; // Same as $status but here for backwards compat. |
||
219 | |||
220 | /** |
||
221 | * When updating, the old status prior to the change |
||
222 | * |
||
223 | * @since 1.5 |
||
224 | * @access protected |
||
225 | * |
||
226 | * @var string |
||
227 | */ |
||
228 | protected $old_status = ''; |
||
229 | |||
230 | /** |
||
231 | * The display name of the current payment status. |
||
232 | * |
||
233 | * @since 1.5 |
||
234 | * @access protected |
||
235 | * |
||
236 | * @var string |
||
237 | */ |
||
238 | protected $status_nicename = ''; |
||
239 | |||
240 | /** |
||
241 | * The donor ID that made the payment. |
||
242 | * |
||
243 | * @since 1.5 |
||
244 | * @access protected |
||
245 | * |
||
246 | * @var integer |
||
247 | */ |
||
248 | protected $customer_id = null; |
||
249 | |||
250 | /** |
||
251 | * The Donor ID (if logged in) that made the payment |
||
252 | * |
||
253 | * @since 1.8.13 |
||
254 | * @access protected |
||
255 | * |
||
256 | * @var integer |
||
257 | */ |
||
258 | protected $donor_id = 0; |
||
259 | |||
260 | /** |
||
261 | * The User ID (if logged in) that made the payment |
||
262 | * |
||
263 | * @since 1.5 |
||
264 | * @access protected |
||
265 | * |
||
266 | * @var integer |
||
267 | */ |
||
268 | protected $user_id = 0; |
||
269 | |||
270 | /** |
||
271 | * The Title Prefix/Salutation of the Donor. |
||
272 | * |
||
273 | * @since 2.2 |
||
274 | * |
||
275 | * @var string |
||
276 | */ |
||
277 | protected $title_prefix = ''; |
||
278 | |||
279 | /** |
||
280 | * The first name of the payee |
||
281 | * |
||
282 | * @since 1.5 |
||
283 | * @access protected |
||
284 | * |
||
285 | * @var string |
||
286 | */ |
||
287 | protected $first_name = ''; |
||
288 | |||
289 | /** |
||
290 | * The last name of the payee |
||
291 | * |
||
292 | * @since 1.5 |
||
293 | * @access protected |
||
294 | * |
||
295 | * @var string |
||
296 | */ |
||
297 | protected $last_name = ''; |
||
298 | 52 | ||
299 | /** |
||
300 | 52 | * The email used for the payment |
|
301 | 52 | * |
|
302 | * @since 1.5 |
||
303 | * @access protected |
||
304 | 52 | * |
|
305 | 52 | * @var string |
|
306 | */ |
||
307 | protected $email = ''; |
||
308 | |||
309 | /** |
||
310 | * Legacy (not to be accessed) array of user information |
||
311 | * |
||
312 | * @since 1.5 |
||
313 | * @access private |
||
314 | * |
||
315 | * @var array |
||
316 | 52 | */ |
|
317 | private $user_info = array(); |
||
318 | 52 | ||
319 | /** |
||
320 | 52 | * Legacy (not to be accessed) payment meta array |
|
321 | * |
||
322 | 52 | * @since 1.5 |
|
323 | * @access private |
||
324 | 52 | * |
|
325 | * @var array |
||
326 | */ |
||
327 | private $payment_meta = array(); |
||
328 | 52 | ||
329 | /** |
||
330 | * The physical address used for the payment if provided |
||
331 | * |
||
332 | * @since 1.5 |
||
333 | * @access protected |
||
334 | * |
||
335 | * @var array |
||
336 | */ |
||
337 | protected $address = array(); |
||
338 | |||
339 | /** |
||
340 | * The transaction ID returned by the gateway |
||
341 | 52 | * |
|
342 | 52 | * @since 1.5 |
|
343 | * @access protected |
||
344 | 52 | * |
|
345 | 52 | * @var string |
|
346 | 52 | */ |
|
347 | protected $transaction_id = ''; |
||
348 | 52 | ||
349 | 52 | /** |
|
350 | 52 | * IP Address payment was made from |
|
351 | * |
||
352 | 52 | * @since 1.5 |
|
353 | 52 | * @access protected |
|
354 | 52 | * |
|
355 | 52 | * @var string |
|
356 | */ |
||
357 | protected $ip = ''; |
||
358 | |||
359 | /** |
||
360 | * The gateway used to process the payment |
||
361 | * |
||
362 | * @since 1.5 |
||
363 | * @access protected |
||
364 | * |
||
365 | * @var string |
||
366 | 42 | */ |
|
367 | 42 | protected $gateway = ''; |
|
368 | 42 | ||
369 | /** |
||
370 | * The the payment was made with |
||
371 | * |
||
372 | * @since 1.5 |
||
373 | * @access protected |
||
374 | * |
||
375 | * @var string |
||
376 | */ |
||
377 | protected $currency = ''; |
||
378 | |||
379 | /** |
||
380 | * Array of items that have changed since the last save() was run. |
||
381 | * This is for internal use, to allow fewer update_payment_meta calls to be run. |
||
382 | * |
||
383 | 52 | * @since 1.5 |
|
384 | 52 | * @access private |
|
385 | * |
||
386 | 52 | * @var array |
|
387 | */ |
||
388 | private $pending; |
||
389 | |||
390 | 52 | /** |
|
391 | * The parent payment (if applicable) |
||
392 | 52 | * |
|
393 | 7 | * @since 1.5 |
|
394 | * @access protected |
||
395 | * |
||
396 | 52 | * @var integer |
|
397 | */ |
||
398 | protected $parent_payment = 0; |
||
399 | |||
400 | /** |
||
401 | 52 | * Setup the Give Payments class |
|
402 | * |
||
403 | * @since 1.5 |
||
404 | 52 | * @access public |
|
405 | * |
||
406 | * @param int|bool $payment_id A given payment. |
||
407 | 52 | * |
|
408 | * @return mixed void|false |
||
|
|||
409 | */ |
||
410 | 52 | public function __construct( $payment_id = false ) { |
|
418 | 52 | ||
419 | 52 | /** |
|
420 | * Magic GET function. |
||
421 | 52 | * |
|
422 | 52 | * @since 1.5 |
|
423 | * @access public |
||
424 | * |
||
425 | 52 | * @param string $key The property. |
|
426 | * |
||
427 | * @return mixed The value. |
||
428 | 52 | */ |
|
429 | 52 | public function __get( $key ) { |
|
443 | 52 | ||
444 | 52 | /** |
|
445 | 52 | * Magic SET function |
|
446 | * |
||
447 | * Sets up the pending array for the save method |
||
448 | 52 | * |
|
449 | 52 | * @since 1.5 |
|
450 | 52 | * @access public |
|
451 | 52 | * |
|
452 | 52 | * @param string $key The property name. |
|
453 | * @param mixed $value The value of the property. |
||
454 | */ |
||
455 | 52 | public function __set( $key, $value ) { |
|
470 | 52 | ||
471 | 31 | /** |
|
472 | 52 | * Magic ISSET function, which allows empty checks on protected elements |
|
473 | * |
||
474 | 22 | * @since 1.5 |
|
475 | 21 | * @access public |
|
476 | 21 | * |
|
477 | * @param string $name The attribute to get. |
||
478 | * |
||
479 | 52 | * @return boolean|null If the item is set or not |
|
480 | */ |
||
481 | 1 | public function __isset( $name ) { |
|
488 | |||
489 | 1 | /** |
|
490 | 1 | * Setup payment properties |
|
491 | * |
||
492 | 1 | * @since 1.5 |
|
493 | * @access private |
||
494 | * |
||
495 | 52 | * @param int $payment_id The payment ID. |
|
496 | 52 | * |
|
497 | 52 | * @return bool If the setup was successful or not |
|
498 | 52 | */ |
|
499 | 52 | private function setup_payment( $payment_id ) { |
|
604 | |||
605 | 52 | ||
606 | 52 | /** |
|
607 | * Payment class object is storing various meta value in object parameter. |
||
608 | 52 | * So if user is updating payment meta but not updating payment object, then payment meta values will not reflect/changes on payment meta automatically |
|
609 | * and you can still access payment meta old value in any old payment object ( previously created ) which can cause to show or save wrong payment data. |
||
610 | * To prevent that user can use this function after updating any payment meta value ( in bulk or single update ). |
||
611 | * |
||
612 | 52 | * @since 1.6 |
|
613 | * @access public |
||
614 | 52 | * |
|
615 | * @param int $payment_id Payment ID. |
||
616 | 52 | * |
|
617 | 52 | * @return void |
|
618 | */ |
||
619 | 52 | public function update_payment_setup( $payment_id ) { |
|
625 | 52 | ||
626 | /** |
||
627 | * Create the base of a payment. |
||
628 | 1 | * |
|
629 | * @since 1.5 |
||
630 | 1 | * @access private |
|
631 | 1 | * |
|
632 | * @return int|bool False on failure, the payment ID on success. |
||
633 | 1 | */ |
|
634 | 1 | private function insert_payment() { |
|
781 | |||
782 | 2 | /** |
|
783 | 2 | * Save |
|
784 | * |
||
785 | 52 | * Once items have been set, an update is needed to save them to the database. |
|
786 | 42 | * |
|
787 | 42 | * @access public |
|
788 | * |
||
789 | 52 | * @return bool True of the save occurred, false if it failed or wasn't needed |
|
790 | */ |
||
791 | 52 | public function save() { |
|
1028 | |||
1029 | /** |
||
1030 | * Add a donation to a given payment |
||
1031 | * |
||
1032 | * @since 1.5 |
||
1033 | * @access public |
||
1034 | * |
||
1035 | * @param int $form_id The donation form to add. |
||
1036 | * @param array $args Other arguments to pass to the function. |
||
1037 | * @param array $options List of donation options. |
||
1038 | * |
||
1039 | * @return bool True when successful, false otherwise |
||
1040 | */ |
||
1041 | public function add_donation( $form_id = 0, $args = array(), $options = array() ) { |
||
1125 | |||
1126 | /** |
||
1127 | * Remove a donation from the payment |
||
1128 | * |
||
1129 | * @since 1.5 |
||
1130 | * @access public |
||
1131 | * |
||
1132 | * @param int $form_id The form ID to remove. |
||
1133 | * @param array $args Arguments to pass to identify (quantity, amount, price_id). |
||
1134 | * |
||
1135 | * @return bool If the item was removed or not |
||
1136 | */ |
||
1137 | public function remove_donation( $form_id, $args = array() ) { |
||
1167 | |||
1168 | |||
1169 | /** |
||
1170 | * Add a note to a payment |
||
1171 | * |
||
1172 | 52 | * @since 1.5 |
|
1173 | 52 | * @access public |
|
1174 | 52 | * |
|
1175 | * @param string|bool $note The note to add. |
||
1176 | 52 | * |
|
1177 | 52 | * @return bool If the note was specified or not |
|
1178 | */ |
||
1179 | public function add_note( $note = false ) { |
||
1187 | |||
1188 | 2 | /** |
|
1189 | 2 | * Increase the payment's subtotal |
|
1190 | 2 | * |
|
1191 | * @since 1.5 |
||
1192 | 2 | * @access private |
|
1193 | * |
||
1194 | * @param float $amount The amount to increase the payment subtotal by. |
||
1195 | * |
||
1196 | 2 | * @return void |
|
1197 | 2 | */ |
|
1198 | private function increase_subtotal( $amount = 0.00 ) { |
||
1204 | |||
1205 | /** |
||
1206 | * Decrease the payment's subtotal. |
||
1207 | * |
||
1208 | * @since 1.5 |
||
1209 | * @access private |
||
1210 | * |
||
1211 | * @param float $amount The amount to decrease the payment subtotal by. |
||
1212 | * |
||
1213 | * @return void |
||
1214 | */ |
||
1215 | private function decrease_subtotal( $amount = 0.00 ) { |
||
1225 | |||
1226 | /** |
||
1227 | * Set or update the total for a payment. |
||
1228 | * |
||
1229 | * @since 1.5 |
||
1230 | * @since 2.1.4 reset total in pending property |
||
1231 | * @access private |
||
1232 | * |
||
1233 | * @return void |
||
1234 | */ |
||
1235 | private function recalculate_total() { |
||
1238 | |||
1239 | /** |
||
1240 | * Set the payment status and run any status specific changes necessary. |
||
1241 | 52 | * |
|
1242 | 52 | * @since 1.5 |
|
1243 | 52 | * @access public |
|
1244 | * |
||
1245 | * @param string|bool $status The status to set the payment to. |
||
1246 | * |
||
1247 | * @return bool $updated Returns if the status was successfully updated. |
||
1248 | */ |
||
1249 | public function update_status( $status = false ) { |
||
1309 | |||
1310 | /** |
||
1311 | * Change the status of the payment to refunded, and run the necessary changes |
||
1312 | * |
||
1313 | * @since 1.5 |
||
1314 | 4 | * @access public |
|
1315 | 4 | * |
|
1316 | 4 | * @return void |
|
1317 | 4 | */ |
|
1318 | public function refund() { |
||
1325 | |||
1326 | /** |
||
1327 | * Get a post meta item for the payment |
||
1328 | * |
||
1329 | * @since 1.5 |
||
1330 | * @access public |
||
1331 | * |
||
1332 | 52 | * @param string $meta_key The Meta Key. |
|
1333 | * @param boolean $single Return single item or array. |
||
1334 | 52 | * |
|
1335 | * @return mixed The value from the post meta |
||
1336 | 52 | */ |
|
1337 | public function get_meta( $meta_key = '_give_payment_meta', $single = true ) { |
||
1369 | |||
1370 | /** |
||
1371 | 52 | * Update the post meta |
|
1372 | 52 | * |
|
1373 | * @since 1.5 |
||
1374 | * @access public |
||
1375 | * |
||
1376 | 52 | * @param string $meta_key The meta key to update. |
|
1377 | * @param string $meta_value The meta value. |
||
1378 | * @param string $prev_value Previous meta value. |
||
1379 | * |
||
1380 | * @return int|bool Meta ID if the key didn't exist, true on successful update, false on failure |
||
1381 | */ |
||
1382 | public function update_meta( $meta_key = '', $meta_value = '', $prev_value = '' ) { |
||
1397 | 52 | ||
1398 | /** |
||
1399 | 52 | * Process Donation Status. |
|
1400 | * |
||
1401 | * @param string $status Donation Status. |
||
1402 | * |
||
1403 | * @since 2.0.2 |
||
1404 | * @access private |
||
1405 | * |
||
1406 | * @return void |
||
1407 | */ |
||
1408 | private function process_status( $status ) { |
||
1457 | 3 | ||
1458 | /** |
||
1459 | * Used during the process of moving to refunded or pending, to decrement stats |
||
1460 | 3 | * |
|
1461 | 1 | * @since 1.5 |
|
1462 | 1 | * @access private |
|
1463 | * |
||
1464 | * @param bool $alter_store_earnings If the method should alter the store earnings. |
||
1465 | 3 | * @param bool $alter_customer_value If the method should reduce the donor value. |
|
1466 | * @param bool $alter_customer_purchase_count If the method should reduce the donor's purchase count. |
||
1467 | 3 | * |
|
1468 | 1 | * @return void |
|
1469 | */ |
||
1470 | private function maybe_alter_stats( $alter_store_earnings, $alter_customer_value, $alter_customer_purchase_count ) { |
||
1494 | |||
1495 | /** |
||
1496 | 6 | * Delete sales logs for this donation |
|
1497 | * |
||
1498 | 6 | * @since 1.5 |
|
1499 | * @access private |
||
1500 | * |
||
1501 | 6 | * @return void |
|
1502 | 4 | */ |
|
1503 | 4 | private function delete_sales_logs() { |
|
1507 | |||
1508 | 6 | /** |
|
1509 | * Setup functions only, these are not to be used by developers. |
||
1510 | 6 | * These functions exist only to allow the setup routine to be backwards compatible with our old |
|
1511 | 4 | * helper functions. |
|
1512 | 4 | * |
|
1513 | * These will run whenever setup_payment is called, which should only be called once. |
||
1514 | 6 | * To update an attribute, update it directly instead of re-running the setup routine |
|
1515 | 4 | */ |
|
1516 | 4 | ||
1517 | /** |
||
1518 | 6 | * Setup the payment completed date |
|
1519 | * |
||
1520 | 6 | * @since 1.5 |
|
1521 | * @access private |
||
1522 | * |
||
1523 | * @return string The date the payment was completed |
||
1524 | */ |
||
1525 | private function setup_completed_date() { |
||
1536 | |||
1537 | 6 | /** |
|
1538 | 6 | * Setup the payment mode |
|
1539 | 6 | * |
|
1540 | * @since 1.5 |
||
1541 | 6 | * @access private |
|
1542 | 6 | * |
|
1543 | * @return string The payment mode |
||
1544 | */ |
||
1545 | private function setup_mode() { |
||
1548 | |||
1549 | /** |
||
1550 | * Setup the payment import data |
||
1551 | * |
||
1552 | * @since 1.8.13 |
||
1553 | * @access private |
||
1554 | * |
||
1555 | * @return bool The payment import |
||
1556 | */ |
||
1557 | private function setup_import() { |
||
1560 | 52 | ||
1561 | /** |
||
1562 | 52 | * Setup the payment total |
|
1563 | 52 | * |
|
1564 | * @since 1.5 |
||
1565 | * @access private |
||
1566 | 42 | * |
|
1567 | * @return float The payment total |
||
1568 | 42 | */ |
|
1569 | private function setup_total() { |
||
1574 | |||
1575 | /** |
||
1576 | * Setup the payment subtotal |
||
1577 | 52 | * |
|
1578 | 52 | * @since 1.5 |
|
1579 | * @access private |
||
1580 | * |
||
1581 | * @return float The subtotal of the payment |
||
1582 | */ |
||
1583 | private function setup_subtotal() { |
||
1588 | 52 | ||
1589 | /** |
||
1590 | 52 | * Setup the currency code |
|
1591 | 2 | * |
|
1592 | 2 | * @since 1.5 |
|
1593 | * @since 2.0 Set currency from _give_payment_currency meta key |
||
1594 | 2 | * @access private |
|
1595 | * |
||
1596 | * @return string The currency for the payment |
||
1597 | 2 | */ |
|
1598 | View Code Duplication | private function setup_currency() { |
|
1615 | |||
1616 | /** |
||
1617 | * Setup the gateway used for the payment |
||
1618 | * |
||
1619 | * @since 1.5 |
||
1620 | 52 | * @access private |
|
1621 | 52 | * |
|
1622 | * @return string The gateway |
||
1623 | 52 | */ |
|
1624 | 52 | private function setup_gateway() { |
|
1629 | |||
1630 | 52 | /** |
|
1631 | * Setup the donation ID |
||
1632 | * |
||
1633 | * @since 1.5 |
||
1634 | * @access private |
||
1635 | * |
||
1636 | * @return string The donation ID |
||
1637 | */ |
||
1638 | View Code Duplication | private function setup_transaction_id() { |
|
1648 | |||
1649 | /** |
||
1650 | * Setup the IP Address for the payment |
||
1651 | * |
||
1652 | 52 | * @since 1.5 |
|
1653 | 52 | * @since 2.0 Set ip address from _give_payment_donor_ip meta key |
|
1654 | * @access private |
||
1655 | 52 | * |
|
1656 | * @return string The IP address for the payment |
||
1657 | */ |
||
1658 | private function setup_ip() { |
||
1663 | |||
1664 | 52 | /** |
|
1665 | 52 | * Setup the donor ID. |
|
1666 | * |
||
1667 | 52 | * @since 1.5 |
|
1668 | * @since 2.0 Set id from _give_payment_donor_id meta key |
||
1669 | * @access private |
||
1670 | * |
||
1671 | * @return int The Donor ID. |
||
1672 | */ |
||
1673 | private function setup_donor_id() { |
||
1678 | |||
1679 | 52 | /** |
|
1680 | * Setup the User ID associated with the donation |
||
1681 | 52 | * |
|
1682 | 52 | * @since 1.5 |
|
1683 | * @since 2.0 Get user id connect to donor from donor table instead of payment meta. |
||
1684 | 52 | * |
|
1685 | * @access private |
||
1686 | 52 | * |
|
1687 | * @return int The User ID |
||
1688 | */ |
||
1689 | private function setup_user_id() { |
||
1697 | |||
1698 | 52 | /** |
|
1699 | * Setup the email address for the donation. |
||
1700 | * |
||
1701 | * @since 1.5 |
||
1702 | * @since 2.0 Set email from _give_payment_donor_email meta key |
||
1703 | * |
||
1704 | * @access private |
||
1705 | * |
||
1706 | * @return string The email address for the payment. |
||
1707 | 52 | */ |
|
1708 | 52 | private function setup_email() { |
|
1717 | |||
1718 | /** |
||
1719 | 52 | * Setup the user info. |
|
1720 | 52 | * |
|
1721 | * @since 1.5 |
||
1722 | 52 | * @access private |
|
1723 | * |
||
1724 | * @return array The user info associated with the payment. |
||
1725 | */ |
||
1726 | private function setup_user_info() { |
||
1790 | 21 | ||
1791 | /** |
||
1792 | * Setup the Address for the payment. |
||
1793 | * |
||
1794 | * @since 1.5 |
||
1795 | * @access private |
||
1796 | 52 | * |
|
1797 | * @return array The Address information for the payment. |
||
1798 | 52 | */ |
|
1799 | private function setup_address() { |
||
1809 | |||
1810 | /** |
||
1811 | 52 | * Setup the form title. |
|
1812 | * |
||
1813 | 52 | * @since 1.5 |
|
1814 | 52 | * @access private |
|
1815 | 52 | * |
|
1816 | 52 | * @return string The Form Title. |
|
1817 | 52 | */ |
|
1818 | 52 | private function setup_form_title() { |
|
1824 | |||
1825 | /** |
||
1826 | * Setup the form ID. |
||
1827 | * |
||
1828 | * @since 1.5 |
||
1829 | * @access private |
||
1830 | * |
||
1831 | 52 | * @return int The Form ID |
|
1832 | */ |
||
1833 | 52 | private function setup_form_id() { |
|
1839 | |||
1840 | /** |
||
1841 | * Setup the price ID. |
||
1842 | * |
||
1843 | * @since 1.5 |
||
1844 | 52 | * @access private |
|
1845 | * |
||
1846 | 52 | * @return int The Form Price ID. |
|
1847 | */ |
||
1848 | 52 | private function setup_price_id() { |
|
1853 | |||
1854 | /** |
||
1855 | * Setup the payment key. |
||
1856 | * |
||
1857 | 52 | * @since 1.5 |
|
1858 | 52 | * @access private |
|
1859 | * |
||
1860 | 52 | * @return string The Payment Key. |
|
1861 | */ |
||
1862 | private function setup_payment_key() { |
||
1867 | |||
1868 | /** |
||
1869 | 52 | * Setup the payment number. |
|
1870 | 52 | * |
|
1871 | * @since 1.5 |
||
1872 | 52 | * @access private |
|
1873 | * |
||
1874 | * @return int|string Integer by default, or string if sequential order numbers is enabled. |
||
1875 | */ |
||
1876 | private function setup_payment_number() { |
||
1879 | |||
1880 | /** |
||
1881 | 52 | * Converts this object into an array for special cases. |
|
1882 | 52 | * |
|
1883 | * @access public |
||
1884 | 52 | * |
|
1885 | * @return array The payment object as an array. |
||
1886 | 20 | */ |
|
1887 | public function array_convert() { |
||
1890 | 2 | ||
1891 | |||
1892 | 2 | /** |
|
1893 | * Flag to check if donation is completed or not. |
||
1894 | 20 | * |
|
1895 | * @since 1.8 |
||
1896 | 52 | * @access public |
|
1897 | * |
||
1898 | * @return bool |
||
1899 | */ |
||
1900 | public function is_completed() { |
||
1903 | |||
1904 | /** |
||
1905 | * Retrieve payment completion date. |
||
1906 | * |
||
1907 | * @since 1.5 |
||
1908 | * @access private |
||
1909 | * |
||
1910 | * @return string Date payment was completed. |
||
1911 | */ |
||
1912 | private function get_completed_date() { |
||
1915 | 42 | ||
1916 | /** |
||
1917 | * Retrieve payment subtotal. |
||
1918 | * |
||
1919 | * @since 1.5 |
||
1920 | * @access private |
||
1921 | * |
||
1922 | * @return float Payment subtotal. |
||
1923 | */ |
||
1924 | private function get_subtotal() { |
||
1927 | |||
1928 | /** |
||
1929 | * Retrieve payment currency. |
||
1930 | * |
||
1931 | * @since 1.5 |
||
1932 | * @access private |
||
1933 | * |
||
1934 | 42 | * @return string Payment currency code. |
|
1935 | 42 | */ |
|
1936 | private function get_currency() { |
||
1939 | |||
1940 | /** |
||
1941 | * Retrieve payment gateway. |
||
1942 | * |
||
1943 | * @since 1.5 |
||
1944 | 42 | * @access private |
|
1945 | 42 | * |
|
1946 | * @return string Gateway used. |
||
1947 | */ |
||
1948 | private function get_gateway() { |
||
1951 | |||
1952 | /** |
||
1953 | * Retrieve donation ID. |
||
1954 | 11 | * |
|
1955 | 11 | * @since 1.5 |
|
1956 | * @access private |
||
1957 | * |
||
1958 | * @return string Donation ID from merchant processor. |
||
1959 | */ |
||
1960 | private function get_transaction_id() { |
||
1963 | |||
1964 | /** |
||
1965 | * Retrieve payment IP |
||
1966 | * |
||
1967 | * @since 1.5 |
||
1968 | * @access private |
||
1969 | * |
||
1970 | * @return string Payment IP address |
||
1971 | */ |
||
1972 | private function get_ip() { |
||
1975 | 52 | ||
1976 | /** |
||
1977 | * Retrieve payment donor ID. |
||
1978 | * |
||
1979 | * @since 1.5 |
||
1980 | * @access private |
||
1981 | * |
||
1982 | * @return int Payment donor ID. |
||
1983 | */ |
||
1984 | 41 | private function get_donor_id() { |
|
1987 | |||
1988 | /** |
||
1989 | * Retrieve payment user ID. |
||
1990 | * |
||
1991 | * @since 1.5 |
||
1992 | * @access private |
||
1993 | * |
||
1994 | 42 | * @return int Payment user ID. |
|
1995 | 42 | */ |
|
1996 | private function get_user_id() { |
||
1999 | |||
2000 | /** |
||
2001 | * Retrieve payment email. |
||
2002 | * |
||
2003 | * @since 1.5 |
||
2004 | 43 | * @access private |
|
2005 | 43 | * |
|
2006 | * @return string Payment donor email. |
||
2007 | */ |
||
2008 | private function get_email() { |
||
2011 | |||
2012 | /** |
||
2013 | * Retrieve payment user info. |
||
2014 | * |
||
2015 | * @since 1.5 |
||
2016 | * @access private |
||
2017 | * |
||
2018 | * @return array Payment user info. |
||
2019 | */ |
||
2020 | private function get_user_info() { |
||
2023 | |||
2024 | 52 | /** |
|
2025 | 52 | * Retrieve payment billing address. |
|
2026 | * |
||
2027 | * @since 1.5 |
||
2028 | * @access private |
||
2029 | * |
||
2030 | * @return array Payment billing address. |
||
2031 | */ |
||
2032 | private function get_address() { |
||
2035 | 52 | ||
2036 | /** |
||
2037 | * Retrieve payment key. |
||
2038 | * |
||
2039 | * @since 1.5 |
||
2040 | * @access private |
||
2041 | * |
||
2042 | * @return string Payment key. |
||
2043 | */ |
||
2044 | 42 | private function get_key() { |
|
2047 | |||
2048 | /** |
||
2049 | * Retrieve payment form id |
||
2050 | * |
||
2051 | * @since 1.5 |
||
2052 | * @access private |
||
2053 | * |
||
2054 | * @return string Payment form id |
||
2055 | */ |
||
2056 | private function get_form_id() { |
||
2059 | |||
2060 | /** |
||
2061 | * Retrieve payment number |
||
2062 | * |
||
2063 | * @since 1.5 |
||
2064 | * @access private |
||
2065 | * |
||
2066 | * @return int|string Payment number |
||
2067 | */ |
||
2068 | private function get_number() { |
||
2071 | |||
2072 | /** |
||
2073 | * Get serial code |
||
2074 | * |
||
2075 | * @since 2.1 |
||
2076 | * |
||
2077 | * @param array $args List of arguments. |
||
2078 | * |
||
2079 | * @return string |
||
2080 | */ |
||
2081 | public function get_serial_code( $args = array() ) { |
||
2084 | } |
||
2085 |
Adding a
@return
annotation to a constructor is not recommended, since a constructor does not have a meaningful return value.Please refer to the PHP core documentation on constructors.