* Remove file cache due to race condition
* Improves APCu cache consistency and error logging
Enhances APCu handling by validating both cache keys before using cached data, checking data integrity, and logging cache validation failures. Ensures both class and interface arrays are stored successfully, logging and clearing cache on partial store failures to prevent inconsistent states. Aims to improve reliability and aid in diagnosing APCu issues.
* Remove exit command on reload signal
* Issue reload message on signal reload event
* Add missing return type
* Add explicit casting for int
* Add comment for signal type
* Shutdown after sending reload signal
* Add active conferences with web sockets
* Buttons mostly working
* Convert all methods, function, variable, const to snake case instead of standards.
* Add default settings for customized control
* Add customizable settings
* More debugging default settings added
* Add better authentication handling for websocket connections
These methods were added:
- on_ws_authenticated can be overridden in the child class if there are tasks that need to be done after authentication.
- handle_ws_authenticated was added in the parent class
Handle methods are called by the this class and then their respective 'on_ws_' method is then called.
* Mute All now working
* Add PHPDoc block comments
* More PHPDoc to better describe class and variables
* Fix accidental removal of function during PHPDoc block edits
* Remove the variable type declaration for PHP 7.1 compatibility
* Update conferences with more websocket communication to replace AJAX calls.
* Ensure interface is loaded when no members
* Move color settings to theme category
* Update page view to default settings changes
- Change the label to Database Schema
- Update the description to say tables, columns and data types
- upgrade.php --schema
- Includes data types by default
- Remove --types from upgrade.php
- command line upgrade --interactive
- Option 2 schema
- Includes data types by default
Using the APCu cache within the text class adds a significant speed boost. In testing, the load time of the text class was about 7% of the total load time on the page. After implementing caching, the load time for the text class dropped to just 0.17% of the total time for the page to load. When APCu caching is not available, the class will cache it directly dropping it from 7% to just 2.3% of the total script load time.
This pull request fixes an error when the settings object is assigned to a singular variable of `$setting` instead of `$settings`. This makes the included files run potentially the wrong domain name.
Optimize the `upgrade()` method of the `domains.php` to reduce filesystem operations.
This function was used before we started using paramaterized queries. So a better way has been in use for many years time to deprecate and remove the check_sql function.
* Use settings-get method
- get default, domain and user settings
- Replace _SESSION
* Simplify get domain paging
* Change isset using empty
* Fix token name and hash
* Add new default settings category: contact, name: default_sort_column, and default_sort_order
* Update app_config.php
* Update footer.php
* Fix require.php and core/dashboard/index.php (#7563)
* Fix require.php and core/dashboard/index.php
* Fix require.php and core/dashboard/index.php
* Fix require.php and core/dashboard/index.php
* Fix require.php and core/dashboard/index.php
* Fix require.php and core/dashboard/index.php
* Fix require.php and core/dashboard/index.php
* Fix require.php and core/dashboard/index.php
* Fix require.php and core/dashboard/index.php
* Fix require.php and core/dashboard/index.php
* Update destinations.php
* Update permission.php
* Update require.php
---------
Co-authored-by: FusionPBX <markjcrane@gmail.com>
Co-authored-by: FusionPBX <mark@fusionpbx.com>
* Update header.php
* Use settings get classes (#7567)
* access_control
* azure
* azure
* basic_operator_panel
* bridges
* call_block
* call_broadcast
* call_center
* call_flows
* call_forward
* call_recordings
* do_not_disturb
* feature_event_notify
* follow_me
* remove unused object properties
* fix esl command
* fix esl command
* conference_centers
* conference_centers - remove whitespace
* conference_controls
* conference_profiles
* conference_profiles
* Delete core/websockets/resources/classes/socket_exception.php.original~
* Delete core/websockets/resources/classes/websocket_server.php.original~
* conferences
* destinations
* device
* dialplan
* email_queue
* event_guard
* extension_settings
* extension
* fax
* fax_queue
* fifo
* gateways
* ivr_menu
* modules
* switch_music_on_hold
* number_translations
* phrases
* pin_numbers
* provision
* switch_recordings
* registrations
* ring_groups
* sip_profiles
* sofia_global_settings
* streams
* presence
* switch_files
* time_conditions
* vars
* voicemail_greetings
* voicemail
* ringbacks
* contacts
* xml_cdr
* authentication
* dashboard
* default_settings
* domain_settings
* email_templates
* permission
* user_logs
* user_settings
* users
* button
* cache
* captcha
* remove cli_option
* remove directory.php for switch_directory class
* email
* file
* groups
* event_socket use config object
* Use intval to give an integer port
* switch_settings
* tones
* fix object used before initialization
* menu
* fix copy paste error for switch_files.php
* always include require.php for framework files
* Fix missing properties
* set the action
* Use the $database object
* Add missing class properties
* Fix the domain_name
* Use public scope for domain_uuid and domain_name
* Add missing parameters
* Correct the user_uuid parameter
* Add json_validate and use it in the dashboard
update indentation on functions.php
* Intialize the active_registrations variable
* Define the $parameters
* Set a default value for user_setting_enabled
* Add condition domain_uuid not empty
* Add not empty condition for domain_uuid
* Declare the global variables
* Update how the defaults are set use ??
* Use ?? to set the default values
* Update call_center_queue_edit.php
* Prevent an error
* Add domain_name property
* Fix the null coalescing operator
* Removed domain_uuid from the URL
* Change condition to check sip_profile_domain_name
* Refactor domain_uuid declaration and comments
Removed redundant domain_uuid declaration and updated comments.
* Account for an empty value
* Refactor constructor to use settings array
Updated constructor to accept settings array for domain UUID and database initialization.
* Refactor xml_cdr.php to improve variable organization
Removed duplicate domain_uuid declaration and reorganized private variables for better structure.
* Enhance transcription button logic and icon display
Updated transcription button visibility conditions and improved application icon handling in the call flow summary.
* Refactor settings initialization in domains.php
Updated settings initialization to include domain_uuid and user_uuid.
* Modify domain change condition in require.php
Updated condition to check if 'domain_change' is not empty before proceeding.
* Set default_setting_enabled to true by default
* Enhance domain UUID check in access controls
* Enhance domain UUID check in settings list
* Refactor category display logic in vars.php
* Simplify list row URL generation
Removed domain UUID check from list row URL construction.
* Refactor module category display logic
* Fix SQL query by removing parameters variable
* Initialize result_count variable for call recordings
* Refactor leg variable usage in xml_cdr_details.php
* Update conference_room_edit.php
* Change GET to REQUEST for order and search variables
* Set timezone and SQL time format in recordings.php
Added timezone and SQL time format settings.
* Set default for ring group greeting
* Improve domain UUID check in stream listing
* Handle null voicemail_option_param safely
* Add file existence check for greeting files
Check if greeting file exists before getting size and date.
* Improve domain UUID check in email templates
* Update FIFO strategy dropdown and description text
* Add multilingual agent descriptions
Added multilingual descriptions for agents in the app_languages.php file.
* Add music on hold descriptions
* Add the chime list description
Updated copyright year from 2024 to 2025.
* Fix domain UUID check and handle email subject decoding
* Add null coalescing for $value in email_test.php
Ensure $value is not null by providing a default empty string.
* Handle undefined dialplan_uuid in input field
* Add translations for 'Status' label in multiple languages
* Fix typo in config instance check
---------
Co-authored-by: frytimo <tim@fusionpbx.com>