Commit Graph

11876 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
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
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
FusionPBX 7a167f70af
Get emergency emails from both default and domain settings 2025-03-12 11:37:27 -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
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
FusionPBX 1be15d7d9c
Update responsive design 2025-03-11 14:27:45 -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 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
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
frytimo fbeb65428e
fix bug for registration count (#7293) 2025-03-06 15:46:17 -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
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
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 48e44814de
Update email_send.php 2025-03-02 10:38:34 -07:00
chansizzle e4ddb4561e
fix email category mispelling (#7280) 2025-02-28 17:22:22 -07:00
FusionPBX b4de6f5e4b
Use status voicemail
Moved voicemail status after missed calls. This way, it will show the status of voicemail when it goes to voicemail.

There is still a field in the CDR for missed_call and this will still be set to true.
2025-02-28 17:09:35 -07:00
FusionPBX f3986290ea
Add enable-rfc-5626 to the internal profile 2025-02-27 10:48:29 -07:00
markjcrane bd54c07e50 Move email_templates to core 2025-02-26 10:29:45 -07:00
frytimo d919a3cc1b
Add the apcu caching ability for performance (#7276)
* add the apcu caching ability for performance
When the PHP extension APCu is loaded, the settings class and the auto_loader will cache their results across requests in RAM. For more information about the APCu extension visit the PHP page: https://www.php.net/apcu

* use global instead of default terminology
2025-02-25 17:21:41 -07:00
Alex 305f585b17
Add missing counter divs (#7277)
* Add counter div to voicemail messages and domain settings

* Update domain_settings.php

* Update menu_item_list.php

* Update domain_settings.php

* Update voicemail_messages.php
2025-02-25 16:24:16 -07:00
Alex 2f955d4fef
Fix queue edit content alignment (#7274) 2025-02-25 13:23:06 -07:00
Alex e08a79e64d
Add missing required class to required fields (#7273)
* Add missing required class to required fields

* Update destination_edit.php

* Update device_edit.php

* Update voicemail_edit.php

* Update dashboard_edit.php

* Update call_block_edit.php

* Update destination_edit.php
2025-02-25 12:48:50 -07:00
Alex ba48d186a9
Add content card div to contact email edit and module edit (#7272)
* Add content card div to contact email edit and module edit

* Update module_edit.php
2025-02-25 12:35:23 -07:00
FusionPBX bbe7b76673
Add more FIFO Queue features
- Ring Strategy
- Queue
- Exit Key
- Exit Action
2025-02-24 22:07:34 -07:00
FusionPBX eb26156159
Remove the !empty(voicemail_mail_to) condition
The toggle for keeps local after email harms nothing. So we don't need to restrict it.
2025-02-21 13:16:11 -07:00
Alex 7707b9853c
Fix bridges redirect to correct domain when using show all (#7269) 2025-02-21 10:58:53 -07:00
Alex d78c726d9b
Fix call forward show all button (#7267) 2025-02-21 10:23:46 -07:00
chansizzle 3adcad3e5e
date column before time column (#7266)
change the order of the columns
2025-02-20 21:28:22 -07:00
Alex 8cfc221da4
Redirect to the correct domain if using show all (#7265)
* Redirect to the correct domain if using show all

* Update bridges.php

* Update call_recordings.php

* Update conference_controls.php

* Update conference_profile_params.php

* Update conference_profiles.php

* Update email_queue.php

* Update event_guard_logs.php

* Update fax_queue.php

* Update user_settings.php

* Update require.php
2025-02-20 16:30:09 -07:00
FusionPBX c2fe9d32f7
Fix a voicemail bug
Fix the voicemail link
Use only one keep local feature
Deprecate the voicemail_local_after_forward
2025-02-20 15:01:28 -07:00
FusionPBX 37840abb98
Fix the cdr http_enabled boolean condition 2025-02-20 09:51:08 -07:00
chansizzle 3c9720ee36
Add CID Name prefix to destinations.php (#7262) 2025-02-20 09:13:36 -07:00
FusionPBX 7503ff40de
Add 922 as another emergency test number 2025-02-19 10:37:40 -07:00
frytimo 679b407562
bug fix domain name when using devices showall (#7259)
When the 'Show All' button is clicked the display of devices is using the current domain name instead of the domain name that belongs to the device
2025-02-18 15:01:19 -07:00
FusionPBX 2661ad7bf0
Allow the @ in the Caller ID name 2025-02-17 11:56:01 -07:00
FusionPBX 8b54dd8b61
Fix invalid XML CDR 2025-02-15 18:56:12 -07:00
FusionPBX abd2077ede
Send CDR with invalid xml to failed/invalid_xml 2025-02-15 18:21:14 -07:00