Aaron
54c4294d08
Add 'no thumb' vector image for use while loading
2023-03-11 17:16:53 +01:00
Aaron
e6f7476037
MainNavBar: let space invader rotate on hover
2023-03-11 17:15:59 +01:00
Aaron
7d19cf823d
Pass aspect ratio into photo thumbnails
2023-03-11 17:04:30 +01:00
Aaron
326c8f11ee
Change colours for buttons and page indices
2023-03-11 16:55:22 +01:00
Aaron
556bbb2753
Use Coda font for buttons and headers
2023-03-11 16:43:53 +01:00
Aaron
febe7bb405
MainNavBar: hide navigation when not logged in
2023-03-11 16:39:30 +01:00
Aaron
0a8da104cc
MainNavBar: randomize space invader; add Coda font
2023-03-11 16:38:03 +01:00
Aaron
02b43035f3
AccountSettings: allow users to change their personal details
2023-03-11 15:32:07 +01:00
Aaron
87df775c51
MainNavBar: re-introduce the space invader
2023-03-11 15:27:15 +01:00
Aaron
c6902150f0
PhotoPage: move edit button from old admin bar to widget
2023-03-11 15:17:36 +01:00
Aaron
277611e0ac
Introduce new menu classes and navigation templates
2023-03-11 15:14:05 +01:00
Aaron
b1378a3b59
DummyBox: fix SubTemplate inheritance
2023-03-11 14:38:49 +01:00
Aaron
5bb8c020bd
EditAssetForm: replace widget class with generic content box
2023-03-11 14:31:44 +01:00
Aaron
a6fd8d2764
Admin controllers: apply new column classes
2023-03-11 14:24:17 +01:00
Aaron
b9bd2bf499
AlbumHeaderBox: apply some border radius to tag headers
2023-03-11 14:17:38 +01:00
Aaron
812c7a4f20
PhotoPage: change previous/next icons
2023-03-11 14:13:29 +01:00
Aaron
021df2df93
Pagination: use larger page indices on photo and album index pages
2023-03-11 14:12:56 +01:00
Aaron
a9a2c64d81
PhotoPage: replace custom sub-photo boxes with generic equivalents
2023-03-11 13:57:57 +01:00
Aaron
cf31f0af07
Replace more custom button classes with Bootstrap counterparts
2023-03-11 13:51:12 +01:00
Aaron
2d1a299fe0
Replace login and password reset templates
2023-03-11 13:44:36 +01:00
Aaron
307d34430a
SubTemplate: use SubTemplates for boxed content only
2023-03-11 13:37:59 +01:00
Aaron
0366df9b5f
Alerts: replace 'error' class with 'danger'
2023-03-11 13:30:02 +01:00
Aaron
f9eefe7b41
Replace generic alert, form and table templates with new Bootstrap equivalents
2023-03-11 13:20:59 +01:00
Aaron
daf6b6b264
MainTemplate: clean up HTML head; remove unused inline CSS function
2023-03-11 13:12:12 +01:00
Aaron
07bc784859
Add bootstrap as a dependency
2023-03-11 12:58:30 +01:00
Aaron
09f498695d
Router: split off from Dispatcher
2023-01-01 19:48:19 +01:00
Aaron
6b028aac41
AlbumIndex: enable rendering of more double-density thumbnails
2023-01-01 19:37:22 +01:00
Aaron
2ef1289628
PhotosIndex: enable rendering of more double-density thumbnails
2023-01-01 19:37:07 +01:00
Aaron
4d05cebc40
PhotoMosaic: address deprecation notice in usort call
2022-12-25 14:06:54 +01:00
Aaron
ce909ccfe5
default.css: fix overflow declarations
2022-12-25 13:56:42 +01:00
Aaron
1314cfdd30
composer.json: include dependent PHP extensions
2022-12-25 13:56:42 +01:00
Aaron
7897172256
Address dynamic class property deprecation warnings
2022-12-25 13:56:42 +01:00
Aaron
49390c372d
Use triple-equals in a few more places
2022-12-25 13:50:03 +01:00
Aaron
2174e1d08b
PhotoPage: show software used to edit photo
2022-12-25 13:44:19 +01:00
Aaron
d66f071aab
Merge pull request 'Add double-density support to photo thumbnails' ( #28 ) from improve_thumbs into master
...
Reviewed-on: #28
2022-11-27 14:38:21 +01:00
Aaron
7d82a4a924
Merge pull request 'Complete date-ordered orderings' ( #29 ) from electricdusk/pics:assets-complete-ordering into master
...
Reviewed-on: #29
2022-11-22 21:09:10 +01:00
Aaron
3de87809bb
GenericTable: prevent passing NULL to strtotime
2022-07-14 16:45:32 +02:00
Aaron
c763967463
Prevent current page from being 0 if no items are present
2022-07-14 16:45:17 +02:00
Aaron
6369187eb7
Add double-density thumbnails to albums and photo pages
2022-07-08 23:53:28 +02:00
Aaron
b3808144ca
Address deprecation notices for certain function signatures
2022-07-08 23:52:03 +02:00
Aaron
d8858c78bb
Thumbnails: crop from original size if 2x is unavailable
2022-07-07 14:54:00 +02:00
Aaron
c0d69f7205
Do not delete thumbnail queue when replacing an asset
...
Thumbnails are normally created on demand, e.g. when processing the format codes in a post's body text.
Normally, the temporary URL is only used once to generate thumbnails ad-hoc. However, when cache is
enabled, a reference to the asset may be used in a cached version of a formatted body text, skipping
the normal thumbnail generation routine.
When an asset is replaced, currently, all thumbnails are removed and references to them are removed
from the database. In case the asset is still referenced in a cached formatted body text, this could lead
to an error when requesting the thumbnail, as the thumbnail request is no longer present in the system.
As we do not know what posts use particular assets at this point in the code, it is best to work around this
issue by unsetting the thumbnail filenames rather than deleting the entries outright. This effectively
generates them again on the next request.
In the future, we should aim to keep track of what posts make use of assets, so cache may be invalidated
in a more targeted way.
2022-07-07 14:22:22 +02:00
Aaron
b5edf09a69
Don't try to generate double-density thumbs for small images
2022-07-07 14:05:33 +02:00
Aaron
54fb7ab410
Write new thumbnail filenames to parent Image object as well
2022-07-07 13:55:55 +02:00
Aaron
086102d007
Thumbnail class: minor refactor of generate method
2022-07-07 13:51:03 +02:00
Aaron
56b60b74bc
Thumbnail class: refactor getUrl method
2022-07-07 13:33:40 +02:00
Aaron
fc59708914
Split Image::getImageUrls from Image::getInlineImage
2022-07-05 12:01:02 +02:00
Aaron
1c02cbea93
Rewrite Image::getInlineImage to support double density displays
2022-07-05 11:41:40 +02:00
Aaron
52420b8715
Add Image::getInlineImage method
2022-06-30 15:22:08 +02:00
Aaron
0ec0de4414
Replace deprecated strftime calls
2022-05-07 13:25:19 +02:00
Aaron
3bf69fd21f
Prevent XSS in error log viewer.
2021-03-10 17:40:06 +01:00
Aaron
237f4005bd
Apply htmlspecialchars to basic values.
2021-02-17 22:44:26 +01:00
Aaron
4bf4641428
Minor refactor of generateColumnHeaders function
2021-02-17 20:45:58 +01:00
Aaron
ff808ba18d
Refactor processing of raw rows and their cell data.
2021-02-17 20:45:22 +01:00
Aaron
6c662481bc
Remove a few obscure, unused features.
...
* Removed support for row classification. Use of CSS is preferred.
* Removed support for disabling/enabling columns via a property. Unset as needed.
* Removed support for passing and inheriting a cell width by column. Header width suffices.
2021-02-17 20:45:22 +01:00
Aaron
af73f00701
Restrict access to GenericTable, Pagination class members.
2021-02-17 20:45:21 +01:00
Aaron
681af07985
Pass builder function for custom pagination link generation.
...
This makes pagination for GenericTables work properly again.
2021-02-17 20:43:30 +01:00
Aaron
cba42a9129
Refactor GenericTable to use PageIndex rather than inherit from it
...
This has on my todo list for years... I'm glad to finally get around to it.
2021-02-17 20:43:30 +01:00
Aaron
96937b6952
Use null-coalescing operator where appropriate
2021-02-17 20:43:29 +01:00
Aaron
5c55e45c3c
Use splat operator instead of call_user_func_array
2021-02-17 20:43:29 +01:00
Aaron
70e6001c85
Replace event.keyCode with event.key equivalents.
2021-02-16 15:26:57 +01:00
Aaron
4402521051
Highlight matching string in autosuggest entries.
2021-02-15 12:14:24 +01:00
Aaron
889302cd36
Modernise AutoSuggest and TagAutoSuggest classes.
2021-02-15 12:14:23 +01:00
Aaron
cae5c6e5cf
Merge pull request 'Add readme and license files' ( #24 ) from readme into master
...
Reviewed-on: #24
2020-12-30 20:09:04 +01:00
Aaron
162d14b35f
Merge pull request 'Refactor work for Thumbnail class' ( #23 ) from thumbnail-refactor into master
...
Reviewed-on: #23
2020-12-30 20:08:02 +01:00
Aaron
555c61937b
Minor Thumbnail refactors from upstream Kabuki.
2020-12-30 20:09:10 +01:00
Aaron
d069ddca18
Merge pull request 'Make crop editor usable' ( #22 ) from crop-editor into master
...
Reviewed-on: #22
2020-12-30 20:06:15 +01:00
Aaron
71b71f8a03
Merge pull request 'Set JPEG compression to 80 for thumbnails' ( #21 ) from thumbnail-quality into master
...
Reviewed-on: #21
2020-12-30 20:05:46 +01:00
Aaron
2885e24456
Merge pull request 'Prevent blank pages on session errors' ( #20 ) from session-errors into master
...
Reviewed-on: #20
2020-12-30 20:05:27 +01:00
Aaron
c72e24c0c7
EditAsset: refactor common expression into its own variable.
2020-12-30 15:36:30 +01:00
Aaron
b8191bf554
EditAsset: handle case where suffix is null.
2020-12-30 15:36:27 +01:00
Aaron
3594b3d021
Add BSD 3-clause license.
2020-12-30 13:55:30 +01:00
Aaron
936d3d20db
Add a readme file to the repo.
2020-12-30 13:55:16 +01:00
Aaron
5c4a075231
Constrain aspect ratio conservation to image boundaries as well.
2020-12-30 13:26:31 +01:00
Aaron
6ddf518294
Grow image and its container with document height.
2020-12-30 13:26:31 +01:00
Aaron
66a411973a
Constrain crop proportions by default, with checkbox to disable.
2020-12-30 13:26:31 +01:00
Aaron
a83b938f8a
Reposition crop boundary when window resizes.
2020-12-30 13:26:31 +01:00
Aaron
5344378333
Crop editor: interpret 'cs' as centre-sliced crop.
...
At some point, I started using 'cs' instead of 'cc'. Let's just support both.
2020-12-30 13:26:31 +01:00
Aaron
8147e2b97d
Crop editor: do not allow selections starting outside image bounds.
2020-12-30 13:26:31 +01:00
Aaron
d562c70667
Improve styling of form elements.
2020-12-30 13:06:44 +01:00
Aaron
5599ff8d9b
Crop editor: use numeric input boxes with appropriate constraints.
2020-12-30 13:05:23 +01:00
Aaron
e7490e40dd
Clean up and force a rebuild of thumbnails when customising a crop region.
2020-12-30 13:05:23 +01:00
Aaron
6fcc2eb59f
EditAsset: generate any pending thumbnails here as well.
2020-12-30 13:05:23 +01:00
Aaron
b793e05980
Re-assign thumbnail suffix for CROP_MODE_BOUNDARY.
...
This crop mode was intended to get the '_ce' suffix,
but was inadvertently getting '_c' instead.
2020-12-30 13:05:22 +01:00
Aaron
340ed84272
Show first available thumbnail instead of a potentially hidden one.
2020-12-30 13:05:22 +01:00
Aaron
93884e2e93
Fix initial slicing dimensions in CropEditor.setDefaultCrop.
...
Subtle bug. This has been in for years... :)
2020-12-30 13:05:22 +01:00
Aaron
2a740d8cef
Constrain boundary movement to image canvas.
2020-12-30 13:05:22 +01:00
Aaron
5e0d4df2f7
Allow moving/dragging the crop boundary.
...
Currently unconstrained.
2020-12-30 13:05:22 +01:00
Aaron
e84c4f2b43
Constrain crop selection to image dimensions.
2020-12-30 13:05:22 +01:00
Aaron
893d31af52
Proper dragging of the crop bounding rectangle/area.
2020-12-30 13:05:22 +01:00
Aaron
5895f4faa6
Rewrite CropEditor.positionBoundary
2020-12-30 13:05:22 +01:00
Aaron
8e7a09f3f3
Initial version of crop boundary dragging.
2020-12-30 13:05:22 +01:00
Aaron
837c92db44
CropEditor: split setDefaultCrop from setInputValues and rename.
2020-12-30 13:05:22 +01:00
Aaron
c392105814
Refactor crop editor DOM functions.
2020-12-30 13:05:22 +01:00
Aaron
9d95df81fe
WIP: finally implement drag events.
2020-12-30 13:05:22 +01:00
Aaron
d4cc72304e
Use flexbox for crop editor box sizing.
2020-12-30 13:05:21 +01:00
Aaron
2c68b6a798
Improve crop editor styling.
2020-12-30 13:05:21 +01:00
Aaron
fd84e1c9f8
Refactor crop editor into a proper class.
2020-12-30 13:05:21 +01:00
Aaron
8d02662eb3
Set JPEG compression to 80 for thumbnails.
...
This saves both disk space and bandwidth by compromising a little on quality.
Only thumbnails are affected; full-size images are still saved in full detail.
2020-03-22 22:56:53 +01:00
Aaron
31f4edc996
Register ErrorHandler before Session start.
2020-03-11 22:38:17 +01:00