Verified Commit 4a57d7b3 authored by godotislate's avatar godotislate
Browse files

refactor: #3570917 Deprecate editor_image_upload_settings_form() and move the logic to a service

By: claudiu.cristea
By: dcam
By: nicxvan
By: smustgrave
parent a38ee74e
Loading
Loading
Loading
Loading
Loading
+26 −5
Original line number Diff line number Diff line
@@ -8,8 +8,11 @@
use Drupal\ckeditor5\Plugin\CKEditor5PluginDefault;
use Drupal\ckeditor5\Plugin\CKEditor5PluginConfigurableInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use Drupal\Core\Url;
use Drupal\editor\EditorInterface;
use Drupal\editor\EditorImageUploadSettings;
use Symfony\Component\DependencyInjection\Attribute\Autowire;

/**
 * CKEditor 5 Image plugin.
@@ -17,11 +20,32 @@
 * @internal
 *   Plugin classes are internal.
 */
class Image extends CKEditor5PluginDefault implements CKEditor5PluginConfigurableInterface {
class Image extends CKEditor5PluginDefault implements CKEditor5PluginConfigurableInterface, ContainerFactoryPluginInterface {

  use CKEditor5PluginConfigurableTrait;
  use DynamicPluginConfigWithCsrfTokenUrlTrait;

  /**
   * The image upload settings service.
   */
  protected EditorImageUploadSettings $editorImageUploadSettings;

  public function __construct(
    array $configuration,
    $plugin_id,
    $plugin_definition,
    #[Autowire(service: EditorImageUploadSettings::class)]
    ?EditorImageUploadSettings $editor_image_upload_settings = NULL,
  ) {
    parent::__construct($configuration, $plugin_id, $plugin_definition);

    if (!$editor_image_upload_settings) {
      @trigger_error('Calling ' . __METHOD__ . '() without the $editor_image_upload_settings argument is deprecated in drupal:11.4.0 and it will be required in drupal:12.0.0. See https://www.drupal.org/node/3570919', E_USER_DEPRECATED);
      $editor_image_upload_settings = \Drupal::service(EditorImageUploadSettings::class);
    }
    $this->editorImageUploadSettings = $editor_image_upload_settings;
  }

  /**
   * {@inheritdoc}
   */
@@ -49,12 +73,9 @@ public function getDynamicPluginConfig(array $static_plugin_config, EditorInterf

  /**
   * {@inheritdoc}
   *
   * @see editor_image_upload_settings_form()
   */
  public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
    $form_state->loadInclude('editor', 'admin.inc');
    return editor_image_upload_settings_form($form_state->get('editor'));
    return $this->editorImageUploadSettings->getForm($form_state->get('editor'));
  }

  /**
+0 −2
Original line number Diff line number Diff line
@@ -96,8 +96,6 @@ public function getDynamicPluginConfig(array $static_plugin_config, EditorInterf

  /**
   * {@inheritdoc}
   *
   * @see editor_image_upload_settings_form()
   */
  public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
    $configured = count($this->languageManager->getLanguages());
+1 −1
Original line number Diff line number Diff line
@@ -607,7 +607,7 @@ public function validateConfigurationForm(array &$form, FormStateInterface $form
      // If this plugin is configurable but it has empty default configuration,
      // that means the configuration must be stored out of band.
      // @see \Drupal\ckeditor5\Plugin\CKEditor5Plugin\Image
      // @see editor_image_upload_settings_form()
      // @see \Drupal\editor\EditorImageUploadSettings::getForm()
      $default_configuration = $plugin->defaultConfiguration();
      $configuration_stored_out_of_band = empty($default_configuration);
      // If this plugin is configurable but has not yet had user interaction,
+1 −1
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@ public function validate($settings, Constraint $constraint): void {
      // If this plugin is configurable but it has empty default configuration,
      // that means the configuration must be stored out of band.
      // @see \Drupal\ckeditor5\Plugin\CKEditor5Plugin\Image
      // @see editor_image_upload_settings_form()
      // @see \Drupal\editor\EditorImageUploadSettings::getForm()
      $default_configuration = $plugin->defaultConfiguration();
      if ($default_configuration === []) {
        continue;
+2 −2
Original line number Diff line number Diff line
@@ -78,7 +78,7 @@ editor.image_upload_settings.1:
          label: 'Maximum width'
          constraints:
            Range:
              # @see editor_image_upload_settings_form()
              # @see \Drupal\editor\EditorImageUploadSettings::getForm()
              min: 1
              max: 99999
        height:
@@ -87,6 +87,6 @@ editor.image_upload_settings.1:
          label: 'Maximum height'
          constraints:
            Range:
              # @see editor_image_upload_settings_form()
              # @see \Drupal\editor\EditorImageUploadSettings::getForm()
              min: 1
              max: 99999
Loading