From f6d308291d8b013e8aec34d157611227c8434961 Mon Sep 17 00:00:00 2001 From: Claudiu Cristea Date: Sun, 11 Aug 2013 14:43:15 +0300 Subject: [PATCH] Issue #2062573 by claudiu.cristea: Add method setConfigurationDefaults in ConfigurableImageEffectInterface. --- .../Plugin/ConfigurablePluginInterface.php | 8 ++++++++ .../Drupal/Core/Action/ConfigurableActionBase.php | 2 +- .../Drupal/action/Plugin/Action/EmailAction.php | 2 +- .../lib/Drupal/action/Plugin/Action/GotoAction.php | 2 +- .../Drupal/action/Plugin/Action/MessageAction.php | 2 +- core/modules/block/lib/Drupal/block/BlockBase.php | 7 +++++++ .../Plugin/Action/UnpublishByKeywordComment.php | 2 +- .../image/lib/Drupal/image/ImageEffectBase.php | 9 +++++++- .../image/Plugin/ImageEffect/CropImageEffect.php | 17 ++++++++------- .../image/Plugin/ImageEffect/ResizeImageEffect.php | 14 +++++++++++-- .../image/Plugin/ImageEffect/RotateImageEffect.php | 24 +++++++++++++--------- .../image/Plugin/ImageEffect/ScaleImageEffect.php | 18 ++++++++-------- .../Drupal/node/Plugin/Action/AssignOwnerNode.php | 2 +- .../node/Plugin/Action/UnpublishByKeywordNode.php | 2 +- .../user/Plugin/Action/ChangeUserRoleBase.php | 2 +- 15 files changed, 75 insertions(+), 38 deletions(-) diff --git a/core/lib/Drupal/Component/Plugin/ConfigurablePluginInterface.php b/core/lib/Drupal/Component/Plugin/ConfigurablePluginInterface.php index 3c500ea..9be04bd 100644 --- a/core/lib/Drupal/Component/Plugin/ConfigurablePluginInterface.php +++ b/core/lib/Drupal/Component/Plugin/ConfigurablePluginInterface.php @@ -28,4 +28,12 @@ public function getConfiguration(); */ public function setConfiguration(array $configuration); + /** + * Returns default configuration for this plugin. + * + * @return array + * An associative array with the default configuration. + */ + public function getDefaultConfiguration(); + } diff --git a/core/lib/Drupal/Core/Action/ConfigurableActionBase.php b/core/lib/Drupal/Core/Action/ConfigurableActionBase.php index 25fe32f..fa291f5 100644 --- a/core/lib/Drupal/Core/Action/ConfigurableActionBase.php +++ b/core/lib/Drupal/Core/Action/ConfigurableActionBase.php @@ -30,7 +30,7 @@ public function __construct(array $configuration, $plugin_id, array $plugin_defi * * @return array */ - protected function getDefaultConfiguration() { + public function getDefaultConfiguration() { return array(); } diff --git a/core/modules/action/lib/Drupal/action/Plugin/Action/EmailAction.php b/core/modules/action/lib/Drupal/action/Plugin/Action/EmailAction.php index 77e5f21..9554a98 100644 --- a/core/modules/action/lib/Drupal/action/Plugin/Action/EmailAction.php +++ b/core/modules/action/lib/Drupal/action/Plugin/Action/EmailAction.php @@ -105,7 +105,7 @@ public function execute($entity = NULL) { /** * {@inheritdoc} */ - protected function getDefaultConfiguration() { + public function getDefaultConfiguration() { return array( 'recipient' => '', 'subject' => '', diff --git a/core/modules/action/lib/Drupal/action/Plugin/Action/GotoAction.php b/core/modules/action/lib/Drupal/action/Plugin/Action/GotoAction.php index fd158fb..d4d5b18 100644 --- a/core/modules/action/lib/Drupal/action/Plugin/Action/GotoAction.php +++ b/core/modules/action/lib/Drupal/action/Plugin/Action/GotoAction.php @@ -87,7 +87,7 @@ public function execute($object = NULL) { /** * {@inheritdoc} */ - protected function getDefaultConfiguration() { + public function getDefaultConfiguration() { return array( 'url' => '', ); diff --git a/core/modules/action/lib/Drupal/action/Plugin/Action/MessageAction.php b/core/modules/action/lib/Drupal/action/Plugin/Action/MessageAction.php index fef9ab9..305e6cb 100644 --- a/core/modules/action/lib/Drupal/action/Plugin/Action/MessageAction.php +++ b/core/modules/action/lib/Drupal/action/Plugin/Action/MessageAction.php @@ -61,7 +61,7 @@ public function execute($entity = NULL) { /** * {@inheritdoc} */ - protected function getDefaultConfiguration() { + public function getDefaultConfiguration() { return array( 'message' => '', ); diff --git a/core/modules/block/lib/Drupal/block/BlockBase.php b/core/modules/block/lib/Drupal/block/BlockBase.php index f1217c0..7004076 100644 --- a/core/modules/block/lib/Drupal/block/BlockBase.php +++ b/core/modules/block/lib/Drupal/block/BlockBase.php @@ -68,6 +68,13 @@ public function setConfiguration(array $configuration) { /** * {@inheritdoc} */ + public function getDefaultConfiguration() { + return array(); + } + + /** + * {@inheritdoc} + */ public function setConfigurationValue($key, $value) { $this->configuration[$key] = $value; } diff --git a/core/modules/comment/lib/Drupal/comment/Plugin/Action/UnpublishByKeywordComment.php b/core/modules/comment/lib/Drupal/comment/Plugin/Action/UnpublishByKeywordComment.php index d669db4..96534c8 100644 --- a/core/modules/comment/lib/Drupal/comment/Plugin/Action/UnpublishByKeywordComment.php +++ b/core/modules/comment/lib/Drupal/comment/Plugin/Action/UnpublishByKeywordComment.php @@ -40,7 +40,7 @@ public function execute($comment = NULL) { /** * {@inheritdoc} */ - protected function getDefaultConfiguration() { + public function getDefaultConfiguration() { return array( 'keywords' => array(), ); diff --git a/core/modules/image/lib/Drupal/image/ImageEffectBase.php b/core/modules/image/lib/Drupal/image/ImageEffectBase.php index 2babe0d..158874d 100644 --- a/core/modules/image/lib/Drupal/image/ImageEffectBase.php +++ b/core/modules/image/lib/Drupal/image/ImageEffectBase.php @@ -103,10 +103,17 @@ public function setConfiguration(array $configuration) { 'uuid' => '', 'weight' => '', ); - $this->configuration = $configuration['data']; + $this->configuration = $configuration['data'] + $this->getDefaultConfiguration(); $this->uuid = $configuration['uuid']; $this->weight = $configuration['weight']; return $this; } + /** + * {@inheritdoc} + */ + public function getDefaultConfiguration() { + return array(); + } + } diff --git a/core/modules/image/lib/Drupal/image/Plugin/ImageEffect/CropImageEffect.php b/core/modules/image/lib/Drupal/image/Plugin/ImageEffect/CropImageEffect.php index e46d2fa..fcd831b 100644 --- a/core/modules/image/lib/Drupal/image/Plugin/ImageEffect/CropImageEffect.php +++ b/core/modules/image/lib/Drupal/image/Plugin/ImageEffect/CropImageEffect.php @@ -26,11 +26,6 @@ class CropImageEffect extends ResizeImageEffect { * {@inheritdoc} */ public function applyEffect(ImageInterface $image) { - // Set sane default values. - $this->configuration += array( - 'anchor' => 'center-center', - ); - list($x, $y) = explode('-', $this->configuration['anchor']); $x = image_filter_keyword($x, $image->getWidth(), $this->configuration['width']); $y = image_filter_keyword($y, $image->getHeight(), $this->configuration['height']); @@ -54,12 +49,16 @@ public function getSummary() { /** * {@inheritdoc} */ - public function getForm() { - $this->configuration += array( - 'width' => '', - 'height' => '', + public function getDefaultConfiguration() { + return parent::getDefaultConfiguration() + array( 'anchor' => 'center-center', ); + } + + /** + * {@inheritdoc} + */ + public function getForm() { $form = parent::getForm(); $form['anchor'] = array( '#type' => 'radios', diff --git a/core/modules/image/lib/Drupal/image/Plugin/ImageEffect/ResizeImageEffect.php b/core/modules/image/lib/Drupal/image/Plugin/ImageEffect/ResizeImageEffect.php index 766e5a7..fdbcabd 100644 --- a/core/modules/image/lib/Drupal/image/Plugin/ImageEffect/ResizeImageEffect.php +++ b/core/modules/image/lib/Drupal/image/Plugin/ImageEffect/ResizeImageEffect.php @@ -57,11 +57,21 @@ public function getSummary() { /** * {@inheritdoc} */ + public function getDefaultConfiguration() { + return array( + 'width' => NULL, + 'height' => NULL, + ); + } + + /** + * {@inheritdoc} + */ public function getForm() { $form['width'] = array( '#type' => 'number', '#title' => t('Width'), - '#default_value' => isset($this->configuration['width']) ? $this->configuration['width'] : '', + '#default_value' => $this->configuration['width'], '#field_suffix' => ' ' . t('pixels'), '#required' => TRUE, '#min' => 1, @@ -69,7 +79,7 @@ public function getForm() { $form['height'] = array( '#type' => 'number', '#title' => t('Height'), - '#default_value' => isset($this->configuration['height']) ? $this->configuration['height'] : '', + '#default_value' => $this->configuration['height'], '#field_suffix' => ' ' . t('pixels'), '#required' => TRUE, '#min' => 1, diff --git a/core/modules/image/lib/Drupal/image/Plugin/ImageEffect/RotateImageEffect.php b/core/modules/image/lib/Drupal/image/Plugin/ImageEffect/RotateImageEffect.php index fe563ae..b6d571c 100644 --- a/core/modules/image/lib/Drupal/image/Plugin/ImageEffect/RotateImageEffect.php +++ b/core/modules/image/lib/Drupal/image/Plugin/ImageEffect/RotateImageEffect.php @@ -28,13 +28,6 @@ class RotateImageEffect extends ImageEffectBase implements ConfigurableImageEffe * {@inheritdoc} */ public function applyEffect(ImageInterface $image) { - // Set sane default values. - $this->configuration += array( - 'degrees' => 0, - 'bgcolor' => NULL, - 'random' => FALSE, - ); - // Convert short #FFF syntax to full #FFFFFF syntax. if (strlen($this->configuration['bgcolor']) == 4) { $c = $this->configuration['bgcolor']; @@ -92,10 +85,21 @@ public function getSummary() { /** * {@inheritdoc} */ + public function getDefaultConfiguration() { + return array( + 'degrees' => 0, + 'bgcolor' => NULL, + 'random' => FALSE, + ); + } + + /** + * {@inheritdoc} + */ public function getForm() { $form['degrees'] = array( '#type' => 'number', - '#default_value' => (isset($this->configuration['degrees'])) ? $this->configuration['degrees'] : 0, + '#default_value' => $this->configuration['degrees'], '#title' => t('Rotation angle'), '#description' => t('The number of degrees the image should be rotated. Positive numbers are clockwise, negative are counter-clockwise.'), '#field_suffix' => '°', @@ -103,7 +107,7 @@ public function getForm() { ); $form['bgcolor'] = array( '#type' => 'textfield', - '#default_value' => (isset($this->configuration['bgcolor'])) ? $this->configuration['bgcolor'] : '#FFFFFF', + '#default_value' => $this->configuration['bgcolor'], '#title' => t('Background color'), '#description' => t('The background color to use for exposed areas of the image. Use web-style hex colors (#FFFFFF for white, #000000 for black). Leave blank for transparency on image types that support it.'), '#size' => 7, @@ -112,7 +116,7 @@ public function getForm() { ); $form['random'] = array( '#type' => 'checkbox', - '#default_value' => (isset($this->configuration['random'])) ? $this->configuration['random'] : 0, + '#default_value' => $this->configuration['random'], '#title' => t('Randomize'), '#description' => t('Randomize the rotation angle for each image. The angle specified above is used as a maximum.'), ); diff --git a/core/modules/image/lib/Drupal/image/Plugin/ImageEffect/ScaleImageEffect.php b/core/modules/image/lib/Drupal/image/Plugin/ImageEffect/ScaleImageEffect.php index c7b2f53..984d99b 100644 --- a/core/modules/image/lib/Drupal/image/Plugin/ImageEffect/ScaleImageEffect.php +++ b/core/modules/image/lib/Drupal/image/Plugin/ImageEffect/ScaleImageEffect.php @@ -27,13 +27,6 @@ class ScaleImageEffect extends ResizeImageEffect { * {@inheritdoc} */ public function applyEffect(ImageInterface $image) { - // Set sane default values. - $this->configuration += array( - 'width' => NULL, - 'height' => NULL, - 'upscale' => FALSE, - ); - if (!$image->scale($this->configuration['width'], $this->configuration['height'], $this->configuration['upscale'])) { watchdog('image', 'Image scale failed using the %toolkit toolkit on %path (%mimetype, %dimensions)', array('%toolkit' => $image->getToolkitId(), '%path' => $image->getSource(), '%mimetype' => $image->getMimeType(), '%dimensions' => $image->getWidth() . 'x' . $image->getHeight()), WATCHDOG_ERROR); return FALSE; @@ -63,6 +56,15 @@ public function getSummary() { /** * {@inheritdoc} */ + public function getDefaultConfiguration() { + return parent::getDefaultConfiguration() + array( + 'upscale' => FALSE, + ); + } + + /** + * {@inheritdoc} + */ public function getForm() { $form = parent::getForm(); $form['#element_validate'] = array(array($this, 'validateScaleEffect')); @@ -70,7 +72,7 @@ public function getForm() { $form['height']['#required'] = FALSE; $form['upscale'] = array( '#type' => 'checkbox', - '#default_value' => (isset($this->configuration['upscale'])) ? $this->configuration['upscale'] : 0, + '#default_value' => $this->configuration['upscale'], '#title' => t('Allow Upscaling'), '#description' => t('Let scale make images larger than their original size'), ); diff --git a/core/modules/node/lib/Drupal/node/Plugin/Action/AssignOwnerNode.php b/core/modules/node/lib/Drupal/node/Plugin/Action/AssignOwnerNode.php index 59255e2..f2a6e45 100644 --- a/core/modules/node/lib/Drupal/node/Plugin/Action/AssignOwnerNode.php +++ b/core/modules/node/lib/Drupal/node/Plugin/Action/AssignOwnerNode.php @@ -70,7 +70,7 @@ public function execute($entity = NULL) { /** * {@inheritdoc} */ - protected function getDefaultConfiguration() { + public function getDefaultConfiguration() { return array( 'owner_uid' => '', ); diff --git a/core/modules/node/lib/Drupal/node/Plugin/Action/UnpublishByKeywordNode.php b/core/modules/node/lib/Drupal/node/Plugin/Action/UnpublishByKeywordNode.php index 2ad65f8..6cd5291 100644 --- a/core/modules/node/lib/Drupal/node/Plugin/Action/UnpublishByKeywordNode.php +++ b/core/modules/node/lib/Drupal/node/Plugin/Action/UnpublishByKeywordNode.php @@ -39,7 +39,7 @@ public function execute($node = NULL) { /** * {@inheritdoc} */ - protected function getDefaultConfiguration() { + public function getDefaultConfiguration() { return array( 'keywords' => array(), ); diff --git a/core/modules/user/lib/Drupal/user/Plugin/Action/ChangeUserRoleBase.php b/core/modules/user/lib/Drupal/user/Plugin/Action/ChangeUserRoleBase.php index 079f066..0d7afa6 100644 --- a/core/modules/user/lib/Drupal/user/Plugin/Action/ChangeUserRoleBase.php +++ b/core/modules/user/lib/Drupal/user/Plugin/Action/ChangeUserRoleBase.php @@ -17,7 +17,7 @@ /** * {@inheritdoc} */ - protected function getDefaultConfiguration() { + public function getDefaultConfiguration() { return array( 'rid' => '', ); -- 1.8.3.1