PluginProbe
NotificationX – FOMO, Live Sales Notification, WooCommerce Sales Popup, GDPR, Social Proof, Announcement Banner & Floating Notification Bar / 3.2.11
NotificationX – FOMO, Live Sales Notification, WooCommerce Sales Popup, GDPR, Social Proof, Announcement Banner & Floating Notification Bar v3.2.11
3.3.0 3.2.14 3.2.13 3.2.12 3.2.11 3.2.10 3.2.9 3.2.8 3.2.7 trunk 0.2.5.5 0.2.5.6 0.2.5.7 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.2.0 1.2.1 1.2.2 All 155 releases
notificationx / notificationx.php

notificationx.php in NotificationX – FOMO, Live Sales Notification, WooCommerce Sales Popup, GDPR, Social Proof, Announcement Banner & Floating Notification Bar 3.2.11, at notificationx.php

108 lines 4.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Plugin Name: NotificationX
4 * Plugin URI: https://notificationx.com
5 * Description: Social Proof & Recent Sales Popup, Comment Notification, Subscription Notification, Notification Bar and many more.
6 * Version: 3.2.11
7 * Author: WPDeveloper
8 * Author URI: https://wpdeveloper.com
9 * License: GPL-3.0+
10 * License URI: https://www.gnu.org/licenses/gpl-3.0.html
11 * Text Domain: notificationx
12 * Domain Path: /languages
13 *
14 * @package NotificationX
15 * @link https://wpdeveloper.com
16 * @since 1.0.0
17 */
18
19 /**
20 * If this file is called directly, abort.
21 */
22 if ( ! defined( 'WPINC' ) ) {
23 die;
24 }
25 /**
26 * Defines CONSTANTS for Whole plugins.
27 */
28 define( 'NOTIFICATIONX_FILE', __FILE__ );
29 define( 'NOTIFICATIONX_VERSION', '3.2.11' );
30 define( 'NOTIFICATIONX_URL', plugins_url( '/', __FILE__ ) );
31 define( 'NOTIFICATIONX_PATH', plugin_dir_path( __FILE__ ) );
32 define( 'NOTIFICATIONX_BASENAME', plugin_basename( __FILE__ ) );
33
34 define( 'NOTIFICATIONX_ASSETS', NOTIFICATIONX_URL . 'assets/' );
35 define( 'NOTIFICATIONX_ASSETS_PATH', NOTIFICATIONX_PATH . 'assets/' );
36 define( 'NOTIFICATIONX_DEV_ASSETS', NOTIFICATIONX_URL . 'nxbuild/' );
37 define( 'NOTIFICATIONX_DEV_ASSETS_PATH', NOTIFICATIONX_PATH . 'nxbuild/' );
38 define( 'NOTIFICATIONX_INCLUDES', NOTIFICATIONX_PATH . 'includes/' );
39
40
41 define( 'NOTIFICATIONX_PLUGIN_URL', 'https://notificationx.com' );
42 define( 'NOTIFICATIONX_ADMIN_URL', NOTIFICATIONX_ASSETS . 'admin/' );
43 define( 'NOTIFICATIONX_PUBLIC_URL', NOTIFICATIONX_ASSETS . 'public/' );
44 define( 'NOTIFICATIONX_COMMON_URL', NOTIFICATIONX_ASSETS . 'common/' );
45
46 /**
47 * The Core Engine of the Plugin
48 */
49 if ( ! class_exists( '\NotificationX\NotificationX' ) ) {
50 require_once NOTIFICATIONX_PATH . 'vendor/autoload.php';
51 if ( nx_is_plugin_active( 'notificationx-pro/notificationx-pro.php' ) ) {
52 add_action( 'admin_notices', 'nx_free_compatibility_notice' );
53 if ( file_exists( dirname( NOTIFICATIONX_PATH ) . '/notificationx-pro/notificationx-pro.php' ) ) {
54 require_once dirname( NOTIFICATIONX_PATH ) . '/notificationx-pro/notificationx-pro.php';
55 } else {
56 add_action('plugins_loaded', function() {
57 remove_action( 'admin_notices', 'notificationx_install_core_notice' );
58 \NotificationX\Core\Helper::remove_old_notice();
59 });
60 }
61 }
62
63 function activate_notificationx() {
64 \NotificationX\NotificationX::get_instance()->activator();
65 }
66 /**
67 * Plugin Activator
68 */
69 register_activation_hook( NOTIFICATIONX_FILE, 'activate_notificationx' );
70 \NotificationX\NotificationX::get_instance();
71 }
72
73 function nx_free_compatibility_notice() {
74 if ( ! function_exists( 'get_plugins' ) ) {
75 require_once ABSPATH . 'wp-admin/includes/plugin.php';
76 }
77 $plugins = get_plugins();
78 if ( isset( $plugins['notificationx-pro/notificationx-pro.php']['Version'] ) && version_compare( $plugins['notificationx-pro/notificationx-pro.php']['Version'], '2.5.0', '>=' ) ) {
79 return;
80 }
81 ?>
82 <div class="notice notice-warning is-dismissible">
83 <p>
84 <?php echo sprintf( __( "<strong>Recommended: </strong> Seems like you haven't updated the NotificationX Pro version. Please make sure to update NotificationX Pro plugin from <a href='%s'><strong>wp-admin -> Plugins</strong></a>.", 'notificationx' ), esc_url( admin_url( 'plugins.php' ) ) ); ?></p>
85 </div>
86 <?php
87 }
88
89
90 function nx_is_plugin_active( $plugin ) {
91 return in_array( $plugin, (array) get_option( 'active_plugins', array() ), true ) || nx_is_plugin_active_for_network( $plugin );
92 }
93
94 function nx_is_plugin_active_for_network( $plugin ) {
95 if ( ! is_multisite() ) {
96 return false;
97 }
98
99 $plugins = get_site_option( 'active_sitewide_plugins' );
100 if ( isset( $plugins[ $plugin ] ) ) {
101 return true;
102 }
103
104 return false;
105 }
106
107 //declare compliance with WP Consent API
108 add_filter( "wp_consent_api_registered_".NOTIFICATIONX_BASENAME, '__return_true' );