Commit Graph

208 Commits

Author SHA1 Message Date
Antonio Fernandez 7040635baf
Bug Fix - music on hold path (#7349) 2025-04-01 09:10:53 -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
FusionPBX cd8d5302ac
Fix temporary permissions 2024-11-29 13:57:01 -07: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 2d3dca985d
Upgrade - CLI (Manual & Menu): Mitigate PHP 8.x warnings, minor adjustments. 2024-05-13 14:19:34 -06:00
frytimo 0b977f044d
Force close port (#6870)
* force close profile sip ports

* create force_close_port function

* force close profile sip ports
2024-01-17 09:05:28 -07: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
FusionPBX ebb8193add
outbound_route_to_bridge break only after matching a route
Changing this to behave like a call in the dialplan only break if a matching outbound route has been found.
2023-09-29 16:56:30 -06:00
FusionPBX cfd773fbf4
Update switch.php 2023-09-20 22:36:55 -06:00
FusionPBX bf47bbcc47
Event Socket settings auto defaults or custom using config.conf 2023-09-16 15:07:41 -06:00
FusionPBX fb8b6db71d
Get event socket details from the settings class 2023-09-16 02:00:57 -06:00
sdwru 3b617cb35c
Update switch.php (#6785)
Running install.php the first time after a manual (not using script) install on Debian 11, there is a failure due to $_SESSION['switch']['conf']['dir'] not yet existing.  Subsequent installs will work.  It's only on the first install that it fails.  There may be better ways but this is the fix I came up with that works for me.
2023-08-29 10:56:31 -06:00
FusionPBX bf520a38d7
Save the category name and not the description in vars.xml 2023-08-26 23:03:38 -06:00
FusionPBX 5439a80095
Account for dialplan_detail_enabled is null as enabled true
The interface treats dialplan_detail_enabled null as enabled so in the outbound_route_to_bridge treat it as enabled true.
2023-08-23 19:23:11 -06:00
FusionPBX 93058bfc57
outbound_route_to_bridge check to see if the dialplan_detail_enabled is set to true 2023-08-10 15:16:17 -06:00
markjcrane a9bd6cbc9a Update the to point to app/switch/resources/conf 2023-06-26 13:37:08 -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
fusionate 85f378c8f2
Switch [Resources]: Update outbound_route_to_bridge() function for PHP 8.1 2023-06-01 22:54:50 +00:00
fusionate eb45bc2de0
Switch - outbound_route_to_bridge(): Updates for PHP 8.1 2023-05-29 22:44:03 +00:00
markjcrane 55e506ff99 Update save_setting_xml 2023-05-26 09:03:26 -06:00
markjcrane 2608f1ffad Return immediately if switch conf dir is empty 2023-05-23 08:22:23 -06:00
markjcrane 6d7e125743 Fix all PHP 8.1 messages for upgrade.php 2023-05-17 10:07:49 -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 09c41b88ef
Add contact-params (#6545)
Adding contact params for control over this setting.
2023-02-06 22:24:16 -07:00
markjcrane d50bcb476a Replace root.php 2022-10-10 16:35:14 -06:00
FusionPBX dd106a6871
Replace event_socket_mkdir with php mkdir. (#6170) 2021-12-02 19:03:55 -07:00
agree 963bbffc0f
outbound route to bridge add support for bridge failover 2020-10-26 17:56:38 -04:00
ednt 433a8be4fa
Update switch.php (#5483)
Missing $2 as regex_match
2020-09-23 12:11:44 -06:00
FusionPBX c7dc497147
Remove deprected funciont dialplan_detail_add . 2020-08-17 10:48:23 -06:00
FusionPBX f872dbdd3c
Remve the deprecated function save_dialplan_xml. 2020-08-14 00:53:38 -06:00
frytimo 8a510401be
$sql and $parameters never unset (#5295)
Change order of unset statement as it is after a return statement thus unreachable.
2020-06-08 22:57:07 -06:00
FusionPBX 54dca7596c
Update switch.php 2020-04-13 16:36:30 -06:00
FusionPBX 57148c05d5 Update switch.php 2020-02-19 16:54:45 -07:00
agree 347e5f0934 Update switch.php (#4922)
* Update switch.php

* Update switch.php
2019-12-03 15:05:08 -07:00
Nate d1aaf9700e Update switch.php: kB to KB in byte_convert function. 2019-11-27 11:40:57 -07:00
Nate 677f830f01 Remove unnecessary permission object instatiations. 2019-08-30 19:29:04 -06:00
FusionPBX a53acb4933 Update switch.php 2019-08-30 01:33:22 -06:00
Nate 04c2f7a132 Misc: Database class integration. 2019-08-28 17:53:34 -06:00
Luis Daniel Lucio Quiroz add3dc70ec gives save_var_xml() more tolerance (#4299)
when there is no local freeswitch running (big cluster deployments where Fusion UI is in another server), sometimes there is no local freeswitch running. this breaks the variables per host.

This patch gives the chance to use the hostname as a fallback option before giving up.
2019-06-20 03:35:41 -06:00
FusionPBX 758790e722 Update switch.php 2019-03-21 16:00:51 -06:00
FusionPBX 491ccaa104 Update switch.php 2018-12-13 17:37:51 -07:00
FusionPBX b61f5d0ab9 Update switch.php 2018-12-13 17:32:30 -07:00
FusionPBX 577216166c Update switch.php 2018-12-13 17:23:26 -07:00
futureFry 2fb2c170c7 removed double quote from $v_mailer_app path (#3010)
if this is left in freeswitch (1.6.20) will not start up. 
Freeswitch: Cannot Initialize [[error near line 4105]: missing >]
there might still be a problem on line 1299 -> please correct me if I'm wrong.
2018-09-02 10:27:03 -06:00
FusionPBX fcf9611a79 Update switch.php 2018-08-14 23:59:58 -06:00
FusionPBX 0cf5ca62a2 Update switch.php 2018-08-14 21:30:02 -06:00
FusionPBX a87a995f9a Update switch.php 2018-03-29 19:30:25 -06:00
FusionPBX 6f9ff0fb08 Update switch.php 2018-03-29 19:29:12 -06:00
FusionPBX e4462ba232 Update switch.php 2018-03-25 11:21:26 -06:00
futureFry 3703accace Update switch.php at Line 1282 detecting windows (#3007)
if (stristr(PHP_OS, 'WIN')) isn't specific enough, it will be true for Darwin or Windows.
2018-02-28 20:45:50 -07:00