Commit Graph

254 Commits

Author SHA1 Message Date
FusionPBX cd5693dbd4
Update check for duplicate destinations
Account for destination_prefix
2025-03-21 21:00:37 -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 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
Ahron Greenberg (agree) 3603711d77
fix destination_condition_field gets overwritten by default setting (#7242) 2025-02-11 08:41:25 -07:00
FusionPBX 0c48569c71
record_extension default to mp3 2025-01-29 21:43:24 -07:00
FusionPBX 31adc0883a
Update destination_edit.php
- Use the settings class to get the default settings
- Use call recordings variable record_extension wav or mp3
2025-01-16 19:56:32 -07:00
anthony-ricci 7993e2ad1b
messages-to-email (#7193) 2024-12-09 10:10:15 -07:00
FusionPBX cd8d5302ac
Fix temporary permissions 2024-11-29 13:57:01 -07:00
Alex cb6edd88ef
Added content card to applications (#7121) 2024-09-05 17:10:04 -06:00
FusionPBX 2b1cba9a39
Add a permission called destination_local 2024-09-04 10:34:52 -06:00
frytimo 2cbb4dbc31
remove instances where a pointer is used in a foreach loop for value (#7108) 2024-08-22 12:41:10 -06:00
FusionPBX 9e2ab9b8c3
Add destination ringback 2024-06-11 10:16:40 -06:00
Antonio Fernandez cf8087916b
New feature: Caller id number startswith (#6987)
* Destination Condition for CID Starts With added

* Translations for CID Starts with added

* changed "startswith" to prefix in app_languages

* added prefix where it needs to be

* Update destination_edit.php
2024-05-29 11:32:51 -06:00
FusionPBX 21c63c3171
Update destination_edit.php 2024-03-24 10:20:12 -06:00
FusionPBX 34321b2b1d
Fix destination_context use public not null 2024-01-22 11:20:04 -07:00
FusionPBX 32f8711b14
Set inline to true for Caller ID prefix 2024-01-17 15:14:27 -07:00
FusionPBX 869719aa05
Add presence_id for inbound destinations 2024-01-12 12:09:15 -07:00
FusionPBX cea06a548e
Add provider_uuid to destinations dialplan xml and XML CDR 2023-12-09 23:07:36 -07:00
FusionPBX d48f4a0b89
Use not empty arround the arrays 2023-12-09 22:51:48 -07:00
FusionPBX 39d975a279
Add allowed API commands regex and sofia_contact 2023-10-04 12:27:45 -06:00
FusionPBX 3a2593002f
Sanitize the application data 2023-08-30 12:52:54 -06:00
FusionPBX 68f575b941
Fixed a problem for inbound destinations with more than one caller ID routing conditions.
Its a minor bug as it created the dialplan XML so the call will work. However the dialplan details needed the group incremented.
2023-08-03 12:18:02 -06:00
markjcrane 689fe5c6b4 Use call_direction, domain_name and domain_uuuid details are added to the conditions 2023-07-15 18:22:03 -06:00
markjcrane 296b092b22 Add caller ID routing dialplan details. 2023-07-14 20:49:23 -06:00
FusionPBX e629e615d4
Update destination_edit.php 2023-07-05 18:12:08 -06:00
markjcrane 56d5c8a755 Use and update the description 2023-07-04 15:24:13 -06:00
FusionPBX 6f73009728
Add condition_app and condition_data
This allows caller ID routing with one destination.
2023-07-04 14:45:40 -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 22a01b147d
Fixed call center queue agents table (#6746)
* Update destination_edit.php

* Fixed php 8.1 errors

* Fixed cdr recording download not working

* Update call_center_queue_edit.php

* Update call_center_queue_edit.php

---------

Co-authored-by: FusionPBX <markjcrane@gmail.com>
2023-06-06 11:31:22 -06:00
fusionate d0b6874f23
Destination - Edit: Updates for PHP 8.1 2023-05-22 23:04:46 +00:00
FusionPBX e7730e9e69
Prevent overwriting variables 2023-05-21 16:52:14 -06:00
markjcrane f1ac3d92dd Destinations more minor changes 2023-05-17 16:32:05 -06:00
markjcrane af8a6991b1 Initialize the array if its empty 2023-05-17 14:18:46 -06:00
markjcrane 7d18e3eedc Destinations update for PHP 8.1 2023-05-17 11:31:53 -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
FusionPBX dbeb793710
Get the destination_number when needed
If the user doesn't have permission to set the destination_number then get it from the database
2023-04-10 12:09:14 -06:00
FusionPBX e2c22776ce
Country code note required but highly recommended 2023-04-03 09:44:08 -06:00
FusionPBX 4dbee9b596
Fix bridge statements from recent change
Example bridge statement broken by the sanitize

before
sofia/internal/$1${regex(${sofia_contact(101@dev.local)}|^[^@]+(.*)|%1)}

after
sofia/internal/1{regex({sofia_contact(101@dev.local)}|^[^@]+(.*)|%1)}
2023-03-31 19:00:23 -06:00
FusionPBX 08fce99db7
Allow sip_to_user and sip_req_user 2023-03-31 11:10:58 -06:00
Alex 43eb2a5b9d
[security] sanitize the xml (#6595)
* Update call_center_queue_edit.php

* fix typo

* Update call_flow_edit.php

* Update conference_center_edit.php

* Update conference_edit.php

* Update destination_edit.php

* Update fax.php

* Update ivr_menu_edit.php

* Update ring_group_edit.php

* Update app_defaults.php

* Update ivr_menu_copy.php

* Update destination_imports.php

* Update app_defaults.php
2023-03-30 12:46:36 -06:00
FusionPBX 3247357c5d
Remove action == add 2023-03-22 10:01:43 -06:00
FusionPBX 26b0988075
destination_country_code is required 2023-03-22 09:53:28 -06:00
Alex 7326cb845a
Set default for enabled (#6556)
* Set default for enabled

* Update conference_profile_edit.php

* Update call_block_edit.php

* Update conference_control_edit.php

* Update conference_control_detail_edit.php

* Update conference_profile_edit.php

* Update conference_profile_param_edit.php

* Update conference_edit.php

* Update destination_edit.php

* Update device_edit.php

* Update device_profile_edit.php

* Update device_vendor_edit.php

* Update email_template_edit.php

* Update extension_edit.php

* Update module_edit.php

* Update phrase_edit.php

* Update ring_group_edit.php

* Update sip_profile_edit.php

* Update stream_edit.php

* Update time_condition_edit.php

* Update var_edit.php

* Update voicemail_edit.php

* Update call_block_edit.php

* Update default_setting_edit.php

* Update domain_setting_edit.php

* Update domain_edit.php

* Update user_edit.php

* Update bridge_edit.php

* Update sip_profile_edit.php

* Update sofia_global_setting_edit.php

* Update call_flow_edit.php

* Update email_template_edit.php

* Update call_flow_edit.php

* Update bridge_edit.php

* Update email_template_edit.php

* Update sip_profile_edit.php

* Update sofia_global_setting_edit.php

* Update bridge_edit.php

* Update call_flow_edit.php

* Update conference_control_edit.php

* Update sip_profile_edit.php

* Update stream_edit.php

* Update default_setting_edit.php

* Update email_template_edit.php

* Update extension_setting_edit.php

* Update default_setting_edit.php

* Update dashboard_edit.php

* Update dashboard_edit.php

* Update default_setting_edit.php
2023-02-17 14:21:41 -07:00
Alex 129d173624
Add enable toggle to more pages (#6549)
* Add bridge enabled toggle

* Update call_block_edit.php

* Add call flows enabled toggle

* Add conference center enabled toggle

* Add conference control detail enabled toggle

* Add conference control enabled toggle

* Add conference enabled toggle

* Add phrase enabled toggle

* Add stream enabled toggle

* Add voicemail enabled toggle

* Add destination enabled toggle

* Add time condition enabled toggle

* Add default settings enabled toggle

* Add domain enabled toggle

* Add email template enabled toggle

* Add module enabled toggle

* Add number translation enabled toggle

* Add sip profile enabled toggle

* Add switch var enabled toggle
2023-02-13 18:02:01 -07:00
FusionPBX acf3781bd3
Use the destination_prefix permission 2022-11-01 12:07:56 -06:00
FusionPBX 598eb4ab31
Wrap is_array arround foreach 2022-10-13 08:43:32 -06:00
markjcrane d50bcb476a Replace root.php 2022-10-10 16:35:14 -06:00
FusionPBX 93dd8bda71
Change variabale name from action to destination_action.
Resolves a conflict with another variable called action.
2022-09-30 16:18:39 -06:00
FusionPBX 884e90ac39
Comment out the database response. 2022-09-18 04:48:17 -06:00
FusionPBX d62f360f77
Delete the cache in e.164 format. 2022-08-24 16:53:31 -06:00