PluginProbe
NotificationX – FOMO, Live Sales Notification, WooCommerce Sales Popup, GDPR, Social Proof, Announcement Banner & Floating Notification Bar / 3.3.3
NotificationX – FOMO, Live Sales Notification, WooCommerce Sales Popup, GDPR, Social Proof, Announcement Banner & Floating Notification Bar v3.3.3
3.3.3 3.3.2 3.3.1 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 All 158 releases
notificationx / notificationx.php

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

109 lines 4.1 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.3.3
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.3.3' );
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 ( notificationx_is_plugin_active( 'notificationx-pro/notificationx-pro.php' ) ) {
52 add_action( 'admin_notices', 'notificationx_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 });
59 }
60 }
61
62 function notificationx_activate() {
63 \NotificationX\NotificationX::get_instance()->activator();
64 }
65 /**
66 * Plugin Activator
67 */
68 register_activation_hook( NOTIFICATIONX_FILE, 'notificationx_activate' );
69 \NotificationX\NotificationX::get_instance();
70 }
71
72 function notificationx_free_compatibility_notice() {
73 if ( ! function_exists( 'get_plugins' ) ) {
74 require_once ABSPATH . 'wp-admin/includes/plugin.php';
75 }
76 $plugins = get_plugins();
77 if ( isset( $plugins['notificationx-pro/notificationx-pro.php']['Version'] ) && version_compare( $plugins['notificationx-pro/notificationx-pro.php']['Version'], '2.5.0', '>=' ) ) {
78 return;
79 }
80 ?>
81 <div class="notice notice-warning is-dismissible">
82 <p>
83 <?php
84 /* translators: %s: URL of the wp-admin plugins page */
85 echo wp_kses_post( 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>
86 </div>
87 <?php
88 }
89
90
91 function notificationx_is_plugin_active( $plugin ) {
92 return in_array( $plugin, (array) get_option( 'active_plugins', array() ), true ) || notificationx_is_plugin_active_for_network( $plugin );
93 }
94
95 function notificationx_is_plugin_active_for_network( $plugin ) {
96 if ( ! is_multisite() ) {
97 return false;
98 }
99
100 $plugins = get_site_option( 'active_sitewide_plugins' );
101 if ( isset( $plugins[ $plugin ] ) ) {
102 return true;
103 }
104
105 return false;
106 }
107
108 //declare compliance with WP Consent API
109 add_filter( "wp_consent_api_registered_".NOTIFICATIONX_BASENAME, '__return_true' );