<?php
/**
 * Tracking functions for reporting plugin usage to the Smash Balloon site for users that have opted in
 *
 * @copyright   Copyright (c) 2018, Chris Christoff
 * @since       3.13
 */
namespace CustomFacebookFeed\Admin;
use CustomFacebookFeed\CFF_Utils;
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Usage tracking
 *
 * @access public
 * @since  3.13
 * @return void
 */
class CFF_Tracking {

	public function __construct() {
		add_action( 'init', array( $this, 'schedule_send' ) );
		add_filter( 'cron_schedules', array( $this, 'add_schedules' ) );
		add_action( 'cff_usage_tracking_cron', array( $this, 'send_checkin' ) );
		add_action( 'cff_admin_notices', array( $this, 'usage_opt_in' ) );
		add_action( 'wp_ajax_cff_usage_opt_in_or_out', array( $this, 'usage_opt_in_or_out' ) );
	}

	private function normalize_and_format( $key, $value ) {
		$defaults = array(
			//Post types
			'cff_show_links_type'       => true,
			'cff_show_event_type'       => true,
			'cff_show_video_type'       => true,
			'cff_show_photos_type'      => true,
			'cff_show_status_type'      => true,
			'cff_show_albums_type'      => true,
			//Events only
			'cff_events_source'         => 'eventspage',
			'cff_event_offset'          => '6',
			'cff_event_image_size'      => 'full',
			//Albums only
			'cff_albums_source'         => 'photospage',
			'cff_show_album_title'      => true,
			'cff_show_album_number'     => true,
			'cff_album_cols'            => '4',
			//Photos only
			'cff_photos_source'         => 'photospage',
			'cff_photos_cols'           => '4',
			//Videos only
			'cff_videos_source'         => 'videospage',
			'cff_show_video_name'       => true,
			'cff_show_video_desc'       => true,
			'cff_video_cols'            => '4',

			//Lightbox
			'cff_disable_lightbox'      => false,
			'cff_lightbox_bg_color'     => '',
			'cff_lightbox_text_color'   => '',
			'cff_lightbox_link_color'   => '',

			//Filter
			'cff_filter_string'         => '',
			'cff_exclude_string'        => '',

			//Reviews
			'cff_reviews_rated_5'       => true,
			'cff_reviews_rated_4'       => true,
			'cff_reviews_rated_3'       => true,
			'cff_reviews_rated_2'       => true,
			'cff_reviews_rated_1'       => true,
			'cff_star_size'             => '12',
			'cff_reviews_link_text'     => 'View all Reviews',
			'cff_reviews_no_text'       => false,
			'cff_reviews_method'        => 'auto',
			'cff_reviews_hide_negative' => true,

			//Layout
			'cff_preset_layout'         => 'thumb',
			'cff_media_position'        => 'below',
			//Include
			'cff_show_text'             => true,
			'cff_show_desc'             => true,
			'cff_show_shared_links'     => true,
			'cff_show_date'             => true,
			'cff_show_media'            => true,
			'cff_show_event_title'      => true,
			'cff_show_event_details'    => true,
			'cff_show_meta'             => true,
			'cff_show_link'             => true,
			'cff_show_like_box'         => true,
			//Masonry
			'cff_masonry_enabled'       => false,
			'cff_masonry_desktop_col'   => 1,
			'cff_masonry_mobile_col'    => 1,

			//Post Styple
			'cff_post_style'            => '',
			'cff_post_bg_color'         => '',
			'cff_post_rounded'          => '0',
			'cff_box_shadow'            => false,
			//Typography
			'cff_title_format'          => 'p',
			'cff_title_size'            => 'inherit',
			'cff_title_weight'          => 'inherit',
			'cff_title_color'           => '',
			'cff_posttext_link_color'   => '',
			'cff_body_size'             => '12',
			'cff_body_weight'           => 'inherit',
			'cff_body_color'            => '',
			'cff_link_title_format'     => 'p',
			'cff_full_link_images'      => true,
			'cff_link_image_size'       => 'largesquare',
			'cff_image_size'            => 'large',
			'cff_link_title_size'       => 'inherit',
			'cff_link_url_size'         => '12',
			'cff_link_desc_size'        => 'inherit',
			'cff_link_desc_color'       => '',
			'cff_link_title_color'      => '',
			'cff_link_url_color'        => '',
			'cff_link_bg_color'         => '',
			'cff_link_border_color'     => '',
			'cff_disable_link_box'      => false,

			//Event title
			'cff_event_title_format'    => 'p',
			'cff_event_title_size'      => 'inherit',
			'cff_event_title_weight'    => 'bold',
			'cff_event_title_color'     => '',
			//Event date
			'cff_event_date_size'       => 'inherit',
			'cff_event_date_weight'     => 'inherit',
			'cff_event_date_color'      => '',
			'cff_event_date_position'   => 'below',
			'cff_event_date_formatting' => '14',
			'cff_event_date_custom'     => '',
			//Event details
			'cff_event_details_size'    => 'inherit',
			'cff_event_details_weight'  => 'inherit',
			'cff_event_details_color'   => '',
			'cff_event_link_color'      => '',

			//Date
			'cff_date_position'         => 'author',
			'cff_date_size'             => 'inherit',
			'cff_date_weight'           => 'inherit',
			'cff_date_color'            => '',
			'cff_date_formatting'       => '1',
			'cff_date_custom'           => '',
			'cff_date_before'           => '',
			'cff_date_after'            => '',
			'cff_timezone'              => 'America/Chicago',

			//Link to Facebook
			'cff_link_size'             => 'inherit',
			'cff_link_weight'           => 'inherit',
			'cff_link_color'            => '',
			'cff_view_link_text'        => 'View Link',
			'cff_link_to_timeline'      => false,

			//Load more button
			// 'cff_load_more'             => true,
			'cff_load_more_bg'          => '',
			'cff_load_more_text_color'  => '',
			'cff_load_more_bg_hover'    => '',
			'cff_load_more_text'        => 'Load more',
			'cff_no_more_posts_text'    => 'No more posts',

			//Meta
			'cff_icon_style'            => 'light',
			'cff_meta_text_color'       => '',
			'cff_meta_link_color'       => '',
			'cff_meta_bg_color'         => '',
			'cff_expand_comments'       => false,
			'cff_comments_num'          => '4',
			'cff_nocomments_text'       => 'No comments yet',
			'cff_hide_comments'         => false,
			'cff_hide_comment_avatars'  => false,
			'cff_lightbox_comments'     => true,
			//Misc
			'cff_feed_width'            => '100%',
			'cff_feed_width_resp'       => false,
			'cff_feed_height'           => '',
			'cff_feed_padding'          => '',
			'cff_like_box_position'     => 'bottom',
			'cff_like_box_outside'      => false,
			'cff_likebox_width'         => '',
			'cff_likebox_height'        => '',
			'cff_like_box_faces'        => false,
			'cff_like_box_border'       => false,
			'cff_like_box_cover'        => true,
			'cff_like_box_small_header' => false,
			'cff_like_box_hide_cta'     => false,

			//Misc Settings
			'cff_enable_narrow'         => true,
			'cff_one_image'             => false,

			'cff_bg_color'              => '',
			'cff_likebox_bg_color'      => '',
			'cff_like_box_text_color'   => 'blue',
			'cff_video_height'          => '',
			'cff_show_author'           => true,
			'cff_class'                 => '',
			'cff_app_id'                => '',
			'cff_show_credit'           => '',
			'cff_format_issue'          => false,
			'cff_disable_svgs'          => false,
			'cff_restricted_page'       => false,
			'cff_hide_supporter_posts'   => false,
			'cff_font_source'           => 'cdn',
			'cff_disable_ajax_cache'    => false,
			'cff_minify'                => false,
			'disable_admin_notice'      => false,
			'cff_request_method'        => 'auto',
			'cff_cron'                  => 'unset',
			'cff_timeline_pag'          => 'date',
			'cff_grid_pag'              => 'auto',

			//Feed Header
			'cff_show_header'           => '',
			'cff_header_outside'        => false,
			'cff_header_text'           => 'Facebook Posts',
			'cff_header_bg_color'       => '',
			'cff_header_padding'        => '',
			'cff_header_text_size'      => '',
			'cff_header_text_weight'    => '',
			'cff_header_text_color'     => '',
			'cff_header_icon'           => '',
			'cff_header_icon_color'     => '',
			'cff_header_icon_size'      => '28',

			//Author
			'cff_author_size'           => 'inherit',
			'cff_author_color'          => '',

			//New
			'cff_custom_css'            => '',
			'cff_custom_js'             => '',
			'cff_title_link'            => false,
			'cff_post_tags'             => true,
			'cff_link_hashtags'         => true,
			'cff_event_title_link'      => true,
			'cff_video_action'          => 'post',
			'cff_video_player'          => 'facebook',
			'cff_sep_color'             => '',
			'cff_sep_size'              => '1',

			//Translate - general
			'cff_see_more_text'         => 'See More',
			'cff_see_less_text'         => 'See Less',
			'cff_map_text'              => 'Map',
			'cff_no_events_text'        => 'No upcoming events',
			'cff_facebook_link_text'    => 'View on Facebook',
			'cff_facebook_share_text'   => 'Share',
			'cff_show_facebook_link'    => true,
			'cff_show_facebook_share'   => true,
			'cff_buy_tickets_text'      => 'Buy Tickets',
			'cff_interested_text'       => 'interested',
			'cff_going_text'            => 'going',

			//Translate - social
			'cff_translate_view_previous_comments_text'     => 'View more comments',
			'cff_translate_comment_on_facebook_text'        => 'Comment on Facebook',
			'cff_translate_photos_text'                     => 'photos',
			'cff_translate_likes_this_text'                 => 'likes this',
			'cff_translate_like_this_text'                  => 'like this',
			'cff_translate_reacted_text'                    => 'reacted to this',
			'cff_translate_and_text'                        => 'and',
			'cff_translate_other_text'                      => 'other',
			'cff_translate_others_text'                     => 'others',
			'cff_translate_reply_text'                      => 'Reply',
			'cff_translate_replies_text'                    => 'Replies',

			'cff_translate_learn_more_text' => 'Learn More',
			'cff_translate_shop_now_text'   => 'Shop Now',
			'cff_translate_message_page_text' => 'Message Page',
			'cff_translate_get_directions_text' => 'Get Directions',

			//Translate - date
			'cff_translate_second'      => 'second',
			'cff_translate_seconds'     => 'seconds',
			'cff_translate_minute'      => 'minute',
			'cff_translate_minutes'     => 'minutes',
			'cff_translate_hour'        => 'hour',
			'cff_translate_hours'       => 'hours',
			'cff_translate_day'         => 'day',
			'cff_translate_days'        => 'days',
			'cff_translate_week'        => 'week',
			'cff_translate_weeks'       => 'weeks',
			'cff_translate_month'       => 'month',
			'cff_translate_months'      => 'months',
			'cff_translate_year'        => 'year',
			'cff_translate_years'       => 'years',
			'cff_translate_ago'         => 'ago',

			// email
			'enable_email_report' => 'on',
			'email_notification' => 'monday',
			'email_notification_addresses' => get_option( 'admin_email' )
		);

		$normal_bools = array(
			'cff_show_links_type',
			'cff_show_event_type',
			'cff_show_video_type',
			'cff_show_photos_type',
			'cff_show_status_type',
			'cff_show_albums_type',
			'cff_show_album_title',
			'cff_show_album_number',
			'cff_show_video_name',
			'cff_show_video_desc',
			'cff_disable_lightbox',
			'cff_reviews_rated_5',
			'cff_reviews_rated_4',
			'cff_reviews_rated_3',
			'cff_reviews_rated_2',
			'cff_reviews_rated_1',
			'cff_reviews_no_text',
			'cff_reviews_hide_negative',
			'cff_show_text',
			'cff_show_desc',
			'cff_show_shared_links',
			'cff_show_date',
			'cff_show_media',
			'cff_show_event_title',
			'cff_show_event_details',
			'cff_show_meta',
			'cff_show_link',
			'cff_show_like_box',
			'cff_masonry_enabled',
			'cff_box_shadow',
			'cff_full_link_images',
			'cff_link_to_timeline',
			'cff_expand_comments',
			'cff_hide_comments',
			'cff_hide_comment_avatars',
			'cff_lightbox_comments',
			'cff_disable_link_box',
			//Misc
			'cff_feed_width',
			'cff_feed_width_resp',
			'cff_like_box_outside',
			'cff_like_box_faces',
			'cff_like_box_border',
			'cff_like_box_cover',
			'cff_like_box_small_header',
			'cff_like_box_hide_cta',
			'cff_disable_styles',
			'cff_enable_narrow',
			'cff_one_image',
			'cff_show_author',
			'cff_format_issue',
			'cff_disable_svgs',
			'cff_restricted_page',
			'cff_hide_supporter_posts',
			'cff_disable_ajax_cache',
			'cff_minify',
			'disable_admin_notice',
			'cff_header_outside',
			'cff_title_link',
			'cff_post_tags',
			'cff_link_hashtags',
			'cff_event_title_link',
			'cff_show_facebook_link',
			'cff_show_facebook_share',
			'enable_email_report'
		);
		$custom_text_settings = array(
			'cff_reviews_link_text',
			'cff_load_more_text',
			'cff_no_more_posts_text',
			'cff_nocomments_text',
			'cff_header_text',
			'cff_see_more_text',
			'cff_see_less_text',
			'cff_map_text',
			'cff_no_events_text',
			'cff_facebook_link_text',
			'cff_facebook_share_text',
			'cff_buy_tickets_text',
			'cff_interested_text',
			'cff_going_text',
			'cff_translate_view_previous_comments_text',
			'cff_translate_comment_on_facebook_text',
			'cff_translate_photos_text',
			'cff_translate_likes_this_text',
			'cff_translate_like_this_text',
			'cff_translate_reacted_text',
			'cff_translate_and_text',
			'cff_translate_other_text',
			'cff_translate_others_text',
			'cff_translate_reply_text',
			'cff_translate_replies_text',
			'cff_custom_css',
			'cff_custom_js',
			'cff_translate_learn_more_text',
			'cff_translate_shop_now_text',
			'cff_translate_message_page_text',
			'cff_translate_get_directions_text',
			'cff_class',
			'cff_app_id',
			'cff_show_credit',

			//Translate - date
			'cff_translate_second',
			'cff_translate_seconds',
			'cff_translate_minute',
			'cff_translate_minutes',
			'cff_translate_hour',
			'cff_translate_hours',
			'cff_translate_day',
			'cff_translate_days',
			'cff_translate_week',
			'cff_translate_weeks',
			'cff_translate_month',
			'cff_translate_months',
			'cff_translate_year',
			'cff_translate_years',
			'cff_translate_ago',
			'email_notification_addresses'
		);
		$comma_separate_counts_settings = array(
			'cff_filter_string',
			'cff_exclude_string',
		);

		if ( is_array( $value ) ) {
			if ( empty( $value ) ) {
				return 0;
			}
			return count( $value );
			// 0 for anything that might be false, 1 for everything else
		} elseif ( in_array( $key, $normal_bools, true ) ) {
			if ( in_array( $value, array( false, 0, '0', 'false', '' ), true ) ) {
				return 0;
			}
			return 1;

			// if a custom text setting, we just want to know if it's different than the default
		} elseif ( in_array( $key, $custom_text_settings, true ) ) {
			if ( $defaults[ $key ] === $value ) {
				return 0;
			}
			return 1;
		} elseif ( in_array( $key, $comma_separate_counts_settings, true ) ) {
			if ( str_replace( ' ', '', $value ) === '' ) {
				return 0;
			}
			$split_at_comma = explode( ',', $value );
			return count( $split_at_comma );
		}

		return $value;

	}

