*/
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class Amp_WP_Analytics {
/**
* Initialize the class and set its properties.
*
* @since 1.0.4
*/
public function __construct() {
// Filter -> Add Analytic Settings Tab.
add_filter( 'amp_wp_settings_tab_menus', array( $this, 'amp_wp_add_analytic_tab' ) );
// Action -> Display Analytic Settings.
add_action( 'amp_wp_settings_tab_section', array( $this, 'amp_wp_add_analytic_settings' ) );
// Action -> Save Analytic Settings.
add_action( 'amp_wp_save_setting_sections', array( $this, 'amp_wp_save_analytic_settings' ) );
}
/**
* Add Analytic Settings Tab
*
* @param array $tabs Settings Tab.
* @since 1.0.4
*
* @return array $tabs Merge array of Settings Tab with General Tab..
*/
public function amp_wp_add_analytic_tab( $tabs ) {
$tabs['analytics'] = __( 'Analytics', 'amp-wp' );
return $tabs;
}
/**
* Display Analytic Settings
*
* This function is used to display stored Analytic settings.
*
* @since 1.0.4
*/
public function amp_wp_add_analytic_settings() {
/**
* Get Google Analytic Values
*/
$ga_switch = '';
$ga_value = '';
if ( get_option( 'amp_wp_ga' ) ) {
$amp_wp_ga = get_option( 'amp_wp_ga' );
$ga_switch = $amp_wp_ga['ga_switch'];
$ga_value = $amp_wp_ga['ga'];
}
/**
* Get Facebook Pixel Values
*/
$fbp_switch = '';
$fbp_value = '';
if ( get_option( 'amp_wp_fbp' ) ) {
$amp_wp_fbp = get_option( 'amp_wp_fbp' );
$fbp_switch = $amp_wp_fbp['fbp_switch'];
$fbp_value = $amp_wp_fbp['fbp'];
}
/**
* Get Segment Analytic Values
*/
$sa_switch = '';
$sa_value = '';
if ( get_option( 'amp_wp_sa' ) ) {
$amp_wp_sa = get_option( 'amp_wp_sa' );
$sa_switch = $amp_wp_sa['sa_switch'];
$sa_value = $amp_wp_sa['sa'];
}
/**
* Get Segment Analytic Values
*/
$qc_switch = '';
$qc_value = '';
if ( get_option( 'amp_wp_qc' ) ) {
$amp_wp_qc = get_option( 'amp_wp_qc' );
$qc_switch = $amp_wp_qc['qc_switch'];
$qc_value = $amp_wp_qc['qc'];
}
/**
* Get Alexa Metrics Values
*/
$acm_switch = '';
$acm_account = '';
$acm_domain = '';
if ( get_option( 'amp_wp_acm' ) ) {
$amp_wp_acm = get_option( 'amp_wp_acm' );
$acm_switch = $amp_wp_acm['acm_switch'];
$acm_account = $amp_wp_acm['acm_account'];
$acm_domain = $amp_wp_acm['acm_domain'];
}
/**
* Get Chartbeat Analytics Values
*/
$cb_switch = '';
$cb_analytic = '';
$cb_domain = '';
if ( get_option( 'amp_wp_cb' ) ) {
$amp_wp_cb = get_option( 'amp_wp_cb' );
$cb_switch = $amp_wp_cb['cb_switch'];
$cb_analytic = $amp_wp_cb['cb_analytic'];
$cb_domain = $amp_wp_cb['cb_domain'];
}
/**
* Get comScore Values
*/
$comscore_switch = '';
$comscore_tracking_id = '';
if ( get_option( 'amp_wp_comscore' ) ) {
$amp_wp_comscore = get_option( 'amp_wp_comscore' );
$comscore_switch = $amp_wp_comscore['comscore_switch'];
$comscore_tracking_id = $amp_wp_comscore['comscore_tracking_id'];
}
/**
* Get Yandex Metrica Values
*/
$yandex_metrica_switch = '';
$yandex_metrica_counter_id = '';
if ( get_option( 'amp_wp_yandex_metrica' ) ) {
$amp_wp_yandex_metrica = get_option( 'amp_wp_yandex_metrica' );
$yandex_metrica_switch = $amp_wp_yandex_metrica['yandex_metrica_switch'];
$yandex_metrica_counter_id = $amp_wp_yandex_metrica['yandex_metrica_counter_id'];
}
/**
* Get AFS Analytics Values
*/
$afs_switch = '';
$afs_website_id = '';
if ( get_option( 'amp_wp_afs' ) ) {
$amp_wp_afs = get_option( 'amp_wp_afs' );
$afs_switch = $amp_wp_afs['afs_switch'];
$afs_website_id = $amp_wp_afs['afs_website_id'];
}
/**
* Get Adobe Analytics Values
*/
$adobe_switch = '';
$adobe_host_name = '';
$adobe_report_suite_id = '';
if ( get_option( 'amp_wp_adobe' ) ) {
$amp_wp_adobe = get_option( 'amp_wp_adobe' );
$adobe_switch = $amp_wp_adobe['adobe_switch'];
$adobe_host_name = $amp_wp_adobe['adobe_host_name'];
$adobe_report_suite_id = $amp_wp_adobe['adobe_report_suite_id'];
}
// Load View.
require_once AMP_WP_DIR_PATH . 'admin/partials/settings/amp-wp-admin-analytics.php';
}
/**
* Save Analytic Settings
*
* @since 1.0.4
*/
public function amp_wp_save_analytic_settings() {
if ( isset( $_POST ) && ! empty( $_POST ) ) {
$amp_wp_ga_switch = filter_input( INPUT_POST, 'amp_wp_ga_switch' );
$amp_wp_ga = filter_input( INPUT_POST, 'amp_wp_ga' );
$amp_wp_fbp_switch = filter_input( INPUT_POST, 'amp_wp_fbp_switch' );
$amp_wp_fbp = filter_input( INPUT_POST, 'amp_wp_fbp' );
$amp_wp_sa_switch = filter_input( INPUT_POST, 'amp_wp_sa_switch' );
$amp_wp_sa = filter_input( INPUT_POST, 'amp_wp_sa' );
$amp_wp_qc_switch = filter_input( INPUT_POST, 'amp_wp_qc_switch' );
$amp_wp_qc = filter_input( INPUT_POST, 'amp_wp_qc' );
$amp_wp_acm_switch = filter_input( INPUT_POST, 'amp_wp_acm_switch' );
$amp_wp_acm_account = filter_input( INPUT_POST, 'amp_wp_acm_account' );
$amp_wp_acm_domain = filter_input( INPUT_POST, 'amp_wp_acm_domain' );
$amp_wp_cb_switch = filter_input( INPUT_POST, 'amp_wp_cb_switch' );
$amp_wp_cb_analytic = filter_input( INPUT_POST, 'amp_wp_cb_analytic' );
$amp_wp_cb_domain = filter_input( INPUT_POST, 'amp_wp_cb_domain' );
$amp_wp_comscore_switch = filter_input( INPUT_POST, 'amp_wp_comscore_switch' );
$amp_wp_comscore_tracking_id = filter_input( INPUT_POST, 'amp_wp_comscore_tracking_id' );
$amp_wp_yandex_metrica_switch = filter_input( INPUT_POST, 'amp_wp_yandex_metrica_switch' );
$amp_wp_yandex_metrica_counter_id = filter_input( INPUT_POST, 'amp_wp_yandex_metrica_counter_id' );
$amp_wp_afs_switch = filter_input( INPUT_POST, 'amp_wp_afs_switch' );
$amp_wp_afs_website_id = filter_input( INPUT_POST, 'amp_wp_afs_website_id' );
$amp_wp_adobe_switch = filter_input( INPUT_POST, 'amp_wp_adobe_switch' );
$amp_wp_adobe_host_name = filter_input( INPUT_POST, 'amp_wp_adobe_host_name' );
$amp_wp_adobe_report_suite_id = filter_input( INPUT_POST, 'amp_wp_adobe_report_suite_id' );
if ( isset( $amp_wp_ga_switch ) ) {
if ( ! empty( $amp_wp_ga ) ) {
if ( amp_wp_google_analytic_tracking_id_sanitization( $amp_wp_ga ) ) {
$analytic_ga_array = array(
'ga_switch' => '1',
'ga' => $amp_wp_ga,
);
update_option( 'amp_wp_ga', $analytic_ga_array );
} else {
delete_option( 'amp_wp_ga' );
}
} else {
delete_option( 'amp_wp_ga' );
}
remove_theme_mod( 'amp-wp-ga-switch' );
remove_theme_mod( 'amp-wp-ga-analytic' );
}
if ( isset( $amp_wp_fbp_switch ) ) {
if ( ! empty( $amp_wp_fbp ) ) {
$analytic_fbp_array = array(
'fbp_switch' => '1',
'fbp' => sanitize_text_field( $amp_wp_fbp ),
);
update_option( 'amp_wp_fbp', $analytic_fbp_array );
} else {
delete_option( 'amp_wp_fbp' );
}
remove_theme_mod( 'amp-wp-fbp-switch' );
remove_theme_mod( 'amp-wp-fbp-analytic' );
}
if ( isset( $amp_wp_sa_switch ) ) {
if ( ! empty( $amp_wp_sa ) ) {
$analytic_sa_array = array(
'sa_switch' => '1',
'sa' => sanitize_text_field( $amp_wp_sa ),
);
update_option( 'amp_wp_sa', $analytic_sa_array );
} else {
delete_option( 'amp_wp_sa' );
}
remove_theme_mod( 'amp-wp-sa-switch' );
remove_theme_mod( 'amp-wp-sa-analytic' );
}
if ( isset( $amp_wp_qc_switch ) ) {
if ( ! empty( $amp_wp_qc ) ) {
$analytic_qc_array = array(
'qc_switch' => '1',
'qc' => sanitize_text_field( $amp_wp_qc ),
);
update_option( 'amp_wp_qc', $analytic_qc_array );
} else {
delete_option( 'amp_wp_qc' );
}
remove_theme_mod( 'amp-wp-qc-switch' );
remove_theme_mod( 'amp-wp-qc-analytic' );
}
if ( isset( $amp_wp_acm_switch ) ) {
if ( ! empty( $amp_wp_acm_account ) && ! empty( $amp_wp_acm_domain ) ) {
$analytic_acm_array = array(
'acm_switch' => '1',
'acm_account' => sanitize_text_field( $amp_wp_acm_account ),
'acm_domain' => esc_url( $amp_wp_acm_domain ),
);
update_option( 'amp_wp_acm', $analytic_acm_array );
} else {
delete_option( 'amp_wp_acm' );
}
remove_theme_mod( 'amp-wp-acm-switch' );
remove_theme_mod( 'amp-wp-acm-account' );
remove_theme_mod( 'amp-wp-acm-domain' );
}
if ( isset( $amp_wp_cb_switch ) ) {
if ( ! empty( $amp_wp_cb_analytic ) && ! empty( $amp_wp_cb_domain ) ) {
$analytic_cb_array = array(
'cb_switch' => '1',
'cb_analytic' => sanitize_text_field( $amp_wp_cb_analytic ),
'cb_domain' => esc_url( $amp_wp_cb_domain ),
);
update_option( 'amp_wp_cb', $analytic_cb_array );
} else {
delete_option( 'amp_wp_cb' );
}
remove_theme_mod( 'amp-wp-cb-switch' );
remove_theme_mod( 'amp-wp-cb-analytic' );
remove_theme_mod( 'amp-wp-cb-domain' );
}
if ( isset( $amp_wp_comscore_switch ) ) {
if ( ! empty( $amp_wp_comscore_tracking_id ) ) {
$analytic_comscore_array = array(
'comscore_switch' => '1',
'comscore_tracking_id' => sanitize_text_field( $amp_wp_comscore_tracking_id ),
);
update_option( 'amp_wp_comscore', $analytic_comscore_array );
} else {
delete_option( 'amp_wp_comscore' );
}
remove_theme_mod( 'amp-wp-comscore-switch' );
remove_theme_mod( 'amp-wp-comscore-tracking-id' );
}
if ( isset( $amp_wp_yandex_metrica_switch ) ) {
if ( ! empty( $amp_wp_yandex_metrica_counter_id ) ) {
$analytic_yandex_metrica_array = array(
'yandex_metrica_switch' => '1',
'yandex_metrica_counter_id' => sanitize_text_field( $amp_wp_yandex_metrica_counter_id ),
);
update_option( 'amp_wp_yandex_metrica', $analytic_yandex_metrica_array );
} else {
delete_option( 'amp_wp_yandex_metrica' );
}
}
if ( isset( $amp_wp_afs_switch ) ) {
if ( ! empty( $amp_wp_afs_website_id ) ) {
$analytic_afs_array = array(
'afs_switch' => '1',
'afs_website_id' => sanitize_text_field( $amp_wp_afs_website_id ),
);
update_option( 'amp_wp_afs', $analytic_afs_array );
} else {
delete_option( 'amp_wp_afs' );
}
}
if ( isset( $amp_wp_adobe_switch ) ) {
if ( ! empty( $amp_wp_adobe_host_name ) && ! empty( $amp_wp_adobe_report_suite_id ) ) {
$analytic_adobe_array = array(
'adobe_switch' => '1',
'adobe_host_name' => sanitize_text_field( $amp_wp_adobe_host_name ),
'adobe_report_suite_id' => sanitize_text_field( $amp_wp_adobe_report_suite_id ),
);
update_option( 'amp_wp_adobe', $analytic_adobe_array );
} else {
delete_option( 'amp_wp_adobe' );
}
}
}
}
}
new Amp_WP_Analytics();