reverted:
--- b/core/lib/Drupal/Core/Field/Plugin/Field/FieldWidget/UriWidget.php
+++ a/core/lib/Drupal/Core/Field/Plugin/Field/FieldWidget/UriWidget.php
@@ -1,86 +0,0 @@
- 60,
- 'placeholder' => '',
- ) + parent::defaultSettings();
- }
-
- /**
- * {@inheritdoc}
- */
- public function settingsForm(array $form, array &$form_state) {
- $element['size'] = array(
- '#type' => 'number',
- '#title' => t('Size of textfield'),
- '#default_value' => $this->getSetting('size'),
- '#required' => TRUE,
- '#min' => 1,
- );
- $element['placeholder'] = array(
- '#type' => 'textfield',
- '#title' => t('Placeholder'),
- '#default_value' => $this->getSetting('placeholder'),
- '#description' => t('Text that will be shown inside the field until a value is entered. This hint is usually a sample value or a brief description of the expected format.'),
- );
- return $element;
- }
-
- /**
- * {@inheritdoc}
- */
- public function settingsSummary() {
- $summary = array();
-
- $summary[] = t('URL field size: !size', array('!size' => $this->getSetting('size')));
- $placeholder = $this->getSetting('placeholder');
- if (!empty($placeholder)) {
- $summary[] = t('Placeholder: @placeholder', array('@placeholder' => $placeholder));
- }
-
- return $summary;
- }
-
- /**
- * {@inheritdoc}
- */
- public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, array &$form_state) {
- $element['value'] = $element + array(
- '#type' => 'url',
- '#default_value' => isset($items[$delta]->value) ? $items[$delta]->value : NULL,
- '#size' => $this->getSetting('size'),
- '#placeholder' => $this->getSetting('placeholder'),
- '#maxlength' => $this->getFieldSetting('max_length'),
- );
-
- return $element;
- }
-
-}
diff -u b/core/modules/aggregator/lib/Drupal/aggregator/Entity/Feed.php b/core/modules/aggregator/lib/Drupal/aggregator/Entity/Feed.php
--- b/core/modules/aggregator/lib/Drupal/aggregator/Entity/Feed.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Entity/Feed.php
@@ -149,8 +149,7 @@
->setDisplayOptions('form', array(
'type' => 'string',
'weight' => -5,
- ))
- ->setDisplayConfigurable('form', TRUE);
+ ));
$fields['langcode'] = FieldDefinition::create('language')
->setLabel(t('Language code'))
@@ -160,12 +159,11 @@
->setLabel(t('URL'))
->setDescription(t('The URL to the feed.'))
->setRequired(TRUE)
- ->setSetting('max_length', 100)
+ ->setSetting('max_length', NULL)
->setDisplayOptions('form', array(
'type' => 'uri',
'weight' => -4,
- ))
- ->setDisplayConfigurable('form', TRUE);
+ ));
$fields['refresh'] = FieldDefinition::create('integer')
->setLabel(t('Refresh'))
diff -u b/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorTestBase.php b/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorTestBase.php
--- b/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorTestBase.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorTestBase.php
@@ -56,7 +56,7 @@
$this->drupalPostForm('aggregator/sources/add', $edit, t('Save'));
$this->assertRaw(t('The feed %name has been added.', array('%name' => $edit['title[0][value]'])), format_string('The feed !name has been added.', array('!name' => $edit['title[0][value]'])));
- $fid = db_query("SELECT fid FROM {aggregator_feed} WHERE title = :title AND url = :url", array(':title' => $edit['title[0][value]'], ':url' => $edit['url']))->fetchField();
+ $fid = db_query("SELECT fid FROM {aggregator_feed} WHERE title = :title AND url = :url", array(':title' => $edit['title[0][value]'], ':url' => $edit['url[0][value]']))->fetchField();
$this->assertTrue(!empty($fid), 'The feed found in database.');
return aggregator_feed_load($fid);
}
@@ -94,7 +94,7 @@
}
$edit += array(
'title[0][value]' => $feed_name,
- 'url' => $feed_url,
+ 'url[0][value]' => $feed_url,
'refresh' => '900',
);
return $edit;
@@ -233,7 +233,7 @@
function getValidOpml($feeds) {
// Properly escape URLs so that XML parsers don't choke on them.
foreach ($feeds as &$feed) {
- $feed['url'] = htmlspecialchars($feed['url']);
+ $feed['url[0][value]'] = htmlspecialchars($feed['url[0][value]']);
}
/**
* Does not have an XML declaration, must pass the parser.
@@ -243,18 +243,18 @@
-
+
-
+
-
+
-
+
EOF;
diff -u b/core/modules/aggregator/lib/Drupal/aggregator/Tests/ImportOpmlTest.php b/core/modules/aggregator/lib/Drupal/aggregator/Tests/ImportOpmlTest.php
--- b/core/modules/aggregator/lib/Drupal/aggregator/Tests/ImportOpmlTest.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Tests/ImportOpmlTest.php
@@ -101,7 +101,7 @@
'refresh' => '900',
);
$this->drupalPostForm('admin/config/services/aggregator/add/opml', $edit, t('Import'));
- $this->assertRaw(t('A feed with the URL %url already exists.', array('%url' => $feeds[0]['url'])), 'Verifying that a duplicate URL was identified');
+ $this->assertRaw(t('A feed with the URL %url already exists.', array('%url' => $feeds[0]['url[0][value]'])), 'Verifying that a duplicate URL was identified');
$this->assertRaw(t('A feed named %title already exists.', array('%title' => $feeds[1]['title[0][value]'])), 'Verifying that a duplicate title was identified');
$after = db_query('SELECT COUNT(*) FROM {aggregator_feed}')->fetchField();
@@ -115,8 +115,8 @@
$refresh = $refresh && $feed->refresh == 900;
}
- $this->assertEqual($title[$feeds[0]['url']], $feeds[0]['title[0][value]'], 'First feed was added correctly.');
- $this->assertEqual($url[$feeds[1]['title[0][value]']], $feeds[1]['url'], 'Second feed was added correctly.');
+ $this->assertEqual($title[$feeds[0]['url[0][value]']], $feeds[0]['title[0][value]'], 'First feed was added correctly.');
+ $this->assertEqual($url[$feeds[1]['title[0][value]']], $feeds[1]['url[0][value]'], 'Second feed was added correctly.');
$this->assertTrue($refresh, 'Refresh times are correct.');
}
diff -u b/core/modules/aggregator/lib/Drupal/aggregator/Tests/UpdateFeedItemTest.php b/core/modules/aggregator/lib/Drupal/aggregator/Tests/UpdateFeedItemTest.php
--- b/core/modules/aggregator/lib/Drupal/aggregator/Tests/UpdateFeedItemTest.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Tests/UpdateFeedItemTest.php
@@ -38,16 +38,16 @@
// Test updating feed items without valid timestamp information.
$edit = array(
'title[0][value]' => "Feed without publish timestamp",
- 'url' => $this->getRSS091Sample(),
+ 'url[0][value]' => $this->getRSS091Sample(),
);
- $this->drupalGet($edit['url']);
- $this->assertResponse(array(200), format_string('URL !url is accessible', array('!url' => $edit['url'])));
+ $this->drupalGet($edit['url[0][value]']);
+ $this->assertResponse(array(200), format_string('URL !url is accessible', array('!url' => $edit['url[0][value]'])));
$this->drupalPostForm('aggregator/sources/add', $edit, t('Save'));
$this->assertRaw(t('The feed %name has been added.', array('%name' => $edit['title[0][value]'])), format_string('The feed !name has been added.', array('!name' => $edit['title[0][value]'])));
- $fid = db_query("SELECT fid FROM {aggregator_feed} WHERE url = :url", array(':url' => $edit['url']))->fetchField();
+ $fid = db_query("SELECT fid FROM {aggregator_feed} WHERE url = :url", array(':url' => $edit['url[0][value]']))->fetchField();
$feed = aggregator_feed_load($fid);
$feed->refreshItems();
diff -u b/core/modules/aggregator/lib/Drupal/aggregator/Tests/UpdateFeedTest.php b/core/modules/aggregator/lib/Drupal/aggregator/Tests/UpdateFeedTest.php
--- b/core/modules/aggregator/lib/Drupal/aggregator/Tests/UpdateFeedTest.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Tests/UpdateFeedTest.php
@@ -23,7 +23,7 @@
* Creates a feed and attempts to update it.
*/
function testUpdateFeed() {
- $remamining_fields = array('title[0][value]', 'url', '');
+ $remamining_fields = array('title[0][value]', 'url[0][value]', '');
foreach ($remamining_fields as $same_field) {
$feed = $this->createFeed();
@@ -38,7 +38,7 @@
// Check feed data.
$this->assertEqual($this->getUrl(), url('aggregator/sources/' . $feed->id(), array('absolute' => TRUE)));
- $this->assertTrue($this->uniqueFeed($edit['title[0][value]'], $edit['url']), 'The feed is unique.');
+ $this->assertTrue($this->uniqueFeed($edit['title[0][value]'], $edit['url[0][value]']), 'The feed is unique.');
// Check feed source.
$this->drupalGet('aggregator/sources/' . $feed->id());
only in patch2:
unchanged:
--- /dev/null
+++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldWidget/UriWidget.php
@@ -0,0 +1,86 @@
+ 60,
+ 'placeholder' => '',
+ ) + parent::defaultSettings();
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function settingsForm(array $form, array &$form_state) {
+ $element['size'] = array(
+ '#type' => 'number',
+ '#title' => t('Size of textfield'),
+ '#default_value' => $this->getSetting('size'),
+ '#required' => TRUE,
+ '#min' => 1,
+ );
+ $element['placeholder'] = array(
+ '#type' => 'textfield',
+ '#title' => t('Placeholder'),
+ '#default_value' => $this->getSetting('placeholder'),
+ '#description' => t('Text that will be shown inside the field until a value is entered. This hint is usually a sample value or a brief description of the expected format.'),
+ );
+ return $element;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function settingsSummary() {
+ $summary = array();
+
+ $summary[] = t('URL field size: !size', array('!size' => $this->getSetting('size')));
+ $placeholder = $this->getSetting('placeholder');
+ if (!empty($placeholder)) {
+ $summary[] = t('Placeholder: @placeholder', array('@placeholder' => $placeholder));
+ }
+
+ return $summary;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, array &$form_state) {
+ $element['value'] = $element + array(
+ '#type' => 'url',
+ '#default_value' => isset($items[$delta]->value) ? $items[$delta]->value : NULL,
+ '#size' => $this->getSetting('size'),
+ '#placeholder' => $this->getSetting('placeholder'),
+ '#maxlength' => $this->getFieldSetting('max_length'),
+ );
+
+ return $element;
+ }
+
+}