	private function get_data() {
		$data = array();

		// Retrieve current theme info
		$theme_data    = wp_get_theme();

		$count_b = 1;
		if ( is_multisite() ) {
			if ( function_exists( 'get_blog_count' ) ) {
				$count_b = get_blog_count();
			} else {
				$count_b = 'Not Set';
			}
		}

		$php_version = rtrim( ltrim( sanitize_text_field( phpversion() ) ) );
		$php_version = ! empty( $php_version ) ? substr( $php_version, 0, strpos( $php_version, '.', strpos( $php_version, '.' ) + 1 ) ) : phpversion();

		global $wp_version;
		$data['this_plugin'] = 'fb';
		$data['php_version']   = $php_version;
		$data['mi_version']    = CFFVER;
		$data['wp_version']    = $wp_version;
		$data['server']        = isset( $_SERVER['SERVER_SOFTWARE'] ) ? $_SERVER['SERVER_SOFTWARE'] : '';
		$data['multisite']     = is_multisite();
		$data['url']           = home_url();
		$data['themename']     = $theme_data->Name;
		$data['themeversion']  = $theme_data->Version;
		$data['pro']           = CFF_Utils::cff_is_pro_version() ? '1' : '';
		$data['sites']         = $count_b;
		$data['usagetracking'] = get_option( 'cff_usage_tracking_config', false );
		$num_users = function_exists( 'count_users' ) ? count_users() : 'Not Set';
		$data['usercount']     = is_array( $num_users ) ? $num_users['total_users'] : 1;
		$data['timezoneoffset']= date('P');

		$page_id = get_option( 'cff_page_id' );
		$own_token = get_option( 'cff_show_access_token' );
		$by_others = get_option( 'cff_show_others' );
		$number_posts = get_option( 'cff_num_show' );
		$posts_limit = get_option( 'cff_post_limit' );
		$page_type = get_option( 'cff_page_type' );
		$caching_type = get_option( 'cff_caching_type' );
		$caching_time = get_option( 'cff_cache_time' );
		$caching_unit = get_option( 'cff_cache_time_unit' );
		$locale = get_option( 'cff_locale' );
		$connected_accounts = get_option( 'cff_connected_accounts', '{}' );
		$connected_accounts = json_decode( stripslashes( $connected_accounts ), true );
		$settings_to_send = array(
			'page_id' => $page_id,
			'own_token' => $own_token,
			'show_others' => $by_others,
			'num_posts' => $number_posts,
			'posts_limit' => $posts_limit,
			'page_type' => $page_type,
			'caching_type' => $caching_type,
			'caching_time' => $caching_time,
			'caching_unit' => $caching_unit,
			'locale' => $locale,
			'num_connected_accounts' => count( $connected_accounts ),
		);
		$raw_settings = get_option( 'cff_style_settings', array() );
		foreach ( $raw_settings as $key => $value ) {
			$value = $this->normalize_and_format( $key, $value );

			if ( $value !== false ) {
				$key = str_replace( array( 'sb_instagram_', 'cff_' ), '', $key );
				$settings_to_send[ $key ] = $value;
			}
		}

		$oembed_token = get_option( 'cff_oembed_token', false );

		$settings_to_send['oembed_expiring_token'] = isset( $oembed_token['access_token'] ) ? (int)$oembed_token['access_token'] > 0 : false;

		global $wpdb;
		$feed_caches = array();

		$results = $wpdb->get_results( "
		SELECT option_name
        FROM $wpdb->options
        WHERE `option_name` LIKE ('%\_transient\_cff\_%')
        AND `option_name` NOT LIKE ('%\_transient\_cff\_header%');", ARRAY_A );

		if ( isset( $results[0] ) ) {
			$feed_caches = $results;
		}
		$settings_to_send['num_found_feed_caches'] = count( $feed_caches );

		$data['settings']      = $settings_to_send;

		// Retrieve current plugin information
		if( ! function_exists( 'get_plugins' ) ) {
			include_once ABSPATH . '/wp-admin/includes/plugin.php';
		}

		$plugins = get_plugins();
		$active_plugins = get_option( 'active_plugins', array() );
		$plugins_to_send = array();

		foreach ( $plugins as $plugin_path => $plugin ) {
			// If the plugin isn't active, don't show it.
			if ( ! in_array( $plugin_path, $active_plugins ) )
				continue;

			$plugins_to_send[] = $plugin['Name'];
		}

		$data['active_plugins']   = $plugins_to_send;
		$data['locale']           = get_locale();

		return $data;
	}

	public function send_checkin( $override = false, $ignore_last_checkin = false ) {
		$home_url = trailingslashit( home_url() );
		if ( strpos( $home_url, 'smashballoon.com' ) !== false ) {
			return false;
		}

		if( ! $this->tracking_allowed() && ! $override ) {
			return false;
		}

		// Send a maximum of once per week
		$usage_tracking = get_option( 'cff_usage_tracking', array( 'last_send' => 0, 'enabled' => CFF_Utils::cff_is_pro_version() ) );
		if ( is_numeric( $usage_tracking['last_send'] ) && $usage_tracking['last_send'] > strtotime( '-1 week' ) && ! $ignore_last_checkin ) {
			return false;
		}

		$request = wp_remote_post( 'https://usage.smashballoon.com/v1/checkin/', array(
			'method'      => 'POST',
			'timeout'     => 5,
			'redirection' => 5,
			'httpversion' => '1.1',
			'blocking'    => false,
			'body'        => $this->get_data(),
			'user-agent'  => 'MI/' . CFFVER . '; ' . get_bloginfo( 'url' )
		) );

		// If we have completed successfully, recheck in 1 week
		$usage_tracking = array(
			'enabled' => true,
			'last_send' => time(),
		);
		update_option( 'cff_usage_tracking', $usage_tracking, false );
		return true;
	}

	private function tracking_allowed() {
		$usage_tracking = get_option( 'cff_usage_tracking', array( 'last_send' => 0, 'enabled' => CFF_Utils::cff_is_pro_version() ) );
		$tracking_allowed = isset( $usage_tracking['enabled'] ) ? $usage_tracking['enabled'] : CFF_Utils::cff_is_pro_version();

		return $tracking_allowed;
	}

	public function schedule_send() {
		if ( ! wp_next_scheduled( 'cff_usage_tracking_cron' ) ) {
			$tracking             = array();
			$tracking['day']      = rand( 0, 6  );
			$tracking['hour']     = rand( 0, 23 );
			$tracking['minute']   = rand( 0, 59 );
			$tracking['second']   = rand( 0, 59 );
			$tracking['offset']   = ( $tracking['day']    * DAY_IN_SECONDS    ) +
			                        ( $tracking['hour']   * HOUR_IN_SECONDS   ) +
			                        ( $tracking['minute'] * MINUTE_IN_SECONDS ) +
			                        $tracking['second'];
			$last_sunday = strtotime("next sunday") - (7 * DAY_IN_SECONDS);
			if ( ($last_sunday + $tracking['offset']) > time() + 6 * HOUR_IN_SECONDS ) {
				$tracking['initsend'] = $last_sunday + $tracking['offset'];
			} else {
				$tracking['initsend'] = strtotime("next sunday") + $tracking['offset'];
			}

			wp_schedule_event( $tracking['initsend'], 'weekly', 'cff_usage_tracking_cron' );
			update_option( 'cff_usage_tracking_config', $tracking );
		}
	}

	public function add_schedules( $schedules = array() ) {
		// Adds once weekly to the existing schedules.
		$schedules['weekly'] = array(
			'interval' => 604800,
			'display'  => __( 'Once Weekly', 'custom-facebook-feed' )
		);
		return $schedules;
	}

	public function usage_opt_in() {
		if ( isset( $_GET['trackingdismiss'] ) ) {
			$usage_tracking = get_option( 'cff_usage_tracking', array( 'last_send' => 0, 'enabled' => false ) );

			$usage_tracking['enabled'] = false;

			update_option( 'cff_usage_tracking', $usage_tracking, false );

			return;
		}

		$cap = current_user_can( 'manage_custom_facebook_feed_options' ) ? 'manage_custom_facebook_feed_options' : 'manage_options';

		$cap = apply_filters( 'cff_settings_pages_capability', $cap );
		if ( ! current_user_can( $cap ) ) {
			return;
		}
		$usage_tracking = get_option( 'cff_usage_tracking', false );
		if ( $usage_tracking || isset( $_GET['feed_id'] ) ) {
			return;
		}

		if ( \CustomFacebookFeed\Builder\CFF_Db::feeds_count() < 1
			&& $_GET['page'] === 'cff-feed-builder' ) {
			return;
		}
		wp_enqueue_style(
			'cff-admin-notifications',
			CFF_PLUGIN_URL . "admin/assets/css/admin-notifications.css",
			array(),
			CFFVER
		);
		$img_src = CFF_PLUGIN_URL . 'admin/assets/img/cff-icon.png';
		?>
		<div id="cff-notifications" class="cff_discount_notice cff-usage-tracking-notice">
			<a
				class="dismiss cff-no-usage-opt-out"
				title="<?php echo esc_attr__( 'Dismiss this message', 'custom-facebook-feed' ); ?>"
				href="<?php echo admin_url('admin.php?page=cff-top&trackingdismiss=1'); ?>"
			>
				<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
					<path d="M9.66683 1.27325L8.72683 0.333252L5.00016 4.05992L1.2735 0.333252L0.333496 1.27325L4.06016 4.99992L0.333496 8.72659L1.2735 9.66659L5.00016 5.93992L8.72683 9.66659L9.66683 8.72659L5.94016 4.99992L9.66683 1.27325Z" fill="white"/>
				</svg>
			</a>
			<div class="bell"><img src="<?php echo esc_url( $img_src ); ?>" alt="notice"></div>
			<div class="messages">
				<div class="message" style="display: block;">

					<h3 class="title">
						<?php echo esc_html__( 'Help us improve the Custom Facebook Feed plugin', 'custom-facebook-feed') ; ?>
					</h3>

					<p class="content">
						<?php echo __( 'Understanding how you are using the plugin allows us to further improve it. Opt-in below to agree to send a weekly report of plugin usage data.', 'custom-facebook-feed' ); ?>
						<a target="_blank" rel="noopener noreferrer" href="https://smashballoon.com/custom-facebook-feed/docs/usage-tracking/"><?php echo __( 'More information', 'custom-facebook-feed' ); ?></a>
					</p>

					<div class="buttons">
						<a href="<?php echo admin_url('admin.php?page=cff-top&trackingdismiss=1') ?>" type="submit" class="cff-opt-in cff-btn cff-btn-blue"><?php echo __( 'Yes, I\'d like to help', 'custom-facebook-feed' ); ?></a>
						<a href="<?php echo admin_url('admin.php?page=cff-top&trackingdismiss=1') ?>" type="submit" class="cff-no-usage-opt-out cff-btn cff-btn-grey"><?php echo __( 'No, thanks', 'custom-facebook-feed' ); ?></a>
					</div>
				</div>
			</div>
		</div>

		<?php
	}

	public function usage_opt_in_or_out() {
		if ( ! isset( $_POST['opted_in'] ) ) {
			die ( 'You did not do this the right way!' );
		}

		$usage_tracking = get_option( 'cff_usage_tracking', array( 'last_send' => 0, 'enabled' => false ) );

		$usage_tracking['enabled'] = isset( $_POST['opted_in'] ) ? $_POST['opted_in'] === 'true' : false;

		update_option( 'cff_usage_tracking', $usage_tracking, false );

		die();
	}
}

#new CFF_Tracking();