13 Commits

Author SHA1 Message Date
6123757c37 Add strict typing to all files that were missing it. (#60)
Shockingly, this didn't require any code changes. But PHP is more forgiving with "strict typing" than I'd expected. I may go back and clean up function declarations later, but that's not urgent.

Reviewed-on: https://gitea.subcultureofone.org/greg/tkr/pulls/60
Co-authored-by: Greg Sarjeant <greg@subcultureofone.org>
Co-committed-by: Greg Sarjeant <greg@subcultureofone.org>
2025-08-06 00:14:50 +00:00
e5945e91a3 Add error handling to remaining controllers. (#56)
Reviewed-on: https://gitea.subcultureofone.org/greg/tkr/pulls/56
Co-authored-by: Greg Sarjeant <greg@subcultureofone.org>
Co-committed-by: Greg Sarjeant <greg@subcultureofone.org>
2025-08-05 00:44:27 +00:00
832b7b95fa Remove all static model methods. (#52)
Replace all static model methods. Support dependency injection for all models. Clean up things that used the static model methods. Decouple ConfigModel and CssModel.

Reviewed-on: https://gitea.subcultureofone.org/greg/tkr/pulls/52
Co-authored-by: Greg Sarjeant <greg@subcultureofone.org>
Co-committed-by: Greg Sarjeant <greg@subcultureofone.org>
2025-08-03 19:15:24 +00:00
0b0fd29913 simplify-dependency-injection (#44)
Closes https://gitea.subcultureofone.org/greg/tkr/issues/43

Use a global $app dictionary to manage global state rather than having complex class constructors that expect three input arguments. Update and fix tests. Add tests for Util class functions that broke in the refactor.

Reviewed-on: https://gitea.subcultureofone.org/greg/tkr/pulls/44
Co-authored-by: Greg Sarjeant <greg@subcultureofone.org>
Co-committed-by: Greg Sarjeant <greg@subcultureofone.org>
2025-08-02 19:52:33 +00:00
8b5a249450 Make URL building more resilient and add tests. (#38)
Since the base URL and base path are user inputs, I'd like tkr to be resilient to any combination of leading and trailing slashes so people don't have to worry about that. This adds some helper functions to normalize URLs and adds tests to confirm that all combinations are handled correctly.

Reviewed-on: https://gitea.subcultureofone.org/greg/tkr/pulls/38
Co-authored-by: Greg Sarjeant <greg@subcultureofone.org>
Co-committed-by: Greg Sarjeant <greg@subcultureofone.org>
2025-07-31 02:39:09 +00:00
Greg Sarjeant
a3a6471ced Remove a bunch of trailing whitespace. 2025-06-17 22:08:50 -04:00
Greg Sarjeant
bc483294ce consolidate POST session validation. 2025-06-15 15:10:03 -04:00
Greg Sarjeant
427558bd8c Clean up emoji model and sidebar. Fix some validation errors. Allow mood to be cleared. 2025-06-14 13:05:18 -04:00
Greg Sarjeant
3b8d54460c Single column delete view, test for mbstring extension 2025-06-14 00:23:59 -04:00
Greg Sarjeant
8f2534568d custom emoji 2025-06-13 23:46:33 -04:00
Greg Sarjeant
52a77a3dc2 Convert config and user to globals. 2025-06-12 22:09:26 -04:00
Greg Sarjeant
3690317206 Refactor models. Handle empty ticks. Prep for CSS upload. 2025-06-09 14:12:59 -04:00
Greg Sarjeant
78ebb67fc0 Naming fixes. Add partials. Get single ticks working with clean urls. 2025-06-03 21:22:20 -04:00