Commit Graph

11872 Commits

Author SHA1 Message Date
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
FusionPBX
7c25ad1ed7 Disable vad for flying voice by default 2025-02-15 12:09:46 -07:00
FusionPBX
27e32e8f34 Send the fax with primary and alternative routes 2025-02-14 15:50:51 -07:00
FusionPBX
9d3dd2a831 Add two fax variables 2025-02-14 13:08:19 -07:00
FusionPBX
f11c792c2f Fix the fifo agent delete 2025-02-13 21:51:50 -07:00