<?php /** * Adjustments * * These are functions used for displaying discounts, credits, fees, and more. * * @package EDD * @subpackage Admin/Tools * @copyright Copyright (c) 2018, Easy Digital Downloads, LLC * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License */ // Exit if accessed directly defined( 'ABSPATH' ) || exit; /** * Shows the adjustments page, containing of all registered & visible adjustment * types (Discounts|Credits|Fees) * * @since 3.0 * @author Daniel J Griffiths */ function edd_adjustments_page() { // Get all tabs $all_tabs = edd_get_adjustments_tabs(); // Current tab $active_tab = isset( $_GET['tab'] ) ? sanitize_key( $_GET['tab'] ) : 'discount'; // Add new URL $add_new_url = edd_get_admin_url( array( 'page' => 'edd-discounts', 'edd-action' => 'add_' . sanitize_key( $active_tab ), ) ); // Start the output buffer ob_start(); ?> <div class="wrap"> <h1 class="wp-heading-inline"><?php esc_html_e( 'Discounts', 'easy-digital-downloads' ); ?></h1> <a href="<?php echo esc_url( $add_new_url ); ?>" class="page-title-action"><?php esc_html_e( 'Add New', 'easy-digital-downloads' ); ?></a> <hr class="wp-header-end"> <?php if ( 1 < count( $all_tabs ) ) : ?> <nav class="nav-tab-wrapper edd-nav-tab-wrapper" aria-label="<?php esc_attr_e( 'Secondary menu', 'easy-digital-downloads' ); ?>"> <?php // Loop through all tabs foreach ( $all_tabs as $tab_id => $tab_name ) : // Add the tab ID $tab_url = edd_get_admin_url( array( 'page' => 'edd-discounts', 'tab' => sanitize_key( $tab_id ), ) ); // Remove messages $tab_url = remove_query_arg( array( 'edd-message', ), $tab_url ); // Setup the selected class $active = ( $active_tab === $tab_id ) ? ' nav-tab-active' : ''; ?> <a href="<?php echo esc_url( $tab_url ); ?>" class="nav-tab<?php echo esc_attr( $active ); ?>"><?php echo esc_html( $tab_name ); ?></a> <?php endforeach; ?> </nav> <br> <?php endif; ?> <?php do_action( 'edd_adjustments_page_' . esc_attr( $active_tab ) ); ?> </div><!-- .wrap --> <?php // Output the current buffer echo ob_get_clean(); } /** * Retrieve adjustments tabs. * * @since 3.0 * * @return array Tabs for the 'Adjustments' page. */ function edd_get_adjustments_tabs() { // Tabs $tabs = array( 'discount' => __( 'Discounts', 'easy-digital-downloads' ), // 'credit' => __( 'Credits', 'easy-digital-downloads' ), // 'fee' => __( 'Fees', 'easy-digital-downloads' ) ); // Filter & return return apply_filters( 'edd_adjustments_tabs', $tabs ); }