From e409c1c7123dce3838d6dd1a72b4b0c2f00fba10 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 2 Feb 2025 12:50:39 +0200 Subject: feat(views): Separate archive creation to it's own view --- views/archive/create/index.php | 1 + views/archive/create/meta.php | 5 +++++ views/archive/index.php | 12 +++++----- views/archive/meta.php | 50 +++++++++++++++++++++++++++++++++++++++++- views/global/router.php | 2 ++ 5 files changed, 63 insertions(+), 7 deletions(-) create mode 100644 views/archive/create/index.php create mode 100644 views/archive/create/meta.php (limited to 'views') diff --git a/views/archive/create/index.php b/views/archive/create/index.php new file mode 100644 index 0000000..378d2de --- /dev/null +++ b/views/archive/create/index.php @@ -0,0 +1 @@ +

Archiving ...

diff --git a/views/archive/create/meta.php b/views/archive/create/meta.php new file mode 100644 index 0000000..b5ad130 --- /dev/null +++ b/views/archive/create/meta.php @@ -0,0 +1,5 @@ +incrementVisits(); @@ -16,8 +16,8 @@ -
- + +
@@ -39,8 +39,8 @@

"" hasn't been archived yet!

-
- + +
diff --git a/views/archive/meta.php b/views/archive/meta.php index 001d07c..3c37565 100644 --- a/views/archive/meta.php +++ b/views/archive/meta.php @@ -2,4 +2,52 @@ $url = $_GET['url']; $title = $url . ' archive'; -$controller = 'archive'; + +function normalizeUrl(string &$url) : void { + $count_slashes = substr_count($url, "/"); + if (str_ends_with($url, "/index.html")) { + $url = substr($url, 0, strlen($url) - strlen("/index.html")); + } + elseif (str_ends_with($url, "/index")) { + $url = substr($url, 0, strlen($url) - strlen("/index")); + } + elseif (str_ends_with($url, "/")) { + $url = substr($url, 0, -1); + } +} + +function applyCorrectProtocol($url, $protocol) : string { + if (str_contains($url, $protocol)) { + return $url; + } + return $protocol . $url; +} + +function doesWebsiteExist($url) : array { + // 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 array(true, $https_url); + } + } + + // 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 array(true, $http_url); + } + } + + // 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 array(true, $url); + } + + return array(false, $url); +} diff --git a/views/global/router.php b/views/global/router.php index b668f33..16e143e 100644 --- a/views/global/router.php +++ b/views/global/router.php @@ -31,6 +31,8 @@ function route_view() { case '/list/new': return '/list/new'; case '/list/add': return '/list/add'; case '/list/delete': return '/list/delete'; + + case '/archive/create': return '/archive/create'; } switch ($root) { -- cgit v1.2.3