WooCommerce PDF Invoices - Version 3.1.9

Version Description

  • October 12, 2021 =

  • Fixed: Fixed action name.

Download this release

Release Info

Developer baaaaas
Plugin Icon 128x128 WooCommerce PDF Invoices
Version 3.1.9
Comparing to
See all releases

Code changes from version 3.1.8 to 3.1.9

bootstrap.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Invoices for WooCommerce
4
  * Plugin URI: https://wordpress.org/plugins/woocommerce-pdf-invoices
5
  * Description: Automatically generate and attach customizable PDF Invoices to WooCommerce emails and connect with Dropbox, Google Drive, OneDrive or Egnyte.
6
- * Version: 3.1.8
7
  * Author: Bas Elbers
8
  * Author URI: http://wcpdfinvoices.com
9
  * License: GPL-2.0+
@@ -11,12 +11,12 @@
11
  * Text Domain: woocommerce-pdf-invoices
12
  * Domain Path: /lang
13
  * WC requires at least: 3.0.0
14
- * WC tested up to: 5.6
15
  */
16
 
17
  defined( 'ABSPATH' ) || exit;
18
 
19
- define( 'WPI_VERSION', '3.1.8' );
20
 
21
  /**
22
  * Load Invoices for WooCommerce plugin.
3
  * Plugin Name: Invoices for WooCommerce
4
  * Plugin URI: https://wordpress.org/plugins/woocommerce-pdf-invoices
5
  * Description: Automatically generate and attach customizable PDF Invoices to WooCommerce emails and connect with Dropbox, Google Drive, OneDrive or Egnyte.
6
+ * Version: 3.1.9
7
  * Author: Bas Elbers
8
  * Author URI: http://wcpdfinvoices.com
9
  * License: GPL-2.0+
11
  * Text Domain: woocommerce-pdf-invoices
12
  * Domain Path: /lang
13
  * WC requires at least: 3.0.0
14
+ * WC tested up to: 5.7
15
  */
16
 
17
  defined( 'ABSPATH' ) || exit;
18
 
19
+ define( 'WPI_VERSION', '3.1.9' );
20
 
