Commit graph

1216 commits

Author SHA1 Message Date
Shish
a7bddb1dac get rid of is_admin, fixes #676 2019-09-29 19:01:09 +01:00
Shish
0f4a0275b5 use is_int instead of is_numeric if we want to reject numeric strings, should fix #681 2019-09-29 17:58:56 +01:00
Shish
54067f02a4 fix merge 2019-09-29 15:44:59 +01:00
Shish
e6a402cd4e Merge branch 'custom_ratings' into develop 2019-09-29 14:41:14 +01:00
Shish
f5119b20a3 formatting 2019-09-29 14:32:51 +01:00
Shish
a6bb15d859 formatting 2019-09-29 14:30:55 +01:00
matthew
cf8ed3b134 Added UserLoginEvent 2019-09-29 14:21:23 +01:00
Matthew Barbour
73b784266e Moved user config stuff into an extension 2019-09-29 14:20:40 +01:00
matthew
120cdb49a6 Added $user_config global based on existing config object for storing user-specific settings.
Added event to the user page so that extensions can hook into it, providing user-specific setting controls
2019-09-29 14:19:52 +01:00
Matthew Barbour
88e6e68d79 Changed omitted related tags (like tagme) to be powered by a setting, allowing any performance-impacting (or just not useful in this context) tags to be omitted
Further tag list performance improvements
TagListConfig constants
2019-09-26 15:46:28 +01:00
Shish
33fff87f39
Merge pull request #680 from sanmadjack/ext_info
Proposed extension info change to allow getting info for unloaded ext…
2019-09-26 15:37:16 +01:00
Daniel Oaks
a1c276c840 Fix SQLite underscore searching (#619) 2019-09-14 13:46:39 +10:00
Shish
9341c408b9 allow randomness to be limited, because sql's OFFSET N is O(n) 2019-09-08 17:13:20 +01:00
Matthew Barbour
ac6ded877f Added dependency support for extensions
Separated a few extensions that had multiple extension classes in the same file
2019-08-07 16:32:44 -05:00
Matthew Barbour
f4b647b6b8 Updated util for new extension methods 2019-08-07 15:59:06 -05:00
Matthew Barbour
91b46d6598 Moved user config stuff into an extension 2019-08-07 15:49:56 -05:00
Matthew Barbour
68ee4d0e77 Custom rating support, user rating filter settings 2019-08-07 15:49:26 -05:00
Matthew Barbour
8f0aa8a4ca Added $user_config global based on existing config object for storing user-specific settings.
Added event to the user page so that extensions can hook into it, providing user-specific setting controls
2019-08-07 15:48:18 -05:00
Matthew Barbour
de98e86938 ExtensionInfo conversions what have I done 2019-08-07 15:40:01 -05:00
Matthew Barbour
3d1b964812 Proposed extension info change to allow getting info for unloaded extensions 2019-08-07 15:34:11 -05:00
Matthew Barbour
a18589ee0a Help extension
Provides foundation for help pages that are generated from loaded extensions, starting with comprehensive search documentation. Addresses #522
2019-08-05 09:03:49 -05:00
Matthew Barbour
00464d2579 Implemented a nav link generating system so that extension power what shows up in the menus rather than being hard-coded in the themes. 2019-08-05 09:01:20 -05:00
Matthew Barbour
972b68bdd3 Setup constants 2019-08-05 09:00:23 -05:00
Matthew Barbour
fc294bfb3c add tracer_enabled check to the database class to prevent unnecessary memory build-up when tracer isn't outputting.
Globalized tracer_enabled to make it easier to access
2019-08-01 08:15:43 -05:00
Matthew Barbour
c3f2d2e1bd New post titles extension, resolves #19 2019-08-01 08:10:24 -05:00
Matthew Barbour
45df025e7d Bulk action permission constant 2019-08-01 08:09:00 -05:00
Matthew Barbour
cb1e9c0075 Permissions to constants 2019-08-01 08:07:05 -05:00
Shish
d57b624079 Merge commit '38cc05c' into develop 2019-07-31 14:58:24 +01:00
Shish
a0b1c82d0d function to clear event listeners 2019-07-19 10:25:07 +01:00
Shish
c5aba18470 s/is_admin/can(perform_bulk_actions)/ 2019-07-08 20:35:10 +01:00
Matthew Barbour
a0c0b6e3d1 Various fixes 2019-07-08 08:07:11 -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
3859e27839 New Graphics extension
Added constants to several extensions
2019-07-08 08:07:02 -05:00
Shish
eb885c443c trim leading whitespace when logging queries 2019-07-07 19:22:44 +01:00
Shish
1bd7e1a547 better DISABLE_ACCEL 2019-07-07 17:40:24 +01:00
Shish
cf98e4bf43 remove one-positive-tag special case which is slower than the generic build_accurate_search_querylet 2019-07-07 17:13:56 +01:00
Shish
ea802f4a24 Remove build_ugly_search_querylet
now that the accurate search doesn't use subqueries, perhaps mysql can
accept it
2019-07-07 16:50:55 +01:00
Shish
bd5ccd2800 remove ancient misleading description of the search code 2019-07-07 16:46:56 +01:00
Shish
98f0375e94 make tracer not-null in installer 2019-07-07 15:57:06 +01:00
Shish
660ee2b249 make composer libs usable from the installer 2019-07-07 15:50:02 +01:00
Shish
b43ad07abe typo 2019-07-07 15:42:19 +01:00
Shish
1e1ede7db6 log which method was used to wrap db->execute 2019-07-07 15:12:51 +01:00
Shish
3c6b09110a Cache multiple flexihashes
otherwise get_thumb / get_image / get_thumb / get_image / ... will
have 100% cache miss rate
2019-07-07 14:26:45 +01:00
Shish
8ec3690f8e cache logging was getting hit/miss the wrong way round... forever? 2019-07-07 14:07:11 +01:00
Shish
c8563951ce tracing instead of cache debug log 2019-07-07 13:58:39 +01:00
Shish
bca74a0db5 drop DEBUG_SQL - all of that info is included in the trace file, fixes #674 2019-07-07 13:52:53 +01:00
Shish
4cadce1de0 merge slow-page-log into tracer, fixes #673 2019-07-07 13:51:19 +01:00
Shish
99646a4b00 bump tracer api 2019-07-07 13:30:50 +01:00
Matthew Barbour
f5a5352511 Correction to negative tag code 2019-07-07 11:17:21 +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
Shish
3954f3d296 merge iterable queries with new count_time 2019-07-07 11:11:27 +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
Matthew Barbour
183f9bb897 Changed the image tag search query to run more efficiently on pgsql 2019-07-07 11:06:45 +01:00
Shish
b01f425a55 GET flag to skip cache 2019-07-07 10:29:00 +01:00
Shish
f4a98e7a9b GET flag to skip accelerator 2019-07-07 10:29:00 +01:00
Shish
68f3ebb2c6 Consistently say '<Type> Query' 2019-07-07 00:17:39 +01:00
Shish
b285acf70a tracer-complete needs start time 2019-07-06 23:01:22 +01:00
Shish
8ea78eed6a have database performance measured in three ways at once, instead of three separate ways 2019-07-06 21:41:48 +01:00
Shish
c682670f64 derp 2019-07-06 10:38:18 +01:00
Shish
ccb9c493d5 s/Context/EventTracer/g 2019-07-05 20:49:47 +01:00
Shish
f0326dc3ab bootstrap as its own phase 2019-07-05 19:20:37 +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
92bb96049f Added SCORE sql constants 2019-07-05 17:41:29 +01:00
matthew
639c896a16 Added join_path to cleanly join paths.
Added sanitize_path to normalize and deduplicate directory separators.
Changed warehouse_path to be able to scale up the number of octect pairs as much as desired.
2019-07-05 16:43:06 +01:00
Matthew Barbour
aa9ce52f47 Adjustment to DATABASE_TIMEOUT 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
6a6d73168b Added function to database object for interpreting parameter values to ones that are database-appropriate. Specifically, to turn true/false into the correct values for a bool column. 2019-07-05 16:25:03 +01:00
Matthew Barbour
af263bc2a5 Fix the flv mime type mapping 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
Shish
42a502953b
Merge pull request #663 from sanmadjack/bugfixes
Bugfixes and small changes
2019-06-21 09:11:52 +01:00
Matthew Barbour
1370afec72 Moved database driver constants to DatabaseDriver 2019-06-20 10:47:15 -05:00
Matthew Barbour
a2ac9776ff path tag corrections 2019-06-19 23:28:34 -05:00
Matthew Barbour
c951f7d13e Adjusted path-to-dir regex to prevent an error 2019-06-19 20:22:41 -05:00
matthew
27574cad76 Merge remote-tracking branch 'upstream/develop' into path_to_tags_enhancements 2019-06-19 20:21:47 -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
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
Shish
1d10baa719 only sql-escape if we're going to the database, not the accelerator 2019-06-16 19:25:40 +01:00
Shish
6df1190501 Rename Tag/ImgQuerylet to Tag/ImgCondition
It was confusing because Tag/ImgQuerylet (an abstract condition to use
as part of image search filtering) were unrelated to Querylet (a
fragment of SQL)
2019-06-16 19:11:16 +01:00
Shish
6b9d18b52e Parse tags first, then check accelerator, then check database
Better than half-assed tag parsing in the accelerator then full parsing
in the database
2019-06-16 19:07:55 +01:00
Matthew Barbour
37fe743f65 Changed "images" and "thumbs" usages to constants 2019-06-15 11:20:11 -05:00
Matthew Barbour
4ade0090cc Added float support to config 2019-06-15 11:20:01 -05:00
Matthew Barbour
6f501a6e74 Database driver constants 2019-06-14 13:38:47 -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
85b6bba689 Changed path_to_tags to interpret ; as : and to allow inheriting categories from parent folders 2019-06-14 09:50:23 -05:00
Matthew Barbour
1b76366dd9 Cleaned up some of the new image processing code, added documentation 2019-06-14 09:41:55 -05: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
5765978afd Changed to prevent writing duplicate image tag IDs 2019-06-14 12:52:58 +01:00
Matthew Barbour
8cdab6623a Changed clamp function to allow null values 2019-06-13 18:17:38 +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
Shish
1d1536b1ee assert_options is deprecated for php7 2019-06-13 16:57:58 +01:00
Shish
10d8b352c1 allow tags with apostrophes to be accelerated 2019-06-13 16:57:23 +01: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