From ee90a3745d431dd4078b4a58ba448e1e150381d0 Mon Sep 17 00:00:00 2001 From: Herwin Date: Wed, 24 May 2023 23:35:42 +0200 Subject: [PATCH] Added error page, Added drawings, Improved composer Update .gitignore, .htaccess, and 24 more files... --- .gitignore | 1 - .htaccess | 4 +- 403.php | 83 ------------------ 404.php | 83 ------------------ commons/DOM/head.php | 3 - commons/composer.php | 35 +++++--- commons/strings.json | 2 +- commons/strings/en/error.json | 21 +++++ content/index.php | 6 +- error.php | 75 ++++++++++++++++ index.php | 70 +++++++-------- readme.md | 13 ++- .../images/drawings/computer_v0_dead.png | Bin 0 -> 3980 bytes .../images/drawings/computer_v0_empty.png | Bin 0 -> 2606 bytes .../images/drawings/computer_v0_happy.png | Bin 0 -> 4239 bytes .../images/drawings/computer_v1_dead.png | Bin 0 -> 4754 bytes .../drawings/computer_v1_dead_strong.png | Bin 0 -> 4754 bytes .../images/drawings/computer_v1_empty.png | Bin 0 -> 3210 bytes .../images/drawings/computer_v1_happy.png | Bin 0 -> 5014 bytes .../drawings/computer_v1_happy_strong.png | Bin 0 -> 5014 bytes resources/NibblePoker/scss/nibblepoker.scss | 2 +- resources/NibblePoker/scss/site/image.scss | 12 +++ resources/NibblePoker/scss/site/input.scss | 8 ++ resources/NibblePoker/scss/site/table.scss | 6 ++ resources/NibblePoker/scss/variables.scss | 16 ++++ tools/.htaccess | 3 + 26 files changed, 219 insertions(+), 224 deletions(-) delete mode 100644 403.php delete mode 100644 404.php create mode 100644 commons/strings/en/error.json create mode 100644 error.php create mode 100644 resources/NibblePoker/images/drawings/computer_v0_dead.png create mode 100644 resources/NibblePoker/images/drawings/computer_v0_empty.png create mode 100644 resources/NibblePoker/images/drawings/computer_v0_happy.png create mode 100644 resources/NibblePoker/images/drawings/computer_v1_dead.png create mode 100644 resources/NibblePoker/images/drawings/computer_v1_dead_strong.png create mode 100644 resources/NibblePoker/images/drawings/computer_v1_empty.png create mode 100644 resources/NibblePoker/images/drawings/computer_v1_happy.png create mode 100644 resources/NibblePoker/images/drawings/computer_v1_happy_strong.png create mode 100644 tools/.htaccess diff --git a/.gitignore b/.gitignore index 91a3fab..35acde3 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,6 @@ # Static resources resources/FontAwesomePro/ -resources/FontAwesome/ resources/HighlightJS/ resources/NibblePoker/css/*.css diff --git a/.htaccess b/.htaccess index 315f6d8..2a023db 100644 --- a/.htaccess +++ b/.htaccess @@ -23,8 +23,8 @@ Options -Indexes +FollowSymlinks -ExecCGI ServerSignature Off # Custom error pages. -ErrorDocument 403 /403.php -ErrorDocument 404 /404.php +ErrorDocument 403 /error.php +ErrorDocument 404 /error.php # Setting up browser's caching rules # See: diff --git a/403.php b/403.php deleted file mode 100644 index c0d457e..0000000 --- a/403.php +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - <?php print(localize('error.403.title')); ?> - Nibble Poker - - - - - - - - - - Not present in request !" - ) . "
"; - $debuggingText .= "
TODO: Add more info once the cache is properly configured for 4xx errors !"; - add_code_modal( - "http-error", - localize('modal.title.debugging'), - $debuggingText - ); - include 'body-root.php'; - ?> -
- -
-
- -
-
-
-
-
-
-
-

-
-
-
-
-
-
-

- -

-
-

- -

- - "> -
- -
-
-
-
-
-
-
- -
- - - - \ No newline at end of file diff --git a/404.php b/404.php deleted file mode 100644 index c53d6a4..0000000 --- a/404.php +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - <?php print(localize('error.404.title')); ?> - Nibble Poker - - - - - - - - - - Not present in request !" - ) . "
"; - $debuggingText .= "
TODO: Add more info once the cache is properly configured for 4xx errors !"; - add_code_modal( - "http-error", - localize('modal.title.debugging'), - $debuggingText - ); - include 'body-root.php'; - ?> -
- -
-
- -
-
-
-
-
-
-
-

-
-
-
-
-
-
-

- -

-
-

- -

