| Server IP : 37.27.51.148 / Your IP : 216.73.216.62 Web Server : nginx/1.14.1 System : Linux libra 4.18.0-553.51.1.el8_10.x86_64 #1 SMP Wed Apr 30 20:24:04 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.3.31 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/html/wp-content/plugins/facebook-conversion-pixel/ |
Upload File : |
<?php
/*
Plugin Name: Pixel Cat Lite
Plugin URI: https://fatcatapps.com/pixel-cat
Description: Provides an easy way to embed Facebook pixels
Text Domain: facebook-conversion-pixel
Domain Path: /languages
Author: Fatcat Apps
Author URI: https://fatcatapps.com/
License: GPLv2
Version: 3.4.0
*/
// BASIC SECURITY
defined( 'ABSPATH' ) or die( 'Unauthorized Access!' );
if ( !defined( 'FCA_PC_PLUGIN_DIR' ) ) {
//DEFINE SOME USEFUL CONSTANTS
define( 'FCA_PC_DEBUG', FALSE );
define( 'FCA_PC_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
define( 'FCA_PC_PLUGINS_URL', plugins_url( '', __FILE__ ) );
define( 'FCA_PC_PLUGINS_BASENAME', plugin_basename(__FILE__) );
define( 'FCA_PC_PLUGIN_FILE', __FILE__ );
define( 'FCA_PC_PLUGIN_PACKAGE', 'Lite' ); //DONT CHANGE THIS - BREAKS AUTO UPDATER
define( 'FCA_PC_PLUGIN_NAME', 'Pixel Cat Premium: ' . FCA_PC_PLUGIN_PACKAGE );
if ( FCA_PC_DEBUG ) {
define( 'FCA_PC_PLUGIN_VER', '3.4.' . time() );
} else {
define( 'FCA_PC_PLUGIN_VER', '3.4.0' );
}
//LOAD CORE
include_once( FCA_PC_PLUGIN_DIR . '/includes/functions.php' );
include_once( FCA_PC_PLUGIN_DIR . '/includes/api.php' );
$options = get_option( 'fca_pc', array() );
//LOAD OPTIONAL MODULES
if ( !empty( $options['woo_integration'] ) && file_exists ( FCA_PC_PLUGIN_DIR . '/includes/integrations/woo-events.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/integrations/woo-events.php' );
}
if ( !empty( $options['woo_integration_ga'] ) && file_exists ( FCA_PC_PLUGIN_DIR . '/includes/integrations/woo-events-ga.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/integrations/woo-events-ga.php' );
}
if ( !empty( $options['woo_integration_pinterest'] ) && file_exists ( FCA_PC_PLUGIN_DIR . '/includes/integrations/woo-events-pinterest.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/integrations/woo-events-pinterest.php' );
}
if ( !empty( $options['woo_integration_snapchat'] ) && file_exists ( FCA_PC_PLUGIN_DIR . '/includes/integrations/woo-events-snapchat.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/integrations/woo-events-snapchat.php' );
}
if ( !empty( $options['woo_integration_tiktok'] ) && file_exists ( FCA_PC_PLUGIN_DIR . '/includes/integrations/woo-events-tiktok.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/integrations/woo-events-tiktok.php' );
}
if ( !empty( $options['woo_integration_reddit'] ) && file_exists ( FCA_PC_PLUGIN_DIR . '/includes/integrations/woo-events-reddit.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/integrations/woo-events-reddit.php' );
}
if ( !empty( $options['woo_feed'] ) && file_exists ( FCA_PC_PLUGIN_DIR . '/includes/integrations/woo-feed.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/integrations/woo-feed.php' );
}
if ( !empty( $options['edd_integration'] ) && file_exists ( FCA_PC_PLUGIN_DIR . '/includes/integrations/edd-events.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/integrations/edd-events.php' );
}
if ( !empty( $options['edd_integration_ga'] ) && file_exists ( FCA_PC_PLUGIN_DIR . '/includes/integrations/edd-events-ga.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/integrations/edd-events-ga.php' );
}
if ( !empty( $options['edd_integration_pinterest'] ) && file_exists ( FCA_PC_PLUGIN_DIR . '/includes/integrations/edd-events-pinterest.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/integrations/edd-events-pinterest.php' );
}
if ( !empty( $options['edd_integration_snapchat'] ) && file_exists ( FCA_PC_PLUGIN_DIR . '/includes/integrations/edd-events-snapchat.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/integrations/edd-events-snapchat.php' );
}
if ( !empty( $options['edd_integration_tiktok'] ) && file_exists ( FCA_PC_PLUGIN_DIR . '/includes/integrations/edd-events-tiktok.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/integrations/edd-events-tiktok.php' );
}
if ( !empty( $options['edd_integration_reddit'] ) && file_exists ( FCA_PC_PLUGIN_DIR . '/includes/integrations/edd-events-reddit.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/integrations/edd-events-reddit.php' );
}
if ( !empty( $options['edd_feed'] ) && file_exists ( FCA_PC_PLUGIN_DIR . '/includes/integrations/edd-feed.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/integrations/edd-feed.php' );
}
if ( !empty( $options['quizcat_integration'] ) && file_exists ( FCA_PC_PLUGIN_DIR . '/includes/integrations/quizcat.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/integrations/quizcat.php' );
}
if ( !empty( $options['optincat_integration'] ) && file_exists ( FCA_PC_PLUGIN_DIR . '/includes/integrations/optincat.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/integrations/optincat.php' );
}
if ( !empty( $options['landingpagecat_integration'] ) && file_exists ( FCA_PC_PLUGIN_DIR . '/includes/integrations/landingpagecat.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/integrations/landingpagecat.php' );
}
if ( !empty( $options['ept_integration'] ) && file_exists ( FCA_PC_PLUGIN_DIR . '/includes/integrations/ept.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/integrations/ept.php' );
}
if ( !empty( $options['amp_integration'] ) && file_exists ( FCA_PC_PLUGIN_DIR . '/includes/integrations/amp.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/integrations/amp.php' );
}
//LOAD MODULES
include_once( FCA_PC_PLUGIN_DIR . '/includes/editor/editor.php' );
if ( file_exists ( FCA_PC_PLUGIN_DIR . '/includes/editor/editor-premium.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/editor/editor-premium.php' );
}
if ( file_exists ( FCA_PC_PLUGIN_DIR . '/includes/licensing/licensing.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/licensing/licensing.php' );
}
if( file_exists( FCA_PC_PLUGIN_DIR . '/includes/notices/notices.php' ) ) {
include_once( FCA_PC_PLUGIN_DIR . '/includes/notices/notices.php' );
}
function fca_pc_register_scripts() {
if ( FCA_PC_DEBUG ) {
wp_register_script( 'fca_pc_client_js', FCA_PC_PLUGINS_URL . '/pixel-cat.js', array( 'jquery' ), FCA_PC_PLUGIN_VER, true );
} else {
wp_register_script( 'fca_pc_client_js', FCA_PC_PLUGINS_URL . '/pixel-cat.min.js', array( 'jquery' ), FCA_PC_PLUGIN_VER, true );
}
}
add_action( 'init', 'fca_pc_register_scripts' );
function fca_pc_add_plugin_action_links( $links ) {
$configure_url = admin_url( 'admin.php?page=fca_pc_settings_page' );
$support_url = FCA_PC_PLUGIN_PACKAGE === 'Lite' ? 'https://wordpress.org/support/plugin/facebook-conversion-pixel' : 'https://fatcatapps.com/support';
$new_links = [
'configure' => "<a href='" . esc_url( $configure_url ) . "' >" . esc_attr__( 'Configure Pixel', 'facebook-conversion-pixel' ) . '</a>',
'support' => "<a target='_blank' href='" . esc_url( $support_url ) . "' >" . esc_attr__( 'Support', 'facebook-conversion-pixel' ) . '</a>'
];
$links = array_merge( $new_links, $links );
return $links;
}
add_filter( 'plugin_action_links_' . FCA_PC_PLUGINS_BASENAME, 'fca_pc_add_plugin_action_links' );
// LOCALIZATION
function fca_pc_load_localization() {
load_plugin_textdomain( 'pixel-cat', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
}
add_action( 'init', 'fca_pc_load_localization' );
//ADD NAG IF NO PIXEL IS SET
function fca_pc_admin_notice() {
$show_upgrade_info = get_option( 'fca_pc_after_upgrade_info', false );
if ( isset( $_GET['fca_pc_dismiss_upgrade_info'] ) && current_user_can( 'manage_options' ) ) {
$show_upgrade_info = false;
update_option( 'fca_pc_after_upgrade_info', false );
}
if ( $show_upgrade_info ) {
$settings_url = admin_url( 'admin.php?page=fca_pc_settings_page' );
$read_more_url = 'https://fatcatapps.com/migrate-new-facebook-pixel/';
$dismiss_url = add_query_arg( 'fca_pc_dismiss_upgrade_info', true );
echo '<div id="fca-pc-setup-notice" class="notice notice-success is-dismissible" style="padding-bottom: 8px; padding-top: 8px;">';
echo '<p style="margin-top: 0;"><strong>' . esc_html__( "Pixel Cat: ", 'facebook-conversion-pixel' ) . '</strong>' . esc_html__( "Thanks for upgrading to the new Facebook Pixel. We've prepared a handy guide that explains what you'll need to do to complete setup.", 'facebook-conversion-pixel' ) . '</p>';
echo '<p>'. esc_html__( "Want to revert to the old Facebook Conversion Pixel? Go to your", 'facebook-conversion-pixel' ) . " <a href='" . esc_url( $settings_url ) . "'>" . esc_html__( "Facebook Pixel settings</a> and click 'Click here to downgrade' at the very bottom of the screen.", 'facebook-conversion-pixel' ) . '</p>';
echo "<a style='margin-right: 16px; margin-top: 32px;' href='$read_more_url' class='button button-primary' target='_blank' >" . esc_html__( 'Read the Facebook Pixel migration guide', 'facebook-conversion-pixel' ) . "</a> ";
echo "<a style='margin-right: 16px; position: relative; top: 36px;' href='" . esc_url( $dismiss_url ) . "'>" . esc_html__( 'Close', 'facebook-conversion-pixel' ) . "</a> ";
echo '<br style="clear:both">';
echo '</div>';
}
$dismissed = get_option( 'fca_pc_no_pixel_dismissed', false );
$options = get_option( 'fca_pc', [] );
$screen = get_current_screen();
if ( isset( $_GET['fca_pc_dismiss_no_pixel'] ) && current_user_can( 'manage_options' ) ) {
$dismissed = true;
update_option( 'fca_pc_no_pixel_dismissed', true );
}
if ( !$dismissed && empty( $options['pixels'] ) && $screen->id != 'toplevel_page_fca_pc_settings_page' ) {
$url = admin_url( 'admin.php?page=fca_pc_settings_page' );
$dismiss_url = add_query_arg( 'fca_pc_dismiss_no_pixel', true );
echo '<div id="fca-pc-setup-notice" class="notice notice-success is-dismissible" style="padding-bottom: 8px; padding-top: 8px;">';
echo '<p><strong>' . esc_html__( "Thank you for installing Pixel Cat.", 'facebook-conversion-pixel' ) . '</strong></p>';
echo '<p>' . esc_html__( "It looks like you haven't configured your Facebook Pixel yet. Ready to get started?", 'facebook-conversion-pixel' ) . '</p>';
echo "<a href='" . esc_url( $url ) . "' class='button button-primary' style='margin-top: 25px;'>" . esc_html__( 'Set up my Pixel', 'facebook-conversion-pixel' ) . "</a> ";
echo "<a style='position: relative; top: 30px; left: 16px;' href='" . esc_url( $dismiss_url ) . "' >" . esc_html__( 'Dismiss', 'facebook-conversion-pixel' ) . "</a> ";
echo '<br style="clear:both">';
echo '</div>';
}
}
add_action( 'admin_notices', 'fca_pc_admin_notice' );
//TURN OFF EDD/WOOCOMMERCE INTEGRATIONS WHEN PLUGINS ARE DISABLED
function fca_pc_plugin_check( $plugin ) {
$options = get_option( 'fca_pc', [] );
if ( $plugin == 'woocommerce/woocommerce.php' ) {
$options['woo_integration'] = false;
$options['woo_feed'] = false;
}
update_option( 'fca_pc', $options );
}
add_action( 'deactivated_plugin', 'fca_pc_plugin_check', 10, 1 );
function fca_pc_backward_compatibility_260( ){
$options = get_option( 'fca_pc', [] );
$updated = get_option( 'fca_pc_version' ) ? version_compare( get_option( 'fca_pc_version' ), '2.6.0', '>=' ) : 0;
$pixels = empty( $options['pixels'] ) ? false : true;
//if fca_pc_version doesn't exist, take old ids and create new db structure
if( !$updated && !$pixels ){
$old_pixels = [];
$pixel_count = 1;
$pixel = empty( $options['id'] ) ? '' : $options['id'];
$pixels = empty( $options['ids'] ) ? [] : $options['ids'];
if( $pixel ){
$old_pixel = [
'pixel' => $pixel,
'capi' => '',
'test' => '',
'paused' => '',
'type' => 'Facebook Pixel',
'ID' => 'old_pixel_' . $pixel_count
];
array_push( $old_pixels, json_encode( $old_pixel ) );
$pixel_count += 1;
}
if( $pixels ){
forEach( $pixels as $pixel ){
$old_pixel = [
'pixel' => $pixel,
'capi' => '',
'test' => '',
'paused' => '',
'type' => 'Facebook Pixel',
'ID' => 'old_pixel_' . $pixel_count
];
array_push( $old_pixels, json_encode( $old_pixel ) );
$pixel_count += 1;
}
}
// add old pixels to 'pixels' array
$options['pixels'] = $old_pixels;
update_option( 'fca_pc', $options );
update_option( 'fca_pc_version', '2.6.0' );
}
}
add_action( 'admin_init', 'fca_pc_backward_compatibility_260' );
}