Commit graph

1712 commits

Author SHA1 Message Date
Shish
d85f4d3799 automatic version 2020-03-27 12:24:47 +00:00
Shish
880a702b42 dedupe page_number parsing 2020-03-27 00:23:29 +00:00
Shish
b0c5043892 test InitExt / DatabaseUpgrade 2020-03-26 19:06:30 +00:00
Shish
511a82f2ba include database version in sys info 2020-03-26 16:57:08 +00:00
Shish
1b10d8583e missed a reference 2020-03-26 15:01:26 +00:00
Shish
4e4deed889 bump 2020-03-25 15:27:50 +00:00
Shish
d4e05d947a bump 2020-03-25 15:20:55 +00:00
Shish
03806d0420 https a bunch of things 2020-03-25 11:47:00 +00:00
Shish
c794e457b1 + 2020-03-23 20:01:37 +00:00
Shish
1753cbd72b bump for cleaner install 2020-03-23 20:00:53 +00:00
Shish
040bffa4f6 even the installer requires composer now, so check for that first 2020-03-23 18:47:18 +00:00
Shish
a3f0c94ca2 version bump, and don't suggest that people should use old branches 2020-03-23 18:31:10 +00:00
Shish
9147b64625 more dev docs 2020-03-23 18:21:27 +00:00
Shish
1fc75c0b18 Whenever we display an image for any reason, show the admin block, fixes #621 2020-03-23 00:06:43 +00:00
Shish
ad9cca36b1 improvements to run inside docker 2020-03-22 15:23:23 +00:00
Shish
36f0024426 ffffff php... 2020-03-19 14:01:48 +00:00
Shish
adf4534816 base user all permissions disabled by default, and reg viewer 2020-03-19 13:37:14 +00:00
MikChan
cb275d3e3b
Fixed code style according to PSR-2 2020-03-19 01:15:25 +03:00
MikChan
a5f5b44798
Fixed Admin permissions 2020-03-19 01:06:55 +03:00
Shish
7fa9d11512 hard-code one bad case 2020-03-13 10:04:12 +00:00
Shish
8f3002f2d8 dot in special chars list 2020-03-13 09:47:43 +00:00
Shish
1597eff082 lint fixing 2020-03-13 09:23:54 +00:00
Matthew Barbour
b4bde94516 Added auto-tagger extension 2020-03-02 15:24:40 +00:00
Matthew Barbour
ac80ca8443 Added exists function to database object 2020-03-02 15:21:49 +00:00
Matthew Barbour
546f0701a9 Added text to transcode message to indicate file size change 2020-03-02 14:24:08 +00:00
Shish
33731e8cb0 separate link formatting for URLs and for plain text 2020-02-25 12:26:56 +00:00
Shish
b44a4de42c one return 2020-02-25 12:18:18 +00:00
Shish
89dd1a7658 create_scaled_image, for other uses 2020-02-25 12:04:37 +00:00
Matthew Barbour
152e55b5db Changed Image::by_hash so that it isn't case-sensitive 2020-02-23 23:07:02 -06:00
Shish
e1e161759e rename handle_static to static_files - stop confusing it with file handlers 2020-02-23 18:48:25 +00:00
Shish
174b87d0c4 info show types 2020-02-23 18:38:23 +00:00
Shish
b5e9daeab5 dedupe more data handling 2020-02-23 18:37:22 +00:00
Shish
674d3fc6fa dedupe create_image_from_data 2020-02-23 18:19:27 +00:00
Shish
c5d8585824 info command 2020-02-23 18:14:35 +00:00
Shish
4ade3452ee dedupe getSubclassesOf 2020-02-23 18:14:35 +00:00
Shish
43ab3088cf cache key 2020-02-13 20:54:59 +00:00
Shish
3a57817fc2 Spread ParseLinkTemplate work across relevant extensions 2020-02-09 19:22:25 +00:00
Shish
41a205d24a avoid having nice_urls as both system and admin setting 2020-02-09 16:36:22 +00:00
Shish
641fd5a16f remove CACHE_HTTP - client side page cache causes more problems than it solves 2020-02-09 16:25:17 +00:00
Shish
3c78b5685e remove runtime-coverage -- when we want coverage, we enable it at the PHP runtime level 2020-02-09 16:08:35 +00:00
Shish
d749784e95 remove redundant escaping and split load_balance_url into a separate function with testing 2020-02-09 16:02:37 +00:00
Shish
cc7a33b31f show lengths to 1/10th second 2020-02-09 00:32:20 +00:00
Shish
4b5becfb7f video length in thumb 2020-02-08 20:44:23 +00:00
Shish
fd7c774f5b handle_svg doesn't need to override ALL of onDataUpload 2020-02-08 20:44:23 +00:00
Shish
0b304bdf2e use Permissions for Favourites / Artist / Relationships, and also check image lock when sending ImageInfoSet instead of getting each receiver to check it 2020-02-08 00:24:42 +00:00
Shish
aac9cf1fe0 merge some self-contained bits from @sanmadjack's branch 2020-02-07 22:05:27 +00:00
Shish
cdaecb3380 format 2020-02-06 03:10:30 +00:00
Shish
81880f7458 Make installer nice again 2020-02-06 02:19:51 +00:00
Shish
03af4dd92f ??? 2020-02-05 09:01:22 +00:00
Shish
23943692ce formatting 2020-02-05 01:38:32 +00:00
Shish
342f30142b re-enable prefetch 2020-02-05 01:27:00 +00:00
Shish
ef82d5f1a1 account for missing tags 2020-02-05 01:26:18 +00:00
Shish
f7feb4075a order, order 2020-02-05 00:27:37 +00:00
Shish
1a07f84622 inline build_accurate_search_querylet 2020-02-05 00:16:47 +00:00
Shish
e971d10d41 we can also optimise one negative tag in the same way 2020-02-04 23:49:54 +00:00
Shish
b81a95129c faster search for getting deep into individual tag archives 2020-02-04 23:43:24 +00:00
Shish
c0bdb6b7f8 merge common stuff into build_search_querylet 2020-02-04 23:27:01 +00:00
Shish
aa5cf0e81b optimise counting number of results for one negative tag 2020-02-04 23:05:07 +00:00
Shish
9216be3c96 if we're past the searchable number of pages, don't bother counting the number of pages, just 404 2020-02-04 22:44:27 +00:00
Shish
7d4008bae8 remove email stuff that was never used 2020-02-04 21:09:58 +00:00
Shish
13f4de8c14 Have arrowkey nav use HTML next/prev links 2020-02-04 01:59:08 +00:00
Shish
fdfae4f9c0 first/last links too 2020-02-04 01:18:04 +00:00
Shish
0f0cceae22 format 2020-02-04 01:15:25 +00:00
Shish
d13c91ff9a Merge branch 'master' of https://github.com/shish/shimmie2 2020-02-04 01:14:11 +00:00
Shish
ad905248e8 prev/next/preload links for any page with a paginator 2020-02-04 01:12:50 +00:00
Shish
0452de1be9 flush stdout after each CLI logging call 2020-02-02 15:53:05 +00:00
Shish
f70bce113d BASE_HREF is always defined, but sometimes defined as null 2020-02-01 23:42:40 +00:00
Shish
f5c402ad85 inline a one-use function 2020-02-01 23:37:20 +00:00
Shish
b6656e8141 more privacy 2020-02-01 23:30:19 +00:00
Shish
0bcbcb679e have navlinks as a utility methods that themes can call, if they want to 2020-02-01 23:23:23 +00:00
Shish
6d2c92575d tests for format_milliseconds 2020-02-01 23:03:23 +00:00
Shish
e91acbb2c2 remove unused scoreql parameters 2020-02-01 22:51:30 +00:00
Shish
40ab91f8ea remove redundant scoreql_to_sql 2020-02-01 22:44:50 +00:00
Shish
1589b42a10 test_truncate 2020-02-01 22:35:41 +00:00
Shish
ce8da04d3a dedupe BASE_URL / BASE_HREF 2020-02-01 22:26:08 +00:00
Shish
e9ab6aa802 drop redundant end-php tag 2020-02-01 21:42:47 +00:00
Shish
665d5db3f6 drop un-used, un-tested config variants 2020-02-01 21:40:35 +00:00
Shish
6f7e0e5b12 drop logging args that didn't get used in practice 2020-02-01 21:37:07 +00:00
Shish
3f689b68bc MockDatabase didn't get used 2020-02-01 21:32:38 +00:00
Shish
66bd27b0ee fix login for names with spaces 2020-02-01 21:21:27 +00:00
Shish
a5c7faeff7 move stream_file to its own function 2020-02-01 21:20:32 +00:00
Shish
1b4d06c8d2 explanation 2020-02-01 20:01:25 +00:00
Shish
43ea7fb70c replace array_{add,remove} with array_diff 2020-02-01 19:30:32 +00:00
Shish
dcb1f862e6 types 2020-02-01 18:27:21 +00:00
Shish
f0f3cc7aa0 merge layout stuff into Page class 2020-02-01 18:11:11 +00:00
Shish
de0a7138d2 formatting 2020-02-01 11:59:39 +00:00
Shish
135b8db720 fix types in http_range support 2020-02-01 11:59:39 +00:00
Shish
da42b19d6b make it more explicit that caret/decaret are for encoding tags into URL paths 2020-01-30 21:50:30 +00:00
Shish
fb80509be9 also escape ? and & in tags 2020-01-30 21:24:16 +00:00
Shish
0ec305a886 stop using ? as a wildcard 2020-01-30 10:55:35 +00:00
Shish
c2231432f3 no make_link for forms 2020-01-30 10:31:11 +00:00
Shish
831906681e fixes for mysql 2020-01-30 09:01:19 +00:00
Shish
fb5bce69f8 SQL T_T 2020-01-29 20:34:02 +00:00
Shish
4e57e04ddf fix a lot of tests 2020-01-29 20:22:50 +00:00
Shish
86d93b2cc2 bool_escape('1') should be True 2020-01-29 20:20:17 +00:00
Shish
6d3ca01424 format 2020-01-29 00:49:26 +00:00
Shish
615da9e9d2 fix all the tests (for sqlite, php7.4, osx, at least) 2020-01-28 21:19:59 +00:00
Shish
ac1076b3f3 don't use string concatenation for sql 2020-01-28 00:49:51 +00:00
Shish
94635c0c00 add some tests 2020-01-28 00:47:30 +00:00
Shish
a887077ac8 remove redundant escapes 2020-01-28 00:16:22 +00:00
Shish
9ac8246fa2 fixes 2020-01-27 22:22:07 +00:00
Shish
af48aa504b stop ENABLED_MODS 2020-01-27 20:00:23 +00:00
Shish
59c89ee135 Stop failing to have a separate SCORE_VERSION 2020-01-27 19:57:07 +00:00
Shish
15d1e4ef17 Remove MIN_PHP_VERSION - that's not a thing that end users can change 2020-01-27 19:54:51 +00:00
Shish
22c7cab0cd Merge AUTO_DB_UPGRADE into SPEED_HAX 2020-01-27 19:52:54 +00:00
Shish
3c5e6f0746 delete search-accel stuff - built-in queries are faster now 2020-01-27 19:49:50 +00:00
Shish
87d1e21679 merge COMPILE_ELS into SPEED_HAX 2020-01-27 19:48:20 +00:00
Shish
d254b98780 more helpful installer exception 2020-01-27 19:37:28 +00:00
Shish
7080f8bc2a fix InstallerException 2020-01-27 19:31:38 +00:00
Shish
7e43e2e304 split www stuff to index.php and test things to tests/bootstrap.php 2020-01-27 19:28:58 +00:00
Shish
b0237ddd97 more stuff to util.php 2020-01-27 19:05:43 +00:00
Shish
fc6db3509a tracer_enabled is global 2020-01-27 18:36:29 +00:00
Shish
dba89e9d13 make all themes have a Page class, to simplify loading 2020-01-27 18:35:36 +00:00
Shish
903679dc53 more stuff into regular functions 2020-01-27 18:24:11 +00:00
Shish
9b50e98927 move some installer bits to util.php 2020-01-27 17:47:28 +00:00
Shish
4bd1d8b6ee forms 2020-01-26 23:23:15 +00:00
Shish
50f3d04f0c transload error log-ish 2020-01-26 23:23:01 +00:00
Shish
b98dd3dd76 typing 2020-01-26 22:58:59 +00:00
Shish
cddf6e9d5f more types 2020-01-26 19:44:36 +00:00
Shish
235b976dbc databases... 2020-01-26 18:10:58 +00:00
Shish
9d9532a215 warner 2020-01-26 17:47:41 +00:00
Shish
d3737c7a66 warner 2020-01-26 17:43:39 +00:00
Shish
06fffd6328 more 2020-01-26 17:39:55 +00:00
Shish
3631084afd format 2020-01-26 16:38:26 +00:00
Shish
9eb5acf2dc use strict types 2020-01-26 16:27:56 +00:00
Shish
f5ccffdaf4 shm_simple_form 2020-01-26 13:29:04 +00:00
Shish
73c63e3477 microhtml for user page 2020-01-16 19:13:12 +00:00
Shish
057ccd65c3 Merge branch 'master' of https://github.com/shish/shimmie2 2019-12-26 16:37:37 +00:00
Shish
51628607d0 ...? 2019-12-26 16:33:08 +00:00
Shish
8bc7d5d445 pg 2019-12-26 16:21:15 +00:00
Shish
f3cb70a06d Revert "inline some one-use vars"
This reverts commit 1c3d4ad5e3.
2019-12-26 16:20:05 +00:00
Shish
b8dc0a880b if login fails with a space, try with underscore 2019-12-16 09:01:09 +00:00
Shish
678b25d92b get flash from GET as early as possible 2019-12-16 00:06:04 +00:00
Shish
86d4f2eb82 permissions for sending & reading PMs, so that ghosts can have them revoked 2019-12-15 20:40:05 +00:00
Shish
70db0ce5bd flash_message -> page->flash, with no cookies 2019-12-15 19:47:18 +00:00
Shish
1c3d4ad5e3 inline some one-use vars 2019-12-15 16:13:09 +00:00
Shish
090ff65109 replace ILIKE with the better-supported LOWER 2019-12-15 16:09:48 +00:00
Shish
d7a2ca9ddc remove SCORE_STRNORM - everyone supports LOWER now 2019-12-15 16:07:46 +00:00
Shish
d705578f79 formatting 2019-12-15 15:31:44 +00:00
GP32
e4400631a9
fixing "12 hours ago" error when using SQLite 2019-12-10 12:50:47 +09:00
Shish
cb29d07ecc get rid of exists(), because rowCount doesn't work consistently 2019-12-10 01:17:14 +00:00
Shish
562a2c8fea use microhtml for ext_manager 2019-12-09 14:20:56 +00:00
Shish
7f041a9f93 have fatal_error print out a bunch more info when run from CLI 2019-12-07 22:53:59 +00:00
Shish
d6fe059b67 stringer() function, because php lacks a good repr() D: 2019-12-07 22:51:28 +00:00
Shish
0806b2e5f0 Give Event a default toString 2019-12-07 22:49:02 +00:00
Shish
3e408c0f28 allow dashes in block IDs 2019-12-01 23:41:10 +00:00
Shish
30b85f58db anon-ghost mode, and ghosts can't sign up for accounts 2019-11-28 21:32:18 +00:00
Shish
358f6d7abc ghost bans 2019-11-28 17:20:23 +00:00
Shish
7bf60542df script defer 2019-11-28 11:43:30 +00:00
Shish
a9993b47a8 working microcrud for ipbans 2019-11-27 21:06:14 +00:00
Shish
6b2304af93 format 2019-11-27 12:13:04 +00:00
Shish
861def1aa3 be explicit about using FFS-PHP's PDO not vanilla PDO 2019-11-26 10:26:38 +00:00
Shish
29994e9613 postgres now recommends IDENTITY over SERIAL 2019-11-25 00:24:45 +00:00
Shish
a175405210 replace ipban page with microcrud 2019-11-24 15:59:14 +00:00
Shish
c94f289291 html_escape all exception messages - pass query out-of-band if we want it formatted 2019-11-11 16:43:42 +00:00
Shish
6486bb95da name_to_id 2019-11-11 16:43:42 +00:00
Shish
247cfcbd77 Avoid shadowing global variable
When we aren't referencing the current `global $user`, we should give it
a different name to avoid confusion
2019-11-11 16:43:42 +00:00
Shish
bde49c4f5e paged ip bans 2019-11-11 12:52:11 +00:00
Shish
10b9e0ccbc fix page number logic 2019-11-08 17:34:06 +00:00
Shish
f79eafc91e format 2019-11-04 00:42:06 +00:00
Shish
d17e207984 Have get_arg never return null
90% of places assume it will never return null, and they will break in
weird ways if it does return null
2019-11-04 00:40:10 +00:00
Shish
494ba15a70 log every ext version change 2019-11-03 19:04:57 +00:00
Shish
0fa371c7b0 create tables before init 2019-11-03 18:32:50 +00:00
Shish
c58a13ae88 formatting 2019-11-03 18:28:38 +00:00
Shish
6bc33ee691 Drop SCORE_DATETIME/NOW - all the databases we care about now support TIMESTAMP/CURRENT_TIMESTAMP 2019-11-03 18:28:05 +00:00
Shish
031c441e47 split DatabaseUpgrade into a separate event from InitExt 2019-11-03 17:21:05 +00:00
Shish
ac5546c6ef remove more old comments 2019-11-03 16:22:59 +00:00
Shish
55c6854003 formatting 2019-11-02 19:57:34 +00:00
Matthew Barbour
6b22f6da3f Cleanup 2019-11-01 23:55:23 -05:00
Matthew Barbour
2b46ede098 approval permissions 2019-11-01 23:49:01 -05:00
Matthew Barbour
016fb6be65 Small fixes and corrections 2019-11-01 23:47:53 -05:00
Matthew Barbour
ed8caa86bf Fix for random issue 2019-10-18 16:35:44 +01:00
Matthew Barbour
3efa76c6a2 Added set_timeout to database and engine 2019-10-18 16:34:12 +01:00
Matthew Barbour
d1853ee1db Added scoreql option to database functions to make using scoreql less verbose
Added exists function to the database
2019-10-18 16:32:06 +01:00
Matthew Barbour
9139bbfd01 Added another lower() to a tag lookup 2019-10-18 16:31:38 +01:00
Matthew Barbour
3a14857b40 Consolidated tag sanitization functions
Added more tag convenience functions
2019-10-18 16:29:04 +01:00
Matthew Barbour
6b030c00eb Constants for index config 2019-10-18 16:26:11 +01:00
Matthew Barbour
d605e0e572 Added cron_admin permission 2019-10-17 14:26:14 -05:00
Matthew Barbour
92a0afc15e Supporting function for cron uploader changes 2019-10-10 10:41:17 -05:00
Shish
4564fd4092 by_id_or_hash for more elegant CLI use 2019-10-04 20:48:21 +01:00
Shish
71c74e034b allow find_images without limit 2019-10-04 20:47:48 +01:00
Shish
cfa48deda1 consistent indent 2019-10-03 17:57:32 +01:00
Shish
30698fefdc remove a bunch of dead variables and things 2019-10-02 11:23:57 +01:00
Shish
e08cdb1638 make Cache its own thing, separate from Database 2019-10-02 10:49:32 +01:00
Shish
486c048950 typo 2019-10-02 09:06:00 +01:00
Shish
704cab4470 type fixes 2019-10-02 09:03:14 +01:00
Shish
785e5b67e6 assert for type checking 2019-10-02 08:35:54 +01:00
Shish
6ccf7b72e2 int for port numbers 2019-10-02 00:39:45 +01:00
Shish
c197d021bb Memcache hasn't been supported since php5 - we use Memcached now 2019-10-02 00:38:22 +01:00
Shish
f1c146b512 support set_int(foo, null) 2019-10-02 00:37:22 +01:00
Shish
08293bd32a remove hack for ancient php bug 2019-10-01 11:07:38 +01:00
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