Skip to content
This repository has been archived by the owner on Aug 27, 2022. It is now read-only.

Commit

Permalink
Merge branch 'dev' into stable3
Browse files Browse the repository at this point in the history
Change-Id: Ib08cc7ed556152f58f06c2d283af39e9a73507d9
  • Loading branch information
andi34 committed Apr 3, 2021
2 parents 179cd89 + 8b40bf3 commit 03210c3
Show file tree
Hide file tree
Showing 114 changed files with 12,120 additions and 6,362 deletions.
9 changes: 7 additions & 2 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
"error",
"last"
],
"complexity": "error",
"complexity": "off",
"computed-property-spacing": [
"error",
"never"
Expand Down Expand Up @@ -122,7 +122,12 @@
"lines-around-directive": "error",
"lines-between-class-members": "error",
"max-classes-per-file": "error",
"max-depth": "error",
"max-depth": [
"error",
{
"max": 6
}
],
"max-len": "off",
"max-lines": "off",
"max-lines-per-function": "off",
Expand Down
2 changes: 1 addition & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ updates:
directory: '/'
# Check the npm registry for updates every week
schedule:
interval: 'weekly'
interval: 'monthly'
50 changes: 50 additions & 0 deletions .github/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Configuration for probot-stale - https://github.com/probot/stale

# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 60

# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
daysUntilClose: 14

# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
exemptLabels:
- information
- security

# Set to true to ignore issues in a project (defaults to false)
exemptProjects: false

# Set to true to ignore issues in a milestone (defaults to false)
exemptMilestones: false

# Label to use when marking as stale
staleLabel: stale

# Comment to post when marking as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had recent activity.
I am here to help clear issues left open even if solved or waiting for more insight.
This issue will be closed if no further activity occurs during the next 2 weeks.
If the issue is still valid just add a comment to keep it alive.
Thank you for your contributions.
# Comment to post when closing a stale Issue or Pull Request.
closeComment: >
This issue has been automatically closed because of inactivity.
You can re-open it if needed.
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 1

# Optionally, specify configuration settings that are specific to just 'issues' or 'pulls':
pulls:
daysUntilStale: 60
daysUntilClose: 60
markComment: >
This pull request has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs during the next 2 months. Thank you
for your contributions.
closeComment: >
This pull request has been automatically closed because of inactivity.
You can re-open it if needed.
11 changes: 9 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,19 @@ config/*
!config/config.inc.php
data/
digicamcontrol/
manual/faq.*
node_modules/
package-lock.json
private/
resources/css/
resources/js/
resources/css/*
!resources/css/README.md
resources/js/*
!resources/js/README.md
src/sass/custom_chromakeying.css
src/sass/custom_live_chromakeying.css
src/sass/custom_style.scss
stats
template/custom.template.php
trash
vendor/simple-translator/
.sass-cache
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,6 @@
[submodule "vendor/PhotoSwipe"]
path = vendor/PhotoSwipe
url = https://github.com/andi34/PhotoSwipe
[submodule "vendor/Seriously"]
path = vendor/Seriously
url = https://github.com/brianchirls/Seriously.js
11 changes: 10 additions & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,14 @@
"trailingComma": "none",
"singleQuote": true,
"bracketSpacing": false,
"printWidth": 120
"printWidth": 120,
"overrides": [
{
"files": "*.php",
"options": {
"printWidth": 180,
"braceStyle": "1tbs",
}
},
]
}
11 changes: 8 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,16 @@ If you want to build the project, run `yarn build`.
## Committing and pushing changes

Please make sure to run `yarn build` and `yarn eslint` before you commit your changes. Running `yarn eslint:fix` might be able to fix general issues on `*.js` files for you.
If you're making changes to the FAQ (`faq/faq.md`) please run `yarn build:faq` before committing to generate needed HTML page.

**General Notes**
- changes to the FAQ need to be done inside the `faq/faq.md`
- changes to the css-files need to be done inside [src/sass/](src/sass/) (Information can be found [here](resources/css/README.md))
- changes to the js-files need to be done inside [src/js/](src/js/) (Information can be found [here](resources/js/README.md))
- translation need to be done on [Crowdin](https://crowdin.com/project/photobooth)

## Help needed

Please checkout the [open issues](https://github.com/andi34/photobooth/issues).

Also, please watch the repo and respond to questions/bug reports/feature
requests. Thanks!
Also, please watch the repo and respond to questions / bug reports / feature requests.
Thanks!
157 changes: 60 additions & 97 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# Photobooth
# Photobooth v3

A Photobooth web interface for Raspberry Pi and Windows.

Photobooth was initially developped by Andre Rinas, you can find his source [here](https://github.com/andreknieriem/photobooth).

This is my personal Photobooth fork with some extras on top (more information can be found [below](https://github.com/andi34/photobooth#extras-on-my-personal-fork)).
**This is my personal Photobooth fork with a lot of extras and improvements.**
_(The full changelog can be found inside [the Photobooth Wiki](https://github.com/andi34/photobooth/wiki/changelog).)_

[![Chat on Telegram](https://img.shields.io/badge/Chat%20on-Telegram-blue.svg)](https://t.me/PhotoboothGroup)

Expand All @@ -22,126 +23,79 @@ This is my personal Photobooth fork with some extras on top (more information ca
to take pictures.
- Images are processed with GD.
- Photobooth caches all generated QR-Codes, Thumbnails and Prints.
- Updated [PhotoSwipe Gallery](https://github.com/andi34/PhotoSwipe)
- Standalone Gallery ([localhost/gallery.php](http://localhost/gallery.php)).
- Slideshow via Gallery or standalone Gallery (under [localhost/slideshow](http://localhost/slideshow)).
- Settings can be changed via Admin Panel (under [localhost/admin](http://localhost/admin)):
- Multi-language support
- Slideshow via Gallery or standalone Gallery at [localhost/slideshow](http://localhost/slideshow).
- Access login via [localhost/login](http://localhost/login) instead [localhost/login.php](http://localhost/login.php).
- Offline manual with settings explained at [localhost/manual](http://localhost/manual).
- Offline FAQ at [localhost/manual/faq.php](http://localhost/manual/faq.php).
- Disk usage page, access via admin panel or directly at [localhost/admin/diskusage.php](http://localhost/admin/diskusage.php).
- Settings can be changed via Admin Panel at ([localhost/admin](http://localhost/admin)):
- Multi-language support:
- [Translate on Crowdin](https://crowdin.com/project/photobooth)
- Login to protect Admin Panel and/or Start page can be enabled.
- Login to protect Admin Panel, Start page and/or Manual & FAQ can be enabled.
- Hardware Button functionality, supports two separate modes of operation (select via admin panel):
- **Button Mode**: Distinct hardware buttons can be connected to distinct GPIOs. Each button will trigger a separate functionality (i.e. take photo).
- **Rotary Mode**: A rotary encoder connected to GPIOs will drive the input on the screen. This enables to use the rotary to scroll through the Photobooth UI buttons, and click to select actions.
- Gallery:
- Order pictures in gallery ascending oder descending by picture age.
- Hide the gallery.
- allow to adjust PhotoSwipe Gallery config via Adminpanel, also allow to use some PhotoSwipe functions and make more PhotoSwipe settings available (settings explained inside the manual):
- Mouse click on image should close the gallery (enable/disable)
- Close gallery if clicked outside of the image (enable/disable)
- Close picture on page scroll (enable/disable)
- Close gallery when dragging vertically and when image is not zoomed (enable/disable)
- Show image counter (enable/disable)
- Show PhotoSwipe fullscreen button (enable/disable)
- Show PhotoSwipe zoom button (enable/disable)
- PhotoSwipe history module (enable/disable)
- Pinch to close gallery (enable/disable)
- Toggle visibility of controls/buttons by tap (enable/disable)
- allow to adjust PhotoSwipe background opacity (0-1)
- Loop images (enable/disable)
- Slide transition effect (enable/disable)
- Swiping to change slides (enable/disable)
- gallery: button to delete an image, enable by default
- Choose thumbnail size:
- XS = max 360px
- S = max 540px
- M = max 900px
- L = max 1080px
- XL = max 1260px"
- Choose between date-formatted, numbered or random image names.
- Choose an image filter after taking a picture.
- QR-Code to allow downloading pictures from your Photobooth.
- Pictures can be directly downloaded from the gallery.
- Print feature.
- Print feature:
- Optional: Print a frame on your picture
- Optional: Print text on your picture.
- Optional: Print QR-Code on the right side of your picture.
- Optional: Auto print function
- Optional: allow to delay auto print
- Optional: allow to adjust time "Started printing! Please wait..." is visible
- Optional: allow to trigger print via defined key
- Optional: options to show the print button independent (e.g. can be only visible on gallery)
- Pictures can be sent via e-mail.
- LivePreview (via device cam or from stream URL).
- Different Live Preview options
- Event specific (e.g. wedding, birthday) config to show a symbol (e.g. heart)
between some text on the start page.
- Green screen keying (chroma keying).
- Photo collage function: take 4 pictures in a row with or without
interruption and let it generate a collage out of it.
- Chroma keying
- Photo collage function: take pictures in a row with or without
interruption and let it generate a collage out of it. Choose between different collage layouts!
- Save pictures with a Polaroid effect.
- Adjust take picture and print commands.
- Adjust the style of Photobooth via admin panel.
- And many more options to adjust and style Photobooth for your personal needs.

## Extras on my personal fork
### General changes:

- javascript transpiled to es5 to support older browsers (e.g. Safari 9)
- install-raspbian: use Apache2 webserver by default for a no-hassle setup
- added Slideshow option to Gallery
- standalone slideshow via [localhost/slideshow](http://localhost/slideshow)
- access login via [localhost/login](http://localhost/login) instead [localhost/login.php](http://localhost/login.php)
- offline manual with settings explained under [localhost/manual](http://localhost/manual) ([andi34/photobooth#59](https://github.com/andi34/photobooth/pull/59))
- offline FAQ under [localhost/manual/faq.html](http://localhost/manual/faq.html)
- disk usage page, access via admin panel or at [localhost/admin/diskusage.php](http://localhost/admin/diskusage.php)
- fix windows compatibility
- fix check for image filter
- performance improvement ([andreknieriem/photobooth#226](https://github.com/andreknieriem/photobooth/pull/226))
- Improved width of admin- and login-panel (partially [andreknieriem/photobooth#221](https://github.com/andreknieriem/photobooth/pull/221))
- general bug-fixes if device cam is used to take pictures ([andreknieriem/photobooth#220](https://github.com/andreknieriem/photobooth/pull/220))
- Remove unused resources/fonts/style.css
- language: use correkt ISO 639-1 Language Code for Greek
- Optimize picture size on result screen
- blue-gray color theme by default
- Admin panel: range slider and toggles
- Switch to simple-translator for translations, use english as fallback language if a translation is missing. This also gives the possibility to easily translate Photobooth. [How to update or add translations?](https://github.com/andi34/photobooth/wiki/FAQ#how-to-update-or-add-translations)
- Add database name to picture name if database changed from default name
- Close opened picture if photo/collage is triggered
- Only take Photos via defined key if we aren't already

### New Options:

- Option to disable the delete button ([andreknieriem/photobooth#228](https://github.com/andreknieriem/photobooth/pull/228))
- Show/Hide button to toggle fullscreen mode
- Option to keep original images in tmp folder
- Configurable image preview while post-processing
- Adjustable time a image is shown after capture
- Allow to rotate photo after taking
- Optional EXIF data preservation (disabled by default)
- define collage frame seperately ([andi34/photobooth#63](https://github.com/andi34/photobooth/pull/63))
- event specific database: You can now rename the picture and email database via Admin panel. Only pictures inside the defined database are visible via gallery. ([andi34/photobooth#61](https://github.com/andi34/photobooth/pull/61))
- Preview/Stream from device cam as background on start page ([andi34/photobooth#58](https://github.com/andi34/photobooth/pull/58))
- Allow using a stream from URL at countdown for preview
- Allow to rotate preview from URL
- Auto reload Photobooth on error while taking a photo
- Allow to change permissons on picture
- qrHelp: define WiFi SSID used on QR via admin panel
- Updated [PhotoSwipe Gallery](https://github.com/andi34/PhotoSwipe)
- Show button bar inside gallery on bottom or on top of the image
- allow to adjust PhotoSwipe Gallery config via Adminpanel, also allow to use some PhotoSwipe functions and make more PhotoSwipe settings available (settings explained inside the manual):
- Mouse click on image should close the gallery (enable/disable)
- Close gallery if clicked outside of the image (enable/disable)
- Close picture on page scroll (enable/disable)
- Close gallery when dragging vertically and when image is not zoomed (enable/disable)
- Show image counter (enable/disable)
- Show PhotoSwipe fullscreen button (enable/disable)
- Show PhotoSwipe zoom button (enable/disable)
- PhotoSwipe history module (enable/disable)
- Pinch to close gallery (enable/disable)
- Toggle visibility of controls/buttons by tap (enable/disable)
- allow to adjust PhotoSwipe background opacity (0-1)
- Loop images (enable/disable)
- Slide transition effect (enable/disable)
- Swiping to change slides (enable/disable)
- gallery: button to delete an image, enable by default
- Remote Buzzer Server based on io sockets
- Enables a GPIO pin connected hardware button / buzzer for a setup where the display / screen is connected via WLAN / network to the photobooth webserver (e.g. iPad)
- Choose thumbnail size:
- XS = max 360px
- S = max 540px
- M = max 900px
- L = max 1080px
- XL = max 1260px"
- Advanced printing functions [#109](https://github.com/andi34/photobooth/pull/109):
- Auto print function
- allow to delay auto print
- allow to adjust time "Started printing! Please wait..." is visible
- allow to trigger print via defined key
- options to show the print button independent (e.g. can be only visible on gallery)
- Advanced collage options [#108](https://github.com/andi34/photobooth/pull/108):
- Choose collage layout:
- 2x2
- 2x4
- 2x4 + background image
- Collage: apply frame once after taking or to every picture of the collage
- ... _And many more options to adjust and style Photobooth for your personal needs_

## :camera: Screenshots

![](https://raw.githubusercontent.com/wiki/andi34/photobooth/images/start.png)
![](https://raw.githubusercontent.com/wiki/andi34/photobooth/resources/img/start.png)

## :gear: Prerequisites

- gphoto2 installed, if used on a Raspberry for DSLR control
- digiCamControl, if used unter Windows for DSLR control
- NGINX, Lighttpd or Apache
- Apache, NGINX or Lighttpd

## :wrench: Installation & Troubleshooting

Expand Down Expand Up @@ -202,4 +156,13 @@ If you like my work and like to keep me motivated you can buy me a coconut water
- [philippselle](https://github.com/philippselle)
- [Natalie Stroud](https://github.com/stroudn1)
- [jarettrude](https://github.com/jarettrude)
- [Andreas Remdt](https://github.com/andreasremdt)
- [alzo425](https://github.com/alzo425)
- [KH404](https://github.com/KH404)
- [joiyco](https://github.com/joiyco)
- [EccoB](https://github.com/EccoB)
- [couz74](https://github.com/couz74)
- [thatonedude3470](https://github.com/thatonedude3470)
- [Christian Tarne](https://github.com/Metropo)
- [DeNeD1](https://github.com/DeNeD1)
- [DIY89](https://github.com/DIY89)

Loading

0 comments on commit 03210c3

Please sign in to comment.