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 --- controllers/archive.php | 54 ++++-------------------------------------- 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 ++ 6 files changed, 67 insertions(+), 57 deletions(-) create mode 100644 views/archive/create/index.php create mode 100644 views/archive/create/meta.php diff --git a/controllers/archive.php b/controllers/archive.php index ffe9c70..fd278ff 100644 --- a/controllers/archive.php +++ b/controllers/archive.php @@ -7,7 +7,7 @@ use Exception; function on_post() { global $TOKEN; - $WEBSITE_CATEGORY = 'page_url'; + $WEBSITE_CATEGORY = 'url'; $DOWNLOADS_FOLDER = getenv('ARCHIVES_DIR'); $website_url = $_POST[$WEBSITE_CATEGORY]; $uid = 1; @@ -18,6 +18,9 @@ function on_post() { catch (Exception $e) {} } $currentPage = new DownloadPage($website_url, $DOWNLOADS_FOLDER, $uid); + + header('Location: /archive/?url=' . $website_url); + exit(); } class DownloadPage { @@ -404,52 +407,3 @@ class DownloadPage { fclose($indexFile); } } - -function applyCorrectProtocol($url, $protocol) : string { - if (str_contains($url, $protocol)) { - return $url; - } - return $protocol . $url; -} - -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 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/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