Compare commits
207 commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
178a08ee3f | ||
![]() |
a68be24fde | ||
![]() |
d896501a3f | ||
![]() |
61349dec59 | ||
![]() |
cdaa049453 | ||
![]() |
fb5a618943 | ||
![]() |
68eb886890 | ||
![]() |
0f27d28bb6 | ||
![]() |
0ea0201343 | ||
![]() |
206506f12d | ||
![]() |
b1bacc7455 | ||
![]() |
cc5b6c301a | ||
![]() |
4c5deb14a6 | ||
![]() |
d217c06b1b | ||
![]() |
55d44f7ffb | ||
![]() |
b24ab817d3 | ||
![]() |
11718635a4 | ||
![]() |
701c1d925a | ||
![]() |
58603172b1 | ||
![]() |
e30ce8f0e9 | ||
![]() |
938559ad8f | ||
![]() |
fb6506d439 | ||
![]() |
86e50ec21c | ||
![]() |
8d2ecc11d0 | ||
![]() |
1d16f288b1 | ||
![]() |
d2dad1fd1c | ||
![]() |
b36f094edd | ||
![]() |
1f1a395382 | ||
![]() |
e120fec868 | ||
![]() |
16463a3a68 | ||
![]() |
4d7858b18b | ||
![]() |
0dce5d5374 | ||
![]() |
20fac248c1 | ||
![]() |
ad7242a30d | ||
![]() |
d593a7c126 | ||
![]() |
49fe81cc57 | ||
![]() |
8735dcd041 | ||
![]() |
5d9c6ffbf7 | ||
![]() |
2881c892d8 | ||
![]() |
eda6894863 | ||
![]() |
428e5ad3f0 | ||
![]() |
f5d33866cc | ||
![]() |
1e38669aa0 | ||
![]() |
fc94bab9d4 | ||
![]() |
bf723e0db4 | ||
![]() |
5e60d300fb | ||
![]() |
1728229fab | ||
![]() |
886bd1e38e | ||
![]() |
f47ebbf47c | ||
![]() |
932593d7bc | ||
![]() |
4f635699ac | ||
![]() |
a36cd07286 | ||
![]() |
5d76498ee6 | ||
![]() |
94723e48ce | ||
![]() |
03d7465743 | ||
![]() |
8b1695bbef | ||
![]() |
c8b25daf10 | ||
![]() |
2060b8bd95 | ||
![]() |
8591f93a17 | ||
![]() |
5cbde43928 | ||
![]() |
f668d7a918 | ||
![]() |
6754e8b855 | ||
![]() |
f6a1e69f72 | ||
![]() |
d50b942f58 | ||
![]() |
d689f7aa58 | ||
![]() |
43de276ae4 | ||
![]() |
535a08dbdf | ||
![]() |
9a303546e8 | ||
![]() |
745b54a40e | ||
![]() |
52760d0b1b | ||
![]() |
1325324f8b | ||
![]() |
d2e23731e3 | ||
![]() |
005fcb0c36 | ||
![]() |
8ec926377d | ||
![]() |
458dfd69e3 | ||
![]() |
7d909b31ac | ||
![]() |
bd9ff1419e | ||
![]() |
c93e8b4a30 | ||
![]() |
03c37d4d34 | ||
![]() |
6e192b34ea | ||
![]() |
23ccd5e3b6 | ||
![]() |
f191172238 | ||
![]() |
e3787edff9 | ||
![]() |
27cd60be26 | ||
![]() |
f9aa0459c1 | ||
![]() |
85606df518 | ||
![]() |
51cad187db | ||
![]() |
699b10bd13 | ||
![]() |
cafea80e08 | ||
![]() |
440b773092 | ||
![]() |
1dfe6948be | ||
![]() |
9dac09b453 | ||
![]() |
153d7eae80 | ||
![]() |
9e22623313 | ||
![]() |
4c577af004 | ||
![]() |
5c8093f71e | ||
![]() |
46024c49d4 | ||
![]() |
ad5d836aa6 | ||
![]() |
e42757c073 | ||
![]() |
e12bfb2eec | ||
![]() |
1c10eefd0d | ||
![]() |
22b978a12b | ||
![]() |
89df99f855 | ||
![]() |
dc89207684 | ||
![]() |
fa470f39e6 | ||
![]() |
26791e03fa | ||
![]() |
a4468798fe | ||
![]() |
496d67505f | ||
![]() |
f5b475bd5a | ||
![]() |
f4900ae979 | ||
![]() |
c6ec14ae63 | ||
![]() |
001bd2a977 | ||
![]() |
27aaa235ec | ||
![]() |
e0342b6214 | ||
![]() |
14ff849e26 | ||
![]() |
ad72139cee | ||
![]() |
66ca6cabf3 | ||
![]() |
ebdbe3eebd | ||
![]() |
e9d241581c | ||
![]() |
1b59578209 | ||
![]() |
97313065cf | ||
![]() |
af87b8f2cc | ||
![]() |
f39503f051 | ||
![]() |
de060391c6 | ||
![]() |
96e8746924 | ||
![]() |
7711a6fda3 | ||
![]() |
eb0fb14305 | ||
![]() |
f160396f8e | ||
![]() |
b057d47885 | ||
![]() |
fb7bdc0cd3 | ||
![]() |
b82616914b | ||
![]() |
a24407889d | ||
![]() |
ecf6a7c2d2 | ||
![]() |
7f76aa89ae | ||
![]() |
3caf6fed1e | ||
![]() |
116a1a43df | ||
![]() |
bdb6dfe9f6 | ||
![]() |
dfcedea52f | ||
![]() |
5a8160a541 | ||
![]() |
cdcc5b1458 | ||
![]() |
833aa7a8d1 | ||
![]() |
d7e759d4f2 | ||
![]() |
5dfe197629 | ||
![]() |
080c350913 | ||
![]() |
2d77264cbb | ||
![]() |
d6b84b9f73 | ||
![]() |
43ba1c5e49 | ||
![]() |
ed47a3c524 | ||
![]() |
46c70c3263 | ||
![]() |
f3d3a133ca | ||
![]() |
2854bde512 | ||
![]() |
723bf68f7a | ||
![]() |
a5877cf61f | ||
![]() |
280140511e | ||
![]() |
178173f9ae | ||
![]() |
892dc79d4a | ||
![]() |
75e3b66082 | ||
![]() |
7b3af3ec48 | ||
![]() |
63cc2ea829 | ||
![]() |
78a22b7d7f | ||
![]() |
be25cec8ba | ||
![]() |
0779e72a16 | ||
![]() |
be39861cdb | ||
![]() |
ec8469333e | ||
![]() |
6d47473485 | ||
![]() |
599d35cec2 | ||
![]() |
a43ab0b008 | ||
![]() |
395ede243c | ||
![]() |
3d18d74567 | ||
![]() |
cb83b2b98c | ||
![]() |
b5fd7a6791 | ||
![]() |
3844ffe991 | ||
![]() |
045e933468 | ||
![]() |
34515ded64 | ||
![]() |
7e93798861 | ||
![]() |
0184f27a97 | ||
![]() |
fcbe4c916d | ||
![]() |
4983051a2f | ||
![]() |
6cc4cce7a9 | ||
![]() |
6b097d22dd | ||
![]() |
49e8116308 | ||
![]() |
ae58d2ca46 | ||
![]() |
4d8064af28 | ||
![]() |
69b67a3ea6 | ||
![]() |
8a5957b62e | ||
![]() |
8eac2653c5 | ||
![]() |
690e0b2b55 | ||
![]() |
e6ba9102fb | ||
![]() |
c9998cfb06 | ||
![]() |
f33b7e1a50 | ||
![]() |
b1e0ab8b91 | ||
![]() |
64e48624c3 | ||
![]() |
0d8c673fdf | ||
![]() |
7f022ab5d9 | ||
![]() |
e49e4292be | ||
![]() |
230da1521d | ||
![]() |
c73df94fbb | ||
![]() |
05c24e017b | ||
![]() |
6d8c4aad6e | ||
![]() |
14150d6f7b | ||
![]() |
75c119d8c6 | ||
![]() |
67f2c92626 | ||
![]() |
a554d67b39 | ||
![]() |
d483866ffc | ||
![]() |
159daeab6a | ||
![]() |
b950174d5d | ||
![]() |
6fad6e800f |
10
.dockerignore
Normal file
|
@ -0,0 +1,10 @@
|
|||
.dockerignore
|
||||
.git
|
||||
.github
|
||||
**/*.DS_Store
|
||||
docker-bake.hcl
|
||||
docs
|
||||
httpd-php-dev.yml
|
||||
httpd-php.Dockerfile
|
||||
httpd-php.yml
|
||||
README.md
|
6
.gitattributes
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
/.github export-ignore
|
||||
/.vscode export-ignore
|
||||
/.gitattributes export-ignore
|
||||
/.gitignore export-ignore
|
||||
|
||||
*.php diff=php
|
BIN
.github/banner/maxresdefault.jpg
vendored
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
.github/banner/social-chevereto-blue.jpg
vendored
Normal file
After Width: | Height: | Size: 125 KiB |
BIN
.github/banner/social_blue.png
vendored
Normal file
After Width: | Height: | Size: 222 KiB |
BIN
.github/screen/1a.webp
vendored
Normal file
After Width: | Height: | Size: 261 KiB |
BIN
.github/screen/2a.webp
vendored
Normal file
After Width: | Height: | Size: 178 KiB |
BIN
.github/screen/3a.webp
vendored
Normal file
After Width: | Height: | Size: 179 KiB |
BIN
.github/screen/4a.webp
vendored
Normal file
After Width: | Height: | Size: 186 KiB |
BIN
.github/screen/5a.webp
vendored
Normal file
After Width: | Height: | Size: 282 KiB |
BIN
.github/screen/6a.webp
vendored
Normal file
After Width: | Height: | Size: 131 KiB |
76
.github/workflows/httpd-php-multiarch.yml
vendored
Normal file
|
@ -0,0 +1,76 @@
|
|||
name: buildx
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
GHCR_SLUG: ghcr.io/rodber/chevereto-free
|
||||
|
||||
jobs:
|
||||
buildx:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
matrix:
|
||||
operating-system: [ubuntu-latest]
|
||||
php-versions: ["7.4"]
|
||||
name: Build on PHP ${{ matrix.php-versions }} ${{ matrix.operating-system }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
env:
|
||||
fail-fast: true
|
||||
|
||||
# - name: Build
|
||||
# run: php src/build.php
|
||||
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v3
|
||||
with:
|
||||
images: |
|
||||
${{ env.GHCR_SLUG }}
|
||||
tags: |
|
||||
type=ref,event=branch
|
||||
type=ref,event=pr
|
||||
type=semver,pattern={{version}}
|
||||
type=semver,pattern={{major}}.{{minor}}
|
||||
labels: |
|
||||
org.opencontainers.image.title=Chevereto-Free
|
||||
org.opencontainers.image.description=Chevereto-Free Image Hosting
|
||||
org.opencontainers.image.vendor=rodber
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
|
||||
- name: Login to GHCR
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Build
|
||||
uses: docker/bake-action@v1
|
||||
with:
|
||||
files: |
|
||||
./docker-bake.hcl
|
||||
${{ steps.meta.outputs.bake-file }}
|
||||
targets: build
|
||||
push: true
|
||||
|
||||
- name: Check manifest
|
||||
run: |
|
||||
docker buildx imagetools inspect ${{ env.GHCR_SLUG }}:${{ steps.meta.outputs.version }}
|
||||
|
||||
- name: Inspect image
|
||||
run: |
|
||||
docker pull ${{ env.GHCR_SLUG }}:${{ steps.meta.outputs.version }}
|
||||
docker image inspect ${{ env.GHCR_SLUG }}:${{ steps.meta.outputs.version }}
|
72
.github/workflows/release.yml
vendored
Normal file
|
@ -0,0 +1,72 @@
|
|||
name: Release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- "*"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ${{ matrix.operating-system }}
|
||||
strategy:
|
||||
matrix:
|
||||
operating-system: [ubuntu-latest]
|
||||
php-versions: ["7.4"]
|
||||
name: Release on PHP ${{ matrix.php-versions }} ${{ matrix.operating-system }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
env:
|
||||
fail-fast: true
|
||||
|
||||
- name: Validate composer
|
||||
run: composer validate
|
||||
|
||||
- name: Get composer cache directory
|
||||
id: composer-cache
|
||||
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
|
||||
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ${{ steps.composer-cache.outputs.dir }}
|
||||
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
|
||||
restore-keys: ${{ runner.os }}-composer-
|
||||
|
||||
- name: Get version
|
||||
id: get_version
|
||||
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
|
||||
|
||||
- name: Packaging
|
||||
run: |
|
||||
rm -rf .git .github .dockerignore docs app/settings.php docker-bake.hcl httpd-php-dev.yml httpd-php.Dockerfile httpd-php.yml sync.sh
|
||||
|
||||
- name: Archive dev
|
||||
uses: thedoctor0/zip-release@master
|
||||
with:
|
||||
type: "zip"
|
||||
filename: "${{ steps.get_version.outputs.VERSION }}-lite.zip"
|
||||
|
||||
- name: Install dependencies
|
||||
run: composer install --prefer-dist --no-progress --classmap-authoritative --ignore-platform-reqs
|
||||
|
||||
- name: Archive release
|
||||
uses: thedoctor0/zip-release@master
|
||||
with:
|
||||
type: "zip"
|
||||
filename: "${{ steps.get_version.outputs.VERSION }}.zip"
|
||||
exclusions: "${{ steps.get_version.outputs.VERSION }}-lite.zip"
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
allowUpdates: true
|
||||
removeArtifacts: true
|
||||
omitBodyDuringUpdate: true
|
||||
artifacts: "${{ steps.get_version.outputs.VERSION }}.zip,${{ steps.get_version.outputs.VERSION }}-lite.zip"
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
10
.gitignore
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
.DS_Store
|
||||
/app/settings.php
|
||||
/app/vendor
|
||||
/content/images/users
|
||||
/content/images/system/*
|
||||
!/content/images/system/default
|
||||
/content/pages
|
||||
!/content/pages/default/
|
||||
/images/*
|
||||
!/images/.htaccess
|
70
.htaccess
|
@ -1,30 +1,42 @@
|
|||
# Disable server signature
|
||||
ServerSignature Off
|
||||
|
||||
# Disable directory listing (-indexes), Multiviews (-MultiViews) and enable Follow system links (+FollowSymLinks)
|
||||
Options -Indexes
|
||||
Options -MultiViews
|
||||
Options +FollowSymLinks
|
||||
|
||||
<IfModule mod_rewrite.c>
|
||||
|
||||
RewriteEngine On
|
||||
|
||||
# If you have problems with the rewrite rules remove the "#" from the following RewriteBase line
|
||||
# You will also have to change the path to reflect the path to your Chevereto installation
|
||||
# If you are using alias is most likely that you will need this.
|
||||
#RewriteBase /
|
||||
|
||||
# 404 images
|
||||
# If you want to have your own fancy "image not found" image remove the "#" from RewriteCond and RewriteRule lines
|
||||
# Make sure to apply the correct paths to reflect your current installation
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteRule images/.+\.(gif|jpe?g|png|bmp) - [NC,L,R=404]
|
||||
#RewriteRule images/.+\.(gif|jpe?g|png|bmp) content/images/system/default/404.gif [NC,L]
|
||||
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteCond %{REQUEST_URI} !\.(css|js|html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml|asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|exe|gif|gz|gzip|ico|jpe?g|jpe|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|swf|tar|tif|tiff|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$ [NC]
|
||||
RewriteRule . index.php [L]
|
||||
|
||||
ServerSignature Off
|
||||
Options -Indexes
|
||||
Options -MultiViews
|
||||
|
||||
# Enable CORS across all your subdomains (replace dev\.local with your domain\.com)
|
||||
# SetEnvIf Origin ^(https?://.+\.dev\.local(?::\d{1,5})?)$ CORS_ALLOW_ORIGIN=$1
|
||||
# Header append Access-Control-Allow-Origin %{CORS_ALLOW_ORIGIN}e env=CORS_ALLOW_ORIGIN
|
||||
# Header merge Vary "Origin"
|
||||
|
||||
<FilesMatch "composer\.(json|lock)|importing\.php|\.htaccess|\.gitignore">
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order Allow,Deny
|
||||
Deny from all
|
||||
</IfModule>
|
||||
<IfModule mod_authz_core.c>
|
||||
Require all denied
|
||||
</IfModule>
|
||||
</FilesMatch>
|
||||
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine On
|
||||
# If you have problems with the rewrite rules remove the "#" from the following RewriteBase line
|
||||
# You will also have to change the path to reflect the path to your Chevereto installation
|
||||
# If you are using mod alias is likely that you will need this.
|
||||
#RewriteBase /
|
||||
|
||||
# 404 images
|
||||
# If you want to have your own fancy "image not found" image remove the # from RewriteRule
|
||||
# Make sure to apply the correct paths to reflect your current installation
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
#RewriteRule images/.+\.(gif|jpe?g|a?png|bmp|webp) content/images/system/default/404.gif [NC,L]
|
||||
RewriteRule images/.+\.(gif|jpe?g|png|bmp|webp) - [NC,L,R=404]
|
||||
|
||||
# PHP front controller
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteRule . index.php [L]
|
||||
|
||||
# Single PHP-entrypoint (disables direct access to .php files)
|
||||
RewriteCond %{THE_REQUEST} ^.+?\ [^?]+\.php[?\ ] [NC]
|
||||
RewriteRule \.php$ - [NC,L,F,R=404]
|
||||
</IfModule>
|
5
AGPLv3
|
@ -1,5 +0,0 @@
|
|||
Chevereto Free is provided under AGPL v3 (GNU AFFERO GENERAL PUBLIC LICENSE v3) with modified Section 7.
|
||||
|
||||
In accordance with Section 7 of the AGPL, the Works included in this package or repository (excluding 3rd party software), are subject to the following additional terms:
|
||||
|
||||
You cannot remove any Chevereto logo or branding either from source code or user interface and/or any other interface that can be publicly seen by end user. No other brands, trade names, trademarks or service marks may be used for derivative products. All names, links and logos of Chevereto must be kept as in original distribution without any changes in all software screens (including install screen, dashboard, software header etc). There are tight and enforcing restrictions on your ability to modify, change or remove Chevereto name and logo from Chevereto software.
|
6
LICENSE
|
@ -1,7 +1,7 @@
|
|||
GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
Version 3, 19 November 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
@ -643,7 +643,7 @@ the "copyright" line and a pointer to where the full notice is found.
|
|||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
|
@ -658,4 +658,4 @@ specific requirements.
|
|||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU AGPL, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
<https://www.gnu.org/licenses/>.
|
72
README.md
|
@ -1,68 +1,32 @@
|
|||
<p align="center"><a href="https://chevereto.com/"><img src="https://chevereto.com/app/themes/v3/img/chevereto-blue.svg" alt="Chevereto"></a></p>
|
||||
# Chevereto-Free
|
||||
|
||||
<p align="center"><a href="https://chevereto.com">Chevereto</a> is an image hosting script that allows you to create a beautiful and full-featured image hosting website on your own server. It's your hosting and your rules, say goodbye to closures and restrictions.</p>
|
||||
> The "Chevereto-Free" project is **archived** and superseed by "Chevereto" at [chevereto/chevereto](https://github.com/chevereto/chevereto).
|
||||
|
||||
<p align="center"><a href="https://chevereto.com/"><img src="https://chevereto.com/app/themes/v3/img/devices.png" alt="" vspace="20"></a></p>
|
||||
"Chevereto-Free" is not longer updated neither maintained, it holds code old as 2020 and it runs on a deprecated PHP version. Is not safe to use "Chevereto-Free".
|
||||
|
||||
Chevereto Free
|
||||
=
|
||||
Read about it at [Chevereto goes free](https://rodolfoberrios.com/2022/12/01/chevereto-goes-free/)
|
||||
|
||||
<a href="https://chevereto.com/free" title="♫♪ Ha llegado tu tiempo, es el momento de Freeeeeeeeeeeeeeee"><img src="https://chevereto.com/app/themes/v3/img/chevereto-free-cover.jpg" alt="Chevereto Sugar Free Cola"></a>
|
||||
Please note that most projects around "Chevereto-Free" wrongly use the word "Chevereto" to refer to the project/code. I used the name "Chevereto-Free" because the software project is different, please don't spoil it by chopping "-Free" when refering to this code.
|
||||
|
||||
### About this repo
|
||||
This is the repository of Chevereto Free edition which is forked from Chevereto 3.X series. Chevereto Free has the same look and feel of our [paid version](https://chevereto.com) but it packs only the most essential features and it doesn't include any kind of support. It is Open Source software licensed under the AGPLv3 license.
|
||||
## Summary
|
||||
|
||||
### Free vs Paid Chevereto
|
||||
Paid edition includes all features (storages, banners, likes, followers, social login, etc.) and it gets more frequent updates. Free edition is always 6 months behind the paid edition and lots of sacrifices had to be made to be able to offer this free product. The following table summarizes the differences between free/paid editions.
|
||||
Chevereto-Free allows you to create an image hosting website on your own server. It's your hosting and your rules, say goodbye to closures and restrictions.
|
||||
|
||||
| Item | Free | Paid |
|
||||
|---------------------------------------------- |----------------- |------------------------ |
|
||||
| Updates | Each 6 months | Monthly |
|
||||
| Features delay | +6 months | Zero |
|
||||
| One click system update | Yes | Yes |
|
||||
| Upload plugin | Yes | Yes |
|
||||
| Tech support | No | Yes |
|
||||
| External storage support | No | Yes |
|
||||
| Manage banners | No | Yes |
|
||||
| Likes + Followers | No | Yes |
|
||||
| Facebook, Twitter, Google and VK signup | No | Yes |
|
||||
## Requirements
|
||||
|
||||
Keep in mind that when you prefer the paid edition you contribute to keep development ongoing. At Chevereto we don't sell any kind of extra paid plugins or offer additional support tiers. We believe in one-time payments and upgrade fees only for major versions. We don't even charge any yearly-based fees.
|
||||
* PHP 7.4
|
||||
* MySQL 5.7 / 8 - MariaDB 10
|
||||
* Apache HTTP Web Server / Nginx
|
||||
* mod_rewrite
|
||||
|
||||
If you enjoy this software then consider [purchasing](https://chevereto.com/pricing) our paid edition.
|
||||
## PHP 8 support
|
||||
|
||||
## Minimum system requirements
|
||||
Make sure your server meets the minimum system requirements which are:
|
||||
No.
|
||||
|
||||
- Apache / NGiNX web server
|
||||
- PHP 5.5.0 (standard libraries)
|
||||
- MySQL 5.0 (ALL PRIVILEGES)
|
||||
## Documentation
|
||||
|
||||
In most servers that's all you need. The system has a built-in system check that it will tell you right away when you have to fix some stuff on your server.
|
||||
|
||||
## Install via Installer (recommended)
|
||||
1. Download the [Chevereto Installer](https://chevereto.com/download/file/installer)
|
||||
2. Upload this file to your target destination (usually the `public_html` folder)
|
||||
3. Open your website target destination URL and follow the install process
|
||||
|
||||
## Free installation service
|
||||
We will be happy to install Chevereto for you, just send us an [installation request](https://chevereto.com/panel/request-installation) and we will do all the installation job for you. For free. Service available only for cPanel based websites.
|
||||
|
||||
## Install via zip/tarball
|
||||
1. Download the [latest release](https://github.com/Chevereto/Chevereto-Free/releases/latest) of Chevereto Free
|
||||
2. Upload the contents of your download to your server (usually the `public_html` folder)
|
||||
3. Go to your website and follow the instructions
|
||||
|
||||
For additional install instructions refer to our [official documentation](https://chevereto.com/docs/install).
|
||||
|
||||
## Updates
|
||||
Chevereto has a built-in system that everyday checks for new updates via the [Chevereto API](https://chevereto.com/api/get/info/free). The system will notify when an update is available and it will guide you through the process.
|
||||
|
||||
## Upgrade to paid edition
|
||||
To upgrade to our paid edition simply navigate to your dashboard panel and click on the `upgrade` button.
|
||||
|
||||
## Support
|
||||
Chevereto Free doesn't include any kind of support. However, feel free to browse all our [support tickets](https://chevereto.com/tech-support). If you need further assistance consider buying our paid edition.
|
||||
[chevereto-free.github.io](https://chevereto-free.github.io)
|
||||
|
||||
## License
|
||||
Copyright [Rodolfo Berríos](http://rodolfoberrios.com) - Released under the AGPLv3 license. The software is offered on an “as-is” basis and no warranty, either expressed or implied, is given.
|
||||
|
||||
Copyright [Rodolfo Berríos Arce](http://rodolfoberrios.com) - [AGPLv3](LICENSE).
|
||||
|
|
|
@ -1,11 +1,18 @@
|
|||
<FilesMatch "\.(po|php|lock|sql)$">
|
||||
# Apache 2.2
|
||||
<FilesMatch "\.(?:[Pp][Hh][Pp][345]?|[Pp][Hh][Tt][Mm][Ll])|(po|sql|html?)$">
|
||||
<IfModule !mod_authz_core.c>
|
||||
Order Allow,Deny
|
||||
Deny from all
|
||||
</IfModule>
|
||||
# Apache 2.4
|
||||
<IfModule mod_authz_core.c>
|
||||
Require all denied
|
||||
</IfModule>
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
</FilesMatch>
|
||||
<IfModule mod_php7.c>
|
||||
php_flag engine off
|
||||
</IfModule>
|
||||
<FilesMatch ".+\.*$">
|
||||
SetHandler !
|
||||
</FilesMatch>
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteRule ^.*\.php$ - [F,L]
|
||||
</IfModule>
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
define('G_APP_NAME', 'Chevereto Free');
|
||||
define('G_APP_VERSION', '1.0.11');
|
||||
define('G_APP_GITHUB_OWNER', 'Chevereto');
|
||||
define('G_APP_GITHUB_REPO', 'Chevereto-Free');
|
||||
define('G_APP_VERSION', '1.6.2');
|
||||
define('G_APP_GITHUB_OWNER', 'rodber');
|
||||
define('G_APP_GITHUB_REPO', 'chevereto-free');
|
||||
define('G_APP_GITHUB_REPO_URL', 'https://github.com/' . G_APP_GITHUB_OWNER . '/' . G_APP_GITHUB_REPO);
|
||||
define('CHEVERETO_INSTALLER_DOWNLOAD_URL', 'https://chevereto.com/download/file/installer');
|
||||
define('CHEVERETO_INSTALLER_DOWNLOAD_URL', 'https://chevereto.com/download/file/installer');
|
||||
|
|
|
@ -1,23 +1,8 @@
|
|||
<?php
|
||||
# Use this file to include / hook anything you want
|
||||
# Any code in this file will be added just before the G\Handler
|
||||
|
||||
/* --------------------------------------------------------------------
|
||||
|
||||
G\ library
|
||||
http://gbackslash.com
|
||||
|
||||
@author Rodolfo Berrios A. <http://rodolfoberrios.com/>
|
||||
|
||||
Copyright (c) Rodolfo Berrios <inbox@rodolfoberrios.com> All rights reserved.
|
||||
|
||||
Licensed under the MIT license
|
||||
http://opensource.org/licenses/MIT
|
||||
|
||||
--------------------------------------------------------------------- */
|
||||
|
||||
# Use this file to include / hook anything you want
|
||||
# Any code in this file will be added just before the G\Handler
|
||||
|
||||
# NOTE: To use it in production you will need to rename this file to chevereto-hook.php
|
||||
# NOTE: To use it in production you will need to rename this file to chevereto-hook.php
|
||||
|
||||
namespace CHV;
|
||||
use G, Exception;
|
||||
|
|
3305
app/content/languages/cache/ar.po.cache.php
vendored
3409
app/content/languages/cache/cs.po.cache.php
vendored
1299
app/content/languages/cache/da.po.cache.php
vendored
3410
app/content/languages/cache/de.po.cache.php
vendored
1782
app/content/languages/cache/el.po.cache.php
vendored
28
app/content/languages/cache/en.po.cache.php
vendored
|
@ -1,28 +0,0 @@
|
|||
<?php
|
||||
$translation_header = array (
|
||||
'Project-Id-Version' => 'Chevereto V3',
|
||||
'POT-Creation-Date' => '2017-09-22 03:16-0300',
|
||||
'PO-Revision-Date' => '2017-09-22 03:16-0300',
|
||||
'Last-Translator' => 'Rodolfo Berríos <inbox@rodolfoberrios.com>',
|
||||
'Language-Team' => '',
|
||||
'Language' => 'e',
|
||||
'MIME-Version' => '1.0',
|
||||
'Content-Type' => 'text/plain; charset=UTF-8',
|
||||
'Content-Transfer-Encoding' => '8bit',
|
||||
'X-Generator' => 'Poedit 2.0.4',
|
||||
'X-Poedit-Basepath' => '.',
|
||||
'Plural-Forms' => 'nplurals=2; plural=(n != 1);',
|
||||
'X-Poedit-KeywordsList' => '_s;_se;_n:1,2;_ne:1,2;PF.fn._s;PF.fn._n:1,2',
|
||||
'X-Poedit-SourceCharset' => 'UTF-8',
|
||||
'X-Poedit-SearchPath-0' => '../../..',
|
||||
'X-Poedit-SearchPathExcluded-0' => '../../../app/vendor',
|
||||
);
|
||||
$translation_plural = array (
|
||||
'nplurals' => 2,
|
||||
'plural' => '(n != 1)',
|
||||
'formula' => '($n != 1)',
|
||||
'function' => '$index = (int)(($n != 1)); return ($index < 2) ? $index : 2 - 1;',
|
||||
);
|
||||
$translation_table = [
|
||||
];
|
||||
?>
|
3410
app/content/languages/cache/es.po.cache.php
vendored
1745
app/content/languages/cache/fa.po.cache.php
vendored
3410
app/content/languages/cache/fi.po.cache.php
vendored
3323
app/content/languages/cache/fr.po.cache.php
vendored
2903
app/content/languages/cache/hu.po.cache.php
vendored
3094
app/content/languages/cache/id.po.cache.php
vendored
3410
app/content/languages/cache/it.po.cache.php
vendored
3394
app/content/languages/cache/ja.po.cache.php
vendored
2041
app/content/languages/cache/ko.po.cache.php
vendored
3410
app/content/languages/cache/nb.po.cache.php
vendored
3410
app/content/languages/cache/nl.po.cache.php
vendored
2025
app/content/languages/cache/pl.po.cache.php
vendored
3341
app/content/languages/cache/pt-BR.po.cache.php
vendored
2241
app/content/languages/cache/pt.po.cache.php
vendored
3426
app/content/languages/cache/ru.po.cache.php
vendored
2596
app/content/languages/cache/sk.po.cache.php
vendored
1779
app/content/languages/cache/sr-RS.po.cache.php
vendored
1528
app/content/languages/cache/sv.po.cache.php
vendored
1905
app/content/languages/cache/tr.po.cache.php
vendored
2990
app/content/languages/cache/uk.po.cache.php
vendored
1885
app/content/languages/cache/vi.po.cache.php
vendored
3394
app/content/languages/cache/zh-CN.po.cache.php
vendored
3307
app/content/languages/cache/zh-TW.po.cache.php
vendored
|
@ -1,9 +0,0 @@
|
|||
You can quick and easy override any language string by putting lang_code.po files here.
|
||||
|
||||
For example, en.po file whit this contents:
|
||||
#: START EXAMPLE
|
||||
msgid "Upload and share your images."
|
||||
msgstr "Upload and share your photos."
|
||||
#: END EXAMPLE
|
||||
|
||||
Will replace the original msgid with the new msgstr.
|
|
@ -1,74 +1,74 @@
|
|||
html, body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background: #F4F4F4;
|
||||
}
|
||||
|
||||
body {
|
||||
|
||||
color: #333;
|
||||
}
|
||||
|
||||
p, h1, h2, h3, ul {
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #00A7DA;
|
||||
text-decoration: none;
|
||||
}
|
||||
a img { border: 0; }
|
||||
|
||||
#header {
|
||||
position: relative;
|
||||
height: 60px;
|
||||
}
|
||||
|
||||
#logo {
|
||||
position: absolute;
|
||||
left: 30px;
|
||||
bottom: -20px;
|
||||
z-index: 100;
|
||||
display: block;
|
||||
}
|
||||
#logo img {
|
||||
width: 297px;
|
||||
height: 55px;
|
||||
display: inherit;
|
||||
}
|
||||
|
||||
#content {
|
||||
background: #FFF;
|
||||
border: 1px solid #DDD;
|
||||
border-radius: 10px;
|
||||
padding: 20px 30px 30px 30px;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
|
||||
ul.errors {
|
||||
margin: 20px;
|
||||
}
|
||||
ul.errors li {
|
||||
margin: 10px;
|
||||
list-style: disc;
|
||||
}
|
||||
|
||||
#powered {
|
||||
font-size: 0.93em;
|
||||
color: #BBB;
|
||||
text-shadow: 0 1px 0 #FFF;
|
||||
text-align: center;
|
||||
padding: 10px;
|
||||
}
|
||||
#powered a {
|
||||
color: #BBB;
|
||||
}
|
||||
|
||||
code {
|
||||
background: #f5f2f0;
|
||||
padding: 2px;
|
||||
font-family: monospace;
|
||||
border: 1px solid #DDD;
|
||||
html, body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background: #F4F4F4;
|
||||
}
|
||||
|
||||
body {
|
||||
|
||||
color: #333;
|
||||
}
|
||||
|
||||
p, h1, h2, h3, ul {
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #00A7DA;
|
||||
text-decoration: none;
|
||||
}
|
||||
a img { border: 0; }
|
||||
|
||||
#header {
|
||||
position: relative;
|
||||
height: 60px;
|
||||
}
|
||||
|
||||
#logo {
|
||||
position: absolute;
|
||||
left: 30px;
|
||||
bottom: -20px;
|
||||
z-index: 100;
|
||||
display: block;
|
||||
}
|
||||
#logo img {
|
||||
width: 297px;
|
||||
height: 55px;
|
||||
display: inherit;
|
||||
}
|
||||
|
||||
#content {
|
||||
background: #FFF;
|
||||
border: 1px solid #DDD;
|
||||
border-radius: 10px;
|
||||
padding: 20px 30px 30px 30px;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
|
||||
ul.errors {
|
||||
margin: 20px;
|
||||
}
|
||||
ul.errors li {
|
||||
margin: 10px;
|
||||
list-style: disc;
|
||||
}
|
||||
|
||||
#powered {
|
||||
font-size: 0.93em;
|
||||
color: #BBB;
|
||||
text-shadow: 0 1px 0 #FFF;
|
||||
text-align: center;
|
||||
padding: 10px;
|
||||
}
|
||||
#powered a {
|
||||
color: #BBB;
|
||||
}
|
||||
|
||||
code {
|
||||
background: #f5f2f0;
|
||||
padding: 2px;
|
||||
font-family: monospace;
|
||||
border: 1px solid #DDD;
|
||||
}
|
|
@ -1,57 +1,81 @@
|
|||
<?php
|
||||
/* --------------------------------------------------------------------
|
||||
|
||||
Chevereto
|
||||
http://chevereto.com/
|
||||
|
||||
@author Rodolfo Berrios A. <http://rodolfoberrios.com/>
|
||||
<inbox@rodolfoberrios.com>
|
||||
|
||||
Copyright (C) Rodolfo Berrios A. All rights reserved.
|
||||
|
||||
BY USING THIS SOFTWARE YOU DECLARE TO ACCEPT THE CHEVERETO EULA
|
||||
http://chevereto.com/license
|
||||
|
||||
--------------------------------------------------------------------- */
|
||||
|
||||
if(!defined('access') or !access) die('This file cannot be directly accessed.'); ?>
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title><?php echo $doctitle; ?></title>
|
||||
<link rel="stylesheet" href="<?php echo G\absolute_to_url(CHV_PATH_PEAFOWL . 'peafowl.css'); ?>">
|
||||
<link rel="stylesheet" href="<?php echo G\absolute_to_url(CHV_APP_PATH_CONTENT_SYSTEM . 'style.css'); ?>">
|
||||
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic&subset=latin,greek,cyrillic">
|
||||
<link rel="shortcut icon" href="<?php echo G\absolute_to_url(CHV_APP_PATH_CONTENT_SYSTEM . 'favicon.png'); ?>">
|
||||
<script>(function(w,d,u){w.readyQ=[];w.bindReadyQ=[];function p(x,y){if(x=="ready"){w.bindReadyQ.push(y);}else{w.readyQ.push(x);}};var a={ready:p,bind:p};w.$=w.jQuery=function(f){if(f===d||f===u){return a}else{p(f)}}})(window,document);</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="c20 center-box">
|
||||
<header id="header">
|
||||
<div id="logo"><img src="<?php echo G\absolute_to_url(CHV_APP_PATH_CONTENT_SYSTEM . 'chevereto.png'); ?>" alt=""></div>
|
||||
</header>
|
||||
<div id="content">
|
||||
<?php echo $html; ?>
|
||||
</div>
|
||||
<div id="powered">© <a href="http://chevereto.com">Chevereto image hosting script</a></div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<script src="<?php echo G\absolute_to_url(CHV_PATH_PEAFOWL . 'js/jquery.min.js'); ?>"></script>
|
||||
<script src="<?php echo G\absolute_to_url(CHV_PATH_PEAFOWL . 'js/scripts.js'); ?>"></script>
|
||||
<script>(function($,d){$.each(readyQ,function(i,f){$(f)});$.each(bindReadyQ,function(i,f){$(d).bind("ready",f)})})(jQuery,document)</script>
|
||||
<script src="<?php echo G\absolute_to_url(CHV_PATH_PEAFOWL . 'peafowl.js'); ?>"></script>
|
||||
<script>
|
||||
PF.obj.config.base_url = "<?php echo G\get_base_url(); ?>";
|
||||
PF.obj.l10n = <?php echo json_encode(CHV\get_translation_table()) ;?>;
|
||||
</script>
|
||||
<?php
|
||||
if(method_exists('CHV\Settings','getChevereto')) {
|
||||
echo '<script>var CHEVERETO = ' . json_encode(CHV\Settings::getChevereto()) . '</script>';
|
||||
}
|
||||
?>
|
||||
<script src="<?php echo CHV\Render\versionize_src(G\Render\get_app_lib_file_url('chevereto.js')); ?>"></script>
|
||||
|
||||
<?php
|
||||
/* --------------------------------------------------------------------
|
||||
|
||||
This file is part of Chevereto Free.
|
||||
https://chevereto.com/free
|
||||
|
||||
(c) Rodolfo Berrios <rodolfo@chevereto.com>
|
||||
|
||||
For the full copyright and license information, please view the LICENSE
|
||||
file that was distributed with this source code.
|
||||
|
||||
--------------------------------------------------------------------- */
|
||||
|
||||
if (!defined('access') or !access) {
|
||||
die('This file cannot be directly accessed.');
|
||||
} ?>
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title><?php echo $doctitle; ?></title>
|
||||
<link rel="stylesheet" href="<?php echo G\absolute_to_url(CHV_PATH_PEAFOWL . 'peafowl.css'); ?>">
|
||||
<link rel="stylesheet" href="<?php echo G\absolute_to_url(CHV_APP_PATH_CONTENT_SYSTEM . 'style.css'); ?>">
|
||||
<link rel="shortcut icon" href="<?php echo G\absolute_to_url(CHV_APP_PATH_CONTENT_SYSTEM . 'favicon.png'); ?>">
|
||||
<script data-cfasync="false">
|
||||
function jQueryLoaded() {
|
||||
! function(n, d) {
|
||||
n.each(readyQ, function(d, e) {
|
||||
n(e)
|
||||
}), n.each(bindReadyQ, function(e, i) {
|
||||
n(d).bind("ready", i)
|
||||
})
|
||||
}(jQuery, document)
|
||||
}! function(n, d, e) {
|
||||
function i(d, e) {
|
||||
"ready" == d ? n.bindReadyQ.push(e) : n.readyQ.push(d)
|
||||
}
|
||||
n.readyQ = [], n.bindReadyQ = [];
|
||||
var u = {
|
||||
ready: i,
|
||||
bind: i
|
||||
};
|
||||
n.$ = n.jQuery = function(n) {
|
||||
return n === d || void 0 === n ? u : void i(n)
|
||||
}
|
||||
}(window, document);
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="c20 center-box">
|
||||
<header id="header">
|
||||
<div id="logo"><img src="<?php echo G\absolute_to_url(CHV_APP_PATH_CONTENT_SYSTEM . 'chevereto.png'); ?>" alt=""></div>
|
||||
</header>
|
||||
<div id="content">
|
||||
<?php echo $html; ?>
|
||||
</div>
|
||||
<div id="powered"><?php _se('Powered by'); ?> <a href="<?php echo G_APP_GITHUB_REPO_URL; ?>" rel="generator" target="_blank"><?php echo G_APP_GITHUB_REPO; ?></a></div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<script defer data-cfasync="false" src="<?php echo G\absolute_to_url(CHV_PATH_PEAFOWL . 'js/scripts.js'); ?>" id="jquery-js" onload="jQueryLoaded(this, event)"></script>
|
||||
<script defer data-cfasync="false" src="<?php echo G\absolute_to_url(CHV_PATH_PEAFOWL . 'peafowl.js'); ?>" id="peafowl-js"></script>
|
||||
<?php
|
||||
if (method_exists('CHV\Settings', 'getChevereto')) {
|
||||
echo '<script>var CHEVERETO = ' . json_encode(CHV\Settings::getChevereto()) . '</script>';
|
||||
}
|
||||
?>
|
||||
<script defer data-cfasync="false" src="<?php echo CHV\Render\versionize_src(G\Render\get_app_lib_file_url('chevereto.js')); ?>" id="chevereto-js"></script>
|
||||
<script data-cfasync="false">
|
||||
document.getElementById("chevereto-js").addEventListener("load", function() {
|
||||
PF.obj.devices = window.devices;
|
||||
PF.obj.config.base_url = "<?php echo G\get_base_url(); ?>";
|
||||
PF.obj.config.json_api = "<?php echo G\get_base_url('update'); ?>/";
|
||||
PF.obj.l10n = <?php echo json_encode(CHV\get_translation_table()); ?>;
|
||||
PF.obj.config.auth_token = "<?php echo G\Handler::getAuthToken(); ?>";
|
||||
});
|
||||
</script>
|
||||
|
||||
</html>
|
7
app/importer/jobs/.htaccess
Normal file
|
@ -0,0 +1,7 @@
|
|||
<IfModule !mod_authz_core.c>
|
||||
Order Allow,Deny
|
||||
Deny from all
|
||||
</IfModule>
|
||||
<IfModule mod_authz_core.c>
|
||||
Require all denied
|
||||
</IfModule>
|
|
@ -1,24 +1,24 @@
|
|||
DROP TABLE IF EXISTS `%table_prefix%albums`;
|
||||
CREATE TABLE `%table_prefix%albums` (
|
||||
`album_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`album_name` varchar(100) NOT NULL,
|
||||
`album_user_id` bigint(32) NOT NULL,
|
||||
`album_date` datetime NOT NULL,
|
||||
`album_date_gmt` datetime NOT NULL,
|
||||
`album_creation_ip` varchar(255) NOT NULL,
|
||||
`album_privacy` enum('public','password','private','private_but_link','custom') DEFAULT 'public',
|
||||
`album_privacy_extra` text,
|
||||
`album_password` text,
|
||||
`album_image_count` bigint(32) NOT NULL DEFAULT '0',
|
||||
`album_description` text,
|
||||
`album_likes` bigint(32) NOT NULL DEFAULT '0',
|
||||
`album_views` bigint(32) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`album_id`),
|
||||
KEY `album_name` (`album_name`),
|
||||
KEY `album_user_id` (`album_user_id`),
|
||||
KEY `album_date_gmt` (`album_date_gmt`),
|
||||
KEY `album_privacy` (`album_privacy`),
|
||||
KEY `album_image_count` (`album_image_count`),
|
||||
KEY `album_creation_ip` (`album_creation_ip`),
|
||||
FULLTEXT KEY `searchindex` (`album_name`,`album_description`)
|
||||
) ENGINE=%table_engine% DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `%table_prefix%albums`;
|
||||
CREATE TABLE `%table_prefix%albums` (
|
||||
`album_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`album_name` varchar(100) NOT NULL,
|
||||
`album_user_id` bigint(32) DEFAULT NULL,
|
||||
`album_date` datetime NOT NULL,
|
||||
`album_date_gmt` datetime NOT NULL,
|
||||
`album_creation_ip` varchar(255) NOT NULL,
|
||||
`album_privacy` enum('public','password','private','private_but_link','custom') DEFAULT 'public',
|
||||
`album_privacy_extra` mediumtext,
|
||||
`album_password` mediumtext,
|
||||
`album_image_count` bigint(32) NOT NULL DEFAULT '0',
|
||||
`album_description` mediumtext,
|
||||
`album_likes` bigint(32) NOT NULL DEFAULT '0',
|
||||
`album_views` bigint(32) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`album_id`),
|
||||
KEY `album_name` (`album_name`),
|
||||
KEY `album_user_id` (`album_user_id`),
|
||||
KEY `album_date_gmt` (`album_date_gmt`),
|
||||
KEY `album_privacy` (`album_privacy`),
|
||||
KEY `album_image_count` (`album_image_count`),
|
||||
KEY `album_creation_ip` (`album_creation_ip`(191)),
|
||||
FULLTEXT KEY `searchindex` (`album_name`,`album_description`)
|
||||
) ENGINE=%table_engine% DEFAULT CHARSET=utf8mb4;
|
|
@ -1,9 +1,9 @@
|
|||
DROP TABLE IF EXISTS `%table_prefix%categories`;
|
||||
CREATE TABLE `%table_prefix%categories` (
|
||||
`category_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`category_name` varchar(32) NOT NULL,
|
||||
`category_url_key` varchar(32) NOT NULL,
|
||||
`category_description` text,
|
||||
PRIMARY KEY (`category_id`),
|
||||
UNIQUE KEY `url_key` (`category_url_key`) USING BTREE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `%table_prefix%categories`;
|
||||
CREATE TABLE `%table_prefix%categories` (
|
||||
`category_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`category_name` varchar(32) NOT NULL,
|
||||
`category_url_key` varchar(32) NOT NULL,
|
||||
`category_description` mediumtext,
|
||||
PRIMARY KEY (`category_id`),
|
||||
UNIQUE KEY `url_key` (`category_url_key`) USING BTREE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
@ -1,12 +1,12 @@
|
|||
DROP TABLE IF EXISTS `%table_prefix%confirmations`;
|
||||
CREATE TABLE `%table_prefix%confirmations` (
|
||||
`confirmation_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`confirmation_user_id` bigint(32) NOT NULL,
|
||||
`confirmation_type` enum('account-activate','account-change-email','account-password-forgot') NOT NULL,
|
||||
`confirmation_date` datetime NOT NULL,
|
||||
`confirmation_date_gmt` datetime NOT NULL,
|
||||
`confirmation_token_hash` varchar(255) NOT NULL,
|
||||
`confirmation_status` enum('active','valid','invalid') NOT NULL,
|
||||
`confirmation_extra` text,
|
||||
PRIMARY KEY (`confirmation_id`)
|
||||
DROP TABLE IF EXISTS `%table_prefix%confirmations`;
|
||||
CREATE TABLE `%table_prefix%confirmations` (
|
||||
`confirmation_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`confirmation_user_id` bigint(32) NOT NULL,
|
||||
`confirmation_type` enum('account-activate','account-change-email','account-password-forgot') NOT NULL,
|
||||
`confirmation_date` datetime NOT NULL,
|
||||
`confirmation_date_gmt` datetime NOT NULL,
|
||||
`confirmation_token_hash` varchar(255) NOT NULL,
|
||||
`confirmation_status` enum('active','valid','invalid') NOT NULL,
|
||||
`confirmation_extra` mediumtext,
|
||||
PRIMARY KEY (`confirmation_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
@ -1,20 +1,20 @@
|
|||
DROP TABLE IF EXISTS `%table_prefix%deletions`;
|
||||
CREATE TABLE `%table_prefix%deletions` (
|
||||
`deleted_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`deleted_date_gmt` datetime NOT NULL,
|
||||
`deleted_content_id` bigint(32) NOT NULL,
|
||||
`deleted_content_date_gmt` datetime NOT NULL,
|
||||
`deleted_content_user_id` bigint(32) DEFAULT NULL,
|
||||
`deleted_content_ip` varchar(255) NOT NULL,
|
||||
`deleted_content_md5` varchar(32) DEFAULT NULL,
|
||||
`deleted_content_original_filename` varchar(255) DEFAULT NULL,
|
||||
`deleted_content_views` bigint(32) NOT NULL DEFAULT '0',
|
||||
`deleted_content_likes` bigint(32) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`deleted_id`),
|
||||
KEY `deleted_content_id` (`deleted_content_id`),
|
||||
KEY `deleted_content_user_id` (`deleted_content_user_id`),
|
||||
KEY `deleted_content_ip` (`deleted_content_ip`),
|
||||
KEY `deleted_content_md5` (`deleted_content_md5`),
|
||||
KEY `deleted_content_views` (`deleted_content_views`),
|
||||
KEY `deleted_content_likes` (`deleted_content_likes`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `%table_prefix%deletions`;
|
||||
CREATE TABLE `%table_prefix%deletions` (
|
||||
`deleted_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`deleted_date_gmt` datetime NOT NULL,
|
||||
`deleted_content_id` bigint(32) NOT NULL,
|
||||
`deleted_content_date_gmt` datetime NOT NULL,
|
||||
`deleted_content_user_id` bigint(32) DEFAULT NULL,
|
||||
`deleted_content_ip` varchar(191) NOT NULL,
|
||||
`deleted_content_md5` varchar(32) DEFAULT NULL,
|
||||
`deleted_content_original_filename` varchar(255) DEFAULT NULL,
|
||||
`deleted_content_views` bigint(32) NOT NULL DEFAULT '0',
|
||||
`deleted_content_likes` bigint(32) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`deleted_id`),
|
||||
KEY `deleted_content_id` (`deleted_content_id`),
|
||||
KEY `deleted_content_user_id` (`deleted_content_user_id`),
|
||||
KEY `deleted_content_ip` (`deleted_content_ip`(191)),
|
||||
KEY `deleted_content_md5` (`deleted_content_md5`),
|
||||
KEY `deleted_content_views` (`deleted_content_views`),
|
||||
KEY `deleted_content_likes` (`deleted_content_likes`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
DROP TABLE IF EXISTS `%table_prefix%follows`;
|
||||
CREATE TABLE `%table_prefix%follows` (
|
||||
`follow_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`follow_date` datetime NOT NULL,
|
||||
`follow_date_gmt` datetime NOT NULL,
|
||||
`follow_user_id` bigint(32) NOT NULL,
|
||||
`follow_followed_user_id` bigint(32) NOT NULL,
|
||||
`follow_ip` varchar(255) NOT NULL,
|
||||
PRIMARY KEY (`follow_id`),
|
||||
KEY `follow_user_id` (`follow_user_id`),
|
||||
KEY `follow_followed_user_id` (`follow_followed_user_id`)
|
||||
DROP TABLE IF EXISTS `%table_prefix%follows`;
|
||||
CREATE TABLE `%table_prefix%follows` (
|
||||
`follow_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`follow_date` datetime NOT NULL,
|
||||
`follow_date_gmt` datetime NOT NULL,
|
||||
`follow_user_id` bigint(32) NOT NULL,
|
||||
`follow_followed_user_id` bigint(32) NOT NULL,
|
||||
`follow_ip` varchar(255) NOT NULL,
|
||||
PRIMARY KEY (`follow_id`),
|
||||
KEY `follow_user_id` (`follow_user_id`),
|
||||
KEY `follow_followed_user_id` (`follow_followed_user_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
@ -1,47 +1,58 @@
|
|||
DROP TABLE IF EXISTS `%table_prefix%images`;
|
||||
CREATE TABLE `%table_prefix%images` (
|
||||
`image_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`image_name` varchar(255) NOT NULL,
|
||||
`image_extension` varchar(255) NOT NULL,
|
||||
`image_size` int(11) NOT NULL,
|
||||
`image_width` int(11) NOT NULL,
|
||||
`image_height` int(11) NOT NULL,
|
||||
`image_date` datetime NOT NULL,
|
||||
`image_date_gmt` datetime NOT NULL,
|
||||
`image_title` varchar(100) DEFAULT NULL,
|
||||
`image_description` text,
|
||||
`image_nsfw` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`image_user_id` bigint(32) DEFAULT NULL,
|
||||
`image_album_id` bigint(32) DEFAULT NULL,
|
||||
`image_uploader_ip` varchar(255) NOT NULL,
|
||||
`image_storage_mode` enum('datefolder','direct','old') NOT NULL DEFAULT 'datefolder',
|
||||
`image_storage_id` bigint(32) DEFAULT NULL,
|
||||
`image_md5` varchar(32) NOT NULL,
|
||||
`image_original_filename` varchar(255) NOT NULL,
|
||||
`image_original_exifdata` longtext,
|
||||
`image_views` bigint(32) NOT NULL DEFAULT '0',
|
||||
`image_category_id` bigint(32) DEFAULT NULL,
|
||||
`image_chain` tinyint(128) NOT NULL,
|
||||
`image_thumb_size` int(11) NOT NULL,
|
||||
`image_medium_size` int(11) NOT NULL DEFAULT '0',
|
||||
`image_expiration_date_gmt` datetime DEFAULT NULL,
|
||||
`image_likes` bigint(32) NOT NULL DEFAULT '0',
|
||||
`image_is_animated` tinyint(1) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`image_id`),
|
||||
KEY `image_name` (`image_name`),
|
||||
KEY `image_size` (`image_size`),
|
||||
KEY `image_width` (`image_width`),
|
||||
KEY `image_height` (`image_height`),
|
||||
KEY `image_date_gmt` (`image_date_gmt`),
|
||||
KEY `image_nsfw` (`image_nsfw`),
|
||||
KEY `image_user_id` (`image_user_id`),
|
||||
KEY `image_album_id` (`image_album_id`),
|
||||
KEY `image_storage_id` (`image_storage_id`),
|
||||
KEY `image_md5` (`image_md5`),
|
||||
KEY `image_views` (`image_views`),
|
||||
KEY `image_category_id` (`image_category_id`),
|
||||
KEY `image_expiration_date_gmt` (`image_expiration_date_gmt`),
|
||||
KEY `image_likes` (`image_likes`),
|
||||
KEY `image_is_animated` (`image_is_animated`),
|
||||
FULLTEXT KEY `searchindex` (`image_name`,`image_title`,`image_description`,`image_original_filename`)
|
||||
) ENGINE=%table_engine% DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `%table_prefix%images`;
|
||||
CREATE TABLE `%table_prefix%images` (
|
||||
`image_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`image_name` varchar(255) NOT NULL,
|
||||
`image_extension` varchar(255) NOT NULL,
|
||||
`image_size` int(11) NOT NULL,
|
||||
`image_width` int(11) NOT NULL,
|
||||
`image_height` int(11) NOT NULL,
|
||||
`image_date` datetime NOT NULL,
|
||||
`image_date_gmt` datetime NOT NULL,
|
||||
`image_title` varchar(100) DEFAULT NULL,
|
||||
`image_description` mediumtext,
|
||||
`image_nsfw` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`image_user_id` bigint(32) DEFAULT NULL,
|
||||
`image_album_id` bigint(32) DEFAULT NULL,
|
||||
`image_uploader_ip` varchar(255) NOT NULL,
|
||||
`image_storage_mode` enum('datefolder','direct','old','path') NOT NULL DEFAULT 'datefolder',
|
||||
`image_path` varchar(4096) DEFAULT NULL,
|
||||
`image_storage_id` bigint(32) DEFAULT NULL,
|
||||
`image_md5` varchar(32) NOT NULL,
|
||||
`image_source_md5` varchar(32) DEFAULT NULL,
|
||||
`image_original_filename` varchar(255) NOT NULL,
|
||||
`image_original_exifdata` longtext,
|
||||
`image_views` bigint(32) NOT NULL DEFAULT '0',
|
||||
`image_category_id` bigint(32) DEFAULT NULL,
|
||||
`image_chain` tinyint(128) NOT NULL,
|
||||
`image_thumb_size` int(11) NOT NULL,
|
||||
`image_medium_size` int(11) NOT NULL DEFAULT '0',
|
||||
`image_expiration_date_gmt` datetime DEFAULT NULL,
|
||||
`image_likes` bigint(32) NOT NULL DEFAULT '0',
|
||||
`image_is_animated` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`image_is_approved` tinyint(1) NOT NULL DEFAULT '1',
|
||||
PRIMARY KEY (`image_id`),
|
||||
KEY `image_name` (`image_name`(191)),
|
||||
KEY `image_extension` (`image_extension`(191)),
|
||||
KEY `image_size` (`image_size`),
|
||||
KEY `image_width` (`image_width`),
|
||||
KEY `image_height` (`image_height`),
|
||||
KEY `image_date_gmt` (`image_date_gmt`),
|
||||
KEY `image_nsfw` (`image_nsfw`),
|
||||
KEY `image_user_id` (`image_user_id`),
|
||||
KEY `image_album_id` (`image_album_id`),
|
||||
KEY `image_uploader_ip` (`image_uploader_ip`(191)),
|
||||
KEY `image_storage_mode` (`image_storage_mode`),
|
||||
KEY `image_path` (`image_path`(191)),
|
||||
KEY `image_storage_id` (`image_storage_id`),
|
||||
KEY `image_md5` (`image_md5`),
|
||||
KEY `image_source_md5` (`image_source_md5`),
|
||||
KEY `image_views` (`image_views`),
|
||||
KEY `image_category_id` (`image_category_id`),
|
||||
KEY `image_chain` (`image_chain`),
|
||||
KEY `image_expiration_date_gmt` (`image_expiration_date_gmt`),
|
||||
KEY `image_likes` (`image_likes`),
|
||||
KEY `image_is_animated` (`image_is_animated`),
|
||||
KEY `image_is_approved` (`image_is_approved`),
|
||||
KEY `image_album_id_image_id` (`image_album_id`, `image_id`),
|
||||
FULLTEXT KEY `searchindex` (`image_name`,`image_title`,`image_description`,`image_original_filename`)
|
||||
) ENGINE=%table_engine% DEFAULT CHARSET=utf8mb4;
|
10
app/install/sql/importing.sql
Normal file
|
@ -0,0 +1,10 @@
|
|||
DROP TABLE IF EXISTS `%table_prefix%importing`;
|
||||
CREATE TABLE `%table_prefix%importing` (
|
||||
`importing_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`importing_import_id` bigint(32) NOT NULL,
|
||||
`importing_path` varchar(4096) NOT NULL,
|
||||
`importing_content_type` enum('user','album','image') NOT NULL,
|
||||
`importing_content_id` bigint(32) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`importing_id`),
|
||||
UNIQUE KEY `importing_path` (`importing_path`(255))
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
21
app/install/sql/imports.sql
Normal file
|
@ -0,0 +1,21 @@
|
|||
DROP TABLE IF EXISTS `%table_prefix%imports`;
|
||||
CREATE TABLE `%table_prefix%imports` (
|
||||
`import_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`import_path` varchar(4096) NOT NULL,
|
||||
`import_options` varchar(255) DEFAULT NULL,
|
||||
`import_status` enum('queued','working','paused','canceled','completed') NOT NULL,
|
||||
`import_users` bigint(32) NOT NULL DEFAULT '0',
|
||||
`import_images` bigint(32) NOT NULL DEFAULT '0',
|
||||
`import_albums` bigint(32) NOT NULL DEFAULT '0',
|
||||
`import_time_created` datetime DEFAULT NULL,
|
||||
`import_time_updated` datetime DEFAULT NULL,
|
||||
`import_errors` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`import_started` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`import_continuous` tinyint(1) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`import_id`),
|
||||
KEY `import_path` (`import_path`(255)) USING BTREE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `%table_prefix%imports` VALUES ('1', '%rootPath%importing/no-parse', 'a:1:{s:4:"root";s:5:"plain";}', 'working', '0', '0', '0', NOW(), NOW(), '0', '1', '1');
|
||||
INSERT INTO `%table_prefix%imports` VALUES ('2', '%rootPath%importing/parse-users', 'a:1:{s:4:"root";s:5:"users";}', 'working', '0', '0', '0', NOW(), NOW(), '0', '1', '1');
|
||||
INSERT INTO `%table_prefix%imports` VALUES ('3', '%rootPath%importing/parse-albums', 'a:1:{s:4:"root";s:6:"albums";}', 'working', '0', '0', '0', NOW(), NOW(), '0', '1', '1');
|
|
@ -1,13 +1,13 @@
|
|||
DROP TABLE IF EXISTS `%table_prefix%ip_bans`;
|
||||
CREATE TABLE `%table_prefix%ip_bans` (
|
||||
`ip_ban_id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`ip_ban_date` datetime NOT NULL,
|
||||
`ip_ban_date_gmt` datetime NOT NULL,
|
||||
`ip_ban_expires` datetime DEFAULT NULL,
|
||||
`ip_ban_expires_gmt` datetime DEFAULT NULL,
|
||||
`ip_ban_ip` varchar(255) NOT NULL,
|
||||
`ip_ban_message` longtext,
|
||||
PRIMARY KEY (`ip_ban_id`),
|
||||
KEY `ip_ban_date_gmt` (`ip_ban_date_gmt`),
|
||||
UNIQUE KEY `ip_ban_ip` (`ip_ban_ip`) USING BTREE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `%table_prefix%ip_bans`;
|
||||
CREATE TABLE `%table_prefix%ip_bans` (
|
||||
`ip_ban_id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`ip_ban_date` datetime NOT NULL,
|
||||
`ip_ban_date_gmt` datetime NOT NULL,
|
||||
`ip_ban_expires` datetime DEFAULT NULL,
|
||||
`ip_ban_expires_gmt` datetime DEFAULT NULL,
|
||||
`ip_ban_ip` varchar(191) NOT NULL,
|
||||
`ip_ban_message` text,
|
||||
PRIMARY KEY (`ip_ban_id`),
|
||||
KEY `ip_ban_date_gmt` (`ip_ban_date_gmt`),
|
||||
UNIQUE KEY `ip_ban_ip` (`ip_ban_ip`) USING BTREE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
@ -1,18 +1,18 @@
|
|||
DROP TABLE IF EXISTS `%table_prefix%likes`;
|
||||
CREATE TABLE `%table_prefix%likes` (
|
||||
`like_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`like_date` datetime NOT NULL,
|
||||
`like_date_gmt` datetime NOT NULL,
|
||||
`like_user_id` bigint(32) DEFAULT NULL,
|
||||
`like_content_type` enum('image','album') DEFAULT NULL,
|
||||
`like_content_id` bigint(32) NOT NULL,
|
||||
`like_content_user_id` bigint(32) DEFAULT NULL,
|
||||
`like_ip` varchar(255) NOT NULL,
|
||||
PRIMARY KEY (`like_id`),
|
||||
KEY `like_date_gmt` (`like_date_gmt`),
|
||||
KEY `like_user_id` (`like_user_id`),
|
||||
KEY `like_content_type` (`like_content_type`),
|
||||
KEY `like_content_id` (`like_content_id`),
|
||||
KEY `like_content_user_id` (`like_content_user_id`),
|
||||
KEY `like_ip` (`like_ip`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `%table_prefix%likes`;
|
||||
CREATE TABLE `%table_prefix%likes` (
|
||||
`like_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`like_date` datetime NOT NULL,
|
||||
`like_date_gmt` datetime NOT NULL,
|
||||
`like_user_id` bigint(32) DEFAULT NULL,
|
||||
`like_content_type` enum('image','album') DEFAULT NULL,
|
||||
`like_content_id` bigint(32) NOT NULL,
|
||||
`like_content_user_id` bigint(32) DEFAULT NULL,
|
||||
`like_ip` varchar(255) NOT NULL,
|
||||
PRIMARY KEY (`like_id`),
|
||||
KEY `like_date_gmt` (`like_date_gmt`),
|
||||
KEY `like_user_id` (`like_user_id`),
|
||||
KEY `like_content_type` (`like_content_type`),
|
||||
KEY `like_content_id` (`like_content_id`),
|
||||
KEY `like_content_user_id` (`like_content_user_id`),
|
||||
KEY `like_ip` (`like_ip`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
|
11
app/install/sql/locks.sql
Normal file
|
@ -0,0 +1,11 @@
|
|||
DROP TABLE IF EXISTS `%table_prefix%locks`;
|
||||
CREATE TABLE `%table_prefix%locks` (
|
||||
`lock_id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`lock_name` varchar(255) NOT NULL,
|
||||
`lock_date_gmt` datetime NOT NULL,
|
||||
`lock_expires_gmt` datetime DEFAULT NULL,
|
||||
PRIMARY KEY (`lock_id`),
|
||||
KEY `lock_date_gmt` (`lock_date_gmt`),
|
||||
KEY `lock_expires_gmt` (`lock_expires_gmt`),
|
||||
UNIQUE KEY `lock_name` (`lock_name`(191)) USING BTREE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
@ -1,18 +1,18 @@
|
|||
DROP TABLE IF EXISTS `%table_prefix%logins`;
|
||||
CREATE TABLE `%table_prefix%logins` (
|
||||
`login_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`login_user_id` bigint(32) NOT NULL,
|
||||
`login_type` enum('password','session','cookie','facebook','twitter','google','vk') NOT NULL,
|
||||
`login_ip` varchar(255) DEFAULT NULL,
|
||||
`login_hostname` text,
|
||||
`login_date` datetime NOT NULL,
|
||||
`login_date_gmt` datetime NOT NULL,
|
||||
`login_resource_id` varchar(255) DEFAULT NULL,
|
||||
`login_resource_name` text,
|
||||
`login_resource_avatar` text,
|
||||
`login_resource_url` text,
|
||||
`login_secret` text DEFAULT NULL COMMENT 'The secret part',
|
||||
`login_token_hash` text COMMENT 'Hashed complement to secret if needed',
|
||||
PRIMARY KEY (`login_id`),
|
||||
KEY `login_user_id` (`login_user_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
DROP TABLE IF EXISTS `%table_prefix%logins`;
|
||||
CREATE TABLE `%table_prefix%logins` (
|
||||
`login_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`login_user_id` bigint(32) NOT NULL,
|
||||
`login_type` enum('password','session','cookie','facebook','twitter','google','vk','cookie_facebook','cookie_twitter','cookie_google','cookie_vk') NOT NULL,
|
||||
`login_ip` varchar(255) DEFAULT NULL,
|
||||
`login_hostname` mediumtext,
|
||||
`login_date` datetime NOT NULL,
|
||||
`login_date_gmt` datetime NOT NULL,
|
||||
`login_resource_id` varchar(255) DEFAULT NULL,
|
||||
`login_resource_name` mediumtext,
|
||||
`login_resource_avatar` mediumtext,
|
||||
`login_resource_url` mediumtext,
|
||||
`login_secret` mediumtext DEFAULT NULL COMMENT 'The secret part',
|
||||
`login_token_hash` mediumtext COMMENT 'Hashed complement to secret if needed',
|
||||
PRIMARY KEY (`login_id`),
|
||||
KEY `login_user_id` (`login_user_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
@ -1,19 +1,19 @@
|
|||
DROP TABLE IF EXISTS `%table_prefix%notifications`;
|
||||
CREATE TABLE `%table_prefix%notifications` (
|
||||
`notification_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`notification_date_gmt` datetime NOT NULL,
|
||||
`notification_user_id` bigint(32) NOT NULL,
|
||||
`notification_trigger_user_id` bigint(32) DEFAULT NULL,
|
||||
`notification_type` enum('follow','like') NOT NULL,
|
||||
`notification_content_type` enum('user','image','album') NOT NULL,
|
||||
`notification_type_id` bigint(32) NOT NULL COMMENT 'type_id based on action (type) table',
|
||||
`notification_is_read` tinyint(1) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`notification_id`),
|
||||
KEY `notification_date_gmt` (`notification_date_gmt`),
|
||||
KEY `notification_user_id` (`notification_user_id`),
|
||||
KEY `notification_trigger_user_id` (`notification_trigger_user_id`),
|
||||
KEY `notification_type` (`notification_type`),
|
||||
KEY `notification_content_type` (`notification_content_type`),
|
||||
KEY `notification_type_id` (`notification_type_id`),
|
||||
KEY `notification_is_read` (`notification_is_read`)
|
||||
DROP TABLE IF EXISTS `%table_prefix%notifications`;
|
||||
CREATE TABLE `%table_prefix%notifications` (
|
||||
`notification_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`notification_date_gmt` datetime NOT NULL,
|
||||
`notification_user_id` bigint(32) NOT NULL,
|
||||
`notification_trigger_user_id` bigint(32) DEFAULT NULL,
|
||||
`notification_type` enum('follow','like') NOT NULL,
|
||||
`notification_content_type` enum('user','image','album') NOT NULL,
|
||||
`notification_type_id` bigint(32) NOT NULL COMMENT 'type_id based on action (type) table',
|
||||
`notification_is_read` tinyint(1) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`notification_id`),
|
||||
KEY `notification_date_gmt` (`notification_date_gmt`),
|
||||
KEY `notification_user_id` (`notification_user_id`),
|
||||
KEY `notification_trigger_user_id` (`notification_trigger_user_id`),
|
||||
KEY `notification_type` (`notification_type`),
|
||||
KEY `notification_content_type` (`notification_content_type`),
|
||||
KEY `notification_type_id` (`notification_type_id`),
|
||||
KEY `notification_is_read` (`notification_is_read`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
@ -1,26 +1,28 @@
|
|||
DROP TABLE IF EXISTS `%table_prefix%pages`;
|
||||
CREATE TABLE `%table_prefix%pages` (
|
||||
`page_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`page_url_key` varchar(32) DEFAULT NULL,
|
||||
`page_type` enum('internal','link') NOT NULL DEFAULT 'internal',
|
||||
`page_file_path` varchar(255) DEFAULT NULL,
|
||||
`page_link_url` text,
|
||||
`page_icon` varchar(255) DEFAULT NULL,
|
||||
`page_title` varchar(255) NOT NULL,
|
||||
`page_description` text,
|
||||
`page_keywords` text,
|
||||
`page_is_active` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`page_is_link_visible` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`page_attr_target` enum('_self','_blank') DEFAULT '_self',
|
||||
`page_attr_rel` varchar(255) DEFAULT NULL,
|
||||
`page_sort_display` int(11) DEFAULT NULL,
|
||||
PRIMARY KEY (`page_id`),
|
||||
KEY `page_url_key` (`page_url_key`),
|
||||
KEY `page_type` (`page_type`),
|
||||
KEY `page_is_active` (`page_is_active`),
|
||||
KEY `page_is_link_visible` (`page_is_link_visible`),
|
||||
KEY `page_sort_display` (`page_sort_display`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
|
||||
INSERT INTO `%table_prefix%pages` VALUES ('1', 'tos', 'internal', null, null, null, 'Terms of service', null, null, '1', '1', '_blank', null, '1');
|
||||
INSERT INTO `%table_prefix%pages` VALUES ('2', 'privacy', 'internal', null, null, null, 'Privacy', null, null, '1', '1', '_self', null, '2');
|
||||
INSERT INTO `%table_prefix%pages` VALUES ('3', 'contact', 'internal', null, null, null, 'Contact', null, null, '1', '1', '_self', null, '3');
|
||||
DROP TABLE IF EXISTS `%table_prefix%pages`;
|
||||
CREATE TABLE `%table_prefix%pages` (
|
||||
`page_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`page_url_key` varchar(32) DEFAULT NULL,
|
||||
`page_type` enum('internal','link') NOT NULL DEFAULT 'internal',
|
||||
`page_file_path` varchar(255) DEFAULT NULL,
|
||||
`page_link_url` mediumtext,
|
||||
`page_icon` varchar(255) DEFAULT NULL,
|
||||
`page_title` varchar(255) NOT NULL,
|
||||
`page_description` mediumtext,
|
||||
`page_keywords` mediumtext,
|
||||
`page_is_active` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`page_is_link_visible` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`page_attr_target` enum('_self','_blank') DEFAULT '_self',
|
||||
`page_attr_rel` varchar(255) DEFAULT NULL,
|
||||
`page_sort_display` int(11) DEFAULT NULL,
|
||||
`page_internal` varchar(191) DEFAULT NULL,
|
||||
PRIMARY KEY (`page_id`),
|
||||
UNIQUE KEY `page_internal` (`page_internal`(191)),
|
||||
KEY `page_url_key` (`page_url_key`),
|
||||
KEY `page_type` (`page_type`),
|
||||
KEY `page_is_active` (`page_is_active`),
|
||||
KEY `page_is_link_visible` (`page_is_link_visible`),
|
||||
KEY `page_sort_display` (`page_sort_display`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
INSERT INTO `%table_prefix%pages` VALUES ('1', 'tos', 'internal', null, null, 'icon-text', 'Terms of service', null, null, '1', '1', '_self', null, '1', 'tos');
|
||||
INSERT INTO `%table_prefix%pages` VALUES ('2', 'privacy', 'internal', null, null, 'icon-lock', 'Privacy', null, null, '1', '1', '_self', null, '2', 'privacy');
|
||||
INSERT INTO `%table_prefix%pages` VALUES ('3', 'contact', 'internal', null, null, 'icon-mail', 'Contact', null, null, '1', '1', '_self', null, '3', 'contact');
|
|
@ -1,11 +1,11 @@
|
|||
DROP TABLE IF EXISTS `%table_prefix%queues`;
|
||||
CREATE TABLE `%table_prefix%queues` (
|
||||
`queue_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`queue_type` enum('storage-delete') NOT NULL,
|
||||
`queue_date_gmt` datetime NOT NULL,
|
||||
`queue_args` longtext NOT NULL,
|
||||
`queue_join` bigint(32) NOT NULL,
|
||||
`queue_attempts` varchar(255) DEFAULT '0',
|
||||
`queue_status` enum('pending','failed') NOT NULL DEFAULT 'pending',
|
||||
PRIMARY KEY (`queue_id`)
|
||||
DROP TABLE IF EXISTS `%table_prefix%queues`;
|
||||
CREATE TABLE `%table_prefix%queues` (
|
||||
`queue_id` bigint(32) NOT NULL AUTO_INCREMENT,
|
||||
`queue_type` enum('storage-delete') NOT NULL,
|
||||
`queue_date_gmt` datetime NOT NULL,
|
||||
`queue_args` longtext NOT NULL,
|
||||
`queue_join` bigint(32) NOT NULL,
|
||||
`queue_attempts` varchar(255) DEFAULT '0',
|
||||
`queue_status` enum('pending','failed') NOT NULL DEFAULT 'pending',
|
||||
PRIMARY KEY (`queue_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|