Index: site_verify.install =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/site_verify/site_verify.install,v retrieving revision 1.10.2.1 diff -u -p -r1.10.2.1 site_verify.install --- site_verify.install 4 Feb 2010 04:50:37 -0000 1.10.2.1 +++ site_verify.install 15 Jan 2011 20:59:33 -0000 @@ -64,6 +64,7 @@ function site_verify_install() { $ret = array(); site_verify_import_xmlsitemap($ret); site_verify_import_ghs($ret); + site_verify_import_nodewords($ret); } /** @@ -94,6 +95,18 @@ function site_verify_update_3() { } /** + * Implementation of hook_update_N(). + * Convert the Nodewords settings. + * Also fix the update sequence to start with the module number, e.g. "61" for + * modules of version 6.x-1.x. + */ +function site_verify_update_6104() { + $ret = array(); + site_verify_import_nodewords($ret); + return $ret; +} + +/** * Import data from XML sitemap engines. */ function site_verify_import_xmlsitemap(&$ret) { @@ -121,3 +134,37 @@ function site_verify_import_ghs(&$ret) { } variable_del('ghs_string_verify'); } + +/** + * Import data from Nodewords. + */ +function site_verify_import_nodewords(&$ret) { + // Only proceed if the Nodewords module is installed. + if (module_exists('nodewords')) { + $engines = array( + 'alexa_verification_code' => 'alexa', + 'bing_webmaster_center' => 'bing', + 'google_webmaster_tools' => 'google', + 'yahoo_site_explorer' => 'yahoo', + ); + foreach ($engines as $tag => $engine) { + // Only proceed if there isn't a Google verification tag already. + if (db_result(db_query("SELECT 1 FROM {site_verify} WHERE engine = '%d'", $engine))) { + drupal_set_message("Skipped importing any Nodewords site verification settings for {$engine} as it was already configured."); + } + // Convert the setting. + else { + $data = db_result(db_query("SELECT content FROM {nodewords} WHERE name = ''", $tag)); + $settings = unserialize($data); + // Only proceed if there's a valid setting. + if (!empty($settings['value'])) { + $string = db_escape_string($settings['value']); + $ret[] = update_sql("INSERT INTO {site_verify} (engine, meta) VALUES ('{$engine}', '{$string}')"); + drupal_set_message("Converted the Nodewords site verification settings for {$engine}."); + } + // Remove the Nodewords setting regardless of whether the value was useful. + $ret[] = update_sql("DELETE FROM {nodewords} WHERE name = '{$tag}')"); + } + } + } +}