Commit Graph

38 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 a5d44ae44b
Use the database more efficiently 2024-07-26 17:04:02 -06:00
markjcrane e06c8ea208 Add extension_type options: default, virtual 2023-07-13 17:11:07 -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
markjcrane f506b00b57 PHP 8.2 Deprecated dynamic properties 2023-06-12 21:27:23 -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
Harry Foster 83af204be1
Honor the default settings for password complexity and strength when copying extensions (#6632) 2023-04-28 11:21:35 -06:00
markjcrane d50bcb476a Replace root.php 2022-10-10 16:35:14 -06:00
Nate 591ccca262 Extensions - Edit: Fix Number Alias in Copy function. 2020-04-13 14:31:38 -06:00
Nate abc4d01bac Extensions: Retain current list page through edit, (single) delete, and back operations. 2019-09-10 18:07:49 -06:00
Nate 8516bc38ad Extensions: Database class integration. 2019-08-06 19:49:59 -06:00
FusionPBX 8e29cf638f Update extension_copy.php 2019-06-18 18:37:34 -06:00
markjcrane a72f1d6266 Change messages class to message 2018-08-31 03:09:01 +00:00
FusionPBX a447f2d5aa Update extension_copy.php 2018-05-28 13:53:33 -06:00
Mafoo 3cab4401cf Enhance - More messages::add updates (#2662)
convert more messages over to messsagse::add
2017-06-09 20:13:40 -06:00
FusionPBX c882b08abf Update extension_copy.php
Change the duplicate message from green to red.
2016-11-29 12:08:11 -07:00
FusionPBX 89f68e73ff Update extension_copy.php 2016-11-29 11:56:05 -07:00
jebsolutions 9626f23072 prevent cloning duplicate extensions (master #1821) (#2033)
* prevent cloning duplicate extensions

app/extensions/app_languages.php
+ add duplicate extension error prompt

app/extensions/extension_copy.php
+ add check to see if duplicate extension exists

app/extensions/resources/classes/extension.php
+ add function to check if extension exists

* fix typo

* Update app_languages.php

* Update extension_copy.php

* Update extension.php

* Update extension_copy.php

Use the global app_languages.php message-duplicate translation.

* Update extension_copy.php

* Update extension.php
2016-11-24 00:23:44 -07:00
Alexey Melnichuk e89a499b2c Change. Use number_alias as voicemail_id. 2015-07-02 18:49:58 +04:00
Nate Jones 46bbdeaa38 Extensions: Missed Call notification option. 2015-05-23 02:11:26 +00:00
Nate Jones 71a861580c Voicemail: Added additional options for email notification (attach vm, download link, auto-play listen link). Also cleaned up email templates a little. 2015-02-24 08:09:01 +00:00
Mark Crane c5755666cb Add the text class to more of the applications. 2015-01-18 10:06:08 +00:00
Mark Crane 98b57ef319 One more adjustment to get the extension copy working 2014-05-30 04:28:19 +00:00
Mark Crane ae23c26729 When copying an extension fields that are numeric should use a null if the variable has not length 2014-05-30 04:14:28 +00:00
Mark Crane ac47cc2828 Add ability to configure the extension directory xml to provide the option to use freeswitch voicemail 2014-05-25 01:43:47 +00:00
Nate Jones 92cce44faf Extension Copy - Now includes Record value. 2014-05-02 05:24:27 +00:00
Mark Crane 660b752375 Add emergency caller id name when copying an extension 2014-05-01 04:51:21 +00:00
Nate Jones cd46b1b1db Extension Copy more complete and includes voicemail. 2014-05-01 02:48:25 +00:00
Nate Jones 2241268f01 Response message updates. 2014-02-23 06:46:10 +00:00
Mark Crane cb748ac588 Remove provisioning_list from extension copy. 2013-12-09 18:39:57 +00:00
Mark Crane 6b9a3b390a Remove the deprecated voicemail fields from the copy extension. 2013-12-09 16:33:19 +00:00
Mark Crane e9aa47069c Update the references for header.php and footer.php files to point the resources directory. 2013-07-06 06:29:50 +00:00
Mark Crane c44d39dcf9 Change the path for includes/require.php to the resources directory. 2013-07-06 06:03:27 +00:00
Mark Crane 6a70d8db41 Change includes/checkauth.php to resources/check_auth.php. 2013-07-06 05:50:55 +00:00
Nate Jones 4fee258efe Copy now writes XML file. Edit modified to check is_writable instead of is_readable. 2013-05-04 02:23:32 +00:00
Nate Jones f6aeae53e3 Multilingualified the Extensions app. Added ability to preset the new extension when the Copy button is clicked. 2013-05-04 00:35:21 +00:00
Mark Crane 54e1389a16 Update the file names in extensions. 2012-11-24 02:25:59 +00:00
Mark Crane ee8249b486 rename v_extensions_copy.php to extension_copy.php. 2012-11-24 01:43:18 +00:00