}
// 3.0.0-dev-1: remove saved option 'use_html5_parser'
if ( version_compare( $installed_version, '3.0.0-dev-1', '<' ) ) {
// removes 'HTML5 parser' setting value
$debug_settings = get_option( 'wpo_wcpdf_settings_debug', array() );
if ( ! empty( $debug_settings['use_html5_parser'] ) ) {
unset( $debug_settings['use_html5_parser'] );
update_option( 'wpo_wcpdf_settings_debug', $debug_settings );
}
}
// 3.3.0-dev-1: schedule the yearly reset number action
if ( version_compare( $installed_version, '3.3.0-dev-1', '<' ) ) {
if ( ! empty( WPO_WCPDF()->settings ) && is_callable( array( WPO_WCPDF()->settings, 'schedule_yearly_reset_numbers' ) ) ) {
WPO_WCPDF()->settings->schedule_yearly_reset_numbers();
}
}
// 3.5.7-dev-1: migrate 'guest_access' setting to 'document_link_access_type'
if ( version_compare( $installed_version, '3.5.7-dev-1', '<' ) ) {
$debug_settings = get_option( 'wpo_wcpdf_settings_debug', array() );
if ( ! empty( $debug_settings['guest_access'] ) ) {
unset( $debug_settings['guest_access'] );
$debug_settings['document_link_access_type'] = 'guest';
update_option( 'wpo_wcpdf_settings_debug', $debug_settings );
}
}
// 3.6.3-dev-1: check if 'legacy_mode' is enabled, and disable it
if ( version_compare( $installed_version, '3.6.3-dev-1', '<' ) ) {
$debug_settings = get_option( 'wpo_wcpdf_settings_debug', array() );
$update = false;
if ( ! empty( $debug_settings['legacy_mode'] ) ) {
unset( $debug_settings['legacy_mode'] );
$update = true;
}
if ( ! empty( $debug_settings['legacy_textdomain'] ) ) {
unset( $debug_settings['legacy_textdomain'] );
$update = true;
}
if ( $update ) {
update_option( 'wpo_wcpdf_settings_debug', $debug_settings );
}
}
// 3.7.0-beta-4: migrate UBL legacy settings
if ( version_compare( $installed_version, '3.7.0-beta-4', '<' ) ) {
// legacy ubl general/invoice settings
$legacy_ubl_general_settings = get_option( 'ubl_wc_general', [] );
$general_settings = get_option( 'wpo_wcpdf_settings_general', [] );
$invoice_ubl_settings = get_option( 'wpo_wcpdf_documents_settings_invoice_ubl', [] );
$settings_to_migrate = [
'vat_number' => 'general',
'coc_number' => 'general',
'company_name' => 'general', // corresponds to 'shop_name' in the General Settings
'attach_to_email_ids' => 'invoice_ubl',
'include_encrypted_pdf' => 'invoice_ubl',
];
foreach ( $settings_to_migrate as $setting => $type ) {
$update = [];
switch ( $type ) {
case 'general':
if ( isset( $legacy_ubl_general_settings[$setting] ) ) {
$legacy_ubl_setting_value = $legacy_ubl_general_settings[$setting];
$setting = ( 'company_name' === $setting && ! isset( $general_settings['shop_name'] ) ) ? 'shop_name' : $setting;
if ( 'company_name' !== $setting ) {
$general_settings[$setting] = $legacy_ubl_setting_value;
$update[] = $type;
}
}
break;
case 'invoice_ubl':
if ( isset( $legacy_ubl_general_settings[$setting] ) ) {
$invoice_ubl_settings[$setting] = $legacy_ubl_general_settings[$setting];
$update[] = $type;
}
break;
}
if ( ! empty( $update ) ) {
$update = array_unique( $update );
foreach ( $update as $type ) {
switch ( $type ) {
case 'general':
update_option( 'wpo_wcpdf_settings_general', $general_settings );
break;
case 'invoice_ubl':
$invoice_ubl_settings['enabled'] = '1';
update_option( 'wpo_wcpdf_documents_settings_invoice_ubl', $invoice_ubl_settings );
break;
}
}
}
}
// legacy ubl tax settings
$legacy_ubl_tax_setings = get_option( 'ubl_wc_taxes', [] );
if ( ! empty( $legacy_ubl_tax_setings ) ) {
update_option( 'wpo_wcpdf_settings_ubl_taxes', $legacy_ubl_tax_setings );
}
// set transient to flush rewrite rules if pretty links are enabled
if ( WPO_WCPDF()->endpoint->pretty_links_enabled() ) {
set_transient( 'wpo_wcpdf_flush_rewrite_rules', 'yes', HOUR_IN_SECONDS );
}
}
}
/**
* Plugin downgrade method. Perform any required downgrades here
*
*
* @param string $installed_version the currently installed ('old') version (actually higher since this is a downgrade)
*/
protected function downgrade( $installed_version ) {
// make sure fonts match with version: copy from plugin folder
$tmp_base = WPO_WCPDF()->main->get_tmp_base();
// make sure we have the fonts directory
$font_path = WPO_WCPDF()->main->get_tmp_path( 'fonts' );
// don't continue if we don't have an upload dir
if ($tmp_base === false) {
return false;
}
// check if tmp folder exists => if not, initialize
if ( ! @is_dir( $tmp_base ) || ! wp_is_writable( $tmp_base ) || ! @is_dir( $font_path ) || ! wp_is_writable( $font_path ) ) {
WPO_WCPDF()->main->init_tmp();
} else {
WPO_WCPDF()->main->copy_fonts( $font_path );
}
}
}
endif; // class_exists
Fatal error: Uncaught Error: Class "WPO\WC\PDF_Invoices\Install" not found in /var/www/vhosts/casainfotech.co.nz/httpdocs/wp-content/plugins/woocommerce-pdf-invoices-packing-slips/woocommerce-pdf-invoices-packingslips.php:161
Stack trace:
#0 /var/www/vhosts/casainfotech.co.nz/httpdocs/wp-content/plugins/woocommerce-pdf-invoices-packing-slips/woocommerce-pdf-invoices-packingslips.php(182): WPO_WCPDF->includes()
#1 /var/www/vhosts/casainfotech.co.nz/httpdocs/wp-includes/class-wp-hook.php(324): WPO_WCPDF->load_classes()
#2 /var/www/vhosts/casainfotech.co.nz/httpdocs/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()
#3 /var/www/vhosts/casainfotech.co.nz/httpdocs/wp-includes/plugin.php(517): WP_Hook->do_action()
#4 /var/www/vhosts/casainfotech.co.nz/httpdocs/wp-settings.php(506): do_action()
#5 /var/www/vhosts/casainfotech.co.nz/httpdocs/wp-config.php(87): require_once('...')
#6 /var/www/vhosts/casainfotech.co.nz/httpdocs/wp-load.php(50): require_once('...')
#7 /var/www/vhosts/casainfotech.co.nz/httpdocs/wp-blog-header.php(13): require_once('...')
#8 /var/www/vhosts/casainfotech.co.nz/httpdocs/index.php(17): require('...')
#9 {main}
thrown in /var/www/vhosts/casainfotech.co.nz/httpdocs/wp-content/plugins/woocommerce-pdf-invoices-packing-slips/woocommerce-pdf-invoices-packingslips.php on line 161