installed plugin Easy Digital Downloads
version 3.1.0.3
This commit is contained in:
@ -0,0 +1,92 @@
|
||||
<?php
|
||||
/**
|
||||
* Functions to handle the checkout related pages.
|
||||
*
|
||||
* @package EDD
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* Retrieves the Success page URI.
|
||||
*
|
||||
* @since 1.6
|
||||
* @since 3.1 Updated to check for the new confirmation page if no query string is provided.
|
||||
* @return string
|
||||
*/
|
||||
function edd_get_success_page_uri( $query_string = null ) {
|
||||
$page_id = edd_get_option( 'success_page', 0 );
|
||||
if ( empty( $query_string ) ) {
|
||||
$page_id = edd_get_option( 'confirmation_page', $page_id );
|
||||
}
|
||||
$page_id = absint( $page_id );
|
||||
$success_page = get_permalink( $page_id );
|
||||
|
||||
if ( $query_string ) {
|
||||
$success_page .= $query_string;
|
||||
}
|
||||
|
||||
return apply_filters( 'edd_get_success_page_uri', $success_page );
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if we're currently on the Success page.
|
||||
*
|
||||
* @since 1.9.9
|
||||
* @return bool True if on the Success page, false otherwise.
|
||||
*/
|
||||
function edd_is_success_page() {
|
||||
$is_success_page = edd_get_option( 'success_page', false );
|
||||
$is_success_page = isset( $is_success_page ) ? is_page( $is_success_page ) : false;
|
||||
|
||||
return (bool) apply_filters( 'edd_is_success_page', $is_success_page );
|
||||
}
|
||||
|
||||
/**
|
||||
* Send To Success Page
|
||||
*
|
||||
* Sends the user to the succes page.
|
||||
*
|
||||
* @param string $query_string
|
||||
* @since 1.0
|
||||
* @return void
|
||||
*/
|
||||
function edd_send_to_success_page( $query_string = null ) {
|
||||
$redirect = edd_get_success_page_uri( $query_string );
|
||||
$gateway = isset( $_REQUEST['edd-gateway'] ) ? $_REQUEST['edd-gateway'] : '';
|
||||
|
||||
edd_redirect( apply_filters( 'edd_success_page_redirect', $redirect, $gateway, $query_string ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the confirmation page URI.
|
||||
* If a confirmation page is not set, returns the success page URI with no parameters.
|
||||
*
|
||||
* @since 3.1
|
||||
* @return string
|
||||
*/
|
||||
function edd_get_confirmation_page_uri() {
|
||||
$confirmation_page_id = edd_get_option( 'confirmation_page', false );
|
||||
if ( empty( $confirmation_page_id ) ) {
|
||||
return edd_get_success_page_uri();
|
||||
}
|
||||
|
||||
return get_permalink( $confirmation_page_id );
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the receipt page URI.
|
||||
*
|
||||
* @since 3.1
|
||||
* @param int $order_id
|
||||
* @return string
|
||||
*/
|
||||
function edd_get_receipt_page_uri( $order_id ) {
|
||||
$page_id = absint( edd_get_option( 'success_page', 0 ) );
|
||||
$order = edd_get_order( $order_id );
|
||||
$query_args = array(
|
||||
'id' => $order_id,
|
||||
'order' => urlencode( md5( $order_id . $order->payment_key . $order->email ) ),
|
||||
);
|
||||
|
||||
return add_query_arg( $query_args, get_permalink( $page_id ) );
|
||||
}
|
Reference in New Issue
Block a user