Commit Graph

236 Commits

Author SHA1 Message Date
Andy Heathershaw
dc2883db20 #39: Raw EXIF data is now removed when an existing photo's image is replaced 2017-09-16 12:52:40 +01:00
Andy Heathershaw
88c687a3d1 #38, #39: EXIF data is now stored base64-encoded in the database to prevent issues with raw characters coming off some cameras. EXIF data is no longer replaced on analysis - allowing rotated images to maintain the data. 2017-09-16 12:49:34 +01:00
Andy Heathershaw
48f43b3c04 #38: Made a few tweaks to the analysis function that doesn't delete the photo if it was previously analysed (i.e. it has a metadata version). Also if the original image contained Exif data (e.g. camera make), we no longer remove it if the re-analysed image doesn't (see #39) 2017-09-16 09:02:25 +01:00
Andy Heathershaw
0b64728d0a First batch of changes for #38 to allow photo metadata updates 2017-09-16 08:26:05 +01:00
Andy Heathershaw
69a7a4e0ab #31: Added a new item on the image edit menu - "Replace image" - which allows an image to be replaced without losing the meta-data 2017-09-12 21:41:47 +01:00
Andy Heathershaw
7bfc829931 #32: Added next/previous buttons to the individual photo page 2017-09-12 20:54:29 +01:00
Andy Heathershaw
365ea689ef #3: Fixed some issues with the statistics combined graph and file size pie graph 2017-09-12 20:36:39 +01:00
Andy Heathershaw
9b13120c41 #6: Updated the mailing config to use Markdown. Converted the current e-mail templates to Markdown. 2017-09-12 20:23:48 +01:00
Andy Heathershaw
b7285888cf #3: Merged the two photo charts into one and added a "number at-a-glance" widget on the statistics page 2017-09-10 17:02:15 +01:00
Andy Heathershaw
c72c4cc45c Merge remote-tracking branch 'origin/feature/3-analytics-dashboard' into feature/3-analytics-dashboard 2017-09-10 15:49:45 +01:00
Andy Heathershaw
c2e9fe617b #2: Added a loading animation to the quick-post/upload function whilst uploading 2017-09-10 15:46:16 +01:00
Andy Heathershaw
fee2841910 #2: Added an intermediate step to the quick-post/upload feature that validates the request 2017-09-10 15:25:59 +01:00
Andy Heathershaw
544d3c5153 #2: Basic implementation of the quick-upload/quick-post feature 2017-09-10 15:10:45 +01:00
Andy Heathershaw
d9d43e9c29 #29: Number of improvements to Labels to show the count and thumbnail correctly based on the allowed albums 2017-09-10 14:01:20 +01:00
Andy Heathershaw
3254ca1500 #29: Added a new /labels endpoint to display labels and a preview of their photos 2017-09-10 13:21:45 +01:00
Andy Heathershaw
0d0584086b #29: Labels are now included in the sitemap.xml 2017-09-10 12:52:41 +01:00
Andy Heathershaw
693f0c6760 #34: sitemap.xml generator now checks for albums and photos that are accessible to the current user (so anonymous albums aren't included in search engine listings.) 2017-09-10 12:48:48 +01:00
Andy Heathershaw
1f2552c743 #29: Corrected permission check when displaying photos linked to a label. Multiple instances of a new label are no longer duplicated (separated out the creation logic into the LabelController.) 2017-09-10 12:40:24 +01:00
Andy Heathershaw
f46d9e1101 #29: Album permissions are now checked when retrieving photos linked with a label. Labels are displayed in the gallery with their own views. 2017-09-10 11:24:44 +01:00
Andy Heathershaw
818d4c39d2 #29: Added Selectize to allow labels to be assigned to photos, which is now working. 2017-09-10 10:24:15 +01:00
Andy Heathershaw
6280766d70 #29: Labels can now be added and managed through the admin panel 2017-09-10 09:07:56 +01:00
Andy Heathershaw
e9a6aff7e6 Used a broader colour palette for charts 2017-09-06 22:21:48 +01:00
Andy Heathershaw
7f27921cf7 #3: Implemented the majority of the public facing charts I'd envisaged 2017-09-06 22:00:12 +01:00
Andy Heathershaw
f5a269d634 #3: Added a quick and simple pie chart of cameras used in the gallery. Added an image to the "Albums" menu item. 2017-09-06 16:08:38 +01:00
Andy Heathershaw
0c1ff083f6 #24: Corrected date format of last modified date in sitemap.xml 2017-09-05 22:27:55 +01:00
Andy Heathershaw
0371fb0d95 #24: Finished implementing the sitemap.xml creation logic 2017-09-05 22:16:50 +01:00
Andy Heathershaw
61a76ac8a7 #24: Added a basic sitemap.xml with the root gallery URL 2017-09-04 22:01:02 +01:00
Andy Heathershaw
d0d96df17d #12: Corrected the way redirects work on the gallery side due to an issue when trying out on a real system 2017-09-04 21:41:08 +01:00
Andy Heathershaw
86954effbf #14: Bulk update now directs back to the page you're currently on 2017-09-04 20:56:30 +01:00
Andy Heathershaw
b138af2199 #12: Added a checkbox when editing an album to create a redirect if the parent album changes. Added validation to the create redirect form 2017-09-04 20:37:42 +01:00
Andy Heathershaw
f9bc890de0 #12: Added the ability to add and remove redirects from the album's admin page (Redirects tab) 2017-09-04 17:23:31 +01:00
Andy Heathershaw
b7a8222ecf #12: Added a new table to hold the redirects, and implemented the controller to check this table if an album is not found 2017-09-03 08:54:49 +01:00
Andy Heathershaw
2f1cbfc16c #11: URL aliases used by albums are now updated when the parent is changed. Added a warning to the Edit page that this may break links. 2017-09-03 08:40:39 +01:00
Andy Heathershaw
89d9c31ba8 #16: Added a tab to the album admin screen to display a list of cameras used in that album 2017-09-03 08:31:31 +01:00
Andy Heathershaw
22d446d246 #25: Updated the data migration framework to run all intermediate versions 2017-04-19 09:12:36 +01:00
Andy Heathershaw
02ab6d77df Fixed a couple of issues following update of photos.andyheathershaw.uk 2017-04-18 20:17:09 +01:00
Andy Heathershaw
a645a126b3 Call db:seed after DB update 2017-04-18 20:07:59 +01:00
Andy Heathershaw
b5769ec192 Number of small changes, including the rename of the Bootstrap 3 theme to Default 2017-04-18 20:07:03 +01:00
Andy Heathershaw
336e94e8e3 #20: Numerous visual improvements, plus converting the slideshow to VueJS. Also re-enabled the user autocomplete 2017-04-18 17:25:27 +01:00
Andy Heathershaw
a26f9c1c1f #4: Added a framework for manipulating data during system updates. Full URL path to an album is now saved in the database. Fall-back routes are now mapped by the first segment - a = album, p = photo, i = image 2017-04-17 21:31:45 +01:00
Andy Heathershaw
7ea1dc5c83 #4: Nested albums are now supported in the admin panel 2017-04-17 17:11:59 +01:00
Andy Heathershaw
e93e4d2413 #15: Expanded the hit tracking to include basic information like IP address, user agent, album/photo/user and the album/photo view being accessed. Added a config option to disable the visitor tracking, and a new tab called Analytics in the settings album. Also added links to Cookie Consent. 2017-04-17 15:45:25 +01:00
Andy Heathershaw
def4a28b10 #15: Number of hits to albums/photos are now recorded in the database 2017-04-16 10:04:47 +01:00
Andy Heathershaw
302340b679 #3: Enforce the ability to upload photos when moving albums in the controller 2017-04-16 09:51:53 +01:00
Andy Heathershaw
2d8ba9da16 #3: Permissions can now be set on what users can do with photos in an album. This required re-thinking the available permissions slightly. Photo owners can do anything. 2017-04-16 09:00:57 +01:00
Andy Heathershaw
1312808d75 #3: Fixed issues where the album list didn't always show in the menu - and when it did, it was only applicable to anonymous users 2017-04-15 10:59:18 +01:00
Andy Heathershaw
8473eb4a05 #3: Implemented admin security for groups, users and storage locations 2017-04-15 09:58:33 +01:00
Andy Heathershaw
2ef01cc23c #3: It's now possible to restrict access to the admin panel, managing albums and settings functions by user group 2017-04-15 09:41:15 +01:00
Andy Heathershaw
045935c554 #3: Implemented security when viewing an album and its photos 2017-04-15 08:36:17 +01:00
Andy Heathershaw
ac2a24187d #9, #12: Change password is now working. Updated the default album view to Bootstrap v4's cards. 2017-04-11 18:31:56 +01:00
Andy Heathershaw
e1b80ae096 #12: Added a page for the current user to change their password - still needs hooking up to the controller 2017-04-10 21:04:10 +01:00
Andy Heathershaw
2c7dba6728 #9, #11: Forgot/reset password screens updated to Bootstrap v4. Added confirmation messages to reset password flow. Corrected the text of the "test e-mail" function and localised the strings used. 2017-04-10 20:48:47 +01:00
Andy Heathershaw
ce1c82b275 #9, #8: Photos can now be amended again through the "show album" page. Added Tether for Bootstrap v4 tooltip support. 2017-04-10 17:29:45 +01:00
Andy Heathershaw
3c2d50f373 #9: Started working on converting the analysis and album screens to Bootstrap v4 2017-04-09 09:07:18 +01:00
Andy Heathershaw
c1740be802 #9: The progress bar when uploading is now working correctly. The delete album screen has been updated to Bootstrap v4. Alerts are now dismissable. 2017-04-08 09:41:41 +01:00
Andy Heathershaw
00328c7ba2 #9: Users management section now works with Bootstrap v4 2017-03-26 21:29:10 +01:00
Andy Heathershaw
d15ff4ec6f #9: Groups now uses the new Bootstrap v4 look 2017-03-25 21:21:22 +00:00
Andy Heathershaw
83ba49568e #9: Storage locations is now fully up and working with Bootstrap 4 2017-03-25 08:26:35 +00:00
Andy Heathershaw
a588ac2b31 #9: Updated the installer to Bootstrap 4. The "create an account" link no longer appears on the new unified login/register view when the "allow self registration" option is disabled. 2017-03-24 14:43:53 +00:00
Andy Heathershaw
dda9f9cbdb #9: Improved the look of the login and register pages, and updated to Bootstrap v4 2017-03-23 04:29:29 +00:00
Andy Heathershaw
4b4b5bfc97 #9: I couldn't really get on with Semantic UI, so upgraded to Bootstrap v4 alpha instead 2017-03-22 16:55:51 +00:00
Andy Heathershaw
5e9229da16 #3: Added more fine-grained permissions to the album permissions tab ready to implement 2017-03-21 22:18:29 +00:00
Andy Heathershaw
4b405c93c2 #3: Implemented more fine-grained permissions into the admin portal 2017-03-21 22:10:36 +00:00
Andy Heathershaw
fd19c9db55 #3: User permissions can now be specified for an album. Added a new config to the User class that allows users to login and manage albums without needing full admin access 2017-03-21 21:48:55 +00:00
Andy Heathershaw
6be31c9b7e #1: Tab headers in the admin panel are now responsive - hiding the text on xs devices. #3: Added ability to set permissions for anonymous users 2017-02-17 11:38:10 +00:00
Andy Heathershaw
78e5d0e3c0 #3 Album permissions can now be allocated to groups 2017-02-16 17:32:01 +00:00
Andy Heathershaw
29e62715c0 #1, #3: Added icons to all the "primary" action buttons. Groups now displays the number of members and links between the users and groups screens directly. Added the number of groups to the admin stats widget. 2017-02-15 09:14:52 +00:00
Andy Heathershaw
4e2e66f2f2 #3: Users can now be assigned to groups 2017-02-14 11:03:58 +00:00
Andy Heathershaw
f70a80ca19 #3: It is now possible to create, edit and delete user groups. 2017-02-13 12:08:16 +00:00
Andy Heathershaw
3fad3f08cc #1: A few more fixes to the user routes 2017-02-13 11:57:53 +00:00
Andy Heathershaw
2dce62014a #1, #2: Added intro titles/messages to the main settings pages. Updated the look of the "Actions" widget to match the "Manage" widget. Changed the URL of the users pages to plural. 2017-02-13 10:36:53 +00:00
Andy Heathershaw
9ed9626e9d [touch: 33] Added support for uploading files to Rackspace. Split out the OpenStack options into a separate template to match the Amazon one. Added validation to the Amazon options. 2016-11-05 09:41:07 +00:00
Andy Heathershaw
35758d338a BLUE-17: added support for S3 cloud storage (including DreamObjects, which uses an S3-compatible API) 2016-11-03 13:33:35 +00:00
Andy Heathershaw
2f65c6085d BLUE-18: implemented a "select all" button on the album admin page, which can also select all items in an album 2016-10-30 19:10:20 +00:00
Andy Heathershaw
5b915f911e BLUE-13: improved the design and handling of the analysis screen. Also fixed bulk uploads to work since the storage changes in 1.1 2016-10-30 18:36:34 +00:00
Andy Heathershaw
e3d3d4d8be BLUE-12: Fixed a bug where the album title/description weren't updating when changing an existing album 2016-10-30 15:51:48 +00:00
Andy Heathershaw
21ef4de5c9 BLUE-11: Added another config field to allow an admin to set Google Analytics or other RUM tracking code 2016-10-28 16:07:24 +01:00
Andy Heathershaw
acf8215105 BLUE-10: Added a clause that runs the DB migration whenever the version number differs 2016-10-28 15:41:16 +01:00
Andy Heathershaw
564f0ee9b8 BLUE-5: Look for a DateTimeOriginal tag first before the DateTime flag to identify the actual taken date 2016-10-28 15:28:25 +01:00
Andy Heathershaw
1157446544 BLUE-4: All form validation is now displayed inline with the form. 2016-10-28 14:05:53 +01:00
Andy Heathershaw
640828e244 BLUE-8: The OpenStack driver now works completely with all operations - flip, rotate, refresh thumbnails. It's also possible to move photos between albums across different storage providers. 2016-10-28 12:59:36 +01:00
Andy Heathershaw
aadc39684f BLUE-8: Modified the upload/analysis functionality to work strictly with local files, so only the final results are uploaded to OpenStack, saving on bandwidth 2016-10-28 05:30:57 +01:00
Andy Heathershaw
9141398da8 BLUE-8: new storage locations can be created setting the required OpenStack details 2016-10-28 04:54:38 +01:00
Andy Heathershaw
e7fbdaaa66 BLUE-1: A default local storage location is created on install that cannot be deleted. Storage locations can be made inactive and no new albums can be created against them.
BLUE-3: Validation is now performed on the file path selected.

