Advanced Search
Search Results
457 total results found
stripe-php
Homepage https://github.com/stripe/stripe-php What is it? The official Stripe library for using Stripe's API with the PHP language. Why did we choose it? It's the official library, so there isn't any reason not to be using it. What do we use it for? Com...
flow-php-server
Homepage https://github.com/flowjs/flow-php-server What is it? The partner library to the frontend flowjs library, to process user uploads after they have been sent from the client. Why did we choose it? It's needed for the frontend flowjs library to work...
Bash
Homepage https://www.gnu.org/software/bash/ What is it? A low-level scripting language for Linux (Bourne Again SHell), as an upgrade from the basic sh command. Why did we choose it? It's good, it works, and I remember it from university. Memories of ridic...
gulp
Homepage https://gulpjs.com/ What is it? A build and automation manager for JavaScript. Why did we choose it? It's well supported and maintained, and does what we need it to do without having super heavy installation or configuration requirements. What d...
SQL (MariaDB)
Homepage https://mariadb.org/ What is it? A language for querying relational databases. SQL has a bunch of variants, though many of the core commands are similar or identical between SQL variants. Why did we choose it? There's really nothing better. SQL i...
Exporting Redis backups
When exporting backups of a Redis node or cluster to S3, you'll be greeted by a rather unhelpful permissions error saying AWS could not validate the user has permission to write to that bucket. To fix the problem, you need to create an S3 bucket with ACLs ena...
Cross-browser behaviours: fractional pixels
When manipulating CSS values directly, be careful of how precise your numbers are, as different browsers treat decimal values for pixel sizes differently. For instance: Here is an image overlaid by a gray "filtered" rectangle, residing within a container t...
merge-stream
Homepage https://github.com/grncdr/merge-stream What is it? A Node.js library for merging data streams together (such as reading from files). Why did we choose it? It's well maintained, and does the job without any unnecessary overhead. What do we use it...
grunt
Homepage https://gruntjs.com/ What is it? A build and automation tool, for running tasks. Why did we choose it? It's open source, very powerful, and helps with automating some build tasks where gulp or other tools aren't sufficient. What do we use it for...
June 19
Hi all, hope you're doing well. Updates below! Moderation Progress I've made good progress on Deserted Chateau's moderation system, but there's still quite a bit to do. Modals The report details modal, for showing all reports for a given item being reporte...
July 3
Hi all, hope you're doing well. Updates below! AWS Reserved Instances Deserted Chateau's test database and cache servers currently have 1 year reserved instances, paid fully upfront, that are due to expire towards the end of July. With the renewal coming up ...
Structure Overview
Various elements of Deserted Chateau's frontend HTML are constructed via HTML5 templates. These are split into two main categories: PHP-Rendered Templates These templates are included into the page via PHP, and populated with their corresponding values, befo...
PHP-Rendered Templates
JavaScript-Rendered Templates
Variable Prefixes
All variables begin with the --dc- prefix. Variables for specific themes have a different prefix that includes the above, such as --dc-lighttheme- or --dc-darktheme-. A full table is below: Name Prefix Description Main variables -...
Plugin Notes
Emoticons To avoid using a third-party CDN, we use a self-hosted copy of the open-source Twemoji project to host emojis with the emoticons plugin. TinyMCEManager.js holds the information on where the emoji URLs point to, and adds them to TinyMCE using the em...
paquettg/php-html-parser
Homepage https://github.com/paquettg/php-html-parser What is it? A PHP library for parsing HTML documents. Why did we choose it? It's simple to use, and doesn't add a lot of unnecessary overhead or configuration. What do we use it for? Parsing TinyMCE e...
July 21
Hi all, hope you're doing well ^^ I've had one hell of a hard time with my health and IRL things this month, so been a bit slow. Form Handling improvements I've created a validation system for all form requests, where all forms are a subclass of a new FormH...
PHP AJAX forms
All PHP forms that are used for AJAX requests must extend the Antsstyle\DesertedChateau\Handlers\FormHandler abstract class. Example Usage <?php namespace Antsstyle\DesertedChateau\Forms\Profile; chdir(dirname(__DIR__, 3)); $dir = getcwd(); requi...
Logging Standards
The LogManager class initialises all of Deserted Chateau's frontend loggers. To use them, you must use the syntax shown below. The color() calls can be omitted when debugging something, but should be added later so that the logs remain consistent and easy to r...