Commit Graph

45 Commits

Author SHA1 Message Date
frytimo 0a42d8f198
Add caching to the auto_loader for interfaces (#7320)
* update auto loader to load and cache interfaces

* use new method to update the auto loader cache

* use new interface

* use new interface to trigger a cache flush

* update the console upgrade menu

* update the missing implements syntax

* add the clear_cache to the flush cache button
2025-03-15 09:13:36 -06:00
FusionPBX 7897ff5b9e
Clear the cache 2025-03-12 14:42:50 -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 5e6ec475df
update auto_loader cache file when updating (#7255) 2025-02-15 10:44:46 -07:00
FusionPBX e0ed81a5ba
Re-use the Database connection 2024-08-29 03:35:38 -06:00
jrmcclean 1d4f366b05
Update upgrade.php (#6863)
Added Paths for Windows as well new variable for $cache_location and $php_dir to accommodate windows values.
2024-07-23 08:12:44 -06:00
fusionate 2d3dca985d
Upgrade - CLI (Manual & Menu): Mitigate PHP 8.x warnings, minor adjustments. 2024-05-13 14:19:34 -06:00
FusionPBX 8a30f04125
Update upgrade.php changes apps to repos 2024-04-27 10:52:22 -06:00
frytimo 33ff85ee75
Commad line upgrade enhancements (#6955)
* Add new English language phrases for cli upgrade menu

* include a software name as a const for cli upgrade menu

* add it repos in app folder, internationalizations, and descriptions

* bug fix when response_source_update is empty change back to origin dir

* change original 'menu' to 'menus'. Allow calling menu from upgrade.php

* Update upgrade_menu.php
2024-04-22 17:15:09 -06:00
demonspork df6d56d148
Support updating optional installed apps via git (#6513)
* WIP: Support updating optional installed apps via git

* support app source update via cli

* Update app_languages.php

* Update index.php

* Refactor App Git updating

Refactor Optional App Git updating for more resilience and better handling of ssh remotes and to only update each repository once.

* git app updates fix gui updates for repo based updating
2023-12-21 12:28:04 -07:00
markjcrane 38150d25aa Use require.php 2023-06-17 21:50:29 -06:00
markjcrane bb9f48296a PHP 8.2 Deprecated dynamic properties. 2023-06-12 20:59:56 -06:00
fusionate f8a3d95e83
Upgrade [CLI]: Fix minor language file issue. 2023-05-18 20:25:18 +00:00
fusionate c3018b6ae2
Upgrade (CLI): Update for PHP 8.1 2023-05-17 20:43:17 +00:00
frytimo a258a067a5
restore any missing default groups when permissions are restored (#6657) 2023-05-03 11:35:59 -06:00
FusionPBX d11d4b167d
Add option to get the version number 2023-04-24 09:45:48 -06:00
FusionPBX 87360643ab
Update upgrade.php 2022-10-19 22:25:28 -06:00
FusionPBX 7e88b594dd
Use the database_dir variable 2022-10-19 11:07:43 -06:00
FusionPBX 14552806a1
Update upgrade.php 2022-10-19 11:06:38 -06:00
FusionPBX 353be53ba8
Use sqlite by default
FusionPBX uses PostgreSQL by default
FreeSWITCH uses SQLite by default
2022-10-19 11:06:24 -06:00
FusionPBX dc748c2376
Method text send the core/upgrade
Also remove the additional includes not necessary because of the auto loader in resources/require.php
2022-10-11 17:54:13 -06:00
FusionPBX f37dad8814
Update upgrade.php 2022-10-10 12:35:28 -06:00
FusionPBX 7588c8d9f8
Use the argv[1] only if it is set. 2022-02-05 17:42:27 -07:00
FusionPBX 46190fadb4
Update upgrade.php 2022-01-27 09:07:59 -07:00
FusionPBX 8035e3ffa1
Add more command line upgrade options. 2022-01-26 23:48:00 -07:00
Nate 5e845d3c31 Upgrade: Button updates. 2020-02-10 21:54:04 -07:00
Mafoo d2d9443450 Enhance upgrade show during install (#2676)
the install uses upgrade_domains.php, update it to use well known
varibles to show output
2017-06-11 08:49:39 -06:00
Mafoo bfe3ff173f Enhance - Display text on app_defaults (#2645)
enable display_type on domains (and therefore app_defaults)
capture the output of app_defaults
format if statements to project preference
use more generic label display for results reducing number of translations required
change upgrade.php to use the more consistent $display_type
2017-06-08 09:39:50 -06:00
markjcrane c3b12c217d Cleanup the indentation ... tabs and whitespace after the last pull request. 2016-04-28 16:56:44 -06:00
Harry G. Coin f02028629a fixes so cli installs/upgrades work.
Also another step along the way allowing freeswitch to run -u -g freeswitch and fusionpbx to run -u -g www-data
2016-04-25 21:26:26 -05:00
markjcrane 5799ce6497 Work on the install. 2016-04-14 21:14:40 -06:00
Matthew Vale 14b873f5db corrected spelling mistake 2015-11-26 18:25:46 +00:00
Matthew Vale f45881ec4b moved upgrade function from app_defaults
moved upgrade function out to upgrade.php otherwise during initial
install all app_defaults get run twice
2015-11-26 18:24:09 +00:00
reliberate e24526fb92 Upgrade: Converted Advanced > Upgrade to use Git instead of SVN (untested).
Misc: Added provisions elsewhere to account for .git/* files, as currently done with .svn/* files.
2015-07-02 17:25:41 -06:00
luis daniel lucio quiroz 632dbec005 upgrade.php missing class php 2015-01-26 18:32:08 +00:00
Mark Crane d5731c9172 Use the new multi-lingual code on fusionpbx/core sub directories. 2015-01-18 09:22:07 +00:00
Mark Crane 181e2881c0 Make the domain and schema work with the PHP classes 2014-07-16 04:30:49 +00:00
Mark Crane 2147b08033 Make upgrade.php use the schema and domain upgrade classes 2014-07-15 17:11:13 +00:00
Nate Jones 8bd5b7112b Upgrade: Divides Upgrade Schema into separate processes. Complete translation forthcoming. (Still under construction...) 2014-07-10 06:05:22 +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 720b53eb1e Multilinguified Upgrade Schema 2013-06-06 23:09:07 +00:00
Mark Crane 1b82029fc9 Add an elseif. 2013-01-04 21:21:45 +00:00
Mark Crane af103e9c41 Add a missing file sip_profile_copy.php to the dev branch. 2012-06-04 14:58:40 +00:00