aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2021-12-04 15:42:09 +0100
committerMinteck <contact@minteck.org>2021-12-04 15:42:09 +0100
commitefadd6eda15122944d95e1b3f01c3f4c35d1f40a (patch)
tree7adce217645cdd220118c58cebc3dc129922edb2
parent79d295f26659dd3b6aea93bb64803bf0778a8f84 (diff)
downloadmain-efadd6eda15122944d95e1b3f01c3f4c35d1f40a.tar.gz
main-efadd6eda15122944d95e1b3f01c3f4c35d1f40a.tar.bz2
main-efadd6eda15122944d95e1b3f01c3f4c35d1f40a.zip
Commit
-rw-r--r--.gitignore3
-rw-r--r--.idea/deployment.xml7
-rw-r--r--.idea/sshConfigs.xml2
-rw-r--r--.idea/webServers.xml14
-rw-r--r--.idea/workspace.xml65
-rw-r--r--Fursona01.jpgbin0 -> 100105 bytes
-rw-r--r--Fursona02.jpgbin0 -> 319309 bytes
-rw-r--r--Fursona03.pngbin0 -> 154038 bytes
-rw-r--r--admin/callback/index.php8
-rw-r--r--admin/panes/home.php229
-rw-r--r--admin/private/header.api.php9
-rw-r--r--admin/private/header.php9
-rw-r--r--admin/private/header.sso.php9
-rw-r--r--contact/index.php40
-rw-r--r--creations/electrode/icon.txt2
-rw-r--r--creations/electrode/index.php2
-rw-r--r--creations/neutron/index.php135
-rw-r--r--creations/unchained/index.php2
-rw-r--r--includes/drafts/conduct.en.html1
-rw-r--r--includes/header.php105
-rw-r--r--includes/projects/home.php12
-rw-r--r--includes/stats/neutron.json53
-rw-r--r--includes/stats/neutron2.json20
-rw-r--r--includes/stats/stats.json6
-rw-r--r--includes/telemetry.php30
-rw-r--r--index.php85
-rw-r--r--metranslator/api.php5
-rw-r--r--metranslator/index.php28
-rw-r--r--mwspub/callback/index.php44
-rw-r--r--mwspub/index.php41
-rw-r--r--yKcw6aypKxss2qYZVUyjbz77H98QD44BavusQgP5T5tG4Wgc/project-fluff-0.2.1.7-linux.binbin0 -> 40170560 bytes
31 files changed, 588 insertions, 378 deletions
diff --git a/.gitignore b/.gitignore
index bb83a7f..2002f88 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,4 +5,5 @@ admin/private/app.json
includes/telemetry.json
includes/blog/data
admin/private/tokens
-admin/private/ipcache.json \ No newline at end of file
+admin/private/ipcache.json
+mwspub/private \ No newline at end of file
diff --git a/.idea/deployment.xml b/.idea/deployment.xml
index bafc51b..8cbc96f 100644
--- a/.idea/deployment.xml
+++ b/.idea/deployment.xml
@@ -1,15 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
- <component name="PublishConfigData" autoUpload="Always" serverName="Familine" preserveTimestamps="false" exclude=".git;.svn;.cvs;.idea;.DS_Store;.hg;*.hprof;*.pyc" remoteFilesAllowedToDisappearOnAutoupload="false">
+ <component name="PublishConfigData" autoUpload="Always" serverName="Familnie" preserveTimestamps="false" exclude=".git;.svn;.cvs;.idea;.DS_Store;.hg;*.hprof;*.pyc" remoteFilesAllowedToDisappearOnAutoupload="false">
<serverData>
- <paths name="Familine">
+ <paths name="Familnie">
<serverdata>
<mappings>
<mapping deploy="/mnt/minteckrolt-main" local="$PROJECT_DIR$" web="/" />
</mappings>
- <excludedPaths>
- <excludedPath path="/mnt/minteckrolt-main/chat" />
- </excludedPaths>
</serverdata>
</paths>
</serverData>
diff --git a/.idea/sshConfigs.xml b/.idea/sshConfigs.xml
index 489413b..c9a91c1 100644
--- a/.idea/sshConfigs.xml
+++ b/.idea/sshConfigs.xml
@@ -2,7 +2,7 @@
<project version="4">
<component name="SshConfigs">
<configs>
- <sshConfig authType="OPEN_SSH" host="minteck.ro.lt" id="4f929324-c6b7-4c35-973e-9859871ae6ae" port="22465" nameFormat="DESCRIPTIVE" username="root" />
+ <sshConfig authType="OPEN_SSH" connectionConfig="{&quot;serverAliveInterval&quot;:300}" host="minteck.ro.lt" id="4f929324-c6b7-4c35-973e-9859871ae6ae" port="22465" nameFormat="DESCRIPTIVE" username="root" />
</configs>
</component>
</project> \ No newline at end of file
diff --git a/.idea/webServers.xml b/.idea/webServers.xml
new file mode 100644
index 0000000..f561920
--- /dev/null
+++ b/.idea/webServers.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="WebServers">
+ <option name="servers">
+ <webServer id="698d9711-fa4f-4690-9dd0-a2ff8bf3350d" name="Familnie">
+ <fileTransfer accessType="SFTP" host="minteck.ro.lt" port="22465" sshConfigId="4f929324-c6b7-4c35-973e-9859871ae6ae" sshConfig="root@minteck.ro.lt:22465 agent" authAgent="true">
+ <advancedOptions>
+ <advancedOptions dataProtectionLevel="Private" passiveMode="true" shareSSLContext="true" />
+ </advancedOptions>
+ </fileTransfer>
+ </webServer>
+ </option>
+ </component>
+</project> \ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 994588c..a2277a4 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -2,6 +2,9 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="efd4dd1a-d09c-4a08-b9ea-ac28a5f96210" name="Default Changelist" comment="">
+ <change afterPath="$PROJECT_DIR$/Fursona01.jpg" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/Fursona02.jpg" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/Fursona03.png" afterDir="false" />
<change afterPath="$PROJECT_DIR$/api/v1/d.html" afterDir="false" />
<change afterPath="$PROJECT_DIR$/api/v1/index.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/api/v1/intro.html" afterDir="false" />
@@ -9,10 +12,33 @@
<change afterPath="$PROJECT_DIR$/api/v1/system/versions/api.json" afterDir="false" />
<change afterPath="$PROJECT_DIR$/api/v1/system/versions/index.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/api/v1/version.json" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/includes/drafts/conduct.en.html" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/mwspub/callback/index.php" afterDir="false" />
+ <change afterPath="$PROJECT_DIR$/mwspub/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/.idea/deployment.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/deployment.xml" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/.idea/sshConfigs.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/sshConfigs.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/admin/callback/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/admin/callback/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/admin/panes/home.php" beforeDir="false" afterPath="$PROJECT_DIR$/admin/panes/home.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/admin/private/header.api.php" beforeDir="false" afterPath="$PROJECT_DIR$/admin/private/header.api.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/admin/private/header.php" beforeDir="false" afterPath="$PROJECT_DIR$/admin/private/header.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/admin/private/header.sso.php" beforeDir="false" afterPath="$PROJECT_DIR$/admin/private/header.sso.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/api/v1" beforeDir="false" afterPath="$PROJECT_DIR$/api/v1" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/api/v1/LICENSE" beforeDir="false" afterPath="$PROJECT_DIR$/api/v1/LICENSE" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/api/v1/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/api/v1/README.md" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/contact/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/contact/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/creations/electrode/icon.txt" beforeDir="false" afterPath="$PROJECT_DIR$/creations/electrode/icon.txt" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/creations/electrode/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/creations/electrode/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/creations/neutron/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/creations/neutron/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/creations/unchained/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/creations/unchained/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/includes/header.php" beforeDir="false" afterPath="$PROJECT_DIR$/includes/header.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/includes/projects/home.php" beforeDir="false" afterPath="$PROJECT_DIR$/includes/projects/home.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/includes/stats/neutron.json" beforeDir="false" afterPath="$PROJECT_DIR$/includes/stats/neutron.json" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/includes/stats/neutron2.json" beforeDir="false" afterPath="$PROJECT_DIR$/includes/stats/neutron2.json" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/includes/stats/stats.json" beforeDir="false" afterPath="$PROJECT_DIR$/includes/stats/stats.json" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/includes/telemetry.php" beforeDir="false" afterPath="$PROJECT_DIR$/includes/telemetry.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/index.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/metranslator/api.php" beforeDir="false" afterPath="$PROJECT_DIR$/metranslator/api.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/metranslator/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/metranslator/index.php" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -44,12 +70,14 @@
</component>
<component name="HighlightingSettingsPerFile">
<setting file="file://$PROJECT_DIR$/oworadio/along/index.php" root0="FORCE_HIGHLIGHTING" root1="FORCE_HIGHLIGHTING" />
- <setting file="file://$PROJECT_DIR$/includes/header.php" root0="FORCE_HIGHLIGHTING" root1="FORCE_HIGHLIGHTING" />
- <setting file="file://$PROJECT_DIR$/oworadio/credits/index.php" root0="FORCE_HIGHLIGHTING" root1="FORCE_HIGHLIGHTING" />
- <setting file="file://$PROJECT_DIR$/oworadio/vlc/index.php" root0="FORCE_HIGHLIGHTING" root1="FORCE_HIGHLIGHTING" />
+ <setting file="file://$PROJECT_DIR$/oworadio/index.php" root0="FORCE_HIGHLIGHTING" root1="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/oworadio/dmca/index.php" root0="FORCE_HIGHLIGHTING" root1="FORCE_HIGHLIGHTING" />
+ <setting file="file://$PROJECT_DIR$/oworadio/vlc/index.php" root0="FORCE_HIGHLIGHTING" root1="FORCE_HIGHLIGHTING" />
+ <setting file="file://$PROJECT_DIR$/oworadio/credits/index.php" root0="FORCE_HIGHLIGHTING" root1="FORCE_HIGHLIGHTING" />
+ <setting file="file://$PROJECT_DIR$/includes/header.php" root0="FORCE_HIGHLIGHTING" root1="FORCE_HIGHLIGHTING" />
+ <setting file="file://$PROJECT_DIR$/metranslator/index.php" root0="FORCE_HIGHLIGHTING" root1="FORCE_HIGHLIGHTING" />
+ <setting file="file://$PROJECT_DIR$/metranslator/api.php" root0="FORCE_HIGHLIGHTING" root1="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/oworadio/source/index.php" root0="FORCE_HIGHLIGHTING" root1="FORCE_HIGHLIGHTING" />
- <setting file="file://$PROJECT_DIR$/oworadio/index.php" root0="FORCE_HIGHLIGHTING" root1="FORCE_HIGHLIGHTING" />
</component>
<component name="ProjectId" id="1uSXsJVRotgT3vBeF2buxr3NLO6" />
<component name="ProjectLevelVcsManager" settingsEditedManually="true">
@@ -81,16 +109,16 @@
<property name="nodejs_package_manager_path" value="npm" />
<property name="optimize.imports.on.save" value="true" />
<property name="rearrange.code.on.save" value="true" />
- <property name="settings.editor.selected.configurable" value="actions.on.save" />
+ <property name="settings.editor.selected.configurable" value="web.server" />
<property name="vue.rearranger.settings.migration" value="true" />
</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
+ <recent name="D:\Projets\Minteck.ro.lt" />
<recent name="$PROJECT_DIR$/tulpa" />
<recent name="D:\Projets\Minteck.ro.lt\oworadio" />
<recent name="D:\Projets\Minteck.ro.lt\oworadio\dmca" />
<recent name="D:\Projets\Minteck.ro.lt\includes\blog\data" />
- <recent name="$PROJECT_DIR$/admin/private" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="D:\Projets\Minteck.ro.lt\admin\panes" />
@@ -186,6 +214,23 @@
<workItem from="1630847867340" duration="31000" />
<workItem from="1631353232645" duration="3542000" />
<workItem from="1632581516280" duration="7558000" />
+ <workItem from="1632643672111" duration="1425000" />
+ <workItem from="1633248952963" duration="696000" />
+ <workItem from="1634479392023" duration="1177000" />
+ <workItem from="1634576360313" duration="1697000" />
+ <workItem from="1634853521545" duration="70000" />
+ <workItem from="1634972695564" duration="55000" />
+ <workItem from="1635691308420" duration="8000" />
+ <workItem from="1635691372418" duration="906000" />
+ <workItem from="1635970555817" duration="876000" />
+ <workItem from="1636020118243" duration="1277000" />
+ <workItem from="1636283671144" duration="171000" />
+ <workItem from="1636652290684" duration="1915000" />
+ <workItem from="1636896464426" duration="249000" />
+ <workItem from="1637356590061" duration="1097000" />
+ <workItem from="1637865713867" duration="1260000" />
+ <workItem from="1637957905842" duration="628000" />
+ <workItem from="1638035864307" duration="25000" />
</task>
<servers />
</component>
@@ -210,4 +255,8 @@
<path value="$PROJECT_DIR$/.." />
</ignored-roots>
</component>
+ <component name="XSLT-Support.FileAssociations.UIState">
+ <expand />
+ <select />
+ </component>
</project> \ No newline at end of file
diff --git a/Fursona01.jpg b/Fursona01.jpg
new file mode 100644
index 0000000..7df0a2a
--- /dev/null
+++ b/Fursona01.jpg
Binary files differ
diff --git a/Fursona02.jpg b/Fursona02.jpg
new file mode 100644
index 0000000..87ce170
--- /dev/null
+++ b/Fursona02.jpg
Binary files differ
diff --git a/Fursona03.png b/Fursona03.png
new file mode 100644
index 0000000..79565be
--- /dev/null
+++ b/Fursona03.png
Binary files differ
diff --git a/admin/callback/index.php b/admin/callback/index.php
index 5052369..f938621 100644
--- a/admin/callback/index.php
+++ b/admin/callback/index.php
@@ -8,7 +8,7 @@ if (!isset($_GET['code'])) {
$appdata = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/admin/private/app.json"), true);
-$crl = curl_init('https://jetbrains.minteck.ro.lt:1024/hub/hub/api/rest/oauth2/token');
+$crl = curl_init('https://account.minteck.org/hub/hub/api/rest/oauth2/token');
curl_setopt($crl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($crl, CURLINFO_HEADER_OUT, true);
curl_setopt($crl, CURLOPT_POST, true);
@@ -17,7 +17,7 @@ curl_setopt($crl, CURLOPT_HTTPHEADER, [
"Content-Type: application/x-www-form-urlencoded",
"Accept: application/json"
]);
-curl_setopt($crl, CURLOPT_POSTFIELDS, "grant_type=authorization_code&redirect_uri=" . urlencode("https://minteck.ro.lt/admin/callback") . "&code=" . $_GET['code']);
+curl_setopt($crl, CURLOPT_POSTFIELDS, "grant_type=authorization_code&redirect_uri=" . urlencode("https://minteck.org/admin/callback") . "&code=" . $_GET['code']);
$result = curl_exec($crl);
$result = json_decode($result, true);
@@ -25,7 +25,7 @@ $result = json_decode($result, true);
curl_close($crl);
if (isset($result["access_token"])) {
- $crl = curl_init('https://jetbrains.minteck.ro.lt:1024/hub/hub/api/rest/users/me');
+ $crl = curl_init('https://account.minteck.org/hub/hub/api/rest/users/me');
curl_setopt($crl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($crl, CURLINFO_HEADER_OUT, true);
curl_setopt($crl, CURLOPT_HTTPHEADER, [
@@ -46,7 +46,7 @@ if (isset($result["access_token"])) {
if ($login) {
$token = bin2hex(random_bytes(32));
file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/admin/private/tokens/" . $token, json_encode($result));
- setcookie("ADMIN_TOKEN", $token, 0, "/", ".minteck.ro.lt", true, true);
+ setcookie("ADMIN_TOKEN", $token, 0, "/", ".minteck.org", true, true);
header("Location: /admin");
} else {
diff --git a/admin/panes/home.php b/admin/panes/home.php
index 3bc3429..f31dc72 100644
--- a/admin/panes/home.php
+++ b/admin/panes/home.php
@@ -1,115 +1,116 @@
-<?php require_once $_SERVER['DOCUMENT_ROOT'] . "/admin/private/header.php";/** @var array $_DATA */ ?>
-
-<style>
- ::-webkit-scrollbar {
- width: 5px;
- }
-
- ::-webkit-scrollbar-track {
- border-radius: 9999px;
- background: transparent;
- }
-
- ::-webkit-scrollbar-thumb {
- border-radius: 9999px;
- background-color: rgba(136, 136, 136, 0.5);
- transition: background 200ms;
- }
-
- ::-webkit-scrollbar-thumb:hover {
- background-color: rgba(85, 85, 85, 0.75);
- }
-
- ::-webkit-scrollbar-thumb:active {
- background-color: #222;
- }
-
- .list-group-item {
- background: #34373c;
- }
-</style>
-
-<div class="container" style="color:white;padding-top:15vh;padding-bottom:15vh;">
- <h2 style="text-align:center;"><?= l("Welcome back", "Vous revoilà") ?> <?= $_DATA["name"] ?><?= l("", " ") ?>!</h2>
- <ul class="list-group" style="margin-top:30px;">
- <li class="list-group-item">
- <span id="temperature"><?= l("Server running at", "Serveur fonctionnant à") ?> <b>--.-°C</b>, n/a</span> <a href="#" onclick="window.parent.activity('activity-version', '/admin/panes/version.php', window.parent.document.getElementById('activity-version'));" style="float:right;"><?= l("Manage", "Gérer") ?>...</a></li><li class="list-group-item"><b><?php
-
- $uca = scandir("/mnt/blogchain/_posts");
- $uct = [];
-
- foreach ($uca as $art) {
- if (is_file("/mnt/blogchain/_posts/" . $art) && substr($art, 0, 1) !== "." && substr($art, 0, 1) !== "_") {
- $uct[] = $art;
- }
- }
-
- echo(count($uct));
-
- ?></b> <?= l("UnchainedTech article·s", "article·s sur UnchainedTech") ?>, <?php
-
- $uca = scandir("/mnt/blogchain/_posts/_drafts");
- $uct2 = [];
-
- foreach ($uca as $art) {
- if (is_file("/mnt/blogchain/_posts/_drafts/" . $art) && substr($art, 0, 1) !== "." && substr($art, 0, 1) !== "_") {
- $uct2[] = $art;
- }
- }
-
- echo(count($uct2));
-
- ?> <?= l("draft·s", "brouillon·s") ?> <a onclick="window.parent.activity('activity-unchained', '/admin/panes/unchained.php', window.parent.document.getElementById('activity-unchained'));" href="#" style="float:right;"><?= l("Manage", "Gérer") ?>...</a></li>
- <li class="list-group-item"><b><?php
-
- $uca = scandir("/mnt/minteckrolt-cloud");
- $uct3 = [];
-
- foreach ($uca as $art) {
- if (is_dir("/mnt/minteckrolt-cloud/" . $art) && substr($art, 0, 1) === "~") {
- $uct3[] = $art;
- }
- }
-
- echo(count($uct3));
-
- ?></b> <?= l("Neutron Cloud website·s", "site·s Neutron Cloud") ?> <a onclick="window.parent.activity('activity-quotas', '/admin/panes/quotas.php', window.parent.document.getElementById('activity-quotas'));" href="#" style="float:right;"><?= l("Manage", "Gérer") ?>...</a></li>
- <li class="list-group-item"><b><?php
-
- $uca = scandir("/mnt/kartik/online/private/stats");
- $uct4 = [];
-
- foreach ($uca as $art) {
- if (is_file("/mnt/kartik/online/private/stats/" . $art)) {
- $uct4[] = $art;
- }
- }
-
- echo(count($uct4));
-
- ?></b> <?= l("Kartik Online player·s", "joueurs·s Kartik Online") ?> <a onclick="window.parent.activity('activity-kartik', '/admin/panes/kartik.php', window.parent.document.getElementById('activity-kartik'));" href="#" style="float:right;"><?= l("Manage", "Gérer") ?>...</a></li>
- <li class="list-group-item"><?= l("Using", "Utilisation de") ?> <b><?php
-
- exec("df -h -x tmpfs -x squashfs -x devtmpfs --total -P", $outdisk);
- $outn = explode(" ", preg_replace('/\s+/', ' ', $outdisk[count($outdisk) - 1]));
- echo($outn[2] . "/" . $outn[1]);
-
- ?></b> <?= l("on all disks", "sur tous les disques") ?>, <b><?php
-
- echo($outn[3]);
-
- ?></b> <?= l("free", "de libre") ?> <a onclick="window.parent.activity('activity-disk', '/admin/panes/disk.php', window.parent.document.getElementById('activity-disk'));" href="#" style="float:right;"><?= l("Manage", "Gérer") ?>...</a></li>
- </ul>
- <!--suppress JSUnresolvedVariable, JSUnresolvedFunction -->
- <script>
- setInterval(() => {
- $.ajax("/admin/api/serverTemp.php", {
- success: (data) => {
- document.getElementById("temperature").innerHTML = data;
- }
- });
- }, 500)
- </script>
-</div>
-
+<?php require_once $_SERVER['DOCUMENT_ROOT'] . "/admin/private/header.php";/** @var array $_DATA */ ?>
+
+<style>
+ ::-webkit-scrollbar {
+ width: 5px;
+ }
+
+ ::-webkit-scrollbar-track {
+ border-radius: 9999px;
+ background: transparent;
+ }
+
+ ::-webkit-scrollbar-thumb {
+ border-radius: 9999px;
+ background-color: rgba(136, 136, 136, 0.5);
+ transition: background 200ms;
+ }
+
+ ::-webkit-scrollbar-thumb:hover {
+ background-color: rgba(85, 85, 85, 0.75);
+ }
+
+ ::-webkit-scrollbar-thumb:active {
+ background-color: #222;
+ }
+
+ .list-group-item {
+ background: #34373c;
+ }
+</style>
+
+<div class="container" style="color:white;padding-top:15vh;padding-bottom:15vh;">
+ <h2 style="text-align:center;"><?= l("Welcome back", "Vous revoilà") ?> <?= $_DATA["name"] ?><?= l("", " ") ?>!</h2>
+ <ul class="list-group" style="margin-top:30px;">
+ <li class="list-group-item">
+ <span id="temperature"><?= l("Server running at", "Serveur fonctionnant à") ?> <b>--.-°C</b>, n/a</span> <a href="#" onclick="window.parent.activity('activity-version', '/admin/panes/version.php', window.parent.document.getElementById('activity-version'));" style="float:right;"><?= l("Manage", "Gérer") ?>...</a></li><li class="list-group-item"><b><?php
+
+ $uca = scandir("/mnt/blogchain/_posts");
+ $uct = [];
+
+ foreach ($uca as $art) {
+ if (is_file("/mnt/blogchain/_posts/" . $art) && substr($art, 0, 1) !== "." && substr($art, 0, 1) !== "_") {
+ $uct[] = $art;
+ }
+ }
+
+ echo(count($uct));
+
+ ?></b> <?= l("UnchainedTech article·s", "article·s sur UnchainedTech") ?>, <?php
+
+ $uca = scandir("/mnt/blogchain/_posts/_drafts");
+ $uct2 = [];
+
+ foreach ($uca as $art) {
+ if (is_file("/mnt/blogchain/_posts/_drafts/" . $art) && substr($art, 0, 1) !== "." && substr($art, 0, 1) !== "_") {
+ $uct2[] = $art;
+ }
+ }
+
+ echo(count($uct2));
+
+ ?> <?= l("draft·s", "brouillon·s") ?> <a onclick="window.parent.activity('activity-unchained', '/admin/panes/unchained.php', window.parent.document.getElementById('activity-unchained'));" href="#" style="float:right;"><?= l("Manage", "Gérer") ?>...</a></li>
+ <li class="list-group-item"><b><?php
+
+ $uca = scandir("/mnt/minteckrolt-cloud");
+ $uct3 = [];
+
+ foreach ($uca as $art) {
+ if (is_dir("/mnt/minteckrolt-cloud/" . $art) && substr($art, 0, 1) === "~") {
+ $uct3[] = $art;
+ }
+ }
+
+ echo(count($uct3));
+
+ ?></b> <?= l("Neutron Cloud website·s", "site·s Neutron Cloud") ?> <a onclick="window.parent.activity('activity-quotas', '/admin/panes/quotas.php', window.parent.document.getElementById('activity-quotas'));" href="#" style="float:right;"><?= l("Manage", "Gérer") ?>...</a></li>
+ <li class="list-group-item"><b><?php
+
+ $uca = scandir("/mnt/kartik/online/private/stats");
+ $uct4 = [];
+
+ foreach ($uca as $art) {
+ if (is_file("/mnt/kartik/online/private/stats/" . $art)) {
+ $uct4[] = $art;
+ }
+ }
+
+ echo(count($uct4));
+
+ ?></b> <?= l("Kartik Online player·s", "joueurs·s Kartik Online") ?> <a onclick="window.parent.activity('activity-kartik', '/admin/panes/kartik.php', window.parent.document.getElementById('activity-kartik'));" href="#" style="float:right;"><?= l("Manage", "Gérer") ?>...</a></li>
+ <li class="list-group-item"><?= l("Using", "Utilisation de") ?> <b><?php
+
+ exec("df -h -x tmpfs -x squashfs -x devtmpfs --total -P", $outdisk);
+ $outn = explode(" ", preg_replace('/\s+/', ' ', $outdisk[count($outdisk) - 1]));
+ echo($outn[2] . "/" . $outn[1]);
+
+ ?></b> <?= l("on all disks", "sur tous les disques") ?>, <b><?php
+
+ echo($outn[3]);
+
+ ?></b> <?= l("free", "de libre") ?> <a onclick="window.parent.activity('activity-disk', '/admin/panes/disk.php', window.parent.document.getElementById('activity-disk'));" href="#" style="float:right;"><?= l("Manage", "Gérer") ?>...</a></li>
+ </ul>
+ <!--suppress JSUnresolvedVariable, JSUnresolvedFunction -->
+ <script>
+ setInterval(() => {
+ $.ajax("/admin/api/serverTemp.php", {
+ success: (data) => {
+ document.getElementById("temperature").innerHTML = data;
+ }
+ });
+ }, 500)
+ </script>
+</div>
+<script src="https://bm.jae.su/web/libs/FtechWebring.client.js" async></script>
+
<?php require_once $_SERVER['DOCUMENT_ROOT'] . "/admin/private/footer.php"; ?> \ No newline at end of file
diff --git a/admin/private/header.api.php b/admin/private/header.api.php
index a8fdee8..c2d8f2f 100644
--- a/admin/private/header.api.php
+++ b/admin/private/header.api.php
@@ -1,23 +1,24 @@
<?php
if (!isset($_COOKIE["ADMIN_TOKEN"])) {
- header("Location: https://jetbrains.minteck.ro.lt:1024/hub/hub/api/rest/oauth2/auth?client_id=36245ba5-ee9f-44c1-a149-ab2006fcb226&response_type=code&redirect_uri=https://minteck.ro.lt/admin/callback&scope=hub&request_credentials=default&access_type=offline");
+ header("Location: https://account.minteck.org/hub/hub/api/rest/oauth2/auth?client_id=36245ba5-ee9f-44c1-a149-ab2006fcb226&response_type=code&redirect_uri=https://minteck.org/admin/callback&scope=hub&request_credentials=default&access_type=offline");
die();
} else if (ctype_xdigit($_COOKIE["ADMIN_TOKEN"]) && file_exists($_SERVER['DOCUMENT_ROOT'] . "/admin/private/tokens/" . $_COOKIE['ADMIN_TOKEN'])) {
$_DATA = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/admin/private/tokens/" . $_COOKIE['ADMIN_TOKEN']), true);
} else {
- header("Location: https://jetbrains.minteck.ro.lt:1024/hub/hub/api/rest/oauth2/auth?client_id=36245ba5-ee9f-44c1-a149-ab2006fcb226&response_type=code&redirect_uri=https://minteck.ro.lt/admin/callback&scope=hub&request_credentials=default&access_type=offline");
+ header("Location: https://account.minteck.org/hub/hub/api/rest/oauth2/auth?client_id=36245ba5-ee9f-44c1-a149-ab2006fcb226&response_type=code&redirect_uri=https://minteck.org/admin/callback&scope=hub&request_credentials=default&access_type=offline");
die();
}
$_PERMSFORAPI = true;
require_once $_SERVER['DOCUMENT_ROOT'] . "/admin/private/permissions.php";
-function l($en, $fr = null) {
+function l($en, $fr = null)
+{
global $lang;
if ((($lang === "fr" && isset($fr)) || (isset($_GET['fr']) && isset($fr) || isset($_COOKIE['fr']))) && !isset($_GET['en']) && !isset($_COOKIE['en']) && isset($fr)) {
- setlocale(LC_TIME, array('fr_FR.UTF-8','fr_FR@euro','fr_FR','french'));
+ setlocale(LC_TIME, array('fr_FR.UTF-8', 'fr_FR@euro', 'fr_FR', 'french'));
return $fr;
} else {
return $en;
diff --git a/admin/private/header.php b/admin/private/header.php
index 454fa7d..d3d3ce8 100644
--- a/admin/private/header.php
+++ b/admin/private/header.php
@@ -1,12 +1,12 @@
<?php
if (!isset($_COOKIE["ADMIN_TOKEN"])) {
- header("Location: https://jetbrains.minteck.ro.lt:1024/hub/hub/api/rest/oauth2/auth?client_id=36245ba5-ee9f-44c1-a149-ab2006fcb226&response_type=code&redirect_uri=https://minteck.ro.lt/admin/callback&scope=hub&request_credentials=default&access_type=offline");
+ header("Location: https://account.minteck.org/hub/hub/api/rest/oauth2/auth?client_id=36245ba5-ee9f-44c1-a149-ab2006fcb226&response_type=code&redirect_uri=https://minteck.org/admin/callback&scope=hub&request_credentials=default&access_type=offline");
die();
} else if (ctype_xdigit($_COOKIE["ADMIN_TOKEN"]) && file_exists($_SERVER['DOCUMENT_ROOT'] . "/admin/private/tokens/" . $_COOKIE['ADMIN_TOKEN'])) {
$_DATA = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/admin/private/tokens/" . $_COOKIE['ADMIN_TOKEN']), true);
} else {
- header("Location: https://jetbrains.minteck.ro.lt:1024/hub/hub/api/rest/oauth2/auth?client_id=36245ba5-ee9f-44c1-a149-ab2006fcb226&response_type=code&redirect_uri=https://minteck.ro.lt/admin/callback&scope=hub&request_credentials=default&access_type=offline");
+ header("Location: https://account.minteck.org/hub/hub/api/rest/oauth2/auth?client_id=36245ba5-ee9f-44c1-a149-ab2006fcb226&response_type=code&redirect_uri=https://minteck.org/admin/callback&scope=hub&request_credentials=default&access_type=offline");
die();
}
@@ -14,11 +14,12 @@ $_PERMSFORAPI = false;
require_once $_SERVER['DOCUMENT_ROOT'] . "/admin/private/permissions.php";
if (!function_exists("l")) {
- function l($en, $fr = null) {
+ function l($en, $fr = null)
+ {
global $lang;
if ((($lang === "fr" && isset($fr)) || (isset($_GET['fr']) && isset($fr) || isset($_COOKIE['fr']))) && !isset($_GET['en']) && !isset($_COOKIE['en']) && isset($fr)) {
- setlocale(LC_TIME, array('fr_FR.UTF-8','fr_FR@euro','fr_FR','french'));
+ setlocale(LC_TIME, array('fr_FR.UTF-8', 'fr_FR@euro', 'fr_FR', 'french'));
return $fr;
} else {
return $en;
diff --git a/admin/private/header.sso.php b/admin/private/header.sso.php
index 5911f62..4dec3d9 100644
--- a/admin/private/header.sso.php
+++ b/admin/private/header.sso.php
@@ -1,23 +1,24 @@
<?php
if (!isset($_COOKIE["ADMIN_TOKEN"])) {
- header("Location: https://jetbrains.minteck.ro.lt:1024/hub/hub/api/rest/oauth2/auth?client_id=36245ba5-ee9f-44c1-a149-ab2006fcb226&response_type=code&redirect_uri=https://minteck.ro.lt/admin/callback&scope=hub&request_credentials=default&access_type=offline");
+ header("Location: https://account.minteck.org/hub/hub/api/rest/oauth2/auth?client_id=36245ba5-ee9f-44c1-a149-ab2006fcb226&response_type=code&redirect_uri=https://minteck.org/admin/callback&scope=hub&request_credentials=default&access_type=offline");
die();
} else if (ctype_xdigit($_COOKIE["ADMIN_TOKEN"]) && file_exists($_SERVER['DOCUMENT_ROOT'] . "/admin/private/tokens/" . $_COOKIE['ADMIN_TOKEN'])) {
$_DATA = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/admin/private/tokens/" . $_COOKIE['ADMIN_TOKEN']), true);
} else {
- header("Location: https://jetbrains.minteck.ro.lt:1024/hub/hub/api/rest/oauth2/auth?client_id=36245ba5-ee9f-44c1-a149-ab2006fcb226&response_type=code&redirect_uri=https://minteck.ro.lt/admin/callback&scope=hub&request_credentials=default&access_type=offline");
+ header("Location: https://account.minteck.org/hub/hub/api/rest/oauth2/auth?client_id=36245ba5-ee9f-44c1-a149-ab2006fcb226&response_type=code&redirect_uri=https://minteck.org/admin/callback&scope=hub&request_credentials=default&access_type=offline");
die();
}
$_PERMSFORSSO = true;
require_once $_SERVER['DOCUMENT_ROOT'] . "/admin/private/permissions.php";
-function l($en, $fr = null) {
+function l($en, $fr = null)
+{
global $lang;
if ((($lang === "fr" && isset($fr)) || (isset($_GET['fr']) && isset($fr) || isset($_COOKIE['fr']))) && !isset($_GET['en']) && !isset($_COOKIE['en']) && isset($fr)) {
- setlocale(LC_TIME, array('fr_FR.UTF-8','fr_FR@euro','fr_FR','french'));
+ setlocale(LC_TIME, array('fr_FR.UTF-8', 'fr_FR@euro', 'fr_FR', 'french'));
return $fr;
} else {
return $en;
diff --git a/contact/index.php b/contact/index.php
index b4b36dc..3906b6e 100644
--- a/contact/index.php
+++ b/contact/index.php
@@ -1,4 +1,5 @@
-<?php $_TITLE = "Contact me"; require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/header.php"; ?>
+<?php $_TITLE = "Contact me";
+require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/header.php"; ?>
<div style="z-index: 5;background: #fff;min-height: calc(100vh - 57px);" id="main-box">
<div id="project-hero" style="background-image:url('/static/hero/contact.jpg');"></div>
@@ -16,17 +17,32 @@
</style>
<ul>
- <li><b><img alt="" src="/static/contacts/email.png" class="os-logo"> Email</b> — <a href="mailto:nekostarfan@gmail.com" target="_blank">nekostarfan@gmail.com</a></li>
- <li><b><img alt="" src="/static/contacts/twitter.png" class="os-logo"> Twitter</b> — <a href="https://twitter.com/_Minteck" target="_blank">@_Minteck</a> — DMs open!</li>
- <li><b><img alt="" src="/static/contacts/reddit.png" class="os-logo"> Reddit</b> — <a href="https://reddit.com/u/Minteck" target="_blank">u/Minteck</a> — DMs open!</li>
- <li><b><img alt="" src="/static/contacts/discord.png" class="os-logo"> Discord</b> — @Minteck#2245 — <?= l("please contact only if we're friends", "merci de me contacter uniquement si nous sommes amis") ?></li>
- <li><b><img alt="" src="/static/contacts/youtube.png" class="os-logo"> YouTube</b> — <a href="https://www.youtube.com/channel/UCfjxe9cs-ovoP1rBVwdMq0Q" target="_blank">Minteck</a></li>
- <li><b><img alt="" src="/static/contacts/music.png" class="os-logo"> YouTube Music</b> — <a href="https://music.youtube.com/channel/UCfjxe9cs-ovoP1rBVwdMq0Q" target="_blank">Minteck</a></li>
- <li><b><img alt="" src="/static/contacts/soundcloud.png" class="os-logo"> SoundCloud</b> — <a href="https://soundcloud.com/minteck" target="_blank">Minteck</a></li>
- <li><b><img alt="" src="/static/contacts/github.png" class="os-logo"> GitHub</b> — <a href="https://github.com/Minteck" target="_blank">Minteck</a></li>
- <li><b><img alt="" src="/static/contacts/kde.png" class="os-logo"> MyKDE</b> — <a href="https://my.kde.org/user/minteck/" target="_blank">Minteck</a></li>
- <li><b><img alt="" src="/static/contacts/matrix.png" class="os-logo"> Matrix</b> — <a href="https://matrix.to/#/@minteck:kde.org" target="_blank">@minteck:kde.org</a></li>
- <li><b><img alt="" src="/static/contacts/gravatar.png" class="os-logo"> Gravatar</b> — <a href="https://gravatar.com/minteck" target="_blank">Minteck</a></li>
+ <li><b><img alt="" src="/static/contacts/email.png" class="os-logo"> Email</b> — <a
+ href="mailto:contact@minteck.org" target="_blank">contact@minteck.org</a></li>
+ <li><b><img alt="" src="/static/contacts/twitter.png" class="os-logo"> Twitter</b> — <a
+ href="https://twitter.com/_Minteck" target="_blank">@_Minteck</a> — DMs open!
+ </li>
+ <li><b><img alt="" src="/static/contacts/reddit.png" class="os-logo"> Reddit</b> — <a
+ href="https://reddit.com/u/Minteck" target="_blank">u/Minteck</a> — DMs open!
+ </li>
+ <li><b><img alt="" src="/static/contacts/discord.png" class="os-logo"> Discord</b> — @Minteck#2245
+ — <?= l("please contact only if we're friends", "merci de me contacter uniquement si nous sommes amis") ?>
+ </li>
+ <li><b><img alt="" src="/static/contacts/youtube.png" class="os-logo"> YouTube</b> — <a
+ href="https://www.youtube.com/channel/UCfjxe9cs-ovoP1rBVwdMq0Q" target="_blank">Minteck</a></li>
+ <li><b><img alt="" src="/static/contacts/music.png" class="os-logo"> YouTube Music</b> — <a
+ href="https://music.youtube.com/channel/UCfjxe9cs-ovoP1rBVwdMq0Q" target="_blank">Minteck</a>
+ </li>
+ <li><b><img alt="" src="/static/contacts/soundcloud.png" class="os-logo"> SoundCloud</b> — <a
+ href="https://soundcloud.com/minteck" target="_blank">Minteck</a></li>
+ <li><b><img alt="" src="/static/contacts/github.png" class="os-logo"> GitHub</b> — <a
+ href="https://github.com/Minteck" target="_blank">Minteck</a></li>
+ <li><b><img alt="" src="/static/contacts/kde.png" class="os-logo"> MyKDE</b> — <a
+ href="https://my.kde.org/user/minteck/" target="_blank">Minteck</a></li>
+ <li><b><img alt="" src="/static/contacts/matrix.png" class="os-logo"> Matrix</b> — <a
+ href="https://matrix.to/#/@minteck:jae.fi" target="_blank">@minteck:jae.fi</a></li>
+ <li><b><img alt="" src="/static/contacts/gravatar.png" class="os-logo"> Gravatar</b> — <a
+ href="https://gravatar.com/minteck" target="_blank">Minteck</a></li>
</ul>
<h2><?= l("Artworks credit", "Crédits des dessins") ?></h2>
diff --git a/creations/electrode/icon.txt b/creations/electrode/icon.txt
index cfd2a44..5eff592 100644
--- a/creations/electrode/icon.txt
+++ b/creations/electrode/icon.txt
@@ -1 +1 @@
-https://jetbrains.minteck.ro.lt:1024/hub/hub/api/rest/projects/7de182b9-17f3-4873-96f6-5c2d6c3602ad/icon?etag=MjctNjc%3D&dpr=1&size=32 \ No newline at end of file
+https://account.minteck.org/hub/hub/api/rest/projects/7de182b9-17f3-4873-96f6-5c2d6c3602ad/icon?etag=MjctNjc%3D&dpr=1&size=32 \ No newline at end of file
diff --git a/creations/electrode/index.php b/creations/electrode/index.php
index 29b0b0a..b01d30f 100644
--- a/creations/electrode/index.php
+++ b/creations/electrode/index.php
@@ -1,4 +1,4 @@
<?php
-header("Location: https://github.com/Minteck-Projects/Electrode");
+header("Location: https://source.minteck.org/atomic-suite/electrode");
die(); \ No newline at end of file
diff --git a/creations/neutron/index.php b/creations/neutron/index.php
index f4d2d3e..22b98eb 100644
--- a/creations/neutron/index.php
+++ b/creations/neutron/index.php
@@ -1,113 +1,76 @@
-<?php $_TITLE = "Neutron"; require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/header.php"; ?>
-<div style="margin-top: 56px;z-index: 5;background: #fff;padding-top: 20px;min-height: calc(100vh - 57px);" id="main-box">
+<?php $_TITLE = "Neutron";
+require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/header.php"; ?>
+<div style="margin-top: 56px;z-index: 5;background: #fff;padding-top: 20px;min-height: calc(100vh - 57px);"
+ id="main-box">
<div id="project-hero" style="background-image:url('/static/hero/neutron.jpg');"></div>
<div class="container">
<h2><?= l("Neutron, your future website designer", "Neutron, le futur designer de votre site Web") ?></h2>
- <p>Neutron is software created so that you can easily manage one or more websites without any required knowledge. Whether you are developer or not, Neutron is the best way to have a ready-to-go website.</p>
- <p>Neutron is released under the GNU General Public License version 3, which means you can contribute to the project and improve it.</p>
+ <p>Neutron is software created so that you can easily manage one or more websites without any required
+ knowledge. Whether you are developer or not, Neutron is the best way to have a ready-to-go website.</p>
+ <p>Neutron is released under the GNU General Public License version 3, which means you can contribute to the
+ project and improve it.</p>
<h3>Run Neutron on the cloud <span class="badge bg-secondary">New!</span></h3>
- Neutron 10 introduces support for a new much wanted technology: Neutron Cloud. The concept is simple: <b>you create, we host</b>. Here are the 5 top points for choosing Neutron Cloud instead of using Neutron on-premises:
+ Neutron 10 introduces support for a new much wanted technology: Neutron Cloud. The concept is simple: <b>you
+ create, we host</b>. Here are the 5 top points for choosing Neutron Cloud instead of using Neutron
+ on-premises:
<ul>
- <li><b>it's free, and will be forever</b>. You don't have to buy/rent a server to use Neutron. We think everyone deserve the right to have a private place where they can share their life.</li>
+ <li><b>it's free, and will be forever</b>. You don't have to buy/rent a server to use Neutron. We think
+ everyone deserve the right to have a private place where they can share their life.
+ </li>
<li><b>forget the hassle</b>. You write your content, we take care of the rest.</li>
- <li><b>always fresh and secure</b>. Your Neutron Cloud is always up-to-date with the latest development version of Neutron.</li>
- <li><b>fast at large scales</b>. Neutron Cloud allows you to have at most 250 unique visitors per month, and they all will get the same level of performance.</li>
- <li><b>share it</b>. Your Neutron Cloud website can get a custom shortened URL that you can share everywhere.</li>
+ <li><b>always fresh and secure</b>. Your Neutron Cloud is always up-to-date with the latest development
+ version of Neutron.
+ </li>
+ <li><b>fast at large scales</b>. Neutron Cloud allows you to have at most 250 unique visitors per month, and
+ they all will get the same level of performance.
+ </li>
+ <li><b>share it</b>. Your Neutron Cloud website can get a custom shortened URL that you can share
+ everywhere.
+ </li>
</ul>
- <p>Neutron Cloud is currently available after registration on <b><a href="https://docs.google.com/forms/d/1ozcKpET3U42ZHw-XolwNVTOseyhlVxxqG9EG8xrkyaU/viewform">HERE</a></b>. We limit registration to prevent abuse and know how you intend to use your Neutron Cloud website. If you already have a website running Neutron on your own server, you can send us the files and we migrate your website!</p>
+ <p>Neutron Cloud is currently available after registration on <b><a
+ href="https://docs.google.com/forms/d/1ozcKpET3U42ZHw-XolwNVTOseyhlVxxqG9EG8xrkyaU/viewform">HERE</a></b>.
+ We limit registration to prevent abuse and know how you intend to use your Neutron Cloud website. If you
+ already have a website running Neutron on your own server, you can send us the files and we migrate your
+ website!</p>
<details>
<summary>Restrictions apply, click here to see</summary>
<ul>
- <li>The Neutron Cloud service is reserved only for individuals and non-profit organizations. Select professional and commercial users may get access to Neutron Cloud.</li>
+ <li>The Neutron Cloud service is reserved only for individuals and non-profit organizations. Select
+ professional and commercial users may get access to Neutron Cloud.
+ </li>
<li>Access to Neutron Cloud does not give additional support priority over regular Neutron users.</li>
<li>Website traffic is limited to 250 unique users (counted using IP address) per month</li>
- <li>Website storage is soft-limited to 100 MiB; the website may be suspended if you exceed this limit</li>
+ <li>Website storage is soft-limited to 100 MiB; the website may be suspended if you exceed this limit
+ </li>
<li>Minimal uptime is guaranteed according to the following schedule:
- <ul>
- <li>25% uptime on July and August (due to yearly maintenances)</li>
- <li>80% uptime from March to May (due to maintenances)</li>
- <li>85% uptime in June (due to high temperatures)</li>
- <li>99% uptime from September to February</li>
- <li>In case of an extended maintenance period, you will be notified on the email address you entered when you registered to Neutron Cloud.</li>
- </ul></li>
+ <ul>
+ <li>25% uptime on July and August (due to yearly maintenances)</li>
+ <li>80% uptime from March to May (due to maintenances)</li>
+ <li>85% uptime in June (due to high temperatures)</li>
+ <li>99% uptime from September to February</li>
+ <li>In case of an extended maintenance period, you will be notified on the email address you
+ entered when you registered to Neutron Cloud.
+ </li>
+ </ul>
+ </li>
</ul>
</details>
<br>
<h3>Run Neutron on your own hardware</h3>
- <p>Download the package and put it in your Web server's root. You will need the Apache HTTP Server with at least PHP 7.4 and the GD library.</p>
- <div class="card-group">
- <div class="card">
- <div class="card-body" style="text-align: center;">
- <?php
-
- $releases = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/stats/neutron.json"), true);
- foreach ($releases as $release):
-
- ?>
- <?php if (!$release["prerelease"]): ?>
- <h3><?= $release["tag_name"] ?></h3>
- <h5>Latest Stable Release</h5>
- <p><?= $release["name"] ?><br>Downstream from branch <code><?= $release["target_commitish"] ?></code></p>
- <div class="btn-group">
- <a href="<?= $release["zipball_url"] ?>" class="btn btn-primary">Download</a>
- <a href="https://github.com/Minteck-Projects/Neutron-Core/tree/<?= $release["tag_name"] ?>" class="btn btn-outline-primary">Browse code</a>
- </div>
- <?php break; endif; endforeach; ?>
- </div>
- </div>
- <div class="card">
- <div class="card-body" style="text-align: center;">
- <?php
-
- $releases = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/stats/neutron.json"), true);
- foreach ($releases as $release):
-
- ?>
- <?php if ($release["prerelease"]): ?>
- <h3><?= $release["tag_name"] ?></h3>
- <h5>Latest Development Release</h5>
- <p><?= $release["name"] ?><br><span class="text-warning">Experimental release, use with caution.</span></p>
- <div class="btn-group">
- <a href="<?= $release["zipball_url"] ?>" class="btn btn-primary">Download</a>
- <a href="https://github.com/Minteck-Projects/Neutron-Core/tree/<?= $release["tag_name"] ?>" class="btn btn-outline-primary">Browse code</a>
- </div>
- <?php break; endif; endforeach; ?>
- </div>
- </div>
- </div>
- <small><a href="https://github.com/Minteck-Projects/Neutron-Core/releases" target="_blank">Thanks, I'd rather download from GitHub.</a></small>
- <br><br>
-
- <details>
- <summary>View all versions (including unsupported versions)</summary>
- <ul>
- <?php
-
- $releases = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/stats/neutron.json"), true);
- $unveiled = [];
- foreach ($releases as $release):
-
- ?>
- <li><a href="<?= $release["html_url"] ?>" target="_blank"><?= $release["tag_name"] ?></a> (<?= $release["name"] ?>, <b><?= $release["prerelease"] ? "experimental" : "stable" ?></b>, upstream: <code><?= $release["target_commitish"] ?></code>) — <a href="<?= $release["zipball_url"] ?>">download</a>, <a href="https://github.com/Minteck-Projects/Neutron-Core/tree/<?= $release["tag_name"] ?>" target="_blank">code</a></li>
- <?php array_push($unveiled, $release["tag_name"]);endforeach; ?>
- <?php
-
- $tags = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/stats/neutron2.json"), true);
- foreach ($tags as $tag):
-
- ?>
- <?php if (!in_array($tag["name"], $unveiled)): ?>
- <li><?= $tag["name"] ?> — <a href="<?= $tag["zipball_url"] ?>">download</a>, <a href="https://github.com/Minteck-Projects/Neutron-Core/tree/<?= $tag["name"] ?>" target="_blank">code</a></li>
- <?php endif;endforeach; ?>
- </ul>
- </details>
+ <p>Download the package and put it in your Web server's root. You will need the Apache HTTP Server with at least
+ PHP 7.4 and the GD library.</p>
+ <p style="text-align: center;">
+ <a href="https://source.minteck.org/atomic-suite/neutron/releases" class="btn btn-primary"
+ target="_blank">Download</a>
+ </p>
</div>
<br>
diff --git a/creations/unchained/index.php b/creations/unchained/index.php
index dc8039b..548dd29 100644
--- a/creations/unchained/index.php
+++ b/creations/unchained/index.php
@@ -1,4 +1,4 @@
<?php
-header("Location: https://github.com/Minteck/UnchainedTech-Software");
+header("Location: https://source.minteck.org/web/unchainedtech");
die(); \ No newline at end of file
diff --git a/includes/drafts/conduct.en.html b/includes/drafts/conduct.en.html
new file mode 100644
index 0000000..9e96c82
--- /dev/null
+++ b/includes/drafts/conduct.en.html
@@ -0,0 +1 @@
+<p><i>Last update: Aug 25th 2021</i></p><h2>Minteck Community Code of Conduct</h2><h3>Acceptance of the Code of Conduct</h3><p>The Community Services that Minteck provides are subject to the following Code of Conduct. Minteck reserves the right to update the Code of Conduct at any time without notice to you. The most current version of the Code of Conduct can be reviewed by clicking on the « Code of conduct » hyperlink located at the bottom of the main website; or using this hyperlink: <a href="https://mt.ro.lt/cond">https://mt.ro.lt/cond</a></p><h3>Personal and Non-Commercial Use Limitation</h3><p>Unless otherwise specified, the Community Services are for your personal and non-commercial use. You may not modify, copy, distribute, transmit, display, perform, reproduce, publish, license, create derivative works from, transfer, or sell any information obtained from the Community Services.</p><h3>Moderation Rules</h3><p>Privileged users may have elevated permissions over the Community Services (« Moderator »). A Moderator have the exclusive right to restrict, change, or delete any content on the Community Services without prior notice and without a reason.</p><p>A user that does not gives respect and politeness over another user, or a Moderator, will get a Punishment.</p><h3>Content Legality</h3><p>The content published on the Community Services is commonly hosted on a server in France (which you can confirm on the « Legal Notices » page). Therefore, and even if the content is not hosted in France, all content published on the Community Services in subject to French and international laws.</p><p>For example, this means the following content is not allowed and will result in a Punishment:</p><ul><li>content showing objects legally considered as weapons</li><li>content showing practices that infringe copyright laws (« Crack »)</li><li>content showing practices whose objective is to introduce into an automated data processing system or bypass a system's intended behavior<ul><li>Content whose objective is to introduce into an automated data processing system is <strong>tolerated <u>only</u> if</strong> the poster warns about the legal risks and do it on their own system or a system they got permission on.</li><li>Content whose objective is to bypass a system's intended behavior is <strong>tolerated <u>only</u> if</strong> the poster warns that doing so may lead to contract termination (e.g. a Limited Warranty) and do it on their own system or a system they got permission on.</li></ul></li></ul><h3>Content Accuracy Warning</h3><p>At no time Minteck or any of the users of the Community Services makes the warranty that the content you have access to via the Community Services is accurate, confirmed, up-to-date, real, recent, or anything else that may indicate an approval.</p><p>If you need to prove an information is accurate, you may need to do so and search by yourself; nobody on the Community Services is forced to publish sources for their content.</p><h3>Digital and Real Wellbeing</h3><p>Minteck attaches great importance to make every user of the Community Services feel good and happy; both inside of the Community Services and in their real life. If you feel comfortable enough talking about it to someone else online, you can talk about it to Minteck themself or to a qualified Moderator.</p><p>Minteck themself promise they will never copy, distribute, transmit, display, reproduce, publish, license, transfer or sell the information they are given through your online chat or any other service they access to. The Community Services are a place where everyone should feel welcome.</p><p>Minteck themself wants to be a trustable entity and therefore promise to never missuse access you give them to any of your potential belongings (for example a server).</p><p><strong>If <u>at any time</u> you feel like you are going to commit suicide, please <u>IMMEDIATELY</u> call your local suicide hotline. A list is available on </strong><a href="https://ibpf.org/resource/list-of-international-suicide-hotlines/"><strong>the International Bipolar Foundation's website</strong></a><strong>.</strong> Minteck will regularly ask if you are « okay » through a conversation to make sure there is no suicide intention behind what you are saying.</p><h3>Punishments</h3><p>Through breaking this Code of Conduct, a user may get Punishments. Punishments are not fixed and depends on who gives it and why they give it to the user. Common Punishments includes, but are not limited to:</p><ul><li>inability to collaborate for a specific amount of time (« Mute »)</li><li>exclusion from the Community Services, which the user can join back at any time (« Kick »)</li><li>inability to access the Community Services for a specific amount of time (« Temporary Ban »)</li><li>permanent and irrevocable inability to access the Community Services (« Permanent Ban »)<ul><li><strong>Only Minteck themself is qualified to revoke a permanent inability; and will do so only under extreme circonstances.</strong></li></ul></li></ul><p>If you suffer some behavioral disorders such as schizophrenia or bipolar disorder, you should tell it to the Moderators or to Minteck so they are more soft when giving Punishments.</p> \ No newline at end of file
diff --git a/includes/header.php b/includes/header.php
index f4601f8..d49ee69 100644
--- a/includes/header.php
+++ b/includes/header.php
@@ -1,12 +1,17 @@
<?php
-$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
+if (explode(":", $_SERVER['HTTP_HOST'])[0] !== "minteck.org") {
+ header("Location: https://minteck.org" . $_SERVER['REQUEST_URI']);
+ die();
+}
+$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'] ?? "en", 0, 2);
-function l($en, $fr = null) {
+function l($en, $fr = null)
+{
global $lang;
if ((($lang === "fr" && isset($fr)) || (isset($_GET['fr']) && isset($fr) || isset($_COOKIE['fr']))) && !isset($_GET['en']) && !isset($_COOKIE['en']) && isset($fr)) {
- setlocale(LC_TIME, array('fr_FR.UTF-8','fr_FR@euro','fr_FR','french'));
+ setlocale(LC_TIME, array('fr_FR.UTF-8', 'fr_FR@euro', 'fr_FR', 'french'));
return $fr;
} else {
return $en;
@@ -15,7 +20,8 @@ function l($en, $fr = null) {
require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/telemetry.php";
-function credit(string $name, string $description, string $image, bool $backwards) {
+function credit(string $name, string $description, string $image, bool $backwards)
+{
if ($backwards) {
return "<div class='artwork-credits-box--back'><div><h3>{$name}</h3>{$description}</div></div><img class='artwork-credits-image--back' src='{$image}' alt='{$name}'>";
} else {
@@ -35,7 +41,8 @@ $Parsedown = new Parsedown();
<link rel="icon" href="/logo.svg">
<link href="/static/css/darktheme.css" rel="stylesheet">
<link href="/static/css/fonts" rel="stylesheet">
- <link href="/static/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
+ <link href="/static/css/bootstrap.min.css" rel="stylesheet"
+ integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<title><?php
if (isset($_TITLE)) {
@@ -45,41 +52,61 @@ $Parsedown = new Parsedown();
?><?= l("Minteck's space", "L'espace de Minteck") ?></title>
</head>
<body style="background-size: cover;background-position: center;background-repeat: no-repeat;background-attachment: fixed;">
- <!--<div style="height:16px;background:orange;position:fixed;color:black;font-size:12px;font-weight:bold;text-align:center;z-index:999;top:0;left:0;right:0;">Private beta of Minteck's space. Please report all bugs, issues or design details at <a href="mailto:nekostarfan@gmail.com">nekostarfan@gmail.com</a> or <a href="https://jetbrains.minteck.ro.lt:1024/youtrack/issues/MSS" target="_blank">on Minteck's YouTrack instance</a></div>-->
- <nav style="z-index:99;" class="navbar fixed-top navbar-expand-lg navbar-light bg-light">
- <div class="container-fluid">
- <a class="navbar-brand" href="/"><img src="/logo.svg" alt="" width="36px"> <span style="vertical-align: middle;"><?= l("Minteck's space", "L'espace de Minteck") ?></span></a>
- <button class="navbar-toggler" style="filter:invert(1);" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
- <span class="navbar-toggler-icon"></span>
- </button>
- <div class="collapse navbar-collapse" id="navbarSupportedContent">
- <ul class="navbar-nav me-auto mb-2 mb-lg-0">
- <li class="nav-item"><a class="nav-link" href="/"><?= l("Home", "Accueil") ?></a></li>
- <li class="nav-item"><a class="nav-link" href="/blog">Blog</a></li>
- <li class="nav-item dropdown">
- <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
- <?= l("Creations", "Mes créations") ?>
- </a>
- <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
- <li><a class="dropdown-item" href="/furry"><?= l("Furry fandom", "Fandom furry") ?></a></li>
- <li><a class="dropdown-item" href="/creations"><?= l("My Projects", "Mes projets") ?></a></li>
- <li><a class="dropdown-item" href="/archive"><?= l("Software Archive", "Archive des logiciels") ?></a></li>
- </ul>
+<!--<div style="height:16px;background:orange;position:fixed;color:black;font-size:12px;font-weight:bold;text-align:center;z-index:999;top:0;left:0;right:0;">Private beta of Minteck's space. Please report all bugs, issues or design details at <a href="mailto:nekostarfan@gmail.com">nekostarfan@gmail.com</a> or <a href="https://account.minteck.org/youtrack/issues/MSS" target="_blank">on Minteck's YouTrack instance</a></div>-->
+<nav style="z-index:99;" class="navbar fixed-top navbar-expand-lg navbar-light bg-light">
+ <div class="container-fluid">
+ <a class="navbar-brand" href="/"><img src="/logo.svg" alt="" width="36px"> <span
+ style="vertical-align: middle;"><?= l("Minteck's space", "L'espace de Minteck") ?></span></a>
+ <button class="navbar-toggler" style="filter:invert(1);" type="button" data-bs-toggle="collapse"
+ data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
+ aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+ <div class="collapse navbar-collapse" id="navbarSupportedContent">
+ <ul class="navbar-nav me-auto mb-2 mb-lg-0">
+ <li class="nav-item"><a class="nav-link" href="/"><?= l("Home", "Accueil") ?></a></li>
+ <li class="nav-item"><a class="nav-link" href="/blog">Blog</a></li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button"
+ data-bs-toggle="dropdown" aria-expanded="false">
+ <?= l("Creations", "Mes créations") ?>
+ </a>
+ <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
+ <li><a class="dropdown-item" href="/furry"><?= l("Furry fandom", "Fandom furry") ?></a></li>
+ <li><a class="dropdown-item" href="/creations"><?= l("My Projects", "Mes projets") ?></a></li>
+ <li><a class="dropdown-item"
+ href="/archive"><?= l("Software Archive", "Archive des logiciels") ?></a></li>
+ </ul>
+ </li>
+ <li class="nav-item"><a class="nav-link" href="/about"><?= l("About me", "À propos de moi") ?></a></li>
+ <li class="nav-item"><a class="nav-link" href="/contact"><?= l("Contact me", "Me contacter") ?></a></li>
+ </ul>
+
+ <div class="dropdown">
+ <button id="apps_outer" class="dropdown-toggle" role="button" data-bs-toggle="dropdown"
+ aria-expanded="false"><?= file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/static/apps.svg"); ?></button>
+ <ul class="dropdown-menu" style="position:fixed;top:48px;left:initial;right:10px;"
+ aria-labelledby="apps_outer">
+ <li><a href="https://github.com/Minteck" class="dropdown-item"><img alt=""
+ src="/static/apps/github.png"
+ class="app-icon"> <span
+ class="app-title">GitHub</span></a></li>
+ <li><a href="https://kartik.hopto.org/online" class="dropdown-item"><img alt=""
+ src="/static/apps/kartik.png"
+ class="app-icon"> <span
+ class="app-title">Kartik Online</span></a></li>
+ <li><a href="/" class="dropdown-item"><span class="app-title"><img alt="" src="/logo.svg"
+ class="app-icon"> Minteck's Space</span></a>
</li>
- <li class="nav-item"><a class="nav-link" href="/about"><?= l("About me", "À propos de moi") ?></a></li>
- <li class="nav-item"><a class="nav-link" href="/contact"><?= l("Contact me", "Me contacter") ?></a></li>
+ <li><a href="https://unchainedtech.minteck.ro.lt" class="dropdown-item"><span class="app-title"><img
+ alt="" src="/static/apps/unchainedtech.png"
+ class="app-icon"> UnchainedTech</span></a></li>
+ <li><a href="https://jetbrains.minteck.ro.lt/hub" class="dropdown-item"><img alt=""
+ src="/static/apps/hub.svg"
+ class="app-icon"> <span
+ class="app-title">Minteck's Hub</span></a></li>
</ul>
-
- <div class="dropdown">
- <button id="apps_outer" class="dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-expanded="false"><?= file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/static/apps.svg"); ?></button>
- <ul class="dropdown-menu" style="position:fixed;top:48px;left:initial;right:10px;" aria-labelledby="apps_outer">
- <li><a href="https://github.com/Minteck" class="dropdown-item"><img alt="" src="/static/apps/github.png" class="app-icon"> <span class="app-title">GitHub</span></a></li>
- <li><a href="https://kartik.hopto.org/online" class="dropdown-item"><img alt="" src="/static/apps/kartik.png" class="app-icon"> <span class="app-title">Kartik Online</span></a></li>
- <li><a href="/" class="dropdown-item"><span class="app-title"><img alt="" src="/logo.svg" class="app-icon"> Minteck's Space</span></a></li>
- <li><a href="https://unchainedtech.minteck.ro.lt" class="dropdown-item"><span class="app-title"><img alt="" src="/static/apps/unchainedtech.png" class="app-icon"> UnchainedTech</span></a></li>
- <li><a href="https://jetbrains.minteck.ro.lt/hub" class="dropdown-item"><img alt="" src="/static/apps/hub.svg" class="app-icon"> <span class="app-title">Minteck's Hub</span></a></li>
- </ul>
- </div>
</div>
</div>
- </nav>
+ </div>
+</nav>
diff --git a/includes/projects/home.php b/includes/projects/home.php
index fdb1cb4..244bfb8 100644
--- a/includes/projects/home.php
+++ b/includes/projects/home.php
@@ -1,5 +1,11 @@
<div class="list-group">
- <a href="/creations/kartik" class="list-group-item list-group-item-action"><img src="<?= trim(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/creations/kartik/icon.txt")) ?>" alt="" width="24px"> Kartik <span class="badge bg-secondary rounded-pill"><?= l("Development", "Programmation") ?></span></a>
- <a href="/creations/neutron" class="list-group-item list-group-item-action"><img src="<?= trim(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/creations/neutron/icon.txt")) ?>" alt="" width="24px"> Neutron <span class="badge bg-secondary rounded-pill"><?= l("Development", "Programmation") ?></span></a>
- <a href="/creations/gyrate-with-obliqueness" class="list-group-item list-group-item-action"><img src="/static/genericProjectIcon.png" alt="" width="24px"> Gyrate with Obliqueness <span class="badge bg-secondary rounded-pill"><?= l("Multimedia", "Multimédia") ?></span></a>
+ <a href="/creations/kartik" class="list-group-item list-group-item-action"><img src="/static/genericProjectIcon.png"
+ alt="" width="24px"> Kartik <span
+ class="badge bg-secondary rounded-pill"><?= l("Development", "Programmation") ?></span></a>
+ <a href="/creations/neutron" class="list-group-item list-group-item-action"><img
+ src="/static/genericProjectIcon.png" alt="" width="24px"> Neutron <span
+ class="badge bg-secondary rounded-pill"><?= l("Development", "Programmation") ?></span></a>
+ <a href="/creations/gyrate-with-obliqueness" class="list-group-item list-group-item-action"><img
+ src="/static/genericProjectIcon.png" alt="" width="24px"> Gyrate with Obliqueness <span
+ class="badge bg-secondary rounded-pill"><?= l("Multimedia", "Multimédia") ?></span></a>
</div> \ No newline at end of file
diff --git a/includes/stats/neutron.json b/includes/stats/neutron.json
index 4385e25..3c01805 100644
--- a/includes/stats/neutron.json
+++ b/includes/stats/neutron.json
@@ -1,5 +1,44 @@
[
{
+ "url": "https:\/\/api.github.com\/repos\/Minteck\/Neutron\/releases\/50759793",
+ "assets_url": "https:\/\/api.github.com\/repos\/Minteck\/Neutron\/releases\/50759793\/assets",
+ "upload_url": "https:\/\/uploads.github.com\/repos\/Minteck\/Neutron\/releases\/50759793\/assets{?name,label}",
+ "html_url": "https:\/\/github.com\/Minteck\/Neutron\/releases\/tag\/untagged-2213818393bb83a84569",
+ "id": 50759793,
+ "author": {
+ "login": "Minteck",
+ "id": 46352972,
+ "node_id": "MDQ6VXNlcjQ2MzUyOTcy",
+ "avatar_url": "https:\/\/avatars.githubusercontent.com\/u\/46352972?v=4",
+ "gravatar_id": "",
+ "url": "https:\/\/api.github.com\/users\/Minteck",
+ "html_url": "https:\/\/github.com\/Minteck",
+ "followers_url": "https:\/\/api.github.com\/users\/Minteck\/followers",
+ "following_url": "https:\/\/api.github.com\/users\/Minteck\/following{\/other_user}",
+ "gists_url": "https:\/\/api.github.com\/users\/Minteck\/gists{\/gist_id}",
+ "starred_url": "https:\/\/api.github.com\/users\/Minteck\/starred{\/owner}{\/repo}",
+ "subscriptions_url": "https:\/\/api.github.com\/users\/Minteck\/subscriptions",
+ "organizations_url": "https:\/\/api.github.com\/users\/Minteck\/orgs",
+ "repos_url": "https:\/\/api.github.com\/users\/Minteck\/repos",
+ "events_url": "https:\/\/api.github.com\/users\/Minteck\/events{\/privacy}",
+ "received_events_url": "https:\/\/api.github.com\/users\/Minteck\/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "node_id": "RE_kwDOFANC4M4DBohx",
+ "tag_name": "10.0.249.53",
+ "target_commitish": "trunk",
+ "name": "Neutron 10 21H2 Beta 1",
+ "draft": true,
+ "prerelease": true,
+ "created_at": "2021-10-15T19:22:21Z",
+ "published_at": null,
+ "assets": [],
+ "tarball_url": null,
+ "zipball_url": null,
+ "body": ""
+ },
+ {
"url": "https:\/\/api.github.com\/repos\/Minteck\/Neutron\/releases\/47491325",
"assets_url": "https:\/\/api.github.com\/repos\/Minteck\/Neutron\/releases\/47491325\/assets",
"upload_url": "https:\/\/uploads.github.com\/repos\/Minteck\/Neutron\/releases\/47491325\/assets{?name,label}",
@@ -68,7 +107,7 @@
"node_id": "MDc6UmVsZWFzZTQ3Mzg3NzE5",
"tag_name": "10.0.224.51",
"target_commitish": "trunk",
- "name": "Neutron 10 Release Candidate 2",
+ "name": "Neutron 10 21H1 Release Candidate 2",
"draft": false,
"prerelease": true,
"created_at": "2021-08-05T20:06:09Z",
@@ -107,7 +146,7 @@
"node_id": "MDc6UmVsZWFzZTQ2OTM3ODA5",
"tag_name": "10.0.217.50",
"target_commitish": "trunk",
- "name": "Neutron 10 Release Candidate 1",
+ "name": "Neutron 10 21H1 Release Candidate 1",
"draft": false,
"prerelease": true,
"created_at": "2021-07-26T02:07:52Z",
@@ -146,7 +185,7 @@
"node_id": "MDc6UmVsZWFzZTQ2NzM3NzI3",
"tag_name": "10.0.205.49",
"target_commitish": "trunk",
- "name": "Neutron 10 Beta 3.1",
+ "name": "Neutron 10 21H1 Beta 3.1",
"draft": false,
"prerelease": true,
"created_at": "2021-07-25T21:38:34Z",
@@ -185,7 +224,7 @@
"node_id": "MDc6UmVsZWFzZTQ2NzEyODMy",
"tag_name": "10.0.194.48",
"target_commitish": "trunk",
- "name": "Neutron 10 Beta 3",
+ "name": "Neutron 10 21H1 Beta 3",
"draft": false,
"prerelease": true,
"created_at": "2021-07-24T11:41:24Z",
@@ -224,7 +263,7 @@
"node_id": "MDc6UmVsZWFzZTQ1Njc1NDYw",
"tag_name": "10.0.47.190",
"target_commitish": "trunk",
- "name": "Neutron 10 Beta 2.1",
+ "name": "Neutron 10 21H1 Beta 2.1",
"draft": false,
"prerelease": true,
"created_at": "2021-07-04T13:04:21Z",
@@ -263,7 +302,7 @@
"node_id": "MDc6UmVsZWFzZTQ1Njc1MDE3",
"tag_name": "10.0.45.186",
"target_commitish": "trunk",
- "name": "Neutron 10 Beta 2",
+ "name": "Neutron 10 21H1 Beta 2",
"draft": false,
"prerelease": true,
"created_at": "2021-07-04T12:32:42Z",
@@ -302,7 +341,7 @@
"node_id": "MDc6UmVsZWFzZTQ1MzE3NTUw",
"tag_name": "10.0.45.161",
"target_commitish": "trunk",
- "name": "Neutron 10 Beta 1",
+ "name": "Neutron 10 21H1 Beta 1",
"draft": false,
"prerelease": true,
"created_at": "2021-06-27T12:08:55Z",
diff --git a/includes/stats/neutron2.json b/includes/stats/neutron2.json
index ebf7de7..611a5cf 100644
--- a/includes/stats/neutron2.json
+++ b/includes/stats/neutron2.json
@@ -1,5 +1,15 @@
[
{
+ "name": "randomtag1",
+ "zipball_url": "https:\/\/api.github.com\/repos\/Minteck\/Neutron\/zipball\/refs\/tags\/randomtag1",
+ "tarball_url": "https:\/\/api.github.com\/repos\/Minteck\/Neutron\/tarball\/refs\/tags\/randomtag1",
+ "commit": {
+ "sha": "c053d5ba5c9dc4133d0c7c366b883bf6c39155fa",
+ "url": "https:\/\/api.github.com\/repos\/Minteck\/Neutron\/commits\/c053d5ba5c9dc4133d0c7c366b883bf6c39155fa"
+ },
+ "node_id": "MDM6UmVmMzM1NzU4MDQ4OnJlZnMvdGFncy9yYW5kb210YWcx"
+ },
+ {
"name": "10.0.233.52",
"zipball_url": "https:\/\/api.github.com\/repos\/Minteck\/Neutron\/zipball\/refs\/tags\/10.0.233.52",
"tarball_url": "https:\/\/api.github.com\/repos\/Minteck\/Neutron\/tarball\/refs\/tags\/10.0.233.52",
@@ -288,15 +298,5 @@
"url": "https:\/\/api.github.com\/repos\/Minteck\/Neutron\/commits\/72daa219aff446182944ccdd77ebcd635d9411e4"
},
"node_id": "MDM6UmVmMzM1NzU4MDQ4OnJlZnMvdGFncy8yLjFiMQ=="
- },
- {
- "name": "2.1a1",
- "zipball_url": "https:\/\/api.github.com\/repos\/Minteck\/Neutron\/zipball\/refs\/tags\/2.1a1",
- "tarball_url": "https:\/\/api.github.com\/repos\/Minteck\/Neutron\/tarball\/refs\/tags\/2.1a1",
- "commit": {
- "sha": "1d7fe4cd68c45adcea2a65537614010bba329c61",
- "url": "https:\/\/api.github.com\/repos\/Minteck\/Neutron\/commits\/1d7fe4cd68c45adcea2a65537614010bba329c61"
- },
- "node_id": "MDM6UmVmMzM1NzU4MDQ4OnJlZnMvdGFncy8yLjFhMQ=="
}
] \ No newline at end of file
diff --git a/includes/stats/stats.json b/includes/stats/stats.json
index f70a955..186a1fe 100644
--- a/includes/stats/stats.json
+++ b/includes/stats/stats.json
@@ -1,12 +1,12 @@
{
"github": {
"project": "Minteck\/Neutron",
- "sha": "9005605",
- "message": "Remember that security issue that was \"fixed\" in August 2020. Well, it wasn't fixed..."
+ "sha": "56d854a",
+ "message": "Update"
},
"reddit": {
"sub": "Tulpas",
"title": "Thinking of creating my first tulpa, I have a few questions though",
- "score": 13
+ "score": 14
}
} \ No newline at end of file
diff --git a/includes/telemetry.php b/includes/telemetry.php
index 3988679..e69de29 100644
--- a/includes/telemetry.php
+++ b/includes/telemetry.php
@@ -1,30 +0,0 @@
-<?php
-
-$db = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/telemetry.json"), true);
-
-$ip = md5($_SERVER['REMOTE_ADDR']);
-$day = date('d');
-$month = date('m');
-$year = date('y');
-$url = "space:" .explode("?", $_SERVER['REQUEST_URI'])[0];
-
-if (!isset($db[$year]) && $_SERVER['PHP_SELF'] !== "/404.php") {
- $db[$year] = [];
-}
-if (!isset($db[$year][$month]) && $_SERVER['PHP_SELF'] !== "/404.php") {
- $db[$year][$month] = [];
-}
-if (!isset($db[$year][$month][$day]) && $_SERVER['PHP_SELF'] !== "/404.php") {
- $db[$year][$month][$day] = [];
-}
-if (!isset($db[$year][$month][$day][$url]) && $_SERVER['PHP_SELF'] !== "/404.php") {
- $db[$year][$month][$day][$url] = [];
-}
-
-if (!in_array($ip, $db[$year][$month][$day][$url]) && $_SERVER['PHP_SELF'] !== "/404.php") {
- array_push($db[$year][$month][$day][$url], $ip);
-}
-
-if (trim(json_encode($db, JSON_PRETTY_PRINT)) !== "null") {
- file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/telemetry.json", json_encode($db, JSON_PRETTY_PRINT));
-} \ No newline at end of file
diff --git a/index.php b/index.php
index 9e682af..496fed3 100644
--- a/index.php
+++ b/index.php
@@ -1,57 +1,63 @@
<?php require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/header.php"; ?>
-<video loop muted autoplay style="box-shadow: 0 0 20px #09092e;width: 100%;margin-top: 62px;margin-bottom: -6px;"><source src="/intro.mp4"></video>
+<video loop muted autoplay style="box-shadow: 0 0 20px #09092e;width: 100%;margin-top: 62px;margin-bottom: -6px;">
+ <source src="/intro.mp4">
+</video>
<a rel="me" href="https://mastodon.online/@minteck" style="display:none;">Mastodon</a>
<div style="color: white;z-index: 1;text-align: center;left: 0;right: 0;position: absolute;top: 132px;" id="intro">
<div class="container">
<!--suppress CssInvalidPropertyValue -->
- <p class="display-4" id="intro-title" style="line-height:81px;font-weight: bold;background: radial-gradient(100% 100% at 100% 0%,#6f4cde 0%,#41d6d6 100%);background-clip: text;-webkit-background-clip: text;-webkit-text-fill-color: transparent;"><?= l("Heyo, I'm Minteck!", "Coucou, moi c'est Minteck !") ?> ⭐</p>
- <p id="intro-tagline"><?= l("I'm a french furry that also likes messing with technology.", "Je suis un français membre du fandom furry qui aime aussi bidouiller l'informatique.") ?></p>
+ <p class="display-4" id="intro-title"
+ style="line-height:81px;font-weight: bold;background: radial-gradient(100% 100% at 100% 0%,#6f4cde 0%,#41d6d6 100%);background-clip: text;-webkit-background-clip: text;-webkit-text-fill-color: transparent;"><?= l("Heyo, I'm Minteck!", "Coucou, moi c'est Minteck !") ?>
+ ⭐</p>
+ <p id="intro-tagline"><?= l("I'm a furry that also likes messing with technology.", "Je suis un membre du fandom furry qui aime aussi bidouiller l'informatique.") ?></p>
</div>
</div>
<style>
-@media (max-width: 920px) {
- #intro {
- position: initial !important;
- margin: 0 !important;
- color: white !important;
- background: #222;
- margin-top: -6px !important;
- padding-top: 18px !important;
+ @media (max-width: 920px) {
+ #intro {
+ position: initial !important;
+ margin: 0 !important;
+ color: white !important;
+ background: #222;
+ margin-top: -6px !important;
+ padding-top: 18px !important;
+ }
+
+ #intro-tagline {
+ margin-bottom: 0 !important;
+ padding-bottom: 26px !important;
+ }
+
+ #intro-title {
+ background-image: radial-gradient(100% 100% at 100% 0%, #fff 0%, #fff 100%) !important;
+ }
}
- #intro-tagline {
- margin-bottom: 0 !important;
- padding-bottom: 26px !important;
- }
-
- #intro-title {
- background-image: radial-gradient(100% 100% at 100% 0%,#fff 0%,#fff 100%) !important;
- }
-}
-
</style>
<div style="background:white;padding-top:20px;z-index:5;" id="main-box">
<div class="container">
+ <div class="alert alert-success">
+ <strong>Help shape the future of my website!</strong> Access <a href="https://staging.minteck.org">staging.minteck.org</a>
+ to try out a new experience, and send your feedback to <a href="mailto:contact@minteck.org">contact@minteck.org</a>
+ </div>
<?php if (isset($_GET['admin'])): ?>
<div class="alert alert-danger">
<?= l("Your Minteck Hub account doesn't have access to the Cloud Admin Console. <a href='/contact'>Contact Minteck</a> if you think this is an error.", "Votre compte Minteck Hub n'a pas accès à Cloud Admin Console. <a href='/contact'>Contactez Minteck</a> si vous pensez qu'il s'agit d'une erreur.") ?>
</div>
<?php endif; ?>
- <?php if (isset($_GET['experimental']) || (int)date("U") > 1630519200): ?>
- <div class="alert alert-warning">
- <?= l("I stopped publishing (and talking about in general) information for my projects until October 1<sup>st</sup>. <a href='/blog/article-2021-09-01@do-i-really-need-attention'>More details.</a>", "J'ai arrêté de publier (et de parler en général) des informations sur mes projets jusqu'au 1<sup>er</sup> octobre. <a href='/blog/article-2021-09-01@do-i-really-need-attention'>Plus d'informations.</a>") ?>
- </div>
- <?php endif; ?>
-
<div class="card-group">
- <div class="card <?= isset($_ACTIVE) && $_ACTIVE === "furry" ? "bg-dark text-white" : "" ?>" style="text-align:center;padding-top:20px;padding-bottom:10px;">
- <img class="card-img-top" src="/static/icons/furry<?= !isset($_ACTIVE) || $_ACTIVE !== "furry" ? "" : "-dark" ?>.png" alt="Card image" style="width:64px;height:64px;text-align:center;margin-left:auto;margin-right:auto;">
+ <div class="card <?= isset($_ACTIVE) && $_ACTIVE === "furry" ? "bg-dark text-white" : "" ?>"
+ style="text-align:center;padding-top:20px;padding-bottom:10px;">
+ <img class="card-img-top"
+ src="/static/icons/furry<?= !isset($_ACTIVE) || $_ACTIVE !== "furry" ? "" : "-dark" ?>.png"
+ alt="Card image"
+ style="width:64px;height:64px;text-align:center;margin-left:auto;margin-right:auto;">
<div class="card-body">
<h3><?= l("Furry fandom", "Fandom furry") ?></h3>
<p><?= l("I am active in the furry community (also made a lot of friends there)", "Je suis actif dans la communauté furry (je me suis fait plein d'amis là bas)") ?></p>
@@ -59,10 +65,14 @@
<a href="/furry" class="card-link"><?= l("Learn more...", "En savoir plus...") ?></a>
</div>
</div>
- <div class="card <?= isset($_ACTIVE) && ($_ACTIVE === "dev" || $_ACTIVE === "video") ? "bg-dark text-white" : "" ?>" style="text-align:center;padding-top:20px;padding-bottom:10px;">
+ <div class="card <?= isset($_ACTIVE) && ($_ACTIVE === "dev" || $_ACTIVE === "video") ? "bg-dark text-white" : "" ?>"
+ style="text-align:center;padding-top:20px;padding-bottom:10px;">
<div style="text-align:center;margin-left:auto;margin-right:auto;" class="card-img-top">
- <img src="/static/icons/code<?= !isset($_ACTIVE) || ($_ACTIVE !== "dev" && $_ACTIVE !== "video") ? "" : "-dark" ?>.png" alt="Card image" style="width:64px;height:64px;text-align:center;margin-left:auto;margin-right:auto;">
- <img src="/static/icons/media<?= !isset($_ACTIVE) || ($_ACTIVE !== "dev" && $_ACTIVE !== "video") ? "" : "-dark" ?>.png" alt="Card image" style="width:64px;height:64px;">
+ <img src="/static/icons/code<?= !isset($_ACTIVE) || ($_ACTIVE !== "dev" && $_ACTIVE !== "video") ? "" : "-dark" ?>.png"
+ alt="Card image"
+ style="width:64px;height:64px;text-align:center;margin-left:auto;margin-right:auto;">
+ <img src="/static/icons/media<?= !isset($_ACTIVE) || ($_ACTIVE !== "dev" && $_ACTIVE !== "video") ? "" : "-dark" ?>.png"
+ alt="Card image" style="width:64px;height:64px;">
</div>
<div class="card-body">
<h3><?= l("Projects", "Projets") ?></h3>
@@ -71,8 +81,12 @@
<a href="/creations" class="card-link"><?= l("Learn more...", "En savoir plus...") ?></a>
</div>
</div>
- <div class="card <?= isset($_ACTIVE) && $_ACTIVE === "archive" ? "bg-dark text-white" : "" ?>" style="text-align:center;padding-top:20px;padding-bottom:10px;">
- <img class="card-img-top" src="/static/icons/archive<?= !isset($_ACTIVE) || $_ACTIVE !== "archive" ? "" : "-dark" ?>.png" alt="Card image" style="width:64px;height:64px;text-align:center;margin-left:auto;margin-right:auto;">
+ <div class="card <?= isset($_ACTIVE) && $_ACTIVE === "archive" ? "bg-dark text-white" : "" ?>"
+ style="text-align:center;padding-top:20px;padding-bottom:10px;">
+ <img class="card-img-top"
+ src="/static/icons/archive<?= !isset($_ACTIVE) || $_ACTIVE !== "archive" ? "" : "-dark" ?>.png"
+ alt="Card image"
+ style="width:64px;height:64px;text-align:center;margin-left:auto;margin-right:auto;">
<div class="card-body">
<h3>Archives</h3>
<p><?= l("I give everyone the possibility to enjoy all my projects, from past to the future", "Je donne à tout le monde la possibilité d'apprécier mes projets, du passé au futur") ?></p>
@@ -95,7 +109,8 @@
</div>
<div class="container">
- <?php $_ftww_SiteName = "https://minteck.ro.lt"; require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/webring/FtechWebring.php"; ?>
+ <?php $_ftww_SiteName = "https://minteck.ro.lt";
+ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/webring/FtechWebring.php"; ?>
</div>
<br>
diff --git a/metranslator/api.php b/metranslator/api.php
index 0fe98b0..747686e 100644
--- a/metranslator/api.php
+++ b/metranslator/api.php
@@ -24,7 +24,10 @@ if (isset($_GET['u'])) {
die();
}
-$raw = json_decode(exec("bash -c 'cd /mnt/metranslator-api; node index.js api {$target} \"{$text}\"'"), true);
+$raw = json_decode(exec("cd /mnt/metranslator-api && node index.js api {$target} \"{$text}\""), true);
+$last = exec("cd /mnt/metranslator-api && git log -1 --pretty=format:'%an'");
$raw["system"]["version"] = $raw["system"]["version"] . "-" . substr(file_get_contents("/mnt/metranslator-api/.git/refs/heads/trunk"), 0, 8);
+$raw["system"]["last_author"] = $last;
+$raw["call"] = "cd /mnt/metranslator-api && node index.js api {$target} \"{$text}\"";
die(json_encode($raw)); \ No newline at end of file
diff --git a/metranslator/index.php b/metranslator/index.php
index 2d35169..1b9bab7 100644
--- a/metranslator/index.php
+++ b/metranslator/index.php
@@ -98,6 +98,12 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/header.php"; ?>
}, 2000)
function translate() {
+ if (document.getElementById("text-source").value.trim() === "") {
+ document.getElementById("facts-inner").innerText = "No facts available for this text";
+ document.getElementById("text-target").innerText = "";
+ return;
+ }
+
document.getElementById("facts-inner").innerText = "Translating...";
document.getElementById("text-target").innerText = "...";
@@ -148,11 +154,25 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/header.php"; ?>
document.getElementById("insights-04").innerText = "n/a";
}
- document.getElementById("insights-01").innerText = data.system.name;
- document.getElementById("insights-02").innerText = data.system.version;
- document.getElementById("insights-03").innerText = data.system.length + " entries";
- document.getElementById("insights-04").innerText = data.duration + " ms";
+ if (data.system.version.startsWith("-")) {
+ document.getElementById("insights-01").innerText = "n/a";
+ document.getElementById("insights-02").innerText = "n/a";
+ document.getElementById("insights-03").innerText = "n/a";
+ document.getElementById("insights-04").innerText = "n/a";
+ } else {
+ document.getElementById("insights-01").innerText = data.system.name;
+ document.getElementById("insights-02").innerText = data.system.version + " (last update by " + data.system.last_author + ")";
+ document.getElementById("insights-03").innerText = data.system.length + " entries";
+ document.getElementById("insights-04").innerText = data.duration + " ms";
+ }
resizeTarget()
+
+ if (data.system.version.startsWith("-")) {
+ document.getElementById("insights-01").innerText = "n/a";
+ document.getElementById("insights-02").innerText = "n/a";
+ document.getElementById("insights-03").innerText = "n/a";
+ document.getElementById("insights-04").innerText = "n/a";
+ }
})
})
})
diff --git a/mwspub/callback/index.php b/mwspub/callback/index.php
new file mode 100644
index 0000000..1dafeb9
--- /dev/null
+++ b/mwspub/callback/index.php
@@ -0,0 +1,44 @@
+<?php
+
+// TODO: handle errors
+
+if (!isset($_GET['code'])) {
+ die();
+}
+
+$appdata = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/mwspub/private/app.json"), true);
+
+$crl = curl_init('https://account.minteck.org/hub/hub/api/rest/oauth2/token');
+curl_setopt($crl, CURLOPT_RETURNTRANSFER, true);
+curl_setopt($crl, CURLINFO_HEADER_OUT, true);
+curl_setopt($crl, CURLOPT_POST, true);
+curl_setopt($crl, CURLOPT_HTTPHEADER, [
+ "Authorization: Basic " . base64_encode($appdata["id"] . ":" . $appdata["secret"]),
+ "Content-Type: application/x-www-form-urlencoded",
+ "Accept: application/json"
+]);
+curl_setopt($crl, CURLOPT_POSTFIELDS, "grant_type=authorization_code&redirect_uri=" . urlencode("https://minteck.org/mwspub/callback") . "&code=" . $_GET['code']);
+
+$result = curl_exec($crl);
+$result = json_decode($result, true);
+
+curl_close($crl);
+
+if (isset($result["access_token"])) {
+ $crl = curl_init('https://account.minteck.org/hub/hub/api/rest/users/me');
+ curl_setopt($crl, CURLOPT_RETURNTRANSFER, true);
+ curl_setopt($crl, CURLINFO_HEADER_OUT, true);
+ curl_setopt($crl, CURLOPT_HTTPHEADER, [
+ "Authorization: Bearer " . $result["access_token"],
+ "Accept: application/json"
+ ]);
+
+ $result = curl_exec($crl);
+ $result = json_decode($result, true);
+
+ $token = bin2hex(random_bytes(32));
+ file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/mwspub/private/tokens/" . $token, json_encode($result));
+ setcookie("mws_public_token", $token, strtotime('+365 days'), "/mwspub", "", true, true);
+
+ header("Location: /mwspub");
+} \ No newline at end of file
diff --git a/mwspub/index.php b/mwspub/index.php
new file mode 100644
index 0000000..e0b4c32
--- /dev/null
+++ b/mwspub/index.php
@@ -0,0 +1,41 @@
+<?php
+
+header("Content-Type: text/plain");
+
+if (isset($_GET['_'])) {
+ setcookie("_session", $_GET['_']);
+ header("Location: /mwspub");
+ die();
+} else {
+ if (!isset($_COOKIE['_session'])) {
+ header("Location: https://minteck.org");
+ die();
+ }
+}
+
+if (!isset($_COOKIE["mws_public_token"])) {
+ header("Location: https://account.minteck.org/hub/hub/api/rest/oauth2/auth?client_id=f0972ed6-9b0b-4a56-b710-7bbf5e261785&response_type=code&redirect_uri=https://minteck.org/mwspub/callback&scope=hub&request_credentials=default&access_type=offline");
+ die();
+} else if (ctype_xdigit($_COOKIE["mws_public_token"]) && file_exists($_SERVER['DOCUMENT_ROOT'] . "/mwspub/private/tokens/" . $_COOKIE['mws_public_token'])) {
+ $_DATA = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/mwspub/private/tokens/" . $_COOKIE['mws_public_token']), true);
+} else {
+ header("Location: https://account.minteck.org/hub/hub/api/rest/oauth2/auth?client_id=f0972ed6-9b0b-4a56-b710-7bbf5e261785&response_type=code&redirect_uri=https://minteck.org/mwspub/callback&scope=hub&request_credentials=default&access_type=offline");
+ die();
+}
+
+if (isset($_COOKIE['_session'])) {
+ if (strlen($_COOKIE['_session']) === 96 && !preg_match('/[^a-f_\-0-9]/i', $_COOKIE['_session'])) {
+ if (file_exists("/mnt/public/temp/" . $_COOKIE['_session'])) {
+ if (file_get_contents("/mnt/public/temp/" . $_COOKIE["_session"]) !== "==WAITING==") {
+ die("Unable to login: this token has already been used");
+ } else {
+ file_put_contents("/mnt/public/temp/" . $_COOKIE['_session'], file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/mwspub/private/tokens/" . $_COOKIE['mws_public_token']));
+ die("Log in successful, you may now close this browser window/tab and return to your terminal window.");
+ }
+ } else {
+ die("Unable to login: this token does not exist");
+ }
+ } else {
+ die("Unable to login: this token is invalid");
+ }
+} \ No newline at end of file
diff --git a/yKcw6aypKxss2qYZVUyjbz77H98QD44BavusQgP5T5tG4Wgc/project-fluff-0.2.1.7-linux.bin b/yKcw6aypKxss2qYZVUyjbz77H98QD44BavusQgP5T5tG4Wgc/project-fluff-0.2.1.7-linux.bin
new file mode 100644
index 0000000..3c050e9
--- /dev/null
+++ b/yKcw6aypKxss2qYZVUyjbz77H98QD44BavusQgP5T5tG4Wgc/project-fluff-0.2.1.7-linux.bin
Binary files differ