* Fix widget name setting not being used on some widget labels
* Update app_languages.php
* Add translations for active calls labels and titles
* Update active_calls.php
* Update call_forward.php
* Update device_keys.php
* Add multi-lingual support for widget labels
Updated widget label to support multi-lingual text.
* Update caller_id.php
* Add multilingual support and update widget label
* Update switch_status.php
* Update system_counts.php
* Replace static title with localized widget label
Updated widget title to use localized label.
* Add multilingual support for disk usage widget
* Add translations for system disk usage labels
* Update system_status.php
* Update system_network_status.php
* Add multi-lingual support for CPU status widget
* Update app_languages.php
* Update app_languages.php
* Update voicemails.php
* Add multi-lingual support for missed calls widget
* Update recent_calls.php
* Simplify widget label assignment using null coalescing
* Update call_center_agents.php
* Update app_languages.php
* 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>
* Add new dashboard widget system_network_status
* Add new dashboard widget system_network_status
* Initial working commit
* Fix max_points used twice
* Update system dashboard service to send network traffic
* Remove console logging used for debugging
* Remove interface check
* Return instead of exit on a dashboard widget
* Use default value instead of null coalescing operator
* Disable the details state (to be added later)
* Set to Line type only
* Update config.php
---------
Co-authored-by: FusionPBX <markjcrane@gmail.com>
* add a tries counter so reading websocket data can fail
* fix empty constructor parameters when creating a permission_filter
* Use the message topic for debugging info instead of payload data
* use a socket disconnect exception instead of runtime exception
* Add a wait state for re-connecting to websocket server
* Add PHPDoc return information for connect_to_ws_server method
* Remove the cannot send message for already removed resource
* Remove param in the method call to handle_websocket_event
* Add friendly names for system services
- Adds a $service_friendly_names array at the top of the details block
- For each service, tries to find a match in the array and sets the $display_name
- If no match found in the array, it falls back to prettifying the name automatically (replace underscore with space and capitalize the first letter of each word) so future services don't break the display
* Updated system_services card with more info
- Expanded the system_services card with an additional column for 'Runtime', showing how long the service has been running for
- Added a hover tooltip showing the PID of the service to all three columns
- Added the ability to fetch for additional services string from default settings to show in the system_services card
* system_services dashboard card new default setting
- Added a new default setting (theme -> dashboard_extra_system_services) for defining additional system services to monitor in the system_services dashboard card
- Default setting is enabled by default with a string value of 'freeswitch, nginx, postgresql, sshd'
* Adjusted column widths
* add cpu line graph
* add cpu line graph
* add cpu line graph
* add cpu line graph
* add cpu line graph
* Add FreeBSD CPU status
* Add new dashboard type Line
* Add missing public declaration
* Allow new dashboard type Line to be selected option
* Use new Line type for graphing instead of doughnut
* Remove setting hardcoded timer
* Use websockets for real-time CPU status on dashboard
* Add system_dashboard service file
* moved javascript file to core
* Initial commit of websockets
* Move app_menu to the active_calls websockets
* Fix hangup function
* Remove connection wait-state on web socket server so events can process
* Add timestamp and debug level to console for service debug output
* Remove debug exit
* Fix typo for ws_client instead of ws_server
* Update app_config.php
* Fix typo and remove empty function
* Remove call to empty function
* Fix the menu to point to the correct location
* Remove Logging Class
* Rename service file
* Rename service file
* Fix the in progress browser request
* Fix browser reload and implement 'active_calls' default values
* Add apply_filter function
* Create new permission_filter object
* In progress active calls now use filter
* Add invalid_uuid_exception class
* add event_key_filter to honor user permissions
* add and_link and or_link for filters
* Fix disconnected subscriber and add filters to honor permissions
* Add $key and $value for filter
* define a service name
* catch throwable instead of exception
* Add $key and $value for filter and allow returning null
* Update permission checks when loading page
* Add apply_filter function to honor subscriber permissions
* Add create_filter_chain_for function to honor subscriber permissions
* Add apply_filter function to honor subscriber permissions
* Add apply_filter function to honor subscriber permissions
* create interface to allow filterable payload
* create interface to define functions required for websocket services
* Pass in service class when creating a service token
* Allow key/name and return null for filter
* Adjust subscriber exceptions to return the ID of the subscriber
* Add event filter to filter chain
* Add command line options for ip and port for websockets and switch
* update service to use is_a syntax
* initial commit of base class for websockets system services
* initial commit of the system cpu status service
* remove extra line feed
* fix path on active_calls
* initial proof of concept for cpu status updated by websockets
* Allow returning null
* Use default settings to set the interval for cpu status broadcast
* Improve the CPU percent function for Linux systems
* Show more debug information
* Allow child processes to re-connect to the web socket service
* Fix websockets as plural instead of singular
* Add class name list-row
* Update active_calls.php
* Update active_calls.php
* Update websocket_client.js
* Update app_config.php
* Update app_menu.php
* Update debian-websockets.service
* Update debian-active_calls.service
---------
Co-authored-by: FusionPBX <markjcrane@gmail.com>
* Update system_status.php
Adjust column width to make some overflowing multi-line values into one-line view.
* Enhanced dashboard system_status card with more useful system info
- Added OS version detection
- Fixed not working memory usage with format (60% (1G/2G))
- Replaced memory available with swap usage
- Improved disk usage display format (57% (12G/20G))
- Added DB max connections display (Current/Max)
* Added style colors based on thresholds
* Update app_languages.php
Additional languages for new system_status items