Commit graph

1842 commits

Author SHA1 Message Date
Shish
3981ea188d more useful errors from page_to_text 2024-09-05 12:36:41 +01:00
Shish
d1ed1c4b64 footer_html as HTMLElement 2024-09-05 12:27:21 +01:00
Shish
4076051456 factor out commonly duplicated flash_html 2024-09-05 12:19:48 +01:00
Shish
bda801054d don't assume exception messages are html 2024-09-05 12:18:12 +01:00
Shish
12a8747020 add another special case for URL parsing, and some tests, see #1236 2024-09-04 19:09:32 +01:00
Shish
17c43f62e2 add even more hacks onto the pile of hacks for URL parsing, see #1236 2024-09-04 16:46:10 +01:00
Shish
b151a029c1 make sure stdlib_ex is included before database things, fixes #1240 2024-09-04 15:13:57 +01:00
Shish
70f7108e22 Replace flexihash with weighted rendezvous hashing
`Flexihash.php` hasn't been maintained for years and isn't php8.4 compatible; WRH is much simpler, and much better balanced, and nearly as fast
2024-09-03 17:19:02 +01:00
Shish
7353683a13 no implicit nulls (they are deprecated in php8.4) 2024-09-01 00:06:46 +01:00
Shish
b3aa0fc381
Merge branch 'main' into speed-hax 2024-08-31 22:00:30 +01:00
Shish
33f5b5ef1a [core] use salted sha3 instead of md5 for session tokens 2024-08-31 21:53:30 +01:00
Shish
399a56ac79 [dev] bump phpstan strictness
no more null surprises
2024-08-31 21:25:20 +01:00
Shish
845c8b3d85 [core] Make User::by_name / User::by_id not-null
Nearly everywhere that these functions are called, the result is assumed to be not-null, and a null will break things
2024-08-31 20:39:36 +01:00
Shish
8b20fa3bc2 Add preg_replace_ex
having preg_replace return string|array|null is a pain, string|exception is much cleaner
2024-08-31 19:56:27 +01:00
Shish
2e8f38cce0 [core] merge Config and BaseConfig
Multiple layers of inheritance were confusing both humans and tools...
2024-08-31 19:33:27 +01:00
Shish
8efa960e5d Make some more things null-safe
(in preparation for bumping up the phpstan strictness to disallow null-unsafe code)
2024-08-31 19:19:24 +01:00
Shish
8f8c0d151a Update dependency versions 2024-08-31 17:06:39 +01:00
Shish
d4c17598fb [core] add PetalBot to the list of bots 2024-06-30 01:25:36 +01:00
Shish
7150af6b9e [core] use sha3 instead of md5 for csrf tokens 2024-06-21 19:35:47 +01:00
Shish
17b0b4e94f [core] remove config->set_XXX("foo", null) -- use config->delete("foo") instead 2024-06-21 19:17:44 +01:00
Shish
f84bcaec01 microhtml for everything in <head>
I wanted to ensure that all pages (even the downtime page, terms page, home page, etc) had the appropriate `data-` attributes on `<body>` (because those are required for certain javascript, eg autocomplete, to work). One thing led to another and now everything in `head` is microhtml'ed
2024-06-21 18:52:05 +01:00
discomrade
38a7bb542b use <code> where appropriate 2024-06-21 18:24:38 +01:00
Shish
24d6aff794 [core] remove unusued isnull SQL function 2024-06-21 18:03:39 +01:00
Shish
5b083c9ad4 [core] different errors for missing vs invalid CSRF token 2024-06-21 00:24:57 +01:00
Shish
be842308d9 [core] have a system level SECRET variable, to be used as a salt separate from DATABASE_DSN 2024-06-21 00:18:43 +01:00
Shish
8cb87b2469 [core] add a test suite for SQL features 2024-06-20 23:22:58 +01:00
Shish
61f13c6794 [core] have User::by_session() check session ID on the PHP side
Generating the token on the PHP side is more consistent than getting the databases to do it
2024-06-20 01:13:10 +01:00
Shish
8a3d5b5b11 [core] move get_session_id and set_login_cookie into User class 2024-06-20 01:07:11 +01:00
Shish
a59b9f706c [core] use || for SQL concatenation
MySQL supports this now?
2024-06-19 23:57:41 +01:00
Shish
069fb92f54 [core] test for bool_escape(null) == false 2024-06-19 15:24:05 +01:00
Shish
63c6f9d2ac [core] config->save() is implicit in set_XXX(), no need to call it from outside of there 2024-06-19 15:23:42 +01:00
discomrade
350b44f250 [speed_hax] extract SPEED_HAX tweaks to extension 2024-06-14 13:52:49 +00:00
discomrade
60f96fa128 [blur] blur thumbs with explicit rating 2024-06-10 14:16:30 +01:00
discomrade
6ad54565c5 [core] allow relative url in contact link 2024-06-09 17:01:37 +01:00
Shish
2f07d4c71c [core] make request cookies configurable 2024-06-07 14:47:30 +01:00
Shish
d04407d3bc bump
`main` branch is working towards 2.12, not 2.11
2024-06-05 14:06:10 +01:00
Shish
db148da479 [core] add shm_make_link JS function, to generate links from JS which work both with and without niceurls, fixes #1160, fixes #1151 2024-06-05 14:01:40 +01:00
discomrade
baf55a26fa [terms] add terms and conditions gate 2024-06-04 20:04:38 +01:00
Shish
5cbbe5e1b3 [core] remove is_logged_in
This was only used in a couple of places, and user classes are more useful
2024-05-04 16:06:08 +01:00
Shish
f6973fd01f [core] make PageRequest->page_starts_with be less weird 2024-04-27 01:12:39 +01:00
Shish
b59fe4c694 Have a common PartListBuildingEvent, fixes #1124 2024-03-28 16:17:18 +00:00
Shish
517f8c0019 [core] differentiate permission denied due to missing permission vs error, see #1103 2024-03-12 13:13:02 +00:00
Shish
b6cca42f73 [core/polyfills] remove mb_ functions - there are standard polyfills for that 2024-02-27 13:05:22 +00:00
Shish
b9c7d632fd [graphql] custom field resolver, fixes #1089 2024-02-25 19:32:05 +00:00
Shish
2be141327a [graphql] fix graphql field access, fixes #1089 2024-02-25 16:54:13 +00:00
Shish
2f4d8572b7 [core] don't limit searchable tag length, only writable length, fixes #1087 2024-02-24 17:47:22 +00:00
Shish
ac14d1e4c6 [core] search code docs and test function 2024-02-24 14:44:17 +00:00
Shish
4cc9b2f5d3 [core] don't crash when REMOTE_ADDR is 'unix:', fixes #1076 2024-02-22 23:18:38 +00:00
Shish
ae92e42300 [core] Utils tests 2024-02-21 23:51:10 +00:00
Shish
dd6c47484d [core] UserClass tests 2024-02-21 23:38:52 +00:00