- - "> -
- -
-
-
-
-
-
-
- -
- - - - \ No newline at end of file diff --git a/commons/DOM/head.php b/commons/DOM/head.php index f400b9b..f6fd294 100644 --- a/commons/DOM/head.php +++ b/commons/DOM/head.php @@ -28,6 +28,3 @@ if($enable_glider) { echo(''); } ?> - - - diff --git a/commons/composer.php b/commons/composer.php index ca022cb..6c6d4d7 100644 --- a/commons/composer.php +++ b/commons/composer.php @@ -94,11 +94,11 @@ abstract class ComposerElementModifiers { const CONTAINER_CARD = ["card", "card"]; // Buttons - const BUTTON_THIN = ["thin", "btn-sm"]; - const BUTTON_THICK = ["thick", "btn-lg"]; - const BUTTON_ROUNDED = ["rounded", "btn-rounded"]; - const BUTTON_CIRCLE = ["circle", "rounded-circle"]; - const BUTTON_DOWNLOAD_PRIMARY = ["download-primary", "btn-primary"]; + const BUTTON_THIN = ["thin", ""]; + const BUTTON_THICK = ["thick", ""]; + const BUTTON_ROUNDED = ["rounded", ""]; + const BUTTON_CIRCLE = ["circle", ""]; + const BUTTON_DOWNLOAD_PRIMARY = ["download-primary", "primary"]; // Horizontal ruler const HR_SUBTLE = ["subtle", "subtle"]; @@ -114,7 +114,7 @@ abstract class ComposerElementModifiers { const TABLE_INNER_BORDER = ["inner-bordered", "table-inner-bordered"]; const TABLE_OUTER_BORDER = ["outer-bordered", "table-outer-bordered"]; const TABLE_V2_STYLISH = ["stylish", "stylish r-s border o-hidden"]; - const TABLE_V2_CELL_PADDING = ["auto-cell-padding", "table-p-xs"]; + const TABLE_V2_CELL_PADDING = ["auto-cell-padding", "table-p-xs table-h-p-s"]; const TABLE_V2_VERTICAL_ALIGN = ["v-center-cells", "table-v-center"]; // Code @@ -334,16 +334,31 @@ class ComposerContentMetadata { true ) . '
' . $inner_html . '
'; - // Appending the tags if any are present + // Grabbing the DOM for inside the tags bar + $_template_gpr_tags_dom = ''; if(sizeof($this->article->tags) > 0) { foreach($this->article->tags as $tag) { - $inner_html .= '#' . $tag . ''); + $_template_gpr_tags_dom .= '#' . $tag . ''); } } else { - $inner_html .= '' . localize("content.error.message.data.no.tags") . ''; + $_template_gpr_tags_dom .= '' . localize("content.error.message.data.no.tags") . ''; } + // Printing the tags bar + $inner_html .= getMainHeader( + $_template_gpr_tags_dom, + null, + null, + null, + true, + null, + 6, + false, + false, + true + ); + break; case ComposerTemplates::RAW: default: diff --git a/commons/strings.json b/commons/strings.json index 7bac647..0bb324a 100644 --- a/commons/strings.json +++ b/commons/strings.json @@ -1 +1 @@ -{"_compile_date":"2023-05-24T04:25:06.802731Z","en":{"content.search.head.title":"Content search - NibblePoker","content.search.head.description":"TODO: description","content.search.og.title":"NibblePoker - Content search","content.search.og.description":"TODO: description","content.search.heading.main.single":"Search result","content.search.heading.main.multiple":"Search results","content.search.count.single":"result","content.search.count.multiple":"results","content.header.base":"Content","content.search.header":"Search","content.error.header":"Error","content.error.head.title":"Content error - NibblePoker","content.error.og.title":"NibblePoker - Content error","content.error.heading.main.search":"Search error","content.error.heading.main.content":"Content error","content.error.heading.main.fallback":"Unknown error","content.error.message.none":"No explicit error was encountered.","content.error.message.tags.length":"The \"tags\" URL parameter is too long.","content.error.message.tags.alphanumeric":"One of the tags given in the \"tags\" URL parameter is not a valid alphanumeric string.","content.error.message.detect.empty":"No content could be found for the given tags.","content.error.message.id.alphanumeric":"The requested resource's ID isn't a valid alphanumeric string.","content.error.message.data.not.exist":"The requested content doesn't have an internal item file associated to it.","content.error.message.cannot.load":"The requested content couldn't be loaded on our end !","content.error.message.data.no.tags":"No tags found !","content.error.message.data.no.title":"No title found !","content.item.head.title.prefix":"","content.item.head.title.suffix":" - NibblePoker","content.item.og.title.prefix":"","content.item.og.title.suffix":" - NibblePoker","content.commons.version.current":"Current version","content.commons.version.previous.single":"Previous version","content.commons.version.previous.multiple":"Previous versions","content.commons.version.old.single":"Old version","content.commons.version.old.multiple":"Old versions","content.commons.version.source":"Source code","content.commons.cpu":"CPU Architecture","content.commons.cpu.responsive":"CPU Architecture","content.commons.cpu.any":"Any architecture","content.commons.cpu.x64":"x64","content.commons.cpu.x86":"x86","content.commons.cpu.arm":"arm","content.commons.cpu.arm64":"arm64","content.commons.na.italic":"N/A","content.commons.na":"N/A","content.commons.lang":"Language","content.commons.download.single":"Download","content.commons.download.multiple":"Downloads","content.commons.version":"Version","content.commons.github":"GitHub Repository","content.commons.gitea":"Self-hosted Gitea Repository","content.commons.nuget":"Nuget Package","content.commons.license.mit.single":"MIT License","content.commons.lang.english":"English","content.commons.lang.french":"French","content.commons.lang.luxembourgish":"Luxembourgish","content.commons.lang.english.639-3":"English (eng)","content.commons.lang.french.639-3":"French (fra)","content.commons.lang.luxembourgish.639-3":"Luxembourgish (ltz)","footer.text.privacy":"Privacy policy","footer.alt.logo":"Website's logo","home.head.title":"NibblePoker","home.head.description":"TODO: description","home.og.title":"NibblePoker","home.og.description":"TODO: description","home.header.title":"Homepage","lang.menu.title":"Language","lang.current":"English","lang.automatic":"Automatic","lang.english":"English","lang.french":"French","lang.german":"German","lang.luxembourgish":"Luxembourgish","privacy.head.title":"Privacy policy - NibblePoker","privacy.head.description":"Our privacy policy in a clear and easy to understand format.","privacy.og.title":"NibblePoker - Privacy Policy","privacy.og.description":"Our privacy policy in a clear and easy to understand format.","privacy.header.title":"Privacy policy","privacy.introduction.title":"Introduction","privacy.introduction.text.1":"This privacy policy is written in accordance with the 12th and 13th articles of the GDPR.","privacy.introduction.text.2":"If you wish to consult it, you can do so on the following websites:","privacy.contact.title":"How to contact us ?","privacy.contact.text.1":"If you wish to contact us for more information regarding our privacy policy, please contact us via the form included on the contact page, or at the following email address:","privacy.complaint.title":"How to contact the appropriate authorities ?","privacy.complaint.text.1":"Should you wish to report a complaint or if you feel that our privacy policy has not addressed your concern in a satisfactory manner, you may contact your national Data Protection Authority (DPA).","privacy.complaint.text.2":"More information on this procedure can be found on the following websites:","privacy.v2.data.title":"Data collection","privacy.v2.data.intro.1":"This websites only collects data through generic access logs in order to detect and block bad actors from accessing this website.","privacy.v2.data.intro.2":"None of the data collected is used for any other purpose,it is never shared with any other third-party and is never use in any sort of analytics.","privacy.v2.data.private.1":"Here is the list of private data being collected:","privacy.v2.data.private_list.1":"IP address","privacy.v2.data.private_list.2":"Browser's User-Agent","privacy.v2.data.non_private.1":"And here is the list of non-private data being collected:","privacy.v2.data.non_private_list.1":"Requested resource' URI","privacy.v2.data.non_private_list.2":"Date and time","privacy.v2.data.end.1":"Once the data has been logged in the access logs, it is automatically retrieved and processed by a locally-hosted application every 30 seconds and then deleted from said logs.","privacy.v2.data.end.2":"This application compares this information against a list of known threat sources, targets and behaviours and if a match is found, the private information is anonymized and stored for 7 days pending a manual review.","privacy.v2.data.end.3":"Once that 7 day period has elapsed, or once the report has been reviewed, all the relevant data is automatically deleted.","privacy.v2.data.end.4":"If your request wasn't flagged as potentially malicious, every data collected from it is thrown out instantly.","privacy.v2.data.end.5":"This process should normally never be triggered for regular traffic since most of the triggering actions are ones that should not be possible to accomplish through normal browsing.","privacy.v2.data.end.6":"However, this process isn't infallible and there is always an off chance that false positives may happen.","privacy.v2.update.title":"Changes to our privacy policy","privacy.v2.update.intro.1":"The content of this privacy policy was originally written on the 4th of December 2021 and was last updated on the 18th of March 2022.","privacy.v2.update.history.1.date":"2021/12/04","privacy.v2.update.history.1.desc.1":"Original version","privacy.v2.update.history.2.date":"2022/03/18","privacy.v2.update.history.2.desc.1":"Changed section on data collection to reflect new policy.","privacy.v2.update.history.2.desc.2":"Added mention about CloudFlare and linked to their privacy policy.","privacy.v2.update.history.2.desc.3":"Improved the \"Changes to our privacy policy\" section.","privacy.v2.update.history.3.date":"2022/09/09","privacy.v2.update.history.3.desc.1":"Changed references to external services to reflect the migration to v6Node.","privacy.v2.update.history.3.desc.1.1":"Added mention about v6Node and linked to their privacy policy.","privacy.v2.update.history.3.desc.1.2":"Removed mentions of CloudFlare.","privacy.v2.update.history.3.desc.2":"Changed the \"Cookies\" section to indicate that none should be used on public domains.","privacy.v2.update.end.2":"In the event of a change to our privacy policy, you will be informed explicitly, and a copy of previous versions of the policy will be available through this page.","privacy.v2.third.title":"Third Parties","privacy.v2.third.intro.1":"Our websites uses some services provided by v6Node in order to prevent bad actors from accessing this website and in order to put in place a reverse-proxy system.","privacy.v2.third.intro.2":"The goal of this system is to improve your browsing experience with the help of a private caching service and custom traffic filtering rules.","privacy.v2.third.intro.3":"None of the data that may be gathered by v6Node or the system described above is ever used or stored.","privacy.v2.third.intro.4":"If you'd wish to consult their privacy policy and their partners', you can do so by using the following URLs:","privacy.v2.cookies.title":"Cookies","privacy.v2.cookies.intro.1":"Our websites doesn't use nor store any cookies in your browser.","sidebar.alt.logo":"Website's logo","sidebar.text.home":"Home","sidebar.text.projects":"Projects","sidebar.text.applications":"Applications","sidebar.text.libraries":"Libraries","sidebar.text.electronics":"Electronics","sidebar.text.links":"Links","sidebar.text.downloads":"Downloads","sidebar.text.gitea":"Git Repos.","sidebar.text.about":"About","sidebar.text.contact":"Contact"},"fr":{"content.search.head.title":"Recherche de contenu - NibblePoker","content.search.head.description":"TODO: description","content.search.og.title":"NibblePoker - Recherche de contenu","content.search.og.description":"TODO: description","content.search.heading.main.single":"R\u00e9sultat de recherche","content.search.heading.main.multiple":"R\u00e9sultats de recherche","content.search.count.single":"r\u00e9sultat","content.search.count.multiple":"r\u00e9sultats","content.error.head.title":"Erreur de contenu - NibblePoker","content.error.og.title":"NibblePoker - Erreur de contenu","content.error.heading.main.search":"Erreur de recherche","content.error.heading.main.content":"Erreur de contenu","content.error.heading.main.fallback":"Erreur inconnue","content.error.message.none":"Aucune erreur n'a \u00e9t\u00e9 d\u00e9tect\u00e9e.","content.error.message.tags.length":"Le param\u00e8tre d'URL \"tags\" est trop long.","content.error.message.tags.alphanumeric":"Un des tags donn\u00e9 dans le param\u00e8tre d'URL \"tags\" n'est pas une cha\u00eene de texte alphanum\u00e9rique valide.","content.error.message.detect.empty":"Aucun contenu en rapport avec les tags choisi n'as \u00e9t\u00e9 trouv\u00e9.","content.error.message.id.alphanumeric":"L'ID de la ressource demand\u00e9e n'est pas une cha\u00eene de texte alphanum\u00e9rique valide.","content.error.message.data.not.exist":"Le contenu demand\u00e9e n'a pas de fichier de rendu interne associ\u00e9.","content.error.message.cannot.load":"Le contenu demand\u00e9 n'a pas pu \u00eatre charg\u00e9 de notre c\u00f4t\u00e9 !","content.error.message.data.no.tags":"Aucun tag trouv\u00e9 !","content.error.message.data.no.title":"Aucun titre trouv\u00e9 !","content.item.head.title.prefix":"","content.item.head.title.suffix":" - NibblePoker","content.item.og.title.prefix":"","content.item.og.title.suffix":" - NibblePoker","content.commons.version.current":"Version actuelle","content.commons.version.previous.single":"Version pr\u00e9c\u00e9dente","content.commons.version.previous.multiple":"Versions pr\u00e9c\u00e9dentes","content.commons.version.old.single":"Ancienne version","content.commons.version.old.multiple":"Anciennes versions","content.commons.version.source":"Code source","content.commons.cpu":"Architecture de CPU","content.commons.cpu.any":"Ind\u00e9pendante","content.commons.cpu.x64":"x64","content.commons.cpu.x86":"x86","content.commons.cpu.arm":"arm","content.commons.cpu.arm64":"arm64","content.commons.na.italic":"N/A","content.commons.na":"N/A","content.commons.lang":"Langue","content.commons.download.single":"T\u00e9l\u00e9chargement","content.commons.download.multiple":"T\u00e9l\u00e9chargements","content.commons.version":"Version","content.commons.github":"D\u00e9p\u00f4t GitHub","content.commons.gitea":"D\u00e9p\u00f4t Gitea auto-h\u00e9berg\u00e9","content.commons.nuget":"Packet Nuget","content.commons.license.mit.single":"License MIT","content.commons.lang.english":"Anglais","content.commons.lang.french":"Fran\u00e7ais","content.commons.lang.luxembourgish":"Luxembourgeois","content.commons.lang.english.639-3":"Anglais (eng)","content.commons.lang.french.639-3":"Fran\u00e7ais (fra)","content.commons.lang.luxembourgish.639-3":"Luxembourgeois (ltz)","footer.text.privacy":"Politique de confidentialit\u00e9","footer.alt.logo":"Logo du site web","home.head.title":"NibblePoker","home.head.description":"TODO: description","home.og.title":"NibblePoker","home.og.description":"TODO: description","home.header.title":"Page d'accueil","lang.menu.title":"Langue","lang.current":"Fran\u00e7ais","lang.automatic":"Automatique","lang.english":"Anglais","lang.french":"Fran\u00e7ais","lang.german":"Allemand","lang.luxembourgish":"Luxembourgeois","privacy.head.title":"Politique de confidentialit\u00e9 - NibblePoker","privacy.head.description":"Notre politique de confidentialit\u00e9 dans un format clair et compr\u00e9hensible.","privacy.og.title":"NibblePoker - Politique de confidentialit\u00e9","privacy.og.description":"Notre politique de confidentialit\u00e9 dans un format clair et compr\u00e9hensible.","privacy.header.title":"Politique de confidentialit\u00e9","privacy.introduction.title":"Introduction","privacy.introduction.text.1":"La politique de confidentialit\u00e9 ci-pr\u00e9sente a \u00e9t\u00e9 \u00e9crite en accord avec les articles 12 et 13 de la RGPD.","privacy.introduction.text.2":"Si vous souhaitez consulter le texte officiel en question, vous pouvez le faire sur les sites internet suivants :","privacy.contact.title":"Comment nous contacter ?","privacy.contact.text.1":"Si vous souhaitez nous contacter afin d'obtenir plus d'informations concernant notre politique de confidentialit\u00e9, nous vous recommandons d'utiliser le formulaire pr\u00e9sent sur la page de contact, ou par courriel \u00e0 l'adresse suivante:","privacy.complaint.title":"Comment contacter les autorit\u00e9s comp\u00e9tentes ?","privacy.complaint.text.1":"Dans l'\u00e9ventualit\u00e9 o\u00f9 vous souhaiteriez d\u00e9poser une plainte pour une quelconque raison en rapport avec notre politique de confidentialit\u00e9, veuillez vous adresser \u00e0 l'autorit\u00e9 nationale de protection des donn\u00e9es (DPA).","privacy.complaint.text.2":"Les informations concernant cette proc\u00e9dure peuvent \u00eatre trouv\u00e9es sur les sites internet suivants:","privacy.v2.data.title":"Collecte de donn\u00e9es","privacy.v2.data.intro.1":"Ce site web collecte des donn\u00e9es au travers des journaux d'\u00e9v\u00e8nements afin de d\u00e9tecter et bloquer de potentiels acteurs malveillants.","privacy.v2.data.intro.2":"Les donn\u00e9es collect\u00e9es ne sont en aucun cas utilis\u00e9es pour une quelconque autre raison.","privacy.v2.data.private.1":"Voici la liste des donn\u00e9es personelles collect\u00e9es:","privacy.v2.data.private_list.1":"L'addresse IP source","privacy.v2.data.private_list.2":"Le \"User-Agent\" de votre navigateur internet","privacy.v2.data.non_private.1":"Et voici la liste des donn\u00e9es non-personelles collect\u00e9es:","privacy.v2.data.non_private_list.1":"L'URI de la ressource demand\u00e9e","privacy.v2.data.non_private_list.2":"La date et l'heure","privacy.v2.data.end.1":"Les donn\u00e9es pr\u00e9sentes dans les journaux d'\u00e9v\u00e8nements sont extraites et retir\u00e9es pour \u00eatre trait\u00e9es par une application qui tourne en local toute les 30 secondes.","privacy.v2.data.end.2":"L'application en question utilise et compare ces informations avec une liste d'acteurs malveillants et comportement suspects connus.
Si une correspondance est d\u00e9tect\u00e9e, les informations priv\u00e9es sont anonymis\u00e9es et sont stock\u00e9es pendant 7 jours en attendant qu'un examen manuel soit effectu\u00e9.","privacy.v2.data.end.3":"Apr\u00e8s cette p\u00e9riode de 7 jours, ou apr\u00e8s qu'un examen ait \u00e9t\u00e9 effectu\u00e9, les donn\u00e9es sont automatiquement supprim\u00e9es.","privacy.v2.data.end.4":"Toute information concernant une requ\u00eate non suspecte est automatiquement supprim\u00e9e.","privacy.v2.data.end.5":"Ce processus n'est normalement jamais utilis\u00e9 sur des requ\u00eates provenant d'un trafic l\u00e9gitime d\u00fb au fait qu'il isole principalement les actions et requ\u00eates qui ne devraient pas \u00eatre possible sur ce site.","privacy.v2.data.end.6":"Cependant, ce processus n'est pas infaillible et il est toujours possible qu'une requ\u00eate soit isol\u00e9e par erreur.","privacy.v2.update.title":"Changements \u00e0 notre politique de confidentialit\u00e9","privacy.v2.update.intro.1":"Le contenu de notre politique de confidentialit\u00e9 a \u00e9t\u00e9 originalement \u00e9crit et le 4 d\u00e9cembre 2021 modifi\u00e9 pour la derni\u00e8re fois le 18 mars 2022.","privacy.v2.update.history.1.date":"2021/12/04","privacy.v2.update.history.1.desc.1":"Version originale","privacy.v2.update.history.2.date":"2022/03/18","privacy.v2.update.history.2.desc.1":"Mise-\u00e0-jour de la section sur la collection des donn\u00e9es.","privacy.v2.update.history.2.desc.2":"Ajout d'une mention de CloudFlare et ajout de liens vers leur politique de confidentialit\u00e9.","privacy.v2.update.history.2.desc.3":"Am\u00e9lioration de la section \"Changements \u00e0 notre politique de confidentialit\u00e9\".","privacy.v2.update.history.3.date":"2022/09/09","privacy.v2.update.history.3.desc.1":"Changement des r\u00e9f\u00e9rences aux services externes pour indiquer l'utilisation de v6Node.","privacy.v2.update.history.3.desc.1.1":"Ajout de mentions de v6Node et liens vers leur politique de vie confidentialit\u00e9.","privacy.v2.update.history.3.desc.1.2":"Suppression de mentions de CloudFlare.","privacy.v2.update.history.3.desc.2":"Changement de la section \"Cookies\" afin d'indiquer qu'ils ne seront plus utilis\u00e9s sur les domaines publics.","privacy.v2.update.end.2":"En cas de changement, vous serez clairement inform\u00e9 et une copie des anciennes versions de notre politique sera disponible au travers de cette page.","privacy.v2.third.title":"Organismes tiers","privacy.v2.third.intro.1":"Ce site web utilise les services propos\u00e9s par v6Node afin d'emp\u00eacher des acteurs malveillants d'y acc\u00e9der et dans le but de mettre en place un syst\u00e8me de reverse-proxy.","privacy.v2.third.intro.2":"Ceci a pour but d'am\u00e9liorer l'exp\u00e9rience des personnes le visitant gr\u00e2ce \u00e0 un syst\u00e8me de filtrage et caching priv\u00e9.","privacy.v2.third.intro.3":"Aucune des donn\u00e9es collect\u00e9es et stock\u00e9es par v6Node et le syst\u00e8me d\u00e9cris ci-dessus n'est utilis\u00e9 ou stock\u00e9.","privacy.v2.third.intro.4":"Si vous souhaitez consulter leur politique de confidentialit\u00e9 ainsi que celle de leur partenaires, vous pouvez le faire en suivant les liens ci-dessous:","privacy.v2.cookies.title":"Cookies de navigation","privacy.v2.cookies.intro.1":"Ce site web n'utilise pas, et ne stocke aucun cookies dans votre navigateur internet.","sidebar.alt.logo":"Logo du site web","sidebar.text.home":"Accueil","sidebar.text.projects":"Projets","sidebar.text.applications":"Applications","sidebar.text.libraries":"Librairies","sidebar.text.electronics":"\u00c9lectronique","sidebar.text.links":"Liens","sidebar.text.downloads":"T\u00e9l\u00e9chargements","sidebar.text.gitea":"D\u00e9p\u00f4ts Git","sidebar.text.about":"\u00c0-propos","sidebar.text.contact":"Contact"}} \ No newline at end of file +{"_compile_date":"2023-05-24T21:31:20.008370Z","en":{"content.search.head.title":"Content search - NibblePoker","content.search.head.description":"TODO: description","content.search.og.title":"NibblePoker - Content search","content.search.og.description":"TODO: description","content.search.heading.main.single":"Search result","content.search.heading.main.multiple":"Search results","content.search.count.single":"result","content.search.count.multiple":"results","content.header.base":"Content","content.search.header":"Search","content.error.header":"Error","content.error.head.title":"Content error - NibblePoker","content.error.og.title":"NibblePoker - Content error","content.error.heading.main.search":"Search error","content.error.heading.main.content":"Content error","content.error.heading.main.fallback":"Unknown error","content.error.message.none":"No explicit error was encountered.","content.error.message.tags.length":"The \"tags\" URL parameter is too long.","content.error.message.tags.alphanumeric":"One of the tags given in the \"tags\" URL parameter is not a valid alphanumeric string.","content.error.message.detect.empty":"No content could be found for the given tags.","content.error.message.id.alphanumeric":"The requested resource's ID isn't a valid alphanumeric string.","content.error.message.data.not.exist":"The requested content doesn't have an internal item file associated to it.","content.error.message.cannot.load":"The requested content couldn't be loaded on our end !","content.error.message.data.no.tags":"No tags found !","content.error.message.data.no.title":"No title found !","content.item.head.title.prefix":"","content.item.head.title.suffix":" - NibblePoker","content.item.og.title.prefix":"","content.item.og.title.suffix":" - NibblePoker","content.commons.version.current":"Current version","content.commons.version.previous.single":"Previous version","content.commons.version.previous.multiple":"Previous versions","content.commons.version.old.single":"Old version","content.commons.version.old.multiple":"Old versions","content.commons.version.source":"Source code","content.commons.cpu":"CPU Architecture","content.commons.cpu.responsive":"CPU Architecture","content.commons.cpu.any":"Any architecture","content.commons.cpu.x64":"x64","content.commons.cpu.x86":"x86","content.commons.cpu.arm":"arm","content.commons.cpu.arm64":"arm64","content.commons.na.italic":"N/A","content.commons.na":"N/A","content.commons.lang":"Language","content.commons.download.single":"Download","content.commons.download.multiple":"Downloads","content.commons.version":"Version","content.commons.github":"GitHub Repository","content.commons.gitea":"Self-hosted Gitea Repository","content.commons.nuget":"Nuget Package","content.commons.license.mit.single":"MIT License","content.commons.lang.english":"English","content.commons.lang.french":"French","content.commons.lang.luxembourgish":"Luxembourgish","content.commons.lang.english.639-3":"English (eng)","content.commons.lang.french.639-3":"French (fra)","content.commons.lang.luxembourgish.639-3":"Luxembourgish (ltz)","error.403.head.title":"403 - NibblePoker","error.403.head.description":"Access to the requested resource isn't unauthorized.","error.403.og.title":"NibblePoker - 403 Error","error.403.og.description":"Access to the requested resource isn't unauthorized.","error.403.header.title":"Error\u2771403 Error","error.404.head.title":"404 - NibblePoker","error.404.head.description":"The server couldn't find the requested resource.","error.404.og.title":"NibblePoker - 404 Error","error.404.og.description":"The server couldn't find the requested resource.","error.404.header.title":"Error\u2771404 Error","error.500.head.title":"500 - NibblePoker","error.500.head.description":"The server has encountered a situation it doesn't know how to handle.","error.500.og.title":"NibblePoker - 500 Error","error.500.og.description":"The server has encountered a situation it doesn't know how to handle.","error.500.header.title":"Error\u2771500 Error","error.skit.pc.dead":"Drawing of an old PC with a face with crossed eyes.","footer.text.privacy":"Privacy policy","footer.alt.logo":"Website's logo","home.head.title":"NibblePoker","home.head.description":"TODO: description","home.og.title":"NibblePoker","home.og.description":"TODO: description","home.header.title":"Homepage","lang.menu.title":"Language","lang.current":"English","lang.automatic":"Automatic","lang.english":"English","lang.french":"French","lang.german":"German","lang.luxembourgish":"Luxembourgish","privacy.head.title":"Privacy policy - NibblePoker","privacy.head.description":"Our privacy policy in a clear and easy to understand format.","privacy.og.title":"NibblePoker - Privacy Policy","privacy.og.description":"Our privacy policy in a clear and easy to understand format.","privacy.header.title":"Privacy policy","privacy.introduction.title":"Introduction","privacy.introduction.text.1":"This privacy policy is written in accordance with the 12th and 13th articles of the GDPR.","privacy.introduction.text.2":"If you wish to consult it, you can do so on the following websites:","privacy.contact.title":"How to contact us ?","privacy.contact.text.1":"If you wish to contact us for more information regarding our privacy policy, please contact us via the form included on the contact page, or at the following email address:","privacy.complaint.title":"How to contact the appropriate authorities ?","privacy.complaint.text.1":"Should you wish to report a complaint or if you feel that our privacy policy has not addressed your concern in a satisfactory manner, you may contact your national Data Protection Authority (DPA).","privacy.complaint.text.2":"More information on this procedure can be found on the following websites:","privacy.v2.data.title":"Data collection","privacy.v2.data.intro.1":"This websites only collects data through generic access logs in order to detect and block bad actors from accessing this website.","privacy.v2.data.intro.2":"None of the data collected is used for any other purpose,it is never shared with any other third-party and is never use in any sort of analytics.","privacy.v2.data.private.1":"Here is the list of private data being collected:","privacy.v2.data.private_list.1":"IP address","privacy.v2.data.private_list.2":"Browser's User-Agent","privacy.v2.data.non_private.1":"And here is the list of non-private data being collected:","privacy.v2.data.non_private_list.1":"Requested resource' URI","privacy.v2.data.non_private_list.2":"Date and time","privacy.v2.data.end.1":"Once the data has been logged in the access logs, it is automatically retrieved and processed by a locally-hosted application every 30 seconds and then deleted from said logs.","privacy.v2.data.end.2":"This application compares this information against a list of known threat sources, targets and behaviours and if a match is found, the private information is anonymized and stored for 7 days pending a manual review.","privacy.v2.data.end.3":"Once that 7 day period has elapsed, or once the report has been reviewed, all the relevant data is automatically deleted.","privacy.v2.data.end.4":"If your request wasn't flagged as potentially malicious, every data collected from it is thrown out instantly.","privacy.v2.data.end.5":"This process should normally never be triggered for regular traffic since most of the triggering actions are ones that should not be possible to accomplish through normal browsing.","privacy.v2.data.end.6":"However, this process isn't infallible and there is always an off chance that false positives may happen.","privacy.v2.update.title":"Changes to our privacy policy","privacy.v2.update.intro.1":"The content of this privacy policy was originally written on the 4th of December 2021 and was last updated on the 18th of March 2022.","privacy.v2.update.history.1.date":"2021/12/04","privacy.v2.update.history.1.desc.1":"Original version","privacy.v2.update.history.2.date":"2022/03/18","privacy.v2.update.history.2.desc.1":"Changed section on data collection to reflect new policy.","privacy.v2.update.history.2.desc.2":"Added mention about CloudFlare and linked to their privacy policy.","privacy.v2.update.history.2.desc.3":"Improved the \"Changes to our privacy policy\" section.","privacy.v2.update.history.3.date":"2022/09/09","privacy.v2.update.history.3.desc.1":"Changed references to external services to reflect the migration to v6Node.","privacy.v2.update.history.3.desc.1.1":"Added mention about v6Node and linked to their privacy policy.","privacy.v2.update.history.3.desc.1.2":"Removed mentions of CloudFlare.","privacy.v2.update.history.3.desc.2":"Changed the \"Cookies\" section to indicate that none should be used on public domains.","privacy.v2.update.end.2":"In the event of a change to our privacy policy, you will be informed explicitly, and a copy of previous versions of the policy will be available through this page.","privacy.v2.third.title":"Third Parties","privacy.v2.third.intro.1":"Our websites uses some services provided by v6Node in order to prevent bad actors from accessing this website and in order to put in place a reverse-proxy system.","privacy.v2.third.intro.2":"The goal of this system is to improve your browsing experience with the help of a private caching service and custom traffic filtering rules.","privacy.v2.third.intro.3":"None of the data that may be gathered by v6Node or the system described above is ever used or stored.","privacy.v2.third.intro.4":"If you'd wish to consult their privacy policy and their partners', you can do so by using the following URLs:","privacy.v2.cookies.title":"Cookies","privacy.v2.cookies.intro.1":"Our websites doesn't use nor store any cookies in your browser.","sidebar.alt.logo":"Website's logo","sidebar.text.home":"Home","sidebar.text.projects":"Projects","sidebar.text.applications":"Applications","sidebar.text.libraries":"Libraries","sidebar.text.electronics":"Electronics","sidebar.text.links":"Links","sidebar.text.downloads":"Downloads","sidebar.text.gitea":"Git Repos.","sidebar.text.about":"About","sidebar.text.contact":"Contact"},"fr":{"content.search.head.title":"Recherche de contenu - NibblePoker","content.search.head.description":"TODO: description","content.search.og.title":"NibblePoker - Recherche de contenu","content.search.og.description":"TODO: description","content.search.heading.main.single":"R\u00e9sultat de recherche","content.search.heading.main.multiple":"R\u00e9sultats de recherche","content.search.count.single":"r\u00e9sultat","content.search.count.multiple":"r\u00e9sultats","content.error.head.title":"Erreur de contenu - NibblePoker","content.error.og.title":"NibblePoker - Erreur de contenu","content.error.heading.main.search":"Erreur de recherche","content.error.heading.main.content":"Erreur de contenu","content.error.heading.main.fallback":"Erreur inconnue","content.error.message.none":"Aucune erreur n'a \u00e9t\u00e9 d\u00e9tect\u00e9e.","content.error.message.tags.length":"Le param\u00e8tre d'URL \"tags\" est trop long.","content.error.message.tags.alphanumeric":"Un des tags donn\u00e9 dans le param\u00e8tre d'URL \"tags\" n'est pas une cha\u00eene de texte alphanum\u00e9rique valide.","content.error.message.detect.empty":"Aucun contenu en rapport avec les tags choisi n'as \u00e9t\u00e9 trouv\u00e9.","content.error.message.id.alphanumeric":"L'ID de la ressource demand\u00e9e n'est pas une cha\u00eene de texte alphanum\u00e9rique valide.","content.error.message.data.not.exist":"Le contenu demand\u00e9e n'a pas de fichier de rendu interne associ\u00e9.","content.error.message.cannot.load":"Le contenu demand\u00e9 n'a pas pu \u00eatre charg\u00e9 de notre c\u00f4t\u00e9 !","content.error.message.data.no.tags":"Aucun tag trouv\u00e9 !","content.error.message.data.no.title":"Aucun titre trouv\u00e9 !","content.item.head.title.prefix":"","content.item.head.title.suffix":" - NibblePoker","content.item.og.title.prefix":"","content.item.og.title.suffix":" - NibblePoker","content.commons.version.current":"Version actuelle","content.commons.version.previous.single":"Version pr\u00e9c\u00e9dente","content.commons.version.previous.multiple":"Versions pr\u00e9c\u00e9dentes","content.commons.version.old.single":"Ancienne version","content.commons.version.old.multiple":"Anciennes versions","content.commons.version.source":"Code source","content.commons.cpu":"Architecture de CPU","content.commons.cpu.any":"Ind\u00e9pendante","content.commons.cpu.x64":"x64","content.commons.cpu.x86":"x86","content.commons.cpu.arm":"arm","content.commons.cpu.arm64":"arm64","content.commons.na.italic":"N/A","content.commons.na":"N/A","content.commons.lang":"Langue","content.commons.download.single":"T\u00e9l\u00e9chargement","content.commons.download.multiple":"T\u00e9l\u00e9chargements","content.commons.version":"Version","content.commons.github":"D\u00e9p\u00f4t GitHub","content.commons.gitea":"D\u00e9p\u00f4t Gitea auto-h\u00e9berg\u00e9","content.commons.nuget":"Packet Nuget","content.commons.license.mit.single":"License MIT","content.commons.lang.english":"Anglais","content.commons.lang.french":"Fran\u00e7ais","content.commons.lang.luxembourgish":"Luxembourgeois","content.commons.lang.english.639-3":"Anglais (eng)","content.commons.lang.french.639-3":"Fran\u00e7ais (fra)","content.commons.lang.luxembourgish.639-3":"Luxembourgeois (ltz)","footer.text.privacy":"Politique de confidentialit\u00e9","footer.alt.logo":"Logo du site web","home.head.title":"NibblePoker","home.head.description":"TODO: description","home.og.title":"NibblePoker","home.og.description":"TODO: description","home.header.title":"Page d'accueil","lang.menu.title":"Langue","lang.current":"Fran\u00e7ais","lang.automatic":"Automatique","lang.english":"Anglais","lang.french":"Fran\u00e7ais","lang.german":"Allemand","lang.luxembourgish":"Luxembourgeois","privacy.head.title":"Politique de confidentialit\u00e9 - NibblePoker","privacy.head.description":"Notre politique de confidentialit\u00e9 dans un format clair et compr\u00e9hensible.","privacy.og.title":"NibblePoker - Politique de confidentialit\u00e9","privacy.og.description":"Notre politique de confidentialit\u00e9 dans un format clair et compr\u00e9hensible.","privacy.header.title":"Politique de confidentialit\u00e9","privacy.introduction.title":"Introduction","privacy.introduction.text.1":"La politique de confidentialit\u00e9 ci-pr\u00e9sente a \u00e9t\u00e9 \u00e9crite en accord avec les articles 12 et 13 de la RGPD.","privacy.introduction.text.2":"Si vous souhaitez consulter le texte officiel en question, vous pouvez le faire sur les sites internet suivants :","privacy.contact.title":"Comment nous contacter ?","privacy.contact.text.1":"Si vous souhaitez nous contacter afin d'obtenir plus d'informations concernant notre politique de confidentialit\u00e9, nous vous recommandons d'utiliser le formulaire pr\u00e9sent sur la page de contact, ou par courriel \u00e0 l'adresse suivante:","privacy.complaint.title":"Comment contacter les autorit\u00e9s comp\u00e9tentes ?","privacy.complaint.text.1":"Dans l'\u00e9ventualit\u00e9 o\u00f9 vous souhaiteriez d\u00e9poser une plainte pour une quelconque raison en rapport avec notre politique de confidentialit\u00e9, veuillez vous adresser \u00e0 l'autorit\u00e9 nationale de protection des donn\u00e9es (DPA).","privacy.complaint.text.2":"Les informations concernant cette proc\u00e9dure peuvent \u00eatre trouv\u00e9es sur les sites internet suivants:","privacy.v2.data.title":"Collecte de donn\u00e9es","privacy.v2.data.intro.1":"Ce site web collecte des donn\u00e9es au travers des journaux d'\u00e9v\u00e8nements afin de d\u00e9tecter et bloquer de potentiels acteurs malveillants.","privacy.v2.data.intro.2":"Les donn\u00e9es collect\u00e9es ne sont en aucun cas utilis\u00e9es pour une quelconque autre raison.","privacy.v2.data.private.1":"Voici la liste des donn\u00e9es personelles collect\u00e9es:","privacy.v2.data.private_list.1":"L'addresse IP source","privacy.v2.data.private_list.2":"Le \"User-Agent\" de votre navigateur internet","privacy.v2.data.non_private.1":"Et voici la liste des donn\u00e9es non-personelles collect\u00e9es:","privacy.v2.data.non_private_list.1":"L'URI de la ressource demand\u00e9e","privacy.v2.data.non_private_list.2":"La date et l'heure","privacy.v2.data.end.1":"Les donn\u00e9es pr\u00e9sentes dans les journaux d'\u00e9v\u00e8nements sont extraites et retir\u00e9es pour \u00eatre trait\u00e9es par une application qui tourne en local toute les 30 secondes.","privacy.v2.data.end.2":"L'application en question utilise et compare ces informations avec une liste d'acteurs malveillants et comportement suspects connus.
Si une correspondance est d\u00e9tect\u00e9e, les informations priv\u00e9es sont anonymis\u00e9es et sont stock\u00e9es pendant 7 jours en attendant qu'un examen manuel soit effectu\u00e9.","privacy.v2.data.end.3":"Apr\u00e8s cette p\u00e9riode de 7 jours, ou apr\u00e8s qu'un examen ait \u00e9t\u00e9 effectu\u00e9, les donn\u00e9es sont automatiquement supprim\u00e9es.","privacy.v2.data.end.4":"Toute information concernant une requ\u00eate non suspecte est automatiquement supprim\u00e9e.","privacy.v2.data.end.5":"Ce processus n'est normalement jamais utilis\u00e9 sur des requ\u00eates provenant d'un trafic l\u00e9gitime d\u00fb au fait qu'il isole principalement les actions et requ\u00eates qui ne devraient pas \u00eatre possible sur ce site.","privacy.v2.data.end.6":"Cependant, ce processus n'est pas infaillible et il est toujours possible qu'une requ\u00eate soit isol\u00e9e par erreur.","privacy.v2.update.title":"Changements \u00e0 notre politique de confidentialit\u00e9","privacy.v2.update.intro.1":"Le contenu de notre politique de confidentialit\u00e9 a \u00e9t\u00e9 originalement \u00e9crit et le 4 d\u00e9cembre 2021 modifi\u00e9 pour la derni\u00e8re fois le 18 mars 2022.","privacy.v2.update.history.1.date":"2021/12/04","privacy.v2.update.history.1.desc.1":"Version originale","privacy.v2.update.history.2.date":"2022/03/18","privacy.v2.update.history.2.desc.1":"Mise-\u00e0-jour de la section sur la collection des donn\u00e9es.","privacy.v2.update.history.2.desc.2":"Ajout d'une mention de CloudFlare et ajout de liens vers leur politique de confidentialit\u00e9.","privacy.v2.update.history.2.desc.3":"Am\u00e9lioration de la section \"Changements \u00e0 notre politique de confidentialit\u00e9\".","privacy.v2.update.history.3.date":"2022/09/09","privacy.v2.update.history.3.desc.1":"Changement des r\u00e9f\u00e9rences aux services externes pour indiquer l'utilisation de v6Node.","privacy.v2.update.history.3.desc.1.1":"Ajout de mentions de v6Node et liens vers leur politique de vie confidentialit\u00e9.","privacy.v2.update.history.3.desc.1.2":"Suppression de mentions de CloudFlare.","privacy.v2.update.history.3.desc.2":"Changement de la section \"Cookies\" afin d'indiquer qu'ils ne seront plus utilis\u00e9s sur les domaines publics.","privacy.v2.update.end.2":"En cas de changement, vous serez clairement inform\u00e9 et une copie des anciennes versions de notre politique sera disponible au travers de cette page.","privacy.v2.third.title":"Organismes tiers","privacy.v2.third.intro.1":"Ce site web utilise les services propos\u00e9s par v6Node afin d'emp\u00eacher des acteurs malveillants d'y acc\u00e9der et dans le but de mettre en place un syst\u00e8me de reverse-proxy.","privacy.v2.third.intro.2":"Ceci a pour but d'am\u00e9liorer l'exp\u00e9rience des personnes le visitant gr\u00e2ce \u00e0 un syst\u00e8me de filtrage et caching priv\u00e9.","privacy.v2.third.intro.3":"Aucune des donn\u00e9es collect\u00e9es et stock\u00e9es par v6Node et le syst\u00e8me d\u00e9cris ci-dessus n'est utilis\u00e9 ou stock\u00e9.","privacy.v2.third.intro.4":"Si vous souhaitez consulter leur politique de confidentialit\u00e9 ainsi que celle de leur partenaires, vous pouvez le faire en suivant les liens ci-dessous:","privacy.v2.cookies.title":"Cookies de navigation","privacy.v2.cookies.intro.1":"Ce site web n'utilise pas, et ne stocke aucun cookies dans votre navigateur internet.","sidebar.alt.logo":"Logo du site web","sidebar.text.home":"Accueil","sidebar.text.projects":"Projets","sidebar.text.applications":"Applications","sidebar.text.libraries":"Librairies","sidebar.text.electronics":"\u00c9lectronique","sidebar.text.links":"Liens","sidebar.text.downloads":"T\u00e9l\u00e9chargements","sidebar.text.gitea":"D\u00e9p\u00f4ts Git","sidebar.text.about":"\u00c0-propos","sidebar.text.contact":"Contact"}} \ No newline at end of file diff --git a/commons/strings/en/error.json b/commons/strings/en/error.json new file mode 100644 index 0000000..71dde4c --- /dev/null +++ b/commons/strings/en/error.json @@ -0,0 +1,21 @@ +{ + "error.403.head.title": "403 - NibblePoker", + "error.403.head.description": "Access to the requested resource isn't unauthorized.", + "error.403.og.title": "NibblePoker - 403 Error", + "error.403.og.description": "Access to the requested resource isn't unauthorized.", + "error.403.header.title": "Error403 Error", + + "error.404.head.title": "404 - NibblePoker", + "error.404.head.description": "The server couldn't find the requested resource.", + "error.404.og.title": "NibblePoker - 404 Error", + "error.404.og.description": "The server couldn't find the requested resource.", + "error.404.header.title": "Error404 Error", + + "error.500.head.title": "500 - NibblePoker", + "error.500.head.description": "The server has encountered a situation it doesn't know how to handle.", + "error.500.og.title": "NibblePoker - 500 Error", + "error.500.og.description": "The server has encountered a situation it doesn't know how to handle.", + "error.500.header.title": "Error500 Error", + + "error.skit.pc.dead": "Drawing of an old PC with a face with crossed eyes." +} \ No newline at end of file diff --git a/content/index.php b/content/index.php index bbfcafc..d53c56a 100644 --- a/content/index.php +++ b/content/index.php @@ -161,10 +161,10 @@ include 'commons/DOM/body-2.php'; } - // // Printing the tags used in the search and others that may be available. - + // TODO: Print the tags used in the search and others that may be available. } elseif($requested_content_display_type == ContentDisplayType::CONTENT) { - echo($content->get_html()); + // Printing the content + echo($content->get_html()); } // Label used when there is an error to skip the content printing parts. diff --git a/error.php b/error.php new file mode 100644 index 0000000..3b86079 --- /dev/null +++ b/error.php @@ -0,0 +1,75 @@ + + + + + + <?php print(localize('error.'.$np_err_code.'.head.title')); ?> + + + + + + + + + + +
+

