commit 944b6b0526032ad8c1b4a2612d6723bec75e0e4c Author: Freya Murphy Date: Fri Mar 29 22:29:56 2024 -0400 start database (user and post), and initial barebones home page diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3af0ccb --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/data diff --git a/build/dbinit/Dockerfile b/build/dbinit/Dockerfile new file mode 100644 index 0000000..81c66ea --- /dev/null +++ b/build/dbinit/Dockerfile @@ -0,0 +1,5 @@ +FROM alpine:3.19 +RUN apk add --no-cache postgresql16-client tini +COPY ./dbinit /usr/local/bin/dbinit +ENTRYPOINT ["/sbin/tini", "--"] +CMD ["/usr/local/bin/dbinit"] diff --git a/build/dbinit/dbinit b/build/dbinit/dbinit new file mode 100755 index 0000000..c64f139 --- /dev/null +++ b/build/dbinit/dbinit @@ -0,0 +1,151 @@ +#!/bin/sh + +step() { + printf '\x1b[34;1m>> %s\x1b[0m\n' "$*" +} + +error() { + printf '\x1b[31;1merror: \x1b[0m%s\n' "$*" +} + +export PGPASSWORD=$POSTGRES_PASSWORD + +psql() { + /usr/bin/psql \ + -h db \ + -p 5432 \ + -d $POSTGRES_DB \ + -U $POSTGRES_USER \ + "$@" +} + +pg_isready() { + /usr/bin/pg_isready \ + -h db \ + -p 5432 \ + -d $POSTGRES_DB \ + -U $POSTGRES_USER \ + "$@" +} + +curr_revision() { + psql -qtAX -f /db/rev.sql; +} + +wait_until_ready() { + step 'Checking if the database is ready...'; + while true; do + pg_isready; + code=$?; + if [ $code -eq 0 ]; then + break; + fi + sleep 3; + done +} + +run_migrations() { + i="$1" + while true; do + name=$(printf "%04d" "$i"); + file="/db/migrations/$name.sql" + + if [ -f $file ]; then + psql -f $file 2> /errors + errors=$(cat /errors | grep 'ERROR' | wc -l) + if [ "$errors" -eq 0 ]; then + i=$((i+1)); + continue; + else + error "An error occoured during a migration (rev $name)" + cat /errors | grep -v 'current transaction is aborted'; + error "Aborting migrations, fix file(s) then restart process." + return 1; + fi + else + return 0; + fi + done +} + +init_api() { + psql -f /db/rest/rest.sql 2> /errors; + errors=$(cat /errors | grep 'ERROR' | wc -l) + if [ "$errors" -eq 0 ]; then + return 0; + else + error "An error occoured during api initialization" + cat /errors | grep -v 'current transaction is aborted'; + error "Aborting api initialization, fix file(s) then restart process." + return 1; + fi +} + +update_jwt() { + psql -c "UPDATE sys.database_info SET jwt_secret = '$JWT_SECRET' WHERE name = current_database();" + errors=$(cat /errors | grep 'ERROR' | wc -l) + if [ "$errors" -eq 0 ]; then + return 0; + else + return 1; + fi +} + +load_ext() { + psql -qtAX -f /db/ext.sql; +} + +init () { + # reomve ready status + # so php ignores requests + rm -fr /status/ready + + step 'Waiting for database'; + # make sure the database is running + # before we run any requests + wait_until_ready; + step 'Database ready'; + + step 'Loading extensions'; + # Make sure extensions are loaded + load_ext; + + step 'Peforming migrations'; + # get the current revision + REV=$(curr_revision); + step "Database at revision: $REV" + # run each migration that is + # higher than our current revision + run_migrations "$REV" + CODE=$?; + + if [ $CODE -ne 0 ]; then + return $CODE; + fi + + step 'Initalizing the api'; + # reinit the api schema for + # postgrest + init_api; + CODE=$?; + + if [ $CODE -ne 0 ]; then + return $CODE; + fi + + step 'Updating JWT secret'; + # make sure postgres has the corrent + # jwt secret + update_jwt; + CODE=$?; + + if [ $CODE -ne 0 ]; then + return $CODE; + fi + + step 'Database is initialized' + # database is ready + touch /status/ready +} + +init diff --git a/build/php/Dockerfile b/build/php/Dockerfile new file mode 100644 index 0000000..280ca35 --- /dev/null +++ b/build/php/Dockerfile @@ -0,0 +1,4 @@ +FROM php:fpm-alpine +RUN apk add --no-cache postgresql-dev +RUN docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql +RUN docker-php-ext-install pdo pdo_pgsql diff --git a/build/postgres/Dockerfile b/build/postgres/Dockerfile new file mode 100644 index 0000000..834fa89 --- /dev/null +++ b/build/postgres/Dockerfile @@ -0,0 +1,6 @@ +FROM postgres:16-alpine +RUN apk add --no-cache make git +RUN git clone https://github.com/michelp/pgjwt.git /tmp/pgjwt +WORKDIR /tmp/pgjwt +RUN make install +WORKDIR / diff --git a/build/postgrest/Dockerfile b/build/postgrest/Dockerfile new file mode 100644 index 0000000..62b8a2e --- /dev/null +++ b/build/postgrest/Dockerfile @@ -0,0 +1,9 @@ +FROM alpine:3.19 +COPY ./postgrest.tar.xz /tmp/postgrest.tar.xz +RUN tar xJf /tmp/postgrest.tar.xz -C /tmp +RUN mv /tmp/postgrest /usr/local/bin/postgrest +RUN rm /tmp/postgrest.tar.xz +COPY ./entrypoint.sh /usr/local/bin/entrypoint.sh +CMD ["/usr/local/bin/entrypoint.sh"] + + diff --git a/build/postgrest/entrypoint.sh b/build/postgrest/entrypoint.sh new file mode 100755 index 0000000..d375769 --- /dev/null +++ b/build/postgrest/entrypoint.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +mkdir /etc/postgrest.d +config=/etc/postgrest.d/postgrest.conf + +PGRST_DB_URI="postgres://authenticator:postgrest@db:5432/$POSTGRES_DB" +PGRST_ROLE="rest_anon" +PGRST_SCHEMA="api" + +rm -fr "$config" +touch "$config" +printf 'db-uri = "%s"\n' "$PGRST_DB_URI" >> $config +printf 'db-anon-role = "%s"\n' "$PGRST_ROLE" >> $config +printf 'db-schemas = "%s"\n' "$PGRST_SCHEMA" >> $config +printf 'jwt-secret = "%s"\n' "$JWT_SECRET" >> $config +printf 'jwt-secret-is-base64 = false\n' >> $config +printf 'server-host = "*"\n' >> $config +printf 'server-port = 3000\n' >> $config + +exec /usr/local/bin/postgrest $config diff --git a/build/postgrest/postgrest.tar.xz b/build/postgrest/postgrest.tar.xz new file mode 100644 index 0000000..33c2b2d Binary files /dev/null and b/build/postgrest/postgrest.tar.xz differ diff --git a/conf/nginx/site.conf b/conf/nginx/site.conf new file mode 100644 index 0000000..fd4cbe6 --- /dev/null +++ b/conf/nginx/site.conf @@ -0,0 +1,95 @@ +server_tokens off; + +upstream postgrest { + server rest:3000 fail_timeout=0; +} + +upstream swagger { + server swagger:3000 fail_timeout=0; +} + +server { + listen 80; + server_name localhost; + + keepalive_timeout 70; + sendfile on; + client_max_body_size 2m; + + error_log /var/log/nginx/error.log; + access_log /var/log/nginx/access.log; + + root /opt/xssbook; + + gzip on; + gzip_vary on; + gzip_proxied any; + gzip_comp_level 6; + gzip_buffers 16 8k; + gzip_http_version 1.1; + gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml image/x-icon; + + location /api/ { + + if ($request_method = 'OPTIONS') { + add_header 'Access-Control-Allow-Origin $http_origin' always; + # Om nom nom cookies + add_header 'Access-Control-Allow-Credentials' 'true'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + # Custom headers and headers various browsers *should* be OK with but aren't + add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'; + # Tell client that this pre-flight info is valid for 20 days + add_header 'Access-Control-Max-Age' 1728000; + add_header 'Content-Type' 'text/plain charset=UTF-8'; + add_header 'Content-Length' 0; + return 204; + } + + if ($request_method = 'POST') { + add_header 'Access-Control-Allow-Origin $http_origin' always; + add_header 'Access-Control-Allow-Credentials' 'true'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'; + } + + if ($request_method = 'GET') { + add_header 'Access-Control-Allow-Origin $http_origin' always; + add_header 'Access-Control-Allow-Credentials' 'true'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'; + } + + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header Accept-Encoding ""; + proxy_redirect off; + + default_type application/json; + add_header Content-Location /api/$upstream_http_content_location; + proxy_set_header Connection ""; + proxy_http_version 1.1; + proxy_pass http://postgrest/; + } + + location /apidocs { + proxy_http_version 1.1; + proxy_pass http://swagger; + } + + location /favicon.ico { + root /opt/xssbook/public; + add_header Cache-Control "public, max-age=108000"; + } + + location /public { + try_files $uri =404; + add_header Cache-Control "public, max-age=108000"; + } + + location / { + include fastcgi_params; + fastcgi_pass php:9000; + fastcgi_param SCRIPT_FILENAME $document_root/index.php; + } + +} diff --git a/conf/postgres/database.env b/conf/postgres/database.env new file mode 100644 index 0000000..0361637 --- /dev/null +++ b/conf/postgres/database.env @@ -0,0 +1,17 @@ +# +# Dynamic env vars +# Can be changed +# +POSTGRES_PASSWORD=xssbook + +# CHANGE THIS +# do not use the default provided jwt secret key +JWT_SECRET="809d5fca7979a5fbe184fae76fc53c5c587fd521bf06eb34585fd5d6a3fcbc10573aaf88a2a52fa5457223f78e3a6df4cd3135e0d0b60e84d49b28f634cb19c5ca29c9da88bd46b8f1b639bfde4b9515829031503debce3e85cf07bb224a9a3efa29b26adfeec42abf345eaf2fe828648a14b9e6b7e9a48a9bdc8607b8172251d3bdfa2dcf0c7f4368350e00a7b4bc3c975d37e5f8db031d32ec329c869f562c39358748926a9e26efd28bb15085c14de8b064ea2f8f8c58606c7dfe19721a1a0ad7deb2d5f5cc6f96fa0bdaf624cdfa196fcb802fc508b9e0328207897a7071857f87f89147d065d5c712fc7c7cc4dd1743a55a42dade16e3e86f905cf2ca28" + +# +# Static env vars +# do not change unless you +# know what you are doign +# +POSTGRES_USER=xssbook +POSTGRES_DB=xssbook diff --git a/db/ext.sql b/db/ext.sql new file mode 100644 index 0000000..2f3376f --- /dev/null +++ b/db/ext.sql @@ -0,0 +1,7 @@ +BEGIN TRANSACTION; +SET search_path = public; + +CREATE EXTENSION IF NOT EXISTS pgcrypto; +CREATE EXTENSION IF NOT EXISTS pgjwt; + +COMMIT TRANSACTION; diff --git a/db/migrations/0000.sql b/db/migrations/0000.sql new file mode 100644 index 0000000..f3577d4 --- /dev/null +++ b/db/migrations/0000.sql @@ -0,0 +1,171 @@ +BEGIN TRANSACTION; +SET search_path = public; + +-- Migration Start + +CREATE SCHEMA sys; + +ALTER SCHEMA sys OWNER TO xssbook; + +CREATE DOMAIN sys."*/*" AS BYTEA; + +CREATE TABLE sys.database_info ( + name TEXT DEFAULT ''::text NOT NULL, + jwt_secret TEXT DEFAULT ''::text NOT NULL, + curr_revision INTEGER DEFAULT 0 NOT NULL +); + +ALTER TABLE sys.database_info + ADD CONSTRAINT database_info_pkey PRIMARY KEY (name); + +ALTER TABLE sys.database_info OWNER TO xssbook; + +INSERT INTO sys.database_info + (name, curr_revision) VALUES (current_database(), 0); + +CREATE TYPE sys.JWT AS ( + token TEXT +); + +CREATE SCHEMA admin; + +ALTER SCHEMA admin OWNER TO xssbook; + +CREATE SEQUENCE IF NOT EXISTS sys.user_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + +ALTER TABLE sys.user_id_seq OWNER TO xssbook; + +CREATE TABLE admin.user ( + id INTEGER DEFAULT nextval('sys.user_id_seq'::regclass) NOT NULL, + username TEXT NOT NULL, + password TEXT NOT NULL, + role NAME DEFAULT 'rest_user'::text NOT NULL, + first_name TEXT DEFAULT ''::text NOT NULL, + last_name TEXT DEFAULT ''::text NOT NULL, + middle_name TEXT DEFAULT ''::text NOT NULL, + email TEXT DEFAULT ''::text NOT NULL, + gender TEXT DEFAULT ''::text NOT NULL, + join_date TIMESTAMP WITH TIME ZONE DEFAULT clock_timestamp() NOT NULL, + birth_date TIMESTAMP WITH TIME ZONE NOT NULL, + profile_avatar BYTEA, + profile_banner BYTEA, + profile_bio TEXT DEFAULT ''::text NOT NULL +); + +ALTER TABLE admin.user OWNER TO xssbook; + +ALTER TABLE ONLY admin.user + ADD CONSTRAINT user_pkey PRIMARY KEY (id); + +ALTER TABLE ONLY admin.user + ADD CONSTRAINT user_username_unique UNIQUE (username); + +CREATE SEQUENCE IF NOT EXISTS sys.post_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + +ALTER TABLE sys.post_id_seq OWNER TO xssbook; + +CREATE TABLE admin.post ( + id INTEGER DEFAULT nextval('sys.post_id_seq'::regclass) NOT NULL, + user_id INTEGER NOT NULL, + content TEXT DEFAULT ''::text NOT NULL, + date TIMESTAMP WITH TIME ZONE DEFAULT clock_timestamp() NOT NULL +); + +ALTER TABLE admin.post OWNER TO xssbook; + +ALTER TABLE ONLY admin.post + ADD CONSTRAINT post_pkey PRIMARY KEY (id); + +ALTER TABLE ONLY admin.post + ADD CONSTRAINT post_user_id_fkey FOREIGN KEY (user_id) REFERENCES admin.user (id) ON DELETE CASCADE; + +CREATE SEQUENCE IF NOT EXISTS sys.comment_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + +CREATE TABLE admin.comment ( + id INTEGER DEFAULT nextval('sys.comment_id_seq'::regclass) NOT NULL, + user_id INTEGER NOT NULL, + post_id INTEGER NOT NULL, + content TEXT DEFAULT ''::text NOT NULL, + date TIMESTAMP WITH TIME ZONE DEFAULT clock_timestamp() NOT NULL +); + +ALTER TABLE admin.comment OWNER TO xssbook; + +ALTER TABLE ONLY admin.comment + ADD CONSTRAINT comment_pkey PRIMARY KEY (id); + +ALTER TABLE ONLY admin.comment + ADD CONSTRAINT comment_user_id_fkey FOREIGN KEY (user_id) REFERENCES admin.user (id) ON DELETE CASCADE; + +ALTER TABLE ONLY admin.comment + ADD CONSTRAINT comment_post_id_fkey FOREIGN KEY (post_id) REFERENCES admin.post (id) ON DELETE CASCADE; + +CREATE TABLE admin.like ( + user_id INTEGER NOT NULL, + post_id INTEGER, + comment_id INTEGER, + date TIMESTAMP WITH TIME ZONE DEFAULT clock_timestamp() NOT NULL +); + +ALTER TABLE admin.like OWNER TO xssbook; + +ALTER TABLE ONLY admin.like + ADD CONSTRAINT like_user_id_fkey FOREIGN KEY (user_id) REFERENCES admin.user (id) ON DELETE CASCADE; + +ALTER TABLE ONLY admin.like + ADD CONSTRAINT like_post_id_fkey FOREIGN KEY (post_id) REFERENCES admin.post (id) ON DELETE CASCADE; + +ALTER TABLE ONLY admin.like + ADD CONSTRAINT like_comment_id_fkey FOREIGN KEY (comment_id) REFERENCES admin.comment (id) ON DELETE CASCADE; + +CREATE TABLE admin.follow ( + follower_id INTEGER NOT NULL, + followee_id INTEGER NOT NULL, + date TIMESTAMP WITH TIME ZONE DEFAULT clock_timestamp() NOT NULL +); + +ALTER TABLE admin.follow OWNER TO xssbook; + +ALTER TABLE ONLY admin.follow + ADD CONSTRAINT follow_pkey PRIMARY KEY (follower_id, followee_id); + +ALTER TABLE ONLY admin.follow + ADD CONSTRAINT follow_follower_id FOREIGN KEY (follower_id) REFERENCES admin.user (id) ON DELETE CASCADE; + +ALTER TABLE ONLY admin.follow + ADD CONSTRAINT follow_followee_id FOREIGN KEY (followee_id) REFERENCES admin.user (id) ON DELETE CASCADE; + +CREATE TABLE admin.media ( + name TEXT NOT NULL, + content BYTEA NOT NULL, + type TEXT NOT NULL +); + +ALTER TABLE admin.media OWNER TO xssbook; + +ALTER TABLE ONLY admin.media + ADD CONSTRAINT media_pkey PRIMARY KEY (name); + +ALTER DATABASE xssbook SET search_path = admin,public; +ALTER DATABASE xssbook SET bytea_output = 'hex'; +-- Migration End; + +-- Set Current Revision +UPDATE sys.database_info SET curr_revision = 1 WHERE name = current_database(); + +COMMIT TRANSACTION; diff --git a/db/migrations/0001.sql b/db/migrations/0001.sql new file mode 100644 index 0000000..d20d895 --- /dev/null +++ b/db/migrations/0001.sql @@ -0,0 +1,17 @@ +BEGIN TRANSACTION; +SET search_path = public; + +-- Migration Start +CREATE ROLE authenticator LOGIN NOINHERIT NOCREATEDB NOCREATEROLE NOSUPERUSER; +-- scary, make sure the db is not public!!! +ALTER ROLE authenticator WITH PASSWORD 'postgrest'; +CREATE ROLE rest_anon NOLOGIN; +CREATE ROLE rest_user NOLOGIN; +GRANT rest_anon TO authenticator; +GRANT rest_user TO authenticator; +-- Migration End; + +-- Set Current Revision +UPDATE sys.database_info SET curr_revision = 2 WHERE name = current_database(); + +COMMIT TRANSACTION; diff --git a/db/migrations/0002.sql b/db/migrations/0002.sql new file mode 100644 index 0000000..47c2e24 --- /dev/null +++ b/db/migrations/0002.sql @@ -0,0 +1,134 @@ +BEGIN TRANSACTION; +SET search_path = public; + +-- Migration Start +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_0.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_1.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_10.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_11.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_12.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_13.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_14.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_15.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_16.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_17.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_18.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_19.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_2.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_20.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_21.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_22.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_23.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_24.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_3.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_4.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_5.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_6.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_7.png', 'image/png', decode( +'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', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_8.png', 'image/png', decode( +'iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAZWUlEQVR4XtVcC6skV9Xt7vuc+EJFRAQFQRAEQQQ1GjVPTWJiHuZhJIgIIiKiouKPz9xu93qds6u67zhgEtv5MlPVVdVVp9ZZe62992m/7RPfe/qwOac/2xpMjWiL7fiDA6tB4vPWQ885fPZxfX9+1vF5bJtrcahfy8f053lA6wHk0WcHoHFaAtheMjgeAbgCbwHqCkjcbgCY2WqgZWII2il+zdncnhuAAC5DXpAuLDnFmBWYBIfX1XZ3gokdwPGQzrrs3wdgBnHYnC+APYz7Sz4ugAtQw8AZ9hPkEyG8ft5KPTw7ZOfZAUh8TuldtOlxAQwDu/aRjQaxjm+HRgahe7T2KIwnM88WQAThwJHj7RrVwnINKIDpIbwyj5gMtgPAfo+x32h3xMgz1UDqXwvdA0JEb/oYAIZZApqvOFy56+DcX4TxKeAWbnwijvGcczORhPCCgfcxZJHGNJ0D8I9g3rApE2mR0gT4NV6J2pW8nBWAnYGPBWBnWWeLmXfMwsbKFbsE+ImU5T5DCfjnysAFAe5z4TAz51eMHCx8BFMX+XFdJ9AhGV2EV3Rs4zkrBmbgay0cw+fA19VHZ87SaE6bySMMqOMUkxmDOqGBePRZMXA180u5WaUYg3UrUE+xcBHqYVabiJMMb4B1xvFw4vdM88DhoitGLMqq+9jYTaCFtlKW2HOrVPKMPiEjFXiEJvpW58VAzC1Smfvkp4PWiDCaAYtjS8aOcB662cBZUP1EMt3vuzafswrhAGgEVxmD9K8fXOyvtHHtyr53j8Cj+y2AWmpldHnqsZ53dgzsDngE4KO0itoXEW0UPmp5uQIxEts0G6gbj5nGtHA/SwAJgyXrOB981EsCuBNMHGHbZHDh5jGFGFKfukez/vwAXIVxtF9lnZFYa+EIvcT+Ut9UaRxbvO63mhAQESeO9WMhIZzgYu9ZAjh0puvWONjBWYXsoKtYsw1oA4ylCyt8FdJLplcFvsOROh5C7ww3D8wJOVsA702mO5ALVlnU07IiMg3gkPco/XHDopMuLLSUsO9nVgbQOP/ZAziaMUdR1bVOQC36iPVhfG6gHfUa+b3OZO3vSM+wPTpYXB1ttXN14R6/2W/ydUqaFk7aviOw9gaoPlC3lponnBKy7eEGle00ApmwlW6SiWDqueWB4xUsV0ODVsgdr9rtZiPV4UpW4v/ad7U/AVOCXSiO2JQ5xEV0eUAXmGQhr6nJ+X8DMGI/QTFDGLJiSkAS4zQlBJLsM6COytmxsWSeiABjnhsRQNyX0Xw2AE4cxis0UihcengaFoLjEwJQH1K6Qd8W+/4CnJelcUNnC6c1OApboA8J0IP3+wYyL/0fNxNS93Z5WYA2I2mZlhHMABVUlSfSEAjMBM4ZyASsNG/ng2ClTGRO0NKMchyhq3sr6dEXPnYGZnBHQOUNrNXLvGzOvIOw6ZpDFkZg0JI4S/8EpHH1Z91PgBsLJMWZlDCxTg3188VxYW0/JgaeBC0DX2lONw0O3oD2UEvYEigCZxCcuhAwax3CEqd3ZBoAK7MxcB1UgnGCiQvPHhoSDn7UAFrXFvHRQqV72wrH8XHptt1RG0h58cYqAlYaBlB2YJf1jvsAlHWYQNM5AC1nCU4yGOV+SWfiwAjnw0fmwh5ED9PBQkMzJvM+5Fp4RXAm0ybzAowAkHkQNIyh/oHW8Rce2Pcx3I+fCTLA9MRgSxOZMy9NrRuUgRw4ALEP78b6/KNwYTxnJJp+2MJFV5WnAFrzcYYU1amFzwQr+mYWEUABtbsA/wQUQS3q8biBHIAaPILrRaUYEeSBf6iJhSDfRW2Nw774t/2Q88ABXGPP2gwm4doZTqwTs/HdsECJXIxAmhjgoGcAWkl0AJLmbTcXFw1QhzJCGIwTgArvMJDEM8tUoTjMSXhSDhcQxH0Byjf4sBg4QtSiP4G6by+pgOnaYlr30oHs+r2mXkW/imfStQJwgAIwCxywsLa1qf1NbXUtweW+NZDfw/c1EXHjJOX4vK/jacSAg0XAygs/ghAmC8frd/CSnwThhb+NC2eo3hO2CUlYhJkIQwBAZGBCGEBd7DYXAAuMLBS5X8cvACxC2qCDbTiHLT0a9/GI+C5NkpBMM4zBwg9FA6feLhzsmHczRMWrJYADuM4+69IMW4C6p4PGPWcYChjcB2AATHy+KKAIXO1fmn1gocDEuWIergNQ+F7EWjjyn+j55g66JwPbA8D/hoGTKXoABnWcHJuLp9YaGsK81whhhy43SYDBDqUZMhCEZ7RMbLm81Pcuya4CqzHuEmyr6y8RzgDuykzE8YBq9lI/8YzRUNBE693AOvjJXiF895ga2MHqzFqbxlHoDlDmIAJWBpTkdSCYJHjHvKFpXgxBx8gwvjy0DS8spl1C6y51jCAmjOu6y6IgzuO42HghthYLLzAt0FKwmBnk8BOaMVwXaQzGvb9D8B42D1Ebr03kNFhN4VfMoXkenV7rXAvXBaiOE9aY6aKYeU5dyDycY89OzFmHLU3BrMO5q2IjAQJQq79XALROwjQuax+gAiyGsnUQkzlyQwAW94CZIH0p4O7oxHXlJ77/9ErNj8FaA7QO2TBxOPFCAP8DeA5TfsWhTg5Q/wCaHZWGYaOIxgWkoXFiHFlYwF2ZgdfFSIIFMAmutpgM7IO9OIc3v6jjJbMjhMfokbYUYncUkmLfBwroBmDXnrUFrB1T+RPLmvFHTFGRvZoEf9Spxk58nVqj+zCcUQkAPCa+UJwkwI15fvHprGFdQnhHFoKV16V3AhLXgHF1zGwFo3kOEwJNLXAQ/tt97bl2xtAwusNewJWPMAe8ezgY+MwCHb37yiGnwvtFhVov/H1Em+QAtM+VueT+DWPNva4Vy8S8YRgML2hctE9GAbYgVMEunLvG9upQoFxsrgAcdPBqo8/XALXO4T5kp8CEViLhhiOnfsbwAahe0gASOOV+IAmAvKt/tp98cgkgne8ewEI2gayQWrIQhyf4ZFx3Zy8VTsPQLIyuccKWpZdrV7wgQLXYA8iEaHSPmmetI3D1+QrsKnSvrupvgYEtQ7m+zM+4j1lKZ6ZDSy6UItVfV0cVqCrdWL4BOIEHbSwAn1bFl39OReC8wNEZv10KvybM1BpM1mclAP7TjCTFevSOBDaQKrNkBthCr7jP0FPqghCMthG4YtZ1sQ7mgHM3ZJ6OY3sdIMPEgBcW4vl4cItCNQ62BA1vDgN5WE5c/222n/pBMdCkiXTN1MKaBXx9khteH81UiSOmKQwFWL/pXMXiN8FcQz1+n8xZ14QQNLqvQgkpXsqyiD/MAgBB42gMAKeuBUAIV+xfXV5ubhDC9fe6mHeN6wE4vlMDjv7RVPhQNyL4kokwTz9AhPvW333Z8B0MBQB+GgCGGA2k4QODkdIl4DKT5mkcAmVSbAFgmUHOLTRW43QYqx4dDVA6aRgojUMoK5erFMQMAxjXDbzLouZNhSqZBsBufB7HmQsivBHaF5u6jK6dXDJJ9baaCNRgpC2YaLw20xakMQXeXbERGliZ9PYzP3xWfEoKgfDBDfJyI82YykiG809iESh7zcBmwHlzGMudcWPNJtHEZBD1mkbndqP17lIrJdcOiTGTX4Usw7ZYhXwODATLAGLAuwG4YGEduwGQdf6GjN3V1gYyKhYl4CCgEvI0YhsZWLZp2NS++oAkuoxYADJtcGgGnNlzE1BpVI4QZNgqwaXTduBaKCu+o4MJcdAYX0uYawLVAJ3Vxa6Yth15HdxU2sfQA/PMvhuEZAEG4K6vt5tbb3H8pkIXpgMAAWYdqs86Bvdm2Tc6M0qwMV7yp46zDVhjAmhqJCiM7+qfh3Vg+9mnCkBcjCkg2/Jlvff6cwAcOtlYJSqLbSj6zbdBVhxJ0/Lg80xdABrOsX+nqkClWb1kpSVxW5jFFZyUrBKzGL5kYQFU4BGk+nuLfQCJcIaZlJgyzaE0WP/qwamZobVsJbCvKFIgEkEMmgg0L6FMLTxsPigKbj/3ozBwAkcB58s2EPGGXhftK/d8kNnOpqPToKxaiZ2WOiqKQBTYk3kCsQZUL8w2k911B80CaHWebsrwBGgAT4xjqIJ5ADVbAApTKbBuYSDMGwuwkTy7wYDjDOHZ8lebVhoY7VbzAMYhLYQLsxb+/I+fPczcJ2WT0FM6of10QhBiYaVujoVnzdQCzJo2AMre2biPAB7XAXC4N6KE9y22xTyc75WRSviRs9U+DAIgEjiHMVIVAHhd2wdgHlKZuv62JgHhjIT6AswkWMoD0+KC7jFJHwbmpiomXrHp/p8W1lnGEcjN5gOE8Bd+8hw1kL00vojZR0aIXkpiGZ0K9dDcLBIBlYKklFO70X8IpJkX9oFlHB9AxP3R56stgCrtw/NUv5bjuv1EoAhagZgQvUWoFlBlsYOFYF3d85apDKQAgLoTUwDq3ujEzN5hSMQxAQOGq95VIawSbl8OjARaaUy98xefec4MdFfWupckNsuCmDGqBJmi99aOlc4sS+iKazEJoOc6GffhYR2jHIB5bmzCOMgOAqlUhoCBhdY9OCwN4npTWic2knk4Vqg8gGGApWMSFLpsNAA0l37oE0pzVW9nbSVaqCZMMdDEAANRjTxMRwYM/NKzzx/6kh/tnGlF2uQzlJnYJsG18I18ka4q0KgfdYJ7PAjwipGag/qL4ghjw71rVM738FwYSYC7LIBUpjmvY1IsvQOoAE/M22weIM+j28IwwLg4LdIfd2JYfSBdwRag6d6IOa3iKdtQH1LKrSpE7qsutEs5pDIo5b78/AsHDjy5kMNVxbWLd4IpUVV/DteDOC7loJHOIwWeHgrhJcsIZAxEIPN6Dh73gmlYB9HcZLJbYVZACTxUGrW9KYDAwkqOH6DmpWHUX+oeQhbsE2BMeRi+yh9hIGqyioXqLUr7djVrStPmopLsQ/8SvOSBNBHpIFv6X/npC9ZA0VjrCNEGzRjYBAHf4Uc57lIopItJ5L4j2S6smWPSUiuDLuNg4TAMA53wjQ4iWVYOiCoDzEO6IuCwBesg/tQ5VBf1l+A5VQFwMI1raBtBRL6ozgsAlWkAPEiEdJERxShwlDE5FXALBoaFBC+lXCXS5STbr774MzKQOZdzL4EItjW3MkMTwnq480boGFEEt9SK10BaCANIXyb908/GtjaMbLmmgbbTAkTpHQ2EbivNA4AA9QlXGMnz2KoC24q+rKWdqmir5HnIFMET+zi8Lk1eWA/7QAqGsHNCtrO+9jIAnC1xAomXMIiLpUAztGvh4jclGoNZViELLYH21f2ZONd+whsgqYiRkZDhF3tt63oBWGwcOZ9YRye+PVDnbpH/1bUM56Q9BM89Qpd/bIE15mVhndJFtnmbz5x6vIzIQFrQlRW+AfEhFpW+/sqLhzFDAI09MuVeqQBEf7kURRdAQve8zzYf3dQAIrTxUOaPLMfrPFayUJphdHUeW2qsAASgDF88q6oPVh03aI4ibOu5SJyvC7jafwLGUtc9gbyQhuGxMlF2JCXXI3hpmKbvh+eW7uW3McwMnGGIh3xJGl9YSCNUM0FpjEq67TdeLQCZbyVtmN3avjTIsB4FuLXDJuPntTzQLKSj4T85MCsQhkuNEabErrOAo/viRdHLY/5W4MFEwETnfrcIY+qck2SEJysWu6wZRxLQMAyYownLR/O3MWJdFo96ycr0RUmtdJzg2YWpgTGSOvvNN14SA+laeuhod1uA8RJ4ObhajIZhzPQD5g8zMQOpg+6lyYsHsDAUBgeuZb0rALFlelGgEcQCCsZxVSArbTmom1zjYY7HEm3ZTKXm0TQ8EXbfLAWk4ki+h220TyEsPddgreFOY/doQ9d59gKhgwaRDPzWL186xK3SuVWDEqWPQrnPcKoShEX2xUAbClmmAeE4V/KPAFbYbnd3IzFnAs22FRgH7RMT1RhFqGoCUcrBbTEJWr7U5LPN73ClhiNzcMRgzVcOn4QZzKRaU5aUCcx2nYTIoYyr3AucGpilzSLHt99++UCwkHvVDDJ9cLOShbtZKRDlytiOH++ATBhNaVxypzgZXdkhe8BCOQeqvHBThqH2FcAs86CRCETqGMEU8xS2aB4kZJ0nemzHv0SwyxIw6WN+bUDyY/KcvhAmgIf5btFD/GgcyWmjgTYS54bb77z78wOLc3c62BpP18OgppiXJiJJhWapd6aVfYUvtbieqBnVCJj3Yb9AYnADKB4zC8udARw0EPWwVswQ0qg2CkCmIWpbCWT1AzWW1MuKBpmhclmmKhhGDITjm447SlI7n9xYmieRFmBUcHXmFLpMZQJifee7770iAN2cvELrh3WnNFGfM9BWT6LApwG4hsYAAKQeJUDxeMyq0xcYh36BMLWPmlRsZNqExgGcGKBxCRJSIn1kQu1QTT2riEiu6i3yV7IOEwVgKxf05EriUnlY9wgyZzuzzghhGsPfAMpEcDXcl0uaroV59sn3Xz2wr0bAAmS1fJBj4RiAhTiHjZ59MQAs0qxyDHFljqXOsQWjQSt5dgLNkALIcmCufZA5YPTeeSiOoSpRSqPQBvMEcHLXVE74fqRlGIaXKXt/c7buHCQYKjX7+A/TL4CG0ScPBD3cieFvp5/6zS8OWkNA6KZdBO0LmOjwei0CeRZzLQt03V8vr34hhZlxbFfmvAlEVigEsxZiHOJ0QYIBRiqUBYRd2XUxmRnQGNIKceV37uc5UZZZiH2L30oHKE42Y4PIyX392TmfA3iwUj/rTRpT++XKzAUB4NO/fe3A9ngABHDM/tUS0oK0WknUHmqRk1PuqwmLkJFJKMmGVuizOi9KqZFAV7hy0DUkMtZ5IMEAMGEl7ilNFIDSWobzCF2lUgrVmIV+xaCwlawAJP2m0JkCwVTkGMcRvgseJoR5mXNBN1WV0tR9nv3d6wcAxjUFrzWwr+a1BTQrr6sc4KpXjMaJqX4aARapnsRQ86tRyQZywISvZhtmEiem/jkflJaiK1MA250FqABMiwtgMVQNJvPSXA+QyGZ0WXBvBQQn0IykWTgq5v6pAG7hS1TdSGAoIxdUVbJ94fevHwKeivWLsbYQFnKxOs4Ml0SXBIOuY3wBrmqpo0yuuXGgRXPnAtbFaSJ4KQE8gEQtjPtyG4OwwQRgyocbsGx+eBnCYM1f3yeEASgfruc4x2LoEhghPFIvU5AEAGwIXzO1VyMyk3rXF//wBkMYzUm1ywtAdnnrmFmZn0Rw68RaGb9cWS8RMRaAGqjYRwVhFRJNdCfGaQ3ywIDIkLYuwkTUTZE2jnBl2OKYpEOp0WQZr3X6hPJNi/WQElwE4KR5i19bcKwZs6s4M2+aiHNCt7VYibz8xzfJwAB4WwzU2sNcJtTvSeTSKrFSO2NNtYaFVIMaox5g0gWasFMWqaDaXSKqUx3mg9LEvHiaq2Q1mdfCusDD99WOUogrC1Aep4kI2wCW0hoBJoj0J+McB8ZxYZk+pkpTNRYErPJB/7zt1T8VgGAbgEPqUoUmP7MG1frr0Ee6cOplCLrWbpFUk4UcVEJGg9BYHS4YlIZjEG0mFHkwDEABUGkcUh0mxTaaOOzQy+icZSMhOoA0WgLOodqYJxj9b5D1kEfksJ0180H+T7wMHrtLr/35rQNb4tA+NCm5RFggottLdzaABo96mEqAAu86EwCMPBAfNPusgx3IYUF0kOkq2YitwlzLi2bjcGkxUeEdQBvjwj5M5pASs38AF4lpsHmCmxqOoB0ClM463sHsS3fmDunam395SybCNVVtwcasdg0ddBjHUFI6gZFJGdjmB3BelJGJoBoBRmZfjIXgpXMDwGQoDEczEDljHFk/9cU5aRl/ScDQnd/hXABEh+Csd8V6kc2cc9agg9G/hLOulZFojCrtFL6DgVCht/5aDMTKFnUwLLQOdiPxj3WQbHORmyz0r0Yh5tEhmAX3PV6nDGwqjMEmzKulC4GPdlkv5c6qRFRnKzccOkew3QD1fcf/6mhgFJlQHEzsYma4cIWdcXQBZchVvk0jUY6Lz1xUeudvb0sDC0QuEwJE7+OHOTdoo9OdZSRcLuy1sZ1QyavBw0tzfPrMcXKLzzAaJbUyFH+HjixNHAAynBWKCmFrbFybYPma7CdBNpBeVxuOG44N1kWnmwNnngWbNRDMG2YCEA3gr/4OABWyI4TLSIYujh/yKLnWr0Ld9iIDwUa8yFycQVqCVIGubACHKA8RNxPMuuiijKDKva5nZmDcvYduNE+NWwEstil1CfOiyLg+PqGswBMc2hm9tPI1boSt6LpYG8Hcv/ePd8pE7MJYbwV4dGCB2o0kXRqEbrrWWiOxDjp9AFvwUIUxnjLDhsPB5/qP4ck3nPpHRtml+YNOG0xAWyyHDtbF5QWG8/l6hkCdkPlx1j8rMM+rckqwW/cYul6e9TUzlVFnevvrfxaAZhzCFyzEuutN9bAAHs3EpZ0MRI1VbV1/jrRDv3SXs+ZlMs/zJeXGMRVNQC3RaPwITwyM98BaMtIjhKkYLYB1PuEvwMUlfU8TxDEQv8l2T2l4NxkaWsY0/B0dnjqolpZ1EON8/1/vlguLeXLiAhEL11WRPCgtnFWKwjcmoq51L+Ij+vn/SYCXmi+kCJHekXRmIoFsL5tuzQxFmQFBYjVjsBj61kS/pACMQQUqMzDR0NasNRIT1KDH6nRYP0fAMdoGGgicj9TFh82/Aba+YlRj5Ca5AAAAAElFTkSuQmCC', 'base64')) +ON CONFLICT DO NOTHING; + +INSERT INTO admin.media (name, type, content) +VALUES ('default_avatar_9.png', 'image/png', decode( +'iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAdmklEQVR4Xs2c6XYcy3GEZwDul/5ny9qex7tleXttWfKmI8vyU+iSIInF8UVkVPWAvvI5OjZIgkD39PR0V0VFZkZmVc/5Vz/86cP5pJ8zf69mez7phfd15JQX2rD3cDo9XOn3dK9fbe/Z49jd6V47d/xoe3vW9uH+dPtwd7rVGZ/4vc8+xz7pvU8PD6cb7X/QRT/qw95yXFfm9a22d7rvR52nq/tXtzt90nnc/V7Hufcd9+dXf85u24Paqf54/3R65v6dTtf36o+OPdMbL3xc26vz6ZU69EZvvDxdn77RMW+v+L06vdLrt3r9wthc6S9XG1TO16fzf/zwbw0gd7jijgtMNcKg5j0fp2m06MpNdEPv1VG6wV/A4bVB4kfn3vL66jaA6PfT+V77AlDnv1fXP+jYO3+WY4AFuA8CE6ABTtfwdXWOmsedGKA7gcj7tA1QGVk299peq4O8clP1/rX26NszXqvdz9RjAHkm8F7o/VcCC6Be+/dav+fT26tn3r7R6zeACWzaXt0LQHASuFcakACoAwVrbwMZrxf9aLDAM+NonlpOB8ONsA+Q7ui8QAK0u6sAxi+sNNN09o3Ofa/Pf9Q+rz+IeR90fTPVAyDgzFLtqwkMELc3KwecO6wBNuqXVt6PmZwHWI4BmNmnffFF/RbrDOr59BIgBSKMew3bxMSXeu8bMQsmGjjtv3pgCxvFWZ0HA086Znx+/aO/AxWN0CVgvC4bad4Z2xXiATCj+yBQYj5jbgPSrYD5ZA4O28SqjzrrA0Dq6I06+E7AAN67eQ/TBUhYxXGzVwNhZmsf0DJYGhSdo75PO7CE2C+DzfmABajpKpYFYOnPc+0/EwjPdd4zTBPQhAfsA7DXADb7b7X9Rue80u9bfeYbgRYWwkABCPF+/aO/FwNjqtyIm8SU06B4EU5WowVM/B9siD+CffFP6ihmWp+n/Y/nT2Icfk1mKfZhrt8+CEAYqM8DJKDx/o2uz/tcBxOOG4iZxj0IRFtAwOQfPtADSVvtanLcvBtCGDj7co4+iGFXNnGbr7YAyvaVPv8as9XIvAIsAfRWhHmjY2/nPcB8gQ80Xubz6fyfC8BjAAG8OMqJJjbX+L7xNeqsf/BTY7Iwxn4OfwaA2gIOrAOc92Lgt+qkWaff92YlwYPXMV+Y6qDDYOnuHIt7qOsIcAZwAebhtlf2mLflGMwyYTFvLI0w8AzgCCY6BxYCGv7u5fhBAshrQNS5f4AftJmzDYCLhQHw0gcyWrTETfJIxnzvBSD/GjxsTot9sKy+j/2AhjmaYfrFbN+JgWzxgTcGL0w0eASKCR68tsl6gAKefe8wktG3DjBgE9xos0E1H5dbunYfYJ5sSec8H1NOIDnZRF85MmPOMA/w5AsBTPtvDRzBRMcE4HP9EOKN0G9+/A9uBeaboBHzrTlnSMOGbu0DxaZGXpubzfd2JIiirn2czFZHzD4A1Ovf6nM3utJ7fKEDCj6P4CIQBV7N95PHLObroGF3MYPn1tABpIx3/U7a331IET8IaHH5ABig8PFIGfZfEFiGhYCJP/xGJ+AP3zig4AMBEzPntViIDyQKA+DSfwvEjmGYmBHOaCca0nDxTxHWwNnpx2wx348CEkBu7gUoDBNov9VZ3wKkzNUmrPff4RfRgVxD17Y2HMDsU8ds7zDnar8x1fi+EJAmRpXCuirXgLlN+EH+Lqy5Vo+fO5AMG9GAApBI/FLHkDVvHVwEJAAqeJh93oaVL670aa73Xz/+RyNjx7iCCU0Z+VITGe/nhhtAMUPi2bIFXefO47tkupYrsA/wbs2+3wrYdzqG9iOAYMawkAjL648CmiABgERx+1W1IWJ5goXaYvfh1kW6+G+cdTg2Lw2jGRi2wcBry50ARxC5BiR9jsDyQsC80IXxha8EWlmIdMEPfqNgAhvfjKRBLzoSF0Cb7GMGTiRr6FgBxAASfePw74ZpZBrJKNhiooCowKEtbHsHA+f1jZmJfwx4DSKfLJITjS1XDBi/EccoqUj4mGojbgGM2dKV8YODKJEXX4ioJpjUlJ/p2POasS7+akwXFr4W0+wHYd992GdxDZD2hQXQYb4A9uZ57WZeRGCyj0qLpGuY7q3YGMEMIAQQ+T5YRqYhsJEv35p9ykDwhwIJXQhzCSQGEO23AhNCOgASTOzvYOSI5kAYv53/2wfGrNN2iw3vogHjN5EuAPoCJk5QMQM5psvCwmYk8XlJ5wgsb85iIqYsEInYYeABwABZH1jzOMgXZIUzkInAZAqLgWQTAg9WWaZ8MstgHcEDAA0eYpnI7AidHDiyB9aRyYR9+MAwMMaK6bKbo2FYGhtzjpYdLk4fYF00YPRtIvFDclsAU9+RNWGhpM0I68qWlxOFCSqOxA4yRG3kjT75GwGY6FUfePQlup1lQf1QXHUBNFsmeNyKdYAAqz6o6wEQqcL2PgD2GMy0D5QPRUwTfSetS8YRkR7tF7BgniPxsG07vug/wzasa+AAS1yTATTrYGSicyJxigqcDxuRMLD0lUAjOwEsovJLgUdWAgsdRHTua5jIJy8AHCB3FjLiwIn6COgDA8lV6Sx5L/rtg5hIdAVAouuNpUr0n8EbKeNjZB5kLUIFJl5G4OTBMDCDF6/nn1EFMdoA04ASH74ZWCAjZYaF3o+8Mftkrs8EGIUGC2skjUYJAAkgW9ZMbqzPIWteO2rLQUTGlH0V1ATmGMWlAowmo+KyBLSDSPzeMYjcyAc6VUM4OwNpEElGQhCx+SJ91KGUsaYCgwnD9InA7GMJsJJm2Qr098Jv15qHiUeTtnQZk8bECSL0DMDwkclMCCbyg5YyAbGyxkzEhPGHDiwUHhJczr/5kYT0ir5Hp5wWkYlUQNcjxYSJiNF+LR4kmyDXjR80Cxt58X8wT5+7EaiYsKswBp+cd+e+t9V8SKWDGdOWHX1rHabc+L/4wua+ZWT831ETApyi8ZS4rmGhS1wB0yBa6wlEmzHbMK5BxVUahPTjXDjN2f6kr1P90LhXA6prcfQR0rAPMzSAq2y1zfhb+70EDkwagBtEHIGdhUxVh+sOC3F8yUYCkn3h2MYudsSCdts3WAWvjFxpnQ4sSYM2tI+cCo3NOCkeYppf0jt8oUGUpHmt84nOrsZsU2jUjYumUS2c0uo0fjo0qZyFrxiVIkKiMECQ+wIQr9mHccgZTBdpk2pMCqspOIRtrsD0Ht5OFcaMH+HsVgBa+Dgj7mBhmCfyBtOwr2kegQRxTXpH71JfFoB6A1+oLHfSOwUU3RzQqBemxCWdqH2KqwQR5E7KWUP7uOBjPhlHbcftUtYk9aRxZh8spEyPDBGIOg0GfiCiogVdRBiwLGGS/xKVA27kTkAM68iFYRyDwb1XFUYvSOeOsqZpZqVXgl/StdgytcHs75SuYEbSIM/RgtGFCSb4yOdIGpsxtUKYGJOl9E/hARYawFWRvgAx3jpG0fJ48t/kpOqYA0kkh/0XQWBMF3MmA7GZwi4dd+DwMXxgyvktotr0uZavEcbl2o984DCyFcCC5ARtqjCRXUnfzD5bUlRjmBjLanWG3pGVRMoEPEdkg7hZ6IqNznGGoi15MYHl/CuV9GvCwfDgSwZCTOcYSKzRxCZHSms4WFQtt30hoFBpqQkXsPpCZyGIavSgWZcCauc7GkCc0rWQi+HZcpE08BGwYtIOMcO2AlkzDjszwYTJwTj+OQr7eJhZFvI+LHw+mtAATnB5AwMnwJx/9YOfrigctg+As79Vfxz5hBLvh4V1/AkCgJFgAvMwTUyambdEXEy6+3l/iqmOxDHdZiEFMH5QELgemRCS/Hj+DdtaC+Qc2GacR2GsDIUr6F4W1HDV5ntv5sHcCGskDdFYDBxJgy703AmvBSBi2kL6lz/4G+tALuSmjf6rYOAmy3mTA888hf2ThTTJP1UZ/Fdm1FyRnkjL3AigeaZtTBiQ3zudi+lj4smDA6AnjmD53Ms5sAFLFegsNDKNBS3DRA/tZB0pAk+G4n4dK+w14Uw0ZeqWUsXM2llYI2dSZDiyMKV/cuBEYfvAX/7gJ5nW5IZjvr71mG3GuMkSQiZpPc1PJWbmQzBhzM9BIWxE55mNBjABBdFMcCFoYOKZwkxGkhm48X2TC9tdMJUwwcWVabORdsVkMemwbfg52QqA7iwlvpG3mvwVQDORYGLPmOACgNf6MYA69nIqNYAIC5E9lL3O//79nwzTdxrUKsxmIfprGkpHFjPoTLOHbKMJow2TqkUou2jKMd5nO8UDz9xNEPH8r/1g50I6EzdVadg0PtLwIa0EpId03jPfxqQLbiLKTH06javg2WwEQK7kKDxzvg0qjcjUEJEzZCqvZvLp/G/f/+th4OcBJMhW++9oXC0Y3xSflZx45jS8n/mQSJyYaVgXc6//M/MsX8K+DEKqMaxKAFJm5Mx5tTRsnJk5vx8mpsjQNC92U1P2VKzJGnWRHu3+Nmxm4j06ETYirBcLR1iTnVBweK0bsn/+1z/+K09rjgXEDg6RuPEtt5/EHh3YdItjAEen53fJGptodJ6LBV6VMJmL7lT2Ofr6s+MGfB9pymEkUfkB8MZ1OLAxvXmIxjHrQHg3utVTsfjPqogxafqaCanNxACXQbAZw2yKCnodX3gt36j8GQAlYSj9E4kF4F9mQCZadRQD5Iykm7EBNB/sdzJfa5845kunEDhZWZCgsoLD+EBKVzb1ATWl/MyH2LeODszaGNgT8HyfCQr2e2KWi672fclM+AlzA3qAitxZwcYcpH8pSZQ82NjI8PGFmLQKsMRsC2tYp2is0csUgO75LwXQEM11J2jUc2wW7pkxN3QanynHmLBZQiAAuPlFYEeihIlr7mOAzkRS2IdPhUGwmOukqBq2AhJlMxDDD5eVljc6BkApcowpuwMTvYdxGYYAC1Er0wAv7AtrGkzQiaR3LroKtGvdnjKYKzZg9s/f+4sVRMK3HaVyg8A4Y+Ztbppo6ICy2Bhf41KXJU46ZP82DDUzzbb8cn4KEvkcTA6gyb0Bu5ovpjzp5PhC7n/nlVgJPj53GEj70xYAA2PalFIW9wtj27tlcEn/FogB0IJbLHS+rM8hZdCD518IwDIv0B3/FbzRUvNW5mf5F11Gx/jXIsAq+ZeJNJjzGqUH2F3NmRVYgO9OTnCaDnYg0tmcA/semFb1IIaBjuKWhmP6QhJ22g2gUw+dIxjVh6YnDS2TNw+EqWJjxkzCU/YSgLruc33+OTncL7735/uTRwAvAklusf/mVX6jCWPSs/V+89iabNjhKraBHR1pUw34Zek21biMuIUAEwDjMrrkg1FvARYTvxNTWLuTgYivDBNzH1oJmGUfuLYP9DGZMv92MKkZk3Dg+1jRwPzJ+ecDYAZnD1H3Yt815SOQM2Y2j5hrf7KKKiyymdtkRuMNuLy/lm/MsUTiDAogVS5lW/MM6xssMB+buTrUBZfoygSYcQNMlcJWdZ5quttDMNKxO5as+Eh6H09bE+ZYTL7CmsqN/SEBhcD78z/6s1DrQsr4iC/ZC5dxZWKh7KR3zDkN7jEXQmcK1GyYd9i3n6PjjrLb/GuuXD8FXL0nMBwnuMZEWg/QulcYHbOsFs37YTVRnHkbBiiT9ak9zqDMvdKnqdx4PxhU0jDlCZyelMeMAfCfBOCF35sXTXcCZGHctC/E25SHMXZHZV7lRBjUeZSkgRMcJig477VcSee4bgaiUXXkitjFmyx0ygBwnj439zTT7AM1SEx2WS+m4p1AFVBJI9t2BrOuqP0KdKVReHitz1lkC7hrfRg5IwD/NEB/FkB6hR2FLxk5H1udnRGzFAkTzZgZ1eiy0XkDTIulWTw0kdfMiiHZJAWUY4T5qLbYtGNy7DuVHFHtAIS29DWSAX1ST50hMTA6luVzrfxsHQtL07pLyoQ6U0vEbPU6y0QoOqhtG8Aj5kG/EO39AXMOHCPXNvEGlDQnNbtcqyAWuDCsGQYgJkDQUUw2Zg/zGBTAmw6yix8cnWhXAatnSYjFOwzEbO0CTi7uZt2i3sM/mqGb7RyjMLIhPACpawBillRS+mLBKX5QxwFwG2ihegzf5ajwKqAE4vqNRrKjdvRiSPuqzUaDWdPlGtZ3A9jsO0h4TKEfpjrs8y11tTpFeAMYZmKqOzDxo85zaQzWIWFk2im1lYV5nSwpg9v6Y+4A36dcVhZqax+oa6cQq1c/Wya82LtsP0c2mDNpOCdu/hXGAjtdNLw2DDMr/izvTVo4ssRMdDQ9MNYmrYMWzGQZ8aukrx5xQDSm47+0D8tSn2TaADmTijdzNLfd1xkfhfgnreWxqU9ASWH4UVAZE0wcHlNWW7ra35P6P/vDP+lk6kLwyMMN696raR8BO5rzEcBmm5YhADBsbBXFPtIXjD/KoIfTDhC8OaAt3zepW8aXoMI5MzFl880iTnJxL1yCdTrtA6Dp/ZsDC5NWTnBBPpX5tpD0tLKGgfQjEzpWPygGCsDFuUKz4/IxQh+BuwQv4G5vl5vGzKvnhss60AATTuYOyavnCjOCLRyszGcCiC+65kgyKBbOsInHKvQ+1W/KZ17E7oAiEAVgFrbnQR7M2mtzAE6fqQ6Fh83B2ysAA0AlI3TAUdgP8JiB/ee+FLLPwXwcVo4m3bMfG3aBLpi9lfNnp4CTp44ZQyYDO3W7mjegeWIpHzFgfbhG6++m9ofPw5TFPDMy5TMq3rDug4HVHA3sVANg5EftJ5iMD9VlG0oqsO3GFw/Dx0gawXoB4BG/tDL9PdLw8CLvHoEe+AaEPTCpJLeYuczaIHLxHElZKgHFgPs125E1vBrBn+NyAL4Gd4o+dAAx+1hODIAwj1UReU7lxsBmIr+zhizqJEJTaOjjFbniFCoGgozdTKHOvMnnAK5efxdw07sDawPhRnmz8SgKtmfdbKzRJxQE4D0sSd8Sfd0hXyIBJyzlNz5wMzfmx9QpBVlAxGS7Tsf7Or58o/ZhYNdmO1s5pKAJeNME3SRNiaSB+b8bwO8E84DeocPr9EHQm+m8G+HOxwS6ZASQcCsA4LI8gYNGRz3nvDHdVF0iW3inz4k0Y4nk6RITgkWCCKshsq+F7fjEmY/hWJ7Pm+KuB2wKD7mDWenhshnHZ2eVg/YoqH5mwkfQfo/9sq8fLYjeMoJjlscgM3okLKJh+MXxx03zw7imd6CeooI5PsDlAZx5WNGyhWUkkTTvee3VEQHLxyeQdHVs9GALI003tyezdZiFA+JnQeT3AOx/+shjEIf1w9WkTLvyONF6LDUg1q8NkGZiAZx9xsMZCjXAdCzyJ0K6j5NhsqzJwWx5TgVN+J6nC5AzE5ktuj13UznDxeMKasJHFqbPyooB8/+agY8BXWAO874ryreqazNxsXQCiA1oA2iOTXyzUrMfTE6cqCklBzhjuvGB83SoQQsbY8ZZ6ARwnWrw1MLcr6nkGM90LTrQkoZB//8G0De3ma0/40l2wIg5h4KY5MSK0Xr4wwC0oriZl0KDfafBg5FMZ4WJWciUddgA+F6f8QJPmAa41n95MtQFhpnoyvPJKV3kQcc48XA7fpCHuTliX/gUAC4Tdgty8122HMCMbxu7QffCymFcmLfLW5k8igj2fIer26R84+9sylmD7bWJAMlCKAHPtlImiwCSC7PEJNOnl/l7WRjVGlX4ZAwsgPbBByY+NvdG4ASV5NBWC2bgsGBKVzCPrMNbV6CzYtYFAQT0rMlGA/rhxllq3EdsLWXMvpmnthacfJgqjwNSrxc/XWdi/40J07ynZOAGMOYcLta0G6HbWNo4pYKxaU9HziqDmmoq2ikWmIH8AKBZF5Bsxtq3hNE+EbhPzqc6c5xqjTuAieF3TLd58TDA7fdU6JMCuCA7iFN7lRndCz8ZACtj8pxIOkSO7FzVJpvImUmjPDnFj5fRCVRLGNg2K2MbUPr1AjDT9UEi8jJdKtypeLeaVN98LDDw0OIXB/DIwPHX9o9DAOs9z2OM/2sU3g/jkP/ORBEA2oSzlG4Hkvg4Hm5MVpLMxEEE9jLxrzHcT8dPoZXBSYZ44GDkROT1FwVwh5Gjbjz6wZayktLFubcr/iIK+7wpQTHnQSTV1qX8KSh4jTaM5OkB8mDEtGVOUrY8EI52zNe1VMKwxSDM5/E1LYpHNcxDjU9mwnZ1ibIx2ESI+sGJF1uq+N1E3AJoyTL1RE+T6rWfcLf5RvhmTiS/1nmVMjr3gxe+5zmVPNzTGmLWLa655XEccRmJu+NkRnBFwqAFn86EDWD/RMbsVzGTHknK1txzhLNNc3yf3k3SH1Z6fnkYle+p6QLPfLGPnwjApClhsQ/IBjALmjB7JA3+jdeMjIu7M8zVgB18Bq6LkJ4WwMXCStJFyAtGRt9F/LX4mup0RC4/fZ5kPSnAMVhooZzJJH8vw0RiAIKNq4Rl0GK+Xi3BYJiFsQ3Px4xALwNdvuTwFEQsqp/UhC8ALOtaue5U1M6NOZ0O8S9mnA627F6ztfmNPwuwADmsm7TOi90x2WGbvz1pJFAe8pkgMmtzgHEpADXB30UzdsJ7maF7Sh24yXaRjWzf0gylcjU2XUa4SGCfVwbmiU5/NYCA6Qybv0IKIUymQQAhF57ULitkY7b5ch+CRz+bYGTdJ7pnOrUReJhnWRNh7+/mWpNKx849xf5K50zJ4Vhj8edzKauMZRNOVOzSkPU1KZgvEdhgxlQbSDonHNmSYNPvp3HkRgcauAxY2Z5cZOcgae321VdPHkQesbBl/h4+NrYFV5vwCOrjmpZE3r3iwOWoScEAKczKk1KwNixMsSHzxHvFAqAzSPWvXUERADeISeFGA2rXX6Xy5D6waDVQLL9SY04AaRTuXHFnyTie71Xo8rjmsAkGftAH84SBvD5G3DHXmq8n3QVwZ/1WkBqptFNNx7PoQgDUgF5BV2LxFwPQviTCZReKUmhl1Bv5vAiyGm2cfdfANHuoGXslln1e2Mm3gXilgj7XSnTkSha+dyoTUd40MV+pF5HO7raOuO6acAvCXxTAsYjlB2vCNLoANvdca6UHkK6fzmMSkSFZ7R8NuBax+9j2hzlvFiAB5Sw8qt8jz+YrXTytsOwgug88/bAHDPS4fkkTnqFNeSsmknneHOjCo1VSMk+7ti/Tl32mpMyL2U46N8HEC47Yn/ceP4uXpW0R5FlhO2pgymk76ka78i8L0Z+6Hrit4cIslokMkDHo+MD6we6nVNXqy84c/P2CB3N19HWAqVSBlfkc7MyS4lac89kEqB00agFxMfsZkp0H4we/lA48gFk342hXqe9Gz7ez4bNgxtEP4p9slgdhPabZ4JGnAQJiV63WH1aIdwaO62eQuiYhWs8gTgOzZho/KAitB2PUX9YH7va5cY9BTHQkaSelo3OpguwVVWN6gEXgGH+XBZRTaKjUWUBefn4va8u1j364QcSVl1UI6QzOAPklo/Ay39k5aq4EmIAHG47RuNXorjrdK/7rG2eZ20En9umnPIPXUn187QogZnuisDd7Ejuecdwg05msUHU16WsDMEwcuxkzouHupNfIYNrbZ3kG7QDK8TExzu6X2R4Xs7cYm2uGdd5fsmUV8JeziWyZv/qMefg1+MDfyUL7xZkXmQ5m1m2zsrlyF603mrbo0Cc9U+pPOWwzLkD5r4OMvdxaVjJBdw0psmWeZzSAX66YsMZ171wEkzKwfnG2ay54orQfmzA7E5FXlWYxtHMbnaYcts7n15c6MpGfkBE/bFZfNnLzr2L6K5Axj3H8LhCbakUTJiIbTJu4QHJU3uWuVeq3KJ6ylP1oomwXI/k8gVeDbRBLO6IH6/saQ8o8bujZ4a/BB/6vZlwGDkcyX1zdNlv7wammDGh96DDftlQ/OiWrAa5x9xjArD9t1TNvY40aoQpX+0TnVwvg0ZSO4NbIwrYxteXTdj57LEddRtmesyVT1m1niXHgeWS7y0zyPjDGD1IP/AqE9O8y47y3u9T0rkcqsHvcW7MvACXAjD8zO5PbHAH2qq45/+hCYsDj70bWtD0G8WsR0t8FYFn4OYhNDpqh5Myd7g0gB2C6umCba2bbOhAbuD1YPbYyzGnoMZjYpL8mH3g01yOAF9nBMKN5ss0ZfzVp4JGlZuKkE8fjCzCCkU6KXt6mu/eOPDzOI6alyJj/Bp2y7W7dARnhAAAAAElFTkSuQmCC', 'base64')) +ON CONFLICT DO NOTHING; +-- Migration End; + +-- Set Current Revision +UPDATE sys.database_info SET curr_revision = 3 WHERE name = current_database(); + +COMMIT TRANSACTION; diff --git a/db/rest/login/_api_sign_jwt.sql b/db/rest/login/_api_sign_jwt.sql new file mode 100644 index 0000000..dc8e920 --- /dev/null +++ b/db/rest/login/_api_sign_jwt.sql @@ -0,0 +1,33 @@ +CREATE FUNCTION _api.sign_jwt( + _role TEXT, + _user_id INTEGER +) +RETURNS sys.JWT +LANGUAGE plpgsql VOLATILE +AS $BODY$ +DECLARE + _jwt_secret TEXT; + _token sys.JWT; +BEGIN + SELECT jwt_secret INTO _jwt_secret + FROM sys.database_info + WHERE name = current_database(); + + SELECT public.sign( + row_to_json(r), _jwt_secret + ) INTO _token + FROM ( + SELECT + _role AS role, + _user_id AS user_id, + extract(epoch FROM now())::integer + (60 * 60 * 24) AS exp + ) r; + + RETURN _token; +END +$BODY$; + +GRANT EXECUTE ON FUNCTION _api.sign_jwt(TEXT, INTEGER) + TO rest_anon, rest_user; +GRANT SELECT ON TABLE sys.database_info + TO rest_anon, rest_user; diff --git a/db/rest/login/_api_validate_role.sql b/db/rest/login/_api_validate_role.sql new file mode 100644 index 0000000..9f1e54f --- /dev/null +++ b/db/rest/login/_api_validate_role.sql @@ -0,0 +1,30 @@ +CREATE FUNCTION _api.validate_role() +RETURNS TRIGGER +LANGUAGE plpgsql VOLATILE +AS $BODY$ +BEGIN + IF NOT EXISTS ( + SELECT TRUE + FROM pg_catalog.pg_roles AS r + WHERE r.rolname = NEW.role + ) THEN + PERFORM _api.raise( + _err => 500 + ); + RETURN NULL; + END IF; + + RETURN NEW; +END +$BODY$; + +CREATE CONSTRAINT TRIGGER api_validate_role_trgr + AFTER INSERT OR UPDATE + ON admin.user + FOR EACH ROW + EXECUTE PROCEDURE _api.validate_role(); + +GRANT EXECUTE ON FUNCTION _api.validate_role() + TO rest_anon, rest_user; +GRANT SELECT ON TABLE pg_catalog.pg_roles + TO rest_anon, rest_user; diff --git a/db/rest/login/_api_verify_jwt.sql b/db/rest/login/_api_verify_jwt.sql new file mode 100644 index 0000000..f5a6daf --- /dev/null +++ b/db/rest/login/_api_verify_jwt.sql @@ -0,0 +1,38 @@ +CREATE FUNCTION _api.verify_jwt( + _token TEXT +) +RETURNS INTEGER +LANGUAGE plpgsql VOLATILE +AS $BODY$ +DECLARE + _payload JSON; + _valid BOOLEAN; + _jwt_secret TEXT; +BEGIN + SELECT jwt_secret INTO _jwt_secret + FROM sys.database_info + WHERE name = current_database(); + + SELECT payload, valid + INTO _payload, _valid + FROM public.verify( + _token, + _jwt_secret + ); + + IF NOT FOUND THEN + RETURN NULL; + END IF; + + IF _valid <> TRUE THEN + RETURN NULL; + END IF; + + RETURN _payload->>'user_id'; +END +$BODY$; + +GRANT EXECUTE ON FUNCTION _api.verify_jwt(TEXT) + TO rest_anon, rest_user; +GRANT SELECT ON TABLE sys.database_info + TO rest_anon, rest_user; diff --git a/db/rest/login/api_login.sql b/db/rest/login/api_login.sql new file mode 100644 index 0000000..0cf0535 --- /dev/null +++ b/db/rest/login/api_login.sql @@ -0,0 +1,41 @@ +CREATE FUNCTION api.login( + username TEXT, + password TEXT +) +RETURNS sys.JWT +LANGUAGE plpgsql VOLATILE +AS $BODY$ +DECLARE + _role NAME; + _user_id INTEGER; + _token sys.JWT; +BEGIN + SELECT role INTO _role + FROM admin.user u + WHERE u.username = login.username + AND u.password = login.password; + + IF _role IS NULL THEN + PERFORM _api.raise( + _msg => 'api_invalid_login' + ); + RETURN NULL; + END IF; + + SELECT id INTO _user_id + FROM admin.user u + WHERE u.username = login.username; + + _token = _api.sign_jwt( + _role, + _user_id + ); + + RETURN _token; +END +$BODY$; + +GRANT EXECUTE ON FUNCTION api.login(TEXT, TEXT) + TO rest_anon, rest_user; +GRANT SELECT ON TABLE admin.user + TO rest_anon, rest_user; diff --git a/db/rest/post/api_post.sql b/db/rest/post/api_post.sql new file mode 100644 index 0000000..a91d9d2 --- /dev/null +++ b/db/rest/post/api_post.sql @@ -0,0 +1,13 @@ +CREATE VIEW api.post AS + SELECT + p.id, + p.user_id, + p.content, + p.date + FROM + admin.post p; + +GRANT SELECT ON TABLE api.post + TO rest_anon, rest_user; +GRANT SELECT ON TABLE admin.post + TO rest_anon, rest_user; diff --git a/db/rest/post/api_post_delete.sql b/db/rest/post/api_post_delete.sql new file mode 100644 index 0000000..e3dec55 --- /dev/null +++ b/db/rest/post/api_post_delete.sql @@ -0,0 +1,31 @@ +CREATE FUNCTION _api.post_delete() +RETURNS TRIGGER +LANGUAGE plpgsql VOLATILE +AS $BODY$ +DECLARE + _user_id INTEGER; +BEGIN + _user_id = _api.get_user_id(); + + IF OLD.user_id <> _user_id THEN + PERFORM _api.raise_deny(); + END IF; + + DELETE FROM admin.post + WHERE user_id = _user_id + AND id = OLD.id; +END +$BODY$; + +GRANT EXECUTE ON FUNCTION _api.post_delete() + TO rest_user; +GRANT DELETE ON TABLE api.post + TO rest_user; +GRANT DELETE ON TABLE admin.post + TO rest_user; + +CREATE TRIGGER api_post_delete_trgr + INSTEAD OF DELETE + ON api.post + FOR EACH ROW + EXECUTE PROCEDURE _api.post_delete(); diff --git a/db/rest/post/api_post_insert.sql b/db/rest/post/api_post_insert.sql new file mode 100644 index 0000000..9eb200c --- /dev/null +++ b/db/rest/post/api_post_insert.sql @@ -0,0 +1,40 @@ +CREATE FUNCTION _api.post_insert() +RETURNS TRIGGER +LANGUAGE plpgsql VOLATILE +AS $BODY$ +DECLARE + _user_id INTEGER; +BEGIN + _user_id = _api.get_user_id(); + + PERFORM _api.validate_text( + _text => NEW.content, + _column => 'content', + _min => 1, + _max => 4096 + ); + + INSERT INTO admin.post ( + user_id, + content + ) VALUES ( + _user_id, + NEW.content + ); + + RETURN NEW; +END +$BODY$; + +GRANT EXECUTE ON FUNCTION _api.post_insert() + TO rest_user; +GRANT INSERT ON TABLE api.post + TO rest_user; +GRANT INSERT ON TABLE admin.post + TO rest_user; + +CREATE TRIGGER api_post_insert_trgr + INSTEAD OF INSERT + ON api.post + FOR EACH ROW + EXECUTE PROCEDURE _api.post_insert(); diff --git a/db/rest/post/api_post_update.sql b/db/rest/post/api_post_update.sql new file mode 100644 index 0000000..915d0cd --- /dev/null +++ b/db/rest/post/api_post_update.sql @@ -0,0 +1,18 @@ +CREATE FUNCTION _api.post_update() +RETURNS TRIGGER +LANGUAGE plpgsql VOLATILE +AS $BODY$ +DECLARE + _length INTEGER; +BEGIN + RETURN NEW; +END +$BODY$; + +GRANT EXECUTE ON FUNCTION _api.post_update() TO rest_user; + +CREATE TRIGGER api_post_update_trgr + INSTEAD OF UPDATE + ON api.post + FOR EACH ROW + EXECUTE PROCEDURE _api.post_update(); diff --git a/db/rest/rest.sql b/db/rest/rest.sql new file mode 100644 index 0000000..a286f9d --- /dev/null +++ b/db/rest/rest.sql @@ -0,0 +1,43 @@ +BEGIN TRANSACTION; +SET search_path = public; + +DROP SCHEMA IF EXISTS api CASCADE; +CREATE SCHEMA api; + +DROP SCHEMA IF EXISTS _api CASCADE; +CREATE SCHEMA _api; + +GRANT USAGE ON SCHEMA admin TO rest_anon, rest_user; +GRANT USAGE ON SCHEMA sys TO rest_anon, rest_user; + +GRANT USAGE ON SCHEMA api TO rest_anon, rest_user; +GRANT USAGE ON SCHEMA _api TO rest_anon, rest_user; + +-- util +\i /db/rest/util/_api_serve_media.sql; +\i /db/rest/util/_api_raise.sql; +\i /db/rest/util/_api_raise_null.sql; +\i /db/rest/util/_api_raise_unique.sql; +\i /db/rest/util/_api_validate_text.sql; +\i /db/rest/util/_api_get_user_id.sql; + +-- user +\i /db/rest/user/api_user.sql; +\i /db/rest/user/api_user_insert.sql; +\i /db/rest/user/api_user_update.sql; +\i /db/rest/user/api_user_delete.sql; +\i /db/rest/user/api_avatar.sql; + +-- post +\i /db/rest/post/api_post.sql; +\i /db/rest/post/api_post_insert.sql; +\i /db/rest/post/api_post_update.sql; +\i /db/rest/post/api_post_delete.sql; + +-- login +\i /db/rest/login/_api_sign_jwt.sql; +\i /db/rest/login/_api_verify_jwt.sql; +\i /db/rest/login/_api_validate_role.sql; +\i /db/rest/login/api_login.sql; + +COMMIT TRANSACTION; diff --git a/db/rest/user/api_avatar.sql b/db/rest/user/api_avatar.sql new file mode 100644 index 0000000..981409f --- /dev/null +++ b/db/rest/user/api_avatar.sql @@ -0,0 +1,22 @@ +CREATE FUNCTION api.avatar( + user_id INTEGER DEFAULT 0 +) +RETURNS sys."*/*" +LANGUAGE plpgsql VOLATILE +AS $BODY$ +DECLARE + _mod INTEGER; + _name TEXT; +BEGIN + _mod = MOD(user_id, 24); + _name = 'default_avatar_' || _mod || '.png'; + RETURN _api.serve_media(_name); +END +$BODY$; + +GRANT EXECUTE ON FUNCTION api.avatar(INTEGER) + TO rest_anon, rest_user; +GRANT SELECT ON TABLE admin.user + TO rest_anon, rest_user; +GRANT SELECT ON TABLE admin.media + TO rest_anon, rest_user; diff --git a/db/rest/user/api_user.sql b/db/rest/user/api_user.sql new file mode 100644 index 0000000..e45768a --- /dev/null +++ b/db/rest/user/api_user.sql @@ -0,0 +1,23 @@ +CREATE VIEW api.user AS + SELECT + u.id, + u.username, + NULL AS password, + u.role, + u.first_name, + u.last_name, + u.middle_name, + u.email, + u.gender, + u.join_date, + u.birth_date, + u.profile_avatar, + u.profile_banner, + u.profile_bio + FROM + admin.user u; + +GRANT SELECT ON TABLE api.user + TO rest_anon, rest_user; +GRANT SELECT ON TABLE admin.user + TO rest_anon, rest_user; diff --git a/db/rest/user/api_user_delete.sql b/db/rest/user/api_user_delete.sql new file mode 100644 index 0000000..8d7d52f --- /dev/null +++ b/db/rest/user/api_user_delete.sql @@ -0,0 +1,30 @@ +CREATE FUNCTION _api.user_delete() +RETURNS TRIGGER +LANGUAGE plpgsql VOLATILE +AS $BODY$ +DECLARE + _user_id INTEGER; +BEGIN + _user_id = _api.get_user_id(); + + IF OLD.id <> _user_id THEN + PERFORM _api.raise_deny(); + END IF; + + DELETE FROM admin.user + WHERE id = _user_id; +END +$BODY$; + +GRANT EXECUTE ON FUNCTION _api.user_delete() + TO rest_user; +GRANT DELETE ON TABLE api.user + TO rest_user; +GRANT DELETE ON TABLE admin.user + TO rest_user; + +CREATE TRIGGER api_user_delete_trgr + INSTEAD OF DELETE + ON api.user + FOR EACH ROW + EXECUTE PROCEDURE _api.user_delete(); diff --git a/db/rest/user/api_user_insert.sql b/db/rest/user/api_user_insert.sql new file mode 100644 index 0000000..da3ae2d --- /dev/null +++ b/db/rest/user/api_user_insert.sql @@ -0,0 +1,121 @@ +CREATE FUNCTION _api.user_insert() +RETURNS TRIGGER +LANGUAGE plpgsql VOLATILE +AS $BODY$ +DECLARE + _length INTEGER; +BEGIN + PERFORM _api.validate_text( + _text => NEW.username, + _column => 'username', + _min => 1, + _max => 24 + ); + + PERFORM TRUE FROM admin.user + WHERE username = NEW.username; + + IF FOUND THEN + PERFORM _api.raise_unique('username'); + END IF; + + PERFORM _api.validate_text( + _text => NEW.password, + _column => 'password', + _max => 256 + ); + + PERFORM _api.validate_text( + _text => NEW.first_name, + _nullable => TRUE, + _column => 'first_name', + _max => 256 + ); + NEW.first_name = COALESCE(NEW.first_name, ''::text); + + PERFORM _api.validate_text( + _text => NEW.last_name, + _nullable => TRUE, + _column => 'last_name', + _max => 256 + ); + NEW.last_name = COALESCE(NEW.last_name, ''::text); + + PERFORM _api.validate_text( + _text => NEW.middle_name, + _nullable => TRUE, + _column => 'middle_name', + _max => 256 + ); + NEW.middle_name = COALESCE(NEW.middle_name, ''::text); + + PERFORM _api.validate_text( + _text => NEW.email, + _column => 'email', + _max => 256 + ); + + PERFORM _api.validate_text( + _text => NEW.gender, + _column => 'gender', + _max => 256 + ); + + IF NEW.birth_date IS NULL THEN + PERFORM _api.raise_null('birth_date'); + END IF; + + PERFORM _api.validate_text( + _text => NEW.profile_bio, + _nullable => TRUE, + _column => 'profile_bio', + _max => 2048 + ); + NEW.profile_bio = COALESCE(NEW.profile_bio, ''::text); + + INSERT INTO admin.user ( + username, + password, + first_name, + last_name, + middle_name, + email, + gender, + birth_date, + profile_avatar, + profile_banner, + profile_bio + ) VALUES ( + NEW.username, + NEW.password, + NEW.first_name, + NEW.last_name, + NEW.middle_name, + NEW.email, + NEW.gender, + NEW.birth_date, + NEW.profile_avatar, + NEW.profile_banner, + NEW.profile_bio + ); + + NEW.password := NULL; + + RETURN NEW; +END +$BODY$; + +GRANT EXECUTE ON FUNCTION _api.user_insert() + TO rest_anon, rest_user; +GRANT INSERT ON TABLE api.user + TO rest_anon, rest_user; +GRANT INSERT ON TABLE admin.user + TO rest_anon, rest_user; +GRANT UPDATE ON TABLE sys.user_id_seq + TO rest_anon, rest_user; + +CREATE TRIGGER api_user_insert_trgr + INSTEAD OF INSERT + ON api.user + FOR EACH ROW + EXECUTE PROCEDURE _api.user_insert(); diff --git a/db/rest/user/api_user_update.sql b/db/rest/user/api_user_update.sql new file mode 100644 index 0000000..c6e7f4f --- /dev/null +++ b/db/rest/user/api_user_update.sql @@ -0,0 +1,21 @@ +CREATE FUNCTION _api.user_update() +RETURNS TRIGGER +LANGUAGE plpgsql VOLATILE +AS $BODY$ +DECLARE + _length INTEGER; +BEGIN + RETURN NEW; +END +$BODY$; + +GRANT EXECUTE ON FUNCTION _api.user_update() + TO rest_user; +GRANT DELETE ON TABLE api.user + TO rest_user; + +CREATE TRIGGER api_user_update_trgr + INSTEAD OF UPDATE + ON api.user + FOR EACH ROW + EXECUTE PROCEDURE _api.user_update(); diff --git a/db/rest/util/_api_get_user_id.sql b/db/rest/util/_api_get_user_id.sql new file mode 100644 index 0000000..23eb160 --- /dev/null +++ b/db/rest/util/_api_get_user_id.sql @@ -0,0 +1,11 @@ +CREATE FUNCTION _api.get_user_id() +RETURNS INTEGER +LANGUAGE plpgsql VOLATILE +AS $BODY$ +BEGIN + RETURN CURRENT_SETTING( + 'request.jwt.claims', + TRUE + )::JSON->>'user_id'; +END +$BODY$; diff --git a/db/rest/util/_api_raise.sql b/db/rest/util/_api_raise.sql new file mode 100644 index 0000000..5c740c6 --- /dev/null +++ b/db/rest/util/_api_raise.sql @@ -0,0 +1,50 @@ +CREATE TABLE _api.err_map ( + err INTEGER, + pg_err TEXT +); + +ALTER TABLE _api.err_map OWNER TO xssbook; + +ALTER TABLE ONLY _api.err_map + ADD CONSTRAINT err_map_pkey PRIMARY KEY (err); + +INSERT INTO _api.err_map (err, pg_err) +VALUES + (400, 'P0001'), + (401, '42501'), + (403, '42501'), + (404, '42883'), + (409, '23505'), + (500, 'XX001'); + +CREATE FUNCTION _api.raise( + _msg TEXT DEFAULT '', + _detail TEXT DEFAULT '', + _hint TEXT DEFAULT '', + _err INTEGER DEFAULT 400 +) +RETURNS BOOLEAN +LANGUAGE plpgsql VOLATILE +AS $BODY$ +DECLARE + _pg_err TEXT; +BEGIN + + SELECT pg_err INTO _pg_err + FROM _api.err_map + WHERE err = _err; + + RAISE EXCEPTION USING + MESSAGE := _msg, + DETAIL := _detail, + HINT := _hint, + ERRCODE := _pg_err; + + RETURN FALSE; +END +$BODY$; + +GRANT SELECT ON TABLE _api.err_map + TO rest_anon, rest_user; +GRANT EXECUTE ON FUNCTION _api.raise(TEXT, TEXT, TEXT, INTEGER) + TO rest_anon, rest_user; diff --git a/db/rest/util/_api_raise_deny.sql b/db/rest/util/_api_raise_deny.sql new file mode 100644 index 0000000..17406b7 --- /dev/null +++ b/db/rest/util/_api_raise_deny.sql @@ -0,0 +1,16 @@ +CREATE FUNCTION _api.raise_deny() +RETURNS BOOLEAN +LANGUAGE plpgsql VOLATILE +AS $BODY$ +BEGIN + PERFORM _api.raise( + _msg => 'api_denied', + _err => 403 + ); + + RETURN TRUE; +END +$BODY$; + +GRANT EXECUTE ON FUNCTION _api.raise_null(TEXT) + TO rest_anon, rest_user; diff --git a/db/rest/util/_api_raise_null.sql b/db/rest/util/_api_raise_null.sql new file mode 100644 index 0000000..be6ee29 --- /dev/null +++ b/db/rest/util/_api_raise_null.sql @@ -0,0 +1,18 @@ +CREATE FUNCTION _api.raise_null( + _column TEXT DEFAULT '' +) +RETURNS BOOLEAN +LANGUAGE plpgsql VOLATILE +AS $BODY$ +BEGIN + PERFORM _api.raise( + _msg => 'api_null_value', + _detail => _column + ); + + RETURN TRUE; +END +$BODY$; + +GRANT EXECUTE ON FUNCTION _api.raise_null(TEXT) + TO rest_anon, rest_user; diff --git a/db/rest/util/_api_raise_unique.sql b/db/rest/util/_api_raise_unique.sql new file mode 100644 index 0000000..a18d960 --- /dev/null +++ b/db/rest/util/_api_raise_unique.sql @@ -0,0 +1,18 @@ +CREATE FUNCTION _api.raise_unique( + _column TEXT DEFAULT '' +) +RETURNS BOOLEAN +LANGUAGE plpgsql VOLATILE +AS $BODY$ +BEGIN + PERFORM _api.raise( + _msg => 'api_unique_value', + _detail => _column + ); + + RETURN TRUE; +END +$BODY$; + +GRANT EXECUTE ON FUNCTION _api.raise_unique(TEXT) + TO rest_anon, rest_user; diff --git a/db/rest/util/_api_serve_media.sql b/db/rest/util/_api_serve_media.sql new file mode 100644 index 0000000..8b0f0b8 --- /dev/null +++ b/db/rest/util/_api_serve_media.sql @@ -0,0 +1,41 @@ +CREATE FUNCTION _api.serve_media( + _name TEXT +) +RETURNS sys."*/*" +LANGUAGE plpgsql VOLATILE +AS $BODY$ +DECLARE + _headers TEXT; + _data BYTEA; +BEGIN + + SELECT FORMAT( + '[{"Content-Type": "%s"},' + '{"Content-Disposition": "inline; filename=\"%s\""},' + '{"Cache-Control": "max-age=259200"}]' + , m.type, m.name) + FROM admin.media m + WHERE m.name = _name INTO _headers; + + PERFORM SET_CONFIG('response.headers', _headers, true); + + SELECT m.content + FROM admin.media m + WHERE m.name = _name + INTO _data; + + IF FOUND THEN + RETURN(_data); + ELSE + PERFORM _api.raise( + _msg => 'api_not_found', + _err => 404 + ); + END IF; +END +$BODY$; + +GRANT EXECUTE ON FUNCTION _api.serve_media(TEXT) + TO rest_anon, rest_user; +GRANT SELECT ON TABLE admin.media + TO rest_anon, rest_user; diff --git a/db/rest/util/_api_validate_text.sql b/db/rest/util/_api_validate_text.sql new file mode 100644 index 0000000..2a3764c --- /dev/null +++ b/db/rest/util/_api_validate_text.sql @@ -0,0 +1,51 @@ +CREATE FUNCTION _api.validate_text( + _column TEXT DEFAULT '', + _text TEXT DEFAULT NULL, + _min INTEGER DEFAULT NULL, + _max INTEGER DEFAULT NULL, + _nullable BOOLEAN DEFAULT FALSE +) +RETURNS BOOLEAN +LANGUAGE plpgsql VOLATILE +AS $BODY$ +DECLARE + _length INTEGER; +BEGIN + + -- make sure that text can only be null + -- when we allow it + IF _text IS NULL AND NOT _nullable THEN + PERFORM _api.raise( + _msg => 'api_null_value', + _detail => _column + ); + END IF; + + IF _text IS NULL THEN + RETURN TRUE; + END IF; + + _length = LENGTH(_text); + + IF _min IS NOT NULL AND _length < _min THEN + PERFORM _api.raise( + _msg => 'api_text_min', + _detail => _column, + _hint => _min || '' + ); + END IF; + + IF _max IS NOT NULL AND _length > _max THEN + PERFORM _api.raise( + _msg => 'api_text_max', + _detail => _column, + _hint => _max || '' + ); + END IF; + + RETURN TRUE; +END +$BODY$; + +GRANT EXECUTE ON FUNCTION _api.validate_text(TEXT, TEXT, INTEGER, INTEGER, BOOLEAN) + TO rest_anon, rest_user; diff --git a/db/rev.sql b/db/rev.sql new file mode 100644 index 0000000..dff1cfe --- /dev/null +++ b/db/rev.sql @@ -0,0 +1,21 @@ +CREATE OR REPLACE FUNCTION curr_revision() +RETURNS INTEGER +LANGUAGE plpgsql VOLATILE +AS $BODY$ +DECLARE + _revision INTEGER; +BEGIN + BEGIN + SELECT curr_revision INTO _revision + FROM sys.database_info + WHERE name = current_database(); + RETURN _revision; + EXCEPTION WHEN OTHERS THEN + RETURN 0; + END; +END +$BODY$; + +GRANT EXECUTE ON FUNCTION curr_revision() TO xssbook; + +SELECT curr_revision(); diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..af31ac6 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,62 @@ +services: + web: + image: nginx:alpine + restart: unless-stopped + ports: + - '80:80' + volumes: + - ./web:/opt/xssbook + - ./conf/nginx:/etc/nginx/conf.d:ro + depends_on: + - rest + - swagger + - php + + php: + build: ./build/php + restart: unless-stopped + env_file: + - ./conf/postgres/database.env + volumes: + - ./web:/opt/xssbook + - ./data/status:/status + depends_on: + - db + + db: + #image: postgres:16-alpine + build: ./build/postgres + restart: unless-stopped + env_file: + - ./conf/postgres/database.env + environment: + - POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C + volumes: + - './data/schemas:/var/lib/postgresql/data' + - ./db:/db:ro + + rest: + build: ./build/postgrest + env_file: + - ./conf/postgres/database.env + depends_on: + - db + + init: + build: ./build/dbinit + env_file: + - ./conf/postgres/database.env + volumes: + - ./db:/db:ro + - ./data/status:/status + depends_on: + - db + + swagger: + image: swaggerapi/swagger-ui + environment: + SWAGGER_JSON_URL: '/api' + BASE_URL: '/apidocs' + PORT: 3000 + depends_on: + - db diff --git a/web/core/aesthetic.php b/web/core/aesthetic.php new file mode 100644 index 0000000..1180ad1 --- /dev/null +++ b/web/core/aesthetic.php @@ -0,0 +1,55 @@ +config = array( + '_common' => array( + 'js' => [ + 'js/jquery-3.7.1.min.js', + 'js/lib.js', + 'js/modal.js', + ], + 'css' => [ + 'css/common.css' + ], + ), + 'error' => array( + 'css' => [ + 'css/error.css' + ], + ), + 'home' => array( + 'js' => [ + 'js/post.js', + ], + 'css' => [ + 'css/home.css', + 'css/post.css' + ], + ), + ); + } + + function get_files($route) { + $js_files = $this->config['_common']['js']; + $css_files = $this->config['_common']['css']; + + if (array_key_exists($route, $this->config)) { + $config = $this->config[$route]; + if (array_key_exists('js', $config)) { + $js_files = array_merge($js_files, $config['js']); + } + if (array_key_exists('css', $config)) { + $css_files = array_merge($css_files, $config['css']); + } + } + + return array( + 'js_files' => $js_files, + 'css_files' => $css_files, + ); + } + +} diff --git a/web/core/controller.php b/web/core/controller.php new file mode 100644 index 0000000..946b460 --- /dev/null +++ b/web/core/controller.php @@ -0,0 +1,55 @@ +main = $GLOBALS['__vars']['main']; + $this->load = $GLOBALS['__vars']['load']; + $this->db = $this->main->db; + + $info = $this->main->info; + $lang_code = $info['lang']; + $route_name = $info['route']; + $this->load->lang($lang_code); + $this->load->route_lang($lang_code, $route_name); + } + + public function index() {} + + protected function view($__name, $data = array()) { + $__root = $GLOBALS['webroot']; + $__path = $__root . '/views/' . $__name . '.php'; + if (is_file($__path)) { + extract($data); + require($__path); + return; + } + } + + protected function app_view($__name, $data = array()) { + $__root = $GLOBALS['webroot']; + $__route = $this->main->info['route']; + $__path = $__root . '/routes/' . $__route . '/views/' . $__name . '.php'; + if (is_file($__path)) { + extract($data); + require($__path); + return; + } + } + + protected function modal($title, $content, $data = array()) { + $data['title'] = $title; + $data['content'] = $content; + $this->view('template/modal', $data); + } + +} +?> diff --git a/web/core/database.php b/web/core/database.php new file mode 100644 index 0000000..b3a597b --- /dev/null +++ b/web/core/database.php @@ -0,0 +1,173 @@ +conn = $conn; + $this->query = ''; + + $this->set = FALSE; + $this->where = FALSE; + $this->param = array(); + } + + private function in($array) { + $in = 'IN ('; + foreach ($array as $idx => $item) { + if ($idx != 0) { + $in .= ","; + } + $in .= "?"; + array_push($this->param, $item); + } + $in .= ")"; + return $in; + } + + public function select($select) { + $this->query .= "SELECT $select\n"; + return $this; + } + + public function from($from) { + $this->query .= "FROM $from\n"; + return $this; + } + + public function where($cond) { + if (!$this->where) { + $this->where = TRUE; + $this->query .= "WHERE "; + } + $this->query .= "$cond "; + return $this; + } + + public function like($item) { + $this->query .= "LIKE ?\n"; + array_push($this->param, $item); + return $this; + } + + public function eq($item) { + $this->query .= "= ?\n"; + array_push($this->param, $item); + return $this; + } + + public function ne($item) { + $this->query .= "<> ?\n"; + array_push($this->param, $item); + return $this; + } + + public function where_in($column, $array) { + if (!$this->where) { + $this->where = TRUE; + $this->query .= "WHERE "; + } + if (empty($array)) { + $this->query .= "FALSE\n"; + return $this; + } + $in = $this->in($array); + $this->query .= "$column $in\n"; + return $this; + } + + public function and() { + $this->query .= "AND "; + return $this; + } + + public function or() { + $this->query .= "OR "; + return $this; + } + + public function join($table, $on, $type = 'LEFT') { + $this->query .= "$type JOIN $table ON $on\n"; + return $this; + } + + public function limit($limit) { + $this->query .= "LIMIT ?\n"; + array_push($this->param, $limit); + return $this; + } + + public function offset($offset) { + $this->query .= "OFFSET ?\n"; + array_push($this->param, $offset); + return $this; + } + + public function rows() { + $stmt = $this->conn->prepare($this->query); + try { + $stmt->execute($this->param); + } catch (Exception $ex) { + echo $ex; + echo '
>> caused by <<
'; + echo str_replace("\n", "
", $this->query); + } + return $stmt->fetchAll(PDO::FETCH_ASSOC); + } + + public function row() { + $stmt = $this->conn->prepare($this->query); + $stmt->execute($this->param); + return $stmt->fetch(PDO::FETCH_ASSOC); + } +} + +/** + * DatabaseHelper + * allows queries on the + * xssbook postgres database + */ +class DatabaseHelper { + + private $conn; + + function __construct() { + $this->conn = NULL; + } + + private function connect() { + if ($this->conn === NULL) { + $user = getenv("POSTGRES_USER"); + $pass = getenv("POSTGRES_PASSWORD"); + $db = getenv("POSTGRES_DB"); + $host = 'db'; + $port = '5432'; + + $conn_str = sprintf("pgsql:host=%s;port=%d;dbname=%s;user=%s;password=%s", + $host, + $port, + $db, + $user, + $pass + ); + $this->conn = new \PDO($conn_str); + $this->conn->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); + } + return $this->conn; + } + + public function select($select) { + $conn = $this->connect(); + $query = new DatabaseQuery($conn); + return $query->select($select); + } + +} +?> diff --git a/web/core/error.php b/web/core/error.php new file mode 100644 index 0000000..2e02cb1 --- /dev/null +++ b/web/core/error.php @@ -0,0 +1,12 @@ + + + + <?=$code . ' - ' . $msg?> + + +
+

