diff --git a/CHANGELOG-WIP.md b/CHANGELOG-WIP.md index b74242c3323..e374c752f59 100644 --- a/CHANGELOG-WIP.md +++ b/CHANGELOG-WIP.md @@ -190,10 +190,68 @@ Craft's Mutex classes have been deprecated. [Laravel's atomic locking](https://l - `craft\services\Entries::EVENT_AFTER_DELETE_ENTRY_TYPE` => `CraftCms\Cms\Entry\Events\EntryTypeDeleted` - `craft\services\Entries::EVENT_BEFORE_SAVE_ENTRY_TYPE` => `CraftCms\Cms\Entry\Events\SavingEntryType` - `craft\services\Entries::EVENT_AFTER_SAVE_ENTRY_TYPE` => `CraftCms\Cms\Entry\Events\EntryTypeSaved` +- Removed `craft\controllers\EntriesController`. The following controllers now implement this functionality: + - `CraftCms\Cms\Http\Controllers\Entries\CreateEntryController` + - `CraftCms\Cms\Http\Controllers\Entries\EntriesIndexController` + - `CraftCms\Cms\Http\Controllers\Entries\MoveEntryToSectionController` + - `CraftCms\Cms\Http\Controllers\Entries\StoreEntryController` - Removed `craft\controllers\EntryTypesController` in favor of `CraftCms\Cms\Http\Controllers\EntryTypesController` - Removed `craft\console\controllers\EntryTypesController` in favor of: - `CraftCms\Cms\Entry\Commands\MergeEntryTypesCommand` +## Fields + +- Removed `craft\controllers\FieldsController` in favor of `CraftCms\Cms\Http\Controllers\FieldsController`. +- Deprecated `craft\fields\data\ColorData`. `CraftCms\Cms\Field\Data\ColorData` should be used instead. +- Deprecated `craft\fields\data\IconData`. `CraftCms\Cms\Field\Data\IconData` should be used instead. +- Deprecated `craft\fields\data\JsonData`. `CraftCms\Cms\Field\Data\JsonData` should be used instead. +- Deprecated `craft\fields\data\LinkData`. `CraftCms\Cms\Field\Data\LinkData` should be used instead. +- Deprecated `craft\fields\data\MultiOptionsFieldData`. `CraftCms\Cms\Field\Data\MultiOptionsFieldData` should be used instead. +- Deprecated `craft\fields\data\OptionData`. `CraftCms\Cms\Field\Data\OptionData` should be used instead. +- Deprecated `craft\fields\data\SingleOptionFieldData`. `CraftCms\Cms\Field\Data\SingleOptionFieldData` should be used instead. +- Deprecated `craft\fields\linktypes\Asset`. `CraftCms\Cms\Field\LinkTypes\Asset` should be used instead. +- Deprecated `craft\fields\linktypes\BaseElementLinkType`. `CraftCms\Cms\Field\LinkTypes\BaseElementLinkType` should be used instead. +- Deprecated `craft\fields\linktypes\BaseLinkType`. `CraftCms\Cms\Field\LinkTypes\BaseLinkType` should be used instead. +- Deprecated `craft\fields\linktypes\BaseTextLinkType`. `CraftCms\Cms\Field\LinkTypes\BaseTextLinkType` should be used instead. +- Deprecated `craft\fields\linktypes\Category`. `CraftCms\Cms\Field\LinkTypes\Category` should be used instead. +- Deprecated `craft\fields\linktypes\Email`. `CraftCms\Cms\Field\LinkTypes\Email` should be used instead. +- Deprecated `craft\fields\linktypes\Entry`. `CraftCms\Cms\Field\LinkTypes\Entry` should be used instead. +- Deprecated `craft\fields\linktypes\Phone`. `CraftCms\Cms\Field\LinkTypes\Phone` should be used instead. +- Deprecated `craft\fields\linktypes\Sms`. `CraftCms\Cms\Field\LinkTypes\Sms` should be used instead. +- Deprecated `craft\fields\linktypes\Url`. `CraftCms\Cms\Field\LinkTypes\Url` should be used instead. +- Deprecated `craft\fields\Addresses`. `CraftCms\Cms\Field\Addresses` should be used instead. +- Deprecated `craft\fields\Assets`. `CraftCms\Cms\Field\Assets` should be used instead. +- Deprecated `craft\fields\BaseOptionsField`. `CraftCms\Cms\Field\BaseOptionsField` should be used instead. +- Deprecated `craft\fields\BaseRelationField`. `CraftCms\Cms\Field\BaseRelationField` should be used instead. +- Deprecated `craft\fields\ButtonGroup`. `CraftCms\Cms\Field\ButtonGroup` should be used instead. +- Deprecated `craft\fields\Categories`. `CraftCms\Cms\Field\Categories` should be used instead. +- Deprecated `craft\fields\Checkboxes`. `CraftCms\Cms\Field\Checkboxes` should be used instead. +- Deprecated `craft\fields\Color`. `CraftCms\Cms\Field\Color` should be used instead. +- Deprecated `craft\fields\ContentBlock`. `CraftCms\Cms\Field\ContentBlock` should be used instead. +- Deprecated `craft\fields\Country`. `CraftCms\Cms\Field\Country` should be used instead. +- Deprecated `craft\fields\Date`. `CraftCms\Cms\Field\Date` should be used instead. +- Deprecated `craft\fields\Dropdown`. `CraftCms\Cms\Field\Dropdown` should be used instead. +- Deprecated `craft\fields\Email`. `CraftCms\Cms\Field\Email` should be used instead. +- Deprecated `craft\fields\Entries`. `CraftCms\Cms\Field\Entries` should be used instead. +- Deprecated `craft\fields\Icon`. `CraftCms\Cms\Field\Icon` should be used instead. +- Deprecated `craft\fields\Json`. `CraftCms\Cms\Field\Json` should be used instead. +- Deprecated `craft\fields\Lightswitch`. `CraftCms\Cms\Field\Lightswitch` should be used instead. +- Deprecated `craft\fields\Link`. `CraftCms\Cms\Field\Link` should be used instead. +- Deprecated `craft\fields\Matrix`. `CraftCms\Cms\Field\Matrix` should be used instead. +- Deprecated `craft\fields\MissingField`. `CraftCms\Cms\Field\MissingField` should be used instead. +- Deprecated `craft\fields\Money`. `CraftCms\Cms\Field\Money` should be used instead. +- Deprecated `craft\fields\MultiSelect`. `CraftCms\Cms\Field\MultiSelect` should be used instead. +- Deprecated `craft\fields\Number`. `CraftCms\Cms\Field\Number` should be used instead. +- Deprecated `craft\fields\PlainText`. `CraftCms\Cms\Field\PlainText` should be used instead. +- Deprecated `craft\fields\RadioButtons`. `CraftCms\Cms\Field\RadioButtons` should be used instead. +- Deprecated `craft\fields\Range`. `CraftCms\Cms\Field\Range` should be used instead. +- Deprecated `craft\fields\Table`. `CraftCms\Cms\Field\Table` should be used instead. +- Deprecated `craft\fields\Tags`. `CraftCms\Cms\Field\Tags` should be used instead. +- Deprecated `craft\fields\Time`. `CraftCms\Cms\Field\Time` should be used instead. +- Deprecated `craft\fields\Url`. `CraftCms\Cms\Field\Url` should be used instead. +- Deprecated `craft\fields\Users`. `CraftCms\Cms\Field\Users` should be used instead. +- Deprecated `craft\services\Fields`. `CraftCms\Cms\Field\Fields` should be used instead. + ## GQL - Deprecated `\craft\records\GqlSchema`. `\CraftCms\Cms\Gql\Models\GqlSchema` should be used instead. diff --git a/src/Config/GeneralConfig.php b/src/Config/GeneralConfig.php index f5445fb9e23..c64b4f44c32 100644 --- a/src/Config/GeneralConfig.php +++ b/src/Config/GeneralConfig.php @@ -552,7 +552,7 @@ class GeneralConfig extends BaseConfig * * ::: code * ```php Static Config - * ->buildId(\craft\helpers\App::env('GIT_SHA')) + * ->buildId(\CraftCms\Cms\Support\Env::get('GIT_SHA')) * ``` * ```shell Environment Override * CRAFT_BUILD_ID=$GIT_SHA @@ -3917,7 +3917,7 @@ public function brokenImagePath(?string $value): self * This should be set to something unique to the deployment, e.g. a Git SHA or a deployment timestamp. * * ```php - * ->buildId(\craft\helpers\App::env('GIT_SHA')) + * ->buildId(\CraftCms\Cms\Support\Env::get('GIT_SHA')) * ``` * * @group Environment diff --git a/src/Field/Fields.php b/src/Field/Fields.php index 32441e6f00c..888a6f29a65 100644 --- a/src/Field/Fields.php +++ b/src/Field/Fields.php @@ -13,6 +13,7 @@ use craft\fieldlayoutelements\BaseField; use craft\fieldlayoutelements\CustomField; use craft\helpers\AdminTable; +use craft\helpers\Component; use craft\helpers\Component as ComponentHelper; use craft\helpers\Cp; use craft\helpers\Db as DbHelper; @@ -909,6 +910,7 @@ public function assembleLayoutFromPost(?string $namespace = null): FieldLayout $config = JsonHelper::decode(Request::get("{$paramPrefix}fieldLayout")); $config['generatedFields'] = Request::get("{$paramPrefix}generatedFields") ?: null; + $config = Component::cleanseConfig($config); $layout = $this->createLayout($config); diff --git a/src/Http/Controllers/FieldsController.php b/src/Http/Controllers/FieldsController.php index 1f9f9b16ab2..dbae842bcfb 100644 --- a/src/Http/Controllers/FieldsController.php +++ b/src/Http/Controllers/FieldsController.php @@ -290,7 +290,7 @@ public function renderCardPreview(Request $request, Fields $fields): JsonRespons 'thumbAlignment' => ['nullable', 'string'], ]); - $fieldLayoutConfig = $request->input('fieldLayoutConfig'); + $fieldLayoutConfig = Component::cleanseConfig($request->input('fieldLayoutConfig')); $fieldLayout = $fields->createLayout($fieldLayoutConfig); return new JsonResponse([