/** * Test UTM array preperation * * @since 0.0.7 * * @covers ingot_get_utm(); */ public function testUTM() { $_GET['utm_referrer'] = 'twitter'; $_GET['utm_campaign'] = 'a112357'; $_GET['utm_medium'] = 'social'; $utm = ingot_get_utm(); $this->assertArrayHasKey('referrer', $utm); $this->assertArrayHasKey('campaign', $utm); $this->assertArrayHasKey('medium', $utm); $this->assertEquals('twitter', $utm['referrer']); $this->assertEquals('a112357', $utm['campaign']); $this->assertEquals('social', $utm['medium']); }
/** * Get reffering source, if tracking from that source * * @since 0.0.7 * * @return bool */ function ingot_get_refferer() { $utm = ingot_get_utm(); if (!empty($utm)) { $_utm = array_keys(array_flip($utm)); foreach (ingot_get_referrers_to_track() as $allowed) { if (in_array($allowed, $_utm)) { return $allowed; } } } $refferer = false; if (!empty($_REQUEST['_wp_http_referer'])) { $refferer = wp_unslash($_REQUEST['_wp_http_referer']); } elseif (!empty($_SERVER['HTTP_REFERER'])) { $refferer = wp_unslash($_SERVER['HTTP_REFERER']); } else { return false; } $_parse = parse_url($refferer); if (is_array($_parse) && isset($_parse['host'])) { foreach (ingot_get_referrers_to_track() as $ref) { if (false !== strpos($_parse['host'], $ref)) { return $ref; } } } return false; }