aboutsummaryrefslogtreecommitdiff
path: root/controllers/archive.php
diff options
context:
space:
mode:
Diffstat (limited to 'controllers/archive.php')
-rw-r--r--controllers/archive.php36
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;
+}