function metatag_importer_get_quick_data in Metatag 7
Get metatags_quick data from the database.
Parameters
array $fields: Array of field names.
Return value
array Metadata
1 call to metatag_importer_get_quick_data()
- metatag_importer_metatags_quick_import in metatag_importer/
metatag_importer.metatags_quick.inc - Import all data from Metatags Quick and delete it.
File
- metatag_importer/
metatag_importer.metatags_quick.inc, line 157 - Convert data from Metatags Quick to Metatag.
Code
function metatag_importer_get_quick_data(array $fields) {
$data = array();
foreach ($fields as $field_name) {
$meta_tag = str_replace('meta_', '', str_replace('field_', '', $field_name));
$results = db_select('field_data_' . $field_name, 'f')
->fields('f', array(
'entity_type',
'bundle',
'entity_id',
'revision_id',
'language',
$field_name . '_metatags_quick',
))
->condition('f.entity_type', array(
'metatags_path_based',
), '<>')
->orderBy('f.entity_type', 'ASC')
->orderBy('f.entity_id', 'ASC')
->orderBy('f.revision_id', 'ASC')
->execute();
foreach ($results as $result) {
$id = implode(':', array(
$result->entity_type,
$result->entity_id,
$result->revision_id,
$result->language,
));
if (!isset($data[$id])) {
$data[$id] = array(
'entity_type' => $result->entity_type,
'bundle' => $result->bundle,
'entity_id' => $result->entity_id,
'revision_id' => $result->revision_id,
'language' => $result->language,
'fields' => array(),
);
}
$data[$id]['fields'][$meta_tag] = array(
'field_name' => $field_name,
'value' => $result->{$field_name . '_metatags_quick'},
'meta_tag' => $meta_tag,
);
}
}
return $data;
}