Commit Graph

68 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
fusionate b85eaaac73
Upgrade - Source: Move Preview styles to theme CSS file, style after modal. 2025-02-21 08:51:52 -07:00
frytimo 5e6ec475df
update auto_loader cache file when updating (#7255) 2025-02-15 10:44:46 -07:00
fusionate bf7526f0ef
Multiple Apps: Integrate content cards. 2024-09-04 17:51:23 -06:00
FusionPBX e0ed81a5ba
Re-use the Database connection 2024-08-29 03:35:38 -06: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 c176192c13
move dollar sign to inside the curly brace (#6991) 2024-06-03 13:32:19 -06:00
fusionate 2d3dca985d
Upgrade - CLI (Manual & Menu): Mitigate PHP 8.x warnings, minor adjustments. 2024-05-13 14:19:34 -06:00
fusionate b369fad190
Upgrade - Menu & Permission Defaults: Mitigate PHP 8.x warnings. 2024-05-13 12:49:29 -06:00
fusionate 8ca960b127
Upgrade - Source: Mitigate PHP 8.x warning. 2024-05-13 12:22:01 -06:00
fusionate 006409bdd9
Upgrade - Source Code: Additional minor adjustments. 2024-05-03 18:18:05 -06:00
fusionate 7ec902add2
Upgrade - Source Code: Preview link to view list of changed files before upgrading. 2024-05-03 17:32:17 -06:00
fusionate 7b6bdb6fb1
Upgrade - Source Code: Minor adjustments to interface. 2024-04-18 11:51:13 -06:00
FusionPBX e607253bc6
Update layout for source and other repos 2024-04-17 20:58:47 -06:00
fusionate 360cc3cdd3
Upgrade: Rework Source Code option to be more flexible. 2024-04-15 19:17:09 -06:00
fusionate c3f20602e7
Upgrade: Minor layout adjustments. 2023-12-22 00:23:29 +00:00
fusionate f6700881b2
Upgrade - Source Code: Offer optional apps source update. 2023-12-22 00:05:55 +00: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
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
fusionate 4bac37850a
Upgrade (GUI): Updates for PHP 8.1 2023-05-17 20:37:17 +00:00
chansizzle e905e7e3c8
upgrade menu sorted (#6586)
Sets the list of menus to upgrade sorted ascending, and leaves 'default' menu as default selected for consistency and ease.
2023-03-24 20:00:52 -06:00
fusionate c6cbecc5d5
Upgrade: Toggle checkmarks by row click. 2023-02-23 15:23:00 +00:00
fusionate 29b5b774eb
Upgrade: Detect alternate successful response. 2023-02-20 18:43:51 +00:00
markjcrane d50bcb476a Replace root.php 2022-10-10 16:35:14 -06:00
FusionPBX bc2b14739c
Change 'do' to 'action' and update options.
Options: upgrade_source, upgrade_schema, app_defaults, menu_defaults, permission_defaults
2022-09-20 19:01:32 -06:00
FusionPBX 47536f89a2
Update index.php
Deprecate the upgrade_data_types variable and use the php class data_types variable.
2020-10-21 14:38:04 -06:00
Nate 33d06e7f67 Upgrade - Add step identifier to Data Types. 2020-05-06 12:40:59 -06:00
Nate ac4841b627 Theme: Add Default Setting to control Upgrade step color. 2020-04-13 11:56:32 -06:00
Nate 5baad31c97 Upgrade - Add suggestive step numbering. 2020-04-11 15:53:38 -06:00
Nate f8c74e6586 Multiple: Add IDs to common/default action buttons. 2020-03-05 10:01:09 -07:00
Nate 5e845d3c31 Upgrade: Button updates. 2020-02-10 21:54:04 -07:00
chansizzle 10d23b7dd4 Update index.php (#4653) 2019-09-24 16:41:15 -06:00
Nate cf4bc6a64e Database class integration. 2019-07-19 15:05:18 -06:00
markjcrane a72f1d6266 Change messages class to message 2018-08-31 03:09:01 +00:00
FusionPBX 2708f94b3b Update index.php 2018-04-14 15:17:49 -06:00
FusionPBX 282ffb13e3 Update index.php 2018-02-25 01:28:09 -07: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
Mafoo 30c8754065 Enhance [master] messages::add convert core/upgrade (#2597)
convert message handling to use messages class
unify response display to reduce boilerplates
fix for when performing source upgrade with any other operation going wrong (required preservation of cwd)
add missing $text for default permissions
removed surpless $text provided by reources/app_languages.php
correct all <br> tags
2017-06-02 22:38:15 -06:00
jebsolutions 8761304449 show git branch + commit. +link to preview git changes (#2186)
* show git branch + commit.  +link to preview git changes

new feature
- bottom of upgrade screen shows git branch + commit you are on
- provides a link to github showing changes since then on your current branch

More eyes reviewing the code is always a plus.  The github link helps make it easier.

* Update index.php

Add translations and pretty it up a little.
2016-11-26 00:21:31 -07:00
jebsolutions dd8385f63b [master] include stderr in git pull results and check for error (#2105)
* [master] include stderr in git pull results and check for error

Old result (seems correct but actually failed):
Updating d190f6a..d958bea

Corrected result (includes failure message):
Updating d190f6a..d958bea
error: Your local changes to the following files would be overwritten by merge:
app/fax/fax_log_view.php
Please, commit your changes or stash them before you can merge.

* tab fixes
2016-11-20 13:54:57 -07:00
reliberate 4a0f4615e9 Users: Revamp and consolidate code, integrate ORM. 2016-10-05 10:29:30 -06:00
FusionPBX 74b8de3922 Update index.php
Advanced -> Upgrade -Remove label tag as it broke the checkbox and description vertical alignment.
2016-09-10 17:26:14 -06:00
Harry G. Coin bda6861f88 \r\n --> \n
Cause all the .php files containing lines ending with \r\n to instead end with \n.

DYI with:

find fusionpbx -type f -name '*.php' -exec dos2unix '{}' \;
2016-04-25 20:30:23 -05:00
markjcrane 5799ce6497 Work on the install. 2016-04-14 21:14:40 -06:00
reliberate aeabb4a072 Misc: Fix datetimepicker on Time Conditions, CDR, Contact Times, etc.
Misc: Fix textarea height.
Theme: CSS adjustments to correct misc bugs.
2016-04-13 13:23:07 -06:00
mafoo 9066858701 only offer the source upgrade if it is writeable
this check will prevent the source upgrade rendering if the .git folder
is not writeable
2016-02-04 11:14:26 +00:00
Matthew Vale 796674e815 Changed upgrade to use PROJECT_ROOT instead 2016-01-12 13:55:45 +00:00
markjcrane 98b77a12c6 Remove a few more line from upgrade/index.php. 2015-12-20 23:04:12 -07:00
markjcrane 0c21af8f2b Remove upgrade switch from advanced -> upgrade page. The work it did is handled by app/scripts/resources/classes/scripts.php and app_defaults.php calls it. So when running Advanced -> Upgrade -> App Defaults the scripts app_defaults.php will copy the scripts and rewrite the config.lua. 2015-12-20 23:01:28 -07:00
Matthew Vale 36652ff231 use DOCUMENT_ROOT rather than assume path 2015-12-04 12:24:22 +00:00