You are here

function _metatag_importer_list_nodewords in Metatag 7

List all Nodewords data.

Return value

array A list of Nodewords data keyed by the type of record.

2 calls to _metatag_importer_list_nodewords()
drush_metatag_importer_metatag_convert_nodewords in metatag_importer/metatag_importer.drush.inc
Callback to convert all Nodewords data.
metatag_importer_nodewords_form in metatag_importer/metatag_importer.nodewords.inc
Form generator for the migration selection form.

File

metatag_importer/metatag_importer.nodewords.inc, line 80
Convert data from Nodewords to Metatag.

Code

function _metatag_importer_list_nodewords() {
  $keys = array(
    NODEWORDS_TYPE_DEFAULT => t('Default'),
    NODEWORDS_TYPE_ERRORPAGE => t('Error page'),
    NODEWORDS_TYPE_FRONTPAGE => t('Front page'),
    NODEWORDS_TYPE_NONE => t('None'),
    NODEWORDS_TYPE_NODE => t('Node'),
    NODEWORDS_TYPE_PAGE => t('Page'),
    NODEWORDS_TYPE_PAGER => t('Pager'),
    NODEWORDS_TYPE_TERM => t('Taxonomy term'),
    NODEWORDS_TYPE_TRACKER => t('Tracker'),
    NODEWORDS_TYPE_USER => t('User'),
    NODEWORDS_TYPE_VOCABULARY => t('Vocabulary'),
  );

  // Get a list of all records grouped by type.
  $query = db_select('nodewords', 'nw')
    ->fields('nw', array(
    'type',
  ))
    ->orderBy('nw.type')
    ->orderBy('nw.id')
    ->condition('nw.content', 'a:1:{s:5:"value";s:0:"";}', '<>')
    ->groupBy('nw.type');

  // Group-by.
  $query
    ->addExpression('COUNT(nw.id)', 'id_count');
  $filtered = $query
    ->execute();

  // Get a list of all records grouped by type.
  $query = db_select('nodewords', 'nw')
    ->fields('nw', array(
    'type',
  ))
    ->orderBy('nw.type')
    ->orderBy('nw.id')
    ->groupBy('nw.type');

  // Group-by.
  $query
    ->addExpression('COUNT(nw.id)', 'id_count');
  $all = $query
    ->execute()
    ->fetchAllKeyed();
  $types = array();
  foreach ($filtered as $record) {
    $types['nodewords:' . $record->type] = t('Nodewords: @type - @non_empty records with values, @total total.', array(
      '@type' => $keys[$record->type],
      '@non_empty' => $record->id_count,
      '@total' => $all[$record->type],
    ));
  }
  return $types;
}