To update the Google XML Sitemap V 1.7 to V 1.8:

1) - Run the following mysql commands:

delete from configuration where configuration_key = 'GOOGLE_XML_SITEMAP_SEO';
delete from configuration where configuration_key = 'GOOGLE_XML_SITEMAP_EXCLUDE_PAGES';
INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added, use_function)
 VALUES ('Enable Images Map', 'GOOGLE_XML_SITEMAP_CREATE_IMAGES', 'false', 'Set to true if you would like a site map created for your images.<br>(true=on false=off)', '289', '3', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now(), NULL);
INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added, use_function)
 VALUES ('Enable Mobile Map', 'GOOGLE_XML_SITEMAP_CREATE_MOBILE', 'false', 'Set to true if you would like a site map created for your mobile pages.<br>(true=on false=off)', '289', '6', 'tep_cfg_select_option(array(\'true\', \'false\'), ', now(), NULL);
INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added)
 VALUES ('Exclude these pages', 'GOOGLE_XML_SITEMAP_EXCLUDE_PAGES', '', 'Add these pages to the built-in file exclude list. This will prevent the links from being added to the pages site map.', '289', '20', 'tep_cfg_textarea(', now());
INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added, use_function)
 VALUES ('Mobile URL', 'GOOGLE_XML_SITEMAP_MOBILE_URL', 'http://mobile_domain.com/', 'use this url for mobile url\'s.', '289', '30', NULL, now(), NULL);

2) If you have Ultimate SEO V2.2d installed and enabled and want to have mobile
maps created, 

FIND:
                $link = $connection == 'NONSSL' ? $this->base_url : $this->base_url_ssl;

REPLACE WITH:
                if (defined('MOBILE_SESSION_GOOGLE') && MOBILE_SESSION_GOOGLE == true) {
                   $link = GOOGLE_XML_SITEMAP_MOBILE_URL;
                } else {
                   $link = $connection == 'NONSSL' ? $this->base_url : $this->base_url_ssl;
                }                 

3) In all pre-2.3 versions and some older 2.3 versions the following is needed.
Check if the following is in the admin/includes/functions/general.php file:

function tep_cfg_select_pages($key_value, $key = '') {

If not, add the following code to that file before the last ?>

/*** Begin Google Sitemap ***/
if (! function_exists('tep_cfg_select_pages')) {  
//// Return an array of the catalog directory. mechanism for reading this.  
  function tep_list_catalog_files () {
    $d = dir(DIR_FS_CATALOG);
    $result = array();   
    $exclude = array('redirect.php', 'popup_search_help.php', 'popup_image.php', 'opensearch.php', 'info_shopping_cart.php', 'download.php', 'checkout_process.php');
      while (false !== ($file = $d->read())) {
        if($file != '.' && $file != '..' && !is_dir($file) && (substr($file, -3, 3) == 'php') && !in_array($file, $exclude)) {  
            $result[] = $file;
        }
    }    
    $d->close();
	sort($result);   
    return $result;
  }  
////
// Alias function for module [boxes] configuration value
  function tep_cfg_select_pages($key_value, $key = '') {
    $name = ((tep_not_null($key)) ? 'configuration[' . $key . '][]' : 'configuration_value');
    $select_array = tep_list_catalog_files();    
    $selected_array = explode(';', $key_value);
    if($key_value === 'null') { $checkall = "UNCHECKED"; $checkany = "CHECKED";}
    if($key_value === 'all') { $checkall = "CHECKED"; $checkany = "UNCHECKED";} 
      $string = '<fieldset>';    
      $string .= '<input type="radio" class="AllPages"  name="' . $name . '" value="all" ' . $checkall . ' />' . ALL_PAGES . '<br />';
  //    $string .= '<input type="radio" class="AnyPages"  name="' . $name . '" value="null" ' . $checkany . ' />' . ANY_PAGES . '<br />';
      $string .= '<br /><strong>&nbsp;&nbsp;' . ONE_BY_ONE . '</strong><br /><br />';    
      for ($i=0, $n=sizeof($select_array); $i<$n; $i++) {        
      $string .= '&nbsp;&nbsp;<input type="checkbox" class="ThisPage" name="' . $name . '" value="' . $select_array[$i] . ';"';
          if(isset($selected_array))
            {                      
            foreach($selected_array as $value){            
               if ($select_array[$i] == $value) $string .= ' CHECKED';
               }
            }
      $string .= '>' . $select_array[$i] . '<br />';
      }      
      $string .= '</fieldset>';
      $string .= "<script type=\"text/javascript\">   
                  jQuery(document).ready(function () {
                  if($(\".AnyPages\").attr('checked') == true)
                  $('input[regex(name, .*STATUS.*)][value=\"False\"]').attr('checked', true);                  
                  $('input[regex(name, .*STATUS.*)][value=\"False\"]').bind(\"click\",
                     function() {
                      if($(this).attr(\"checked\") == true) {
                      $(\".AnyPages\").attr('checked', true);
                      $(\".ThisPage\").attr('checked', false); 
                      }
                      });
                   $('input[regex(name, .*STATUS.*)][value=\"True\"]').bind(\"click\",
                     function() {
                      if($(this).attr(\"checked\") == true) {
                      $(\".AllPages\").attr('checked', true);
                      }
                      });    
                      $(\".AllPages\").click(
                          function() {               
                              $(this).parents('fieldset:eq(0)').find('.ThisPage').attr('checked', false);
                              $(this).parents('fieldset:eq(0)').find('.AnyPages').attr('checked', false);
                              $('input[regex(name, .*STATUS.*)][value=\"True\"]').attr('checked', true);               
                          }
                      );
                      $(\".AnyPages\").click(
                          function() {               
                              $(this).parents('fieldset:eq(0)').find('.ThisPage').attr('checked', false);
                              $(this).parents('fieldset:eq(0)').find('.AllPages').attr('checked', false);
                              $('input[regex(name, .*STATUS.*)][value=\"False\"]').attr('checked', true);
                          }
                      );                                              
                      $('.ThisPage').click(
                          function() {
                              if ($(this).parents('fieldset:eq(0)').find('.AllPages').attr('checked') == true && this.checked == false)
                                  $(this).parents('fieldset:eq(0)').find('.AllPages').attr('checked', false);
                                  $('input[regex(name, .*STATUS.*)][value=\"True\"]').attr('checked', true); 
                              if (this.checked == true) {
                                  var flag = true;
                                  var shlag = false;
                                  $(this).parents('fieldset:eq(0)').find('.ThisPage').each(   
              	                    function() {
              	                        if (this.checked == false) {
              	                            flag = false;              	                            
                                          }
              	                    }
            	                    
                                  );
                                  $(this).parents('fieldset:eq(0)').find('.AllPages').attr('checked', flag);
                                  $(this).parents('fieldset:eq(0)').find('.AnyPages').attr('checked', shlag);
                              }
                          }
                      );
                  }
                  );</script>";
      return $string;
  }
}
/*** End Google Sitemap ***/

