| Server IP : 47.82.179.145 / Your IP : 216.73.217.129 Web Server : nginx/1.26.3 System : Linux iZt4n9czhka2zvqfajdlr2Z 6.8.0-63-generic #66-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 13 20:25:30 UTC 2025 x86_64 User : www ( 1001) PHP Version : 8.3.30 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/scuipturepactory.com/wp-content/plugins.off/easy-digital-downloads/src/Compat/ |
Upload File : |
<?php
/**
* Backwards Compatibility Handler for Taxes.
*
* @package EDD\Compat\Tax
* @copyright Copyright (c) 2018, Easy Digital Downloads, LLC
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
* @since 3.0
*/
namespace EDD\Compat;
// Exit if accessed directly.
defined( 'ABSPATH' ) || exit; // @codeCoverageIgnore
/**
* Tax Class.
*
* EDD 3.0 moves away from storing tax rates in wp_options. This class handles all the backwards compatibility for the
* transition to custom tables.
*
* @since 3.0
*/
class Tax extends Base {
/**
* Holds the component for which we are handling back-compat. There is a chance that two methods have the same name
* and need to be dispatched to completely other methods. When a new instance of Back_Compat is created, a component
* can be passed to the constructor which will allow __call() to dispatch to the correct methods.
*
* @since 3.0
* @access protected
* @var string
*/
protected $component = 'tax';
/**
* Backwards compatibility hooks for payments.
*
* @since 3.0
* @access protected
*/
protected function hooks() {
/* Filters ************************************************************/
add_filter( 'pre_update_option', array( $this, 'update_option' ), 10, 3 );
}
/**
* Backwards compatibility layer for update_option().
*
* This is here for backwards compatibility purposes with the migration to custom tables in EDD 3.0.
*
* @since 3.0
*
* @param mixed $value The new, unserialized option value.
* @param string $option Name of the option.
* @param mixed $old_value The old option value.
*
* @return string $value Option value.
*/
public function update_option( $value, $option, $old_value ) {
// Bail if tax rates are not being updated.
if ( 'edd_tax_rates' !== $option ) {
return $value;
}
$value = (array) $value;
foreach ( $value as $tax_rate ) {
if ( empty( $tax_rate['country'] ) || empty( $tax_rate['rate'] ) ) {
continue;
}
$scope = ! empty( $tax_rate['global'] )
? 'country'
: 'region';
$region = ! empty( $tax_rate['state'] )
? sanitize_text_field( $tax_rate['state'] )
: '';
$adjustment_data = array(
'country' => $tax_rate['country'],
'amount' => floatval( $tax_rate['rate'] ),
'state' => $region,
'scope' => $scope,
);
edd_add_tax_rate( $adjustment_data );
}
// Return the value so it is stored for backwards compatibility purposes.
return $value;
}
}