Commit Graph

226 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 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
Alex 8cfc221da4
Redirect to the correct domain if using show all (#7265)
* Redirect to the correct domain if using show all

* Update bridges.php

* Update call_recordings.php

* Update conference_controls.php

* Update conference_profile_params.php

* Update conference_profiles.php

* Update email_queue.php

* Update event_guard_logs.php

* Update fax_queue.php

* Update user_settings.php

* Update require.php
2025-02-20 16:30:09 -07:00
FusionPBX cd8d5302ac
Fix temporary permissions 2024-11-29 13:57:01 -07:00
Alex b43bcb9a13
Added the heading counter div (#7124) 2024-09-06 16:43:42 -06:00
fusionate bf7526f0ef
Multiple Apps: Integrate content cards. 2024-09-04 17:51:23 -06:00
MarBifrost 906b3edf03
Corrections in Georgian translation (#7113) 2024-08-31 10:02:51 -06:00
NorwayFun aabc2f33a8
Localization: Add full support for Georgian language (#7110)
* Translating apps to Georgian

* Translating apps to Georgian

* Translating more apps to Georgian

* Translating more apps to Georgian

* Translating more apps to Georgian

* Translating more apps to Georgian

* Translating more apps to Georgian

* Translating theme to Georgian

* Translating core to Georgian

* Translating core to Georgian

* Translating core to Georgian by Marie

* Translating core to Georgian

* Translating resources to Georgian by Marie

* Translating core to Georgian

* fix app_languages.php
2024-08-28 09:59:02 -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 cd1cc70044
Remove redundant database objects
This reduces database connections and improves performance.
2024-08-05 14:22:17 -06:00
Anthony fd22d407b8
Added translations to app files (#7050)
* Added missing translations to core/xml_cdr

* Added missings translations to app/time_conditions

* Added missing transaltions to app/sip_profiles

* Added missing translations to app/registrations
2024-07-10 17:35:13 -06:00
Alex 4004a698c4
Added more Greek and Turkish translations (#6880)
* Update app_menu.php

* Update app_languages.php

* Update app_menu.php

* Update app_languages.php

* Update app_languages.php

* Update app_menu.php

* Update app_languages.php

* Update app_languages.php

* Update app_menu.php

* Update app_languages.php

* Update app_menu.php

* Update app_languages.php

* Update app_languages.php

* Update app_menu.php

* Update app_languages.php

* Update app_languages.php

* Update app_menu.php

* Update app_languages.php

* Update app_menu.php

* Update app_languages.php

* Update app_menu.php

* Update app_languages.php

* Update app_menu.php

* Update app_languages.php

* Update app_menu.php

* Update app_languages.php

* Update app_menu.php

* Update app_languages.php

* Update app_menu.php

* Update app_languages.php

* Update app_menu.php

* Update app_languages.php

* Update app_menu.php

* Update app_languages.php

* Update app_menu.php

* Update app_languages.php

* Update app_menu.php

* Update app_languages.php

* Update app_menu.php

* Update app_languages.php
2024-01-30 16:17:24 -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
fusionate d9d17a6917
Misc: Remove parameters from event_socket_create() calls. 2023-09-20 18:43:17 +00:00
FusionPBX c6d966395e
Use settings class for app_defaults.php 2023-09-16 00:22:12 -06:00
Andrew 702abf76ee
Update sip_profile_edit.php (#6800)
add one space to fix sql error
2023-09-11 01:46:11 -06:00
FusionPBX 9f7f30a507
Update he-il for SIP profiles 2023-08-30 10:53:42 -06:00
markjcrane a9bd6cbc9a Update the to point to app/switch/resources/conf 2023-06-26 13:37:08 -06:00
FusionPBX eed43da50c
Update app_defaults.php 2023-06-26 13:20:34 -06:00
FusionPBX 1f5fd680ab
Update app_defaults.php 2023-06-26 13:15:44 -06:00
FusionPBX 68c4e29346
Update path to switch conf directory 2023-06-26 13:08:30 -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 d8652d72e9
SIP Profiles: Updates for PHP 8.1 2023-06-09 17:50:36 +00:00
fusionate fa93b4e7f5
Misc: Updates for PHP 8.1 2023-06-09 17:29:33 +00:00
fusionate d327d569f5
Misc: Updates for PHP 8.1 (?: to ??) 2023-06-06 22:05:05 +00:00
Alex 93f85e6ea4
php 8.1 changes (#6741)
* Update dashboard_edit.php

* Update dashboard_edit.php

* Update dialplan_inbound_add.php

* Update dialplan_outbound_add.php

* Update dialplan_inbound_add.php

* Update modules.php

* Update sip_profile_edit.php
2023-06-02 17:01:15 -06:00
markjcrane 29008867d0 SIP Profiles changes for PHP 8.1 2023-05-25 21:20:56 -06:00
Alex 05063e35d2
Update translations (#6694)
* Update app_languages.php
2023-05-18 15:36:17 -06:00
Alex 3e0ec8b752
Add missing translations (#6673) 2023-05-09 11:39:02 -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
markjcrane 1513bd3301 Add Chinese, Korean, and Japanese translations 2023-05-03 10:36:25 -06:00
markjcrane 28fe89066e Add Chinese, Korean, and Japanese translations 2023-05-02 22:05:16 -06:00
markjcrane 381b3bdd9f Add menu translations 2023-05-02 20:30:13 -06:00
markjcrane 41e87e7f01 Add additional languages 2023-05-02 20:22:44 -06:00
frytimo 69bd42af05
remove unneeded destruct methods as GC has higher performance (#6631)
Co-authored-by: Tim Fry <tim@voipstratus.com>
2023-04-27 20:18:53 -06:00
fusionate d40c3c76fa
Minor code adjustment to previous commit. 2023-03-27 20:27:30 +00:00
fusionate 0f02253e4e
SIP Profiles - Edit/Copy: Prevent duplicate names. 2023-03-27 20:22:35 +00: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 a229d1e46c
Add enabled toggle to more pages and bug fix (#6552)
* Add enabled toggle to more pages and bug fix

* Add device profile enable toggle

* fixed enable on bridge_edit.php

* Fixed enable on call_block_edit.php

* Fixed enable on call_flow_edit.php

* Fixed enable on conference_center_edit.php

* Add conference room enabled toggle

* Fixed enable on conference_control_detail_edit.php

* Fixed enable on conference_control_edit.php

* Fixed enable on conference_profile_edit.php

* Add conference profile param enabled toggle

* Fixed enable on conference_edit.php

* Fixed enabled on device_edit.php

* Fixed enable on extension_edit.php

* Fixed enable on gateway_edit.php

* Fixed enable on number_translation_edit.php

* Fixed enable on phrase_edit.php

* Fixed enable on ring_group_edit.php

* Fixed enable on sip_profile_edit.php

* Fixed enable on stream_edit.php

* Fixed enable on time_condition_edit.php

* Fixed enable on var_edit.php

* Fixed enable on voicemail_edit.php

* Fixed enable on user_edit.php

* Fixed enable on user_setting_edit.php

* Update user_edit.php

* Update bridge_edit.php

* Update call_flow_edit.php

* Update conference_control_edit.php

* Update stream_edit.php

* Fixed enable on default_setting_edit.php

* Fixed enable on domain_edit.php

* Fixed enable on email_template_edit.php

* Fixed enable on module_edit.php
2023-02-14 11:19:02 -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
markjcrane d50bcb476a Replace root.php 2022-10-10 16:35:14 -06:00
markjcrane eb5c25aa35 Add insert_date, insert_user, update_date, update_user to all tables 2022-09-18 00:54:37 -06:00
AlexC 2a74114cf2
Copy, toggle and delete buttons visible when checkbox is selected (#6242)
* Update bridges.php

* Update call_block.php

* Update call_center_queues.php

* Update call_center_agents.php

* Update call_broadcast.php

* Update call_flows.php

* Update call_recordings.php

* Update conference_centers.php

* Update conference_rooms.php

* Update conference_controls.php

* Update conference_profiles.php

* Update conferences.php

* Update contacts.php

* Update fax.php

* Update ivr_menus.php

* Update music_on_hold.php

* Update phrases.php

* Update recordings.php

* Update streams.php

* Update voicemails.php

* Update devices.php

* Update device_vendors.php

* Update device_vendor_functions.php

* Update extensions.php

* Update gateways.php

* Update dialplans.php

* Update destinations.php

* Update email_templates.php

* Update modules.php

* Update sip_profiles.php

* Update vars.php

* Update databases.php

* Update users.php

* Update default_settings.php

* Update domains.php

* Update groups.php

* Update menu.php
2022-01-13 11:37:59 -07:00
Anthony 1db3e5ba14
Removed Search Reset (#6241)
* Update default_settings.php

* Update devices.php

* Update extensions.php

* Update gateways.php

* Update users.php

* Update destinations.php

* Update dialplans.php

* Update bridges.php

* Update call_block.php

* Update call_broadcast.php

* Update call_flows.php

* Update call_forward.php

* Update call_recordings.php

* Update conference_centers.php

* Update conference_controls.php

* Update conference_profiles.php

* Update conferences.php

* Update contacts.php

* Update fax.php

* Update ivr_menus.php

* Update phrases.php

* Update recordings.php

* Update ring_groups.php

* Update time_conditions.php

* Update voicemails.php

* Update call_center_queues.php

* Update email_logs.php

* Update registrations.php

* Update user_logs.php

* Update access_controls.php

* Update domains.php

* Update email_templates.php

* Update groups.php

* Update menu.php

* Update number_translations.php

* Update sip_profiles.php

* Update database_transactions.php

* Update vars.php

* Update dashboard.php
2022-01-12 16:00:01 -07:00
FusionPBX 67be72b452
Database save method set to false. (#6215)
* When database save set to false for app_defaults.php
2021-12-24 12:42:16 -07:00
FusionPBX 7ca4a92949
Add a new settings button. 2021-09-04 20:07:56 -06:00
emaktech d459d06e38
Order SIP Profiles by Name by Default (#5365)
SIP profiles were unordered unless $_GET["order_by"] was set. Now if unset, it will order by sip_profile_name by default for nicer ordering.
2020-07-28 22:41:06 -06:00
Nate e31b01d6c3 SIP Profiles: Modal integration. 2020-03-26 15:32:06 -06:00
racitup a1699f6fa6 Add en-gb fusionpbx language (#5192)
* Create en-gb language by copying en-us

* Add en-gb to app_configs

* Add en-gb to app_menus

* Language copy utility

* Fix missing quote mark

* Delete cp_lang.py

Co-authored-by: FusionPBX <markjcrane@gmail.com>
2020-03-20 14:47:13 -06:00
Nate 029c7174b4 Multiple - Add IDs to common/default action buttons. 2020-03-05 00:05:45 -07:00