]> git.wh0rd.org - tt-rss.git/commitdiff
af_unburn: remove utm_* query parts
authorAndrew Dolgov <fox@madoka.volgo-balt.ru>
Sun, 13 Jan 2013 06:56:54 +0000 (10:56 +0400)
committerAndrew Dolgov <fox@madoka.volgo-balt.ru>
Sun, 13 Jan 2013 06:56:54 +0000 (10:56 +0400)
plugins/af_unburn/init.php

index 593f1abd9ce93f6f3a90a9ab51bf9da583f72e16..759be9e61deaf51e92db7af204ec3c9ccfaa3611 100644 (file)
@@ -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;
                        }