317 lines
8.8 KiB
PHP
317 lines
8.8 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Admin Deprecated Functions
|
|
*
|
|
* All admin functions that have been deprecated.
|
|
*
|
|
* @package EDD
|
|
* @subpackage Deprecated
|
|
* @copyright Copyright (c) 2020, Sandhills Development, LLC
|
|
* @license https://opensource.org/licenses/gpl-2.0.php GNU Public License
|
|
* @since 3.0
|
|
*/
|
|
|
|
/**
|
|
* Display the ban emails tab
|
|
*
|
|
* @since 2.0
|
|
* @deprecated 3.0 replaced by Order Blocking in settings.
|
|
*/
|
|
function edd_tools_banned_emails_display() {
|
|
_edd_deprecated_function( __FUNCTION__, '3.0' );
|
|
if ( ! current_user_can( 'manage_shop_settings' ) ) {
|
|
return;
|
|
}
|
|
|
|
do_action( 'edd_tools_banned_emails_before' );
|
|
?>
|
|
<div class="postbox">
|
|
<h3><span><?php esc_html_e( 'Banned Emails', 'easy-digital-downloads' ); ?></span></h3>
|
|
<div class="inside">
|
|
<p><?php esc_html_e( 'Emails placed in the box below will not be allowed to make purchases.', 'easy-digital-downloads' ); ?></p>
|
|
<form method="post"
|
|
action="<?php echo esc_url( edd_get_admin_url( array( 'page' => 'edd-tools', 'tab' => 'general' ) ) ); ?>">
|
|
<p>
|
|
<textarea name="banned_emails" rows="10"
|
|
class="large-text"><?php echo esc_textarea( implode( "\n", edd_get_banned_emails() ) ); ?></textarea>
|
|
<span class="description"><?php esc_html_e( 'Enter emails and/or domains (starting with "@") and/or TLDs (starting with ".") to disallow, one per line.', 'easy-digital-downloads' ); ?></span>
|
|
</p>
|
|
<p>
|
|
<input type="hidden" name="edd_action" value="save_banned_emails"/>
|
|
<?php wp_nonce_field( 'edd_banned_emails_nonce', 'edd_banned_emails_nonce' ); ?>
|
|
<?php submit_button( __( 'Save', 'easy-digital-downloads' ), 'secondary', 'submit', false ); ?>
|
|
</p>
|
|
</form>
|
|
</div><!-- .inside -->
|
|
</div><!-- .postbox -->
|
|
<?php
|
|
do_action( 'edd_tools_banned_emails_after' );
|
|
do_action( 'edd_tools_after' );
|
|
}
|
|
|
|
/**
|
|
* Trigger a Purchase Deletion
|
|
*
|
|
* @since 1.3.4
|
|
* @deprecated 3.0 replaced by edd_trigger_destroy_order.
|
|
* @param array $data Arguments passed.
|
|
* @return void
|
|
*/
|
|
function edd_trigger_purchase_delete( $data ) {
|
|
if ( wp_verify_nonce( $data['_wpnonce'], 'edd_payment_nonce' ) ) {
|
|
|
|
$payment_id = absint( $data['purchase_id'] );
|
|
|
|
if ( ! current_user_can( 'delete_shop_payments', $payment_id ) ) {
|
|
wp_die( __( 'You do not have permission to edit this payment record', 'easy-digital-downloads' ), __( 'Error', 'easy-digital-downloads' ), array( 'response' => 403 ) );
|
|
}
|
|
|
|
edd_delete_purchase( $payment_id );
|
|
|
|
edd_redirect( admin_url( 'edit.php?post_type=download&page=edd-payment-history&edd-message=payment_deleted' ) );
|
|
}
|
|
}
|
|
add_action( 'edd_delete_payment', 'edd_trigger_purchase_delete' );
|
|
|
|
/**
|
|
* Add-ons Page
|
|
*
|
|
* Renders the add-ons page content.
|
|
*
|
|
* @since 1.0
|
|
* @deprecated 3.1.1
|
|
* @return void
|
|
*/
|
|
function edd_add_ons_page() {
|
|
|
|
_edd_deprecated_function( __FUNCTION__, '3.1.1' );
|
|
|
|
// Filter the add-ons tabs.
|
|
$add_ons_tabs = apply_filters( 'edd_add_ons_tabs', array(
|
|
'popular' => __( 'Popular', 'easy-digital-downloads' ),
|
|
'new' => __( 'New', 'easy-digital-downloads' ),
|
|
'all' => __( 'All', 'easy-digital-downloads' )
|
|
) );
|
|
|
|
// Active tab.
|
|
$active_tab = isset( $_GET['tab'] ) && array_key_exists( $_GET['tab'], $add_ons_tabs )
|
|
? sanitize_key( $_GET['tab'] )
|
|
: 'popular';
|
|
|
|
// Empty tabs array.
|
|
$tabs = array();
|
|
|
|
// Loop through add-ons and make array of tabs.
|
|
foreach ( $add_ons_tabs as $tab_id => $tab_name ) {
|
|
|
|
// "All"
|
|
if ( 'all' === $tab_id ) {
|
|
$tab_url = edd_link_helper(
|
|
'https://easydigitaldownloads.com/downloads/',
|
|
array(
|
|
'utm_medium' => 'addons-page',
|
|
'utm_content' => 'all-extensions',
|
|
)
|
|
);
|
|
|
|
// All other tabs besides "All".
|
|
} else {
|
|
$tab_url = add_query_arg( array(
|
|
'settings-updated' => false,
|
|
'tab' => sanitize_key( $tab_id ),
|
|
) );
|
|
}
|
|
|
|
// Active?
|
|
$active = ( $active_tab === $tab_id )
|
|
? 'current'
|
|
: '';
|
|
|
|
// Count.
|
|
$count = ( 'all' === $tab_id )
|
|
? '150+'
|
|
: '29';
|
|
|
|
// The link.
|
|
$tab = '<li class="' . esc_attr( $tab_id ) . '">';
|
|
$tab .= ( 'all' === $tab_id )
|
|
? '<a href="' . esc_url( $tab_url ) . '" class="' . esc_attr( $active ) . '" target="_blank">'
|
|
: '<a href="' . esc_url( $tab_url ) . '" class="' . esc_attr( $active ) . '">';
|
|
|
|
$tab .= esc_html( $tab_name );
|
|
$tab .= ' <span class="count">(' . esc_html( $count ) . ')</span>';
|
|
|
|
// "All" is an external link, so denote it as such.
|
|
if ( 'all' === $tab_id ) {
|
|
$tab .= '<span class="dashicons dashicons-external"></span>';
|
|
}
|
|
|
|
$tab .= '</a>';
|
|
$tab .= '</li>';
|
|
|
|
// Set the tab.
|
|
$tabs[] = $tab;
|
|
}
|
|
|
|
// Start a buffer.
|
|
ob_start(); ?>
|
|
|
|
<div class="wrap" id="edd-add-ons">
|
|
<h1>
|
|
<?php _e( 'Apps and Integrations for Easy Digital Downloads', 'easy-digital-downloads' ); ?>
|
|
<span>
|
|
<?php
|
|
$url = edd_link_helper(
|
|
'https://easydigitaldownloads.com/downloads/',
|
|
array(
|
|
'utm_medium' => 'addons-page',
|
|
'utm_content' => 'browse-all',
|
|
)
|
|
);
|
|
?>
|
|
<a href="<?php echo $url; ?>" class="button button-primary" target="_blank"><?php esc_html_e( 'Browse All Integrations', 'easy-digital-downloads' ); ?></a>
|
|
</span>
|
|
</h1>
|
|
<p><?php _e( 'These <em><strong>add functionality</strong></em> to your Easy Digital Downloads powered store.', 'easy-digital-downloads' ); ?></p>
|
|
|
|
<ul class="subsubsub"><?php echo implode( ' | ', $tabs ); ?></ul>
|
|
|
|
<div class="edd-add-ons-container">
|
|
<?php
|
|
// Display all add ons.
|
|
echo wp_kses_post( edd_add_ons_get_feed( $active_tab ) );
|
|
?>
|
|
<div class="clear"></div>
|
|
</div>
|
|
|
|
<div class="edd-add-ons-footer">
|
|
<?php
|
|
$url = edd_link_helper(
|
|
'https://easydigitaldownloads.com/downloads/',
|
|
array(
|
|
'utm_medium' => 'addons-page',
|
|
'utm_content' => 'browse-all',
|
|
)
|
|
);
|
|
?>
|
|
<a href="<?php echo $url; ?>" class="button button-primary" target="_blank"><?php esc_html_e( 'Browse All Integrations', 'easy-digital-downloads' ); ?></a>
|
|
</div>
|
|
</div>
|
|
|
|
<?php
|
|
|
|
// Output the current buffer.
|
|
echo ob_get_clean();
|
|
}
|
|
|
|
/**
|
|
* Add-ons Get Feed
|
|
*
|
|
* Gets the add-ons page feed.
|
|
*
|
|
* @since 1.0
|
|
* @deprecated 3.1.1
|
|
* @return void
|
|
*/
|
|
function edd_add_ons_get_feed( $tab = 'popular' ) {
|
|
_edd_deprecated_function( __FUNCTION__, '3.1.1' );
|
|
|
|
// Transient.
|
|
$trans_key = 'easydigitaldownloads_add_ons_feed_' . $tab;
|
|
$cache = get_transient( $trans_key );
|
|
|
|
// No add ons, so reach out and get some.
|
|
if ( false === $cache ) {
|
|
$url = 'https://easydigitaldownloads.com/?feed=addons';
|
|
|
|
// Popular.
|
|
if ( 'popular' !== $tab ) {
|
|
$url = add_query_arg( array( 'display' => sanitize_key( $tab ) ), $url );
|
|
}
|
|
|
|
// Remote request.
|
|
$feed = wp_remote_get( esc_url_raw( $url ), array( 'sslverify' => false ) );
|
|
|
|
// Handle error.
|
|
if ( empty( $feed ) || is_wp_error( $feed ) ) {
|
|
$cache = '<div class="error"><p>' . __( 'These extensions could not be retrieved from the server. Please try again later.', 'easy-digital-downloads' ) . '</div>';
|
|
|
|
// Cache the results.
|
|
} elseif ( isset( $feed['body'] ) && strlen( $feed['body'] ) > 0 ) {
|
|
$cache = wp_remote_retrieve_body( $feed );
|
|
set_transient( $trans_key, $cache, HOUR_IN_SECONDS );
|
|
}
|
|
}
|
|
|
|
return $cache;
|
|
}
|
|
|
|
/**
|
|
* Create the Extensions submenu page under the "Downloads" menu
|
|
*
|
|
* @since 3.0
|
|
*
|
|
* @global $edd_add_ons_page
|
|
*/
|
|
function edd_add_extentions_link() {
|
|
if ( ! current_user_can( 'manage_shop_settings' ) ) {
|
|
return;
|
|
}
|
|
global $submenu, $edd_add_ons_page;
|
|
|
|
$edd_add_ons_page = add_submenu_page( 'edit.php?post_type=download', __( 'EDD Extensions', 'easy-digital-downloads' ), __( 'Extensions', 'easy-digital-downloads' ), 'manage_shop_settings', 'edd-addons', 'edd_add_ons_page' );
|
|
$pass_manager = new \EDD\Admin\Pass_Manager();
|
|
if ( ! $pass_manager->has_pass() ) {
|
|
$submenu[ 'edit.php?post_type=download' ][] = array(
|
|
'<span class="edd-menu-highlight">' . esc_html__( 'Upgrade to Pro', 'easy-digital-downloads' ) . '</span>',
|
|
'manage_shop_settings',
|
|
edd_link_helper(
|
|
'https://easydigitaldownloads.com/lite-upgrade',
|
|
array(
|
|
'utm_medium' => 'admin-menu',
|
|
'utm_content' => 'upgrade-to-pro',
|
|
)
|
|
)
|
|
);
|
|
|
|
add_action( 'admin_print_styles', function() {
|
|
?>
|
|
<style>#menu-posts-download li:last-child {background-color: #1da867;}#menu-posts-download li:last-child a,#menu-posts-download li:last-child a:hover{color: #FFFFFF !important;font-weight: 600;}</style>
|
|
<?php
|
|
} );
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Process bulk edit actions via AJAX
|
|
*
|
|
* @deprecated 3.1.1.4
|
|
* @since 1.4.4
|
|
* @return void
|
|
*/
|
|
function edd_save_bulk_edit() {
|
|
|
|
$post_ids = ! empty( $_POST['post_ids'] )
|
|
? wp_parse_id_list( $_POST['post_ids'] )
|
|
: array();
|
|
|
|
if ( ! empty( $post_ids ) && is_array( $post_ids ) ) {
|
|
$price = isset( $_POST['price'] )
|
|
? strip_tags( stripslashes( $_POST['price'] ) )
|
|
: 0;
|
|
|
|
foreach ( $post_ids as $post_id ) {
|
|
if ( ! current_user_can( 'edit_post', $post_id ) ) {
|
|
continue;
|
|
}
|
|
|
|
if ( ! empty( $price ) ) {
|
|
update_post_meta( $post_id, 'edd_price', edd_sanitize_amount( $price ) );
|
|
}
|
|
}
|
|
}
|
|
|
|
die();
|
|
}
|