Code Duplication    Length = 58-59 lines in 5 locations

includes/wpinv-email-functions.php 5 locations

@@ 238-295 (lines=58) @@
235
    return wpinv_mail_send( $recipient, $subject, $content, $headers, $attachments );
236
}
237
238
function wpinv_onhold_invoice_notification( $invoice_id, $new_status = '' ) {
239
    global $wpinv_email_search, $wpinv_email_replace;
240
    
241
    $email_type = 'onhold_invoice';
242
    if ( !wpinv_email_is_enabled( $email_type ) ) {
243
        return false;
244
    }
245
    
246
    $invoice = wpinv_get_invoice( $invoice_id );
247
    if ( empty( $invoice ) ) {
248
        return false;
249
    }
250
251
    if ( !("wpi_invoice" === $invoice->post_type) ) {
252
        return false;
253
    }
254
    
255
    $recipient      = wpinv_email_get_recipient( $email_type, $invoice_id, $invoice );
256
    if ( !is_email( $recipient ) ) {
257
        return false;
258
    }
259
        
260
    $search                     = array();
261
    $search['invoice_number']   = '{invoice_number}';
262
    $search['invoice_date']     = '{invoice_date}';
263
    $search['name']             = '{name}';
264
    
265
    $replace                    = array();
266
    $replace['invoice_number']  = $invoice->get_number();
267
    $replace['invoice_date']    = $invoice->get_invoice_date();
268
    $replace['name']            = $invoice->get_user_full_name();
269
    
270
    $wpinv_email_search     = $search;
271
    $wpinv_email_replace    = $replace;
272
    
273
    $subject        = wpinv_email_get_subject( $email_type, $invoice_id, $invoice );
274
    $email_heading  = wpinv_email_get_heading( $email_type, $invoice_id, $invoice );
275
    $headers        = wpinv_email_get_headers( $email_type, $invoice_id, $invoice );
276
    $attachments    = wpinv_email_get_attachments( $email_type, $invoice_id, $invoice );
277
    
278
    $content        = wpinv_get_template_html( 'emails/wpinv-email-' . $email_type . '.php', array(
279
            'invoice'       => $invoice,
280
            'email_type'    => $email_type,
281
            'email_heading' => $email_heading,
282
            'sent_to_admin' => false,
283
            'plain_text'    => false,
284
        ) );
285
    
286
    $sent = wpinv_mail_send( $recipient, $subject, $content, $headers, $attachments );
287
    
288
    if ( wpinv_mail_admin_bcc_active( $email_type ) ) {
289
        $recipient  = wpinv_get_admin_email();
290
        $subject    .= ' - ADMIN BCC COPY';
291
        wpinv_mail_send( $recipient, $subject, $content, $headers, $attachments );
292
    }
293
    
294
    return $sent;
295
}
296
297
function wpinv_processing_invoice_notification( $invoice_id, $new_status = '' ) {
298
    global $wpinv_email_search, $wpinv_email_replace;
@@ 297-354 (lines=58) @@
294
    return $sent;
295
}
296
297
function wpinv_processing_invoice_notification( $invoice_id, $new_status = '' ) {
298
    global $wpinv_email_search, $wpinv_email_replace;
299
    
300
    $email_type = 'processing_invoice';
301
    if ( !wpinv_email_is_enabled( $email_type ) ) {
302
        return false;
303
    }
304
    
305
    $invoice = wpinv_get_invoice( $invoice_id );
306
    if ( empty( $invoice ) ) {
307
        return false;
308
    }
309
310
    if ( !("wpi_invoice" === $invoice->post_type) ) {
311
        return false;
312
    }
313
    
314
    $recipient      = wpinv_email_get_recipient( $email_type, $invoice_id, $invoice );
315
    if ( !is_email( $recipient ) ) {
316
        return false;
317
    }
318
        
319
    $search                     = array();
320
    $search['invoice_number']   = '{invoice_number}';
321
    $search['invoice_date']     = '{invoice_date}';
322
    $search['name']             = '{name}';
323
    
324
    $replace                    = array();
325
    $replace['invoice_number']  = $invoice->get_number();
326
    $replace['invoice_date']    = $invoice->get_invoice_date();
327
    $replace['name']            = $invoice->get_user_full_name();
328
    
329
    $wpinv_email_search     = $search;
330
    $wpinv_email_replace    = $replace;
331
    
332
    $subject        = wpinv_email_get_subject( $email_type, $invoice_id, $invoice );
333
    $email_heading  = wpinv_email_get_heading( $email_type, $invoice_id, $invoice );
334
    $headers        = wpinv_email_get_headers( $email_type, $invoice_id, $invoice );
335
    $attachments    = wpinv_email_get_attachments( $email_type, $invoice_id, $invoice );
336
    
337
    $content        = wpinv_get_template_html( 'emails/wpinv-email-' . $email_type . '.php', array(
338
            'invoice'       => $invoice,
339
            'email_type'    => $email_type,
340
            'email_heading' => $email_heading,
341
            'sent_to_admin' => false,
342
            'plain_text'    => false,
343
        ) );
344
    
345
    $sent = wpinv_mail_send( $recipient, $subject, $content, $headers, $attachments );
346
    
347
    if ( wpinv_mail_admin_bcc_active( $email_type ) ) {
348
        $recipient  = wpinv_get_admin_email();
349
        $subject    .= ' - ADMIN BCC COPY';
350
        wpinv_mail_send( $recipient, $subject, $content, $headers, $attachments );
351
    }
352
    
353
    return $sent;
354
}
355
356
function wpinv_completed_invoice_notification( $invoice_id, $new_status = '' ) {
357
    global $wpinv_email_search, $wpinv_email_replace;
@@ 356-413 (lines=58) @@
353
    return $sent;
354
}
355
356
function wpinv_completed_invoice_notification( $invoice_id, $new_status = '' ) {
357
    global $wpinv_email_search, $wpinv_email_replace;
358
    
359
    $email_type = 'completed_invoice';
360
    if ( !wpinv_email_is_enabled( $email_type ) ) {
361
        return false;
362
    }
363
    
364
    $invoice = wpinv_get_invoice( $invoice_id );
365
    if ( empty( $invoice ) ) {
366
        return false;
367
    }
368
369
    if ( !("wpi_invoice" === $invoice->post_type) ) {
370
        return false;
371
    }
372
    
373
    $recipient      = wpinv_email_get_recipient( $email_type, $invoice_id, $invoice );
374
    if ( !is_email( $recipient ) ) {
375
        return false;
376
    }
377
        
378
    $search                     = array();
379
    $search['invoice_number']   = '{invoice_number}';
380
    $search['invoice_date']     = '{invoice_date}';
381
    $search['name']             = '{name}';
382
    
383
    $replace                    = array();
384
    $replace['invoice_number']  = $invoice->get_number();
385
    $replace['invoice_date']    = $invoice->get_invoice_date();
386
    $replace['name']            = $invoice->get_user_full_name();
387
    
388
    $wpinv_email_search     = $search;
389
    $wpinv_email_replace    = $replace;
390
    
391
    $subject        = wpinv_email_get_subject( $email_type, $invoice_id, $invoice );
392
    $email_heading  = wpinv_email_get_heading( $email_type, $invoice_id, $invoice );
393
    $headers        = wpinv_email_get_headers( $email_type, $invoice_id, $invoice );
394
    $attachments    = wpinv_email_get_attachments( $email_type, $invoice_id, $invoice );
395
    
396
    $content        = wpinv_get_template_html( 'emails/wpinv-email-' . $email_type . '.php', array(
397
            'invoice'       => $invoice,
398
            'email_type'    => $email_type,
399
            'email_heading' => $email_heading,
400
            'sent_to_admin' => false,
401
            'plain_text'    => false,
402
        ) );
403
    
404
    $sent = wpinv_mail_send( $recipient, $subject, $content, $headers, $attachments );
405
    
406
    if ( wpinv_mail_admin_bcc_active( $email_type ) ) {
407
        $recipient  = wpinv_get_admin_email();
408
        $subject    .= ' - ADMIN BCC COPY';
409
        wpinv_mail_send( $recipient, $subject, $content, $headers, $attachments );
410
    }
411
    
412
    return $sent;
413
}
414
415
function wpinv_fully_refunded_notification( $invoice_id, $new_status = '' ) {
416
    global $wpinv_email_search, $wpinv_email_replace;
@@ 415-473 (lines=59) @@
412
    return $sent;
413
}
414
415
function wpinv_fully_refunded_notification( $invoice_id, $new_status = '' ) {
416
    global $wpinv_email_search, $wpinv_email_replace;
417
    
418
    $email_type = 'refunded_invoice';
419
    if ( !wpinv_email_is_enabled( $email_type ) ) {
420
        return false;
421
    }
422
    
423
    $invoice = wpinv_get_invoice( $invoice_id );
424
    if ( empty( $invoice ) ) {
425
        return false;
426
    }
427
428
    if ( !("wpi_invoice" === $invoice->post_type) ) {
429
        return false;
430
    }
431
    
432
    $recipient      = wpinv_email_get_recipient( $email_type, $invoice_id, $invoice );
433
    if ( !is_email( $recipient ) ) {
434
        return false;
435
    }
436
        
437
    $search                     = array();
438
    $search['invoice_number']   = '{invoice_number}';
439
    $search['invoice_date']     = '{invoice_date}';
440
    $search['name']             = '{name}';
441
    
442
    $replace                    = array();
443
    $replace['invoice_number']  = $invoice->get_number();
444
    $replace['invoice_date']    = $invoice->get_invoice_date();
445
    $replace['name']            = $invoice->get_user_full_name();
446
    
447
    $wpinv_email_search     = $search;
448
    $wpinv_email_replace    = $replace;
449
    
450
    $subject        = wpinv_email_get_subject( $email_type, $invoice_id, $invoice );
451
    $email_heading  = wpinv_email_get_heading( $email_type, $invoice_id, $invoice );
452
    $headers        = wpinv_email_get_headers( $email_type, $invoice_id, $invoice );
453
    $attachments    = wpinv_email_get_attachments( $email_type, $invoice_id, $invoice );
454
    
455
    $content        = wpinv_get_template_html( 'emails/wpinv-email-' . $email_type . '.php', array(
456
            'invoice'           => $invoice,
457
            'email_type'        => $email_type,
458
            'email_heading'     => $email_heading,
459
            'sent_to_admin'     => false,
460
            'plain_text'        => false,
461
            'partial_refund'    => false
462
        ) );
463
    
464
    $sent = wpinv_mail_send( $recipient, $subject, $content, $headers, $attachments );
465
    
466
    if ( wpinv_mail_admin_bcc_active( $email_type ) ) {
467
        $recipient  = wpinv_get_admin_email();
468
        $subject    .= ' - ADMIN BCC COPY';
469
        wpinv_mail_send( $recipient, $subject, $content, $headers, $attachments );
470
    }
471
    
472
    return $sent;
473
}
474
475
function wpinv_partially_refunded_notification( $invoice_id, $new_status = '' ) {
476
    global $wpinv_email_search, $wpinv_email_replace;
@@ 475-533 (lines=59) @@
472
    return $sent;
473
}
474
475
function wpinv_partially_refunded_notification( $invoice_id, $new_status = '' ) {
476
    global $wpinv_email_search, $wpinv_email_replace;
477
    
478
    $email_type = 'refunded_invoice';
479
    if ( !wpinv_email_is_enabled( $email_type ) ) {
480
        return false;
481
    }
482
    
483
    $invoice = wpinv_get_invoice( $invoice_id );
484
    if ( empty( $invoice ) ) {
485
        return false;
486
    }
487
488
    if ( !("wpi_invoice" === $invoice->post_type) ) {
489
        return false;
490
    }
491
    
492
    $recipient      = wpinv_email_get_recipient( $email_type, $invoice_id, $invoice );
493
    if ( !is_email( $recipient ) ) {
494
        return false;
495
    }
496
        
497
    $search                     = array();
498
    $search['invoice_number']   = '{invoice_number}';
499
    $search['invoice_date']     = '{invoice_date}';
500
    $search['name']             = '{name}';
501
    
502
    $replace                    = array();
503
    $replace['invoice_number']  = $invoice->get_number();
504
    $replace['invoice_date']    = $invoice->get_invoice_date();
505
    $replace['name']            = $invoice->get_user_full_name();
506
    
507
    $wpinv_email_search     = $search;
508
    $wpinv_email_replace    = $replace;
509
    
510
    $subject        = wpinv_email_get_subject( $email_type, $invoice_id, $invoice );
511
    $email_heading  = wpinv_email_get_heading( $email_type, $invoice_id, $invoice );
512
    $headers        = wpinv_email_get_headers( $email_type, $invoice_id, $invoice );
513
    $attachments    = wpinv_email_get_attachments( $email_type, $invoice_id, $invoice );
514
    
515
    $content        = wpinv_get_template_html( 'emails/wpinv-email-' . $email_type . '.php', array(
516
            'invoice'           => $invoice,
517
            'email_type'        => $email_type,
518
            'email_heading'     => $email_heading,
519
            'sent_to_admin'     => false,
520
            'plain_text'        => false,
521
            'partial_refund'    => true
522
        ) );
523
    
524
    $sent = wpinv_mail_send( $recipient, $subject, $content, $headers, $attachments );
525
    
526
    if ( wpinv_mail_admin_bcc_active( $email_type ) ) {
527
        $recipient  = wpinv_get_admin_email();
528
        $subject    .= ' - ADMIN BCC COPY';
529
        wpinv_mail_send( $recipient, $subject, $content, $headers, $attachments );
530
    }
531
    
532
    return $sent;
533
}
534
535
function wpinv_new_invoice_note_notification( $invoice_id, $new_status = '' ) {
536
}