Commit Graph

227 Commits

Author SHA1 Message Date
FusionPBX
d49b393d11 Add global $database inside the function 2025-10-01 12:13:22 -06:00
FusionPBX
d1baf05891 Remove redundant database instances (#7535) 2025-10-01 08:56:06 -06:00
FusionPBX
56c53830ee Update system_network_status.php 2025-09-24 14:47:55 -06:00
FusionPBX
b1ac334148 Update system_dashboard_service.php 2025-09-24 14:47:06 -06:00
FusionPBX
c28a065b72 Add setting system network_interface 2025-09-24 14:43:16 -06:00
frytimo
c9b76df627 Create network usage dashboard widget (#7531)
* 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>
2025-09-24 14:27:10 -06:00
FusionPBX
7f9064fadb Update boolean toggle and the database boolean type (#7522)
* Change the data type to boolean

* Use boolean values in SQL and Conditional Statements

* Schema Data Types: Drop views so that alter tables statements complete

* Update settings.php

* Add extension for call_screen_enabled

* Gateway handle boolean
Add the boolean toggle
- distinct_to
- caller_id_in_from
- supress_cng
- extension_in_contact
- contact_in_ping

* Update gateways.php

* Update voicemail_edit.php

* Replace the ${caller_id_name} with the extensions caller id name

* Phrase - Edit: Update slide toggle with new select beneath.

* Update the input toggle style

* Set the input_toggle_style_switch as boolean

* Update the input toggle style

* Theme: Adjust CSS to wrap description text on form fields.

* Add domain_uuid and domain_name to the SQL SELECT

* Unset the parameters to fix the next query

* Gateway: Integrate new slide toggle switch.

* Dashboard: Update the input toggle style (#7499)

* Dashboard: Update the input toggle style

* Update dashboard_widget_edit.php

* Update dashboard_edit.php

* Inbound Route - Add: Integrate new slide toggle switch and boolean.

* User Settings: Integrate new slide toggle switch.

* Call Block Edit: Update the input toggle style (#7500)

* Bridge Edit: Update the input toggle style (#7501)

* Update phrases.php

* Update domain_edit.php

* Domain Settings Edit: Update the input toggle style

* User Edit: Update the input toggle style

* Update install.php

* Remove fields marked as deprecated

* Use boolean in the select statement

* Streams: New slide toggle and boolean.

* Streams: Remove unnecessary default.

* Queues (FIFO): New slide toggle.

* Call Detail Records: Update the input toggle style (#7503)

* Call Detail Records: Update the input toggle style

* Update xml_cdr_extension_summary.php

* Update xml_cdr_extension_summary.php

* Update xml_cdr_extension_summary.php

* Call Centers: Update the input toggle style (#7502)

* Call Centers: Update the input toggle style

* Update call_center_agent_edit.php

* Conference Centers: Update the input toggle style (#7506)

* Conference Centers: Update the input toggle style

* Update app_config.php

* Update conference_center_edit.php

* Use boolean data type (#7505)

* Call Flow Edit: Update the input toggle style (#7504)

* Devices: Update the input toggle style

* IVR Menus: New slide toggle.

* IVR Menu: Remove deprected file.

* SIP Profile - Edit: New slide toggle.

* Device Profiles: Update the input toggle style

* Ring Groups - List: Fix syntax.

* Theme: Fire onchange event when switching slide toggle control.

* Device Vendors: Update the input toggle style

* Update enabled boolean

* Update device_edit.php

* Ring Groups: New slide toggle.

* Update domain_edit.php

* Email Templates: Update the input toggle style

* Header: Correct default value on input toggle style.

* Default/Domain/User Settings: Adjust Select option label for better clarity.

* Use true boolean types for switch theme toggle or drop-down box (#7507)

* Groups: Update the input toggle style

* Conference Controls: Update the input toggle style (#7509)

* Conference Controls: Update the input toggle style

* Update conference_control_edit.php

* Update conference_control_details.php

* Update conference_control_detail_edit.php

* Conferences: Update the input toggle style (#7511)

* Use true boolean types for switch theme toggle or drop-down box (#7513)

* Dialplans: Update the input toggle style
Also updated outbound route add

* Ring Group: Only adjust ring group forward destination top margin when slide toggle enabled.

* Default/Domain/User Settings - List: Adjust for new 'Select Box' label on input_toggle_style value.

* Use true boolean types for switch theme toggle or drop-down box (#7514)

* Call Forward / Follow Me: Minor javascript adjustments to mirror previous behavior.

* Ring Groups [Dashboard]: New slide toggle.

* Get the contacts details with a seperate SQL Query

* Remove debug info

* Destinations: Update the input toggle style

* Conference Profiles: Update the input toggle style (#7515)

* Conference Profiles: Update the input toggle style

* Update conference_profiles.php

* Update conference_profile_params.php

* Update conference_profile_param_edit.php

* Update conference_profile_edit.php

* Extensions: Update the input toggle style

* Contacts: Update the input toggle style (#7517)

* Contacts: Update the input toggle style

* Update contact_address_edit.php

* Update contact_attachment_edit.php

* Update contact_edit.php

* Update contact_email_edit.php

* Update contact_phone_edit.php

* Update contact_relation_edit.php

* Update contact_setting_edit.php

* Update contact_url_edit.php

* Update contacts.php

* Voicemails: New slide toggle.

* Voicemail Greeting: New slide toggle.

* Modules: New slide toggle.

* Recordings: New slide toggle

* Variables: New slide toggle.

* Time Conditions: New slide toggle.

* Extensions - List: Remove invalid column name.

* Extension Settings: New slide toggle.

* Number Translations: New slide toggle and boolean.

* Sofia global settings: Update the input toggle style

* Update alter table convert to boolean

* Fix contact relation search (#7518)

* Sip Profile Edit: Fix setting enabled labels (#7519)

* Sip Profile Edit: Fix setting enabled labels

* Update sip_profile_edit.php

* Update dialplan_edit.php (#7520)

* Update SQL queries to use true/false for contact primary settings (#7521)

* Update SQL queries to use true/false for contact primary settings

* Update contacts_vcard.php

* Update email.php

* Update totp.php

* Update contact_url_edit.php

* Update contact_email_edit.php

* Update contact_address_edit.php

* Update contact_attachment_edit.php

* Update contact_phone_edit.php

* Add a database views method

* Add database view groups

* Add database users view

* Add database call_recordings view

* Update users.php

* Add  database view call block

* Update schema to use the database views method

* Update conference.conf.lua boolean

* Update directory.lua boolean

* Update callcenter.conf.lua agent_status boolean

* Update sofia.conf.lua boolean

* Update number translations lua boolean

* Update directory.lua boolean

* Update group_call.lua fix the cache

* Update reverse-auth-lookup.lua boolean

* Update directory.lua boolean

* Use concat instead of ||

* Update index.lua

---------

Co-authored-by: fusionate <nate@fusionpbx.com>
Co-authored-by: Alex <alex@fusionpbx.com>
Co-authored-by: frytimo <tim@fusionpbx.com>
2025-09-20 18:42:05 -06:00
Alex
e8681737dc Add ability to create multiple dashboards (#7483)
* Add ability to create multiple dashboards

* Create dashboard_widget_list.php

* Create dashboard_widget_edit.php

* Update dashboard_edit.php

* Update dashboard_config_json.php

* Update dashboard.php

* Update app_languages.php

* Update app_defaults.php

* Update app_config.php

* Update dashboard.php

* Create config.php

* Update content.php

* Update icon.php

* Update parent.php

* Update template.php

* Update config.php

* Update config.php

* Update domains.php

* Update config.php

* Update active_calls.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update call_forward.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update domain_limits.php

* Update caller_id.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update registrations.php

* Update ring_group_forward.php

* Update config.php

* Update config.php

* Update switch_status.php

* Update config.php

* Update system_counts.php

* Update system_cpu_status.php

* Update system_disk_usage.php

* Update system_services.php

* Update system_status.php

* Update config.php

* Update config.php

* Update voicemails.php

* Update config.php

* Update missed_calls.php

* Update recent_calls.php

* Update dashboard_widget_edit.php

* Update app_languages.php

* Update dashboard_widget_edit.php

* Update index.php

* Update parent.php
2025-09-08 17:33:29 -06:00
frytimo
c9e7e5e7ee Fix bug by adding a 'tries' counter so reading websocket data can return (#7470)
* 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
2025-08-27 07:53:01 -06:00
Alex
18634417fd Dashboard Edit - Correctly display the chart type options (#7465)
* Dashboard Edit - Correctly display the chart type options

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php
2025-08-20 16:20:04 -06:00
FusionPBX
d5fc46bfab Update debian-system_dashboard.service 2025-08-19 18:13:53 -06:00
FusionPBX
b0b3b63cb6 Update the systemd service files 2025-08-19 18:05:40 -06:00
Alex
b64ebb374d Dashboard - Use a class to determine the row span (#7451)
* Dashboard - Use a class to determine the row span

* Update parent.php

* Update icon.php

* Update content.php

* Update domains.php

* Update dashboard_edit.php

* Update missed_calls.php

* Update recent_calls.php

* Update voicemails.php

* Update system_counts.php

* Update system_cpu_status.php

* Update system_disk_usage.php

* Update system_services.php

* Update system_status.php

* Update system_services.php

* Update switch_status.php

* Update registrations.php

* Update ring_group_forward.php

* Update caller_id.php

* Update domain_limits.php

* Update call_forward.php

* Update active_calls.php
2025-08-06 17:01:09 -06:00
FusionPBX
0157a58639 Services no longer require the --no-fork parameter 2025-08-04 15:59:35 -06:00
Alex
9dc4ee9046 Dashboard - Use the uuid instead of name for widget ids (#7443)
* Dashboard - Use the uuid instead of name for widget ids

* Update active_calls.php

* Update domain_limits.php

* Update caller_id.php

* Update registrations.php

* Update ring_group_forward.php

* Update switch_status.php

* Update system_counts.php

* Update system_cpu_status.php

* Update system_services.php

* Update system_status.php

* Update voicemails.php

* Update missed_calls.php

* Update recent_calls.php

* Update content.php

* Update icon.php

* Update parent.php

* Update domains.php
2025-08-01 11:51:34 -06:00
Alex
954acba1d1 Dashboard - Fix system services chart not showing (#7439)
* Dasboard - Fix system services chart

* Update system_services.php
2025-07-30 11:58:05 -06:00
Alex
69310e6d4e Dashboard - Enable system services and disable system counts by default (#7438) 2025-07-30 11:13:29 -06:00
n0obHere
69145858cf Expanded system_services dashboard card with more info (#7367)
* 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
2025-07-30 08:29:53 -06:00
Alex
720c03aeb0 Dashboard - Hide progress bar overflow (#7427) 2025-07-17 22:15:13 -06:00
Alex
bd818f2344 Update cpu usage graph width (#7404) 2025-06-30 17:12:55 -06:00
frytimo
28dbb803de Add cpu line graph (#7403)
* 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
2025-06-30 15:54:13 -06:00
FusionPBX
8455c98667 Renamed to system_status 2025-06-28 22:03:36 -06:00
FusionPBX
72d36c7f73 Reset the timer 2025-06-28 17:43:49 -06:00
FusionPBX
fd51fc2549 Update system_status.php
Credit to Alex for this change.
2025-06-28 17:41:37 -06:00
FusionPBX
f379fc8654 Move the files 2025-06-27 15:31:05 -06:00
frytimo
807f80da94 Update dashboard with cpu status websockets (#7400)
* Remove setting hardcoded timer

* Use websockets for real-time CPU status on dashboard

* Add system_dashboard service file

* moved javascript file to core
2025-06-27 15:25:32 -06:00
frytimo
d5286a12bc Websockets (#7393)
* 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>
2025-06-24 13:07:57 -06:00
n0obHere
b5cf6f1690 Enhanced dashboard system_status card with more useful system info (#7366)
* 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
2025-05-12 10:44:40 -06:00
FusionPBX
bc14b503ae Update the system support details
- System details in Markdown format 
- Condense the system details
2025-05-02 18:06:25 -06:00
Alex
c305685d23 Fix dashboard edit defaults (#7340)
* Fix dashboard edit defaults

* Update app_defaults.php

* Update config.php
2025-03-27 15:41:38 -06:00
frytimo
1aa1eb6159 Use text instead of boolean for ace editor settings (#7285) 2025-03-04 16:30:17 -07:00
frytimo
d529021b3f Use boolean setting as true boolean (#7284)
* 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.
2025-03-04 11:25:47 -07:00
frytimo
9b0eead911 Fix incorrect name on disk usage chart (#7237)
* fix incorrect name on disk usage chart

* put correct information in disk usage for Linux and FreeBSD systems

* Update system_disk_usage.php

* Update system_disk_usage.php
2025-02-13 14:18:36 -07:00
frytimo
7c887184ff adjust system service dashboard widget to not show by default (#7233) 2025-01-28 12:17:04 -07:00
frytimo
96da9967e0 create system services dashboard item (#7231)
* create system services dashboard item

* update internationalization language file used in system_services
2025-01-28 10:20:36 -07:00
FusionPBX
f44f9636db Cast to integer
This prevents an error that was seen on FreeBSD
2024-10-26 22:16:35 -06:00
Alex
01e41b09a1 Update system_status.php (#7134) 2024-09-16 14:14:17 -06:00
FusionPBX
795343379c Handled in its own dashboard widget
For this reason remove the registration count from system status.
2024-09-14 21:49:53 -06:00
FusionPBX
540efc355f Move the get_memory_details functions 2024-09-14 21:38:14 -06:00
Alex
ca10a3e518 Update registrations.php (#7133) 2024-09-14 16:12:37 -06:00
Alex
7edc65fce4 Fixed alignment on dashboard system status progress bars (#7132) 2024-09-14 10:56:18 -06:00
FusionPBX
c406761897 Update system_status.php 2024-09-13 21:32:08 -06:00
FusionPBX
88b76a4e6d Dashboard widgets collapsed by default 2024-09-13 19:28:13 -06:00
FusionPBX
8e9527a1c1 Update system_status widget add memory details
Completed work on disk usage percentage
2024-09-13 19:15:15 -06:00
Alex
5e6d494796 Add progress bar to system status dashboard (#7131)
* Add progress bar to system status dashboard

* Update dashboard_edit.php

* Update app_languages.php

* Update config.php
2024-09-13 17:00:21 -06:00
FusionPBX
8c67b31441 Update config.php 2024-09-13 16:41:05 -06:00
FusionPBX
69c0827669 Add system status
Disable system cpu and disk usage dashboard widgets
2024-09-13 15:14:05 -06:00
FusionPBX
4af96791a5 Create system_disk_usage.php 2024-09-13 15:09:35 -06:00
fusionate
d234fb185a Multiple Apps: Integrate content cards. 2024-09-04 16:55:24 -06:00
NorwayFun
aabc2f33a8 Localization: Add full support for Georgian language (#7110)
* Translating apps to Georgian

* Translating apps to Georgian

* Translating more apps to Georgian

* Translating more apps to Georgian

* Translating more apps to Georgian

* Translating more apps to Georgian

* Translating more apps to Georgian

* Translating theme to Georgian

* Translating core to Georgian

* Translating core to Georgian

* Translating core to Georgian by Marie

* Translating core to Georgian

* Translating resources to Georgian by Marie

* Translating core to Georgian

* fix app_languages.php
2024-08-28 09:59:02 -06:00