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