Commit Graph

39 Commits

Author SHA1 Message Date
fusionate
108693ef01 Extensions - List, Edit, Copy, Delete, Toggle: Maintain list sorting and page state. 2025-09-02 12:46:22 -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
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