376 Commits

Author SHA1 Message Date
Jack Wilkinson
32440b19b9
Added fix when setting plugin status replacements were overriding originals (#226) 2021-07-14 10:31:25 -06:00
RickAcb
d1180d04d1
Return 404 for asset combiner resources that don't exist (#222)
Credit to @RickAcb
2021-07-05 15:59:52 -06:00
Luke Towers
ff9c934853
Revert "Add class alias registration method to plugins (#152)" (#176)
This reverts commit 203d2c4ebac696d39d3dbd92137077db3fb82978 as it was causing issues with classes that didn't exist.

> The class that is not found is: Winter\User\Classes\UserEventBase
2021-05-14 09:15:40 -06:00
Marc Jauvin
203d2c4eba
Add class alias registration method to plugins (#152) 2021-05-06 12:31:24 +08:00
Helmut Kaufmann
4bf6f3289e
ImageResizer should support uppercase file extensions (#135)
Fixes #133
2021-05-01 21:03:41 -06:00
jaxwilko
812f524101
Only show plugin warnings for active replacements (#122) 2021-04-26 09:10:59 -06:00
Luke Towers
7d8117dd67 Fix unit tests 2021-04-25 21:49:38 -06:00
Luke Towers
88bbf232c7 Ensure route attributes from plugins are properly loaded
Fixes wintercms/winter#106.
See https://stackoverflow.com/questions/42984295/laravel-named-routes-not-working/67258851#67258851
2021-04-25 16:38:49 -06:00
jaxwilko
70bb72901b
Ensure all plugins are uninstalled when the system is uninstalled (#114) 2021-04-25 14:58:40 -06:00
Marc Jauvin
029ec9f0c0
Add history of replacement plugins to the system_plugin_history table (#115) 2021-04-25 14:22:42 -06:00
jaxwilko
59ee7c1cc3
Warn when replaced plugins are still present (#109) 2021-04-25 10:18:31 -06:00
Luke Towers
89ebc52802 Improve handling for null being passed to the ImageResizer 2021-04-23 16:20:40 -06:00
Luke Towers
c100059a56 Fix registering of namespace aliases 2021-04-21 15:58:27 -06:00
Luke Towers
c80062f8af Use the database version of the plugin when determining database replacement actions
This fixes an issue where composer dependencies on replaced plugins are directly swapped with the replacement plugins meaning that the replaced plugin files are no longer present in the filesystem when the replacement plugin tries to register for the first time.
2021-04-21 14:09:20 -06:00
Luke Towers
4a6bc4df6a
Add support for plugin replacement / forking (#41)
Documented by https://github.com/wintercms/docs/pull/11

Co-authored-by: @jaxwilko Jack Wilkinson <me@jackwilky.com>
Co-authored-by: @mjauvin Marc Jauvin <marc.jauvin@gmail.com>
Co-authored-by: @bennothommo Ben Thomson <git@alfreido.com>
Co-authored-by: @LukeTowers  Luke Towers <github@luketowers.ca>
2021-04-21 13:50:59 -06:00
Luke Towers
b2161ef429 Improve display of changelog 2021-04-14 14:16:02 -06:00
Ben Thomson
906d4d65c0
Add support for version forks in "winter:version" command (#1) 2021-04-01 09:05:15 -06:00
Luke Towers
0ebe3bc074 Revert "Add version.yaml processing for Symfony/Yaml v4 support (#65)"
This reverts commit 181f2130797a1c19db4ce176c0f79d5b3de546ee.
2021-03-28 20:31:19 -06:00
Marc Jauvin
672dfef507
Only engage system mailer modifications on string template names (#64)
Credit to @mjauvin
2021-03-27 21:27:38 -06:00
Ben Thomson
181f213079
Add version.yaml processing for Symfony/Yaml v4 support (#65)
Fixes #13
Follows on from wintercms/storm#16

Moves the version.yaml processing into the System module and updates all version file parsing to use this new processor.
2021-03-27 21:25:42 -06:00
Luke Towers
2ddfd28c65 Improve media library path validation 2021-03-25 14:43:51 -06:00
Luke Towers
596c6901e6 Fix issues with PluginManager->getRegistrationMethodValues()
On PHP 7.4 method_exists can return true for protected (i.e. not callable) methods. Additionally, some plugins already implemented their own registerValidationRules method not implementing the expected return type, so that needed to be handled more gracefully
2021-03-24 11:27:08 -06:00
Luke Towers
06b91d16f2 Merge branch 'october-develop' into develop
# Conflicts:
#	.github/FUNDING.yml
#	.github/ISSUE_TEMPLATE/0_IMMEDIATE_SUPPORT.md
#	LICENSE
#	README.md
#	SECURITY.md
#	composer.json
#	modules/backend/composer.json
#	modules/backend/helpers/Backend.php
#	modules/cms/composer.json
#	modules/system/assets/ui/js/popup.js
#	modules/system/assets/ui/less/checkbox.less
#	modules/system/assets/ui/storm.css
#	modules/system/composer.json
#	modules/system/console/WinterInstall.php
#	modules/system/console/WinterVersion.php
#	modules/system/database/migrations/2021_10_01_000025_Db_Add_Pivot_Data_To_Deferred_Bindings.php
#	package.json
#	tests/fixtures/plugins/database/tester/updates/create_tags_table.php
2021-03-22 14:35:20 -06:00
Marten
83c63f93b4
Allow DI in console command constructor (#4920)
Allow DI in console command constructor
2021-03-18 15:59:30 +11:00
Luke Towers
1e8cfb47af Manual comb through and rebrand following up the bulk patch rebrand 2021-03-10 15:25:57 -06:00
Luke Towers
cfa763b714 Initial rebrand commit generated from the 1.0 rebrand branch patch file 2021-03-10 15:02:53 -06:00
Luke Towers
8555eb1ae6 Fix URL to the version manifest files 2021-03-06 03:26:27 -06:00
Luke Towers
ecbdb98997 Improve plugin uninstallation stability when removing plugins with dependencies by reversing the migration order to put dependent plugin's down() methods first.
Refs: daf281df41. Credit to @gitlog
2021-03-06 03:02:46 -06:00
Ben Thomson
92ab25c582
PHP 8 compatibility (#5357)
PHP support
2021-03-05 18:20:44 +11:00
GitLog
daf281df41
Fix: Rollback plugins (#5192) 2021-03-04 22:13:32 +11:00
Ben Thomson
09b07dcbab Merge remote-tracking branch 'origin/develop' into wip/php-8-testing 2021-03-01 22:39:35 +08:00
Marc Jauvin
00f65ca725
Honor cms.linkPolicy config in ImageResizer (#5401) 2021-02-26 13:53:18 -06:00
Saifur Rahman Mohsin
59de6e1d25
Respect user-defined admin password during october:install(#5481)
During the regular october install using october:install, the user-defined password is overwritten with the random generated string password. Instead, now it uses random password only if the user-defined password defaults to *admin* and if a user did set a custom password, that is used instead.
2021-02-26 13:49:52 -06:00
Tolkam
26b231cad9
PHP 8 compatibility fixes (#5454)
Co-authored-by: Kanstantsin K <kk@tolkam.by>
2021-02-04 11:59:44 +08:00
Jim Cottrell
6cd5ec688a
Ensure that MediaLibrary::listAllDirectories() honors config for paths to ignore (#5367) 2020-12-09 13:09:38 +08:00
Marc Jauvin
b090d0d745
Cleanup in ImageResizer (#5379)
Match constructor params docblock & fix resized config keys
2020-12-08 12:34:30 -06:00
Ben Thomson
d7d6faeedb
Generate random password for seeded admin account through october:up (#4866) 2020-11-20 03:43:33 -06:00
Ben Thomson
50816a9556
Add support for defining quick actions in the Backend's main nav (#5344)
Plugins now have the ability to define quick actions through a "registerQuickActions" method, which follows the same configuration as the "registerNavigation" method. It is still recommended and preferred that most plugin functionality be defined in their own main menu items, but this will allow a plugin to easily define a shortcut (or remove one).
2020-11-10 12:53:17 +08:00
Luke Towers
86496ff818
Support disks that can't be serialized in ImageResizer. (#5324)
Requires https://github.com/octobercms/library/pull/532
2020-10-22 13:20:19 -06:00
Luke Towers
a9d54eaa97 Warn about unsupported cache drivers being used for image resizing 2020-10-15 09:48:46 -06:00
Luke Towers
0101e1f96b Fix issue with image resizer URLs that contain URL-encoded characters (i.e. spaces)
Don't double decode the URL when validating it because the routing engine already decoded it once
2020-09-19 14:07:23 -06:00
Luke Towers
15ca68c22d No need to throw exceptions when generating MediaLibrary URLs 2020-09-18 16:01:02 -06:00
Luke Towers
fe2ca6c15e Fix issue where resized images were not correctly identified as already having been resized when atomic (blue/green) deployment strategies are used in conjunction with files being stored on the local filesystem in a shared symlinked storage folder. 2020-09-18 00:11:11 -06:00
Luke Towers
618e2b58ab
Ignore images that can't be processed by the resizer 2020-09-17 22:53:49 -06:00
Luke Towers
2c4d3c9f98 Fix issue where URLs generated by the ImageResizer were not correctly encoded.
Related https://github.com/laravel/framework/issues/34199
2020-09-08 16:04:40 -06:00
Ben Thomson
5bceda9496
Add "changes" option for "october:version" command.
Will include a list of added/modified/removed files when detecting the October CMS build.
2020-09-03 11:48:35 +08:00
Ben Thomson
4141646105
Implement improved "set build" replacement (#5087)
This change implements an improved "set build" utility through the "october:version" Artisan command that, instead of checking the October CMS server for the latest build, checks the module files against a source manifest kept on GitHub.

This check allows us to accurately determine the build based on the module files in the October CMS installation, and can even detect versions if the module files are modified (except in the cases of extreme modification).

An additional utility has been implemented, "october:manifest", which will build the manifest JSON file in order to provide the maintainers with a way of generating this manifest file as required.

Replaces #4615.
2020-09-02 14:48:08 +08:00
Luke Towers
812c0552e8 Avoid logging SystemExceptions twice
SystemExceptions are already logged when the System ServiceProvider listens to the Message Logged event, this code used to be for ApplicationExceptions to bypass the fact that they were explicitly ignored by October's core exception handler.

ApplicationExceptions were added 27 Jan 2015 in 6a68036260
ApplicationExceptions were explicitly ignored in the core exception handler on 16 Feb 2015 in 237d97d87a (diff-b6bf0348130fdd1311473a97536310cdR20) and were explicitly logged in the System exception handler on the same day in 7b52e07b65 (diff-547f5794a63e9f138c33b20de8649b7eR20-R31)

Not sure why that was originally the case, but we've made the decision that ApplicationExceptions shouldn't be logged by default as they should occur semi-regularly in a healthy application (mostly as an expression of complex logical validation that triggers them based on bad user input): https://github.com/octobercms/october/pull/4569#issuecomment-550172508

Fixes octobercms/october#5253.
2020-08-28 13:57:12 -06:00
Luke Towers
6b214edf1f Add getAllPlugins() method to PluginManager 2020-08-27 15:47:42 -06:00
Luke Towers
19ebc8854e Remove unnecessary $sourceDisk & $sourcePath variables.
The $resizer instance provides access to the necessary data.
2020-08-25 11:06:38 -06:00