]> git.wh0rd.org - tt-rss.git/commitdiff
Have fetch_file_contents() save the effective URL.
authorJustAMacUser <myself-cmsmxc3e@zaikos.com>
Sun, 11 Feb 2018 07:56:28 +0000 (07:56 +0000)
committerJustAMacUser <myself-cmsmxc3e@zaikos.com>
Sun, 11 Feb 2018 07:56:28 +0000 (07:56 +0000)
include/functions.php

index 8a869dc08a08aa0318655aea05a08cf077ab5199..8e9949f75896215c5edc23e13ef817e573b733c9 100755 (executable)
@@ -11,6 +11,7 @@
        $fetch_last_error_code = false;
        $fetch_last_content_type = false;
        $fetch_last_error_content = false; // curl only for the time being
+       $fetch_effective_url = false;
        $fetch_curl_used = false;
        $suppress_debugging = false;
 
                global $fetch_last_error_content;
                global $fetch_last_content_type;
                global $fetch_last_modified;
+               global $fetch_effective_url;
                global $fetch_curl_used;
 
                $fetch_last_error = false;
                $fetch_last_content_type = "";
                $fetch_curl_used = false;
                $fetch_last_modified = "";
+               $fetch_effective_url = "";
 
                if (!is_array($options)) {
 
                        $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
                        $fetch_last_content_type = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
 
+                       $fetch_effective_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
+
                        $fetch_last_error_code = $http_code;
 
                        if ($http_code != 200 || $type && strpos($fetch_last_content_type, "$type") === false) {
 
                        $old_error = error_get_last();
 
+                       $fetch_effective_url = $url;
+
                        $data = @file_get_contents($url, false, $context);
 
                        if (isset($http_response_header) && is_array($http_response_header)) {
                                                        // e.g. if we were being redirected -- last one is the right one
                                                } else if ($key == 'last-modified') {
                                                        $fetch_last_modified = $value;
+                                               } else if ($key == 'location') {
+                                                       $fetch_effective_url = $value;
                                                }
                                        }