+
+
+ + diff --git a/web/core/helper.php b/web/core/helper.php new file mode 100644 index 0000000..e69de29 diff --git a/web/core/loader.php b/web/core/loader.php new file mode 100644 index 0000000..4d4526c --- /dev/null +++ b/web/core/loader.php @@ -0,0 +1,38 @@ +info = NULL; + $this->db = new DatabaseHelper(); + $this->users = array(); + $_SESSION['jwt'] = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoicmVzdF91c2VyIiwidXNlcl9pZCI6MSwiZXhwIjoxNzExODUxMDUzfQ.FUcFO44SWV--YtVOy7NftTF8OeeOYGZDaDHigygQxsY'; + if (array_key_exists('jwt', $_SESSION)) { + $this->get_session($_SESSION['jwt']); + } else { + $this->user_id = NULL; + }; + } + + private function get_session($jwt) { + $query = $this->db + ->select("_api.verify_jwt('" . $jwt . "') AS user_id;"); + $result = $query->row(); + $user_id = $result['user_id']; + if ($user_id) { + $this->user_id = $user_id; + } + } + + public function link_css($path) { + return ''; + } + + public function link_js($path) { + return ''; + } + + public function user() { + if ($this->user_id) { + return $this->db + ->select('*') + ->from('api.user') + ->where('id') + ->eq($this->user_id) + ->row(); + } else { + return NULL; + } + } + + public function get_num($key, $default = NULL) { + if (!array_key_exists($key, $_GET)) { + if ($default !== NULL) { + return $default; + } else { + error_page(400, lang('error_400')); + } + } else { + $val = $_GET[$key]; + $val = intval($val); + if ($val < 0) { + return 0; + } else { + return $val; + } + } + } + + public function get_users($objs) { + $ids = array(); + foreach ($objs as $obj) { + $id = $obj['user_id']; + if (!array_key_exists($id, $this->users)) { + array_push($ids, intval($id)); + } + } + if (!empty($ids)) { + $result = $this->db + ->select('*') + ->from('api.user') + ->where_in('id', $ids) + ->rows(); + foreach ($result as $user) { + $id = $user['id']; + $this->users[$id] = $user; + } + } + return $this->users; + } + + public function display_name($user) { + $name = ''; + if ($user['first_name']) { + $name .= $user['first_name']; + } + if ($user['middle_name']) { + if ($name != '') { + $name .= ' '; + } + $name .= $user['middle_name']; + } + if ($user['last_name']) { + if ($name != '') { + $name .= ' '; + } + $name .= $user['last_name']; + } + if ($name == '') { + $name = '@' . $user['username']; + } + return $name; + } + + public function display_date($date) { + return $date; + } + +} + +?> diff --git a/web/core/model.php b/web/core/model.php new file mode 100644 index 0000000..039b138 --- /dev/null +++ b/web/core/model.php @@ -0,0 +1,29 @@ +main = $GLOBALS['__vars']['main']; + $this->load = $GLOBALS['__vars']['load']; + $this->db = $this->main->db; + $this->config = new Aesthetic(); + } + + public function get_data() { + $data = array(); + $route = $this->main->info['route']; + $files = $this->config->get_files($route); + $data = array_merge($data, $files); + $data['self'] = $this->main->user(); + return $data; + } +} +?> diff --git a/web/core/router.php b/web/core/router.php new file mode 100644 index 0000000..6ee28a9 --- /dev/null +++ b/web/core/router.php @@ -0,0 +1,127 @@ +newInstance(); + + $controller_ref = new ReflectionClass($controller_cls); + $controller = $controller_ref->newInstance($model); + + return $controller; + } + + function __construct($main, $load) { + + $routes = array( + 'home' => array( + 'slugs' => ['', 'home'], + 'model' => 'HomeModel', + 'controller' => 'HomeController', + ), + ); + + $this->routes = array(); + foreach ($routes as $name => $route) { + foreach ($route['slugs'] as $slug) { + $this->routes[$slug] = $route; + $this->routes[$slug]['name'] = $name; + } + } + + $this->main = $main; + $this->load = $load; + } + + function get_info() { + $uri = parse_url($_SERVER['REQUEST_URI']); + $method = $_SERVER['REQUEST_METHOD']; + $parts = explode('/', $uri['path']); + + $slug = sizeof($parts) > 1 ? $parts[1] : ''; + $path = sizeof($parts) > 2 ? $parts[2] : 'index'; + + if (sizeof($parts) > 3) { + return NULL; + } + + return array( + 'method' => $method, + 'uri' => $uri, + + 'slug' => $slug, + 'path' => $path + ); + } + + function handle_error($code) { + $route = array( + 'name' => 'error', + 'model' => 'ErrorModel', + 'controller' => 'ErrorController' + ); + $this->main->info = array( + 'slug' => 'error', + 'lang' => 'en_US', + 'route' => 'error' + ); + $controller = $this->load_route($route); + $_GET['code'] = $code; + http_response_code($code); + $controller->index(); + } + + public function handle_request() { + $request = $this->get_info(); + + if ($request === NULL) { + $this->handle_error(404); + return; + } + + $slug = $request['slug']; + if (!array_key_exists($slug, $this->routes)) { + $this->handle_error(404); + return; + } + + $route = $this->routes[$slug]; + $this->main->info = array( + 'lang' => 'en_US', + 'slug' => $slug, + 'route' => $route['name'], + ); + + $controller = $this->load_route($route); + + $path = $request['path']; + $ref = NULL; + + try { + $ref = new ReflectionMethod($controller, $path); + } catch (Exception $_e) {} + + if ($ref === NULL || !$ref->isPublic()) { + $this->handle_error(404); + return; + + } + + $ref->invoke($controller); + + } + +} diff --git a/web/index.php b/web/index.php new file mode 100644 index 0000000..1032b7f --- /dev/null +++ b/web/index.php @@ -0,0 +1,122 @@ + $attr) { + echo $key . '="' . $attr . '" '; + } + echo '> '; + if ($icon) { + echo ''; + if ($content) { + echo $content; + } + echo ''; + } + if ($text) { + echo '' . $text . ''; + } + if ($click) { + echo ''; + } else { + echo ''; + } +} + +function __init() { + + $root = $GLOBALS['webroot']; + + // load all core files + require($root . '/core/database.php'); + require($root . '/core/aesthetic.php'); + require($root . '/core/controller.php'); + require($root . '/core/model.php'); + require($root . '/core/loader.php'); + require($root . '/core/main.php'); + require($root . '/core/router.php'); + + $main = new MainModel(); + $load = new Loader(); + $router = new Router($main, $load); + + $GLOBALS['__vars']['main'] = $main; + $GLOBALS['__vars']['load'] = $load; + $GLOBALS['__vars']['router'] = $router; + + $router->handle_request(); +}; + +if (!file_exists('/status/ready')) { + error_page(503, 'Service Unavailable'); +} + +__init(); + +?> diff --git a/web/lang/en_US/common_lang.php b/web/lang/en_US/common_lang.php new file mode 100644 index 0000000..3ce2fdb --- /dev/null +++ b/web/lang/en_US/common_lang.php @@ -0,0 +1,42 @@ + diff --git a/web/lang/en_US/error_lang.php b/web/lang/en_US/error_lang.php new file mode 100644 index 0000000..42ade65 --- /dev/null +++ b/web/lang/en_US/error_lang.php @@ -0,0 +1,8 @@ + diff --git a/web/lang/en_US/routes/home.php b/web/lang/en_US/routes/home.php new file mode 100644 index 0000000..051eff2 --- /dev/null +++ b/web/lang/en_US/routes/home.php @@ -0,0 +1,14 @@ + diff --git a/web/public/css/common.css b/web/public/css/common.css new file mode 100644 index 0000000..05f429f --- /dev/null +++ b/web/public/css/common.css @@ -0,0 +1,404 @@ +:root { + --primary: #242424 !important; + --secondary: #181818 !important; + --hover: #1b1b1b !important; + --light: #3e4042 !important; + --mild: #1b1b1b !important; + --medium: #e2ded6 !important; + --extreme: #e2ded6 !important; + --logo: #1778f2 !important; + --error: #f02849 !important; + --success: #30ab5a !important; + --text: #ffffff !important; + --banner: #6b6b6b !important; + --popup: #242424cc !important; +} + +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url("/public/font/MaterialIcons-Regular.ttf") format('truetype'); +} + +@font-face { + font-family: facebook; + src: url("/public/font/facebook.otf") format("opentype"); + font-display: swap; +} + +@font-face { + font-family: sfpro; + src: url("/public/font/sfpro.otf") format("opentype"); + font-display: swap; +} + +@font-face { + font-family: sfprobold; + src: url("/public/font/sfprobold.otf") format("opentype"); + font-display: swap; +} + +body { + background-color: var(--secondary); + width: 100%; + height: 100%; + margin: 0; + padding: 0; + display: flex; + flex-direction: column; + color: var(--text); + font-family: sfpro; +} + +header { + height: 3.5rem; + background-color: var(--primary); + display: flex; + flex-direction: row; + align-items: center; + padding: 0 1rem; +} + +header .logo { + font-family: facebook; + color: var(--logo); + font-size: 2.25rem; + height: 100%; + line-height: 2rem; + margin-top: .75rem; +} + +a, button, input { + background: none; + border: none; + display: flex; + flex-direction: row; + align-items: center; + font-family: sfprobold; + color: inherit; + text-decoration: none; + font-size: 1rem; +} + +a, button { + cursor: pointer; +} + +form button { + padding: .5rem; + border-radius: .5rem; +} + +input:focus { + border: none; + outline: none; +} + +.header-entry { + display: flex; + flex-direction: row; + text-decoration: none; + align-items: center; + color: var(--text); +} + +.nav .header-entry { + height: 100%; +} + +.nav-center .header-entry:hover { + background-color: var(--hover); +} + +.btn-action { + justify-content: center; + align-items: center; + padding: .35rem; + margin: .25rem; + border-radius: .25rem; +} + +.btn-action:hover { + background-color: var(--hover); +} + +.btn-blue:hover { + color: var(--logo); +} + +.header .btn-blue { + border-bottom: 1px solid var(--logo); +} + +.btn-line:hover { + text-decoration: underline; +} + +.nav, +.nav-left, +.nav-center, +.nav-right { + position: relative; + display: flex; + flex-direction: row; + align-items: center; +} + +.nav-right { + flex: 1; + justify-content: flex-end; +} + +.nav-center { + position: absolute; + left: 50%; + transform: translateX(-50%); + flex: 1; + justify-content: center; + height: 100%; + z-index: 2; +} + +@media (min-width: 800px) { + .header-entry > span { + display: none; + } + + .nav-center .header-entry { + padding: 0 3rem; + } + + #action-hamburger { + display: none; + } +} + +@media (max-width: 800px) { + .nav-center { + display: none; + position: absolute; + flex-direction: column; + top: 100%; + height: fit-content; + background-color: var(--primary); + width: 100%; + left: 0; + transform: translateX(0%); + justify-content: flex-start; + } + + .nav-center.visible { + display: inherit !important; + } + + .nav-center .header-entry { + width: calc(100% - 3rem); + padding: .75rem 0rem !important; + padding-left: 3rem !important; + justify-content: flex-start; + } + + .nav-center .header-entry > span { + margin-left: 1rem; + } + + .nav-center .header-entry.active { + border-bottom: none; + } +} + +.nav-right .image-loading { + display: block; +} + +.nav-right .header-entry { + padding: 0; + padding-left: 1.5rem; +} + +@keyframes shimmer { + to { + background-position-x: 0%; + } +} + +.pfp, .pfp img { + height: 2.5rem; + border-radius: 2.5rem; + aspect-ratio: 1; + border-radius: 100%; + display: block; +} + +.pfp-sm, .pfp-sm img { + height: 1.75rem; +} + +.image-loading { + background: linear-gradient(-45deg, var(--secondary) 0%, var(--primary) 25%, var(--secondary) 50%); + background-size: 500%; + background-position-x: 150%; + animation: shimmer 1s linear infinite; +} + +.card { + background-color: var(--primary); + border-radius: .5rem; + padding: 1rem; +} + +.card form { + flex-grow: 1; +} + +.card .sub-card { + background-color: var(--secondary); + border-radius: .5rem; + padding: .75rem; +} + +.input { + padding: 10px; + border-radius: 10px; + width: calc(100% - 20px); + background-color: var(--secondary); + font-family: sfpro; +} + +.input:hover { + background-color: var(--hover); +} + +.row { + display: flex; + flex-direction: row; +} + +.col { + display: flex; + flex-direction: column; +} + +.grow { + flex-grow: 1; +} + +.ml-sm { + margin-left: .5rem; +} + +.ml { + margin-left: 1rem; +} + +.mr-sm { + margin-right: .5rem; +} + +.mr { + margin-right: 1rem; +} + +.mt { + margin-top: 1rem; +} + +.mb { + margin-bottom: .75rem; +} + +.dim { + color: var(--medium); +} + +.modal-container { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(255, 255, 255, .1); + display: block; +} + +.modal { + background-color: var(--primary); + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + min-width: 40rem; + min-height: 24rem; + border-radius: .5rem; + display: flex; + flex-direction: column; +} + +.modal>form { + display: flex; + flex-direction: column; + flex-grow: 1; +} + +.modal-header { + font-family: sfprobold; + position: relative; + border-bottom: 1px solid var(--light); + text-align: center; + margin: 0 1rem; + border-radius: .5rem .5rem 0 0; + display: flex; + justify-content: center; + align-items: center; + padding-left: 1rem; + cursor: grab; + padding: 1rem; +} + +.modal-content { + flex-grow: 1; + padding: 1rem; +} + +.modal-footer { + margin-top: auto; + padding: 0 1rem; + padding-bottom: 1rem; + display: flex; + flex-direction: row; + justify-content: flex-end; +} + +.float-right { + position: absolute; + transform: translate(0%, -50%); + top: 45%; + right: 0; +} + +.mi { + font-family: 'Material Icons'; + font-style: normal; + font-size: 1.5rem; +} + +.mi-sm { + font-size: 1rem; +} + +.mi-lg { + font-size: 2rem; +} + +button[type="submit"] { + text-align: center; + background-color: var(--logo); + flex-grow: 1; + padding: .5rem; +} + +button[type="submit"]:hover { + background-color: var(--logo); +} + diff --git a/web/public/css/error.css b/web/public/css/error.css new file mode 100644 index 0000000..aea11d9 --- /dev/null +++ b/web/public/css/error.css @@ -0,0 +1,16 @@ +#error { + display: flex; + flex-direction: column; + align-items: center; + margin-top: 10rem; +} + +#error h1 { + color: var(--logo); + font-family: Facebook; + font-size: 5rem; +} + +#error span { + font-size: 2rem; +} diff --git a/web/public/css/home.css b/web/public/css/home.css new file mode 100644 index 0000000..e70223e --- /dev/null +++ b/web/public/css/home.css @@ -0,0 +1,26 @@ +#main-content { + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + margin-top: 1rem; +} + +.card { + width: 40rem; + margin-bottom: 1rem; +} + +.new-post-modal textarea { + border: none; + resize: none; + outline: none; + font-family: sfpro; + font-size: 1.5rem; + margin: 1rem 0; + width: 100%; + height: 70%; + flex-grow: 1; + background-color: transparent; + color: var(--text); +} diff --git a/web/public/css/post.css b/web/public/css/post.css new file mode 100644 index 0000000..6ad14ba --- /dev/null +++ b/web/public/css/post.css @@ -0,0 +1,12 @@ +.post hr { + color: var(--light); + margin: 0; +} + +.post hr:nth-of-type(1) { + margin-top: .5rem; +} + +.action-load-comments { + margin-left: 4rem; +} diff --git a/web/public/favicon.ico b/web/public/favicon.ico new file mode 100644 index 0000000..e023946 Binary files /dev/null and b/web/public/favicon.ico differ diff --git a/web/public/font/MaterialIcons-Regular.ttf b/web/public/font/MaterialIcons-Regular.ttf new file mode 100644 index 0000000..9d09b0f Binary files /dev/null and b/web/public/font/MaterialIcons-Regular.ttf differ diff --git a/web/public/font/facebook.otf b/web/public/font/facebook.otf new file mode 100644 index 0000000..97d5c6f Binary files /dev/null and b/web/public/font/facebook.otf differ diff --git a/web/public/font/sfpro.otf b/web/public/font/sfpro.otf new file mode 100644 index 0000000..7042365 Binary files /dev/null and b/web/public/font/sfpro.otf differ diff --git a/web/public/font/sfprobold.otf b/web/public/font/sfprobold.otf new file mode 100644 index 0000000..28fa5a4 Binary files /dev/null and b/web/public/font/sfprobold.otf differ diff --git a/web/public/js/jquery-3.7.1.min.js b/web/public/js/jquery-3.7.1.min.js new file mode 100644 index 0000000..7f37b5d --- /dev/null +++ b/web/public/js/jquery-3.7.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.7.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0 { + + $(containerSelector + ' ' + elementSelector).each(function (_, e) { + let me = $(e); + callback(me); + }); + + var onMutationsObserved = function(mutations) { + mutations.forEach(function(mutation) { + if (mutation.addedNodes.length) { + var elements = $(mutation.addedNodes).find(elementSelector); + for (var i = 0, len = elements.length; i < len; i++) { + let me = elements[i]; + me = $(me); + callback(me); + } + } + }); + }; + + var target = $(containerSelector)[0]; + var config = { childList: true, subtree: true }; + var MutationObserver = window.MutationObserver; + var observer = new MutationObserver(onMutationsObserved); + observer.observe(target, config); + }); +} diff --git a/web/public/js/modal.js b/web/public/js/modal.js new file mode 100644 index 0000000..792cd85 --- /dev/null +++ b/web/public/js/modal.js @@ -0,0 +1,64 @@ +$(document).on('click', ".modal-close", (o) => { + $(o.target).closest('.modal-container').remove(); +}); + +const initDrag = (header, modal, container) => { + let drag = false; + + let mouseX, mouseY, modalX, modalY; + + const onStart = (e) => { + e = e || window.event; + e.preventDefault(); + mouseX = e.clientX; + mouseY = e.clientY; + drag = true; + }; + + const onDrag = (e) => { + e = e || window.event; + e.preventDefault(); + if (!drag) { + return; + } + modalX = mouseX - e.clientX; + modalY = mouseY - e.clientY; + mouseX = e.clientX; + mouseY = e.clientY; + + let posX = (modal.offsetLeft - modalX), + posY = (modal.offsetTop - modalY); + + let minX = modal.offsetWidth / 2, + minY = modal.offsetHeight / 2; + + let maxX = container.offsetWidth - minX, + maxY = container.offsetHeight - minY; + + posX = Math.max(minX, Math.min(maxX, posX)); + posY = Math.max(minY, Math.min(maxY, posY)); + + posX = posX / container.offsetWidth * 100; + posY = posY / container.offsetHeight * 100; + + modal.style.left = posX + "%"; + modal.style.top = posY + "%"; + }; + + const onEnd = () => { + drag = false; + }; + + header.onmousedown = onStart; + container.onmousemove = onDrag; + container.onmouseup = onEnd; +}; + +observe('body', '.modal-header', function(el) { + let header = $(el); + let modal = header.closest('.modal'); + let container = header.closest('.modal-container'); + initDrag( + header[0], modal[0], container[0] + ); +}); diff --git a/web/public/js/post.js b/web/public/js/post.js new file mode 100644 index 0000000..736fa2b --- /dev/null +++ b/web/public/js/post.js @@ -0,0 +1,38 @@ +observe('.post', '.action-load-comments', function(me) { + me.on('click', function() { + let page = me.attr('page'); + if (!page) { + page = '1'; + } + let newPage = Number(page) + 1; + let id = me.attr('postId'); + me.attr('page', newPage + ''); + let url = '/home/comments?page=' + page + '&id=' + id; + $.get(url, function (data) { + if (data === '') { + me.remove(); + } else { + $(me).prepend(data); + } + }); + }); +}); + +observe('#main-content', '#action-load-posts', function(me) { + me.on('click', function () { + let page = me.attr('page'); + if (!page) { + page = '1'; + } + let newPage = Number(page) + 1; + me.attr('page', newPage + ''); + let url = '/home/posts?page=' + page; + $.get(url, function (data) { + if (data === '') { + me.remove(); + } else { + $('#post-container').append(data); + } + }); + }); +}); diff --git a/web/routes/error/controller.php b/web/routes/error/controller.php new file mode 100644 index 0000000..3cb2345 --- /dev/null +++ b/web/routes/error/controller.php @@ -0,0 +1,20 @@ +model = $model; + } + + public function index() { + parent::index(); + $data = $this->model->get_data(); + $this->view('header', $data); + $this->app_view('error', $data); + } + +} + +?> diff --git a/web/routes/error/model.php b/web/routes/error/model.php new file mode 100644 index 0000000..a30fccc --- /dev/null +++ b/web/routes/error/model.php @@ -0,0 +1,31 @@ +get_msg($data); + return $data; + } +} +?> diff --git a/web/routes/error/views/error.php b/web/routes/error/views/error.php new file mode 100644 index 0000000..3b926bc --- /dev/null +++ b/web/routes/error/views/error.php @@ -0,0 +1,4 @@ +
+

