Commit Graph

2395 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
Alex
5ff0af430f Fix domain settings content cards (#7298) 2025-03-10 11:34:31 -06:00
FusionPBX
a099de0c6f Fix the contact import 2025-03-08 14:37:15 -07:00
fusionate
da19ca7a7c Login: Display Cancel link to reset form if failure using database authentication. 2025-03-07 12:10:52 -07:00
fusionate
dd3288585c Menu: Add setting to reload menu when changing domains. 2025-03-06 20:08:48 -07:00
fusionate
fce7a9401a Dashboard - Edit: Display domain after domain-specific group names. 2025-03-06 16:17:53 -07:00
frytimo
1aa1eb6159 Use text instead of boolean for ace editor settings (#7285) 2025-03-04 16:30:17 -07:00
FusionPBX
cd3ff91f9a Update app_defaults.php 2025-03-04 16:27:59 -07:00
FusionPBX
167cc94f18 Move editor settings used
Used in multiple features for this reason moved to core.
2025-03-04 16:17:16 -07: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
fusionate
7b3b3aa5f9 Menu: New option to set icon colors. 2025-03-03 14:08:05 -07:00
FusionPBX
06c20ef292 Fix contact notes with line feeds.
When saving contact notes, it would add extra line feeds. The escaping caused this issue.
2025-03-01 22:25:06 -07:00
FusionPBX
de516ed210 Minor version update 5.4.2 2025-03-01 20:59:48 -07:00
fusionate
06e69bf5df Contact - Attachments: Prevent access without authentication. 2025-02-28 14:36:41 -07:00
fusionate
f6df4fd0b3 Contacts - List: Only retrieve a single Primary attachment, in the chance that multiple exist. 2025-02-28 11:03:05 -07:00
fusionate
3de202b987 Contact - Attachment: Store image files in same format as uploaded. 2025-02-28 09:36:42 -07:00
FusionPBX
c1296f26e0 Update users.php 2025-02-27 23:16:42 -07:00
FusionPBX
c3bc265ff0 Show contact details 2025-02-26 12:24:37 -07:00
FusionPBX
1fba94d92b Add contact note to users 2025-02-26 12:01:20 -07:00
markjcrane
9591ce0cbd Change the path in the menu to use core 2025-02-26 10:30:39 -07:00
markjcrane
bd54c07e50 Move email_templates to core 2025-02-26 10:29:45 -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
Alex
305f585b17 Add missing counter divs (#7277)
* Add counter div to voicemail messages and domain settings

* Update domain_settings.php

* Update menu_item_list.php

* Update domain_settings.php

* Update voicemail_messages.php
2025-02-25 16:24:16 -07:00
Alex
e08a79e64d Add missing required class to required fields (#7273)
* Add missing required class to required fields

* Update destination_edit.php

* Update device_edit.php

* Update voicemail_edit.php

* Update dashboard_edit.php

* Update call_block_edit.php

* Update destination_edit.php
2025-02-25 12:48:50 -07:00
Alex
ba48d186a9 Add content card div to contact email edit and module edit (#7272)
* Add content card div to contact email edit and module edit

* Update module_edit.php
2025-02-25 12:35:23 -07:00
FusionPBX
6f26f3d386 Fix item overflow affected
This problem didn't affect all screen resolutions.
2025-02-24 10:05:03 -07:00
fusionate
b85eaaac73 Upgrade - Source: Move Preview styles to theme CSS file, style after modal. 2025-02-21 08:51:52 -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
Alex
036731202e Remove unnecessary if statement (#7264) 2025-02-20 11:33:06 -07:00
frytimo
5e6ec475df update auto_loader cache file when updating (#7255) 2025-02-15 10:44:46 -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
Ahron Greenberg (agree)
2ef400aefd validate domain before change (#7244) 2025-02-11 08:39:47 -07:00
Ahron Greenberg (agree)
e21650fe4a fix unset var (#7245) 2025-02-05 13:56:35 -07:00
Alex
5f2a6eed09 Fix dashboard number background color not showing (#7241)
* Fix dashboard number background color not showing

* Update missed_calls.php

* Update recent_calls.php

* Update voicemails.php

* Update registrations.php
2025-02-03 16:27:09 -07:00
FusionPBX
3ab848e8c0 Minor version update 5.4.1 2025-01-29 22:26:47 -07:00
fusionate
41556744ff Contact - View: Tighten up speed dial icon and number, make no wrap. 2025-01-28 17:21:42 -07:00
fusionate
bc22ab8cc4 Contact - View: Show speed dial prefix and number after a Contact's number, if defined. 2025-01-28 17:18:28 -07:00
Alex
b2349060b5 Fix number text and background color not applying (#7235)
* Fix number text and background color not applying

* Update registrations.php

* Update voicemails.php

* Update missed_calls.php

* Update recent_calls.php

* Update domains.php
2025-01-28 16:39:35 -07:00
frytimo
3144036ae0 add new menu upgrade option to reset file permissions (#7232)
* add new menu upgrade option to reset file permissions
2025-01-28 16:20:43 -07:00
fusionate
9106c7fbfe Contact - Phone: Adjust to even check same contact for duplicate speed dial numbers. 2025-01-28 16:11:21 -07:00
fusionate
42a1625daa Contact - Phone: Prevent duplicate speed dial numbers. 2025-01-28 15:54:35 -07:00
frytimo
dc22e87fc2 fix dashboard php warnings (#7218) 2025-01-17 12:48:11 -07:00
FusionPBX
afe511c403 Add forgot password translations 2025-01-16 21:54:27 -07:00
FusionPBX
3f186d90cc Fix the forget password feature 2025-01-16 21:49:56 -07:00
FusionPBX
640b9f3184 Update the contacts path
Moved contacts from app to core
2024-12-22 10:40:41 -07:00
frytimo
38b02f11d5 fix missing slash '/' at end of link tag (#7200) 2024-12-16 13:53:33 -07:00
frytimo
075cc4824a Security, Use the same number of characters for the masked password (#7198)
* security set display asterisks to constant number
Harder to guess when length is also hidden
2024-12-12 10:03:21 -07:00
Alex
9fc82c02cb Add dashboard icon color setting (#7197)
* Add dashboard icon color setting

* Update index.php

* Update app_languages.php

* Update app_defaults.php

* Update app_config.php

* Update dashboard_edit.php

* Update index.php

* Update app_languages.php

* Update app_defaults.php

* Update app_config.php

* Update config.php

* Update domains.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update registrations.php

* Update config.php

* Update config.php

* Update config.php

* Update config.php

* Update voicemails.php

* Update config.php

* Update missed_calls.php

* Update recent_calls.php

* Update index.php

* Update index.php

* Update index.php
2024-12-11 21:28:45 -07:00
Alex
f0bc1cfe33 Update contacts path (#7192)
* Update contacts path

* Update menu.php

* Update contact_edit.php

* Update contact_relation_edit.php

* Update config.php

* Update authentication.php

* Update database.php

* Update totp.php

* Update email.php
2024-12-06 11:55:41 -07:00
FusionPBX
cd8d5302ac Fix temporary permissions 2024-11-29 13:57:01 -07:00