Commit graph

215 commits

Author SHA1 Message Date
Shish
153aa481da re-add support for $ext in link template 2020-07-07 16:02:29 +00:00
Matthew Barbour
a3a3aba040 Added ImageDownloadingEvent that allows extensions to stop a user from viewing an image or perform other operations on the image before the image is downloaded to the user 2020-06-25 00:43:11 +01:00
Matthew Barbour
7f68ef1cfd Added option to transcode extension and thumbnailing to choose the color to use to fill in the background when converting an image with an alpha channel to a format without 2020-06-25 00:42:43 +01:00
Matthew Barbour
984c9702ec The great MIMEing 2020-06-25 00:42:34 +01:00
Shish
d14c2ce8ea test fixes 2020-06-24 17:32:06 +01:00
Matthew Barbour
e18fe295b4 Added default media engine to for thumbnails
Fixes #729
2020-06-24 16:58:33 +01:00
Matthew Barbour
9b5d963aa3 Added ImageDownloadingEvent that allows extensions to stop a user from viewing an image or perform other operations on the image before the image is downloaded to the user 2020-06-24 16:55:58 +01:00
Matthew Barbour
b937ad6255 Added thumbnail scaling options
Changed ffmpeg thumbnailer to instead output a full-size png which is forwarded to the image thumbnailer, to allow it to take advantage of all available scaling options
2020-06-23 15:05:55 +01:00
Matthew Barbour
18cd74f57d Changed a bunch of core extensions to be hidden since there's nothing to interact with 2020-06-22 18:02:47 +01:00
Matthew Barbour
4d69e7ce34 Added early 404 kill if requested image is not found 2020-06-22 18:02:21 +01:00
Matthew Barbour
63b2601e67 Mime type handling overhaul
Changed mime type map to deal with the reality that certain file types have multiple extensions and/or multiple mime types, as well as constants supporting all of the data. Created new functions using the updated mime type map to resolve mime types and extensions. Updated various items around the project that determine mime/extension to take advantage of the new functions.
2020-06-03 19:47:40 +01:00
Shish
b0cb46abca test a couple extra branches 2020-04-24 14:10:45 +01:00
Shish
78710166a1 add a extra escape, fixes #718 2020-04-20 09:53:44 +01:00
Shish
02675609b4 more referer dedupe 2020-03-27 20:24:26 +00:00
Matthew Barbour
ea96f415c5 Fixed replace creating a new image instead of replacing, fixed null source causing repalce error 2020-02-24 14:40:08 +00:00
Shish
3a57817fc2 Spread ParseLinkTemplate work across relevant extensions 2020-02-09 19:22:25 +00:00
Shish
e46b319295 set theme classes 2020-02-04 00:46:36 +00:00
Shish
c2231432f3 no make_link for forms 2020-01-30 10:31:11 +00:00
Shish
4e57e04ddf fix a lot of tests 2020-01-29 20:22:50 +00:00
Shish
cddf6e9d5f more types 2020-01-26 19:44:36 +00:00
Shish
9eb5acf2dc use strict types 2020-01-26 16:27:56 +00:00
Shish
09b9901493 refer to users by name 2019-12-15 15:40:15 +00:00
Shish
ac5546c6ef remove more old comments 2019-11-03 16:22:59 +00:00
Shish
b568933f45 remove extension metadata comments (we have metadata objects now) 2019-11-02 20:19:09 +00:00
Shish
30698fefdc remove a bunch of dead variables and things 2019-10-02 11:23:57 +01:00
Shish
a6bb15d859 formatting 2019-09-29 14:30:55 +01:00
Matthew Barbour
de98e86938 ExtensionInfo conversions what have I done 2019-08-07 15:40:01 -05:00
Matthew Barbour
cb1e9c0075 Permissions to constants 2019-08-01 08:07:05 -05:00
matthew
38cc05cf37 Fixed issue with merge's duplicate hash check 2019-07-08 08:07:18 -05:00
Matthew Barbour
b1db833d51 Added additional media properties to the images table, video, audio, length, and lossless.
Added new event to handle fetching media properties like height, width, and the newly added fields, and admin controls to manually scan files for their properties.
Added a search terms content:video and content:audio to search for images that do (or do not) have those flags.
2019-07-08 08:07:09 -05:00
Matthew Barbour
a41e99d1af Renamed graphics extension to media extension 2019-07-08 08:07:08 -05:00
Matthew Barbour
7cc725fbc1 Moved graphics engine constants to their own class 2019-07-08 08:07:07 -05:00
Matthew Barbour
3859e27839 New Graphics extension
Added constants to several extensions
2019-07-08 08:07:02 -05:00
Matthew Barbour
dfeb3bf5df Added a database upgrade that adds a tag_id,image_id index to image_tags, and lengthens the filename field to 255 characters. 64 was ridiculous.
Also added a substr to the filename for the merge code so it won't error when it's a long name
2019-07-05 16:55:25 +01:00
Matthew Barbour
de6d6a0515 Added new FILE page mode that allows sending files to the browser with these improvements:
Reads the file and outputs it in chunks rather than all at once, reducing the amount of memory needed to very little, even for very very large files.
Supports http request ranges so that only parts of the file will be returned if requested. This allows in-browser video players to seek to arbitrary points in the video without needing to download the whole file.
Makes use of flush during send to allow the browser to being receiving file data immediately, allowing streamable video formats to begin playing before the server has finished sending the data. This could also be used in the future to add a transmission rate limiter.
Has early-disconnect detection, to terminate sending file data if the client browser has disconnected or aborted (for instance, a user starts a video, then seeks to near the middle, the first request of data will be terminated rather than continuing to process the file).
2019-07-05 16:25:03 +01:00
Matthew Barbour
5eb4a66ab7 Added merged indicator to DataUploadEvent and ImageAddEvent
Changed merge process so that the ID of the merged image can make it back through the event chanin
2019-06-19 20:19:38 -05:00
Matthew Barbour
826c623538 PageMode constants 2019-06-18 21:04:31 -05:00
Matthew Barbour
444de26ce3 Added warning for webp thumbnails 2019-06-14 13:34:21 -05:00
Shish
064b24ffc1 formatting pass 2019-06-14 13:47:50 +01:00
Matthew Barbour
eb4292316d Added webp upload and thumbnailing support
Bug fixes and consolidation of various thumbnail and resize functionality
Changed resize/rotate extensions to use replace image event
Added content-disposition header to image responses to provide a human-friendly filename when saving
Added more bulk thumbnail regeneration tools
Tweaks to bulk actions to correct totals when batching items
2019-06-09 14:14:04 -05:00
Matthew Barbour
49cb6f7233 Added thumb_scaling option for generating high-dpi thumbnails 2019-06-06 14:12:13 -05:00
Shish
34b05cca7c PSR-2. I'm not a huge fan, but ugly consistency beats no consistency... 2019-05-28 17:59:38 +01:00
Shish
5ec3e89884 php7.1 all the things 2019-05-28 17:31:20 +01:00
Shish
d918f058bf core imageboard events 2019-02-22 19:57:55 +00:00
Shish
977c3db1e3 PHP7 type annotations 2017-09-21 05:21:42 +01:00
jgen
ec4111430d More linting. 2017-03-12 00:29:10 -08:00
Shish
6febdec7b5 more explicit variable types 2016-06-19 23:05:57 +01:00
Shish
76c2815b2b unit test bettering 2016-06-17 23:42:12 +01:00
Shish
1ac88e8923 more comments 2015-09-27 12:38:48 +01:00
Shish
fc2bbefcb9 test all the things 2015-09-20 22:40:04 +01:00
Shish
90cd823ece fix liveness testing, and comments tests 2015-09-20 20:05:06 +01:00
Shish
9af5995dcc PHPUnit proof of concept 2015-09-20 20:03:29 +01:00
Shish
35a4f385b3 phpstorm tidying 2015-09-12 11:43:28 +01:00
Shish
90e86b99ae page->set_code() to set HTTP status 2015-08-02 19:40:57 +01:00
Shish
21d96db771 remove unused var 2015-06-01 10:50:26 +01:00
jgen
4f51e942be Updating/Fixing/Adding more comments with the PHP Doc style. 2014-04-27 15:33:57 -04:00
jgen
50686ac61e More linting, fix PHPDoc style. 2014-04-24 22:29:29 -04:00
jgen
daee99c1bc Removing the closing PHP "?>" tag as per style guidelines. 2014-04-24 22:28:53 -04:00
Shish
f72bfbb050 fix indentation 2014-04-06 20:47:01 +01:00
Shish
c8aa3327a1 A bunch of small changes from scrutinizer-ci; some tidying, some actual bug fixes 2014-03-30 13:26:48 +01:00
Shish
7b68d8ebfd use new-style constructors everywhere 2014-03-22 09:00:59 +00:00
Daku
bdb3255116 speed: lowercase ext on image insert
avoids having to lowercase every build_thumb_html call
most extensions tend to match against their lowercase versions anyway
2014-02-23 22:27:52 +00:00
Shish
80bdc565dd truncate filenames on insert 2012-11-24 20:01:14 +00:00
Shish
bbe2b1dc46 don't need to load the file into memory if we're responding with '304 not modified'... 2012-09-22 23:10:29 +01:00
velocity37
624468851e Only show thumb_convert_path if using ImageMagick 2012-08-21 19:00:25 -07:00
velocity37
10fadb27d1 Make thumb_convert_path not Windows-specific 2012-08-21 18:46:34 -07:00
velocity37
d154b38680 Add thumb_convert_path to Board Config 2012-08-21 18:42:14 -07:00
Shish
216dada347 somehow ImageIOTheme wasn't extending Themelet, and things mostly worked... 2012-08-18 20:56:35 +01:00
Shish
5ddd358d5f don't user build_thumb_html statically 2012-08-18 19:47:57 +01:00
Shish
7dd929e5a8 remove a whole load of event->user variables that weren't used -- things should be using global user 2012-08-18 19:45:39 +01:00
Shish
ee52d582c4 image replacing simplicity 2012-07-28 11:12:05 +01:00
Shish
bfd4ddea17 check for classes being loaded, not files existing 2012-05-23 10:39:21 +01:00
Shish
cb8b4f3329 have a single var for memory limit 2012-05-22 12:26:47 +01:00
Shish
2fc4292cef expiring images is advanced, and also rarely used as people should have niceurls 2012-04-01 16:58:42 +01:00
Shish
664e6fa509 *image_ad* is blocked by opera, which makes use of image_admin a pain... 2012-04-01 16:06:11 +01:00
Shish
ab128b4b24 make non-nice images work 2012-04-01 15:55:48 +01:00
Shish
7a6ef55114 bleh, source validation. Anything is allowed and it's only linked on output if appropriate 2012-03-25 04:45:47 +01:00
Shish
f2f5ec720d debugging 2012-03-25 04:11:40 +01:00
Shish
1a34557da7 if image replacement is unwanted, don't allow users to replace images 2012-03-19 11:07:13 +00:00
Shish
a826a9c81a expiration only applies without niceurls 2012-03-19 10:25:36 +00:00
Shish
537ae6de18 remove jquery deletion
jquery deletion was deleting the wrong image if there were multiple
delete buttons on one page (eg, on the report image page); also it
stands out awkwardly being the only bit of jquery UI on the site.
Moving to jquery UI across the site might happen later, but for now
I just want to get a release out...
2012-03-15 05:49:24 +00:00
Shish
6f4f4f3235 redirect back to report list after deleting, if that's where we came from 2012-03-15 05:48:42 +00:00
Shish
1a8ea4eb08 some windowses are not NT? 2012-03-15 05:34:55 +00:00
Shish
0be4f83e4e don't allow showing of metadata at all if exif_read_data is undefined 2012-03-14 20:24:34 +00:00
Daku
f76955123f update source & rating if &update is set 2012-03-09 20:46:26 +00:00
Shish
569e93cd6b postgres requires a sequence name to be passed to get_last_insert_id 2012-03-08 02:55:04 +00:00
Shish
8b62ad281a if upload_collision_handler is set to 'don't merge tags', then don't merge tags 2012-03-05 09:32:08 +00:00
Daku
74e307b55f update tags if image already exists 2012-03-04 22:18:02 +00:00
Shish
dadcb809ba don't log for null->null 2012-02-26 15:24:02 +00:00
Shish
519e46578d more notation for which strings are HTML safe and which aren't 2012-02-13 20:51:34 +00:00
green-ponies (jgen)
a95766c410 More type hints. 2012-02-10 00:08:03 -05:00
Shish
0698b780f9 remove regular Extension, have SimpleExtension take its place, optimise the event system based on SimpleExtension methods 2012-02-08 12:07:01 +00:00
Shish
0589f9d72e fine grained permission bits 2012-02-07 15:15:18 +00:00
Shish
dc6c173efd type hints for hiphop 2012-02-02 08:07:57 +00:00
Daku
0565568e5c source should log now when uploading 2012-01-26 09:56:29 +00:00
Thasan
aa452bf8eb Added $force to vars 2012-01-14 11:15:13 +02:00
Thasan
9f8a49483f check if thumbnail already exists before regenerating it, way to force regen. 2012-01-12 03:54:27 +02:00
green-ponies (jgen)
808e477f34 Admins can configure the browser Image Expiration now.
Also renamed the config option for jQuery image delete.
2011-09-05 14:47:30 -04:00
green-ponies (jgen)
bd31bcd79a The page class now supports both HTML headers and HTTP headers.
From the comment:
FIXME: should be $page->blah
2011-09-04 14:06:44 -04:00
green-ponies (jgen)
ad850ad0d6 Fixed a small typo. 2011-09-04 10:30:20 -04:00