* Refactor authentication to allow for OpenID Connect
The authentication class has been refactored to separate the `validate` function for the method `create_user_session`. This is needed for the OpenID Connect module to authenticate a user without going through the process of all authentication plugins. Only the function `check_user_cidr` has been rewritten to use a single loop instead of a double-loop.
Due to the fact that create_user_function is public, the $result associative array is checked to ensure the required fields are present and the UUID fields are valid UUIDs. Further checking could be done against the database to ensure the UUIDs exist but this has been suppressed at this time because database queries would be required.
* Database class modified to allow for login banners for OpenID Connect
The database class is responsible for creating the view for login. The OpenID application required banners to be present so that any OpenID Connect authentication mechanism could be used. Each banner displayed has the properties of: name, image, alt, and url. The name is the class name of the authentication plugin. This will match the action in the URL. The image is the image banner used for the login. The alt is the alternate text used for screen readers. Each authenticator is responsible for providing each of the field values.
* Added PHPDocs for the check_cidr function
* Add backwards compatibility for PHP versions below 8
* Remove get_banner_alt
* Update check_cidr to allow cidr array
* Update authentication.php
* Update functions.php
* Update authentication.php
* Add new English language phrases for cli upgrade menu
* include a software name as a const for cli upgrade menu
* add it repos in app folder, internationalizations, and descriptions
* bug fix when response_source_update is empty change back to origin dir
* change original 'menu' to 'menus'. Allow calling menu from upgrade.php
* Update upgrade_menu.php
If item being sorted is numeric data type need to cast to text.
This would usually be fixed during the upgrade. However BDR prevents using standard alter table data type commands.
* WIP: Support updating optional installed apps via git
* support app source update via cli
* Update app_languages.php
* Update index.php
* Refactor App Git updating
Refactor Optional App Git updating for more resilience and better handling of ssh remotes and to only update each repository once.
* git app updates fix gui updates for repo based updating
* Add documentation to methods. Use is_resource for added type detection
* Allow connect to specify timeout in microseconds with default 30,000
* Update calling mechanism for event sockets
* Update project for new singleton event sockets
* remove unused variable
* catch errors on closing the socket