Commit Graph

97 Commits

Author SHA1 Message Date
FusionPBX
3a849d5849 Add settings operator_panel_user_info, operator_panel_caller_info, and operator_panel_call_info 2025-10-10 13:52:07 -06:00
FusionPBX
d1baf05891 Remove redundant database instances (#7535) 2025-10-01 08:56:06 -06:00
FusionPBX
2fe8b65988 Define app_name and app_uuid as constants (#7534)
* Set a constant on each class for app_name and app_uuid
* Update the database class to use the app_uuid and app_name
* Update the classes to use the database::new()
* Remove the instances of 'new database'
2025-09-30 21:37:09 -06:00
OskarFranck
f4378bea98 Improved Swedish translations (#7477)
Co-authored-by: oskfra <oskar.franck@bahnhof.net>
2025-09-01 08:07:37 -06:00
FusionPBX
ccb4b2a5bf Use the settings class get method 2025-08-26 13:02:14 -06:00
FusionPBX
c3952028b1 Use the settings get method for the buttons 2025-04-14 10:36:21 -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
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
cd8d5302ac Fix temporary permissions 2024-11-29 13:57:01 -07: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
873f431f80 Operator Panel prevent warnings
- Prevent PHP Warnings
- Save vertical space by removing extra br tags
  - Important to fit as many extensions on the page as possible for mid-sized businesses.
2024-05-29 17:09:18 -06:00
FusionPBX
4f70217802 Operator panel group extensions default false 2024-05-29 17:05:04 -06:00
FusionPBX
3ceea47824 Update content.php 2024-05-29 14:08:09 -06:00
fusionate
05cd649a73 Operator Panel: Mitigate PHP 8.x warnings. 2024-05-13 11:03:09 -06:00
fusionate
c0d26a9279 Operator Panel: Permission check adjustment. 2024-02-28 13:12:15 -07:00
fusionate
3f6fa8d2f9 Operator Panel: Add permission to show or hide (default) unregistered extensions. 2024-02-28 12:59:49 -07:00
fusionate
07f532afab Operator Panel: Restore drag/drop calling and transfer. 2024-02-27 11:18:44 -07:00
Anthony
80c670d945 Added bulk Turkish translations to app_languages.php files (#6901)
* Added Turkish translations to access_controls/app_languages.php

* Added Turkish translations to basic_operator_panel/app_languages.php

* Added Turkish translations to bridges/app_languages.php

* Added Turkish translations to call_block/app_languages.php

* Added Turkish translations to call_broadcast/app_languages.php

* Added Turkish translations to call_flows/app_languages.php
2024-02-20 21:59:53 -07:00
fusionate
b33487a437 Operator Panel: Fix mispelling in code. 2024-02-03 05:22:32 +00:00
fusionate
c1ad629d95 Operator Panel - Consistify refresh button, minor adjustments. 2023-12-08 01:41:01 +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
Anthony
8b39073265 Added Greek translations to app_languages.php under fusionpbx/apps (#6810)
* Added Greek translations to access_controls/app_language.php

* Added Greek translations to basic_operator_panel/app_language.php

* Added Greek translations to bridges/app_languages.php
2023-10-09 22:23:59 -06:00
fusionate
d9d17a6917 Misc: Remove parameters from event_socket_create() calls. 2023-09-20 18:43:17 +00:00
Anthony
4cc864d29a Fixing/Adding missing translations in app_languages and app_menu files (#6795) 2023-08-30 13:18:55 -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
4ac06a9194 Operator Panel: Updates for PHP 8.1 2023-06-08 19:32:39 +00:00
fusionate
1b3af9fb36 Operator Panel: Simplify and enhance filter, updates for PHP 8.1. 2023-06-08 19:16:38 +00:00
Anthony
fae05e5341 Fixed Warnings for Recordings, Ring Group Edit and Operator Panel (#6739)
* Update ring_group_edit.php

* Update recordings.php

* Update recording_edit.php

* Update content.php
2023-06-02 14:37:30 -06:00
Anthony
9c650a29b1 Fixed Errors for Phrases, Recordings, Operator Panel and Music on Hold. (#6735) 2023-06-01 15:21:29 -06:00
Alex
ac38507462 Update translations (#6682)
* Update translations

* Update app_menu.php

* Update app_languages.php
2023-05-10 18:20:44 -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
FusionPBX
ee10e9c23a Fix Ukranian translations 2023-04-29 23:35:26 -06:00
FusionPBX
acf05f470a Remove broken language characters 2023-04-29 21:45:54 -06:00
lyleatFusionPBX
ff944683b8 Update app_menu.php (#6646) 2023-04-29 18:29:31 -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
Alex
e40749a18b Add missing translations (#6619)
* Update app_languages.php
2023-04-26 21:08:48 -06:00
markjcrane
d50bcb476a Replace root.php 2022-10-10 16:35:14 -06:00
FusionPBX
dd1b315101 Add valet park and line feeds. 2022-05-09 15:32:10 -06:00
FusionPBX
ca16c0b622 Fixed hidden calls after picking up a parked call.
Also improved code indentation.
2022-05-07 12:46:14 -06:00
FusionPBX
4d18f598b2 Use a css class for the sub category labels. 2022-05-06 14:14:29 -06:00
nyash
0bc048a634 Add/edit some polish translations (#6327)
* Add/edit some polish translations

* Minor touches to polish translations
2022-03-26 14:30:02 -06:00
AlexC
0fbecfa4ac Update css.php (#6188)
* Update css.php

* Update app_config.php
2021-12-14 10:38:46 -07:00
Anthony
d62130cf1f Add theme default settings for operator panel (#6187)
* Add theme default settings for operator panel
2021-12-13 17:11:38 -07:00
markjcrane
e429756307 Change error/user_busy to USER_BUSY 2021-09-18 23:26:21 -06:00
markjcrane
0f34a7c732 Use the escape function on name_filter to prevent XSS 2021-07-25 08:23:11 -06:00