Fluffys super duper epic image gallery!
Find a file
2022-09-20 17:56:49 +00:00
app Upading README slowwwwwly 2022-09-20 17:56:49 +00:00
assets In progress admin page 2022-09-16 16:39:13 +00:00
css Json config file 2022-09-20 15:47:23 +00:00
Flyout Password confirmation on account deletion 2022-09-20 13:06:41 +00:00
GitHub oops 2022-09-19 22:21:38 +00:00
Sniffle Fixing notification Style 2022-09-20 13:45:08 +00:00
ui Upading README slowwwwwly 2022-09-20 17:56:49 +00:00
.gitignore Git Ignore update 2022-08-12 17:26:18 +00:00
about.php Json config file 2022-09-20 15:47:23 +00:00
account.php Tidying up settings page 2022-09-20 15:50:11 +00:00
error.php Give an error when connection dies 2022-09-14 16:43:06 +00:00
image.php Fixing that really annoying bug 2022-09-19 21:57:11 +00:00
index.php Json config file 2022-09-20 15:47:23 +00:00
LICENSE.md oops 2022-09-19 22:21:38 +00:00
password-reset.php Account deletion, password reset fixes 2022-09-20 10:12:32 +00:00
README.md Upading README slowwwwwly 2022-09-20 17:56:49 +00:00
upload.php Fixing directory and required file issues 2022-09-13 16:07:01 +00:00

OnlyLegs!

The only gallery made by a maned wolf.

How to use

Downloading & installing

Path

Download this project and move it into your website(s) folder. Usually under /var/www/html/ on Linux.

Imagik

You will need to install the image-magik PHP plugin for thumbnail creation, on Ubuntu its as easy as apt install php-imagik.

PHP

This project also requires PHP 8 and was made with Ubuntu 22.04 LTS in mind, so I reccommend running this gallery on such.

Database setup

If you made it this far, congrats! We're not even close to done. Next you will need to setup your database. If you're running a seperate server for databases, that'll also work.

You first need to head over to app/server/conn.php and set the correct information, if you're using localhost, this should be the following details:

  • localhost
  • (username)
  • (password)
  • Gallery

I recommend using a database name such as Gallery, but others should work just as well.

I also recommend not using root for this and setting up a user specifically for this, but I will not go through the process of making a such user here.

You will next need to setup the following 5 tables:

Images

CREATE TABLE images ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, imagename VARCHAR(50) UNIQUE, alt VARCHAR(255), tags VARCHAR(255), alt VARCHAR(50), modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, upload TIMESTAMP DEFAULT CURRENT_TIMESTAMP );

Users

CREATE TABLE users ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, usernname VARCHAR(50) NOT NULL UNIQUE, password VARCHAR(255) NOT NULL, admin bool, modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );

Tokens

CREATE TABLE tokens ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, code VARCHAR(50) NOT NULL, used BOOL, used_at VARCHAR(50) NOT NULL );

Logs

CREATE TABLE logs ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, ipaddress VARCHAR(16) NOT NULL, action VARCHAR(255), time TIMESTAMP DEFAULT CURRENT_TIMESTAMP );

Bans

CREATE TABLE bans ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, ipaddress VARCHAR(16) NOT NULL, reason VARCHAR(255), time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, length VARCHAR(255) NOT NULL, permanent BOOL NOT NULL );

Manifest

In the app/settings/manifest.json you have a list of infomation about your website. You must change user_name to your prefered name, is_testing to false as that is used for development and upload_max to your prefered file size max in MBs.

License

This project is under the GNU v3 License