Commit Graph

7938 Commits

Author SHA1 Message Date
frytimo 77d2b3099a
Create get methods for domain_uuid and user_uuid (#7144)
* create get methods for domain_uuid and user_uuid
2025-03-13 14:32:51 -06:00
FusionPBX 6c6814b29e
Remove syntax that breaks older PHP
Removed :static to support PHP 7.4
2025-03-12 23:39:24 -06:00
frytimo bed7c8827f
fix missing quotes on parameter default value (#7310) 2025-03-12 20:50:14 -06:00
FusionPBX 31a88e3a15
Update auto_loader.php 2025-03-12 14:48:33 -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 da6471df5f
Optimize require.php (#7286)
Load the auto_loader first
Use config object to find config.conf file and declare global
Use database object and declare global
Use settings object and declare global
2025-03-11 14:37:31 -06:00
Antonio Fernandez ca2b0b22dd
Update algom{$mac}.conf (#7299)
admin password is now added via provisioning
2025-03-10 17:34:43 -06: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 bb02c97c64
Add grandstream_transfer_mode_via_vpk 2025-03-03 18:51:19 -07:00
FusionPBX c47eac110a
Add grandstream_transfer_mode_via_vpk 2025-03-03 18:50:58 -07:00
FusionPBX 9fcfc7276a
Add grandstream_transfer_mode_via_vpk 2025-03-03 18:50:44 -07:00
FusionPBX 6baa6973f3
Add grandstream_transfer_mode_via_vpk 2025-03-03 18:47:28 -07:00
FusionPBX 150eeccd5e
Add grandstream_transfer_mode_via_vpk 2025-03-03 18:43:29 -07:00
fusionate 7b3b3aa5f9
Menu: New option to set icon colors. 2025-03-03 14:08:05 -07:00
FusionPBX 7d62cc1e63
Fix the server 2 address and sip transport 2025-03-03 12:29:56 -07:00
FusionPBX a15488a708
Update the condition for validate certificate for a boolean value 2025-03-02 10:45:31 -07:00
frytimo f8e1e81546
fix wrong logical check (#7282)
Forgot to remove the '!' (not) operator from the cache check when re-organizing the update cache function
2025-02-27 21:09:31 -07:00
frytimo 863de97270
Update grandstream template loop (#7281) 2025-02-27 19:47:27 -07:00
frytimo d919a3cc1b
Add the apcu caching ability for performance (#7276)
* add the apcu caching ability for performance
When the PHP extension APCu is loaded, the settings class and the auto_loader will cache their results across requests in RAM. For more information about the APCu extension visit the PHP page: https://www.php.net/apcu

* use global instead of default terminology
2025-02-25 17:21:41 -07:00
FusionPBX c22080d2fc
Fix an unclosed {if} tag
Caused by Commit 40f78c3
2025-02-25 13:09:49 -07:00
wouam31200 dde61fdeeb
Add template sip server (#7270)
* W80 Sip Server Template

* Update Template Sip Server
2025-02-22 08:36:12 -07:00
Alex e416e74c30
Add domain change to require.php (#7263) 2025-02-20 11:25:36 -07:00
frytimo fd34a000a6
Add old search method for auto loading classes (#7261)
Adding this commit to ensure backwards compatibility and a fail-safe mechanism for loading a class
2025-02-20 11:24:39 -07:00
Mendel 83cf184452
Yealink provioning files fix (#7236)
* multiple changes to the and for the yealink t58W

Added the variable for Bluetooth so that it won't be disabled every time the phone is provisioned.
Added what is needed for the wallpaper and firmware.

* Update app_config.php

* Added the Call Waiting Variable to the yealink config files
2025-02-20 09:31:10 -07:00
wouam31200 a18c2edf24
Add Yealink W80 Dect (#7258)
* Update {$mac}.cfg

* Update {$mac}.cfg

* Update {$mac}.cfg

BLF Not Showing Correct Status When Using DNS-SRV

* Update y000000000095.cfg

 yealink_language

* Update y000000000097.cfg

Add {$yealink_enhanced_dss_keys}

* Update y000000000096.cfg

Add {$yealink_enhanced_dss_keys}

* Update y000000000095.cfg

Add {$yealink_enhanced_dss_keys}

* Update y000000000070.cfg

Add {$yealink_enhanced_dss_keys}

* Add features.enhanced_dss_keys.enable = {$yealink_enhanced_dss_keys}

* Add features.enhanced_dss_keys.enable = {$yealink_enhanced_dss_keys}

* Added some default settings

Added some default settings

* Update y000000000146.cfg

* add w80 dect
2025-02-20 09:18:02 -07:00
FusionPBX 535d0395e6
Update {$mac}.cfg
required for firmware .160 and newer
account.{$row.line_number}.sip_server.1.address

required for firmware .125 and older
account.{$row.line_number}.sip_server_host
2025-02-15 14:38:39 -07:00
frytimo 5e6ec475df
update auto_loader cache file when updating (#7255) 2025-02-15 10:44:46 -07:00
frytimo dc0f146485
fix php warning in menu class (#7256)
initialize variable before use
2025-02-15 10:43:03 -07:00
FusionPBX c4aa9e9b02
Update the cache after loading classes array 2025-02-13 15:05:27 -07:00
frytimo 0931197137
build array in auto_loader constructor (#7158)
* Build an array in the auto_loader constructor

* Update auto_loader.php

* Update auto_loader.php

* minor adjustment to name and comment and remove trailing closing tag

* use best practices for the loader method
Allowing the loader method:
- Should Never Be Called Manually
- Prevents External Modification
- Hides Implementation Details

* cache array in the temp folder and load if available

* re-organize functions within the class

* add cache recreation for auto_loader in upgrade_menu

* add cache recreation for auto_loader in upgrade_menu

* Update app_languages.php
2025-02-13 14:48:40 -07:00
fusionate 5b1697fc17
Menu - Fixed: Change to submenu item links to hopefully resolve random submenu closure on click bug. 2025-02-11 18:02:16 -07:00
FusionPBX 9b0292f3d2
Fix the destination login alternate path 2025-02-05 18:09:08 -07:00
frytimo d6f9b25283
format schema class (#7145)
- format schema class using autoformat
2025-01-28 17:05:00 -07:00
FusionPBX b8b796316e
Add method column_exists to the database class 2025-01-28 15:35:02 -07:00
FusionPBX a4f83539ba
Update login.php 2025-01-28 12:54:09 -07:00
Mendel 43612a5049
multiple changes to the and for the yealink t58W,and images for yealinks in general. (#7223)
* multiple changes to the and for the yealink t58W

Added the variable for Bluetooth so that it won't be disabled every time the phone is provisioned.
Added what is needed for the wallpaper and firmware.
2025-01-25 19:32:25 -07:00
Norman King a87bdc997e
Add wp8x6 provisioning template. (#7224)
* added 8x6 template

* Add files via upload

* 8x6 phonebook

* Update {$mac}.xml

* Deleted wp8x6/${mac}.xml

* added TR69 variable

* added tr69 url and interval

* Update {$mac}.xml

changed asc variable

* added gs variables to wp8x6

* removed hard code settings

* remove additionall hard code settings

* wifi, ringtone, and dhcp settings

* bluetooth

---------

Co-authored-by: unknown <rweiler93@gmail.com>
2025-01-25 19:24:47 -07:00
frytimo da1da92d01
fix missing variable in default template (#7222)
When 'dev' or 'all' error level is set in the config.conf file, the menu will fail to expand or contract. This commit adds the missing variable causing a PHP warning responsible for the behavior.
2025-01-24 16:05:37 -07:00
frytimo f6adc9bdd0
suppress access on null php notice in new is_connected method (#7227) 2025-01-23 12:38:03 -07:00
frytimo 95faf83337
add is_connected method to database (#7225) 2025-01-23 11:42:19 -07:00
FusionPBX 18bce0437d
Add more debug details and return false 2025-01-22 20:35:53 -07:00
FusionPBX 7e4f82f840
Enhance message array debug details 2025-01-22 20:07:02 -07:00
FusionPBX 8ea79e56e7
Replace exit; with return false; 2025-01-22 19:26:25 -07:00
fusionate e58a55df97
Password Reset: Adjustment to re-enable password match indication. 2025-01-20 09:10:04 -07:00
frytimo 62039c300a
fix menu php warning when restoring default menu (#7219) 2025-01-17 13:39:17 -07:00
frytimo 50125527de
fix php warning for ini set (#7217)
The ini setting can only be modified when the session has not already started. This moves the ini_set function call inside the if block
2025-01-17 12:48:49 -07:00
simplecoder732 5b9e82480d
Add Algo 8103 and 8196 provision templates (#7213)
* Add Algo 8103 and 8196 provision templates

* Added admin password setting to algo 8103 & 8196 templates. Also checked for existence of algo_timezone setting or set to New York time
2025-01-17 08:24:28 -07:00
FusionPBX 3f186d90cc
Fix the forget password feature 2025-01-16 21:49:56 -07:00
fusionate 93309e17f9
Side Menu: Improved behavior for Expanded and Hidden states when clicking on the content body. 2025-01-15 13:56:02 -07:00
FusionPBX 106fc33459
Remove the pdo.php include
The pdo.php file was replaced by the database class
2025-01-08 12:14:38 -07:00