Commit graph

1471 commits

Author SHA1 Message Date
Shish
d7b08d7b95 bump required versions based on Debian Stable 2019-10-01 11:06:40 +01:00
Shish
5183c52223 version bump 2019-10-01 10:45:07 +01:00
Shish
cea6e2b121 postgres has true / false 2019-09-30 18:05:35 +01:00
Shish
19c4fcaf34 even with EMULATE_PREPARES=false, sqlite still returns strings for int columns... 2019-09-30 10:40:15 +01:00
Shish
fd2d434c61 return native types (int, float) for mysql 2019-09-30 10:19:47 +01:00
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
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
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
b31a916477 Changed clamp function to allow null values 2019-06-11 09:05:54 -05:00
Matthew Barbour
b7945b098e Changed to prevent writing duplicate image tag IDs 2019-06-09 14:18:25 -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
matthew
e651da03cc Changed path tag handling to merge path tags with filename tags
Added 0-9 to the filename tag regexp so that extensions like mp4 will be picked up as well.
2019-06-02 13:27:24 -05:00
matthew
99b51e65c1 Added array_unique to set_tags to prevent primary key violations when upload conflict is set to merge 2019-06-01 11:39:03 -05:00
matthew
42b39f20d7 Updated config interface as well 2019-06-01 10:50:53 -05:00
matthew
1eecf323f4 Changed set_int to accept a string, since it can accept shorthand strings like 1M. Casting it to an int was stripping out that information when settings would be submitted. 2019-06-01 10:47:11 -05:00
Shish
da10859bb3 fixes 2019-05-29 19:50:12 +01:00
Shish
bf473f6d51 more lint fixes 2019-05-29 18:23:29 +01:00
Shish
2396ae2ef9 fix a bunch of lints 2019-05-28 20:27:23 +01:00
Shish
294f5845b1 defaults 2019-05-28 19:54:07 +01:00
Shish
1b114bfea8 url_escape handles null 2019-05-28 19:48:41 +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
189385ff61 forgot that php isn't python 2019-05-28 15:16:22 +01:00
Shish
4b4ff68729 decouple cache and db a little 2019-05-28 15:06:03 +01:00
Shish
f4c18930ce option to log slow pages 2019-05-26 10:42:58 +01:00
Shish
505877a330 support arbitrarily large accelerated search results 2019-04-28 09:55:28 +01:00
Shish
80c84f3248 More detailed login logging 2019-04-26 10:15:32 +01:00
Shish
52dfa12df7 zend.assertions can't be set at runtime 2019-04-26 10:13:17 +01: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
ead3a5a588 php7 assertions, no strings 2019-01-06 10:40:39 +00:00
Shish
6f5cf4d865 jquery first 2018-11-11 17:41:28 +00:00
Shish
94af26fbf2 Merge branch 'develop' of https://github.com/shish/shimmie2 into develop 2018-11-11 17:38:43 +00:00
Shish
c9ccb22951 make handle_static its own extension 2018-11-11 17:38:32 +00:00
Shish
8903d76e7e put style/script caches in their own dirs too 2018-11-10 13:32:10 +00:00
Shish
de2a688b5a php... 2018-11-10 12:02:48 +00:00
Shish
5c49b3631d un-bump php back to 7.0, because debian stable... 2018-11-10 12:01:26 +00:00
Shish
bfa0c22b06 automatic sqlite name 2018-11-07 16:48:07 +00:00
Shish
65d2172ede move images and thumbs to data/ 2018-11-07 16:06:10 +00:00
Shish
9e795f41a7 use vendor JS directly instead of copy-pasting 2018-11-07 15:12:13 +00:00
Shish
cefe1c0325 a bunch of installer tweaks 2018-11-07 00:25:43 +00:00
Shish
b2f10ea5ab split up files in core/ for saner management 2018-11-05 22:30:18 +00:00
Shish
3c5c44d75f PHP bump in travis and sys-config too 2018-11-05 20:55:50 +00:00
Shish
cdfc97d19b begin tests in core 2018-11-05 20:53:58 +00:00
Shish
5634ba6d97 fix a thing which doesn't seem like a syntax error but phpstorm flags it as a syntax error 2018-11-05 20:02:40 +00:00
Shish
38406ef33a block tags starting with minus 2018-08-22 21:56:27 +01:00
Shish
840915c9f0 support for picking n'th item from the consistent hash 2018-07-26 00:26:01 +01:00
Shish
64e2f7fe53 query accelerator failures should silently fall back to non-accelerated mode 2018-07-19 19:31:37 +01:00
Shish
16a56f5e5b https for gravatars 2018-07-17 01:15:20 +01:00
Shish
d4b28d7c07 fixup alias non-recursion 2018-07-16 08:46:01 +01:00
Shish
b973705021 show source URL in query 2018-07-15 20:17:47 +01:00
Shish
8b2c580930 treat phpdbg the same as php-cli 2018-07-15 19:40:53 +01:00
Shish
2417b5b021 don't recursively expand aliaes, as that can create loops 2018-07-15 19:39:39 +01:00
Shish
9e3e37a209 accelerate counts as well as the actual results 2018-06-30 14:28:52 +01:00
Shish
60c16a9139 dash in the middle of a tag isn't special, allow it to be accelerated 2018-06-20 02:40:52 +01:00
Shish
adaca87ca1 redis cache support 2017-10-28 20:28:31 +01:00
Shish
c2b4210777 Merge branch 'develop' of https://github.com/shish/shimmie2 into develop 2017-09-21 14:08:14 +01:00
Shish
4ea721f681 underp 2017-09-21 14:04:53 +01:00
Shish
6aa704d04c better image counting 2017-09-21 05:49:10 +01:00
Shish
2628c2c5d9 Merge branch 'develop' of https://github.com/shish/shimmie2 into develop 2017-09-21 05:25:48 +01:00
Shish
6e914ff4e7 use just hash for flexihash lookup 2017-09-21 05:25:45 +01:00
Shish
977c3db1e3 PHP7 type annotations 2017-09-21 05:21:42 +01:00
Shish
c7ca2f4154 un-bundle context.php 2017-09-21 05:00:59 +01:00
Shish
117e018eb6 branch off 2.7 for php7 2017-09-19 00:04:51 +01:00
Shish
d8e75ddf7c bump 2017-09-18 23:57:03 +01:00
Shish
1566ff7eaa un-confuse phpunit 2017-09-17 19:37:30 +01:00
Shish
860e828c3e Merge branch 'develop' of https://github.com/shish/shimmie2 into develop 2017-09-17 18:59:59 +01:00
Shish
a32bc6448c make user list slightly more useful 2017-09-17 18:59:48 +01:00
Shish
408b45e4cc Merge branch 'develop' of https://github.com/shish/shimmie2 into develop 2017-08-24 10:17:47 +01:00
Shish
abe473ffd6 count blank header as null 2017-08-24 10:17:39 +01:00
Shish
473c0f0bcb explicitly mark some block types as ignored when calculating 404ness 2017-08-24 10:17:24 +01:00
Shish
35bd51e513 use 'count()' + result->get_one() to count images, rather than 'select *' + result->rowcount()... 2017-08-23 00:42:19 +01:00
Shish
5a6728209a improve cache logging 2017-08-22 01:04:33 +01:00
Shish
2f083f7608 more useful memcached error messages 2017-06-08 09:37:38 +01:00
Shish
94ec37029a stub more mb_ functions 2017-06-08 09:37:21 +01:00
Shish
2f557326df die if caching modules are missing, don't silently fall back to NoCache 2017-05-30 02:13:11 +01:00
Shish
4e5af70093 re-stub mb_strlen (see #615) 2017-05-29 11:09:28 +01:00
Shish
843d7fae24 merge 2017-05-29 10:19:55 +01:00
Shish
8828fdfd05 log SQL query times in DEBUG_SQL mode 2017-05-29 10:19:11 +01:00
Shish
51e165aecf Add separate memcached cache 2017-05-29 10:18:11 +01:00
Shish
684efedcfd Log what URL query caused invalid search queries 2017-05-29 10:16:32 +01:00
jgen
f492c6c2c3 Ensure that the Image object tag_array and the metadata array tags are always arrays. 2017-05-12 00:57:50 -07:00
Thomas Hori
d1306cfb2d Move Tag::explode call into add_image call so that $result is unaffected. 2017-04-26 14:08:06 +01:00
Thomas Hori
1625bd68e3 Fix error upon bulk add.
Fixes "PHP Fatal error:  Uncaught TypeError: Argument 2 passed to
TagSetEvent::__construct() must be of the type array, string given"
upon bulk add.
2017-04-25 17:48:34 +01:00
Shish
8ef13db69c bump develop 2017-03-27 18:15:16 +01:00
Shish
807d44d644 Version bump 2017-03-27 18:14:11 +01:00
jgen
b053be5d88 More linting. 2017-03-12 14:53:49 -07:00
jgen
a5a89dc08d mb_strlen and mb_internal_encoding have been in core PHP since version 4.0.6
mb_strtolower has been in core PHP since version 4.3.0
2017-03-12 14:43:19 -07:00
jgen
7bd581b530 Scrutinizer commets. 2017-03-12 14:29:35 -07:00
jgen
8de816d7dd Some more linting via PHPDoc comments. 2017-03-12 00:18:26 -08:00
jgen
fb3cc1832f Use triple equals, because PHP. 2017-03-11 23:19:37 -08:00
jgen
2691a6bbdc Change PHP version check to use a configuration constant, rather than a hardcoded version in the code.
(As it seems this hardcoded version number is easy to forget about, and then it doesn't actually get updated..)
2017-03-11 18:34:36 -08:00
Shish
10863d4c4b import imageboard to avoid warnings 2017-03-10 16:15:31 +00:00
Shish
c208a3715c mark static functions as static 2017-03-10 16:14:56 +00:00
jgen
d62304cf70 more linting 2017-03-09 22:28:48 -08:00
jgen
d0b0c7f93d More linting with PHPDoc comments 2017-03-09 21:58:14 -08:00
Scrutinizer Auto-Fixer
9a906d4ecf Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2017-03-09 09:27:52 +00:00
jgen
ede2fcf4eb More linting and fixing 2017-03-08 23:52:31 -08:00
jgen
17307820e8 Add some PHPdoc comments as suggested by Scrutinizier 2017-03-08 23:02:26 -08:00
im-mi
c1083bbea1 Fixed comment-delete code-injection vulnerability 2016-09-14 17:42:32 -04:00
Shish
bcef3fbc8f have tag sanitisation process ignore tags which are too long, fixes #565 2016-08-29 09:21:23 +01:00
im-mi
36b66f4c23 html_escape data-tags for tags that contain single quotes 2016-08-29 00:26:55 -04:00
Shish
7be951b271 Convert tags from user-supplied string to array once, on input
This results in a fuckton of refactoring and code cancelling out
other code -- we no longer have a whole bunch of places trying
to support string params and array params, and doing their own
esaping and unescaping, never being quite sure if the data they've
been passed is escaped or not.

Also adds a bunch of type hinting, since we can now know what
data we're dealing with better.
2016-07-30 22:11:49 +01:00
Shish
b533a43428 Merge branch 'develop' of https://github.com/shish/shimmie2 into develop 2016-07-11 13:01:05 +01:00
Shish
c14a36079c add option to force a specific base url 2016-07-11 13:00:54 +01:00
Shish
b6ad316d20 linting 2016-07-03 12:07:54 +01:00
Shish
cb73a0caa0 let's stop being php5.2 compatible 2016-06-19 23:23:34 +01:00
Shish
6febdec7b5 more explicit variable types 2016-06-19 23:05:57 +01:00
Shish
dc10a18086 lots of minor doc tweaks, type hints, etc 2016-06-19 17:41:40 +01:00
Shish
d185fd354b fix wildcard search for mysql 2016-06-19 12:14:44 +01:00
Shish
e0d3d53479 stub mb_ functions 2016-06-19 12:12:48 +01:00
Shish
4577ff70ef more linty bits 2016-06-18 19:26:56 +01:00
Shish
cfd3a9d248 lint fixes 2016-06-18 19:00:56 +01:00
Shish
0ff6da6d3c Merge #555 2016-06-18 15:16:47 +01:00
Shish
b76ee95c76 fix and use get_all_html_headers() 2016-06-18 12:25:54 +01:00
Daku
861862a3e1 password compat lib is now autoloaded with composer 2016-06-18 06:28:48 +01:00
Daku
543600dc0e make sure main css/js files are always loaded after libs 2016-06-18 06:28:31 +01:00
Daku
dd105e174e images aren't always jpg, so don't force jpg
all the handle_* exts use this as well, which can cause issues
2016-06-18 06:20:46 +01:00
Daku
2070034d0d move securimage to composer + update lib 2016-06-18 06:20:43 +01:00
Daku
d5a58916f7 get recaptcha lib with composer + fixes #498 2016-06-18 06:17:07 +01:00
Daku
895df8c22b load flexihash via composer 2016-06-18 06:16:28 +01:00
Daku
36264d3f6e stop caching css/js from disabled exts 2016-06-18 06:16:10 +01:00
Daku
e740d03101 generate seperate css/js cache files for libs & core files 2016-06-18 06:16:08 +01:00
Shish
bfa1dc20c0 fix mysql 2016-06-07 01:50:56 +01:00
Shish
8e8a3da790 support single wildcard 2016-06-07 01:39:23 +01:00
Shish
dc83d4ace7 lots of deduping for searching 2016-06-07 01:34:38 +01:00
Shish
7f2609f727 dedupe searching a bit 2016-06-07 00:19:41 +01:00
Shish
525fd20540 Merge pull request #548 from DakuTree/fix-wildcards
Fix wildcard tag bugs
2016-06-06 23:18:51 +01:00
Shish
43eed32958 Merge pull request #551 from shish/contact-link
Have contact_link support http: and mailto:
2016-06-06 12:37:27 +01:00
Shish
aeeaabb22e allow both http: and mailto: contact links 2016-06-06 12:12:25 +01:00
Daku
61acb24875 fixes #547 -> multi-tag searches not working with wildcard when wildcard matches more than 1 tag
is there a better way to do this?
2016-05-22 18:35:37 +01:00
Daku
3b171ffc5a fix single tag wildcard searches returning duplicate results if image has more than one match 2016-05-22 17:58:09 +01:00
Daku
44876a58d9 we should be using bool_escape instead... 2016-05-22 16:17:31 +01:00
Daku
32dbdccd00 has_children uses Y/N, not TRUE/FALSE 2016-05-10 21:15:50 +01:00
Daku
6d1c7c414b mysql < 5.6 has terrible subquery optimization, using EXISTS / JOIN fixes this 2015-12-04 11:38:44 +00:00
Shish
ac9dc1b8d8 Merge pull request #523 from DakuTree/patch-tagevent
Move tag sanitization, alias resolving & tag parsing from set_tags > TagSetEvent
2015-10-26 19:22:08 +00:00
Shish
28e1cb30ea Merge pull request #528 from CrandellWS/develop
merge start of material theme
2015-10-26 13:49:56 +00:00
William Crandell
b7114a142e Hotfix for better block id character filtering 2015-10-26 09:20:09 -04:00
Shish
b9f6b44301 bump 2015-10-26 12:14:36 +00:00
Shish
7b0933ea54 merge develop, fix conflicts, bump 2015-10-26 12:13:17 +00:00
Shish
f8cb2e96e4 only check min < val < max if min and max are defined 2015-10-19 07:19:53 +01:00
Shish
4971fa9337 empty bool = false 2015-10-19 07:11:41 +01:00
Shish
e9a1bebe76 how did this ever not break everything? x_x 2015-10-19 06:58:47 +01:00
Daku
600011219f update docs 2015-10-08 19:25:38 +01:00
Daku
43d0a297b8 move metatag parsing to after set_tags is sent, rather than before 2015-10-08 18:58:52 +01:00
Daku
b11041898b Tag::explode instead of explode
this fixes the off chance that an empty tag could be passed
2015-10-08 18:28:00 +01:00
Daku
744989a983 Tag::explode should now remove duplicate tags 2015-10-08 18:25:03 +01:00
Daku
6ff80ab2c8 move tag sanitization, alias checking & tag parsing to TagSetEvent 2015-10-08 18:22:20 +01:00
Shish
d30665d274 more deduping 2015-09-27 21:09:27 +01:00
Shish
1ac88e8923 more comments 2015-09-27 12:38:48 +01:00
Shish
cdcd762a52 more comments 2015-09-27 02:17:44 +01:00
Shish
793bc3614b loooooooads of artists refactoring and tidying 2015-09-27 01:03:58 +01:00
Shish
e482f97955 more clamping 2015-09-26 19:53:15 +01:00
Shish
7f20b0527e remove trailing commas from schema definitions in create_table() 2015-09-24 23:16:51 +01:00
Shish
6919431c49 performance 2015-09-20 23:20:51 +01:00
Shish
90cd823ece fix liveness testing, and comments tests 2015-09-20 20:05:06 +01:00
Shish
49a6083b8b fix 2015-09-20 20:04:16 +01:00
Shish
ec484c1144 more phpunit-ing 2015-09-20 20:04:13 +01:00
Shish
9af5995dcc PHPUnit proof of concept 2015-09-20 20:03:29 +01:00
Shish
5a466bfac3 include config modification data in JS/CSS caches 2015-09-20 20:02:39 +01:00
Shish
e4b4bf2c8f better sql logging 2015-09-20 20:02:24 +01:00
Shish
35a4f385b3 phpstorm tidying 2015-09-12 11:43:28 +01:00
Daku
9490e4aae2 fix endless loop when checking for subdirectory
is there any reason why this was only checking for "." & ".." ?
2015-08-12 06:43:38 +01:00
Daku
b2d8b41388 spaces > tabs 2015-08-12 06:12:53 +01:00
Daku
ef6a7289bb if alias is negative and has multiple tags, make sure each tag becomes negative 2015-08-12 06:11:21 +01:00
Shish
e5511ec801 wtf, php 2015-08-09 15:40:57 +01:00
Shish
0ef8db8371 not all requests have remote_addr 2015-08-09 12:20:37 +01:00
Shish
df56213ec3 allow exts to mark themselves as not supporting sqlite 2015-08-08 22:23:27 +01:00
Shish
a7d0158848 more sqlite support 2015-08-08 22:19:10 +01:00
Shish
cef7257ec8 abstract unique index creation 2015-08-08 22:18:38 +01:00
Shish
45d090054b set_default_bool should take a bool, always 2015-08-08 22:18:25 +01:00
Shish
fa2f17817e scrutinizing 2015-08-04 13:53:58 +01:00
Shish
d2d2a9b73a try checking for property of object rather than class? 2015-08-04 12:37:35 +01:00
Shish
654b282ab7 allow BASE_HREF to be defined explicitly 2015-08-03 15:49:38 +01:00
Shish
7762b2c703 do InitExtEvent in bootstrap, before user exists 2015-08-03 15:49:38 +01:00
Shish
83435e3266 set cookies on Page object 2015-08-03 15:49:36 +01:00
Shish
eb246ef1ee count_execs is legacy code from adodb anyway... remove another global 2015-08-02 21:31:55 +01:00
Shish
ec5d9bb6f4 more sensible naming 2015-08-02 21:23:45 +01:00
Shish
6e56224b8d rename final private global 2015-08-02 21:19:22 +01:00
Shish
669fd800d0 move all event stuff together 2015-08-02 20:54:41 +01:00
Shish
3ad8fe4a93 inline add_event_listener to save some layers and loops 2015-08-02 20:43:53 +01:00
Shish
18490ed488 more global removal 2015-08-02 20:39:41 +01:00
Shish
e2b6f2c2dd global management 2015-08-02 19:41:06 +01:00
Shish
c6cf4fa339 hiphop is no more, hhvm can handle defines 2015-08-02 19:40:57 +01:00
Shish
90e86b99ae page->set_code() to set HTTP status 2015-08-02 19:40:57 +01:00
Shish
0b385d05af wibble init into a separate bootstrap file, for more unit-testability 2015-08-02 19:40:57 +01:00
Shish
21a1b176c6 separate router from index.php 2015-08-01 16:36:07 +01:00
Shish
3d5172e235 stand-alone router mode 2015-08-01 16:23:33 +01:00
Shish
e3cb33efb9 remove single-use var 2015-08-01 16:22:42 +01:00
Shish
aed08d3c12 revert a little 2015-08-01 16:15:36 +01:00
Shish
ab4c558126 php cli server uses its own request thing 2015-08-01 15:24:58 +01:00
Shish
53f19120d2 check for set vars in get_base_href 2015-08-01 14:55:53 +01:00
Shish
35d762bc32 Also update programatic check 2015-08-01 13:42:40 +01:00
Shish
e5e7f891e2 scrutinizer suggestions 2015-07-21 01:20:53 +01:00
Shish
9508bec8d3 whyyyyy 2015-07-21 01:00:13 +01:00
Shish
7064e9ffcd merge 2015-07-20 23:49:33 +01:00
Shish
f3c9f57e62 Merge pull request #491 from shish/more_https
More https
2015-07-20 23:28:21 +01:00
Shish
2b6f3b7266 better asserting 2015-07-19 19:04:35 +01:00
Shish
90539a32bc validate_input() function 2015-07-19 14:46:28 +01:00
Shish
06d8c7a879 Merge branch 'develop' of https://github.com/shish/shimmie2 into develop 2015-07-12 22:40:34 +01:00
Shish
feecdd4d13 support for changing usernames 2015-07-12 22:14:57 +01:00
Shish
88fead6ba6 connect to search accelerator for 2-100x speedup on heavy queries 2015-07-12 22:12:05 +01:00
Shish
cabc600207 show all html headers on the front page, so autocomplete can work 2015-07-04 12:25:23 +01:00
Shish
10e7dd27d4 remove trailing commas from schema definitions in create_table() 2015-07-02 12:38:33 +01:00
jgen
f73e0e6884 argh 2015-06-01 18:00:46 -07:00
jgen
4bf56364eb Missed one use of $headers. Was used in only one other place. Also, change the function so that if anyone else uses it in the future it doesn't throw warnings. 2015-06-01 17:57:34 -07:00
Shish
4fd3d1a024 argh php 2015-06-01 11:23:04 +01:00
Shish
8d2b97b72f more https support, and dedupe get_image/thumb_link 2015-06-01 11:09:19 +01:00
jgen
56b9117a20 Merge branch 'master' into develop 2015-05-31 22:43:49 -07:00
jgen
718cfa0bcf Scrutinizer-ci has fixed this now. 2015-05-31 21:28:11 -07:00
Shish
2aea79ac35 merge common parts of handle_archive and bulk_add 2015-05-24 16:08:46 +01:00
Shish
1779f97cac strip RTL from tags 2015-04-26 15:32:04 +01:00
Daku
598df41b1d set default in display, not build to avoid errors 2015-04-18 10:42:08 +01:00
Daku
be18140944 added option to hide random link on paginator (only post/list should show now) 2015-04-18 10:41:32 +01:00
Daku
05cfbde372 .tables only works with the SQLite3 CLI program
http://www.sqlite.org/faq.html#q7
2015-04-18 10:39:48 +01:00
Daku
b81d457bf7 DEBUG_SQL isn't defined during install, use quotes to avoid errors 2015-04-18 10:38:39 +01:00
Shish
55c3fd8f38 show PHP version (particularly useful when debugging php vs hhvm) 2015-04-18 10:31:24 +01:00
Shish
1703cd9caa bump 2015-03-13 09:49:25 +00:00
Shish
f5c4321322 bump 2015-03-13 09:48:54 +00:00
jgen
3511711008 Should be consistent about using the int_escape method. 2015-03-12 23:12:06 -07:00
jgen
8e3fc1da9f Change generated links to be aware of HTTPS. 2015-02-02 00:13:05 -08:00
Shish
eae385f4c0 bump 2015-01-24 17:11:25 +00:00
Shish
cbbc0bab26 version bump 2015-01-24 17:10:23 +00:00
Shish
edde7848b8 add mp3 to thumbless filetypes, see #454 2015-01-24 16:44:27 +00:00
Shish
217559dc22 set statement_timeout for postgres 2014-12-31 13:16:00 +00:00
Shish
caa2691bb9 Merge pull request #468 from jgen/develop
Allow Shimmie to work with older versions of FFmpeg
2014-12-17 13:44:25 +00:00
Shish
7bcf2fc29e Merge pull request #465 from shish/min_space_config
Turn MIN_FREE_SPACE into a userspace config option
2014-12-17 13:41:55 +00:00
Shish
c0279565f4 Merge pull request #462 from shish/bypass_comment_checks
Allow admins to bypass comment checks (rate limit etc)
2014-12-17 13:40:06 +00:00
jgen
95b94bd115 Some minor linting. 2014-12-14 16:06:31 -08:00
Shish
40734ef711 turn MIN_FREE_SPACE into a userspace config option 2014-12-07 13:54:47 +00:00
Shish
9abcadffb6 throw Ex() -> throw new Ex(); 2014-12-07 13:20:36 +00:00
Shish
316f7ff858 Give a better error if User::class has been screwed up somehow 2014-12-07 03:44:17 +00:00
Shish
88f1df9ca6 HIPHOP is no longer supported (it's HHVM now, and HHVM supports PDO params anyway) 2014-12-07 01:10:12 +00:00
Shish
5ab8f9e5e2 log sets and deletes in CACHE_DEBUG mode 2014-12-06 23:50:56 +00:00
Shish
4d6e6ade1c version bump 2014-12-06 23:48:03 +00:00
Shish
b3931dd403 version bump 2014-12-06 23:47:17 +00:00
Shish
010b0620df add a user flag for bypassing comment checks 2014-11-30 13:52:29 +00:00
Shish
c0dfd9adc0 a little extra consistency in cache variable names 2014-11-26 13:09:49 +00:00
Shish
4721d666cd log time spent waiting for database queries 2014-11-26 13:09:22 +00:00
Shish
1c60942730 log hit/miss when DEBUG_CACHE is on 2014-11-26 13:07:30 +00:00
Shish
dfba656355 die more explicitly when memcache is missing (PHP is terrible) 2014-11-24 02:21:45 +00:00
Shish
f873d2304d Check event handler exists before calling it, in case the cache is out of date. Fixes #442 2014-08-24 11:33:05 +01:00
Daku
14f682da75 avoid errors if tag exceeds limit + flash message showing the problem tag 2014-06-20 00:39:29 +01:00
Shish
9069b0c1fb Merge pull request #429 from DakuTree/patch-misc
Pool updates + other misc tweaks.
2014-06-09 21:05:19 +01:00
Shish
d067545969 Merge pull request #432 from DakuTree/patch-sqlfix
Fix for #431 - Fix negative tags not working if they don't exist.
2014-06-09 20:59:11 +01:00
Daku
5bd7369d7c Merge pull request #427 from shish/bcrypt
Use bcrypt for password storage
2014-06-05 18:00:19 +01:00
Daku
72fbafc271 fixes negative tags not working if they don't exist
fixes #431
2014-06-04 00:52:01 +01:00
Daku
77607e0c02 keep aspect ratio when created video thumbnail 2014-05-29 18:40:17 +01:00