* Update rector config to include tests
* Run Rector against the tests
* Delete test-results
* Update .gitignore
* Correctly set the PHP min to 8.1, split the configs
* Corrected PHPDoc
* Deleted tests we can't really get to pass
PHPunit is hard-coded to fail when a class has a return type of `never`, which is the correct return type of our redirect function (and rightfully so).
No way to disable the exception as far as we can tell
* Update PHPUnit to version 10
Update composer and CI version of PHPUnit to 10, and migrate XML config to updated schema.
* Update tests for PHPUnit 10
Update tests to replace depreciated functions in PHPUnit 10. Also, remove risky tests which don't assert anything.
* Fix PATH_DATA constant to use config
Update `PATH_DATA` constant to use the `path_data` config option.
* Replace direct config references with constants
Replace direct references to `config.php` file and specific config options in favour of global constants, where available.
* Drop BB prefix on global constants
Rename global constants to drop `BB_` prefix, where appropriate.
* Began implementing Sentry.io support
* Added to the installer
* Added the ID to the bug report template and UI
* Hook it into our error handler, added the ability to filter by error code
* Attempting to add the DSN via GH actions
* Spelling and making PHPstan happy
* Skip exceptions for various incomplete configurations
Also brings in some of the category suggestions made by @Anuril in #195
* Update tests to account for changes
* Added & renamed exception classes
* Fix tests
* Change a bunch of items to be InformationExceptions
* Use a lighter HTTP client, fixed API error reporting
* I guess that's not needed now?
Arighty then
* Improvements, additional info added
* Update SentryHelper.php
* Improved error logging, added instance ID to error page
Also made it so that errors are correctly sent to Sentry rather than exclusively exceptions
* Make the tests happy
* Added the link, improved wording
Also removed the "performance" part of the reporting as it needs to be added to the front-end and I'm not currently implementing that
* Began implementing UI alerts and info
* Added the ability to toggle, fixed tests, use path constants
* Added some useful info & links to the page
* These should be InformationException
* Fix the automated Sentry DSN entry
* Fix the install number text
* Minor cleanup, converted more to InformationException
* Replaced some direct config references with constants
We have the BB_DEBUG constant to indicate if we have debug mode enabled or not, so we shouldn't be directly referencing it in the config file unless we actually need to do so.
Using the constant means there's less locations to update the reference if the config structure is changed
* Bugfix
* Consistency & fixed a PHPDoc
* Corrections
* We actually do want exceptions thrown here
* Change how we get the instance ID
* Stability improvements
Having support for translatable error pages was proving to be problematic, so I had to remove it.
I also had to update the exception class to handle cases where the trans function wasn't setup yet (needed for the /run-patcher page if an error occurs)
* Missed this change on git
* Also fix the variable names...
* Re-added new deps after rebase
* This should also accept "Error" types
* Added more info to the bug report and removed a dug line
* This wasn't supposed to get renamed
* Updated some missed references to Box_Exception
* Replace Box_Session and improve session handling
* Improve weights, capitalize class name correctly
* Make the tests pass, update the SQL structure
* Tweak to the fingerprint class, fix more tests
* Regenerate session IDs when logging in
* Improve readability
* Update ServiceTest.php
* Tweak weights and added Huntr badge to the readme
* Improve readability, add PHPDocs, and updated weight
* Update SECURITY.md
* Refactor System Updater
Refactor Box/Update to clean things up, merge related functionality, improve error checking, and move to FOSSBilling namespace.
Also refactor foss-update.php into core class, `UpdatePatcher`.
* Refactor file system actions to use Symfony Filesystem
Refactor file system actions to use Symfony Filesystem component, and declare all used resources at start of files rather than duplicating throughout.
* Refactor Box/Tools to remove unnecessary functions
Refactor Box/Tools to remove functions which essentially duplicate PHP functionality, or provide a thin wrapper around such functions.
* Move config migrate/update to relevant class
Move config update functionality from Box/Tools to Box/Update.
* Move Gravatar function to class where used
Moved Gravatar function to Twig filter where it is used, rather than in a custom Box/Tool function.
* Replace usage of array_get
* Fixes
* And a few more
* Remove remaining references
* Update Service.php
* Few more fixes
* Fix.. I think?
* Fix Client / Invoice updates
* Fix stats
* Fix issues noticed during code review
* More fixes
* And some more fixes :)
* Fix typo in Email module tests
Fix missing semicolon in tests for Email module causing PHPUnit to fail.
* Fix module test errors due to RedBean
Fix module tests causing error due to RedBean when being mocked in PHPUnit.
* Fix module test failures
Update module tests to fix failures, and remove obsoleted tests causing failure.