+ +
diff --git a/web/routes/home/controller.php b/web/routes/home/controller.php new file mode 100644 index 0000000..775e43a --- /dev/null +++ b/web/routes/home/controller.php @@ -0,0 +1,84 @@ +model = $model; + } + + public function index() { + parent::index(); + $data = $this->model->get_data(); + $this->view('header', $data); + $this->app_view('main', $data); + } + + public function posts() { + $page = $this->main->get_num('page', 0); + $page_size = 20; + $offset = $page * $page_size; + + $user = $this->main->user(); + + $query = $this->db; + + if ($user) { + $query = $query->select('p.*, l.post_id IS NOT NULL as liked'); + } else { + $query = $query->select('p.*, FALSE as liked'); + } + + $query = $query->from('admin.post p'); + + if ($user) { + $query = $query->join('admin.like l', 'p.id = l.post_id') + ->where('l.user_id')->eq($user['id']) + ->or()->where('l.user_id IS NULL'); + } + + $posts = $query->limit($page_size) + ->offset($offset) + ->rows(); + + $users = $this->main->get_users($posts); + + foreach ($posts as $post) { + $data = array(); + $data['user'] = $users[$post['user_id']]; + $data['post'] = $post; + $this->view('template/post', $data); + } + } + + public function comments() { + $page = $this->main->get_num('page', 0); + $id = $this->main->get_num('id'); + $page_size = 20; + $offset = $page * $page_size; + + $comments = $this->db + ->select('*') + ->from('admin.comment') + ->limit($page_size) + ->offset($offset) + ->rows(); + + $users = $this->main->get_users($comments); + + foreach ($comments as $comment) { + $data = array(); + $data['user'] = $users[$comment['user_id']]; + $data['comment'] = $comment; + $this->view('template/comment', $data); + } + } + + public function new_post_modal() { + $this->modal(lang('new_post_modal_title'), 'new-post'); + } + +} + +?> diff --git a/web/routes/home/model.php b/web/routes/home/model.php new file mode 100644 index 0000000..44a8549 --- /dev/null +++ b/web/routes/home/model.php @@ -0,0 +1,19 @@ +db + ->select('*') + ->from('admin.post') + ->limit(20) + ->rows(); + } + + public function get_data() { + $data = parent::get_data(); + $data['title'] = lang('title'); + $data['posts'] = $this->get_posts(); + return $data; + } +} +?> diff --git a/web/routes/home/views/main.php b/web/routes/home/views/main.php new file mode 100644 index 0000000..bf0087b --- /dev/null +++ b/web/routes/home/views/main.php @@ -0,0 +1,29 @@ + +
+ +
+
+ view('template/pfp', array('user' => $self))?> + + + +
+ +
+ +
+ posts()?> +
+ +
diff --git a/web/views/footer.php b/web/views/footer.php new file mode 100644 index 0000000..6cbe21b --- /dev/null +++ b/web/views/footer.php @@ -0,0 +1,2 @@ + + diff --git a/web/views/header.php b/web/views/header.php new file mode 100644 index 0000000..183f4f4 --- /dev/null +++ b/web/views/header.php @@ -0,0 +1,74 @@ + +main->user(); +?> + + + + main->link_js($js); + } + foreach ($css_files as $css) { + echo $this->main->link_css($css); + } + ?> + <?=$title?> + + + diff --git a/web/views/modal/new-post.php b/web/views/modal/new-post.php new file mode 100644 index 0000000..7215862 --- /dev/null +++ b/web/views/modal/new-post.php @@ -0,0 +1,28 @@ +main->user(); +?> +
+
+
+ view('template/pfp', array('user' => $user))?> +
+ + +
+
+ +
+ +
diff --git a/web/views/template/comment.php b/web/views/template/comment.php new file mode 100644 index 0000000..ef7a081 --- /dev/null +++ b/web/views/template/comment.php @@ -0,0 +1,10 @@ +
+ view('template/pfp', array('user' => $user))?> +
+
+ main->display_name($user)?> + main->display_date($comment['date'])?> +
+ +
+
diff --git a/web/views/template/modal.php b/web/views/template/modal.php new file mode 100644 index 0000000..4f47400 --- /dev/null +++ b/web/views/template/modal.php @@ -0,0 +1,12 @@ + diff --git a/web/views/template/pfp.php b/web/views/template/pfp.php new file mode 100644 index 0000000..842fc92 --- /dev/null +++ b/web/views/template/pfp.php @@ -0,0 +1,6 @@ + + + + diff --git a/web/views/template/post.php b/web/views/template/post.php new file mode 100644 index 0000000..d9c7c92 --- /dev/null +++ b/web/views/template/post.php @@ -0,0 +1,58 @@ +
+
+ view('template/pfp', array('user' => $user))?> +
+ + +
+
+

+ +

+main->user(); +?> + +
+
+ + +
+
+ +
+ +
+ comments(); + ilang('action_load_comments', + class: 'action-load-comments btn btn-line mt', + attrs: array('postId' => $post['id']) + ); + ?> +
+ +
+ view('template/pfp', array('user' => $user))?> +
+ + +
+
+ +