Commit Graph

364 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
frytimo f03803f113
use settings object where possible (#7246)
* use settings object where possible

* use $user_uuid instead of $_SESSION['user_uuid']

* use extension_uuid when counting for performance
2025-02-13 14:12:48 -07:00
FusionPBX a91e2ac547
Fix password when the permission is not assigned 2025-02-07 17:32:09 -07:00
frytimo d77b69b4d5
fix provision edit to use text type instead of numeric (#7229) 2025-01-24 10:15:36 -07:00
frytimo 3d4fe6e5c1
fix call forward back button on save (#7196)
* fix call forward back button on save
2024-12-11 14:53:55 -07:00
FusionPBX cd8d5302ac
Fix temporary permissions 2024-11-29 13:57:01 -07:00
FusionPBX 42d634dc76
Allow adding a large list of emails 2024-10-30 14:11:46 -06:00
FusionPBX 214a24bc39
Simplify voicemail transcription
This is done by deprecating default setting voicemail transcribe_enabled.

Instead control this with the voicemail_transcription_enabled permission  and per voicemail.
2024-09-09 12:58:36 -06:00
FusionPBX 2182ebd0b4
Added the content card div 2024-09-05 23:37:34 -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
fusionate 4b23913555
Update Font Awesome to v6.6.x, adjust some icon references. 2024-08-09 18:14:52 -06:00
FusionPBX a5d44ae44b
Use the database more efficiently 2024-07-26 17:04:02 -06:00
FusionPBX 2d933a60ee
Update extension_edit.php
Empty option enables ability to see if the value is empty.
2024-07-18 23:43:36 -06:00
FusionPBX fb7d4e5cc3
Update new extension_range 2024-05-30 18:45:45 -06:00
chansizzle 4cdddba430
Add suggested extension ranges (#6871) 2024-05-30 17:58:05 -06:00
FusionPBX e95ea23ce9
Change concurrent_outbound_limit to limit_max 2024-05-16 09:38:31 -06:00
denisent 1b83d95935
Make extension concurrent outbound limit a default setting (#6968)
* Make extension concurrent outbound limit a default setting

* Make extension concurrent outbound limit a default setting
2024-05-16 09:34:43 -06:00
frytimo 9573cfd9a9
fix transcription bug showing when not enabled in default settings (#6911) 2024-03-05 10:58:22 -07:00
frytimo b47f9c3219
add default value for ring time delay before voicemail (#6900)
* add default value for ring time delay before voicemail

* Update app_config.php
2024-02-20 22:04:24 -07:00
FusionPBX f1bf0c6674
Add missing select closing tag 2024-01-10 18:11:19 -07:00
FusionPBX 5af47bb6ea
Update language translation 2024-01-10 17:57:06 -07:00
FusionPBX 50720e2af0
Update extension language 2024-01-10 16:21:37 -07:00
FusionPBX 5b022623c2
Get the list of installed languages 2024-01-10 16:12:32 -07:00
FusionPBX 0ea2d00289
Add an option for extension language 2024-01-10 15:55:00 -07:00
fusionate e36003f907
Extension - Edit: Include password when determining assigned device lines. 2023-12-27 19:29:19 +00:00
frytimo 3a4c2f72e2
Event socket bug fix and more docs (#6823)
* Add documentation to methods. Use is_resource for added type detection

* Allow connect to specify timeout in microseconds with default 30,000

* Update calling mechanism for event sockets

* Update project for new singleton event sockets

* remove unused variable

* catch errors on closing the socket
2023-12-02 17:16:18 -07:00
fusionate d9d17a6917
Misc: Remove parameters from event_socket_create() calls. 2023-09-20 18:43:17 +00:00
FusionPBX 4e861b0dcb
Hide device information If the extension type is virtual 2023-07-13 21:40:43 -06:00
markjcrane e06c8ea208 Add extension_type options: default, virtual 2023-07-13 17:11:07 -06:00
FusionPBX 8841e28f32
Default setting catetogies should use an underscore rather than a space 2023-07-13 08:17:44 -06:00
FusionPBX 999858e01c
Remove formatting for the device_address 2023-07-03 12:04:19 -06:00
markjcrane d7b3e25cd4 Allow case insensitive UUID 2023-07-03 08:33:34 -06:00
fusionate 85ed88878d
Extension - Edit: Add option to generate Device Address UUID, respecting device limits (if any). 2023-06-30 22:40:17 +00:00
fusionate ffbd2996f1
Extension - Edit: Format display of device address in Provisioning select box. 2023-06-30 21:49:44 +00:00
FusionPBX 6fa3dcdb53
Fix a spelling mistake for empty 2023-06-30 14:26:36 -06:00
FusionPBX 1ecd3c7be9
Remove to allow more flexibility on the device_address 2023-06-30 14:23:19 -06:00
markjcrane 53779d50d3 Change device_mac_address to device_address 2023-06-29 23:40:11 -06:00
FusionPBX 54beb80b32
Update extension_edit.php
Fix outbound caller ID name select.
Additional PHP 8.1 updates
2023-06-29 09:32:43 -06:00
fusionate 7c85bc95f6
Extension - Edit: Update for PHP 8.1 2023-06-22 18:35:59 +00:00
FusionPBX 094a0f4388
Only set the device_vendor when the value is not empty 2023-06-16 13:02:47 -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
fusionate 5d9c8ad770
Extension - Edit: Update for PHP 8.1 2023-06-12 23:04:33 +00:00
fusionate 03d446ec0d
Extension - Edit: Updates for PHP 8.1 2023-06-09 18:40:15 +00:00
Alex 75da594fea
extension_settings and domains php 8.1 changes (#6737)
* Update extension_settings.php

* Update extension_setting_edit.php

* Update extension_edit.php

* Update domain_edit.php

* Update domain_json.php

* Update extension_setting_edit.php
2023-06-02 12:43:35 -06:00
fusionate 980286a2e3
Extension - Edit: Update for PHP 8.1 2023-05-29 20:07:53 +00:00
markjcrane 9e5dec8113 Add some minor fixes 2023-05-24 15:39:10 -06:00
markjcrane 9a97c44952 Fix the provision template list 2023-05-18 01:42:48 -06:00
fusionate 6816921f47
Extension - Edit: Updates for PHP 8.1 2023-05-17 07:02:45 +00: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