$version, 'domainDepth' => $domain_depth, 'cid' => $cid1 . '.' . $cid2, ]; } return $cookie; } /** * Generate UUID v4 function - needed to generate a CID when one isn't available */ public static function generate_uuid() { return sprintf( '%04x%04x-%04x-%04x-%04x-%04x%04x%04x', // 32 bits for "time_low" wp_rand( 0, 0xffff ), wp_rand( 0, 0xffff ), // 16 bits for "time_mid" wp_rand( 0, 0xffff ), // 16 bits for "time_hi_and_version", // four most significant bits holds version number 4 wp_rand( 0, 0x0fff ) | 0x4000, // 16 bits, 8 bits for "clk_seq_hi_res", // 8 bits for "clk_seq_low", // two most significant bits holds zero and one for variant DCE1.1 wp_rand( 0, 0x3fff ) | 0x8000, // 48 bits for "node" wp_rand( 0, 0xffff ), wp_rand( 0, 0xffff ), wp_rand( 0, 0xffff ) ); } /** * Fire a hit to the google analytis collection api. * * See https://developers.google.com/analytics/devguides/collection/protocol/v1/devguide * * @param null $data * * @return array|bool|WP_Error */ public static function fire_hit( $data = null ) { if ( $data ) { $get_string = 'https://ssl.google-analytics.com/collect'; $get_string .= '?payload_data&'; $get_string .= http_build_query( $data ); $result = wp_remote_get( $get_string ); return $result; } return false; } }