Commit Graph

45 Commits

Author SHA1 Message Date
FusionPBX
6b063f2c28 Replace the DOCUMENT_ROOT and PROJECT_ROOT variables
Use the __DIR__ constant and dirname as needed
2025-12-08 14:12:19 -07:00
Mark J Crane
2d6fbf5741 Update the install.php
- Updated to work with latest changes
- Updated a few setting defaults
2025-10-19 20:57:34 -06:00
Alex
729b3bf314 Fix widget name setting not being used on some widget labels (#7582)
* 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
2025-10-17 17:01:39 -06:00
FusionPBX
dda18481ec Refactor PHP code (#7574)
* 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>
2025-10-15 21:24:59 -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
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
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
fc4b8a2652 Dashboard - Allow drag and drop in parent widgets (#7431)
* Dashboard - Allow drag and drop in parent widgets

* Update parent.php

* Update index.php

* Update config.php

* Update missed_calls.php

* Update recent_calls.php

* Update voicemails.php

* Update active_calls.php

* Update config.php

* Update config.php

* Update config.php

* Update voicemails.php

* Update parent.php

* Update voicemails.php

* Update parent.php

* Update parent.php

* Update index.php

---------

Co-authored-by: FusionPBX <markjcrane@gmail.com>
2025-07-23 17:32:39 -06:00
frytimo
08001488f4 Allow namespace in auto loader (#7307)
* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove class_exists wrapper for class definitions

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove include statement of class file

* remove closing tag

* remove invalid method params

* remove closing tag

* remove closing tag

* Update auto_loader to load each class file in the project
Update the auto_loader class to use an include statement on each file in the project to load the class within the file. This will allow mismatched names within the file to be loaded and mapped according to the declaration instead of the filename. The class is then checked against the parsed classes from the PHP engine so that namespaces are available and mapped to the file they were declared in. An update was also made to the search algorithm used to find a file that was not already loaded by collapsing the array to have only valid matches to increase performance on a cache miss. Logging within the auto_loader has been moved to a function.
Multiple files were modified to allow the include statement. When the class has the `if(class_exists())` statement, the auto_loader is called to check for the class. This caused an infinite loop scenario so all wrappers have been removed. The auto_loader will now break the loop by directly modifying the internal classes array instead of trying to restart with the 'reload_classes' method.

- APCu is used to cache classes so any loading of the classes is done only once. To clear the APCu cache, restart php-fpm or call the auto_loader::clear_cache() function.
- Cache file is used when APCu is not available. To clear the cache remove it from the tmp folder or call the auto_loader::clear_cache() function.
- All classes must no longer have a class_exists wrapper to benefit from the performance boost.
- Classes should not be directly included when the auto_loader is used.

* remove include statement of class file

* Update destinations.php
2025-03-12 13:55:47 -06:00
Alex
5f2a6eed09 Fix dashboard number background color not showing (#7241)
* Fix dashboard number background color not showing

* Update missed_calls.php

* Update recent_calls.php

* Update voicemails.php

* Update registrations.php
2025-02-03 16:27:09 -07:00
Alex
b2349060b5 Fix number text and background color not applying (#7235)
* Fix number text and background color not applying

* Update registrations.php

* Update voicemails.php

* Update missed_calls.php

* Update recent_calls.php

* Update domains.php
2025-01-28 16:39:35 -07:00
Alex
9fc82c02cb Add dashboard icon color setting (#7197)
* Add dashboard icon color setting

* Update index.php

* Update app_languages.php

* Update app_defaults.php

* Update app_config.php

* Update dashboard_edit.php

* Update index.php

* Update app_languages.php

* Update app_defaults.php

* Update app_config.php

* Update config.php

* Update domains.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 registrations.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update voicemails.php

* Update config.php

* Update missed_calls.php

* Update recent_calls.php

* Update index.php

* Update index.php

* Update index.php
2024-12-11 21:28:45 -07:00
fusionate
cc08aa724d Dashboard: Widget counter pill style adjustments. 2024-09-16 18:22:28 -06:00
fusionate
fd032f4ad4 Dashboard: Widget counter pill style adjustments. 2024-09-16 18:09:04 -06:00
Alex
ca10a3e518 Update registrations.php (#7133) 2024-09-14 16:12:37 -06:00
FusionPBX
a9f61e8cfc Update missed, recent calls and new messages 2024-09-14 03:10:55 -06:00
FusionPBX
49d885f19f Update voicemails.php
Prevent an error when the voicemails array is empty
2024-08-27 00:46:20 -06:00
frytimo
2cbb4dbc31 remove instances where a pointer is used in a foreach loop for value (#7108) 2024-08-22 12:41:10 -06:00
Alex
1ef5f1dab0 Dashboard - Icon widget hover settings (#7016)
* Update system_counts.php

* Update system_cpu_status.php

* Update system_status.php

* Update voicemails.php

* Update missed_calls.php

* Update recent_calls.php

* Update index.php

* Update app_defaults.php

* Update app_defaults.php

* Update index.php

* Update index.php

* Update dashboard_edit.php

* Update index.php

* Update app_defaults.php

* Update css.php

* Update icon.php

* Update dashboard_edit.php

* Update app_config.php

* Update app_defaults.php

* Update css.php

* Update app_languages.php

* Update index.php

* Update dashboard_edit.php
2024-06-21 16:44:31 -06:00
Alex
7640cd21c9 Dashboard - Add row span setting (#7007) 2024-06-12 16:49:34 -06:00
Alex
f6e6750efc Dashboard - Minor changes (#6993) 2024-06-03 11:40:05 -06:00
fusionate
e128bdd850 Dashboard - New Messages: Mitigate PHP 8.x+ warnings. 2024-05-28 08:08:17 -06:00
Alex
98d5e4fd67 Dashboard - Added chart cutout and text size default settings (#6976) 2024-05-13 14:20:33 -06:00
Alex
301a1f69a0 Move dashboard defaults settings to theme (#6973) 2024-05-08 13:41:21 -06:00
Alex
66b57a7784 Dashboard - Add gradient background color settings (#6972)
* Dashboard - Add gradient background color setting
2024-05-08 09:54:18 -06:00
Alex
5eead0d88a Dashboard - Add disabled option to details state (#6962)
* Dashboard - Add disabled option to details state
2024-04-25 23:36:54 -06:00
Alex
28efea22fd Dashboard - Add background color settings (#6959)
* Dashboard - Add background color settings

* Update missed_calls.php

* Update recent_calls.php

* Update app_languages.php

* Update app_config.php

* Update dashboard_edit.php

* Update index.php

* Update css.php

* Update system_status.php

* Update system_cpu_status.php

* Update system_counts.php

* Update system_counts.php

* Update switch_status.php

* Update index.php

* Update system_counts.php

* Update domain_limits.php

* Update call_forward.php

* Update caller_id.php

* Update ring_group_forward.php
2024-04-24 14:14:24 -06:00
Alex
19e21d9997 Update missed_calls.php (#6953)
* Update missed_calls.php

* Update recent_calls.php

* Update voicemails.php
2024-04-19 17:36:16 -06:00
Alex
4e06ce8c14 Update voicemails.php (#6952) 2024-04-18 17:11:05 -06:00
Alex
1412ed7f68 Dashboard - Add text color settings (#6950)
* Dashboard - Add text color setting
2024-04-17 16:01:54 -06:00
frytimo
d7bbcd89f5 Use magic constant dir (#6711)
* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__

* use magic constant __DIR__ to load only functions.php

* replace spaces with tab character

* update dirname command to use levels instead of nesting

* use magic constant __DIR__

* update dirname command to use levels instead of nesting

* Update access_control_edit.php

* Update access_control_import.php

* Update access_controls.php

* Update dnd.php

* Update access_controls_reload.php

* Update call_center_agents.php

* Update call_center_agents.php

* Update fax_queue.php

* Update login.php

* Update pdo.php

* Update pdo_vm.php

* Update switch.php

* Update index.php

* Update css.php

* Update v_mailto.php

* Update fax_to_email.php

---------

Co-authored-by: FusionPBX <markjcrane@gmail.com>
2023-06-15 11:28:23 -06:00
markjcrane
f506b00b57 PHP 8.2 Deprecated dynamic properties 2023-06-12 21:27:23 -06:00
fusionate
bd9a407ba5 Voicemails: Updates for PHP 8.1 2023-06-09 16:51:36 +00:00
fusionate
8f50a96d51 Dashboard - Voicemails: Updates for PHP 8.1 2023-05-10 22:27:19 +00:00
fusionate
d04b6db96a Dashboard: Call Forward widget, Edit position without reload, misc adjustments. 2023-01-31 00:19:09 +00:00
fusionate
b35aafc391 Dashboard: Click chart to expand/contract details. 2023-01-28 01:52:13 +00:00
Alex
37ab508d1b Update chart.js v3 to v4 (#6529)
* Update chart.min.js

* Update missed_calls.php

* Update recent_calls.php

* Update system_counts.php

* Update system_cpu_status.php

* Update system_status.php

* Update domain_limits.php

* Update voicemails.php
2023-01-06 13:18:53 -07:00
markjcrane
d50bcb476a Replace root.php 2022-10-10 16:35:14 -06:00
AlexC
78c5666aff Fixed dashboard layout bugs (#6263)
* Fixed dashboard layout bugs

* Update domain_limits.php

* Update missed_calls.php

* Update recent_calls.php

* Update voicemails.php

* Update system_counts.php

* Update system_cpu_status.php

* Update system_status.php

* Update caller_id.php
2022-01-25 11:03:37 -07:00
AlexC
68baf7a0db Add dashboard default settings to voicemails.php (#6139)
* Add dashboard default settings to voicemails.php

* Update voicemails.php
2021-11-19 16:32:11 -07:00
AlexC
d24aa11b99 Update voicemails.php (#6123) 2021-11-12 12:55:42 -07:00
AlexC
aa9eac0684 Update voicemails.php (#6115) 2021-11-09 23:19:37 -07:00
AlexC
72cb8929d8 Update voicemails.php (#6108) 2021-11-09 22:22:32 -07:00
AlexC
08288941f0 Add chart to voicemail new messages (#6106) 2021-11-09 22:16:12 -07:00
markjcrane
032a5aec39 Add a new dashboard 2021-11-09 18:42:14 -07:00