'esc_js']);
register_setting("AI-GoogleUniversalAnalytics", "AI_GoogleUniversalAnalytics_anonymizeUA", ['sanitize_callback' => 'esc_js']);
register_setting("AI-GoogleUniversalAnalytics", "AI_GoogleUniversalAnalytics_ID2", ['sanitize_callback' => 'esc_js']);
register_setting("AI-GoogleUniversalAnalytics", "AI_GoogleUniversalAnalytics_anonymizeUA2", ['sanitize_callback' => 'esc_js']);
register_setting("AI-GoogleUniversalAnalytics", "AI_GoogleUniversalAnalytics_type", ['sanitize_callback' => 'esc_js']);
register_setting("AI-GoogleUniversalAnalytics", "AI_GoogleUniversalAnalytics_domain", ['sanitize_callback' => 'esc_js']);
register_setting("AI-GoogleUniversalAnalytics", "AI_GoogleUniversalAnalytics_headerfooter", ['sanitize_callback' => 'esc_js']);
register_setting("AI-GoogleUniversalAnalytics", "AI_GoogleUniversalAnalytics_wp-panel", ['sanitize_callback' => 'esc_js']);
register_setting("AI-GoogleUniversalAnalytics", "AI_GoogleUniversalAnalytics_track", ['sanitize_callback' => 'esc_sql']);
}
function admin_menu() {
add_submenu_page('options-general.php', 'Google Universal Analytics', "Advanced Google Universal Analytics", 'manage_options', 'AI-AdvancedGoogleUniversalAnalytics', array($this, 'page'));
}
function page() {
// phpcs:disable --
wp_enqueue_style('jquery-style', '//ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css');
// --
wp_enqueue_style('jquery-theme');
wp_enqueue_script('jquery-ui-tabs');
wp_enqueue_script('jquery-ui-autocomplete');
wp_enqueue_script('jquery-ui-button');
?>
Google Universal Analytics
$_post['request'] ?? '', 'users' => array());
if (!empty($_post['request'])) {
$users = new \WP_User_Query(array(
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'first_name',
'value' => $_post['request'],
'compare' => 'LIKE'
),
array(
'key' => 'last_name',
'value' => $_post['request'],
'compare' => 'LIKE'
),
array(
'key' => 'nickname',
'value' => $_post['request'],
'compare' => 'LIKE'
)
)
));
$user = get_user_by('id', $_post['request']);
if (!empty($user)) {
$users->results[] = $user;
}
$user = get_user_by('email', $_post['request']);
if (!empty($user)) {
$users->results[] = $user;
}
if (!empty($users->results)) {
foreach ($users->results as $user) {
$return['users'][] = array(
'nickname' => $user->data->user_login,
'firstname' => get_user_meta($user->data->ID, 'first_name', true),
'lastname' => get_user_meta($user->data->ID, 'last_name', true),
'email' => $user->data->user_email,
'id' => $user->data->ID,
'user' => $user
);
}
}
}
echo json_encode($return);
exit;
}
function track_code() {
$users = get_option('AI_GoogleUniversalAnalytics_track');
$current_user = wp_get_current_user();
$roles = array();
foreach ($current_user->roles as $role) {
$roles[$role] = 1;
}
foreach ($roles as $k => $v) {
if (!empty($users['notrack_roles'][$k]) && $users['notrack_roles'][$k] == "1") {
return;
}
}
if (!empty($users['notrack_users'][$current_user->ID]) && $users['notrack_users'][$current_user->ID] == "1") {
return;
}
$type = get_option('AI_GoogleUniversalAnalytics_type');
$UA = get_option('AI_GoogleUniversalAnalytics_ID');
$anonymizeUA = get_option('AI_GoogleUniversalAnalytics_anonymizeUA') == "1" ? true : false;
$UA2 = esc_attr(get_option('AI_GoogleUniversalAnalytics_ID2'));
$anonymizeUA2 = get_option('AI_GoogleUniversalAnalytics_anonymizeUA2') == "1" ? true : false;
$domain = get_option('AI_GoogleUniversalAnalytics_domain', 'auto');
if (empty($domain)) {
$domain = 'auto';
}
if (!empty($UA2) && preg_match('/^(UA|G)\-[0-9A-Za-z]+[-]*[0-9A-Za-z]*$/', $UA2)) {
if (empty($type) || $type == 'gua') {
$anonymizeUA2 = $anonymizeUA2 ? ",{'anonymizeIp': true}" : '';
$UA2 = "
ga('create', '$UA2', 'auto', {'name':'track2'});
ga('track2.send','pageview' $anonymizeUA2);
";
} else if ($type == 'gtag') {
$anonymizeUA2 = $anonymizeUA2 ? ",{'anonymize_ip': true}" : '';
$UA2 = "
gtag('config', '$UA2' $anonymizeUA2);
";
}
} else {
$UA2 = "";
}
if (empty($type) || $type == 'gua') {
$anonymizeUA_ = $anonymizeUA ? ",{'anonymizeIp': true}" : '';
if (preg_match('/^(UA|G)\-[0-9A-Za-z]+[-]*[0-9A-Za-z]*$/', $UA) && preg_match('/^[^\']+$/', $domain)) {
echo "
";
}
} else if ($type == 'gtag') {
$anonymizeUA_ = $anonymizeUA ? ",{'anonymize_ip': true}" : '';
if (preg_match('/^(UA|G)\-[0-9A-Za-z]+[-]*[0-9A-Za-z]*$/', $UA) && preg_match('/^[^\']+$/', $domain)) {
// phpcs:disable --
echo "
";
// --
}
}
}
}
new AdvancedGoogleUniversalAnalytics();