PluginProbe
aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder / 2.13.0
aBlocks – Gutenberg Blocks, User Dashboard Builder, Popup Builder, Form Builder & Animation Builder v2.13.0
2.13.0 2.13.1 2.12.0 2.11.1 2.11.0 2.10.0 2.9.0 2.7.4 2.7.5 2.7.6 2.7.7 2.8.0 2.8.1 2.9.1 trunk 1.0 1.0-beta1 1.0-beta2 1.0-beta3 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 All 80 releases
← All changes | includes/admin/notice.php +73 -0 2.7.72.13.0 View file →
@@ -1,0 +1,73 @@
1 +<?php
2 +namespace ABlocks\Admin;
3 +
4 +if ( ! defined( 'ABSPATH' ) ) {
5 + exit;
6 +}
7 +
8 +use ABlocks\Helper;
9 +
10 +class Notice {
11 + public static function init() {
12 + $self = new self();
13 + add_action( 'admin_notices', array( $self, 'admin_offer_notice' ) );
14 + add_action( 'admin_init', array( $self, 'dismiss_admin_offer_notice' ) );
15 + }
16 +
17 + public function admin_offer_notice() {
18 + // Check if dismissed
19 + if ( ! $this->has_upgrade_to_pro_notice() || get_user_meta( get_current_user_id(), 'ablocks_dismiss_offer_notice', true ) ) {
20 + return;
21 + }
22 +
23 + // Build dismissal URL (adds parameter to current page)
24 + $dismiss_url = add_query_arg(
25 + array( 'ablocks_dismiss_offer_notice' => '1' ),
26 + esc_url_raw( wp_unslash( $_SERVER['REQUEST_URI'] ) )
27 + );
28 +
29 + ?>
30 + <div class="notice notice-info ablocks-offer-notice" style="position: relative; display: flex; column-gap: 24px; padding: 24px; border-left-color: #13191b;">
31 + <div class="ablocks-offer-notice__thumbnail">
32 + <img src="<?php echo esc_url( ABLOCKS_ASSETS_URL . 'images/logo-shape.svg' ); ?>" alt="logo" style="width: 100px;" />
33 + </div>
34 + <div>
35 + <h2>Upgrade to aBlocks Pro Today!</h2>
36 + <p>🔥 1 Site Only <strong>$29 LTD</strong> | <strong>$129 Unlimited</strong> LTD </p>
37 + <p>Apply Code: <code>SpecialDeal</code> to Upgrade Now</p>
38 + <p>Ends Sept 29</p>
39 + <a class="button button-primary" href="https://ablocks.pro/pricing/" target="_blank" style="background: #13191b; color: #fff;">Get The Deal</a>
40 + <a href="<?php echo esc_url( $dismiss_url ); ?>" style="position: absolute; top: 10px; right: 10px;">
41 + <?php esc_html_e( 'Dismiss', 'ablocks' ); ?>
42 + </a>
43 + </div>
44 + </div>
45 + <?php
46 + }
47 +
48 + public function dismiss_admin_offer_notice() {
49 + // phpcs:ignore WordPress.Security.NonceVerification.Recommended
50 + if ( isset( $_GET['ablocks_dismiss_offer_notice'] ) && $_GET['ablocks_dismiss_offer_notice'] == '1' ) {
51 + update_user_meta( get_current_user_id(), 'ablocks_dismiss_offer_notice', 1 );
52 +
53 + // Redirect to remove query param
54 + wp_redirect( remove_query_arg( 'ablocks_dismiss_offer_notice' ) );
55 + exit;
56 + }
57 + }
58 +
59 + public static function has_upgrade_to_pro_notice() {
60 + if ( Helper::is_active_ablocks_pro() ) {
61 + return false;
62 + }
63 +
64 + $saved_time = get_option( 'ablocks_first_install_time' );
65 + $three_days_ago = Helper::get_time() - ( 150 * DAY_IN_SECONDS );
66 +
67 + if ( $saved_time < $three_days_ago ) {
68 + return true;
69 + }
70 +
71 + return false;
72 + }
73 +}