Commit graph

2176 commits

Author SHA1 Message Date
Shish
a0b1c82d0d function to clear event listeners 2019-07-19 10:25:07 +01:00
Shish
eb3cc73bce make pages >500 visible to logged-in users 2019-07-19 10:24:17 +01:00
Shish
c5aba18470 s/is_admin/can(perform_bulk_actions)/ 2019-07-08 20:35:10 +01:00
matthew
38cc05cf37 Fixed issue with merge's duplicate hash check 2019-07-08 08:07:18 -05:00
matthew
7991e981ca Revert "Update main.php"
This reverts commit 0eeede7977f69c1e3a60d778de771f08eed4fc38.
2019-07-08 08:07:17 -05:00
Matthew Barbour
f2496b99f6 fix for resize arg isssue 2019-07-08 08:07:17 -05:00
Matthew Barbour
9ce5a05840 Update main.php 2019-07-08 08:07:16 -05:00
Matthew Barbour
58948a90fb Fixed a constant reference 2019-07-08 08:07:15 -05:00
Matthew Barbour
d2d6c433e6 Make the media admin block look a little nicer 2019-07-08 08:07:14 -05:00
Matthew Barbour
8638a16694 Added table-building support to SetupBlock to allow easily building cleaner setup controls 2019-07-08 08:07:13 -05:00
Matthew Barbour
4065540f0e Added SCORE sql constants 2019-07-08 08:07:12 -05:00
Matthew Barbour
a0c0b6e3d1 Various fixes 2019-07-08 08:07:11 -05:00
Matthew Barbour
ae6126d388 Changed upgrade code to use SCORE stuff 2019-07-08 08:07:10 -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
0c16d3e78c Fixed some extension references 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
3753a1b6d6 Update main.php 2019-07-08 08:07:06 -05:00
Matthew Barbour
b0e12f6a6c Update main.php 2019-07-08 08:07:05 -05:00
Matthew Barbour
18656db7c8 Update main.php
Testing a CI issue
2019-07-08 08:07:04 -05:00
Matthew Barbour
e98e63f836 Adjusted graphic extension settings 2019-07-08 08:07:03 -05:00
Matthew Barbour
3859e27839 New Graphics extension
Added constants to several extensions
2019-07-08 08:07:02 -05:00
Shish
3dce134fe9 better error for >500 pages 2019-07-08 11:10:35 +01:00
Shish
bcf07946fb fix more pairs 2019-07-07 22:59:22 +01:00
Shish
38df37a9aa limit 500 pages of search results in speed hax mode 2019-07-07 19:23:48 +01:00
Shish
e27ff02bb7 two columns 2019-07-07 16:02:33 +01:00
Shish
4136b1bb6b manually pull parts out of 57f2a50fb7 2019-07-07 11:16:47 +01:00
matthew
c906df6956 Added iterator_map and iterator_map_to_array
Moved the path join/sanitize to pollyfills
2019-07-07 11:11:57 +01:00
matthew
490f1f97ed Updated pools bulk action for generator 2019-07-07 11:11:48 +01:00
matthew
d64603674e Added ability to use generators with database queries.
Adapted bulk actions to use generators.
2019-07-07 11:10:40 +01:00
Shish
2935db9d6d take out category-autocomplete pending performance tweaks 2019-07-06 11:27:05 +01:00
Shish
b158901f53 add ban-reason to bulk actions delete 2019-07-05 19:20:37 +01:00
Shish
22f3532035 support for themes where .shm-thumb is not directly an A tag 2019-07-05 19:20:10 +01:00
matthew
dbfa995ba5 Changed create pool bulk action to default to the currently searched strings 2019-07-05 19:16:52 +01:00
Matthew Barbour
4116bda066 Adjusted admin delete by query to bypass trash 2019-07-05 19:02:18 +01:00
matthew
558d154e85 Fixed issue with trash item detection 2019-07-05 19:01:55 +01:00
Matthew Barbour
c4111cc948 Added shortcut-key support to bulk action extension 2019-07-05 18:37:25 +01:00
Matthew Barbour
a82fb56063 Added force flag to image deletion event to override trash extension 2019-07-05 18:31:31 +01:00
matthew
1bd9238b17 Additional trash stuff 2019-07-05 18:29:45 +01:00
Matthew Barbour
32d37254f7 New trash extension. For undelete-type stuff. 2019-07-05 18:29:44 +01:00
Matthew Barbour
02e2786cca Added missing constant 2019-07-05 17:39:25 +01:00
matthew
a7188a452b Fixed issue with setup block checkbox generator 2019-07-05 17:39:15 +01:00
Matthew Barbour
c16d55995b Added table-building support to SetupBlock to allow easily building cleaner setup controls 2019-07-05 17:38:12 +01:00
Matthew Barbour
9ca800d1c4 Added bulk action support to pools extension 2019-07-05 17:31:27 +01:00
Matthew Barbour
8794258072 pgsql automatically creates indexes on unique columns, so the manually created indexes on those columns are redundant on that database. This will remove tham. 2019-07-05 16:55:36 +01: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
80e614b53e Added relationship set event.
Adjusted relationship set statements for betteer accuracy
2019-07-05 16:46:03 +01:00
Matthew Barbour
ac1196dee1 Added lower to tag_categories search 2019-07-05 16:25:03 +01:00
Matthew Barbour
8d567e9553 Changed autocomplete to escape _ and %, lowercase the tags, and also query for tag names that are preceded by categories to address #630 2019-07-05 16:25:03 +01:00
Matthew Barbour
3fc0ba3a63 Added DATBASE_TIMEOUT constant to allow customizing database wait time 2019-07-05 16:25:03 +01:00
Matthew Barbour
1a7fa4663e Added search_terms to the bulk action event 2019-07-05 16:25:03 +01:00
matthew
f12e2891e5 Added button element to input[button]-related css statements 2019-07-05 16:25:03 +01:00
Matthew Barbour
a7c978c8d2 Added poster attribute to video element so thumbnail can show until video is loaded 2019-07-05 16:25:03 +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
Shish
c24a6e9b97 formatting pass 2019-06-21 09:12:44 +01:00
Matthew Barbour
1370afec72 Moved database driver constants to DatabaseDriver 2019-06-20 10:47:15 -05:00
Matthew Barbour
d128dfa78e Added lower indexes for postgresql to tags.tag and users.name to speed up queries for them using lower() 2019-06-20 10:07:43 -05:00
Matthew Barbour
a834d1f814 Resolved issue with bulk rater 2019-06-19 23:41:55 -05:00
Matthew Barbour
921ec9a7bb Adjusted cron upload for new merged flag, and to make sure tags merge properly 2019-06-19 20:20:52 -05: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
5a30ce1c83 Reverted removal of latter tag write 2019-06-19 18:59:51 -05:00
Matthew Barbour
826c623538 PageMode constants 2019-06-18 21:04:31 -05:00
matthew
123089bfbf Merge remote-tracking branch 'upstream/develop' into bugfixes
# Conflicts:
#	core/imageboard/image.php
2019-06-18 13:31:04 -05:00
Matthew Barbour
014a4c2cd2 Added extension constant lists to resize and rotate extensions so that they weren't rendering their controls ont he wrong image types 2019-06-18 13:25:45 -05:00
Shish
6313ebc339 LIMIT 1 when fetching a wiki page 2019-06-16 19:39:28 +01:00
Shish
1d10baa719 only sql-escape if we're going to the database, not the accelerator 2019-06-16 19:25:40 +01:00
Shish
e232811e8c silence errors from a broken client 2019-06-16 19:12:44 +01:00
Matthew Barbour
1fe18e7573 Missed a dir name 2019-06-15 12:52:22 -05:00
Matthew Barbour
8b531c04a2 removed SQLERROR escape from cron uploader, not necessary now that it is individualizing transactions.
Change cron uploader to use constants for dir and config names
2019-06-15 12:51:04 -05:00
Matthew Barbour
ab9389007f Changed key-generation process for cron upload so it doesn't endlessly generate new keys before the user first hits the same buttons in settings. 2019-06-15 11:51:03 -05:00
Matthew Barbour
ed9bd5e788 Fix in ExtensionAuthor 2019-06-15 11:29:35 -05:00
Matthew Barbour
37fe743f65 Changed "images" and "thumbs" usages to constants 2019-06-15 11:20:11 -05:00
Matthew Barbour
0202597f88 Added lock file usage to cron uploader to prevent concurrent runs.
Changed extension manager to allow author to be a comma-separated list.
2019-06-15 11:19:51 -05:00
Matthew Barbour
e940d87c22 Added image_id null check to resize's data upload event, to prevent an error when merging is enabled 2019-06-15 11:19:38 -05:00
Matthew Barbour
6f501a6e74 Database driver constants 2019-06-14 13:38:47 -05:00
Matthew Barbour
444de26ce3 Added warning for webp thumbnails 2019-06-14 13:34:21 -05:00
Matthew Barbour
8950d27d64 Changed upload to detect unrecognized files so that it doesn't just blankly refresh when the type isn't handled 2019-06-14 13:01:49 -05:00
Matthew Barbour
58acb71282 Change imagemagick commands to return the error output
Added ico to transcode extension
2019-06-14 13:01:24 -05:00
Matthew Barbour
ed4b6bc4a0 Updated handle_ico to use new common image thumbnailing and to inherit DataHandlerExtension 2019-06-14 13:00:59 -05:00
Matthew Barbour
e854b6d884 Custom rating changes 2019-06-14 09:47:14 -05:00
Matthew Barbour
1b76366dd9 Cleaned up some of the new image processing code, added documentation 2019-06-14 09:41:55 -05:00
Matthew Barbour
b522d68736 Custom rating support 2019-06-14 08:05:30 -05:00
Shish
44fcc3a1e9 rm some dead code 2019-06-14 13:52:27 +01:00
Shish
064b24ffc1 formatting pass 2019-06-14 13:47:50 +01:00
Shish
d1102cd635 Merge from sanmadjack:develop 2019-06-14 13:46:55 +01:00
Shish
f078b283bd pull a bunch of small fixes from #659 2019-06-14 13:16:58 +01:00
Matthew Barbour
6006a83229 Added <label> to extension name in extension manager so the name can also be clicked to enable/disable an extension 2019-06-13 18:18:51 +01:00
Matthew Barbour
68c3e5ea42 Changed cron upload so that an unrecognised file type results in an error instead of a success 2019-06-13 18:17:16 +01:00
Matthew Barbour
1aa0225652 Adjustments to transcoding to allow psd transcoding to actually work
Changed resize extension to run later in the extension stack
Little fixes
2019-06-13 11:45:34 -05:00
Matthew Barbour
3269d32378 Added transcode extension to allow admins to convert images to other types (for instance, converting PNG to more efficient lossless webps, not that I made this just so I could do that). It also allows uploading image formats that aren't compatible with the web, such as TIFF and PSD, by automatically transcoding them to a supported fele format. 2019-06-12 17:54:06 -05:00
Matthew Barbour
a1512975b6 This should have been checked in with the header bytes change, provides the actual type detection 2019-06-12 17:51:15 -05:00
Matthew Barbour
cb24ac69ab Changes to cron upload:
Added transaction handling so that subsequent errors don't result in images that have already moved to the uploaded folder from being wiped from the database.
Changed output folders to use subfolders based on the timestamp of the current run. This is to prevent writing over files in the error folder that happen to have the same name and path, effectively losing the data.
Added additional error and information logging, and a final count of imported/merged/failed.
2019-06-12 17:50:00 -05:00
Matthew Barbour
b27904a7e0 Changes to bulk actions, passing full ID arrays instead of chunked image arrays
Changed the bulk actions to have a separate identifier from the button name
2019-06-12 17:46:24 -05:00
Matthew Barbour
97f60b3ea5 Better error handling for GD code 2019-06-12 17:40:43 -05:00
Matthew Barbour
97abeb5254 Added option to detect file type based on header bytes 2019-06-12 17:35:11 -05:00
Matthew Barbour
8f73b35fbb Added OnTagTermParse to rating extension
Updated an install step to be pgsql compatible
2019-06-11 09:59:06 -05:00
Matthew Barbour
8f3c20134f Added <label> to extension name in extension manager so the name can also be clicked to enable/disable an extension 2019-06-11 09:08:16 -05:00
Matthew Barbour
f2fb040a5b Moved ImageResizeException to the core space so that the core space image resize code can use it 2019-06-11 09:06:47 -05:00
Matthew Barbour
e2d04ca58c Merge remote-tracking branch 'upstream/develop' into develop 2019-06-11 08:50:27 -05:00
Matthew Barbour
4410baeb9c Changed cron upload so that an unrecognised file type results in an error instead of a success 2019-06-09 14:17:13 -05: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
Shish
e77f7de7f9 Fixes for tag / source history 2019-06-09 08:32:01 +01:00
Matthew Barbour
49cb6f7233 Added thumb_scaling option for generating high-dpi thumbnails 2019-06-06 14:12:13 -05:00
Matthew Barbour
8612a07a5a cleanup 2019-06-05 19:37:07 -05:00
Matthew Barbour
66df295ec1 Bulk action extension 2019-06-05 18:16:15 -05:00
matthew
8741529590 Enabled rating extension for pgsql 2019-06-03 08:58:39 -05:00
matthew
aef455949b Added escape to cron upload to stop the process when a transaction-breaking error occurs. 2019-06-02 13:38:25 -05:00
matthew
38badf7e45 Changed cron import to output imported/failed files to subdirectories matching the imported file's original subdirectory 2019-06-02 13:34:24 -05:00
matthew
5a2f893667 Changed cron upload new image tagging to work with tag event's requirement for tags to not be empty. 2019-06-01 12:17:38 -05:00
matthew
3e2a0ea3b5 Brought cron upload tag handling inline with everything else 2019-06-01 12:12:36 -05:00
matthew
e92ac10349 Removed unset line so it doesn't do it twice. 2019-06-01 12:08:07 -05:00
matthew
63a69e4258 Change to correct issue with my change to prevent cron uploader from throwing warnings. Now using array_pop so that position in the array doesn't matter. 2019-06-01 12:02:58 -05:00
root
23392b6b91 Removed a test line 2019-06-01 10:07:01 -05:00
root
98bc7c7df1 Corrected issue preventing cron upload from generating key 2019-06-01 10:04:16 -05:00
Shish
d387469fdb Use RecursiveDirectoryIterator for cron_uploader consistently, should fix #652 2019-06-01 08:13:07 +01:00
Shish
8e90279c11 Fixes for cron uploader, fixes #650 2019-06-01 07:51:02 +01:00
Shish
bf473f6d51 more lint fixes 2019-05-29 18:23:29 +01:00
Shish
8a49b1e80e remove unmaintained chatbox / amazon_s3 exts 2019-05-28 20:28:05 +01:00
Shish
2396ae2ef9 fix a bunch of lints 2019-05-28 20:27:23 +01:00
Shish
93cc732d39 fix tests 2019-05-28 19:00:23 +01: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
445687111e Merge branch 'develop' of https://github.com/shish/shimmie2 into develop 2019-05-26 16:25:36 +01:00
Shish
b91f20875a put upload block on every page 2019-05-26 16:15:43 +01:00
Shish
6175b36cc9 don't show uploader name in RSS feed, halve the number of queries 2019-05-26 10:37:26 +01:00
Shish
3d326344a9 don't show refine block for heavy queries 2019-05-26 10:35:26 +01:00
Shish
a0588bd8f8 empty list rather than 404 for invalid autocompletes 2019-05-21 23:12:52 +01:00
Shish
037b1f0f70 log mass deletion count in advance 2019-04-28 09:53:53 +01:00
Shish
bef1628b08 also block autocomplete for % / _ 2019-04-26 10:31:23 +01:00
Shish
bc45944ac9 flashier tnc 2019-04-26 10:15:32 +01:00
Shish
65dc3898c0 common tags / common source fields 2019-04-26 10:15:32 +01:00
Shish
b2b4317203 sync with python rss_images 2019-04-26 10:15:32 +01:00
Shish
80c84f3248 More detailed login logging 2019-04-26 10:15:32 +01:00
Shish
629f155187 don't autocomplete searches with ==0 or >32 characters 2019-04-26 10:12:40 +01:00
Shish
4c70258352 typos 2019-04-16 20:41:13 +01:00
Shish
c2834aad96 regular implode() for shell commands 2019-02-24 08:29:33 +00:00
Shish
2acbba9d02 influxdb-friendly statsd format 2019-02-22 21:26:42 +00:00
Shish
ffd5fbb4af fully customisable IP ban 2019-02-22 21:24:53 +00:00
Shish
a588a0cfc5 show the right IPs 2019-02-22 21:05:53 +00:00
Shish
a8dfc9277b Show logged event IPs on user page 2019-02-22 21:04:09 +00:00
Shish
7abf1aa591 custom ipban message 2019-02-22 19:58:04 +00:00
Shish
d918f058bf core imageboard events 2019-02-22 19:57:55 +00:00
Shish
60a28af000 s/implode/Tag::implode/ 2019-02-02 12:07:33 +00:00
Shish
eb24fa0b21 tweaks 2019-02-02 12:05:59 +00:00
Shish
ead3a5a588 php7 assertions, no strings 2019-01-06 10:40:39 +00:00
Shish
c9ccb22951 make handle_static its own extension 2018-11-11 17:38:32 +00:00
Shish
b95cbe4666 skip r34 comic bits by default 2018-11-10 14:15:07 +00:00
Shish
16d0abb546 Merge branch 'develop' of https://github.com/shish/shimmie2 into develop 2018-11-10 13:10:22 +00:00
Shish
cc23528459 subdirs for tag_list caches, as those get huge... 2018-11-10 13:10:14 +00:00
Shish
c74bd58207 sort image reports by id (newest first) 2018-11-10 12:03:05 +00:00