21
  /**
22
  * Load Invoices for WooCommerce plugin.
includes/admin/views/html-sidebar.php CHANGED
@@ -12,7 +12,6 @@
12
  - <?php _e( 'Generate PDF invoices in multiple languages (WPML and Polylang compatible).', 'woocommerce-pdf-invoices' ); ?><br/>
13
  - <?php _e( 'Bulk generate PDF invoices.', 'woocommerce-pdf-invoices' ); ?><br/>
14
  - <?php _e( 'Bulk export and/or download PDF invoices.', 'woocommerce-pdf-invoices' ); ?><br/>
15
- - <?php _e( 'Bill periodically by generating and sending global invoices.', 'woocommerce-pdf-invoices' ); ?><br/>
16
  - <?php _e( 'Add additional PDF\'s to PDF invoices.', 'woocommerce-pdf-invoices' ); ?><br/>
17
  - <?php _e( 'Send PDF invoices to multiple recipients.', 'woocommerce-pdf-invoices' ); ?><br/>
18
  - <?php printf( __( 'Attach invoices to <a href="%s">WooCommerce Subscriptions</a> emails.', 'woocommerce-pdf-invoices' ), "http://www.woothemes.com/products/woocommerce-subscriptions/" ); ?><br/>
12
  - <?php _e( 'Generate PDF invoices in multiple languages (WPML and Polylang compatible).', 'woocommerce-pdf-invoices' ); ?><br/>
13
  - <?php _e( 'Bulk generate PDF invoices.', 'woocommerce-pdf-invoices' ); ?><br/>
14
  - <?php _e( 'Bulk export and/or download PDF invoices.', 'woocommerce-pdf-invoices' ); ?><br/>
 
15
  - <?php _e( 'Add additional PDF\'s to PDF invoices.', 'woocommerce-pdf-invoices' ); ?><br/>
16
  - <?php _e( 'Send PDF invoices to multiple recipients.', 'woocommerce-pdf-invoices' ); ?><br/>
17
  - <?php printf( __( 'Attach invoices to <a href="%s">WooCommerce Subscriptions</a> emails.', 'woocommerce-pdf-invoices' ), "http://www.woothemes.com/products/woocommerce-subscriptions/" ); ?><br/>
includes/class-packing-slip.php CHANGED
@@ -125,7 +125,7 @@ if ( ! class_exists( 'BEWPI_Packing_Slip' ) ) {
125
  }
126
  }
127
 
128
- do_action( 'bewpi_before_document_generation', $this->type, BEWPI_WC_Order_Compatibility::get_id( $this->order ) );
129
 
130
  parent::generate( $destination );
131
 
125
  }
126
  }
127
 
128
+ do_action( 'wpi_before_document_generation', $this->type, BEWPI_WC_Order_Compatibility::get_id( $this->order ) );
129
 
130
  parent::generate( $destination );
131
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link:
4
  Tags: Invoices for WooCommerce, invoice, packing slips, delivery note, packing list, shipping list, generate, pdf, woocommerce, attachment, email, customer invoice, processing, vat, tax, sequential, number, dropbox, google drive, onedrive, egnyte, cloud, storage
5
  Requires at least: 4.0
6
  Tested up to: 5.8
7
- Stable tag: 3.1.7
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -344,6 +344,10 @@ Since version 2.9.4 the plugin removed the ability to update the PDF invoice whe
344
 
345
  == Changelog ==
346
 
 
 
 
 
347
  = 3.1.8 - September 17, 2021 =
348
 
349
  - Fixed: Fatal error.
@@ -579,553 +583,4 @@ Since version 2.9.4 the plugin removed the ability to update the PDF invoice whe
579
  - Fixed: Facebook share button.
580
  - Fixed: Download from my account page not working.
581
  - Fixed: Item meta and download item meta not displayed inline within table cells by stripping `<p>` and `<br>` tags. Update custom template needed!
582
- - Removed: Unused CSS and JS.
583
-
584
- = 2.8.1 - April 21, 2017 =
585
-
586
- - Added: Option to disable Packing Slips.
587
- - Added: Composer (PHP 5.2 compatible) classmap autoloading.
588
- - Added: Custom `get_order_item_totals()` method to be able to override and did some backporting.
589
- - Improved: JavaScript by only running code on correct page.
590
- - Improved: Plugin size by using forked mpdf repo and removed a lot of default fonts to keep only [fonts that cover most languages/characters](https://mpdf.github.io/fonts-languages/fonts-language-cover-v5-x.html).
591
- - Improved: Font by switching from 'Arial' to 'dejavusanscondensed' for best character coverage.
592
- - Improved: WooCommerce compatibility.
593
- - Improved: Prefix and suffix by removing unnecessary '[prefix]' and '[suffix]' placeholders.s
594
- - Improved: Language files.
595
- - Improved: Admin notices hooks only loading on admin.
596
- - Improved: 'bewpi_mpdf' filter by moving it directly before document write and added document object as argument.
597
- - Fixed: Template specific settings not always showing. Make sure your custom template contains template name in order to get template specific settings.
598
- - Fixed: 'PHP Warning: copy(): The first argument to copy() function cannot be a directory' when moving PDF invoices to new uploads directory.
599
- - Removed: Refunds in totals on 'Minimal' invoice template.
600
-
601
- = 2.8.0 - April 19, 2017 =
602
-
603
- - Added: Packing Slip PDF document (for 'Minimal' template, not 'Micro').
604
- - Fixed: 'Warning: ReflectionProperty::getValue() expects exactly 1 parameter, 0 given'.
605
-
606
- = 2.7.3 - April 18, 2017 =
607
-
608
- - Improved: `setup_directories()` running on every (admin) request by only running when `WPI_UPLOADS_DIR` does not exists.
609
- - Fixed: 'Call to undefined function bewpi_get_id()' by dumping Composer autoloading.
610
- - Fixed: `GLOB_BRACE` unsupported on some systems.
611
-
612
- = 2.7.2 - April 18, 2017 =
613
-
614
- - Added: Filter 'bewpi_my_account_pdf_name' to change the name of the PDF button on My Account page.
615
- - Fixed: 'Fatal error: Call to a member function get_id() on null' by checking object type in method `add_emailitin_as_recipient()`.
616
-
617
- = 2.7.1 - April 14, 2017 =
618
-
619
- - Fixed: 'PHP Fatal error: Call to undefined method WC_Order::get_id()'.
620
-
621
- = 2.7.0 - April 13, 2017 =
622
-
623
- - Added: A brand new template inspired by [NextStepWebs](https://github.com/NextStepWebs/simple-html-invoice-template) called 'Minimal' that makes use of the new `BEWPI()->templater()` class. Important: 'Micro' template is deprecated and will no longer be supported. We've created a petition [#162](https://github.com/baselbers/woocommerce-pdf-invoices/issues/162) where you can leave a vote to keep the 'Micro' template.
624
- - Added: 'composer.json' file, requiring mPDF and using autoloading.
625
- - Added: Class `BEWPI_Template` which serves all template data. Your custom template needs an update!
626
- - Added: 'bewpi_skip_invoice_generation' filter to skip invoice based on order data like products, categories etc.
627
- - Improved: Uploads directory by moving all files (templates, invoices and fonts) to new 'uploads/woocommerce-pdf-invoices' directory! Do not use the old uploads/bewpi-invoices and uploads/bewpi-templates anymore!
628
- - Improved: `load_plugin_textdomain` method by using locale filter.
629
- - Improved: File structure by moving partials to includes/admin/views.
630
- - Improved: Invoice number reset by using transient instead of updating complete template options.
631
- - Improved: Template by using `printf()` for better readability and added html escaping.
632
- - Improved: Template by checking for company logo url to display logo.
633
- - Improved: `get_template()` method by moving it to `BEWPI_Abstract_Document` class so child classes can use it.
634
- - Improved: 'bewpi_before_document_generation' action by changing arguments array into separate variables.
635
- - Improved: Invoice `type` variable by using relative paths (invoice/simple and invoice/global), so renamed 'invoices' directory to singular 'invoice'.
636
- - Improved: `templater()` by setting `$order` object as a class variable, so the class methods can make use of it instead of using `$order_id` as param.
637
- - Improved: Settings descriptions due to new template.
638
- - Improved: Settings page by not showing related settings based on selected template.
639
- - Fixed: PDF invoice url by changing order of filter arguments.
640
- - Fixed: 'Invoice No.' column not always before 'Actions' column on Shop Order page.
641
- - Fixed: '_bewpi_pdf_invoice_path' postmeta only created when option 'Reset yearly' is enabled.
642
- - Fixed: WooCommerce 3.x.x+ compatibility.
643
- - Removed: Unused and unnecessary actions 'bewpi_before_output_template_to_buffer' and 'bewpi_after_output_template_to_buffer'.
644
- - Removed: 'bewpi_lang_dir' filter, because WordPress made update-safe directory 'wp-content/languages/plugins'.
645
- - Removed: `get_template_dir()` method. Using `BEWPI()->templater->get_template()` instead.
646
- - Removed: Open Sans font and replaced it with Arial due to the use of composer. We load all fonts from mPDF library now.
647
-
648
- = 2.6.4 - March 6, 2017 =
649
-
650
- - Fixed: 'Fatal error: Call to a member function get_total() on null' by checking for `WC_Order` object type within `attach_invoice_to_email()` method.
651
-
652
- = 2.6.3 - February 24, 2017 =
653
-
654
- - Added: Option to disable generation of PDF invoices for orders with only free products.
655
- - Improved: Font usage by defining font-family within style.css file.
656
- - Improved: Translation files.
657
- - Fixed: Company logo not found by checking for possible modified image source url.
658
- - Fixed: PDF invoices not updated (with paid watermark) when order has been modified.
659
- - Fixed: Customer shipping address always showing.
660
- - Fixed: 'Update Failed: Internal Server Error' when updating plugin (from version 2.5.7-) by temporary changing max_execution_time setting.
661
- - Fixed: Company logo url not saving due to use of `esc_url()` regarding special characters.
662
-
663
- = 2.6.2 - February 15, 2017 =
664
-
665
- - Improved: Company logo setting by just using a attachment url from Media Library. Note that the image won't be shown on settings page anymore.
666
- - Improved: 'readme.txt' and 'settings-sidebar.php' files.
667
- - Fixed: `bewpi_mpdf` filter not working properly. Should be placed before writing html.
668
- - Fixed: Invoice number compatibility with third party plugins by using `get_order_number()` method instead of `id`.
669
- - Fixed: Invoice number column on mobile by adding a '-' when no invoice number exists.
670
-
671
- = 2.6.1 - January 30, 2017 =
672
-
673
- - Improved: `bewpi-install-date` option name by renaming it to `bewpi_install_date`.
674
- - Improved: `_bewpi_on_plugin_update` function to use less database calls and memory. Allocate at least 256MB in order to update to version 2.6+.
675
-
676
- = 2.6.0 - January 29, 2017 =
677
-
678
- - Added: 'bewpi_formatted_invoice_number_order_date' filter to change format of order date within formatted invoice number.
679
- - Added: VAT rate percentages. Update your custom template within uploads folder!
680
- - Added: '_bewpi_invoice_pdf_path' postmeta to easily get the path to the invoice due to possible pdf location changes.
681
- - Improved: Check if invoice has been generated by using '_bewpi_invoice_number' and '_bewpi_invoice_pdf_path' postmeta.
682
- - Improved: Reducing database calls by making 'exists()' method static so a complete invoice does not need to be initialized.
683
- - Improved: '_bewpi_invoice_date' postmeta has been updated to mysql date in order to prevent faulty formatting.
684
- - Improved: Reducing database calls by not using/saving '_bewpi_formatted_invoice_number' and '_bewpi_invoice_year'. Instead use '_bewpi_invoice_date' and '_bewpi_invoice_number' and format invoice number and get year within code.
685
- - Improved: Language files.
686
- - Fixed: PDF invoice not attached to emails due to wrong path to file given.
687
- - Fixed: 'Fatal error: Call to a member function is_virtual() on boolean' by changing expression from 'null' to 'boolean' due to type checking operator. Update your custom template within uploads folder!
688
- - Fixed: 'Fatal error: Call to a member function get_title() on a non-object' when trying to generate invoice with deleted product. Update your custom template within uploads folder!
689
-
690
- = 2.5.7 - January 20, 2017 =
691
-
692
- - Improved: Directory security by adding .htaccess and index.php to pdf invoices directory.
693
-
694
- = 2.5.6 - January 19, 2017 =
695
-
696
- - Improved: Language files.
697
- - Improved: Number of database calls to check if invoice exists.
698
- - Improved: Only deleting invoices with numbers greater then next number when using counter reset.
699
- - Fixed: 'view' action translatable.
700
- - Fixed: Not correct next number displayed on template settings page by changing input html attribute disabled to readonly.
701
-
702
- = 2.5.5 - January 12, 2017 =
703
-
704
- - Improved: Language files.
705
- - Improved: Plugin action links on plugins.php page.
706
- - Improved: `get_total()` method to `get_formatted_total()` and `get_subtotal()` to `get_formatted_subtotal()`. Custom templates in uploads folder need to be updated!
707
- - Fixed: "Access denied" for customer trying to download/view pdf invoice by separating code into admin and frontend callback methods.
708
- - Fixed: "Fatal error: require_once(): Failed opening required 'header.php'" when custom template has been deleted and user option still has custom template set.
709
-
710
- = 2.5.4 - January 10, 2017 =
711
-
712
- - Added: '[order-date]' and '[order-number]' to invoice number option.
713
- - Improved: Language files.
714
- - Fixed: Customers shipping address not displayed at all.
715
- - Fixed: Total amount not calculating with refunds.
716
-
717
- = 2.5.3 - January 9, 2017 =
718
-
719
- - Added: Option to show shipping address and do not show shipping address when order has only virtual products.
720
- - Fixed: Reset counter option.
721
- - Fixed: Settings sidebar font color conflicts.
722
- - Fixed: Invoice number column on Shop Order page always visible.
723
-
724
- = 2.5.2 - January 5, 2017 =
725
-
726
- - Fixed: "Expression is not allowed as class constant value" due to PHP versions older then 5.6.
727
-
728
- = 2.5.1 - January 5, 2017 =
729
-
730
- - Fixed: "Warning: array_merge(): Argument #2 is not an array" by casting empty get_option to array.
731
- - Fixed: "Parse error: syntax error, unexpected T_OBJECT_OPERATOR" by not using class member access on instantiation.
732
-
733
- = 2.5.0 - January 5, 2017 =
734
-
735
- - Added: Invoice number column on Shop Order page.
736
- - Added: Czech Republic language files thanks to Stanislav Cihak.
737
- - Improved: All language files.
738
- - Improved: Overall code from BE_WooCommerce_PDF_Invoices class and Settings classes by following WordPress Coding Standards and removing unnecessary variables, functions etc. (long way to go but it's a start)
739
- - Improved: Email attachment option with multiple checkboxes to attach invoice to multiple email types.
740
- - Improved: Admin notices by using transients and did some separation of concern by creating a new class file for admin notices.
741
- - Fixed: Fatal error "tfoot must appear before tbody" by deleting tfoot and added thead so the header will appear on multiple pages. The tfoot does not need to be on all pages.
742
- - Fixed: Not sending email when there are multiple BCC headers.
743
- - Fixed: Hidden order itemmeta hiding on admin pages by adding custom filter "bewpi_hidden_order_itemmeta".
744
- - Fixed: Activation admin notice keeps displaying when redirected to different page.
745
- - Removed: Filters 'bewpi_paid_watermark_excluded_payment_methods' and 'bewpi_paid_watermark_excluded_order_statuses', because there is no reason to show watermark based on order status or payment method. Watermark should only be displayed when order has been paid for, so order status should be Processing or Completed. Using WooCommerce' "is_paid" function to achieve this.
746
-
747
- = 2.4.13 - December 5, 2016 =
748
-
749
- - Fixed: Fixed company logo "IMAGE Error: Image not found" and other mPDF image errors due to wrong (local)host server configurations (mainly on shared hosting) by using mPDF' "Image as a Variable" method.
750
- - Fixed: Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'BE_WooCommerce_PDF_Invoices' does not have a method 'display_rate_admin_notice'.
751
- - Fixed: Support for Hindi, Kuwaiti and more by adding "Free Serif" font.
752
-
753
- = 2.4.12 - November 23, 2016 =
754
-
755
- - Added: Estonian language files.
756
- - Added: Option to be able to display text in black color. This fixes the invisible text problem when theme color is white or some other light color.
757
- - Added zero VAT when user inserts a valid VAT Number with "WooCommerce EU VAT Number" plugin, because some EU countries demand it. Also added notice at the end of the PDF stating "Zero rated for VAT as customer has supplied EU VAT number".
758
- - Improved: Don't pass objects by reference (this is default since PHP5).
759
- - Improved: Moved some HTML out of translation strings.
760
- - Improved: Removed some inline `IF` statements to adhere to the WordPress Code Standard.
761
- - Improved: Escape attributes with user submitted values.
762
- - Improved: Update PHPDocs for methods.
763
- - Improved: Use `admin_footer_text` and 'update_footer' filters instead of `window.onload` to show/modify text.
764
- - Improved: Use `add_query_arg` and `remove_query_arg` for building URL's.
765
- - Improved: Create `DateTime` from explicit form we're saving it in.
766
- - Improved: Remove unnecessary loop by passing arrays to `str_replace`.
767
- - Improved: Namespace JS object into `BEWPI` object to prevent clashes with other global `Settings` objects.
768
- - Improved: Use `wp_list_pluck` to build array of defaults.
769
- - Improved: Updated German, French and Slovenian language files.
770
- - Improved: Table by only showing column headers on first page and totals on last. The totals won't be cut off between pages anymore.
771
- - Improved: Getting total amount by simply using `$order->get_total();` method and not manually calculating with refund.
772
- - Fixed "WooCommerce Cost of Goods" plugin only hiding cost itemmeta in admin.
773
-
774
- = 2.4.11 - November 14, 2016 =
775
-
776
- - Added: Filter to alter formatted invoice number.
777
- - Removed: Unnecessary language files and CSS.
778
-
779
- = 2.4.10 - September 23, 2016 =
780
-
781
- - Added: "On-hold" email to attach invoice
782
- - Fixed: Several small bugs due to new version of mPDF
783
-
784
- = 2.4.9 - September 21, 2016 =
785
-
786
- - Fixed: Updated mPDF
787
-
788
- = 2.4.8 - September 19, 2016 =
789
-
790
- - Fixed: mPDF PHP7 errors (blank pages)
791
-
792
- = 2.4.7 - May 2, 2016 =
793
-
794
- - Fixed: Invoice not attached to email
795
-
796
- = 2.4.6 - April 29, 2016 =
797
-
798
- - Added: Option to change the title of the invoice
799
- - Fixed: Invoice not attached to email
800
- - Fixed: Shortcode error when no order_id is given
801
-
802
- = 2.4.5 - April 15, 2016 =
803
-
804
- - Added: Filter 'bewpi_allowed_roles_to_download_invoice' (check FAQ)
805
- - Added: Watermark mPDF options
806
- - Added: Italian language files
807
- - Added: Actions 'bewpi_before_invoice_content' and 'bewpi_after_invoice_content' for WPML integration (WIP)
808
- - Added: Filter 'bewpi_attach_invoice_excluded_payment_methods' to attach invoice depending on payment methods
809
- - Improved: Norwegian language file
810
-
811
- = 2.4.4 - March 11, 2016 =
812
-
813
- - Added: Filter for email attachments
814
- - Fixed: Invoice action buttons on order page not showing due to conflict with other invoicing plugin
815
- - Fixed: Characters showing square like Rupee symbol
816
-
817
- = 2.4.3 - March 06, 2016 =
818
-
819
- - Removed: Borders on template due to testing layout.
820
-
821
- = 2.4.2 - March 06, 2016 =
822
-
823
- - Added: '[shipping_method]' placeholder and filter to add more placeholders.
824
- - Added: Filters to FAQ page in order to fix the company logo showing red cross. (Read sticky topic on support forum first)
825
- - Fixed: Paid watermark not showing
826
- - Fixed: Sequential invoice number reset
827
- - Fixed: 'SyntaxError: Unexpected token C' error
828
- - Improved: Language files
829
- - Removed: Unused global invoice template and dir
830
-
831
- = 2.4.1 - February 10, 2016 =
832
-
833
- - Added: Lithuanian language files
834
- - Added: German language files
835
- - Improved: Settings sidebar
836
- - Fixed: Don't display paid watermark when payment method is Cash on Delivery
837
- - Fixed: mPDF already included
838
- - Fixed: Margin between header and address sections
839
- - Fixed: Copy .htaccess and index.php files to many times into uploads folder
840
-
841
- = 2.4.0 - January 15, 2016 =
842
-
843
- - Added: Purchase Order Number from WooCommerce Purchase Order Gateway
844
- - Added: VAT Number from WooCommerce EU VAT Number
845
- - Added: Russian language files
846
- - Added: Option to enable mPDF debugging
847
- - Improved: Dutch language files
848
- - Improved: Romain language files
849
- - Fixed: Company logo image only showing red placeholder - Increased performance by using relative path to image
850
- - Fixed: Color picker CSS conflict
851
-
852
- = 2.3.20 - December 30, 2015 =
853
-
854
- - Improved: Changed textdomain to plugin slug due to preparation of WordPress translations packages
855
-
856
- = 2.3.19 - December 30, 2015 =
857
-
858
- - Fixed: Translations not properly configured by removing Domain Path.
859
-
860
- = 2.3.18 - December 30, 2015 =
861
-
862
- - Fixed: Syriac, Arabic, Indic, Hebrew (and more) fonts integration.
863
- - Improved: Number of zero digits for invoice number up to 20.
864
-
865
- = 2.3.17 - December 25, 2015 =
866
-
867
- - Added: Romanian language files
868
- - Fixed: Shop managers access to view invoices.
869
- - Fixed: Rating notice showing while activating plugin
870
-
871
- = 2.3.16 - December 19, 2015 =
872
-
873
- - Fixed: Permission for customers and admins to view invoices.
874
-
875
- = 2.3.15 - December 18, 2015 =
876
-
877
- - Added: Shortcode for downloading invoices
878
- - Added: Option to enable/disable download button on account page
879
- - Fixed: Invoice number always 1 due to no wp table prefix in query
880
- - Fixed: Date localization and timestamps
881
-
882
- = 2.3.14 - December 11, 2015 =
883
-
884
- - Fixed: Fatal errors due to Wordpress 4.4
885
- - Improved: Replaced textdomain variable by strongly typed string (properly prepared for translations)
886
-
887
- = 2.3.13 - November 28, 2015 =
888
-
889
- - Improved: Changed file_get_contents to wp_get_remote
890
- - Fixed: Logo not always showing
891
- - Fixed: Footer column (typo in code)
892
-
893
- = 2.3.12 - November 28, 2015 =
894
-
895
- - Improved: Micro and global (premium) template
896
- - Improved: Code in order to disable allow_url_fopen
897
- - Fixed: Header and footer repeating with too much content/text
898
-
899
- = 2.3.11 - November 6, 2015 =
900
-
901
- - Added: Do not attach option to email options
902
- - Added: Swedish language files
903
- - Improved: Address text not displayed if empty
904
- - Improved: Billing phone text not displayed if empty
905
- - Fixed: Invoice numbering gaps while cancelling invoice
906
-
907
- = 2.3.10 - October 29, 2015 =
908
-
909
- - Added: German language files.
910
-
911
- = 2.3.9 - October 20, 2015 =
912
-
913
- - Fixed: Admin notices not showing.
914
-
915
- = 2.3.8 - October 9, 2015 =
916
-
917
- - Fixed: Losing settings.
918
-
919
- = 2.3.7 - October 6, 2015 =
920
-
921
- - Added: Arabic font Amiri
922
-
923
- = 2.3.6 - October 3, 2015 =
924
-
925
- - Fixed: Errors while activating plugin due to missing custom template dirs
926
-
927
- = 2.3.5 - September 27, 2015 =
928
-
929
- - Added: POT file
930
- - Added: Option to display subtotal including or excluding shipping
931
- - Added: Settings sidebars with information
932
- - Added: Many hooks for interacting with your own code
933
- - Fixed: File upload size to 2MB
934
- - Fixed: Admin notifications not always showing
935
-
936
- = 2.3.4 - September 16, 2015 =
937
-
938
- - Fixed: Subtotal not displaying including tax
939
- - Fixed: Plugin activation and deactivation hooks
940
- - Fixed: Logo not always showing
941
- - Improved: Settings markup
942
- - Improved: Admin notices
943
-
944
- = 2.3.3 - August 13, 2015 =
945
-
946
- - Improved: Check if allow_url_fopen is enabled for image conversion to base64
947
- - Improved: Norwegian language file thanks to Anders Sørensen :)
948
-
949
- = 2.3.2 - August 12, 2015 =
950
-
951
- - Added: Font to display rupee currency
952
- - Fixed: Check if order has been paid
953
- - Improved: Payment status showing as watermark
954
-
955
- = 2.3.1 - August 8, 2015 =
956
-
957
- - Fixed: Blank page after view invoice
958
-
959
- = 2.3.0 - August 7, 2015 =
960
-
961
- - Added: Payment status paid or unpaid on invoice
962
- - Added: Ability to add custom templates
963
- - Fixed: Deleted line item total displaying line item total including refunds
964
- - Fixed: Header total displaying total excluding refunds
965
- - Improved: Code by refactoring classes and architecture
966
-
967
- = 2.2.10 - July 3, 2015 =
968
-
969
- - Added: Filter for mpdf options
970
- - Fixed: Email it in not receiving email
971
-
972
- = 2.2.9 - June 22, 2015 =
973
-
974
- - Added: Client billing phone number
975
- - Added: Option to display including tax
976
- - Added: Discount not showing while 0.00
977
- - Added: Formatted invoice number to download button
978
- - Fixed: Tax showing correct label
979
-
980
- = 2.2.8 - May 15, 2015 =
981
-
982
- - Fixed: BEWPI_TEMPLATES_DIR not defined
983
-
984
- = 2.2.7 - May 15, 2015 =
985
-
986
- - Added: Filter to change path to textdomain
987
- - Added: Fees on invoice
988
- - Added: Option to add month to invoice number format
989
- - Fixed: Image not always showing on invoice
990
-
991
- = 2.2.6 - May 14, 2015 =
992
-
993
- - Fixed: Sequential invoice numbering
994
-
995
- = 2.2.5 - May 13, 2015 =
996
-
997
- - Fixed: Invoice not generated with order
998
-
999
- = 2.2.4 - May 11, 2015 =
1000
-
1001
- - Fixed: Admin notice
1002
- - Fixed: VAT translation
1003
- - Improved: Invoice header repeating on every page
1004
- - Improved: Template into separate files
1005
-
1006
- = 2.2.3 - April 28, 2015 =
1007
-
1008
- - Added: Customer notes added via order details page
1009
- - Fixed: Invoice not translated
1010
- - Fixed: Date not translated
1011
- - Updated: Language files
1012
-
1013
- = 2.2.2 - April 25, 2015 =
1014
-
1015
- - Added: Admin notices
1016
- - Improved: Translations
1017
-
1018
- = 2.2.1 - April 25, 2015 =
1019
-
1020
- - Added: Support for multiple languages like Chinese, Greek, Latin etc.
1021
- - Fixed: Invoice translation
1022
- - Fixed: Language files translatable
1023
- - Fixed: wc_tax_enabled function support due to WooCommerce 2.2 and lower
1024
- - Improved: French language files
1025
-
1026
- = 2.2.0 - April 24, 2015 =
1027
-
1028
- - Added: Download invoice button on My account page
1029
- - Added: Norwegian language files
1030
- - Added: Settings sections into settings pages
1031
- - Added: Checkbox to reset invoice number counter
1032
- - Added: Refunds on invoice template
1033
- - Added: Item tax and different total taxes on invoice template
1034
- - Fixed: Updating plugin removed all invoices -- Invoices into uploads dir
1035
- - Fixed: Order number not formatted
1036
- - Fixed: Invoice not viewable and removable in IE on Order details page
1037
- - Improved: Completely refactored code
1038
- - Improved: Dutch language file
1039
-
1040
- = 2.1.0 - April 8, 2015 =
1041
-
1042
- - Added: Variable products attributes on template
1043
- - Added: Shipping address on template
1044
- - Added: Order number and order date on template
1045
- - Added: Option to add the year to the invoice number
1046
- - Added: Option to change order date format
1047
- - Fixed: Header CSS on template
1048
- - Improved: Dutch language file
1049
-
1050
- = 2.0.6 - April 3, 2015 =
1051
-
1052
- - Fixed: Displays wrong unit price for variation products
1053
- - Fixed: Some currencies not getting displayed
1054
-
1055
- = 2.0.5 - March 30, 2015 =
1056
-
1057
- - Fixed: Invoice number type doens't get saved
1058
- - Improved: WPI_Invoice class code
1059
-
1060
- = 2.0.4 - March 30, 2015 =
1061
-
1062
- - Added: Option to use WC order number as invoice number
1063
- - Added: Slovenian language file
1064
- - Added: French language file
1065
- - Fixed: Translation invoice
1066
-
1067
- = 2.0.3 - March 27, 2015 =
1068
-
1069
- - Fixed: Suffix and company logo disappearing
1070
-
1071
- = 2.0.2 - March 26, 2015 =
1072
-
1073
- - Fixed: PHP 5.3+ compatibility
1074
-
1075
- = 2.0.1 - March 26, 2015 =
1076
-
1077
- - Fixed: Validation errors
1078
- - Fixed: Parse error '['
1079
-
1080
- = 2.0.0 - March 23, 2015 =
1081
-
1082
- - Added: Send invoice to your personal cloud storage with emailitin.com
1083
- - Added: Option to change the date format
1084
- - Added: Option to change the invoice number format
1085
- - Added: Prefix and suffix option for the invoice number
1086
- - Added: Option to determine the number of zero digits for the invoice number
1087
- - Added: Option to reset invoice number on first of january
1088
- - Added: Option to change the color of the template
1089
- - Improved: Template
1090
- - Improved: Sequential invoice numbers
1091
- - Improved: Input fields allows HTML tags for text markup
1092
- - Improved: Server-side validation on the options
1093
- - Fixed: Invoices saved into public upload folder
1094
-
1095
- = 1.1.2 - March 10, 2015 =
1096
-
1097
- - Fixed: Fatal error WC_ORDER::get_shipping()
1098
-
1099
- = 1.1.1 - February 6, 2014 =
1100
-
1101
- - Added: Choose starting point for invoice numbers
1102
- - Fixed: Invoice number stays at 0000
1103
- - Fixed: Translation
1104
-
1105
- = 1.1.0 - February 3, 2014 =
1106
-
1107
- - Added: Choose to display product SKU.
1108
- - Added: Choose to display notes.
1109
- - Added: Choose your desired invoice number format.
1110
- - Added: Attach invoice to admin "New Order" email type.
1111
- - Added: Input your desired VAT rates to display.
1112
- - Added: Sequential invoice numbers.
1113
- - Improved: Display and calculation of VAT rates.
1114
- - Fixed: Product SKU
1115
-
1116
- = 1.0.2 - December 13, 2013 =
1117
-
1118
- - Added: Attach pdf invoice to email type of your choice.
1119
- - Added: Translation ready.
1120
- - Added: Update and error notes to the settings page.
1121
- - Improved: Notes to the settings page.
1122
-
1123
- = 1.0.1 - December 7, 2013 =
1124
-
1125
- - Added: Notes to the settings page.
1126
- - Improved: Changed individual address fields to one textarea field.
1127
- - Improved: Automatic linebreaks in textarea fields.
1128
-
1129
- = 1.0.0 - December 6, 2013 =
1130
-
1131
- - Initial release.
4
  Tags: Invoices for WooCommerce, invoice, packing slips, delivery note, packing list, shipping list, generate, pdf, woocommerce, attachment, email, customer invoice, processing, vat, tax, sequential, number, dropbox, google drive, onedrive, egnyte, cloud, storage
5
  Requires at least: 4.0
6
  Tested up to: 5.8
7
+ Stable tag: 3.1.9
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
344
 
345
  == Changelog ==
346
 
347
+ = 3.1.9 - October 12, 2021 =
348
+
349
+ - Fixed: Fixed action name.
350
+
351
  = 3.1.8 - September 17, 2021 =
352
 
353
  - Fixed: Fatal error.
583
  - Fixed: Facebook share button.
584
  - Fixed: Download from my account page not working.
585
  - Fixed: Item meta and download item meta not displayed inline within table cells by stripping `<p>` and `<br>` tags. Update custom template needed!
586
+ - Removed: Unused CSS and JS.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit45cf95829fd07145c60ebe1d126688a8::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit22ec0d2adb8b2b90f6bed4f292a5f4b5::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit45cf95829fd07145c60ebe1d126688a8
6
  {
7
  private static $loader;
8
 
@@ -24,15 +24,15 @@ class ComposerAutoloaderInit45cf95829fd07145c60ebe1d126688a8
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
- spl_autoload_register(array('ComposerAutoloaderInit45cf95829fd07145c60ebe1d126688a8', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
29
- spl_autoload_unregister(array('ComposerAutoloaderInit45cf95829fd07145c60ebe1d126688a8', 'loadClassLoader'));
30
 
31
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
32
  if ($useStaticLoader) {
33
  require __DIR__ . '/autoload_static.php';
34
 
35
- call_user_func(\Composer\Autoload\ComposerStaticInit45cf95829fd07145c60ebe1d126688a8::getInitializer($loader));
36
  } else {
37
  $map = require __DIR__ . '/autoload_namespaces.php';
38
  foreach ($map as $namespace => $path) {
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit22ec0d2adb8b2b90f6bed4f292a5f4b5
6
  {
7
  private static $loader;
8
 
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
+ spl_autoload_register(array('ComposerAutoloaderInit22ec0d2adb8b2b90f6bed4f292a5f4b5', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
29
+ spl_autoload_unregister(array('ComposerAutoloaderInit22ec0d2adb8b2b90f6bed4f292a5f4b5', 'loadClassLoader'));
30
 
31
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
32
  if ($useStaticLoader) {
33
  require __DIR__ . '/autoload_static.php';
34
 
35
+ call_user_func(\Composer\Autoload\ComposerStaticInit22ec0d2adb8b2b90f6bed4f292a5f4b5::getInitializer($loader));
36
  } else {
37
  $map = require __DIR__ . '/autoload_namespaces.php';
38
  foreach ($map as $namespace => $path) {
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit45cf95829fd07145c60ebe1d126688a8
8
  {
9
  public static $classMap = array (
10
  'BEWPI_Abstract_Document' => __DIR__ . '/../..' . '/includes/abstracts/abstract-document.php',
@@ -64,7 +64,7 @@ class ComposerStaticInit45cf95829fd07145c60ebe1d126688a8
64
  public static function getInitializer(ClassLoader $loader)
65
  {
66
  return \Closure::bind(function () use ($loader) {
67
- $loader->classMap = ComposerStaticInit45cf95829fd07145c60ebe1d126688a8::$classMap;
68
 
69
  }, null, ClassLoader::class);
70
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit22ec0d2adb8b2b90f6bed4f292a5f4b5
8
  {
9
  public static $classMap = array (
10
  'BEWPI_Abstract_Document' => __DIR__ . '/../..' . '/includes/abstracts/abstract-document.php',
64
  public static function getInitializer(ClassLoader $loader)
65
  {
66
  return \Closure::bind(function () use ($loader) {
67
+ $loader->classMap = ComposerStaticInit22ec0d2adb8b2b90f6bed4f292a5f4b5::$classMap;
68
 
69
  }, null, ClassLoader::class);
70
  }
vendor/composer/installed.json CHANGED
@@ -7,12 +7,12 @@
7
  "source": {
8
  "type": "git",
9
  "url": "https://github.com/baselbers/mpdf.git",
10
- "reference": "94d2f12d59962d967dc259a2521415cc889ae1fc"
11
  },
12
  "dist": {
13
  "type": "zip",
14
- "url": "https://api.github.com/repos/baselbers/mpdf/zipball/94d2f12d59962d967dc259a2521415cc889ae1fc",
15
- "reference": "94d2f12d59962d967dc259a2521415cc889ae1fc",
16
  "shasum": ""
17
  },
18
  "require": {
@@ -26,9 +26,9 @@
26
  "suggest": {
27
  "ext-zlib": "Needed for compression of embedded resources, such as fonts"
28
  },
29
- "time": "2021-07-13T19:55:45+00:00",
30
  "type": "library",
31
- "installation-source": "source",
32
  "autoload": {
33
  "classmap": [
34
  "mpdf.php",
@@ -115,6 +115,10 @@
115
  "fpdi",
116
  "pdf"
117
  ],
 
 
 
 
118
  "install-path": "../setasign/fpdi"
119
  }
120
  ],
7
  "source": {
8
  "type": "git",
9
  "url": "https://github.com/baselbers/mpdf.git",
10
+ "reference": "57b6be30bd400fbea25ead553f6e12eaf51773fc"
11
  },
12
  "dist": {
13
  "type": "zip",
14
+ "url": "https://api.github.com/repos/baselbers/mpdf/zipball/57b6be30bd400fbea25ead553f6e12eaf51773fc",
15
+ "reference": "57b6be30bd400fbea25ead553f6e12eaf51773fc",
16
  "shasum": ""
17
  },
18
  "require": {
26
  "suggest": {
27
  "ext-zlib": "Needed for compression of embedded resources, such as fonts"
28
  },
29
+ "time": "2021-09-17T10:46:04+00:00",
30
  "type": "library",
31
+ "installation-source": "dist",
32
  "autoload": {
33
  "classmap": [
34
  "mpdf.php",
115
  "fpdi",
116
  "pdf"
117
  ],
118
+ "support": {
119
+ "issues": "https://github.com/Setasign/FPDI/issues",
120
+ "source": "https://github.com/Setasign/FPDI/tree/master"
121
+ },
122
  "install-path": "../setasign/fpdi"
123
  }
124
  ],
vendor/composer/installed.php CHANGED
@@ -5,7 +5,7 @@
5
  'type' => 'wordpress-plugin',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
- 'reference' => '8e16e82111cceee3ec6f41a4c424c23ea1613389',
9
  'name' => 'be/woocommerce-pdf-invoices',
10
  'dev' => false,
11
  ),
@@ -16,7 +16,7 @@
16
  'type' => 'wordpress-plugin',
17
  'install_path' => __DIR__ . '/../../',
18
  'aliases' => array(),
19
- 'reference' => '8e16e82111cceee3ec6f41a4c424c23ea1613389',
20
  'dev_requirement' => false,
21
  ),
22
  'mpdf/mpdf' => array(
@@ -25,7 +25,7 @@
25
  'type' => 'library',
26
  'install_path' => __DIR__ . '/../mpdf/mpdf',
27
  'aliases' => array(),
28
- 'reference' => '94d2f12d59962d967dc259a2521415cc889ae1fc',
29
  'dev_requirement' => false,
30
  ),
31
  'setasign/fpdi' => array(
5
  'type' => 'wordpress-plugin',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
+ 'reference' => 'c9b4b1903a9aa828167b78eaf996b43109ce3387',
9
  'name' => 'be/woocommerce-pdf-invoices',
10
  'dev' => false,
11
  ),
16
  'type' => 'wordpress-plugin',
17
  'install_path' => __DIR__ . '/../../',
18
  'aliases' => array(),
19
+ 'reference' => 'c9b4b1903a9aa828167b78eaf996b43109ce3387',
20
  'dev_requirement' => false,
21
  ),
22
  'mpdf/mpdf' => array(
25
  'type' => 'library',
26
  'install_path' => __DIR__ . '/../mpdf/mpdf',
27
  'aliases' => array(),
28
+ 'reference' => '57b6be30bd400fbea25ead553f6e12eaf51773fc',
29
  'dev_requirement' => false,
30
  ),
31
  'setasign/fpdi' => array(
vendor/mpdf/mpdf/classes/ttfontsuni.php CHANGED
@@ -610,13 +610,15 @@ class TTFontFile
610
  throw new MpdfException("Could not find PostScript font name: " . $this->filename);
611
  // CHECK IF psName valid (PadaukBook contains illegal characters in Name ID 6 i.e. Postscript Name)
612
  $psNameInvalid = false;
613
- for ($i = 0; $i < count($psName); $i++) {
614
- $c = $psName[$i];
615
- $oc = ord($c);
616
- if ($oc > 126 || strpos(' [](){}<>/%', $c) !== false) {
617
- //throw new MpdfException("psName=".$psName." contains invalid character ".$c." ie U+".ord(c));
618
- $psNameInvalid = true;
619
- break;
 
 
620
  }
621
  }
622
 
610
  throw new MpdfException("Could not find PostScript font name: " . $this->filename);
611
  // CHECK IF psName valid (PadaukBook contains illegal characters in Name ID 6 i.e. Postscript Name)
612
  $psNameInvalid = false;
613
+ if(!empty($psName) && is_array($psName)) {
614
+ for ( $i = 0; $i < count( $psName ); $i ++ ) {
615
+ $c = $psName[ $i ];
616
+ $oc = ord( $c );
617
+ if ( $oc > 126 || strpos( ' [](){}<>/%', $c ) !== false ) {
618
+ //throw new MpdfException("psName=".$psName." contains invalid character ".$c." ie U+".ord(c));
619
+ $psNameInvalid = true;
620
+ break;
621
+ }
622
  }
623
  }
624