summaryrefslogtreecommitdiff
path: root/plugins/af_unburn
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2013-01-13 10:56:54 +0400
committerAndrew Dolgov <[email protected]>2013-01-13 10:56:54 +0400
commit8c685908b1ebb7f096b116b785876067e2f1453e (patch)
treeb5d4151adad09251f0eaab5f2eb2002ddee597fb /plugins/af_unburn
parent9b72506855af2d08a8553f960065d2eeb6b33a32 (diff)
af_unburn: remove utm_* query parts
Diffstat (limited to 'plugins/af_unburn')
-rw-r--r--plugins/af_unburn/init.php21
1 files changed, 21 insertions, 0 deletions
diff --git a/plugins/af_unburn/init.php b/plugins/af_unburn/init.php
index 593f1abd9..759be9e61 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;
}