PluginProbe
NotificationX – FOMO, Live Sales Notification, WooCommerce Sales Popup, GDPR, Social Proof, Announcement Banner & Floating Notification Bar / 3.2.12
NotificationX – FOMO, Live Sales Notification, WooCommerce Sales Popup, GDPR, Social Proof, Announcement Banner & Floating Notification Bar v3.2.12
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.12, at notificationx.php

110 lines 4.2 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.12
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.12' );
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 \NotificationX\Core\Helper::remove_old_notice();
59 });
60 }
61 }
62
63 function notificationx_activate() {
64 \NotificationX\NotificationX::get_instance()->activator();
65 }
66 /**
67 * Plugin Activator
68 */
69 register_activation_hook( NOTIFICATIONX_FILE, 'notificationx_activate' );
70 \NotificationX\NotificationX::get_instance();
71 }
72
73 function notificationx_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
85 /* translators: %s: URL of the wp-admin plugins page */
86 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>
87 </div>
88 <?php
89 }
90
91
92 function notificationx_is_plugin_active( $plugin ) {
93 return in_array( $plugin, (array) get_option( 'active_plugins', array() ), true ) || notificationx_is_plugin_active_for_network( $plugin );
94 }
95
96 function notificationx_is_plugin_active_for_network( $plugin ) {
97 if ( ! is_multisite() ) {
98 return false;
99 }
100
101 $plugins = get_site_option( 'active_sitewide_plugins' );
102 if ( isset( $plugins[ $plugin ] ) ) {
103 return true;
104 }
105
106 return false;
107 }
108
109 //declare compliance with WP Consent API
110 add_filter( "wp_consent_api_registered_".NOTIFICATIONX_BASENAME, '__return_true' );