+ +

+ +
+ +
+ + +

+

+ + '); + ?> +
+ + + +"); +} +?> \ No newline at end of file diff --git a/index.php b/index.php index 9aebe02..68ec7ee 100644 --- a/index.php +++ b/index.php @@ -35,47 +35,47 @@ include 'commons/DOM/body-2.php';
-

-

+

+

- - - - - - - - - - - - - - - - - - - - - -
VersionDownloadsDownloads
C11C12C13
C21C22C23
+ + + + + + + + + + + + + + + + + + + + + +
VersionDownloadsDownloads
C11C12C13
C21C22C23
-

-
- -
- -
+

+
+ +
+ +
-

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- Mauris ultrices eros in cursus turpis massa tincidunt dui.
- Pulvinar elementum integer enim neque. Nunc mi ipsum faucibus vitae aliquet nec. -

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+ Mauris ultrices eros in cursus turpis massa tincidunt dui.
+ Pulvinar elementum integer enim neque. Nunc mi ipsum faucibus vitae aliquet nec. +

-Especially with the lang redirections. +Especially with redirections to handle language changes and whatnot. ## Content ### Blog @@ -30,7 +30,9 @@ These files are required and need to be installed manually for the website to wo * Highlight.js v11.6.0 * `/resources/HighlightJS/` -## External Licenses +## Licenses + +### External Here is a list of the licenses for any third-party thing included in this repository. * [Quantum Font](https://sesohq.sellfy.store/p/3enu/) by [sesohq](https://www.sesohq.com/) @@ -39,3 +41,10 @@ Here is a list of the licenses for any third-party thing included in this reposi * Uses the [MIT license](https://github.com/NickPiscitelli/Glider.js/blob/master/LICENSE.txt) All licenses are also included as-is in their project's respective folder. + +### Website's code +All the code, stylesheets and configs that are not covered by the [External licenses](#external) are all +licensed under the [Unlicense](LICENSE) license. + +### Images +The images present in this repository are currently not licensed. diff --git a/resources/NibblePoker/images/drawings/computer_v0_dead.png b/resources/NibblePoker/images/drawings/computer_v0_dead.png new file mode 100644 index 0000000000000000000000000000000000000000..5002148101884dc6a335de0d42b6d4250e562b43 GIT binary patch literal 3980 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 literal 0 HcmV?d00001 diff --git a/resources/NibblePoker/images/drawings/computer_v0_happy.png b/resources/NibblePoker/images/drawings/computer_v0_happy.png new file mode 100644 index 0000000000000000000000000000000000000000..452847e0b8f8c70080b429b30e5d23cfa4571490 GIT binary patch literal 4239 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 literal 0 HcmV?d00001 diff --git a/resources/NibblePoker/images/drawings/computer_v1_dead.png b/resources/NibblePoker/images/drawings/computer_v1_dead.png new file mode 100644 index 0000000000000000000000000000000000000000..5ef9b48b879a5f38be69ccddd999b538cb80527c GIT binary patch literal 4754 zcmWkyX*AS}1DzSejKTQX$38PAOT<{Sn=MRDc9M05vP80FE6iq$Eh9@M*+RCmw5gPB zLM0(dS)MH~PlgBDD4 z5A*hl^rfFZ#zZq9);NB@JzQjYn@ z2D=^iatZY~80_MEG9WrLIy5CbAdVh!HX<-C(C37YbAYpxpVQIkqe1aO;c4NXVV-_5 zesR3hhk_1yM|wvwPx+k+Iuh-FigU^%+{gcv|G~h65$Vx^@eHyP+1<-6=v0tEP~h$3 z866$TVr8&cnXRo&o%(u}x;QpQ-P^|li^J#{=$uqV$tfsGNJ@Dfad+oq%_HQL$zo;} zCJsbf2cjK=5&Wlw!oq^q*5(t{5ikA-aH5BcCy1~*9R>o)m{2K1uauw<)8pbyJOCX} zyw~yD5h_pF9ZHZ{7V0e)*`YrcB{mmAV$rz_T z%!)2YdP!YDgA_yZ95ynbVXmbvS|AJ9X$UKL4(1D7`CGW>#-fGvMsV?x6!+G3W!R_8qT9OphluAdo@e})(U2pF?HcW+^R0y5J8ET* zB|E+sJJk%hqp-pCV>RKNX;V+*zN1m1Kuqx(^7_!sCPBW2Rz9GN*{eR-kjF$;a3x4N zI2Hz3<1E{QXplDEE#pWk16?|}kV=jwgc;f(t1)UN#L%x#4A^E{Leti-!4k~X3SWe9 znd}rwbAZGW9d=akq?2(^Kw5xLgv-mJO)+30ZtglPw93RXa6W0$ zKTJFN7nPv?TLO8u@sc1b%Eh?((XAGX&8h*kni_VPZKbv%dJ{ zo#Vb6Pf$1rn=Zu*|1@7Xst<&EI&WM+Xc@EUZ`gS4g1+o%6ZI=?<`27WNk5tMCiII! z6X?Lx;jlOVHE0KhU*#HHbe5>rCg`rOw@{@h7L$|}O+?YABzs*iGGcq@TfzFK@YtYRQE3~~Dfy%Kf*=bKmOExkzua**LKZ8?a=W<51w32bsN-wv^6FWY1 zzmL-(f(cAkoIyhBk*{^2BH`g3`bRB!U8=$H8A*PC2%Do?RaxDxq5ssyETpUyOmo(~ zyf(f8haPN_rF`1(P?-#No#bD-*hrw=kUWq?MyD8%(LVK)5!O#CL(fI^#21abpLu}0 zFCJ1J@I2A{APOikpT84+^e$u3U>u`@Z&d`Dwm&(_6PYQ4S|>hTBC=o{irT6(`3e{e1jz zUfp;}W!P?e&dYcFvvsq+E&QAto#}caz(G~zWyFt)2(hBio7={6=$f_}1$gDVYge!YW_4q(;^Iv6flptoza&uV_shl0oehit!t(gF zGsk;MoFi=;dQmsWsHakW?+6k)WliK{324qQ2SRlSB}R$F!8GrSz^xw9oWd>aS^EkO zg8&|djRZmskus|>pw&foiWqAl9GLt1l(x`3LACNtJyiAICr*Srt6&$E4pslq_SZpa z7A0q75dTjfO>uuNI|^-RJW5yqpwP=oX*GGUwT?%@JNl(+^F21I$hscW$@STQYgw!4 zLPb~qvG35LC<1!$e(It$DjznPUE*J4{ zZ+jkCuI(!ex$hNWNT%6Sk+g2alfeRE8f;Xu|p63O>tfCVg^|K()*6fm4(_ zpm6&zHvl+$>2nY~J*0F~Qy6PX)w8~*3HiWQ2-do3S7O08qyO%dl z(LfO88CmEv4epO55t=|mO|!saB($ufw6W7M3@^76D3E|(sO#I-gL}rrwZ)4f(Uwsq zH~gG0=B#i^8d2#QP>KR(v?Y?hlWN;GSDB)wd(&~PIj%gnUhc>2juR&NKkL9yZE6iqd(C*iXggzp{YxniL^;Cyvc4Qb}xUFa1W^hW{VC`?u1pp4^ z{wF^N-u>a$cwlfIN!b8FF6ga#!rL&|fAiBdKZ2l__Z*hiv&~d|qF`ZSab&uH9Z__2 z;_Op5{|8!&l*c$#7;Ck7wB^JN#s73_X%Z z8J(^}qjme^?tQQKZ&DYoeVuse#rxaSjShSW*`H@$)>HR_qwSjL zURYpagtc38_iAj>>_2>zVtP$AdirS{x_Z}f3MS(S!4e?Ya#cO|;d_#V#v{FOXq(6- zelImwrz-f0$*Z#ngarGR7-N2PzsTbCetyZs+2*D<`~D0_w{7d2QOzWybLUA(l=IW= z9R7b^cpz1jbQfosyLT=9M^b<@fWgtAXy3S#_TIUcW>VN|_au{)-@CtargDq$GNT32 z*8dLxvGt?jMsF@@&#_Wvw^YPs7I}#BE#JYKSFs>4wfW(=*%`xwL#zWZjKltZ5Kg{L zyL`{bE6hfR%$t5K`|kFgH~QWC_yZsGS(I~?c4uSVs8GgEB46pY3WOvyYH130$KRfDio2v zJiR_h+poHXBkAhGyN&zQ>f65ir9>5{w3qvNp6~cO9>#j?kLawiN#E2cS=i}SCGLo^ zty=9!0z!$DNT0|ZK*c7D#Qgfp&gdATlXaT^tD)?5nqY?6uCE1!3GiF7IwXD1hmU2A zK6v^}-}^f)cgRFw?eS%TDh1i?RSP8e&PoJ_>K0}T?0qu*DXQBWtpU2Nl18T+YQBt_KaVX5U@=6sed65wGnh8ev&3n6{?GibZD+}IEv6>{4z*d zQ6$dj9*S=ck8S@QdJRM}fh_jV%E`vIgINw`CqaE?ANT}q&wt562-Ffqv|NrjdWL`1 zdldofsuB7P&Zq&~n?&4QC>ZGoY!ChBp`5S(w%y*rqvZ-e$~JF4 zDU*W7jHtEO`BT=1U$^g1y_FGHh-gLzgWa`hHI7CMUgrjSiUj>FOydr zxQ<+xAx62v*j7KBTIW`^WkransUQOr@%EMF%(>s%Q3Vh6B2P>zd|CKfdQrsopBMrN zC2l6}*ShHjm=oK`-QB$eKBxHoc!)TREWgKqYaL+NxL67-(O0ql5FEP3E4!LQY8-gi zBZ8S^DNbHo?Sq_aKfDC=+jOgw1P9Gm6ISfTJm9|BT5z*$MJVSmWDEDtL=J>M%>tHs z+g;7d^7)DcOIQ}u^45aY)R{3Nx?;c^EhHL@bQ)m5rocb34}G%Lp*RtfRO`usWL;(J z$s~Z@-;s258ZLs#=dhd$v)Lm$IUljGEW(Rz>4cQRd-N$HX0RbHKXjk4s+Wj4|3FWT zHH3gKR|5#a7vC2|eghh**q?1Vw3Vm**c#}!Tsbh@(aS+@A~lw}`9CA9U#ui)aV|_m65)-UY|z!mKeiXC-6J1;g7=Z2NaWI^tm`JB z{yP~sDsqs30W6^aXd}~Knst%#*$~|{_r`P#+{Nc)cb$TYVO2Y|mX7*{>e3TYS?^zX z$e!7R0%b~I<@a>-`&bC%d*y14?!4$I5wkS?k(I@naK?7gl&NBaeMZBzJT`4U%sTS z1w$5rCFN@$u4uBTgXn%oC^8#;C|hP4*EP^XtT2go;N|8MDIZ`MDN(!B8I@TgkebAH z6Z7e6!3HAD;YeBNQiavYR9(TqzKa}ktl%*i`7B|-Q+tLo3(f(dB}uXq&eGC50FSt1 z1;=L2WRq^0Go4=lvS9Nc0I7I*wt(mH#nRl4hQ;tXXju*u1h4CRMn;K^zed^XTMeJG z6lQ4f7{Dzwx0ld~Rtu@nx?g^vs0q#F5a|FB1Y4>}Je^0JRPQ#$N`qLyEXNDZYzJfD zmikpt;}_d<>&s`wfHgNxHQJT4V5Ip}j53Lt=!@xQyP$ZwnvbD<=4wzvqp?Lyw__|I zDYIwQ!om(hZt)^{Wqkmz zs>u_GbO5}imcNEVNdav~dhVu6*Lt8o)Z}2ybZ5j@it_v)V{V32$h$|&^Z9RYYx=7# z0<)|$b>uoSX*T9=DX(}|UvRHZZt3I6+c^C7OOpL!!eE=^lDBwCD8rY43{&}b{z$U< z$}gqJf)(d$8DnYn+Ga$NVdhFXEtUoatIe`Pv<^RRVLc zz5F9G`nU#H1)L?;*UaVH?3@|vYbACKFPgK#w|&4wSR*G6n{8LHjd`7ioW`j*N)arx zqou!RJcLe#&v^pjHtoUV{Btmkm%u#uoiL*gW4qEr>6PaOqyB#Vfi3|j1qCE_YGh3LFeJhHgqDVxx!fY5@MwUvllw>PQ8&bBh zR8k}<%d_S2l!&KZss8=H+;i{!a?iP6?m0Kh-PK6~rG$b&AQE(EnkNJTMgHO6kwSm) zq_9rJ9|P^~;=T8eWH64z#l?90c{#tyoL<*T(Gy2=FQQ0>|~S`G7I|^srWt2Ykgis??SLVk-y!L&XKZAq={zw z@Awmn&o)lKfuguXahgZtnj+$JTETrn?tb#c%NH5HrPO37B0GkAf_YW~pKX_WMp|veN`MW%J=SNNX$enWyM>4~Q^|iB!ey$m zw;fPZ#Ui5Xd9lvi;GpG^v$`?(?B0e;7-~KZN0`iuBT3zy@`$--Xp)kY)0p&IL9vh> zxo~H{f{)Je-!%#;_MSfi&q#m$dgFi`QLhqy-NOTdxM;`w68Q0r0i4WXPLfVs7Pg#Z z2BXEV-_K$th8J+T6pSq!P&p)E@hpuu#W+^Y^hhz-=0O}oOCo>{0c5Y46#jIKW^xjM z0DCo|Gm^;(nJN z=Gcp?==G%2oq2!8%iUzddO+ zi_iZ$DvjjobuvWqZEu8Qvh0esn`4s`3=PaGB}CcJk@V=9tPu^31iYle>#fnamXDn) zF=}KeiOGu5i%s(TRt+f-9M}&2q#;Y7>m8dC=LHI}Im#8~mCb6p&sB$qqld*i8Kq8=6Wy*VCk{j@yvLPXb@f>DoikMJF$ zA*F#Y;>`A8fFiTm2Vs6s?|oNSi}sE#cmm@pKHJ^w*SvJB&hyKJPsG&yijsGQQOT)K z9Bv=d?>G*nwIR_L&Z4f}I+6Ti_1ogJTR@XsL4{p}dOa5Uerz_0bntmvc*ZsCcmyBjB^LT%piIRg2sJ^ihM ze(&3}IcS^vMlxVk)07;t{KKtlI1;n6Hd}svs($b1uhw5Y(u!nURxbN3bfbdvuAer&6>v5YhcyhQEeo07&ces^z$-WJ#QmYMwW?>f*obXaa9*C{O`{MJyNUO(xb``@kOKT!&iY;)Y z{c(2yIDh5K5oAh8@rJq}+JvrgqYk%^q;1k;Bqr2bX3DJzVMBa2kKN5v5!Ll5t)Fm# zz!ayX;m_5$yYWIUd?6L}JoDkul9uAyR>$K+neD@TG32G{o-G}uS5!>X8DTVN8BuiS zkn`oNB~DQ-CPfWSlf#ZQoCw}dvTd3vPgEh?bzH5FDb2nqvpYThO}EPg&MSdbl@&tZ zV!O*L*D9#%Z)5 ztc6SgK@=kb=rP4k_B;grQjdFYX9y z`{9sZh|*kD6}Y!UlUTjbRcvowS9|XR1Ve3nGwDy@Tq%zIU{(kj+XO`)2h8alxt3ho zkr%gMEQsgg`DbOO(^;U$Z8E8cO!D4&`(Z7~;kg|Z0T^uQSU2gNmegDQ+iMO$!nyy+ z&Omo|-D~#_%%W-Q5ZEQ1WiMnC7WZ#%iuxxA{Ho>wNgdlX`KNN`#^!#LdF=3lgJb8P zxd%Mbn5XsQl@YAv!jXoPcjW)mzV719AcqgsUK`i4&TJ%a=>#24TtDQ0eMsg@)Wyz} z6-9xv1agg$D(#g!n-yH#&i)MPecbHLB+3=7)4J6XiY8FPA#NR^R*9u9PV#aOOr%C8 zt3i;^8`J*dWb9L2Hfqk}T&^6yBHiPtKFkJ0x!$ zFgDEEDSCJ#x?uVr9!5T;suG-hRt;9}I8Gp>9AP*T3|FeG<1y4OPOA0mM#7tfuJF3) z+1eFB*NoqsN1?>n_e2=8BNjsQw|jX-W9RGZ-s%4tkWSmicO&ZYh8HeU;%OHrn>oDy zyoo@PFy$fMAbZbh%5Hq1Gl0drz(N0*Q}#aDmZlQ8TkYcUiYp!;oax*GqSQ!Ur1k#; zAZ*=8q~W_OS~IL9=}je3srd|4>8Afc)thJtlwSXM)byOezCqSr1lGZ#7lM~<(kj*b zbd6c-kaqV_gZ{&wi-y0u`#g25(0BNq=!NJ{9{a+EW=`sdZT z7x`bg2xOpzqq=4Dfo;X)}W0x5V+u@)F)>|pSLS(gVH?jXRAPwD%S>P(A0FXz}r zjci30AAFKLn!d5Cgml7XD33JqLI2*@Vl%UUU9(4*PD)-;-&s+dJIo>`Rba@$i<4^u zE*8q0cnX1l>@@08x!LsNP+~-3Vsq&suZt~zpFyzt15mA1HYpowMRVKT%H(YkwpF7Y zg-YtOG^bP3o_x5{CX|Fl?8C?P+SZ||EHKtsIj)nrH>;!ALVlaId%5}ugf zbH;_?R%cG&w#R*A;~<*@Xj;Ro*?e{Vsz67fFZ87|WvCaTxCRekuK8jxROKZ8LS3KQ zLP;8>TO1Y^+H^-gygBvPI1DNkcKTl!Ol261BaXYs(gmubLM`gc9F9D^khlnuloyII zY{&4-kkQS*LvKMS#<2O`X&LG0W+=;{RuYlDn`2#2B_fprq8Z@4dJU6zRz%)oof9X=<-X2+E50mb`%e@Jf)O

