107 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?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 );
 | |
| }
 |