Commit Graph

44 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
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
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
fusionate 340765af8e
Conference Centers/Rooms: Updates for PHP 8.1 2023-06-02 19:26:58 +00:00
Alex d6b73cf296
more php 8.1 changes (#6734)
* Update ivr_menu_edit.php

* Update ringbacks.php

* Update call_block_edit.php

* Update call_broadcast.php

* Update call_broadcast_edit.php

* Update call_center_queue_edit.php

* Update call_center_queue_edit.php

* Update call_center_agent_status.php

* Update call_center_queue_edit.php

* Update call_center_agent_edit.php

* Update call_center_queues.php

* Update call_flow_edit.php

* Update call_broadcast.php

* Update call_forward.php

* Update call_broadcast_send.php

* Update conference_rooms.php

* Update conference_centers.php

* Update conference_control_edit.php

* Update conference_control_details.php

* Update conference_profile_edit.php

* Update conference_profile_param_edit.php

* Update conference_profile_edit.php

* Update database_transaction_edit.php

* Update database_transactions.php
2023-06-01 16:39:05 -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
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
markjcrane d50bcb476a Replace root.php 2022-10-10 16:35:14 -06:00
markjcrane 9bf7b8c8ef Deprecate the meetings table and move the moderator and participant pins to the conference rooms table 2021-05-27 02:30:49 -06:00
fusionate c67c8cd4c2 Destination Select - Dynamic: Clear session array on add/toggle/delete of a destination type record. 2020-11-30 14:15:57 -07:00
phoneben c76892a5b3
Update conference_centers.php 2020-11-18 16:51:18 +02:00
phoneben bdd42af87b
Update conference_centers.php
0-11-17 20:00:36.267 UTC [6385] fusionpbx@fusionpbx ERROR:  syntax error at or near "v_meeting_users" at character 63
2020-11-17 20:00:36.267 UTC [6385] fusionpbx@fusionpbx STATEMENT:  select count(*) from v_conference_rooms as r, v_meetings as p v_meeting_users as u, where r.domain_uuid = $1 and r.meeting_uuid = p.meeting_uuid and r.meeting_uuid = u.meeting_uuid and u.user_uuid = $2

missing a comma
2020-11-18 16:04:09 +02:00
FusionPBX d82f8cc155
Update conference_centers.php
Change session context to domain_name.
2020-10-22 02:48:44 -06:00
FusionPBX 756956ad50
Remove the deprecated save_dialplan_xml function. 2020-08-14 00:36:34 -06:00
Nate 0d4aeb6c87 Conference Center - Sessions: Adjust permissions to allow Admin to play recordings. 2020-04-29 09:26:53 -06:00
Nate aeee14226a Conference Centers - Sessions: Add delete functionality. 2020-04-10 17:45:56 -06:00
agree f0f6b7ecd9
Add announcement control to list page (#5228)
* Update conference_centers.php

* Update conference_rooms.php
2020-04-01 20:26:50 -06:00
Nate aac98e7d06 Conference Centers - List: Bulk Toggle and Delete actions added, Edit: Button updates. 2020-01-23 06:47:54 -07:00
Nate 378edba940 Conference Centers - Rooms: List view updates, token integration, added bulk actions within class. 2020-01-13 17:15:42 -07:00
Nate bec5c647c9 List View: Updates to action classes. 2019-11-30 15:18:48 -07:00
Nate bf5cb9c1a7 Minor class mods, Conference Centers list view updates. 2019-11-02 13:40:17 -06:00
Nate fdf28ca6fc Misc: Database class integration. 2019-09-04 12:21:57 -06:00
FusionPBX 0d68e63e0e Update conference_centers.php 2019-06-08 14:44:05 -06:00
FusionPBX f88789b17a Update conference_centers.php 2019-06-08 14:26:08 -06:00
FusionPBX 3e1a0fde4c Update call_center_notify.php 2019-06-08 10:24:53 -06:00
konradSC 365aebc308 Update BLF for agents when making changes in the GUI. Also use BLF as a speed dial for login/logout. (#3949)
* Create call_center_notify.php

Function for sending BLF notify to ELS.

* Update call_center_agent_status.php

* Update 200_agent_status.xml

* Update 200_agent_status.xml
2018-12-25 22:25:24 -07:00
FusionPBX 2690d5baec Update conference_centers.php 2018-12-10 17:05:02 -07:00
FusionPBX 2f4cf98b18 Rename conference_center.php to conference_centers.php 2018-12-10 16:57:49 -07:00
FusionPBX af21dee65f Update conference_center.php 2018-12-10 16:57:37 -07:00
blackc2004 ddd1e35185 fix if_permission 2016-02-15 11:19:18 -08:00
mafoo 5c1da9533e Fix for when a conference room has no admins
If a conference room had no admins it would become impossible to see it in the GUI
This fix makes it possible for a admin or super admin to view rooms in this state.
this uses a new permission "conference_room_view_all"
2016-02-05 09:47:42 +00:00
luis daniel lucio quiroz 178cda0d0a support for created_by 2015-02-13 22:17:42 +00:00
Nate Jones c3f22c83aa Conference Center: Added room name field. 2014-11-30 03:43:04 +00:00
Mark Crane ae2adac82c Add a few references to the alias. 2013-04-22 23:15:36 +00:00
Mark Crane 7320be9462 Little more cleanup on conference center after removing v_meeting_pins. 2013-04-22 23:05:08 +00:00
Mark Crane 861b407426 Simplify the pin management for conference center. 2013-04-16 07:03:17 +00:00
Mark Crane a354961b3e Check to see if the prep_statement is true. 2013-04-16 01:53:05 +00:00
Mark Crane e446847537 Conference, announce that the conference is being recorded for active conferences when its changed in the gui. Add a pin search tool for conference rooms. Finish conference center templates. 2013-02-28 18:55:36 +00:00
Mark Crane a9698425df Add conference recording play and download. Change the dialplan from lua conference_center.lua to lua 'app.lua conference_center'. Add a few more conference center permissions. 2013-02-27 10:10:24 +00:00
Mark Crane 2bc70201dd Add sounds true/false to conference rooms. 2013-02-01 12:23:39 +00:00
Mark Crane 930afca847 Add a missing comma for the list of fields in conference center. 2013-01-25 17:06:43 +00:00
Mark Crane 74ffb950c3 Add a new conference center class. Add moderator and participant pins to the conference rooms. 2013-01-25 09:02:15 +00:00