installed plugin Easy Digital Downloads
version 3.1.0.3
This commit is contained in:
@ -0,0 +1,251 @@
|
||||
<?php
|
||||
/**
|
||||
* Admin Bar
|
||||
*
|
||||
* @package EDD
|
||||
* @subpackage Admin/Bar
|
||||
* @copyright Copyright (c) 2018, Easy Digital Downloads, LLC
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
||||
* @since 3.0
|
||||
*/
|
||||
|
||||
// Exit if accessed directly
|
||||
defined( 'ABSPATH' ) || exit;
|
||||
|
||||
/**
|
||||
* Maybe add the store status to the WordPress admin bar
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
function edd_maybe_add_store_mode_admin_bar_menu( $wp_admin_bar ) {
|
||||
|
||||
// Bail if no admin bar.
|
||||
if ( empty( $wp_admin_bar ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Bail if user cannot manage shop settings.
|
||||
if ( ! current_user_can( 'manage_shop_settings' ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$indicator = '';
|
||||
$notifications = EDD()->notifications->countActiveNotifications();
|
||||
|
||||
if ( $notifications ) {
|
||||
$count = $notifications < 10 ? $notifications : '!';
|
||||
$indicator = ' <div class="wp-core-ui wp-ui-notification edd-menu-notification-counter">' . $count . '</div>';
|
||||
}
|
||||
|
||||
// Add the menu
|
||||
$wp_admin_bar->add_menu(
|
||||
array(
|
||||
'id' => 'edd-store-menu',
|
||||
'title' => 'EDD' . $indicator,
|
||||
'href' => edd_get_admin_url(
|
||||
array(
|
||||
'page' => 'edd-reports',
|
||||
)
|
||||
),
|
||||
)
|
||||
);
|
||||
|
||||
if ( ! empty( $count ) ) {
|
||||
$wp_admin_bar->add_menu( array(
|
||||
'parent' => 'edd-store-menu',
|
||||
'id' => 'edd-store-notifications',
|
||||
'title' => __( 'Notifications', 'easy-digital-downloads' ) . ' <div class="wp-core-ui wp-ui-notification edd-menu-notification-indicator"></div>',
|
||||
'href' => edd_get_admin_url(
|
||||
array(
|
||||
'page' => 'edd-reports',
|
||||
'notifications' => 'true',
|
||||
)
|
||||
),
|
||||
) );
|
||||
}
|
||||
|
||||
$wp_admin_bar->add_menu( array(
|
||||
'parent' => 'edd-store-menu',
|
||||
'id' => 'edd-store-reports',
|
||||
'title' => __( 'Store Reports', 'easy-digital-downloads' ),
|
||||
'href' => edd_get_admin_url(
|
||||
array(
|
||||
'page' => 'edd-reports',
|
||||
)
|
||||
),
|
||||
) );
|
||||
|
||||
$wp_admin_bar->add_menu( array(
|
||||
'parent' => 'edd-store-menu',
|
||||
'id' => 'edd-store-settings',
|
||||
'title' => __( 'Store Settings', 'easy-digital-downloads' ),
|
||||
'href' => edd_get_admin_url(
|
||||
array(
|
||||
'page' => 'edd-settings',
|
||||
)
|
||||
),
|
||||
) );
|
||||
|
||||
$wp_admin_bar->add_menu( array(
|
||||
'parent' => 'edd-store-menu',
|
||||
'id' => 'edd-store-prodcuts',
|
||||
'title' => sprintf( __( 'All %1$s', 'easy-digital-downloads' ), edd_get_label_plural() ),
|
||||
'href' => edd_get_admin_url(),
|
||||
) );
|
||||
|
||||
// String.
|
||||
$text = ! edd_is_test_mode()
|
||||
? __( 'Live', 'easy-digital-downloads' )
|
||||
: __( 'Test Mode', 'easy-digital-downloads' );
|
||||
|
||||
// Mode.
|
||||
$mode = ! edd_is_test_mode()
|
||||
? 'live'
|
||||
: 'test';
|
||||
|
||||
$wp_admin_bar->add_menu( array(
|
||||
'parent' => 'edd-store-menu',
|
||||
'id' => 'edd-store-status',
|
||||
'title' => sprintf( __( 'Store Status: %s', 'easy-digital-downloads' ), '<span class="edd-mode edd-mode-' . esc_attr( $mode ) . '">' . $text . '</span>' ),
|
||||
'href' => edd_get_admin_url(
|
||||
array(
|
||||
'page' => 'edd-settings',
|
||||
'tab' => 'gateways',
|
||||
)
|
||||
),
|
||||
) );
|
||||
|
||||
$pass_manager = new \EDD\Admin\Pass_Manager();
|
||||
if ( false === $pass_manager->has_pass() ) {
|
||||
$url = edd_link_helper(
|
||||
'https://easydigitaldownloads.com/lite-upgrade/',
|
||||
array(
|
||||
'utm_medium' => 'admin-bar',
|
||||
'utm_content' => 'upgrade-to-pro',
|
||||
)
|
||||
);
|
||||
$wp_admin_bar->add_menu( array(
|
||||
'parent' => 'edd-store-menu',
|
||||
'id' => 'edd-upgrade',
|
||||
'title' => esc_html__( 'Upgrade to Pro', 'easy-digital-downloads' ),
|
||||
'href' => $url,
|
||||
'meta' => array(
|
||||
'target' => '_blank',
|
||||
'rel' => 'noopener noreferrer',
|
||||
),
|
||||
) );
|
||||
}
|
||||
|
||||
// Is development environment?
|
||||
$is_dev = edd_is_dev_environment();
|
||||
if ( ! empty( $is_dev ) ) {
|
||||
$wp_admin_bar->add_menu( array(
|
||||
'id' => 'edd-is-dev',
|
||||
'title' => sprintf( __( 'Development Domain %s', 'easy-digital-downloads' ), '<span class="edd-mode">' . $is_dev . '</span>' ),
|
||||
'parent' => 'edd-store-menu',
|
||||
'href' => edd_get_admin_url(
|
||||
array(
|
||||
'page' => 'edd-settings',
|
||||
'tab' => 'gateways',
|
||||
)
|
||||
),
|
||||
) );
|
||||
}
|
||||
}
|
||||
add_action( 'admin_bar_menu', 'edd_maybe_add_store_mode_admin_bar_menu', 9999 );
|
||||
|
||||
/**
|
||||
* Styling for text-mode button
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
function edd_store_mode_admin_bar_print_link_styles() {
|
||||
|
||||
// Bail if user cannot manage shop settings
|
||||
if ( ! current_user_can( 'manage_shop_settings' ) ) {
|
||||
return;
|
||||
} ?>
|
||||
|
||||
<style type="text/css" id="edd-store-menu-styling">
|
||||
#wp-admin-bar-edd-store-status .edd-mode {
|
||||
line-height: inherit;
|
||||
}
|
||||
#wp-admin-bar-edd-store-status .edd-mode-live {
|
||||
color: #32CD32;
|
||||
}
|
||||
#wp-admin-bar-edd-store-menu .edd-mode-test {
|
||||
color: #FF8C00;
|
||||
}
|
||||
|
||||
#wpadminbar .edd-menu-notification-counter {
|
||||
display: inline-block !important;
|
||||
min-width: 18px !important;
|
||||
height: 18px !important;
|
||||
border-radius: 9px !important;
|
||||
margin: 7px 0 0 2px !important;
|
||||
vertical-align: top !important;
|
||||
font-size: 11px !important;
|
||||
line-height: 1.6 !important;
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
#wpadminbar .edd-menu-notification-indicator {
|
||||
float: right !important;
|
||||
margin: 10px 0 0 !important;
|
||||
width: 8px !important;
|
||||
height: 8px !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
#wpadminbar .edd-menu-notification-indicator:after {
|
||||
display: block !important;
|
||||
content: "";
|
||||
position: absolute !important;
|
||||
width: inherit !important;
|
||||
height: inherit !important;
|
||||
border-radius: inherit !important;
|
||||
background-color: inherit !important;
|
||||
animation: edd-menu-notification-indicator-pulse 1.5s infinite !important;
|
||||
}
|
||||
|
||||
@keyframes edd-menu-notification-indicator-pulse {
|
||||
0% {
|
||||
transform: scale(1);
|
||||
opacity: 1;
|
||||
}
|
||||
100% {
|
||||
transform: scale(3);
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
#wpadminbar #wp-admin-bar-edd-upgrade a {
|
||||
background-color: #00a32a;
|
||||
color: #fff;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
#wpadminbar #wp-admin-bar-edd-upgrade a:hover {
|
||||
background-color: #008a20;
|
||||
}
|
||||
|
||||
#wpadminbar .edd-menu-form-last {
|
||||
border-bottom: 1px solid #3c4146 !important;
|
||||
margin-bottom: 6px !important;
|
||||
padding-bottom: 6px !important;
|
||||
}
|
||||
|
||||
<?php if ( ! is_admin() ) : ?>
|
||||
#wpadminbar .wp-ui-notification.edd-menu-notification-counter,
|
||||
#wpadminbar .wp-ui-notification.edd-menu-notification-indicator {
|
||||
color: #fff;
|
||||
background-color: #d63638;
|
||||
}
|
||||
<?php endif; ?>
|
||||
|
||||
</style>
|
||||
|
||||
<?php
|
||||
}
|
||||
add_action( 'wp_print_styles', 'edd_store_mode_admin_bar_print_link_styles' );
|
||||
add_action( 'admin_print_styles', 'edd_store_mode_admin_bar_print_link_styles' );
|
Reference in New Issue
Block a user