File "reachedge-tracking-plugin.php"

Full Path: /home/theinspectionboy/public_html/suffolk/file-manager/reachedge/reachedge-tracking-plugin.php
File size: 2.56 KB
MIME-type: text/x-php
Charset: utf-8

<?php

/**
 * Plugin Name:       LocaliQ - Tracking Code
 * Plugin URI:        https://github.com/reachlocal/localiq-wordpress-4x-tracking-plugin
 * Description:       Enables the <a href="https://localiq.com/">LOCALiQ</a> Tracking Code on all your site pages.
 * Version:           1.9
 * Author:            LocaliQ 
 * Author URI:        http://www.localiq.com/
 * License:           MIT license
 * License URI:       https://opensource.org/licenses/MIT
 */

define('DEFAULT_CODE', '00000000-0000-0000-0000-000000000000');

if (!defined('WPINC')) {
  die;
}

function reachedge_tracking_plugin() {
  $reachlocal_tracking_id = get_option('reachlocal_tracking_code_id' );

  if (strlen($reachlocal_tracking_id) == strlen(constant('DEFAULT_CODE')) && $reachlocal_tracking_id != DEFAULT_CODE) {
    wp_enqueue_script( 'reachlocal_tracking_script', reachedge_code_snippet_src($reachlocal_tracking_id));
  } 
}

if (is_admin()) {
  require_once(plugin_dir_path(__FILE__) . 'reachedge-tracking-plugin-settings.php');
} else {
  add_action('wp_head', 'reachedge_tracking_plugin');
}

/**
 * Async load script
 */
function reachedge_async_scripts($url)
{
    if ( strpos( $url, '#asyncload') === false )
        return $url;
    else if ( is_admin() )
        return str_replace( '#asyncload', '', $url );
    else
	return str_replace( '#asyncload', '', $url )."' async='async"; 
}
add_filter( 'clean_url', 'reachedge_async_scripts', 11, 1 );

/**
 * Convert site_id from 'fc62c28f-3f38-4812-85c3-b3fe1329dba8' to '555/6e6/569/cfc4c23ac7e7ab663b58748.js';
 * Return '//cdn.rlets.com/capture_configs/fc6/2c2/8f3/f38481285c3b3fe1329dba8.js#asyncload'
 */
function reachedge_code_snippet_src($reachlocal_tracking_id) {
	$site_id = array();
	array_push($site_id, (substr($reachlocal_tracking_id, 0, 8)));
	array_push($site_id, (substr($reachlocal_tracking_id, 9, 4)));
	array_push($site_id, (substr($reachlocal_tracking_id, 14, 4)));
	array_push($site_id, (substr($reachlocal_tracking_id, 19, 4)));
	array_push($site_id, (substr($reachlocal_tracking_id, 24, 12)));
	$flattened_site_id = implode("",$site_id);
	$snippet_src = array();
	array_push($snippet_src, '//cdn.rlets.com/capture_configs/');
	array_push($snippet_src, (substr($flattened_site_id, 0, 3)));
	array_push($snippet_src, '/');
	array_push($snippet_src, (substr($flattened_site_id, 3, 3)));
	array_push($snippet_src, '/');
	array_push($snippet_src, (substr($flattened_site_id, 6, 3)));
	array_push($snippet_src, '/');
	array_push($snippet_src, (substr($flattened_site_id, 9, 23)));
	array_push($snippet_src, '.js#asyncload');
	return implode('', $snippet_src);
}