aboutsummaryrefslogtreecommitdiff
path: root/admin
diff options
context:
space:
mode:
authorMinteck <nekostarfan@gmail.com>2021-08-08 19:58:53 +0200
committerMinteck <nekostarfan@gmail.com>2021-08-08 19:58:53 +0200
commite255736e3f2a95ee82cadc01b0c70749ab946226 (patch)
tree5164e67e7d00adf24080f4b1246b2d7d789202d3 /admin
parenta20dff82a7e2602738f847fa4f1428af3235aafc (diff)
downloadmain-e255736e3f2a95ee82cadc01b0c70749ab946226.tar.gz
main-e255736e3f2a95ee82cadc01b0c70749ab946226.tar.bz2
main-e255736e3f2a95ee82cadc01b0c70749ab946226.zip
New admin features done
Diffstat (limited to 'admin')
-rw-r--r--admin/api/createURL.php20
-rw-r--r--admin/api/deleteURL.php23
-rw-r--r--admin/panes/shortens.php56
3 files changed, 97 insertions, 2 deletions
diff --git a/admin/api/createURL.php b/admin/api/createURL.php
new file mode 100644
index 0000000..dc8a569
--- /dev/null
+++ b/admin/api/createURL.php
@@ -0,0 +1,20 @@
+<?php
+
+require_once $_SERVER['DOCUMENT_ROOT'] . "/admin/private/header.api.php";
+
+if (isset($_GET['shortenedName']) && strpos($_GET['shortenedName'], "/") === false && strpos($_GET['shortenedName'], " ") === false) {
+ $name = $_GET['shortenedName'];
+} else {
+ die();
+}
+
+if (isset($_GET['redirectsTo']) && strpos($_GET['shortenedName'], " ") === false) {
+ $output = $_GET['redirectsTo'];
+} else {
+ die();
+}
+
+file_put_contents("/mnt/minteckrolt-urls/links.txt", file_get_contents("/mnt/minteckrolt-urls/links.txt") . "\n" . $name . " " . $output);
+
+header("Location: /admin/panes/shortens.php");
+die(); \ No newline at end of file
diff --git a/admin/api/deleteURL.php b/admin/api/deleteURL.php
new file mode 100644
index 0000000..895751e
--- /dev/null
+++ b/admin/api/deleteURL.php
@@ -0,0 +1,23 @@
+<?php
+
+require_once $_SERVER['DOCUMENT_ROOT'] . "/admin/private/header.api.php";
+
+if (isset($_GET['_']) && strpos($_GET['_'], "/") === false) {
+ $arg = $_GET['_'];
+} else {
+ die();
+}
+
+$urls = explode("\n", file_get_contents("/mnt/minteckrolt-urls/links.txt"));
+$newUrlsArr = [];
+
+foreach ($urls as $url) {
+ if (explode(" ", $url)[0] !== $arg) {
+ $newUrlsArr[] = $url;
+ }
+}
+
+file_put_contents("/mnt/minteckrolt-urls/links.txt", implode("\n", $newUrlsArr));
+
+header("Location: /admin/panes/shortens.php");
+die(); \ No newline at end of file
diff --git a/admin/panes/shortens.php b/admin/panes/shortens.php
index 51afcbb..165c198 100644
--- a/admin/panes/shortens.php
+++ b/admin/panes/shortens.php
@@ -33,9 +33,61 @@
<h2 style="text-align:center;">Shortened URLs</h2>
<ul class="list-group" style="margin-top:20px;">
- <li class="list-group-item">English (primary) <span style="float:right;"><a href="/admin/panes/editor.php?file=conduct.en&name=Code%20of%20Conduct%20-%20English&context=code">Edit</a> · <a href="/code-of-conduct/?en" target="_blank">View</a></span></li>
- <li class="list-group-item">French <span style="float:right;"><a href="/admin/panes/editor.php?file=conduct.fr&name=Code%20of%20Conduct%20-%20French&context=code">Edit</a> · <a href="/code-of-conduct/?fr" target="_blank">View</a></span></li>
+ <?php
+
+ $links = explode("\n", file_get_contents("/mnt/minteckrolt-urls/links.txt"));
+
+ foreach ($links as $link) {
+ if (trim($link) !== "") {
+ $url = explode(" ", $link)[0];
+ $redirect = explode(" ", $link)[1];
+
+ echo('<li class="list-group-item"><code>https://mt.ro.lt/<a href="https://mt.ro.lt/' . $url . '" target="_blank">' . $url . '</a></code> <span style="float:right;"><a href="#" onclick="deleteURL(\'' . $url . '\')">Delete</a></span></li>');
+ }
+ }
+
+ ?><li class="list-group-item">
+ <form id="creator" action="/admin/api/createURL.php">
+ <code>https://mt.ro.lt/<input type="text" name="shortenedName" placeholder="superurl"></code> → <input type="text" name="redirectsTo" placeholder="https://kde.org"> <span style="float:right;"><a href="#" onclick="document.getElementById('creator').submit();">Create</a></span>
+ </form>
+ </li>
</ul>
</div>
+<script>
+ let currurl;
+
+ function deleteURL(url) {
+ currurl = url;
+
+ $("#myModal").modal()
+ }
+
+ function confirmDelete(url) {
+ location.href = "/admin/api/deleteURL.php?_=" + url;
+ }
+</script>
+
+ <div class="modal" id="myModal">
+ <div class="modal-dialog">
+ <div class="modal-content">
+
+ <div class="modal-header">
+ <h4 class="modal-title">Delete this shortened URL?</h4>
+ <button type="button" class="close" data-dismiss="modal">&times;</button>
+ </div>
+
+ <div class="modal-body">
+ This cannot be undone and may have unwanted side effects. After this URL is deleted, it will redirect to Minteck's Space's homepage.
+ </div>
+
+ <div class="modal-footer">
+ <button type="button" class="btn btn-success" onclick="confirmDelete(currurl);">Confirm</button>
+ <button type="button" class="btn btn-danger" data-dismiss="modal">Cancel</button>
+ </div>
+
+ </div>
+ </div>
+ </div>
+
<?php require_once $_SERVER['DOCUMENT_ROOT'] . "/admin/private/footer.php"; ?> \ No newline at end of file