diff -u b/metatag.install b/metatag.install --- b/metatag.install +++ b/metatag.install @@ -256,6 +256,7 @@ * Implements hook_install(). */ function metatag_install() { + metatag_update_7030(); drupal_set_message(t("Thank you for installing the Metatag module. It is recommended to read the module's README.txt file as there are some known issues that may affect this site.", array('!url' => url(drupal_get_path('module', 'metatag') . '/README.txt')))); } @@ -1543,22 +1544,27 @@ // Set metatag page title as per settings. $entity = entity_load($pt_data->type, array($pt_data->id)); + $revision_id = NULL; + $langcode = NULL; + switch ($pt_data->type) { case 'node': $metatag_config_node_type = metatag_config_load('node:' . $entity[$pt_data->id]->type); if (!empty($metatag_config_node_type) && isset($metatag_config_node_type->config['title'])) { $title_setting = $metatag_config_node_type->config['title']['value']; - $metatag_title = str_replace('[current-page:title]', trim($pt_data->page_title), $title_setting); } else if (isset($metatag_config_node->config['title'])) { $title_setting = $metatag_config_node->config['title']['value']; - $metatag_title = str_replace('[current-page:title]', trim($pt_data->page_title), $title_setting); } else { $title_setting = $metatag_config_global->config['title']['value']; - $metatag_title = str_replace('[current-page:title]', trim($pt_data->page_title), $title_setting); } + $metatag_title = str_replace('[current-page:title]', trim($pt_data->page_title), $title_setting); + $metatag_title = str_replace('[node:title]', trim($pt_data->page_title), $metatag_title); + $node = node_load($pt_data->id); + $revision_id = $node->vid; + $langcode = $node->language; break; case 'taxonomy_term': @@ -1566,35 +1572,35 @@ if (!empty($metatag_config_vocabulary_type) && isset($metatag_config_vocabulary_type->config['title'])) { $title_setting = $metatag_config_vocabulary_type->config['title']['value']; - $metatag_title = str_replace('[current-page:title]', trim($pt_data->page_title), $title_setting); } else if (isset($metatag_config_taxonomy_term->config['title'])) { $title_setting = $metatag_config_taxonomy_term->config['title']['value']; - $metatag_title = str_replace('[current-page:title]', trim($pt_data->page_title), $title_setting); } else { $title_setting = $metatag_config_global->config['title']['value']; - $metatag_title = str_replace('[current-page:title]', trim($pt_data->page_title), $title_setting); } + $metatag_title = str_replace('[current-page:title]', trim($pt_data->page_title), $title_setting); + $metatag_title = str_replace('[term:name]', trim($pt_data->page_title), $metatag_title); break; case 'user': if (isset($metatag_config_user->config['title'])) { $title_setting = $metatag_config_user->config['title']['value']; - $metatag_title = str_replace('[current-page:title]', trim($pt_data->page_title), $title_setting); } else { $title_setting = $metatag_config_global->config['title']['value']; - $metatag_title = str_replace('[current-page:title]', trim($pt_data->page_title), $title_setting); } + $metatag_title = str_replace('[current-page:title]', trim($pt_data->page_title), $title_setting); + $metatag_title = str_replace('[user:name]', trim($pt_data->page_title), $metatag_title); break; } $existing_data[$pt_data->id]['title']['value'] = $metatag_title; - metatag_metatags_save($pt_data->type, $pt_data->id, $existing_data[$pt_data->id]); + + metatag_metatags_save($pt_data->type, $pt_data->id, $revision_id, $existing_data[$pt_data->id], $langcode); $converted += db_delete('page_title') ->condition('type', $pt_data->type) ->condition('id', $pt_data->id) - ->execute(); + ->execute(); } drupal_set_message(t('Meta tag: Migrated !count record(s) from the Page Title module.', array('!count' => $converted))); }