updated core to 7.73
This commit is contained in:
@@ -189,7 +189,7 @@ function hook_aggregator_process($feed) {
|
||||
*
|
||||
* @ingroup aggregator
|
||||
*/
|
||||
function hook_aggregator_process_info($feed) {
|
||||
function hook_aggregator_process_info() {
|
||||
return array(
|
||||
'title' => t('Default processor'),
|
||||
'description' => t('Creates lightweight records of feed items.'),
|
||||
|
||||
@@ -27,7 +27,7 @@ function aggregator_aggregator_fetch($feed) {
|
||||
$headers['If-None-Match'] = $feed->etag;
|
||||
}
|
||||
if ($feed->modified) {
|
||||
$headers['If-Modified-Since'] = gmdate(DATE_RFC1123, $feed->modified);
|
||||
$headers['If-Modified-Since'] = gmdate(DATE_RFC7231, $feed->modified);
|
||||
}
|
||||
|
||||
// Request feed.
|
||||
|
||||
@@ -7,8 +7,7 @@ files[] = aggregator.test
|
||||
configure = admin/config/services/aggregator/settings
|
||||
stylesheets[all][] = aggregator.css
|
||||
|
||||
; Information added by drupal.org packaging script on 2013-04-03
|
||||
version = "7.22"
|
||||
; Information added by Drupal.org packaging script on 2020-09-16
|
||||
version = "7.73"
|
||||
project = "drupal"
|
||||
datestamp = "1365027012"
|
||||
|
||||
datestamp = "1600272641"
|
||||
|
||||
@@ -260,6 +260,7 @@ function aggregator_schema() {
|
||||
'primary key' => array('iid'),
|
||||
'indexes' => array(
|
||||
'fid' => array('fid'),
|
||||
'timestamp' => array('timestamp'),
|
||||
),
|
||||
'foreign keys' => array(
|
||||
'aggregator_feed' => array(
|
||||
@@ -325,6 +326,15 @@ function aggregator_update_7003() {
|
||||
db_add_index('aggregator_feed', 'url', array(array('url', 255)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Add index on timestamp.
|
||||
*/
|
||||
function aggregator_update_7004() {
|
||||
if (!db_index_exists('aggregator_item', 'timestamp')) {
|
||||
db_add_index('aggregator_item', 'timestamp', array('timestamp'));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @} End of "addtogroup updates-7.x-extra"
|
||||
*/
|
||||
|
||||
@@ -455,6 +455,14 @@ function aggregator_save_category($edit) {
|
||||
db_delete('aggregator_category')
|
||||
->condition('cid', $edit['cid'])
|
||||
->execute();
|
||||
// Remove category from feeds.
|
||||
db_delete('aggregator_category_feed')
|
||||
->condition('cid', $edit['cid'])
|
||||
->execute();
|
||||
// Remove category from feed items.
|
||||
db_delete('aggregator_category_item')
|
||||
->condition('cid', $edit['cid'])
|
||||
->execute();
|
||||
// Make sure there is no active block for this category.
|
||||
if (module_exists('block')) {
|
||||
db_delete('block')
|
||||
|
||||
@@ -72,7 +72,7 @@ function aggregator_aggregator_remove($feed) {
|
||||
*/
|
||||
function aggregator_form_aggregator_admin_form_alter(&$form, $form_state) {
|
||||
if (in_array('aggregator', variable_get('aggregator_processors', array('aggregator')))) {
|
||||
$info = module_invoke('aggregator', 'aggregator_process', 'info');
|
||||
$info = module_invoke('aggregator', 'aggregator_process_info');
|
||||
$items = drupal_map_assoc(array(3, 5, 10, 15, 20, 25), '_aggregator_items');
|
||||
$period = drupal_map_assoc(array(3600, 10800, 21600, 32400, 43200, 86400, 172800, 259200, 604800, 1209600, 2419200, 4838400, 9676800), 'format_interval');
|
||||
$period[AGGREGATOR_CLEAR_NEVER] = t('Never');
|
||||
|
||||
@@ -288,6 +288,10 @@ EOF;
|
||||
return $GLOBALS['base_url'] . '/' . drupal_get_path('module', 'aggregator') . '/tests/aggregator_test_atom.xml';
|
||||
}
|
||||
|
||||
function getHtmlEntitiesSample() {
|
||||
return $GLOBALS['base_url'] . '/' . drupal_get_path('module', 'aggregator') . '/tests/aggregator_test_title_entities.xml';
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates sample article nodes.
|
||||
*
|
||||
@@ -414,7 +418,7 @@ class CategorizeFeedTestCase extends AggregatorTestCase {
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a feed and makes sure you can add more than one category to it.
|
||||
* Creates a feed and makes sure you can add/delete categories to it.
|
||||
*/
|
||||
function testCategorizeFeed() {
|
||||
|
||||
@@ -444,7 +448,31 @@ class CategorizeFeedTestCase extends AggregatorTestCase {
|
||||
// Assert the feed has two categories.
|
||||
$this->getFeedCategories($db_feed);
|
||||
$this->assertEqual(count($db_feed->categories), 2, 'Feed has 2 categories');
|
||||
|
||||
// Use aggregator_save_feed() to delete a category.
|
||||
$category = reset($categories);
|
||||
aggregator_save_category(array('cid' => $category->cid));
|
||||
|
||||
// Assert that category is deleted.
|
||||
$db_category = db_query("SELECT COUNT(*) FROM {aggregator_category} WHERE cid = :cid", array(':cid' => $category->cid))->fetchField();
|
||||
$this->assertFalse($db_category, format_string('The category %title has been deleted.', array('%title' => $category->title)));
|
||||
|
||||
// Assert that category has been removed from feed.
|
||||
$categorized_feeds = db_query("SELECT COUNT(*) FROM {aggregator_category_feed} WHERE cid = :cid", array(':cid' => $category->cid))->fetchField();
|
||||
$this->assertFalse($categorized_feeds, format_string('The category %title has been removed from feed %feed_title.', array('%title' => $category->title, '%feed_title' => $feed['title'])));
|
||||
|
||||
// Assert that no broken links (associated with the deleted category)
|
||||
// appear on one of the other category pages.
|
||||
$this->createSampleNodes();
|
||||
$this->drupalGet('admin/config/services/aggregator');
|
||||
$this->clickLink('update items');
|
||||
$categories = $this->getCategories();
|
||||
$category = reset($categories);
|
||||
$this->drupalGet('aggregator/categories/' . $category->cid);
|
||||
global $base_path;
|
||||
$this->assertNoRaw('<a href="' . $base_path . 'aggregator/categories/"></a>,');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -681,9 +709,21 @@ class CategorizeFeedItemTestCase extends AggregatorTestCase {
|
||||
}
|
||||
}
|
||||
|
||||
// Delete category from feed items when category is deleted.
|
||||
$cid = reset($feed->categories);
|
||||
$categories = $this->getCategories();
|
||||
$category_title = $categories[$cid]->title;
|
||||
|
||||
// Delete category.
|
||||
aggregator_save_category(array('cid' => $cid));
|
||||
|
||||
// Assert category has been removed from feed items.
|
||||
$categorized_count = db_query("SELECT COUNT(*) FROM {aggregator_category_item} WHERE cid = :cid", array(':cid' => $cid))->fetchField();
|
||||
$this->assertFalse($categorized_count, format_string('The category %title has been removed from feed items.', array('%title' => $category_title)));
|
||||
// Delete feed.
|
||||
$this->deleteFeed($feed);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -931,7 +971,7 @@ class AggregatorRenderingTestCase extends AggregatorTestCase {
|
||||
// up.
|
||||
$feed->block = 0;
|
||||
aggregator_save_feed((array) $feed);
|
||||
// It is nescessary to flush the cache after saving the number of items.
|
||||
// It is necessary to flush the cache after saving the number of items.
|
||||
drupal_flush_all_caches();
|
||||
// Check that the block is no longer displayed.
|
||||
$this->drupalGet('node');
|
||||
@@ -1016,4 +1056,15 @@ class FeedParserTestCase extends AggregatorTestCase {
|
||||
$this->assertText('Some text.');
|
||||
$this->assertEqual('urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a', db_query('SELECT guid FROM {aggregator_item} WHERE link = :link', array(':link' => 'http://example.org/2003/12/13/atom03'))->fetchField(), 'Atom entry id element is parsed correctly.');
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests a feed that uses HTML entities in item titles.
|
||||
*/
|
||||
function testHtmlEntitiesSample() {
|
||||
$feed = $this->createFeed($this->getHtmlEntitiesSample());
|
||||
aggregator_refresh($feed);
|
||||
$this->drupalGet('aggregator/sources/' . $feed->fid);
|
||||
$this->assertResponse(200, format_string('Feed %name exists.', array('%name' => $feed->title)));
|
||||
$this->assertRaw("Quote" Amp&");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,8 +5,7 @@ version = VERSION
|
||||
core = 7.x
|
||||
hidden = TRUE
|
||||
|
||||
; Information added by drupal.org packaging script on 2013-04-03
|
||||
version = "7.22"
|
||||
; Information added by Drupal.org packaging script on 2020-09-16
|
||||
version = "7.73"
|
||||
project = "drupal"
|
||||
datestamp = "1365027012"
|
||||
|
||||
datestamp = "1600272641"
|
||||
|
||||
@@ -32,7 +32,7 @@ function aggregator_test_feed($use_last_modified = FALSE, $use_etag = FALSE) {
|
||||
// Send appropriate response. We respond with a 304 not modified on either
|
||||
// etag or on last modified.
|
||||
if ($use_last_modified) {
|
||||
drupal_add_http_header('Last-Modified', gmdate(DATE_RFC1123, $last_modified));
|
||||
drupal_add_http_header('Last-Modified', gmdate(DATE_RFC7231, $last_modified));
|
||||
}
|
||||
if ($use_etag) {
|
||||
drupal_add_http_header('ETag', $etag);
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<rss version="0.91">
|
||||
<channel>
|
||||
<title>Example with Entities</title>
|
||||
<link>http://example.com</link>
|
||||
<description>Example RSS Feed With HTML Entities in Title</description>
|
||||
<language>en-us</language>
|
||||
<item>
|
||||
<title>Quote" Amp&</title>
|
||||
<link>http://example.com/example-turns-one</link>
|
||||
<description>Some text.</description>
|
||||
</item>
|
||||
</channel>
|
||||
</rss>
|
||||
Reference in New Issue
Block a user