Code Duplication    Length = 37-37 lines in 3 locations

includes/wpinv-email-functions.php 3 locations

@@ 88-124 (lines=37) @@
85
    do_action_ref_array( $function, $args );
86
}
87
88
function wpinv_new_invoice_notification( $invoice_id, $new_status = '' ) {
89
    $email_type = 'new_invoice';
90
    if ( !wpinv_email_is_enabled( $email_type ) ) {
91
        return false;
92
    }
93
94
    $invoice = wpinv_get_invoice( $invoice_id );
95
    if ( empty( $invoice ) ) {
96
        return false;
97
    }
98
99
    if ( !("wpi_invoice" === $invoice->post_type) ) {
100
        return false;
101
    }
102
103
    $recipient      = wpinv_email_get_recipient( $email_type, $invoice_id, $invoice );
104
    if ( !is_email( $recipient ) ) {
105
        return false;
106
    }
107
108
    $subject        = wpinv_email_get_subject( $email_type, $invoice_id, $invoice );
109
    $email_heading  = wpinv_email_get_heading( $email_type, $invoice_id, $invoice );
110
    $headers        = wpinv_email_get_headers( $email_type, $invoice_id, $invoice );
111
    $message_body   = wpinv_email_get_content( $email_type, $invoice_id, $invoice );
112
    $attachments    = wpinv_email_get_attachments( $email_type, $invoice_id, $invoice );
113
114
    $content        = wpinv_get_template_html( 'emails/wpinv-email-' . $email_type . '.php', array(
115
            'invoice'       => $invoice,
116
            'email_type'    => $email_type,
117
            'email_heading' => $email_heading,
118
            'sent_to_admin' => true,
119
            'plain_text'    => false,
120
            'message_body'  => $message_body,
121
        ) );
122
123
    return wpinv_mail_send( $recipient, $subject, $content, $headers, $attachments );
124
}
125
126
function wpinv_cancelled_invoice_notification( $invoice_id, $new_status = '' ) {
127
    $email_type = 'cancelled_invoice';
@@ 126-162 (lines=37) @@
123
    return wpinv_mail_send( $recipient, $subject, $content, $headers, $attachments );
124
}
125
126
function wpinv_cancelled_invoice_notification( $invoice_id, $new_status = '' ) {
127
    $email_type = 'cancelled_invoice';
128
    if ( !wpinv_email_is_enabled( $email_type ) ) {
129
        return false;
130
    }
131
132
    $invoice = wpinv_get_invoice( $invoice_id );
133
    if ( empty( $invoice ) ) {
134
        return false;
135
    }
136
137
    if ( !("wpi_invoice" === $invoice->post_type) ) {
138
        return false;
139
    }
140
141
    $recipient      = wpinv_email_get_recipient( $email_type, $invoice_id, $invoice );
142
    if ( !is_email( $recipient ) ) {
143
        return false;
144
    }
145
146
    $subject        = wpinv_email_get_subject( $email_type, $invoice_id, $invoice );
147
    $email_heading  = wpinv_email_get_heading( $email_type, $invoice_id, $invoice );
148
    $headers        = wpinv_email_get_headers( $email_type, $invoice_id, $invoice );
149
    $message_body   = wpinv_email_get_content( $email_type, $invoice_id, $invoice );
150
    $attachments    = wpinv_email_get_attachments( $email_type, $invoice_id, $invoice );
151
152
    $content        = wpinv_get_template_html( 'emails/wpinv-email-' . $email_type . '.php', array(
153
            'invoice'       => $invoice,
154
            'email_type'    => $email_type,
155
            'email_heading' => $email_heading,
156
            'sent_to_admin' => true,
157
            'plain_text'    => false,
158
            'message_body'  => $message_body,
159
        ) );
160
161
    return wpinv_mail_send( $recipient, $subject, $content, $headers, $attachments );
162
}
163
164
function wpinv_failed_invoice_notification( $invoice_id, $new_status = '' ) {
165
    $email_type = 'failed_invoice';
@@ 164-200 (lines=37) @@
161
    return wpinv_mail_send( $recipient, $subject, $content, $headers, $attachments );
162
}
163
164
function wpinv_failed_invoice_notification( $invoice_id, $new_status = '' ) {
165
    $email_type = 'failed_invoice';
166
    if ( !wpinv_email_is_enabled( $email_type ) ) {
167
        return false;
168
    }
169
    
170
    $invoice = wpinv_get_invoice( $invoice_id );
171
    if ( empty( $invoice ) ) {
172
        return false;
173
    }
174
175
    if ( !("wpi_invoice" === $invoice->post_type) ) {
176
        return false;
177
    }
178
179
    $recipient      = wpinv_email_get_recipient( $email_type, $invoice_id, $invoice );
180
    if ( !is_email( $recipient ) ) {
181
        return false;
182
    }
183
184
    $subject        = wpinv_email_get_subject( $email_type, $invoice_id, $invoice );
185
    $email_heading  = wpinv_email_get_heading( $email_type, $invoice_id, $invoice );
186
    $headers        = wpinv_email_get_headers( $email_type, $invoice_id, $invoice );
187
    $message_body   = wpinv_email_get_content( $email_type, $invoice_id, $invoice );
188
    $attachments    = wpinv_email_get_attachments( $email_type, $invoice_id, $invoice );
189
    
190
    $content        = wpinv_get_template_html( 'emails/wpinv-email-' . $email_type . '.php', array(
191
            'invoice'       => $invoice,
192
            'email_type'    => $email_type,
193
            'email_heading' => $email_heading,
194
            'sent_to_admin' => true,
195
            'plain_text'    => false,
196
            'message_body'  => $message_body,
197
        ) );
198
    
199
    return wpinv_mail_send( $recipient, $subject, $content, $headers, $attachments );
200
}
201
202
function wpinv_onhold_invoice_notification( $invoice_id, $new_status = '' ) {
203
    $email_type = 'onhold_invoice';