448 Commits

Author SHA1 Message Date
Luke Towers
d61ac9d9fe Move CMS console commands into the CMS module
Moved the following:
- \System\Console\ThemeInstall -> \Cms\Console\ThemeInstall
- \System\Console\ThemeRemove -> \Cms\Console\ThemeRemove
- \System\Console\ThemeList -> \Cms\Console\ThemeList
- \System\Console\ThemeUse -> \Cms\Console\ThemeUse
- \System\Console\ThemeSync -> \Cms\Console\ThemeSync
2022-02-15 02:16:34 -06:00
Luke Towers
a2276012aa
Update modules/system/classes/MixAssets.php
Co-authored-by: Ben Thomson <git@alfreido.com>
2022-02-14 07:47:04 -06:00
Luke Towers
defe284303 Merge branch 'develop' into wip/1.2 2022-02-13 10:54:44 -06:00
Luke Towers
1cbbd6474d Use relative paths in the MixAssets manager 2022-02-11 14:20:10 -06:00
Luke Towers
b2de281815 Support installing previously unregistered Mix packages for valid modules, themes, & plugins. 2022-02-11 13:18:00 -06:00
Luke Towers
1085be50b5 Implement autoregistration of Laravel Mix packages for modules, plugins, & themes.
Also renamed default to winter.mix.js instead of winter-mix.js started on the mix:install support.

Refs: #440, #401.
2022-02-10 16:10:07 -06:00
Luke Towers
95c1d9f695 Merge branch 'develop' into wip/snowboard
* develop: (25 commits)
  Use the asset helper for static assets
  Added asset filter & function versions of all System Twig filters (#428)
  Improve Japanese Translation (#435)
  Improved Latvian translation (#434)
  Improved Ukrainian translation (#433)
  Redirect to the myaccount page as a final fallback
  Improve Persian translations (#423)
  typo fix (#424)
  Improved Russian translation (#422)
  Tidy up
  Style fix
  Go to User's details page when clicking on related user from the roles update page
  Update recommend format for implementing controller behaviors
  Add support for default configuration file names for controller behaviors
  Attach default permissions to the publisher role
  Only show role user management in the update context
  Improve UserRole editing experience
  Fix support for readOnly on the datepicker formwidget.
  Sort assets alphabetically in the CMS Theme Editor (#420)
  VSCode recommended extensions (#417)
  ...
2022-02-07 20:30:15 -06:00
Jack Wilkinson
927719f758
Altered order of operations to ensure modules are seeded before plugins (#419) 2022-01-24 08:32:36 -06:00
Ben Thomson
ae67e2fa9b Compile changes from wip/framework-rewrite branch
Represents the entire current state of the Snowboard framework.
2022-01-12 15:35:45 +08:00
Ben Thomson
a0a0073b5e Extend abstract Yaml Processor 2021-12-17 15:12:25 +08:00
Luke Towers
77c7e809a8
Update modules/system/classes/PluginBase.php
Co-authored-by: Ben Thomson <git@alfreido.com>
2021-12-14 01:50:41 -06:00
Luke Towers
f85342ce03 Initial support for Flysystem 2.0 2021-12-09 21:11:42 -06:00
Luke Towers
55e9cadc4e Use the VersionYamlParser when parsing the version.yaml file 2021-12-09 17:07:01 -06:00
Luke Towers
8c75a83139 Merge branch 'develop' into wip/1.2
* develop: (90 commits)
  Define signature for "defineProperties" method
  Add definition of "componentDetails" method
  Update `system` french lang files (#366)
  Update `backend` french lang file (#364)
  Update `cms` french lang file (#365)
  Fix clear color picker function, allow empty value
  Trigger "change" event on color picker when value changes
  Use better cursors for readonly color picker
  Adjust "force" option for plugin:remove
  Require explicit confirmations for CLI deletions
  Add PHP 8.1 option, drop other details field
  Add md_line Twig filter to expose Markdown::parseLine() (#370)
  Don't use the Cache facade in the service provider registration process.
  Fix return type hints for CMS Page and Controller (#362)
  Fixes typo in list of available encodings for importing
  Improved Ukrainian translation (#360)
  Constrain PHP version >= 7.2.9 and 8.0.x (#361)
  Improve Latvian translation (#358)
  Docs UI Fix paths to screenshots of diagrams (#359)
  Coerce Inspector set values to string
  ...

# Conflicts:
#	composer.json
#	modules/backend/composer.json
#	modules/cms/composer.json
#	modules/system/composer.json
2021-12-09 15:39:05 -06:00
Luke Towers
b50a347762 Replace SwiftMailer with Symfony Mailer 2021-12-09 15:36:53 -06:00
Luke Towers
9314a4442e Don't use the Cache facade in the service provider registration process.
Fixes #350. Refs https://github.com/laravel/framework/pull/38724. Final solution in v1.2 will be to extend the base Laravel Cache serviceprovider and make it no longer a deferred provider as well as consolidating the MemoryCache implementations currently present in QueryBuilder, Halcyon Models, and the Halcyon ServiceProvider into the Winter Cache service provider.
2021-12-06 15:19:41 -06:00
Ben Thomson
4293141a6b Get changelog only of the current branch
We'll prompt people to upgrade to the next major version, but if they opt to stay on their current branch, to ensure that they don't end up filled with extraneous info, we'll just show the changelog of their current branch and those branches below the current one.
2021-10-11 13:48:35 +08:00
Ben Thomson
eb76a7504a
Allow for local source manifests 2021-08-10 11:35:44 +08:00
Ben Thomson
e7c43c5aa1
Use Http to retrieve JSON data for version checks
Hat tip to @meinmotion for fix.

Fixes https://github.com/wintercms/winter/issues/267
2021-08-10 11:27:24 +08:00
Luke Towers
4be654b6a8 Support providing Twig configuration options when registering custom Twig filters & functions
Documented by 4185118f29
2021-07-26 02:35:42 -06:00
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
6632ad622a Merge branch 'develop' into wip/1.2
* develop: (45 commits)
  Revert "Add class alias registration method to plugins (#152)" (#176)
  Add class alias registration method to plugins (#152)
  Improved Latvian translation (#142)
  Fixing styles for custom checkbox (#140)
  ImageResizer should support uppercase file extensions (#135)
  Improved Italian Translations (#134)
  Improved Latvian translation (#128)
  Update lang.php
  Only show plugin warnings for active replacements (#122)
  Fix unit tests
  Ensure route attributes from plugins are properly loaded
  Revert "Support ReportContainers that are aliases of real ReportContainers"
  Ensure all plugins are uninstalled when the system is uninstalled (#114)
  Add history of replacement plugins to the system_plugin_history table (#115)
  Warn when replaced plugins are still present (#109)
  Added plugin registration after loading (#113)
  Fixed issue with taglist when not readOnly but an array value
  Improve handling for null being passed to the ImageResizer
  Add discord badge
  Support ReportContainers that are aliases of real ReportContainers
  ...
2021-05-14 09:18:19 -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
58664605ea Re-apply Yaml 4.4 compatibility layer
Refs: 181f213079
2021-03-28 20:32:41 -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