* use boolean setting as true boolean
* Update settings class to use the php filter_var function for boolean
Using the built-in filter type for boolean seems like a better option as they are faster, already hardened, and more widely tested.
I found this better method used originally by Mark J. Crane in 2022 in the content.php page so I included it here.
* Update settings class to use the php filter_var function for boolean
Using the built-in filter type for boolean seems like a better option as they are faster, already hardened, and more widely tested.
I found this better method used originally by Mark J. Crane in 2022 in the content.php page so I included it here.
* add the apcu caching ability for performance
When the PHP extension APCu is loaded, the settings class and the auto_loader will cache their results across requests in RAM. For more information about the APCu extension visit the PHP page: https://www.php.net/apcu
* use global instead of default terminology
* Build an array in the auto_loader constructor
* Update auto_loader.php
* Update auto_loader.php
* minor adjustment to name and comment and remove trailing closing tag
* use best practices for the loader method
Allowing the loader method:
- Should Never Be Called Manually
- Prevents External Modification
- Hides Implementation Details
* cache array in the temp folder and load if available
* re-organize functions within the class
* add cache recreation for auto_loader in upgrade_menu
* add cache recreation for auto_loader in upgrade_menu
* Update app_languages.php
* fix php warnings in the menu class
* remove an unreachable statement
* update the menu_horizontal function to use settings
* use a single text object
* update menu_side_state to use the default value of contracted
* remove unused variable
* use variables for menu_side_state
* remove unused variable
* remove whitespace
* remove unused variable
* check for user UUID and domain UUID passed to the constructor
* update docs
Using isset on the key name of the array allows it to use a hash table lookup to improve the lookup times for a permission. The permission name is not set if it does not exist for the current user.