Commit Graph

12409 Commits

Author SHA1 Message Date
markjcrane
4bc0fcb4ab Fix domain_name for :port in the URL
- Account for the following URLs
  - user:pass@domain_name:port
  - user:pass@domain_name
  - domain_name:port
2025-12-22 13:30:51 -07:00
markjcrane
12559fad46 Add a comment on the render method
- Removing deprecated code for the database save method
2025-12-22 13:16:23 -07:00
Alex
52245de31e Add music_on_hold_global permission (#7669)
* Add music_on_hold_global permission

* Update app_config.php

* Update music_on_hold.php
2025-12-22 12:05:20 -07:00
FusionPBX
2cf0bdc2ce Fixes a problem when text-to-speech provider uses mp3
- Get the greeting format to support mp3
- Fixes a problem when using elevenlabs
- Code assumed wav format 
- Check class existence before instantiating objects
2025-12-18 15:57:10 -07:00
fusionate
fd36312abd Voicemails - List: Adjust column widths. 2025-12-18 15:16:45 -07:00
Alex
72dafd903d Use the time_format default setting on more pages (#7663)
* Use the time_format default setting on more pages

* Update call_recordings.php

* Update devices.php

* Update email_queue.php

* Update emergency.php

* Update time formatting based on settings

* Update fax_logs.php

* Update fax_queue.php

* Update time_condition_edit.php

* Update xml_cdr_details.php

* Update xml_cdr_search.php

* Update xml_cdr_statistics_inc.php

* Update xml_cdr_statistics.php

* Update xml_cdr.php

* Update contact_edit.php

* Update contact_notes_view.php

* Update contact_notes.php

* Update contact_timer.php

* Update contact_times.php

* Update user_logs.php

* Update footer.php

* Update template.php

* Update fax_files.php

* Update recent_calls.php

* Update missed_calls.php

* Update recordings.php

* Update xml_cdr_statistics_inc.php

* Update xml_cdr_inc.php

* Update xml_cdr_inc.php

* Update recordings.php

* Update missed_calls.php

* Update call_block.php

* Update user_logs.php

* Update xml_cdr_inc.php

* Update xml_cdr_details.php

* Update recordings.php

* Update fax_queue.php

* Update fax_logs.php

* Update fax_files.php

* Update event_guard_logs.php

* Update emergency.php

* Update email_queue.php

* Update devices.php

* Update call_recordings.php

* Update time_condition_edit.php

* Update time_condition_edit.php

* Update call_block.php

* Update call_recordings.php

* Update devices.php

* Update email_queue.php

* Update emergency.php

* Update event_guard_logs.php

* Update fax_files.php

* Update fax_logs.php

* Update fax_queue.php

* Update recordings.php

* Update xml_cdr_inc.php

* Update user_logs.php

* Update destination_summary.php

* Update xml_cdr_extension_summary.php

* Update music_on_hold.php

* Update fax_send.php

* Update voicemail_greetings.php

* Update voicemail_greetings.php

* Update xml_cdr_inc.php

* Update xml_cdr_inc.php

* Update xml_cdr_inc.php

* Update xml_cdr_statistics_inc.php

* Update xml_cdr_statistics_inc.php

* Update xml_cdr_inc.php

* Update xml_cdr_extension_summary.php

* Update destination_summary.php

* Update xml_cdr_statistics_inc.php

* Update xml_cdr_inc.php

* Update xml_cdr_statistics_inc.php

* Update contact_edit.php

* Update css.php

* Update template.php

* Update fax_send.php
2025-12-18 09:52:49 -07:00
markjcrane
73a85cf57f Set the transcribe output_type 2025-11-27 08:14:30 -07:00
FusionPBX
ebbd7c9783 Add file_type user it to determine when to user xml::sanitize 2025-12-16 11:58:00 -07:00
FusionPBX
a4841da8b6 Fix the contact_extensions_filter_by value set it to call_group 2025-12-16 11:02:29 -07:00
FusionPBX
6d8618cb2f Add sip_h_caller_destination to the dial_string if it has a value 2025-12-15 12:17:43 -07:00
FusionPBX
46bc156dc4 Predefine the subject and body variables 2025-12-15 10:45:28 -07:00
markjcrane
498fd29748 Username and password required only when register is true 2025-12-14 08:57:08 -07:00
markjcrane
fd039bd78c Add new message-added_to_queue 2025-12-13 16:23:00 -07:00
fusionate
5de3e7a9d5 Fax Server - Advanced Settings: Add Test button to check email account connectivity. 2025-12-11 19:18:11 -07:00
markjcrane
793212ffd7 Add option to filter contact extension by call_group
- This is needed for polycoms for a large client
- So that it doesn't phone book limits on a Polycom
2025-12-11 17:45:48 -07:00
markjcrane
dcc78adcb5 Use PHP Formatter - pretty-php to format the code 2025-12-11 16:46:35 -07:00
FusionPBX
357bf650b5 Add ability to update the call recording transcription 2025-12-10 19:34:09 -07:00
FusionPBX
37c7e44146 Call record update record_stereo, and record_stereo_swap 2025-12-10 15:31:40 -07:00
FusionPBX
6250cc6d91 Change the method to transcribe_queue 2025-12-10 15:10:46 -07:00
frytimo
10868ec0cb Set dialplan_detail_enabled to true when creating destination (#7661) 2025-12-10 14:11:24 -07:00
frytimo
2b483ef0cb Fix event_message body always empty (#7660)
Message body was not checked. This will update the get and set methods to ensure if the body is present the body can be set and retrieved.
2025-12-10 14:10:05 -07:00
markjcrane
08a583473a Use a left Join for the xml_cdr_transcripts 2025-12-10 13:49:29 -07:00
markjcrane
9c322f58e2 Remove deprecated view definitions in app_defaults.php
Views are being created by the database class views method.
2025-12-10 13:30:09 -07:00
markjcrane
c18117f8b5 Remove record_transcription replaced by transcript_json 2025-12-10 13:06:11 -07:00
FusionPBX
10629fbbf0 Call Recording Transcription multiple changes
- Use the new transcribe_queue class and method
    - Move call recording transcription to xml_cdr_transcripts
    - Remove transcribe_target table, keys and colum name
2025-12-10 12:08:34 -07:00
volga629-1
178f83d6be View statements fixes (#7657)
* Missing open statement 

Missing open statement 

```
$view['sql'] .= "); \n";

```

* Double SELECT will break query

Double SELECT break query

* Forgot update version

Forgot update version

* No matching ( 

No matching  opening 

```

FROM
v_contacts as c
);

```
2025-12-10 11:24:34 -07:00
john doe
b2fc02f4a8 Replace CONCAT with indexable expressions and refactor using CTE (#7647)
Replaced unindexable CONCAT() with COALESCE(col, '') || ... and refactored dialplan lookup into a CTE with UNION to split destination-based and public-context paths.

CONCAT() is marked as STABLE in PostgreSQL and cannot be used in functional indexes, which forced sequential scans during dialplan lookups. To enable future indexing and improve query optimizability, we replace all CONCAT(a, b, c) calls with (COALESCE(a, '') || COALESCE(b, '') || COALESCE(c, '')), which is functionally equivalent for text columns (treating NULLs as empty) and composed only of IMMUTABLE operations.

Additionally, the query was refactored using a CTE with UNION to decompose a complex top-level OR condition into two independent branches:
1. Dialplans linked to matching destinations.
2. Public dialplans with domain_uuid IS NULL.

This structure allows the planner to optimize each path separately, avoid full-table scans, and leverage primary key lookups efficiently - even without additional indexes.

On a production dataset with 3kk records in v_dialplans, this change reduced dialplans query latency from ~1.5s to ~37ms (40.5x faster), with further gains possible via expression indexes.
2025-12-09 09:02:26 -07:00
Takanobu Fuse
1c2f2aaae2 Fixed Linphone Provisioning URL Error for HTTP Authentication. (#7654) 2025-12-09 08:52:02 -07:00
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
markjcrane
f56c51f6d2 Remove the reference to the empty string for boolean enabled. 2025-12-08 12:14:18 -07:00
FusionPBX
0e7ec5baa2 Change the class method getxml to get_xml
- Count the primary key in the SQL statement. Slightly more efficient.
- Updated $dir to $xml_dir
- Add an extra line feed
- Change spaces to tabs
- Remove the method return
2025-12-08 08:23:12 -07:00
volga629-1
e2ac2b3272 Number translate bug PHP Fatal error: Uncaught Error: Cannot access private property xml (#7656)
* Number translation through exception unable load private property


PHP Fatal error:  Uncaught Error: Cannot access private property

Under class defined 

```
       private $xml;
```

You can't access this properly under private constant

* Fix private property access  under class for import()

PHP Fatal error:  Uncaught Error: Cannot access private property.
2025-12-08 08:09:11 -07:00
volga629-1
807c6e2f46 Fix the vars.xml path by adding a missing forward slash (#7658)
* Vars table v_vars is not propagate table data

Path 

```
$xml_file = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'app/switch/resources/conf/vars.xml';
```

Will expand too 

```
/usr/share/nginx/fusionpbxapp/switch/resources/conf/vars.xml
```

This causes a failure to provision data into v_vars table for installs with a customized path.
2025-12-08 07:50:01 -07:00
FusionPBX
9a1e624af0 Fix condition for voicemail_transcription_enabled 2025-12-05 15:00:45 -07:00
fusionate
bb6306a7db Destination [Class]: Add optional placeholder parameter for the select method (default mode only). 2025-12-04 20:43:32 -07:00
FusionPBX
7d54568ca3 Update system_information array with apcu_enable and hostname 2025-12-03 18:10:33 -07:00
markjcrane
7126b1c47d Add hostname and use text translations 2025-12-03 11:24:48 -07:00
FusionPBX
8131e91378 Sanitize the phonebook xml 2025-12-02 12:58:40 -07:00
FusionPBX
5996544050 Fix the call center dsn variable: dsn_callcenter 2025-12-02 11:09:18 -07:00
frytimo
746329f130 Fix active calls dashboard widget hover (#7651) 2025-11-29 10:57:50 -07:00
frytimo
ef71932c74 Fix rounding causes negative timer (#7650)
When the floor operation is used it can go below zero causing the value to show as `-1👎-1` instead of 0:0:0 for a start time.
2025-11-28 14:34:41 -07:00
frytimo
fe1cd3d16f Fix live graph to show hover data points (#7649) 2025-11-28 14:34:30 -07:00
FusionPBX
ec439999b3 Add call recordings to the transcribe queue 2025-11-26 06:18:56 -07:00
Alex
48038090fc Check if queue_record_template is empty to fix a PHP warning (#7645) 2025-11-25 14:41:23 -07:00
Alex
124e7c2da8 Extension Summary: Fix include internal search filter (#7644)
* Extension Summary: Fix include internal search filter

* Update xml_cdr_extension_summary.php
2025-11-25 11:53:23 -07:00
markjcrane
e75732c7ab Fix the call center queue record 2025-11-25 10:00:47 -07:00
Alex
ee240a0822 Update bridge_edit.php (#7642) 2025-11-24 16:48:12 -07:00
Alex
c785656949 Update dialplan_outbound_add.php (#7641) 2025-11-24 16:47:12 -07:00
FusionPBX
460d1f81b8 Update esl to event_socket 2025-11-24 05:42:17 -07:00
frytimo
2951bff6c5 Reuse socket connection to event socket. (#7634)
Reuse the socket connection instead of creating a new connection for each API request.
Add PHPDoc tag "static" for the static methods in event_socket.
2025-11-24 05:30:28 -07:00