mirror of
https://gh.wpcy.net/https://github.com/presscustomizr/hueman.git
synced 2026-04-28 01:37:29 +08:00
129 lines
No EOL
6.8 KiB
PHP
129 lines
No EOL
6.8 KiB
PHP
<?php
|
|
//@return bool
|
|
function hu_rec_notice_is_dismissed( $notice_id = '' ) {
|
|
$notice_id = ( empty( $notice_id ) || !is_string( $notice_id ) ) ? REC_NOTICE_ID : $notice_id;
|
|
$dismissed = get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true );
|
|
$dismissed_array = array_filter( explode( ',', (string) $dismissed ) );
|
|
return ( defined('NIMBLE_RECOMMENDATION_OFF') && true === NIMBLE_RECOMMENDATION_OFF ) || in_array( $notice_id, $dismissed_array );
|
|
}
|
|
|
|
|
|
add_action( 'admin_notices', 'hu_maybe_render_rec_notice' );
|
|
function hu_maybe_render_rec_notice() {
|
|
$screen = get_current_screen();
|
|
if ( isset( $screen->parent_file ) && 'plugins.php' === $screen->parent_file && 'update' === $screen->id ) {
|
|
return;
|
|
}
|
|
if ( hu_rec_notice_is_dismissed( REC_NOTICE_ID ) )
|
|
return;
|
|
|
|
$plugin = 'nimble-builder/nimble-builder.php';
|
|
$installed_plugins = get_plugins();
|
|
$is_nimble_installed = isset( $installed_plugins[ $plugin ] );
|
|
|
|
if ( $is_nimble_installed ) {
|
|
if ( !current_user_can( 'activate_plugins' ) ) {
|
|
return;
|
|
}
|
|
$button_text = __( 'Activate Nimble Builder Now', 'hueman' );
|
|
$button_link = wp_nonce_url( 'plugins.php?action=activate&plugin=' . $plugin . '&plugin_status=all&paged=1&s', 'activate-plugin_' . $plugin );
|
|
} else {
|
|
if ( !current_user_can( 'install_plugins' ) ) {
|
|
return;
|
|
}
|
|
$button_text = __( 'Install Nimble Builder Now', 'hueman' );
|
|
$button_link = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=nimble-builder' ), 'install-plugin_nimble-builder' );
|
|
}
|
|
|
|
if ( hu_rec_notice_is_dismissed( PREV_REC_NOTICE_ID ) ) {
|
|
hu_print_s_rec_notice( $button_text, $button_link );
|
|
} else {
|
|
hu_print_l_rec_notice( $button_text, $button_link );
|
|
}
|
|
}
|
|
|
|
function hu_print_l_rec_notice( $button_text, $button_link ) {
|
|
$heading = sprintf( __('Hueman theme recommends %1$s.', 'hueman' ),
|
|
sprintf('<a href="%1$s" class="thickbox" target="_blank">%2$s</a>',
|
|
wp_nonce_url( 'plugin-install.php?tab=plugin-information&plugin=nimble-builder&TB_iframe=true&width=640&height=500'),
|
|
__('Nimble Page Builder', 'hueman')
|
|
)
|
|
);
|
|
|
|
$message = sprintf( '<span style="font-weight:normal;">%1$s<br/> %2$s<br/>%3$s<br/>%4$s</span>',
|
|
__( 'Developers of the Hueman theme have created Nimble Builder, a free, powerful yet easy-to-use page builder already active on 50K+ WordPress websites.', 'hueman'),
|
|
__( 'It allows you to drag and drop mobile-ready sections on <i>really</i> any page of your site, including home, posts, pages, products, archives, 404, search pages, ...', 'hueman' ),
|
|
sprintf(
|
|
__( 'You can insert simple text zones, but also create %1$s, insert post grids, column structures, buttons, widget zones, maps, icons, and much more, or use pre-designed sections with professional %2$s.', 'hueman'),
|
|
sprintf('<a href="%1$s" target="_blank" title="%2$s">%2$s</a>', esc_url('nimblebuilder.com/mp4-video-background-with-delay/'), __('video backgrounds', 'hueman') ),
|
|
sprintf('<a href="%1$s" target="_blank" title="%2$s">%2$s</a>', esc_url('demo.presscustomizr.com/nimble-builder/'), __('parallax effect', 'hueman') )
|
|
),
|
|
__( "The plugin is lightweight and has been designed to integrate seamlessly with Hueman and any WordPress theme.", 'hueman')
|
|
);
|
|
$custom_nonce = wp_create_nonce('custom_wp_dismiss_pointer');
|
|
$notice_id = REC_NOTICE_ID;
|
|
?>
|
|
<script>
|
|
jQuery( function( $ ) {
|
|
var customNonce = '<?php echo esc_js($custom_nonce); ?>';
|
|
// .notice-dismiss button markup is added by WP
|
|
$( <?php echo wp_json_encode( "#$notice_id" ); ?> ).on( 'click', '.notice-dismiss', function() {
|
|
$(this).closest('.is-dismissible').slideUp('fast');//<= this line is not mandatory since WP has its own way to remove the is-dismissible block
|
|
$.post( ajaxurl, {
|
|
pointer: <?php echo wp_json_encode( $notice_id ); ?>,
|
|
action: 'custom_wp_dismiss_pointer',
|
|
nonce: customNonce // Pass the nonce
|
|
} );
|
|
} );
|
|
} );
|
|
</script>
|
|
<div class="notice updated is-dismissible czr-nimble-rec-notice" id="<?php echo esc_attr( $notice_id ); ?>">
|
|
<div class="czr-nimble-rec-notice-inner">
|
|
<div class="czr-rec-text-block">
|
|
<h3><span class="czr-nimble-rec-notice-icon"><img src="<?php echo esc_url( get_template_directory_uri() ) . '/assets/admin/img/nimble_icon.svg'; ?>" alt="Nimble Builder Logo" /></span><span class="czr-nimble-rec-notice-title"><?php echo $heading; ?></span></h3>
|
|
<p><?php echo $message; ?></p>
|
|
<span class="czr-rec-button"><a class="button button-primary button-hero activate-now" href="<?php echo esc_attr( $button_link ); ?>" data-name="Nimble Builder" data-slug="nimble-builder"><?php echo $button_text; ?></a></span>
|
|
</div>
|
|
<div class="czr-tgmpa-img-block"><img src="https://api.nimblebuilder.com/wp-content/uploads/2020/07/nimble_and_hueman_145.gif" alt="Nimble Builder" title="Nimble Builder" class="czr-nimble-img"></div>
|
|
</div>
|
|
</div>
|
|
<?php
|
|
}
|
|
|
|
function hu_print_s_rec_notice( $button_text, $button_link ) {
|
|
$heading = sprintf( __('Hueman theme recommends the simple and smart %1$s companion ( free 😍 ) to help you build pages %2$s.', 'hueman' ),
|
|
sprintf('<a href="%1$s" class="thickbox" target="_blank">%2$s</a>',
|
|
wp_nonce_url( 'plugin-install.php?tab=plugin-information&plugin=nimble-builder&TB_iframe=true&width=640&height=500'),
|
|
__('Nimble Builder', 'hueman')
|
|
),
|
|
sprintf('<a href="https://nimblebuilder.com/landing-page-one/" target="_blank" rel="noreferrer noopener">%1$s</a>',
|
|
__('like this', 'hueman')
|
|
)
|
|
);
|
|
$custom_nonce = wp_create_nonce('custom_wp_dismiss_pointer');
|
|
$notice_id = REC_NOTICE_ID;
|
|
?>
|
|
<script>
|
|
jQuery( function( $ ) {
|
|
var customNonce = '<?php echo esc_js($custom_nonce); ?>';
|
|
$( <?php echo wp_json_encode( "#$notice_id" ); ?> ).on( 'click', '.notice-dismiss', function() {
|
|
$.post( ajaxurl, {
|
|
pointer: <?php echo wp_json_encode( $notice_id ); ?>,
|
|
action: 'custom_wp_dismiss_pointer',
|
|
nonce: customNonce // Pass the nonce
|
|
} );
|
|
} );
|
|
} );
|
|
</script>
|
|
<div class="notice updated is-dismissible czr-nimble-rec-notice" id="<?php echo esc_attr( $notice_id ); ?>">
|
|
<div class="czr-nimble-rec-notice-inner">
|
|
<div class="">
|
|
<h3><span class="czr-nimble-rec-notice-icon"><img src="<?php echo esc_url( get_template_directory_uri() ) . '/assets/admin/img/nimble_icon.svg'; ?>" alt="Nimble Builder Logo" /></span><span class="czr-nimble-rec-notice-title"><?php echo $heading; ?></span>
|
|
<span class=""><a class="button button-primary activate-now" href="<?php echo esc_attr( $button_link ); ?>" data-name="Nimble Builder" data-slug="nimble-builder"><?php echo $button_text; ?></a></span>
|
|
</h3>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?php
|
|
}
|