Tweaks to the storage locations form to display validation errors against the correct fields.
2016-10-27 11:36:37 +01:00
Andy Heathershaw
f9bafeb91e refs #5: Version number is now saved to the configuration table. Database sessions are enabled once the database is up and running 2016-10-06 16:58:02 +01:00
Andy Heathershaw
d0803b37d9 Added some stock photos (royalty free from pexels.com) for empty albums and to replace the fuel gauge on the main screen. 2016-10-06 16:21:27 +01:00
Andy Heathershaw
e81dfcd1fd resolves #5: modified the installer to write a flag to the .env file when installed so naughty people can't create admin accounts etc by directly accessing the installer. First version tested fully encoded with SG :) 2016-10-06 15:07:30 +01:00
Andy Heathershaw
3cb9c98035 refs #5: reworked the installation screens to create an identical, unprotected version. Integrated SourceGuardian's license error handling to be more helpful to the end user 2016-10-06 11:30:39 +01:00
Andy Heathershaw
51b03acbcd Added copyright/powered by notices to the footers of all pages. Added a config option to turn it off on the public-facing gallery pages 2016-10-05 16:31:37 +01:00
Andy Heathershaw
36fcb6d765 refs #3: it's now possible to set a default view for an album when a user hasn't requested one. Finished off the "edit album" page in admin. Switched session management to database sessions (much more reliable.) 2016-10-05 14:49:44 +01:00
Andy Heathershaw
58b055e9cd refs #3: implemented multiple independent views for an album and created a slideshow view 2016-10-05 11:49:39 +01:00
Andy Heathershaw
0e569562a4 resolves #2: photos can now be moved between albums. Started improving the bulk photo update to use a KnockoutJS view model to remove some of the logic from the view itself. 2016-10-05 05:02:47 +01:00
Andy Heathershaw
45277efbb8 resolves #6: finished implementing the bulk update functionality for photos in the album view 2016-10-03 17:00:37 +01:00
Andy Heathershaw
fe0b4c2108 refs #6: added the ability to flip photos horizontally, vertically and both 2016-10-03 15:57:58 +01:00
Andy Heathershaw
7783af00b0 #1: User accounts can now be deleted. The current user account cannot be deleted, or have the admin privileges removed. Accounts can now be activated manually. New user accounts passwords are encrypted correctly before being saved. 2016-10-03 14:11:24 +01:00
Andy Heathershaw
1b86fa1e0e User accounts can now be created using the new user management screen. Added cURL as a required PHP extension 2016-10-01 15:24:22 +01:00
Andy Heathershaw
8b4af87b15 Switched the installer to be a middleware 2016-10-01 14:45:48 +01:00
Andy Heathershaw
522887aaa2 Storage locations can now be deleted. If no storage location exists when creating an album, user is redirected to the create storage page. 2016-09-28 20:32:19 +01:00
Andy Heathershaw
6635d20ead Storage locations can now be edited. Added the rotate photo left/right to the max post size exclusion list 2016-09-28 20:13:18 +01:00
Andy Heathershaw
48b43c3dd2 Added the ability to create storage locations and set those as the album source when creating a new album 2016-09-24 09:34:08 +01:00
Andy Heathershaw
fde988e359 Implemented a Javascript viewmodel for analysing an album, added checks for if uploads cannot be completed. Implemented handling if POST request is over the max size configured in php.ini 2016-09-24 08:17:51 +01:00
Andy Heathershaw
6be14d385a Rewrote the upload functionality using KnockoutJS. This now allows failed files to be shown to the user to re-upload. 2016-09-22 07:34:18 +01:00
Andy Heathershaw
42fb700c41 Started working on an install experience for the application 2016-09-21 12:10:37 +01:00
Andy Heathershaw
63e341199b Implemented a better multi-file upload for browsers that support it. Started adding support for bulk modifying photos (e.g. rotating) 2016-09-11 09:04:07 +01:00
Andy Heathershaw
08f13b28cb Added hotlink protection and restricting access to the original image to the photo's owner 2016-09-11 07:19:11 +01:00
Andy Heathershaw
068ed2018a Fixed typo using the correct config value 2016-09-09 17:11:09 +01:00
Andy Heathershaw
7a59ac03fd Individual photo page now takes notice of private albums and doesn't allow the access to be circumvented 2016-09-09 17:08:35 +01:00
Andy Heathershaw
3ed309ec01 Added a new option for albums - private albums. These are only visible (and accessible) to owners. 2016-09-09 16:59:13 +01:00
Andy Heathershaw
3af7708933 Improved the admin section - added breadcrumb navigation and a nice looking dashboard 2016-09-09 15:06:34 +01:00
Andy Heathershaw
504134caa7 Photos and album contents are now physically deleted from disk 2016-09-09 11:09:03 +01:00
Andy Heathershaw
71f6ed8979 Implemented the admin tools - regenerate thumbnails and delete photo. Also added the nice loading indicator 2016-09-09 09:45:11 +01:00
Andy Heathershaw
56cfade23c Massive refactoring of the image processing, so it's now driven by the front-end and we can completely remove the command-line tasks - which will allow the app to work completely encoded using SourceGuardian and domain-locking. 2016-09-08 23:22:29 +01:00
Andy Heathershaw
821bfceb09 Recaptcha support
Added configuration options to allow reCAPTCHA to be integrated into the registration process. reCAPTCHA response is validated on sign-up if enabled.
2016-09-08 11:02:49 +01:00
Andy Heathershaw
1a08ef1828 Added a command to regenerate thumbnails for a single photo or entire album. Photos can now be edited in bulk on the album page. 2016-09-07 21:44:28 +01:00
Andy Heathershaw
626cd5b2ec Added a separate storage_file_name column to the Photo class 2016-09-06 19:47:25 +01:00
Andy Heathershaw
00b238b3c6 Added info messages when registering and activating accounts 2016-09-06 14:45:51 +01:00
Andy Heathershaw
eb49f3230d Implemented the activation controller 2016-09-06 14:19:16 +01:00
Andy Heathershaw
57bc8d86cc New user registrations now get an activation e-mail 2016-09-06 13:48:52 +01:00
Andy Heathershaw
2a1311b2ba Finished the test e-mail settings functionality and introduced TLS encryption. Tested with Office 365. 2016-09-06 13:26:02 +01:00
Andy Heathershaw
c7a56d1753 Added mail settings for SMTP. Configuration values that are the same as the defaults are no longer saved to the database (and are purged if changed to the default.) Started adding a "test mail config" settings function 2016-09-06 12:23:14 +01:00
Andy Heathershaw
6875b0dd22 Added security configuration items for registration options 2016-09-05 21:43:58 +01:00
Andy Heathershaw
1101432693 Added number of photos to admin index 2016-09-05 16:46:11 +01:00
Andy Heathershaw
a386d1b893 Added a theme selector to the new config page 2016-09-05 15:36:46 +01:00
Andy Heathershaw
00ab249476 Added a settings page allowing the date format and application name to be configured 2016-09-05 15:28:56 +01:00
Andy Heathershaw
ef95fd31ba Implemented a page to view a larger preview of a photo 2016-09-05 14:27:20 +01:00
Andy Heathershaw
bb6e77191e Added error handling of non-image files 2016-09-05 14:06:41 +01:00
Andy Heathershaw
56701c78d6 Zip files can now be extracted and uploaded 2016-09-05 12:56:13 +01:00
Andy Heathershaw
80dd1e4a40 Implemented a progress bar for uploading photos, and allowed multiple uploads using the single upload file control 2016-09-05 12:01:30 +01:00
Andy Heathershaw
18bceb367d Albums now display their photos in a grid 2016-09-04 21:59:32 +01:00
Andy Heathershaw
b08a0e4710 Albums are now displayed on the index page. Logged in users now get a gravatar displayed. Thumbnails are now also served and displayed on the index page. 2016-09-03 22:13:05 +01:00
Andy Heathershaw
6e04389e07 Created my own file-system abstraction layer for album storage 2016-09-02 22:00:42 +01:00
Andy Heathershaw
9360d8bbbe Started working on support for uploading photos 2016-09-02 21:27:50 +01:00
Andy Heathershaw
8baa0b06e7 Implemented theming. A default "base" theme is provided that all themes can extend and override parts of if necessary without having to define every single screen.
Renamed Photo Perfect to Blue Twilight.
2016-09-02 10:42:05 +01:00
Andy Heathershaw
932f7017dc Albums can now be edited. De-duplicated code in the AlbumController 2016-09-01 17:31:16 +01:00
Andy Heathershaw
b4f35649c2 Albums can now be deleted and the "Albums" link goes to the albums index page 2016-09-01 17:17:55 +01:00
Andy Heathershaw
b668c6bebe Added Laravel 5.3.6 and the basic registration, login and the start of the admin section 2016-09-01 16:23:39 +01:00