277 lines
8.1 KiB
PHP
277 lines
8.1 KiB
PHP
<?php
|
|
/**
|
|
* Store the time when the float bar was hidden so it won't show again for 14 days.
|
|
*/
|
|
function monsterinsights_mark_floatbar_hidden() {
|
|
check_ajax_referer( 'mi-admin-nonce', 'nonce' );
|
|
update_option( 'monsterinsights_float_bar_hidden', time() );
|
|
wp_send_json_success();
|
|
}
|
|
|
|
add_action( 'wp_ajax_monsterinsights_hide_floatbar', 'monsterinsights_mark_floatbar_hidden' );
|
|
|
|
/**
|
|
* Store the time when the float bar was hidden so it won't show again for 14 days.
|
|
*/
|
|
function monsterinsights_get_floatbar() {
|
|
check_ajax_referer( 'mi-admin-nonce', 'nonce' );
|
|
|
|
$show_floatbar = get_option( 'monsterinsights_float_bar_hidden', 0 );
|
|
if ( time() - $show_floatbar > 14 * DAY_IN_SECONDS ) {
|
|
$show_floatbar = true;
|
|
} else {
|
|
$show_floatbar = false;
|
|
}
|
|
|
|
wp_send_json( array(
|
|
'show' => $show_floatbar,
|
|
) );
|
|
|
|
}
|
|
|
|
add_action( 'wp_ajax_monsterinsights_get_floatbar', 'monsterinsights_get_floatbar' );
|
|
|
|
/**
|
|
* Admin menu tooltip.
|
|
*/
|
|
function monsterinsights_get_admin_menu_tooltip() {
|
|
|
|
$show_tooltip = get_option( 'monsterinsights_admin_menu_tooltip', 0 );
|
|
$activated = get_option( 'monsterinsights_over_time', array() );
|
|
$tracking_id = monsterinsights_get_v4_id();
|
|
|
|
if ( monsterinsights_is_reports_page() || monsterinsights_is_settings_page() ) {
|
|
// Don't show on MI pages.
|
|
return;
|
|
}
|
|
|
|
if ( ! current_user_can( 'monsterinsights_save_settings' ) ) {
|
|
return;
|
|
}
|
|
|
|
if ( $show_tooltip && $show_tooltip + 30 * DAY_IN_SECONDS > time() ) {
|
|
// Dismissed less than 30 days ago.
|
|
return;
|
|
}
|
|
|
|
if ( empty( $activated['installed_date'] ) || ( $activated['installed_date'] + 30 * DAY_IN_SECONDS > time() ) || empty( $tracking_id ) ) {
|
|
return;
|
|
}
|
|
// More than 30 days since it was installed & is tracking.
|
|
$url = monsterinsights_get_upgrade_link( 'menu-tooltip', 'upgrade' );
|
|
?>
|
|
<div id="monterinsights-admin-menu-tooltip" class="monterinsights-admin-menu-tooltip-hide">
|
|
<div class="monsterinsights-admin-menu-tooltip-header">
|
|
<span class="monsterinsights-admin-menu-tooltip-icon"><span
|
|
class="dashicons dashicons-megaphone"></span></span>
|
|
<?php esc_html_e( 'Get Better Insights. Grow FASTER!', 'google-analytics-for-wordpress' ); ?>
|
|
<a href="#" class="monsterinsights-admin-menu-tooltip-close"><span
|
|
class="dashicons dashicons-dismiss"></span></a>
|
|
</div>
|
|
<div class="monsterinsights-admin-menu-tooltip-content">
|
|
<strong><?php esc_html_e( 'Grow Your Business with MonsterInsights Pro', 'google-analytics-for-wordpress' ); ?></strong>
|
|
<p><?php esc_html_e( 'It\'s easy to double your traffic and sales when you know exactly how people find and use your website.', 'google-analytics-for-wordpress' ); ?></p>
|
|
<p><?php esc_html_e( 'MonsterInsights Pro shows you the stats that matter, so you can boost your business growth!', 'google-analytics-for-wordpress' ); ?></p>
|
|
<p>
|
|
<?php
|
|
// Translators: makes text bold.
|
|
printf( esc_html__( '%1$sBonus:%2$s You also get 50%% off discount for being a loyal MonsterInsights Lite user.', 'google-analytics-for-wordpress' ), '<strong>', '</strong>' );
|
|
?>
|
|
</p>
|
|
<p>
|
|
<a href="<?php echo esc_url( $url ); ?>"
|
|
target="_blank"
|
|
rel="noopener"
|
|
class="button button-primary"><?php esc_html_e( 'Upgrade to MonsterInsights Pro', 'google-analytics-for-wordpress' ); ?></a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<style type="text/css">
|
|
#monterinsights-admin-menu-tooltip {
|
|
position: absolute;
|
|
left: 100%;
|
|
top: 100%;
|
|
background: #fff;
|
|
margin-left: 16px;
|
|
width: 350px;
|
|
box-shadow: 0px 4px 7px 0px #ccc;
|
|
}
|
|
|
|
#monterinsights-admin-menu-tooltip:before {
|
|
content: '';
|
|
width: 0;
|
|
height: 0;
|
|
border-style: solid;
|
|
border-width: 12px 12px 12px 0;
|
|
border-color: transparent #fff transparent transparent;
|
|
position: absolute;
|
|
right: 100%;
|
|
top: 130px;
|
|
z-index: 10;
|
|
}
|
|
|
|
#monterinsights-admin-menu-tooltip:after {
|
|
content: '';
|
|
width: 0;
|
|
height: 0;
|
|
border-style: solid;
|
|
border-width: 13px 13px 13px 0;
|
|
border-color: transparent #ccc transparent transparent;
|
|
position: absolute;
|
|
right: 100%;
|
|
margin-left: -1px;
|
|
top: 129px;
|
|
z-index: 5;
|
|
}
|
|
|
|
#monterinsights-admin-menu-tooltip.monsterinsights-tooltip-arrow-top:before {
|
|
top: 254px;
|
|
}
|
|
|
|
#monterinsights-admin-menu-tooltip.monsterinsights-tooltip-arrow-top:after {
|
|
top: 253px;
|
|
}
|
|
|
|
.monsterinsights-admin-menu-tooltip-header {
|
|
background: #03a0d2;
|
|
padding: 5px 12px;
|
|
font-size: 14px;
|
|
font-weight: 700;
|
|
font-family: Arial, Helvetica, "Trebuchet MS", sans-serif;
|
|
color: #fff;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.monsterinsights-admin-menu-tooltip-icon {
|
|
background: #fff;
|
|
border-radius: 50%;
|
|
width: 28px;
|
|
height: 25px;
|
|
display: inline-block;
|
|
color: #03a0d2;
|
|
text-align: center;
|
|
padding: 3px 0 0;
|
|
margin-right: 6px;
|
|
}
|
|
|
|
.monterinsights-admin-menu-tooltip-hide {
|
|
display: none;
|
|
}
|
|
|
|
.monsterinsights-admin-menu-tooltip-content {
|
|
padding: 20px 15px 7px;
|
|
}
|
|
|
|
.monsterinsights-admin-menu-tooltip-content strong {
|
|
font-size: 14px;
|
|
}
|
|
|
|
.monsterinsights-admin-menu-tooltip-content p strong {
|
|
font-size: 13px;
|
|
}
|
|
|
|
.monsterinsights-admin-menu-tooltip-close {
|
|
color: #fff;
|
|
text-decoration: none;
|
|
position: absolute;
|
|
right: 10px;
|
|
top: 12px;
|
|
display: block;
|
|
}
|
|
|
|
.monsterinsights-admin-menu-tooltip-close:hover {
|
|
color: #fff;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.monsterinsights-admin-menu-tooltip-close .dashicons {
|
|
font-size: 14px;
|
|
}
|
|
|
|
@media ( max-width: 782px ) {
|
|
#monterinsights-admin-menu-tooltip {
|
|
display: none;
|
|
}
|
|
}
|
|
</style>
|
|
<script type="text/javascript">
|
|
if ('undefined' !== typeof jQuery) {
|
|
jQuery(function ($) {
|
|
var $tooltip = $(document.getElementById('monterinsights-admin-menu-tooltip'));
|
|
var $menuwrapper = $(document.getElementById('adminmenuwrap'));
|
|
var $menuitem = $(document.getElementById('toplevel_page_monsterinsights_reports'));
|
|
if (0 === $menuitem.length) {
|
|
$menuitem = $(document.getElementById('toplevel_page_monsterinsights_network'));
|
|
}
|
|
if (0 === $menuitem.length) {
|
|
$menuitem = $(document.getElementById('toplevel_page_monsterinsights_settings'));
|
|
}
|
|
if (0 === $menuitem.length) {
|
|
return;
|
|
}
|
|
|
|
if ($menuitem.length) {
|
|
$menuwrapper.append($tooltip);
|
|
$tooltip.removeClass('monterinsights-admin-menu-tooltip-hide');
|
|
}
|
|
|
|
function alignTooltip() {
|
|
var sticky = $('body').hasClass('sticky-menu');
|
|
|
|
var menuitem_pos = $menuitem.position();
|
|
var tooltip_top = menuitem_pos.top - 124;
|
|
if (sticky && $(window).height() > $menuwrapper.height() + 150) {
|
|
$tooltip.removeClass('monsterinsights-tooltip-arrow-top');
|
|
} else {
|
|
tooltip_top = menuitem_pos.top - 250;
|
|
$tooltip.addClass('monsterinsights-tooltip-arrow-top');
|
|
}
|
|
// Don't let the tooltip go outside of the screen and make the close button not visible.
|
|
if (tooltip_top < 40) {
|
|
tooltip_top = 40;
|
|
}
|
|
$tooltip.css({
|
|
top: tooltip_top + 'px'
|
|
});
|
|
}
|
|
|
|
var $document = $(document);
|
|
var timeout = setTimeout(alignTooltip, 10);
|
|
$document.on('wp-pin-menu wp-window-resized.pin-menu postboxes-columnchange.pin-menu postbox-toggled.pin-menu wp-collapse-menu.pin-menu wp-scroll-start.pin-menu', function () {
|
|
if (timeout) {
|
|
clearTimeout(timeout);
|
|
}
|
|
timeout = setTimeout(alignTooltip, 10);
|
|
});
|
|
|
|
$('.monsterinsights-admin-menu-tooltip-close').on('click', function (e) {
|
|
e.preventDefault();
|
|
hideTooltip();
|
|
});
|
|
|
|
function hideTooltip() {
|
|
$tooltip.addClass('monterinsights-admin-menu-tooltip-hide');
|
|
$.post(ajaxurl, {
|
|
action: 'monsterinsights_hide_admin_menu_tooltip',
|
|
nonce: '<?php echo esc_js( wp_create_nonce( 'mi-admin-nonce' ) ); ?>',
|
|
});
|
|
}
|
|
});
|
|
}
|
|
</script>
|
|
<?php
|
|
}
|
|
|
|
add_action( 'adminmenu', 'monsterinsights_get_admin_menu_tooltip' );
|
|
|
|
/**
|
|
* Store the time when the float bar was hidden so it won't show again for 14 days.
|
|
*/
|
|
function monsterinsights_mark_admin_menu_tooltip_hidden() {
|
|
check_ajax_referer( 'mi-admin-nonce', 'nonce' );
|
|
update_option( 'monsterinsights_admin_menu_tooltip', time() );
|
|
wp_send_json_success();
|
|
}
|
|
|
|
add_action( 'wp_ajax_monsterinsights_hide_admin_menu_tooltip', 'monsterinsights_mark_admin_menu_tooltip_hidden' );
|