updated plugin Easy Digital Downloads version 3.1.2

This commit is contained in:
2023-06-28 12:45:44 +00:00
committed by Gitium
parent 44df590080
commit f710fa7de2
120 changed files with 5556 additions and 3347 deletions

View File

@ -1143,106 +1143,30 @@ function edd_get_payment_number( $order = 0 ) {
/**
* Formats the order number with the prefix and postfix.
*
* @todo As of 3.1.2, no longer used, but not officially deprecated. Deprecate.
* @since 2.4
*
* @param int $number The order number to format.
* @return string The formatted order number
*/
function edd_format_payment_number( $number ) {
if ( ! edd_get_option( 'enable_sequential' ) ) {
return $number;
}
$order_number = new EDD\Orders\Number();
if ( ! is_numeric( $number ) ) {
return $number;
}
$prefix = edd_get_option( 'sequential_prefix' );
$number = absint( $number );
$postfix = edd_get_option( 'sequential_postfix' );
$formatted_number = $prefix . $number . $postfix;
return apply_filters( 'edd_format_payment_number', $formatted_number, $prefix, $number, $postfix );
}
/**
* Gets the next available order number.
*
* This is used when inserting a new order.
*
* @since 2.0
*
* @return string $number The next available order number.
*/
function edd_get_next_payment_number() {
if ( ! edd_get_option( 'enable_sequential' ) ) {
return false;
}
$number = get_option( 'edd_last_payment_number' );
$start = edd_get_option( 'sequential_start', 1 );
$increment_number = true;
if ( false !== $number ) {
if ( empty( $number ) ) {
$number = $start;
$increment_number = false;
}
} else {
$last_order = edd_get_orders( array(
'number' => 1,
'orderby' => 'id',
'order' => 'desc',
) );
if ( ! empty( $last_order ) && $last_order[0] instanceof EDD\Orders\Order ) {
$number = (int) $last_order[0]->get_number();
}
if ( ! empty( $number ) && $number !== (int) $last_order[0]->id ) {
$number = edd_remove_payment_prefix_postfix( $number );
} else {
$number = $start;
$increment_number = false;
}
}
$increment_number = apply_filters( 'edd_increment_payment_number', $increment_number, $number );
if ( $increment_number ) {
$number++;
}
return apply_filters( 'edd_get_next_payment_number', $number );
return $order_number->format( $number );
}
/**
* Given a given a number, remove the pre/postfix.
*
* @since 2.4
*
* @todo As of 3.1.2, no longer used, but not officially deprecated. Deprecate.
* @param string $number The formatted number to increment.
* @return string The new order number without prefix and postfix.
*/
function edd_remove_payment_prefix_postfix( $number ) {
$prefix = (string) edd_get_option( 'sequential_prefix' );
$postfix = (string) edd_get_option( 'sequential_postfix' );
$order_number = new EDD\Orders\Number();
// Remove prefix
$number = preg_replace( '/' . $prefix . '/', '', $number, 1 );
// Remove the postfix
$length = strlen( $number );
$postfix_pos = strrpos( $number, strval( $postfix ) );
if ( false !== $postfix_pos ) {
$number = substr_replace( $number, '', $postfix_pos, $length );
}
// Ensure it's a whole number
$number = intval( $number );
return apply_filters( 'edd_remove_payment_prefix_postfix', $number, $prefix, $postfix );
return $order_number->unformat( $number );
}
/**