Commit Graph

49 Commits

Author SHA1 Message Date
FusionPBX
ccc617940d Update upgrade.php 2025-06-28 21:29:20 -06:00
FusionPBX
90da27a553 Update upgrade.php 2025-06-28 08:22:32 -06:00
FusionPBX
3636b8a11a Update upgrade.php 2025-06-26 09:31:12 -06:00
FusionPBX
2755b2f04a Update upgrade.php
Add a command-line help menu
2025-06-26 08:13:00 -06:00
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