Commit Graph

121 Commits

Author SHA1 Message Date
frytimo 2ae77071e2
Fix call recordings maintenance path (#7334) 2025-03-25 14:44:20 -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
fusionate 03030465d9
Audio Waveform: Boolean adjustments. 2025-03-05 16:09: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
FusionPBX ca2e72e6f4
Fix the call recording length 2025-02-02 18:27:03 -07:00
FusionPBX 11f250191d
Add call recordings record_extension
Call recording file format options: wav, mp3
2025-01-16 19:59:32 -07:00
FusionPBX cd8d5302ac
Fix temporary permissions 2024-11-29 13:57:01 -07:00
FusionPBX 7fe9ad5c77
Fix page load time for call_recordings
The page load time was slow when there were no call recordings for the domain.

Remove domain_uuid is null as this isn't needed for call recordings.
2024-10-28 11:00:24 -06:00
FusionPBX ebaf1f909f
Use boolean in conditional statement 2024-10-24 14:37:26 -06:00
fusionate e0fe291da0
CDR - Recording Playback: Fix seeking for chromium based browsers. 2024-10-18 18:58:44 -06:00
anthony-ricci 7122ecc154
Recording Seek (#7163) 2024-10-18 18:45:21 -06:00
Andy-Seattle a232176717
Update app_config.php (#7147)
Added a permission for call recording transcription as currently the transcribe button is displayed by default whenever a recording is selected. It should be controlled by a permission.
2024-09-30 17:45:08 -06:00
Andy-Seattle c33b5ba2b7
Update call_recordings.php (#7148)
Use the new call_recording_transcribe permission to determine if the Transcribe button should appear.
2024-09-30 17:44:52 -06:00
markjcrane 68c79ca0a3 Remove carriage return per line and leave only line feeds 2024-09-19 17:14:21 -06:00
chansizzle a36b20dbf6
add count next to the title (#7137) 2024-09-19 09:12:05 -06:00
Alex cb6edd88ef
Added content card to applications (#7121) 2024-09-05 17:10:04 -06:00
FusionPBX 032b6fca3e
Update translations 2024-08-29 01:57:18 -06:00
NorwayFun aabc2f33a8
Localization: Add full support for Georgian language (#7110)
* Translating apps to Georgian

* Translating apps to Georgian

* Translating more apps to Georgian

* Translating more apps to Georgian

* Translating more apps to Georgian

* Translating more apps to Georgian

* Translating more apps to Georgian

* Translating theme to Georgian

* Translating core to Georgian

* Translating core to Georgian

* Translating core to Georgian by Marie

* Translating core to Georgian

* Translating resources to Georgian by Marie

* Translating core to Georgian

* fix app_languages.php
2024-08-28 09:59:02 -06:00
FusionPBX cd1cc70044
Remove redundant database objects
This reduces database connections and improves performance.
2024-08-05 14:22:17 -06:00
FusionPBX e7e2f73004
Format the phone number for call recordings. 2024-07-26 16:32:49 -06:00
frytimo d68c1a08d8
Call recordings maintenance changes (#7039)
* add filesystem maintenance method to the call_recordings class

* Add filesystem maintenance default setting to the app_config
Set filesystem_retention_days default setting to 90 days in the 
app_config.php file to allow the maintenance service to delete older
files.
2024-07-09 09:19:50 -06:00
fusionate 1f8542b9cc
Call Recordings: Option to manually submit audio to AI for transcription, if enabled. 2024-05-21 14:59:23 -06:00
fusionate 8c21a3cd83
Call Recordings - List: Restore proper column widths. 2024-02-09 15:40:06 -07:00
fusionate b11901ad4d
Call Recordings: Audio waveform generation integration. 2024-02-09 13:09:52 -07:00
Anthony 624856090e
Added Greek translations to app_languages.php files in fusionpbx/app/ (#6834)
* Added Greek translations to call_forward/app_languages.php

* Added Greek translations to call_recordings/app_languages.php

* Added Greek translations to active_calls/app_languages.php

* Added Greek translations to click_to_call/app_languages.php

* Added Greek translations to conference_center/app_languages.php

* Added Greek translations to conference_controls/app_languages.php

* Added Greek translations to conference_profiles/app_languages.php

* Added Greek translations to conferences/app_languages.php
2023-11-20 16:40:51 -07:00
fusionate 2d9bec9295
Call Recordings: Added ability to do bulk download. 2023-10-19 00:40:50 +00:00
Anthony 4cc864d29a
Fixing/Adding missing translations in app_languages and app_menu files (#6795) 2023-08-30 13:18:55 -06:00
FusionPBX 3c9678bbf2
Prevent an error using str_pad on a null string 2023-07-05 19:02:28 -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
Alex 25b24d68bd
Fixed more php 8.1 errors (#6754)
* Update default_setting_edit.php

* Update default_settings_reload.php

* Update modules.php

* Update access_controls_reload.php

* Update call_recordings.php

* Update fax.php

* Update extension_edit.php

* Update extension_imports.php

* Update destination_imports.php

* Update dialplan_outbound_add.php

* Update dialplan_inbound_add.php

* Update voicemail_imports.php

* Update contact_import.php
2023-06-12 17:06:56 -06:00
Alex f86abd84c4
Fixed call recording download and call center show all (#6745) 2023-06-06 10:14:15 -06:00
Alex fb8d0e2983
fix bugs in php 8.1 changes (#6744)
* Update voicemail_greetings.php

* Update recordings.php

* Update recording_edit.php

* Update phrases.php

* Update phrase_edit.php

* Update music_on_hold_edit.php

* Update fax_queue.php

* Update extensions.php

* Update email_templates.php

* Update email_queue_edit.php

* Update dialplan_inbound_add.php

* Update device_profiles.php

* Update device_profile_copy.php

* Update contact_address_edit.php

* Update call_recordings.php

* Update call_center_agent_edit.php

* Update call_center_agents.php

* Update call_center_queues.php

* Update call_block.php

* Update menu_edit.php

* Update default_setting_edit.php

* Update database_edit.php
2023-06-05 12:41:28 -06:00
fusionate 358c36ef2b
Call Recordings: Updates for PHP 8.1 2023-06-02 18:26:50 +00:00
Alex 3112c9ae18
php 8.1 changes (#6721)
* Update call_flows.php

* Update call_flow_edit.php

* Update call_forward.php

* Update call_forward_edit.php

* Update call_recordings.php

* Update conference_centers.php

* Update default_settings.php

* Update default_setting_edit.php

* Update access_controls.php

* Update number_translations.php

* Update number_translation_edit.php

* Update setting_edit.php

* Update bridges.php

* Update bridge_edit.php

* Update call_broadcast_edit.php

* Update call_broadcast.php

* Update call_block.php

* Update call_broadcast_edit.php

* Update call_center_agent_edit.php

* Update call_center_agent_status.php

* Update call_recordings.php
2023-05-26 11:48:39 -06:00
Alex a46c5dbfc9
Update translations (#6688)
* Update app_languages.php
2023-05-12 15:14:59 -06:00
Alex 3e0ec8b752
Add missing translations (#6673) 2023-05-09 11:39:02 -06:00
frytimo fef8165be2
Frytimo pr patches for php8.1 (#6630)
* Passing null to parameter #2 ($string) of type string is deprecated

* Passing null to parameter #1 ($string) of type string is deprecated

* php 8.1 fixes

* php 8.1 fixes - replace strlen($var) > 0 with !empty($var)

* php 8.1 fixes - replace ${var} with {$var}

* php 8.1 fixes - replace ${var} with {$var}

* php 8.1 fixes - replace ${var} with {$var}

* php 8.1 fixes - replace ${var} with {$var}

* php 8.1 fixes - strlower with null

* php 8.1 fixes - strreplace with null

* php 8.1 fixes - passing null to base64_decode

* php 8.1 fixes - check for false and check for null on $this->dir

* php 8.1 fixes - remove assignment of $db variable to modules object

* php 8.1 fixes - avoid sending null to substr

* php 8.1 fixes - change ${var} to {$var}

* php 8.1 fixes - check for null before preg_replace

* php 8.1 fixes - remove setting db variable on domains object

* php 8.1 fixes - set empty string if $row['domain_setting_subcategory'] is null

* php 8.1 fixes - set empty string if $_REQUEST['show'] is not available

* php 8.1 fixes

* php 8.1 fixes - correct $_POST checking syntax

* php 8.1 fixes - correct $_POST variables

* php 8.1 fixes

* Use brackets consistently

* Update user_setting_edit.php

* Change to not empty

* Update device.php

* Update text.php

---------

Co-authored-by: Tim Fry <tim@voipstratus.com>
Co-authored-by: FusionPBX <markjcrane@gmail.com>
2023-05-05 10:46:37 -06:00
markjcrane 1513bd3301 Add Chinese, Korean, and Japanese translations 2023-05-03 10:36:25 -06:00
markjcrane 28fe89066e Add Chinese, Korean, and Japanese translations 2023-05-02 22:05:16 -06:00
FusionPBX 5a3b35cb83
Add additional languages (#6654) 2023-05-02 16:12:06 -06:00
frytimo 69bd42af05
remove unneeded destruct methods as GC has higher performance (#6631)
Co-authored-by: Tim Fry <tim@voipstratus.com>
2023-04-27 20:18:53 -06:00
Alex c0443e4da9
Add missing translations (#6629)
* Add missing translations

* Update app_languages.php
2023-04-27 20:15:26 -06:00
yois615 7a26c271de
[call_recordings] Add destination to view (#6601) 2023-03-31 15:46:31 -06:00
FusionPBX ef1dbca245
Fix paging records for call recordings 2022-12-29 12:05:51 -07:00
FusionPBX 7cb9836574
Update version to 1.1
Deprecate the v_call_recordings table
2022-12-03 19:23:58 -07:00
FusionPBX 3b9357976d
Use the new call recordings view 2022-12-03 19:19:29 -07:00
FusionPBX afa57b26a4
Update call recordings with more details
- Use the view_call_recordings view
- Add caller id name, number and destination
- Add more to the search
- Improve responsiveness
- Remove count to improve speed
2022-12-03 18:46:58 -07:00
FusionPBX 259dd1fbab
Add view_call_recordings 2022-12-03 18:44:17 -07:00
FusionPBX 77cbcad4dc
Add Caller ID Name, Number, and Destination 2022-12-03 18:42:07 -07:00
markjcrane d50bcb476a Replace root.php 2022-10-10 16:35:14 -06:00