=SDr}!Obw)IraYW;0Je$$XDkcGn`8kC-OX;M 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 literal 0 HcmV?d00001 diff --git a/resources/NibblePoker/images/drawings/computer_v1_happy.png b/resources/NibblePoker/images/drawings/computer_v1_happy.png new file mode 100644 index 0000000000000000000000000000000000000000..8f85e57c3a6b5622e3be736263b9816e3f831455 GIT binary patch literal 5014 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 literal 0 HcmV?d00001 diff --git a/resources/NibblePoker/scss/nibblepoker.scss b/resources/NibblePoker/scss/nibblepoker.scss index 56f1e70..96bb460 100644 --- a/resources/NibblePoker/scss/nibblepoker.scss +++ b/resources/NibblePoker/scss/nibblepoker.scss @@ -44,7 +44,7 @@ @import 'site/body'; @import 'site/layout'; // Has manual disabling of some core stuff in specific situations and a shit-tier fix for tables. @import 'site/hr'; -//@import 'site/scrollbar'; +@import 'site/scrollbar'; @import 'site/image'; @import 'site/wedge'; @import 'site/input'; diff --git a/resources/NibblePoker/scss/site/image.scss b/resources/NibblePoker/scss/site/image.scss index 4d2115d..9fab9f5 100644 --- a/resources/NibblePoker/scss/site/image.scss +++ b/resources/NibblePoker/scss/site/image.scss @@ -30,6 +30,18 @@ object-fit: contain; } +#error-page-skit { + max-width: 40%; + height: auto; + position: absolute; + bottom: 1.5em; + right: 1.5em; + filter: drop-shadow(0 0 0.5rem #0000007F); + mix-blend-mode: multiply; + //opacity: 0.25; + opacity: 0.2; +} + // Logo colors //.npl1, .npl6 { //} diff --git a/resources/NibblePoker/scss/site/input.scss b/resources/NibblePoker/scss/site/input.scss index a2feee2..10ee9d2 100644 --- a/resources/NibblePoker/scss/site/input.scss +++ b/resources/NibblePoker/scss/site/input.scss @@ -30,4 +30,12 @@ button { &:hover { background-color: #{$color-background-button-hover}; } + + &.primary { + background-color: #{$color-background-button-primary}; + + &:hover { + background-color: #{$color-background-button-primary-hover}; + } + } } diff --git a/resources/NibblePoker/scss/site/table.scss b/resources/NibblePoker/scss/site/table.scss index 09b2e3a..98ed310 100644 --- a/resources/NibblePoker/scss/site/table.scss +++ b/resources/NibblePoker/scss/site/table.scss @@ -29,6 +29,12 @@ table.stylish { } } + &.table-h-p-s { + th { + padding: calc(#{$margin-base-size} * 0.75); + } + } + &.table-p-s { td, th { padding: calc(#{$margin-base-size} * 0.75); diff --git a/resources/NibblePoker/scss/variables.scss b/resources/NibblePoker/scss/variables.scss index 9984c27..9ae87fa 100644 --- a/resources/NibblePoker/scss/variables.scss +++ b/resources/NibblePoker/scss/variables.scss @@ -60,6 +60,9 @@ $color-apollo-custom-10: mix($color-apollo-40, $color-apollo-41, 75%); $color-apollo-custom-20: mix($color-apollo-39, $color-apollo-38, 60%); +$color-apollo-custom-30: mix($color-apollo-01, $color-apollo-03, 80%); // Primary button +$color-apollo-custom-31: mix($color-apollo-01, $color-apollo-03, 65%); // Primary button hover + //$color-test-01: mix(#7b6aa5, #000000, 33%); $color-test-02: #007c7d; @@ -114,6 +117,9 @@ $color-background-inputs: $color-apollo-40; $color-background-button: $color-apollo-40; $color-background-button-hover: $color-apollo-custom-10; +$color-background-button-primary: #{$color-apollo-custom-30}; +$color-background-button-primary-hover: #{$color-apollo-custom-31}; + $_color-white-lighter: rgb(253, 255, 251); $_color-white-light: rgb(235, 237, 233); $_color-white-medium: rgb(217, 222, 218); @@ -136,6 +142,16 @@ $_color-blue-dark: #3353b6; $_color-white-muted: #FFFFFF96; //rgba(255, 255, 255, 0.6) + +/* Variables > Scrollbar */ + +//$color-scrollbar-border: rgba(0, 0, 0, 0.15); +$color-scrollbar-border: $color-border-all; + +$scrollbar-size: 1.25em; + + + /* Variables > Others */ $border-base-radius: 5px; diff --git a/tools/.htaccess b/tools/.htaccess new file mode 100644 index 0000000..1a1998a --- /dev/null +++ b/tools/.htaccess @@ -0,0 +1,3 @@ +# Redirecting any URL that starts with "/tools" to the root of this folder. +RewriteEngine On +RewriteRule ^(.*) index.php [NC]