Skip to content

Commit

Permalink
Fix: Packing Slip attachment when Pro is disabled (#664)
Browse files Browse the repository at this point in the history
  • Loading branch information
dwalkerpriv authored Nov 27, 2023
1 parent 590eb97 commit e6456f3
Showing 1 changed file with 16 additions and 7 deletions.
23 changes: 16 additions & 7 deletions includes/class-wcpdf-main.php
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ public function attach_document_to_email( $attachments, $email_id, $order, $emai
}

$attach_to_document_types = $this->get_documents_for_email( $email_id, $order );

foreach ( $attach_to_document_types as $output_format => $document_types ) {
foreach ( $document_types as $document_type ) {
$email_order = apply_filters( 'wpo_wcpdf_email_attachment_order', $order, $email, $document_type );
Expand Down Expand Up @@ -290,28 +291,36 @@ public function wait_for_file_lock( $path ) {
public function get_documents_for_email( $email_id, $order ) {
$documents = WPO_WCPDF()->documents->get_documents( 'enabled', 'any' );
$attach_documents = array();

foreach ( $documents as $document ) {
// Pro not activated, only attach Invoice
if ( ! function_exists( 'WPO_WCPDF_Pro' ) && 'invoice' !== $document->get_type() ) {
continue;
};

foreach ( $document->output_formats as $output_format ) {
if ( $document->is_enabled( $output_format ) ) {
$attach_documents[$output_format][$document->get_type()] = $document->get_attach_to_email_ids( $output_format );
$attach_documents[ $output_format ][ $document->get_type() ] = $document->get_attach_to_email_ids( $output_format );
}
}
}

$attach_documents = apply_filters( 'wpo_wcpdf_attach_documents', $attach_documents );
$document_types = array();
foreach ( $attach_documents as $output_format => $documents ) {
foreach ( $documents as $document_type => $attach_to_email_ids ) {

foreach ( $attach_documents as $output_format => $_documents ) {
foreach ( $_documents as $document_type => $attach_to_email_ids ) {
// legacy settings: convert abbreviated email_ids
foreach ( $attach_to_email_ids as $key => $attach_to_email_id ) {
if ( $attach_to_email_id == 'completed' || $attach_to_email_id == 'processing' ) {
$attach_to_email_ids[$key] = "customer_" . $attach_to_email_id . "_order";
if ( in_array( $attach_to_email_id, array( 'completed', 'processing' ) ) ) {
$attach_to_email_ids[ $key ] = "customer_{$attach_to_email_id}_order";
}
}

$extra_condition = apply_filters( 'wpo_wcpdf_custom_attachment_condition', true, $order, $email_id, $document_type, $output_format );
if ( in_array( $email_id, $attach_to_email_ids ) && $extra_condition === true ) {
$document_types[$output_format][] = $document_type;

if ( in_array( $email_id, $attach_to_email_ids ) && $extra_condition ) {
$document_types[ $output_format ][] = $document_type;
}
}
}
Expand Down

0 comments on commit e6456f3

Please sign in to comment.