Commit Graph

369 Commits

Author SHA1 Message Date
FusionPBX
e5e63a3846 Update extension_edit.php 2025-03-29 11:29:58 -06:00
chansizzle
590e58c388 Update extension_edit to populate device servers (#7347)
This pull request fixes the code for adding extensions and a device is added to the extension.

These device fields are populated if they are defined and enabled in default setttings. This works if the data types = text (the default) and it works if the data types = array (very useful for server clusters)
2025-03-29 11:27:03 -06:00
Ahron Greenberg (agree)
0e2b083807 Fix adding duplicate device error (#6490)
* [extensions] Fix adding duplicate device error
2025-03-22 12:55:15 -06:00
frytimo
b82d9f17a7 Fix exception thrown for order by used in count devices clause (#7330) 2025-03-21 10:33:22 -06:00
fusionate
42c96239c8 Theme: Set select password fields to monospace font when revealed. New input_text_font_password setting to control default font. 2025-03-18 17:55:41 -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
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