From 8c685908b1ebb7f096b116b785876067e2f1453e Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 13 Jan 2013 10:56:54 +0400 Subject: [PATCH] af_unburn: remove utm_* query parts --- plugins/af_unburn/init.php | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/plugins/af_unburn/init.php b/plugins/af_unburn/init.php index 593f1abd..759be9e6 100644 --- a/plugins/af_unburn/init.php +++ b/plugins/af_unburn/init.php @@ -36,7 +36,28 @@ class Af_Unburn extends Plugin { $real_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL); + curl_close($ch); + if ($real_url) { + /* remove the rest of it */ + + $query = parse_url($real_url, PHP_URL_QUERY); + + if ($query && strpos($query, "utm_source") !== FALSE) { + $args = array(); + parse_str($query, $args); + + foreach (array("utm_source", "utm_medium", "utm_campaign") as $param) { + if (isset($args[$param])) unset($args[$param]); + } + + $new_query = http_build_query($args); + + if ($new_query != $query) { + $real_url = str_replace("?$query", "?$new_query", $real_url); + } + } + $article["guid"] = "unburn,$owner_uid:" . $article["guid"]; $article["link"] = $real_url; }