Commit Graph
6120 Commits
Author SHA1 Message Date
Adam Daley 4cb7198006 Remove ClientPasswordResetTable and inline cleanup (#3453) 2026-04-28 14:39:31 +03:00
Yağızhan Burak Yakar b4b984509d Pass API data to pagination methods (#3449)
* Pass API data to pagination methods

* Fixed phpStan finding

* Added filtering for data parameters

* Simplify the pagination class by extracting pagination options into a class

* Updated imports

* Move SQL validation before the getAll()

* Moved constants to PaginationOptions and put a sane per_page cap

* Removed `Pagination::getDefaultPerPage()`

* Add focused tests
2026-04-28 06:36:04 +01:00
72c6dcc532 Fixes for 3 code quality findings (#3450)
* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* fix: add VERIFYPEER and VERIFYHOST to cspell ignoreWords

Agent-Logs-Url: https://github.com/FOSSBilling/FOSSBilling/sessions/c79bcd25-22d6-424f-b7cb-b17b6ef16246

Co-authored-by: admdly <2807620+admdly@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: admdly <2807620+admdly@users.noreply.github.com>
2026-04-26 23:01:11 +01:00
Adam DaleyandCopilot Autofix powered by AI 9ba38e4fea Fixes for 2 code quality findings (#3448)
* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
2026-04-26 22:11:02 +01:00
renovate[bot] b3abebdfc2 Update phpmyadmin:5 Docker digest to 0480a75 2026-04-26 20:52:12 +00:00
Adam DaleyandCopilot Autofix powered by AI f981ceb518 Fixes for 4 code quality findings (#3446)
* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
2026-04-26 21:41:16 +01:00
Adam DaleyandCopilot Autofix powered by AI e2052adbb2 Fixes for 2 code quality findings (#3445)
* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to tests/Modules/System/AdminTest.php from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
2026-04-26 21:12:02 +01:00
Copilotandadmdly ade0c4d0c1 Fix bugs and typos in installer/pricing templates, improve System admin test coverage (#3444)
* Initial plan

* Fix HTML/JS bugs and typos in installer and pricing templates, improve test coverage

Agent-Logs-Url: https://github.com/FOSSBilling/FOSSBilling/sessions/d16eb3f4-9538-40af-a14b-3f110fe8bed1

Co-authored-by: admdly <2807620+admdly@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: admdly <2807620+admdly@users.noreply.github.com>
2026-04-26 21:04:48 +01:00
52081d284a Improved type casting and removed unnecessary parameters (#3431)
* Cast ticket ID to integer

* Added type casting and removed unnecessary $per_page params

* Fixed tests

* Updated ddev PHP and nginx config

* Support ticket validation and upgrade checks

* Add order mock and constants in ServiceTest

* Require active status for API auth and clear tokens

* Validate client/admin sessions against DB

* Invalidate sessions on user status deactivation

* Check locale availability before toggling

* Escape database name properly

* Validate and cast rel_id to int in ticketCreateForClient to prevent TypeError

Agent-Logs-Url: https://github.com/FOSSBilling/FOSSBilling/sessions/ce700346-2168-43cc-8309-fc6baee7cc82

Co-authored-by: admdly <2807620+admdly@users.noreply.github.com>

* Improve rel_id validation error message to include the invalid value

Agent-Logs-Url: https://github.com/FOSSBilling/FOSSBilling/sessions/ce700346-2168-43cc-8309-fc6baee7cc82

Co-authored-by: admdly <2807620+admdly@users.noreply.github.com>

* Fix Notification AdminTest mock expectation to match actual paginateDoctrineQuery call

Agent-Logs-Url: https://github.com/FOSSBilling/FOSSBilling/sessions/2fb587cf-6312-4b98-89e5-10f074646eaa

Co-authored-by: admdly <2807620+admdly@users.noreply.github.com>

* Validate interface and custom interface inputs

* Tighten custom interface hostname validation

* Accept `per_page` in paginated API responses

* Validate HTTP interfaces and normalize upgrades

* Enforce active status and secure config export

* Cast rel_type/rel_task/rel_status to string in SupportTicketValidator to prevent TypeError

Agent-Logs-Url: https://github.com/FOSSBilling/FOSSBilling/sessions/1ecf2bb3-1139-420f-8421-41ae8f6d1d5f

Co-authored-by: admdly <2807620+admdly@users.noreply.github.com>

* Use FILTER_VALIDATE_INT instead of is_numeric for rel_id validation in Service.php

Agent-Logs-Url: https://github.com/FOSSBilling/FOSSBilling/sessions/7bacd505-ba15-42da-8f52-7621afa1d634

Co-authored-by: admdly <2807620+admdly@users.noreply.github.com>

* Validate rel_new_value as a positive integer before using as Product ID in upgrade tickets

Agent-Logs-Url: https://github.com/FOSSBilling/FOSSBilling/sessions/842c7e1c-255b-4f09-8235-f34681e0392b

Co-authored-by: admdly <2807620+admdly@users.noreply.github.com>

* Tighten `sValidHttpInterface` validation

* Add page parameter to pager calls

---------

Co-authored-by: Adam Daley <admdly@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: admdly <2807620+admdly@users.noreply.github.com>
2026-04-26 20:30:22 +01:00
renovate[bot] 821fdc0c4c Lock file maintenance 2026-04-26 18:56:00 +00:00
renovate[bot] 420120091a Update dependency postcss to v8.5.12 (#3443)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-26 19:49:59 +01:00
renovate[bot] 7e93ebf8b4 Update dependency symfony/polyfill-php85 to v1.37.0 (#3442)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-26 19:41:33 +01:00
renovate[bot] 43258fd2c5 Update dependency symfony/polyfill-php84 to v1.37.0 (#3441)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-26 19:32:10 +01:00
LaoDCandAdam Daley b2f7dac1e1 Fix product recurrent pricing enabling (#3417)
* Fix product recurrent pricing enabling

The new api call function was passing both the hidden element and the input checkbox for enabled.
As the hidden element is no longer required, it has been removed.

* Overwrite duplicate params and default pricing

---------

Co-authored-by: Adam Daley <admdly@users.noreply.github.com>
2026-04-26 18:51:12 +01:00
Manuel de AlmeidaandAdam Daley b574e4c7f5 Show password requirements on setup page (#3381)
* Show password requirements on setup page

* Use small tag for password help

---------

Co-authored-by: Adam Daley <admdly@users.noreply.github.com>
2026-04-26 18:29:04 +01:00
renovate[bot] 477975f7d0 Update dependency ckeditor5 to v48.0.1 2026-04-26 01:40:41 +00:00
renovate[bot] 3e172e1c5c Update dependency prinsfrank/standards to v3.16.3 2026-04-25 01:24:53 +00:00
Copilotandadmdly 7fbd89f840 Refactor test quality: extract pagination mock helper, fix currency codes, clean up deprecated annotations (#3439)
* Initial plan

* refactor(tests): extract pagination mock helper, fix currency codes, rename api property, remove deprecated annotations

Agent-Logs-Url: https://github.com/FOSSBilling/FOSSBilling/sessions/e7163564-4994-454a-b30c-179118effbf5

Co-authored-by: admdly <2807620+admdly@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: admdly <2807620+admdly@users.noreply.github.com>
2026-04-25 02:23:52 +01:00
Yağızhan Burak Yakar 06e4a693c3 Fixed boolean types and improved status checks for orders (#3437)
* Normalize booleans

* Require the order to be active for client domain actions

* Require the order to be active for client hosting actions
2026-04-24 17:28:53 +01:00
Yağızhan Burak Yakar 0a11a7f6a6 Added missing password strength checks while updating passwords (#3436)
Added missing password strength while updating passwords
2026-04-24 17:57:46 +03:00
Adam DaleyandCopilot Autofix powered by AI cae58ae056 Fixes for 2 code quality findings in legacy tests (#3435)
* Apply suggested fix to tests-legacy/modules/Invoice/Api/AdminTest.php from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Apply suggested fix to tests-legacy/modules/Invoice/Api/AdminTest.php from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
2026-04-24 14:26:48 +01:00
renovate[bot] 1c5d89833a Update dependency stripe/stripe-php to v20 (#3377)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-24 07:27:52 +01:00
66c05c0db6 Apply PHP Code Styling & Quality Changes (#3433)
Co-authored-by: FOSSBilling Bot <fossbilling-bot>
Co-authored-by: Adam Daley <admdly@users.noreply.github.com>
2026-04-24 05:52:09 +01:00
renovate[bot] 3b04ed466c Update dependency sentry/sentry to v4.25.0 (#3434) 2026-04-24 04:42:38 +01:00
renovate[bot] 484e00d0bd Update phpmyadmin:5 Docker digest to 5267c9e 2026-04-23 04:36:29 +00:00
renovate[bot] 6e9789ea75 Update php:8.5-apache Docker digest to e55e196 2026-04-23 01:34:23 +00:00
Adam DaleyandCopilot Autofix powered by AI 5fceb5a775 Refactor API validation and enhance payment IPN handling with tests (#3432)
* Improve API validation and payment IPN security

* Validate `order_id` param before use

* Fix for PR finding

Co-Authored-By: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Set admin transaction source; fix params/tests

* Require non-empty order_id for send_file

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-04-22 19:16:22 +01:00
renovate[bot] df2eddb29d Update dependency phpstan/phpstan to v2.1.51 2026-04-22 01:31:30 +00:00
FOSSBilling Bot 0880f6f7e7 Apply PHP Code Styling & Quality Changes (#3430) 2026-04-21 18:20:19 +01:00
Copilotandadmdly 0241b2ccca Add void return typing and normalize Staff service lookup casing; remove unreachable Profile admin test assertions (#3429)
* Initial plan

* fix staff event handler typing and service casing; clean unreachable test assertions

Agent-Logs-Url: https://github.com/FOSSBilling/FOSSBilling/sessions/213a9ffb-09ed-47ec-a512-5fcfe6d2c9c7

Co-authored-by: admdly <2807620+admdly@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: admdly <2807620+admdly@users.noreply.github.com>
2026-04-21 09:58:25 +01:00
LaoDC 083906799f Fixed invalidateSessions() (#3427)
As $id is expected to be an int or null, basic typecasting to ensure correct type is being provided.
2026-04-21 09:17:11 +01:00
renovate[bot] 9744974634 Lock file maintenance (#3426)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-21 05:41:40 +00:00
renovate[bot] c0cefdea64 Update dependency php-debugbar/php-debugbar to v3.7.5 2026-04-21 01:45:40 +00:00
renovate[bot] 4333e4fcc7 Update actions/setup-node digest to 48b55a0 2026-04-21 00:37:31 +00:00
renovate[bot] 14d356427b Update dependency postcss to v8.5.10 2026-04-20 08:59:03 +00:00
renovate[bot] af24b9cede Update dependency phpunit/phpunit to v12.5.23 2026-04-20 02:08:33 +00:00
renovate[bot] 247ee7cab4 Update dependency phpunit/phpunit to v12.5.22 [SECURITY] 2026-04-18 08:55:18 +00:00
renovate[bot] c3c6c333a0 Update dependency phpstan/phpstan to v2.1.50 2026-04-18 02:41:08 +00:00
Adam DaleyandCopilot Autofix powered by AI ffdcd8cd24 Fix for 1 code quality finding in Profile legacy tests (#3423)
Apply suggested fix to tests-legacy/modules/Profile/Api/AdminTest.php from Copilot Autofix

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
2026-04-17 08:26:59 +01:00
Adam Daley 601fb9536d Update CI workflow actions and remove cache step (#3422) 2026-04-17 08:08:51 +01:00
FOSSBilling BotandFOSSBilling Bot 839388f6b0 Apply PHP Code Styling & Quality Changes (#3420)
Co-authored-by: FOSSBilling Bot <fossbilling-bot>
2026-04-17 07:32:49 +01:00
renovate[bot] 97b093580f Update dependency autoprefixer to v10.5.0 (#3421)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-17 07:20:01 +01:00
renovate[bot] 37edb36ed8 Update dependency rector/rector to v2.4.2 2026-04-17 03:07:48 +00:00
renovate[bot] a5a24e576d Update dependency phpstan/phpstan to v2.1.49 2026-04-17 00:12:50 +00:00
renovate[bot] ef9d8902d6 Lock file maintenance 2026-04-16 09:04:24 +00:00
renovate[bot] fc6bd6338e Update dependency prinsfrank/standards to v3.16.2 2026-04-15 18:02:36 +00:00
renovate[bot] e2a5d010c7 Update github/codeql-action digest to 95e58e9 2026-04-15 17:56:09 +00:00
renovate[bot] c2a7e66675 Update dependency symfony/polyfill-php85 to v1.36.0 (#3419)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-15 18:55:32 +01:00
renovate[bot] 9a47390442 Update dependency symfony/polyfill-php84 to v1.36.0 (#3418)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-15 18:47:16 +01:00
Yağızhan Burak YakarandAdam Daley f2ccbf491a Permission system improvements and new permission keys (#3396)
* Decouple hide_permissions and can_always_access

* Introduce 13 new permission keys for Client and Hook

* Create a new `has_permission` function in Twig and start using it

* Created 5 new permission keys for Currency

* Remove unused logMock

* Implemented per-request caching for staff permissions

* Decouple hide_permissions and can_always_access

* Introduce 13 new permission keys for Client and Hook

* Create a new `has_permission` function in Twig and start using it

* Created 5 new permission keys for Currency

* Remove unused logMock

* Implemented per-request caching for staff permissions

* Created 3 new permission keys for System

* Return a more helpful exception message

* Make permission errors return HTTP 403 instead of 401

* Created 2 new permission keys for Redirect

* Renamed the keys to keep in line

* Fixed tests

* Add manage_settings permission key to Redirect

* Refactor API authentication flow and improve token handling

* Enforce `client.view` and refactor staff cache

---------

Co-authored-by: Adam Daley <admdly@users.noreply.github.com>
2026-04-15 18:36:58 +01:00