function drush_feeds_list_feeds in Feeds 7.2
Lists all feeds.
Parameters
string $importer_id: (optional) The importer id.
File
- ./
feeds.drush.inc, line 219 - Drush commands for Feeds module.
Code
function drush_feeds_list_feeds($importer_id = NULL) {
if (!($limit = drush_get_option('limit'))) {
$limit = DRUSH_FEEDS_DEFAULT_LIMIT;
}
$header = array(
'importer_id' => dt('Importer ID'),
'feed_nid' => dt('Feed NID'),
'feed_title' => dt('Feed title'),
'imported' => dt('Last imported'),
'source' => dt('Feed source'),
'process_in_background' => dt('Process in background'),
);
$rows = array();
$nids = array();
foreach (_drush_feeds_get_all($importer_id, $limit) as $feed) {
$feed_config = feeds_source($feed->id, $feed->feed_nid)->importer
->getConfig();
$rows[] = array(
'importer_id' => $feed->id,
'feed_nid' => $feed->feed_nid,
'feed_title' => '',
'imported' => $feed->imported ? date('Y-m-d H:i:s', $feed->imported) : dt('Never'),
'source' => is_scalar($feed->source) ? $feed->source : gettype($feed->source),
'process_in_background' => !empty($feed_config['process_in_background']) ? dt('Yes') : dt('No'),
);
// Collect node ID's to find titles for.
if ($feed->feed_nid) {
$nids[] = $feed->feed_nid;
}
}
// Find titles for feed nodes.
if (count($nids)) {
$nodes = db_select('node')
->fields('node', array(
'nid',
'title',
))
->condition('nid', $nids)
->execute()
->fetchAllKeyed();
foreach ($rows as &$row) {
$nid = $row['feed_nid'];
if ($nid && isset($nodes[$nid])) {
$row['feed_title'] = $nodes[$nid];
}
}
}
// Check if there were any results.
if (count($rows) == 0) {
if (empty($importer_id)) {
drush_print(dt('There are no feed sources.'));
}
else {
drush_print(dt("No feed sources exists for importer '@importer_id'.", array(
'@importer_id' => $importer_id,
)));
}
return FALSE;
}
// Create table.
$table = array_merge(array(
$header,
), $rows);
drush_print_table($table, TRUE);
}