Commit Graph

22615 Commits

Author SHA1 Message Date
FusionPBX
b0a630e80a Use no-wrap class 2025-03-13 11:25:15 -06:00
Alex
b5592e84c7 Fix fatal error on fax send (#7313) 2025-03-13 11:04:40 -06:00
FusionPBX
ee28c6d203 Fix Call Detail Records with invalid xml 2025-03-13 10:06:36 -06:00
FusionPBX
6c6814b29e Remove syntax that breaks older PHP
Removed :static to support PHP 7.4
2025-03-12 23:39:24 -06:00
frytimo
bed7c8827f fix missing quotes on parameter default value (#7310) 2025-03-12 20:50:14 -06:00
chansizzle
95761621a6 improve emergency emailing (#7309)
* improve emergency emailing

1. set emergency CID name & number to the outbound CID name & number if emergency CID name & number are not set
2. remove duplicate item in email body
3. change the hardcoded email subject '911 Emergency Call' to be dynamically provided from the event. I do not like seeing the subject '911 Emergency Call' when it is an TEST call.

* improve emergency emailing

1. change the hardcoded email subject '911 Emergency Call' to be dynamically provided from the event. I do not like seeing the subject '911 Emergency Call' when it is an TEST call.
2. fix email template misspelling
3. improved email template with bold fonts
2025-03-12 17:39:05 -06:00
FusionPBX
31a88e3a15 Update auto_loader.php 2025-03-12 14:48:33 -06:00
FusionPBX
7897ff5b9e Clear the cache 2025-03-12 14:42:50 -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
abb95e38bb Add content card to outbound route add and pin number export (#7308)
* Add content card to outbound route add and pin number export

* Add content card
2025-03-12 13:37:26 -06:00
Alex
43edc82cbe Fix header user menu when using inline or static menu style (#7306)
* Fix header user menu when using inline or static menu

* Update template.php
2025-03-12 13:15:38 -06:00
FusionPBX
7a167f70af Get emergency emails from both default and domain settings 2025-03-12 11:37:27 -06:00
FusionPBX
81ab295059 Update template.php 2025-03-12 10:41:39 -06:00
chansizzle
20f3c4eb71 Add CDR Details, Call Recordings Play, and Call Recordings Download to emergency logs (#7301)
* Create download.php

download.php is required to play and download call recordings

* add CDR Details and Call Recording to emergency logs

* add CDR Details and Call Recording to emergency logs

* combine call details column and call status column

removed the call details column
make the call status column be the hyperlink to the cdr details page

* combine call details column and call status column

removed the call details column
make the call status column be the hyperlink to the cdr details page
2025-03-12 09:40:44 -06:00
Alex
3167a8ce49 Use scroll bar if there are too many columns in a content card (#7300) 2025-03-12 09:40:02 -06:00
FusionPBX
af9691ff41 Fix missed_call use as boolean 2025-03-11 19:54:54 -06:00
FusionPBX
c3e5647c03 Update app_defaults.php 2025-03-11 19:36:56 -06:00
Alex
885df6b3fb Add count div to domain selector (#7305)
* Add count div to domain selector
2025-03-11 16:11:40 -06:00
frytimo
da6471df5f Optimize require.php (#7286)
Load the auto_loader first
Use config object to find config.conf file and declare global
Use database object and declare global
Use settings object and declare global
2025-03-11 14:37:31 -06:00
Alex
d9827f8800 Use table_row_text settings for domain selector text size and font (#7302) 2025-03-11 14:32:50 -06:00
FusionPBX
1be15d7d9c Update responsive design 2025-03-11 14:27:45 -06:00
Antonio Fernandez
ca2b0b22dd Update algom{$mac}.conf (#7299)
admin password is now added via provisioning
2025-03-10 17:34:43 -06:00
Alex
5ff0af430f Fix domain settings content cards (#7298) 2025-03-10 11:34:31 -06:00
Alex
35aa781c90 Add content card to device export and pin numbers (#7297)
* Add content card to device export and pin numbers

* Update pin_numbers.php

* Update pin_number_edit.php

* Update device_download.php
2025-03-10 10:26:27 -06:00
FusionPBX
8ef90b9dcc Update xml_cdr.php 2025-03-08 14:42:35 -07:00
FusionPBX
a099de0c6f Fix the contact import 2025-03-08 14:37:15 -07:00
FusionPBX
5391745155 Update abstraction.conf.xml 2025-03-08 08:59:22 -07:00
chansizzle
8f5d5b58b3 add call status to emergency logs page (#7278)
* add call status to emergency logs page
2025-03-08 07:20:39 -07:00
Alex
bb5320e6ca Change menu multi column dropdown width based on text size (#7296) 2025-03-07 16:27:21 -07:00
fusionate
da19ca7a7c Login: Display Cancel link to reset form if failure using database authentication. 2025-03-07 12:10:52 -07:00
fusionate
dd3288585c Menu: Add setting to reload menu when changing domains. 2025-03-06 20:08:48 -07:00
chansizzle
8f354b54de add new active calls permissions (#7294)
Add new permissions to the active calls page so the fields can be removed from an admin permissions group to simplify the page, hiding more technical fields they probably will not find helpful.
2025-03-06 18:54:57 -07:00
chansizzle
a1c03c364a add new active calls permissions (#7295)
Add new permissions to the active calls page so the fields can be removed from an admin permissions group to simplify the page, hiding more technical fields they probably will not find helpful.
2025-03-06 18:54:43 -07:00
fusionate
fce7a9401a Dashboard - Edit: Display domain after domain-specific group names. 2025-03-06 16:17:53 -07:00
frytimo
fbeb65428e fix bug for registration count (#7293) 2025-03-06 15:46:17 -07:00
Alex
8b95f62d39 Fix logout icon alignment (#7291) 2025-03-06 15:38:31 -07:00
Alex
941ec9c060 Add input_height default setting (#7292)
* Add input_height default setting

* Update app_config.php
2025-03-06 15:38:12 -07:00
Alex
397db90533 Add content card div to call block recent calls (#7290) 2025-03-06 10:17:41 -07:00
fusionate
03030465d9 Audio Waveform: Boolean adjustments. 2025-03-05 16:09:17 -07:00
Alex
b418a892e3 Align action bar text to the left (#7289) 2025-03-05 15:39:05 -07:00
FusionPBX
7ac2f76804 Use audio_player_waveform_enabled as boolean 2025-03-05 15:23:13 -07:00
frytimo
e9739d2b06 Use single event socket object in registrations class (#7288)
* Use single event socket object in registrations class
Allow passing an event_socket in the constructor
Ensure the event_socket is connected before using it in loops
2025-03-05 10:08:08 -07:00
AdSecIT
b714d25150 Update device.php (#7287)
Spelling correction.
2025-03-05 09:58:00 -07:00
FusionPBX
0fa87760cb Update fifo_edit.php
Add validation
Use the event_socket object
2025-03-04 18:18:04 -07:00
frytimo
1aa1eb6159 Use text instead of boolean for ace editor settings (#7285) 2025-03-04 16:30:17 -07:00
FusionPBX
cd3ff91f9a Update app_defaults.php 2025-03-04 16:27:59 -07:00
FusionPBX
167cc94f18 Move editor settings used
Used in multiple features for this reason moved to core.
2025-03-04 16:17:16 -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
Antonio Fernandez
1b19e40be4 Consistent email wording (#7283) 2025-03-04 10:53:23 -07:00
FusionPBX
bb02c97c64 Add grandstream_transfer_mode_via_vpk 2025-03-03 18:51:19 -07:00