summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorilotterytea <iltsu@alright.party>2025-05-03 01:39:13 +0500
committerilotterytea <iltsu@alright.party>2025-05-03 01:39:13 +0500
commit64f0533dc1779e7cca5f2678f7ae560df8d922bb (patch)
treebe319637f1a6ae6839b3685d6348a528025a7248 /src
parent0c25e3dd54225b126ad8e48e10f4fbde8ce26ec5 (diff)
feat: config sample and more config options
Diffstat (limited to 'src')
-rw-r--r--src/config.php32
-rw-r--r--src/config.sample.php57
-rw-r--r--src/partials.php6
3 files changed, 60 insertions, 35 deletions
diff --git a/src/config.php b/src/config.php
deleted file mode 100644
index f5056ce..0000000
--- a/src/config.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-define("CLIENT_REQUIRES_JSON", isset($_SERVER["HTTP_ACCEPT"]) && $_SERVER["HTTP_ACCEPT"] == "application/json");
-
-// DATABASE
-define("DB_USER", "kochan");
-define("DB_PASS", "kochan");
-define("DB_URL", "mysql:host=localhost;dbname=tinyemotes;port=3306");
-
-// RATINGS
-define("RATING_NAMES", [
- "-1" => "COAL",
- "1" => "GEM",
-]);
-
-// UPLOADS
-define("ANONYMOUS_UPLOAD", false);
-define("ANONYMOUS_DEFAULT_NAME", "chud");
-
-// EMOTES
-define("EMOTE_NAME_MAX_LENGTH", 100);
-define("EMOTE_COMMENT_MAX_LENGTH", 100);
-define("EMOTE_VISIBILITY_DEFAULT", 2);
-
-// MODERATION
-define("MOD_SYSTEM_DASHBOARD", true);
-define("MOD_EMOTES_APPROVE", true);
-
-// ACCOUNTS
-define("ACCOUNT_USERNAME_REGEX", "/^[A-Za-z0-9_]+$/");
-define("ACCOUNT_USERNAME_MAX_LENGTH", 20);
-define("ACCOUNT_PFP_MAX_SIZE", [128, 128]);
-define("ACCOUNT_BANNER_MAX_SIZE", [1920, 1080]); \ No newline at end of file
diff --git a/src/config.sample.php b/src/config.sample.php
new file mode 100644
index 0000000..5962a20
--- /dev/null
+++ b/src/config.sample.php
@@ -0,0 +1,57 @@
+<?php
+// INSTANCE
+define("INSTANCE_NAME", "TinyEmotes");
+
+// DATABASE
+define("DB_USER", "ENTER_DATABASE_USER"); // Database user. MANDATORY!
+define("DB_PASS", "ENTER_DATABASE_PASSWORD"); // Database password. MANDATORY!
+define("DB_HOST", "ENTER_DATABASE_HOST"); // Database host. Can be 'localhost' if it's on the same machine as Tinyemotes.
+define("DB_NAME", "ENTER_DATABASE_NAME"); // Database name.
+define("DB_URL", 'mysql:host=' . DB_HOST . ';dbname=' . DB_NAME . ';port=3306'); // Database URL. Change it if you don't use MySQL/MariaDB.
+
+// RATINGS
+define("RATING_ENABLE", true); // Enable ratings for emotes.
+define("RATING_NAMES", [
+ "-1" => "COAL",
+ "1" => "GEM",
+]); // Rating names. The schema is [ "id/rating_point" => "name" ].
+
+// UPLOADS
+define("ANONYMOUS_UPLOAD", false); // Allow anonymous upload for emotes.
+define("ANONYMOUS_DEFAULT_NAME", "Anonymous"); // Default uploader name for anonymous emotes. It's also used when original uploader has been deleted.
+
+// EMOTES
+define("EMOTE_UPLOAD", true); // Enable emote upload.
+define("EMOTE_NAME_MAX_LENGTH", 100); // Max length for emote name.
+define("EMOTE_COMMENT_MAX_LENGTH", 100); // Max length for emote comment.
+define("EMOTE_VISIBILITY_DEFAULT", 2); // Default visibility for emotes. 0 - unlisted, 1 - public, 2 - pending approval (same as unlisted).
+define("EMOTE_MAX_SIZE", [128, 128]); // Max size of emote.
+define("EMOTE_NAME_REGEX", "/^[A-Za-z0-9_]+$/"); // RegEx filter for emote names.
+
+// MODERATION
+define("MOD_SYSTEM_DASHBOARD", true); // Enable system dashboard for moderators (/system).
+define("MOD_EMOTES_APPROVE", true); // Enable manual emote approval (/system/emotes).
+
+// REPORTS
+define("REPORTS_ENABLE", true); // Enable emote, user reports.
+
+// ACCOUNTS
+define("ACCOUNT_REGISTRATION_ENABLE", true); // Enable account registration.
+define("ACCOUNT_USERNAME_REGEX", "/^[A-Za-z0-9_]+$/"); // RegEx filter for account usernames.
+define("ACCOUNT_USERNAME_MAX_LENGTH", 20); // Max length for account usernames.
+define("ACCOUNT_PFP_MAX_SIZE", [128, 128]); // Max dimensions for account pictures.
+define("ACCOUNT_BANNER_MAX_SIZE", [1920, 1080]); // Max dimensions for account banners.
+
+// TWITCH
+define("TWITCH_REGISTRATION_ENABLE", false); // Enable account registration via Twitch.
+define("TWITCH_CLIENT_ID", "AAAAAAAAA"); // Client ID of your Twitch application.
+define("TWITCH_SECRET_KEY", "BBBBBBBBB"); // Secret key of your Twitch application.
+define("TWITCH_REDIRECT_URI", ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? "https" : "http") . "://$_SERVER[HTTP_HOST]/account/login/twitch.php"); // Redirect URI of your Twitch application.
+
+// HCAPTCHA
+define("HCAPTCHA_ENABLE", true); // Enable hCaptcha.
+define("HCAPTCHA_SECRETKEY", "ES_XXXXXX"); // hCaptcha's secret key.
+define("HCAPTCHA_SITEKEY", "YYYYYYY"); // hCaptcha's site key.
+
+// FOR DEVELOPERS
+define("CLIENT_REQUIRES_JSON", isset($_SERVER["HTTP_ACCEPT"]) && $_SERVER["HTTP_ACCEPT"] == "application/json"); \ No newline at end of file
diff --git a/src/partials.php b/src/partials.php
index 2a560df..2314810 100644
--- a/src/partials.php
+++ b/src/partials.php
@@ -5,13 +5,13 @@ function html_navigation_bar()
<section class="navbar">
<a href="/" class="brand" style="color:black;text-decoration:none;">
<img src="/static/img/brand/mini.webp" alt="">
- <h2 style="margin-left:8px;font-size:24px;"><b><?php echo "alright.party" ?></b></h2>
+ <h2 style="margin-left:8px;font-size:24px;"><b><?php echo INSTANCE_NAME ?></b></h2>
</a>
<div class="links">
<a href="/emotes" class="button">Emotes</a>
<a href="/emotesets.php" class="button">Emotesets</a>
<a href="/users.php" class="button">Users</a>
- <?php if (ANONYMOUS_UPLOAD || (isset($_SESSION["user_role"]) && $_SESSION["user_role"]["permission_upload"])) {
+ <?php if (EMOTE_UPLOAD && (ANONYMOUS_UPLOAD || (isset($_SESSION["user_role"]) && $_SESSION["user_role"]["permission_upload"]))) {
echo '<a href="/emotes/upload.php" class="button">Upload</a>';
} ?>
<a href="/account" class="button">Account</a>
@@ -31,7 +31,7 @@ function html_navigation_bar()
$stmt = null;
if (isset($_SESSION["user_role"])) {
- if ($_SESSION["user_role"]["permission_report"]) {
+ if (REPORTS_ENABLE && $_SESSION["user_role"]["permission_report"]) {
// getting reports
$stmt = $db->prepare("SELECT COUNT(*) FROM reports WHERE sender_id = ? AND resolved_by IS NULL");
$stmt->execute([$_SESSION["user_id"]]);