diff options
Diffstat (limited to 'controllers/archive.php')
| -rw-r--r-- | controllers/archive.php | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/controllers/archive.php b/controllers/archive.php index a54387b..dc72045 100644 --- a/controllers/archive.php +++ b/controllers/archive.php @@ -8,3 +8,39 @@ function on_get() { } catch(Exception $e) {} } + +function applyCorrectProtocol($url, $protocol) : string { + if (str_contains($url, $protocol)) { + return $url; + } + return $protocol . $url; +} + +function doesWebsiteExist($url) : bool { + // Check if the site exists with https + $https_url = applyCorrectProtocol($url, "https://"); + if ($https_url != $url) { + $url_headers = @get_headers($https_url); + if ($url_headers && $url_headers[0] != 'HTTP/1.1 404 Not Found') { + return true; + } + } + + // Check if the site exists with http + $http_url = applyCorrectProtocol($url, "http://"); + if ($http_url != $url) { + $url_headers = @get_headers($http_url); + if ($url_headers && $url_headers[0] != 'HTTP/1.1 404 Not Found') { + return true; + } + } + + // Check if the site exists as is + // Will take effect when the user has entered the https/http protocol with the site + $url_headers = @get_headers($url); + if ($url_headers && $url_headers[0] != 'HTTP/1.1 404 Not Found') { + return true; + } + + return false; +} |
