[ Index ]

PHP Cross Reference of Drupal 6 (gatewave)

title

Body

[close]

/sites/all/modules/xmlsitemap/xmlsitemap_node/ -> xmlsitemap_node.install (source)

   1  <?php
   2  // $Id: xmlsitemap_node.install,v 1.9.2.11.2.41 2010/04/30 03:31:21 davereid Exp $
   3  
   4  /**
   5   * @file
   6   * Install and uninstall schema and functions for the xmlsitemap_node module.
   7   */
   8  
   9  /**
  10   * Implements hook_uninstall().
  11   */
  12  function xmlsitemap_node_uninstall() {
  13    drupal_load('module', 'node');
  14    drupal_load('module', 'xmlsitemap');
  15    $node_types = array_keys(node_get_types('names'));
  16    foreach ($node_types as $node_type) {
  17      xmlsitemap_link_bundle_delete('node', $node_type);
  18    }
  19  }
  20  
  21  /**
  22   * Migrate 6.x-1.x node variables.
  23   */
  24  function xmlsitemap_node_update_6196() {
  25    drupal_load('module', 'node');
  26    $node_types = array_keys(node_get_types('names'));
  27    foreach ($node_types as $node_type) {
  28      $status = 0;
  29      $priority = variable_get('xmlsitemap_node_type_priority_' . $node_type, 0.5);
  30      if ($priority == -1) {
  31        $priority = 0.5;
  32      }
  33      else {
  34        $status = 1;
  35      }
  36      variable_set('xmlsitemap_node_status_' . $node_type, $status);
  37      variable_set('xmlsitemap_node_priority_' . $node_type, $priority);
  38    }
  39    return array();
  40  }
  41  
  42  /**
  43   * Migrate 6.x-1.x node data.
  44   */
  45  function xmlsitemap_node_update_6198(&$context) {
  46    $ret = array();
  47  
  48    if (!db_table_exists('xmlsitemap_node')) {
  49      // Skip if the 6.x-1.x table doesn't exist.
  50      return $ret;
  51    }
  52    elseif (db_column_exists('xmlsitemap', 'sid')) {
  53      // Skip if the main {xmlsitemap} table hasn't been upgraded yet.
  54      $ret['#abort'] = array('success' => FALSE, 'query' => 'The primary xmlsitemap table upgrade has not yet been completed. Re-run the upgrade script.');
  55      return $ret;
  56    }
  57  
  58    if (!isset($context['progress'])) {
  59      $context['progress'] = $context['last'] = 0;
  60      $context['count'] = db_result(db_query("SELECT COUNT(nid) FROM {xmlsitemap_node} WHERE priority_override <> -2 AND nid > %d", $context['last']));
  61    }
  62  
  63    drupal_load('module', 'xmlsitemap_node');
  64    drupal_load('module', 'xmlsitemap');
  65  
  66    $query = db_query_range("SELECT nid, priority_override FROM {xmlsitemap_node} WHERE priority_override <> -2 AND nid > %d ORDER BY nid", $context['last'], 0, 10);
  67    while ($record = db_fetch_object($query)) {
  68      if ($node = node_load($record->nid, NULL, TRUE)) {
  69        $link = xmlsitemap_node_create_link($node);
  70        $link['status'] = variable_get('xmlsitemap_node_status_' . $node->type, 0);
  71        $link['priority'] = variable_get('xmlsitemap_node_priority_' . $node->type, 0.5);
  72        if ($record->priority_override == -1) {
  73          $link['status'] = 0;
  74          $link['status_override'] = 1;
  75        }
  76        elseif ($record->priority_override != -2) {
  77          $link['priority'] = $record->priority_override;
  78          $link['priority_override'] = 1;
  79        }
  80        xmlsitemap_link_save($link);
  81      }
  82      $context['last'] = $record->nid;
  83      $context['progress']++;
  84    }
  85  
  86    $ret['#finished'] = empty($context['count']) ? 1 : ($context['progress'] / $context['count']);
  87    return $ret;
  88  }
  89  
  90  /**
  91   * Cleanup variables.
  92   */
  93  function xmlsitemap_node_update_6200() {
  94    drupal_load('module', 'node');
  95    drupal_load('module', 'xmlsitemap');
  96    $node_types = array_keys(node_get_types('names'));
  97    foreach ($node_types as $node_type) {
  98      $settings = array(
  99        'status' => variable_get('xmlsitemap_node_status_' . $node_type, XMLSITEMAP_STATUS_DEFAULT),
 100        'priority' => variable_get('xmlsitemap_node_priority_' . $node_type, XMLSITEMAP_PRIORITY_DEFAULT),
 101      );
 102      variable_set('xmlsitemap_settings_node_' . $node_type, $settings);
 103      variable_del('xmlsitemap_node_status_' . $node_type);
 104      variable_del('xmlsitemap_node_priority_' . $node_type);
 105      variable_del('xmlsitemap_node_update_' . $node_type);
 106    }
 107    return array();
 108  }
 109  
 110  /**
 111   * Cleanup any remaining 6.x-1.x tables, variables or weights.
 112   */
 113  function xmlsitemap_node_update_6201() {
 114    $ret = array();
 115    if (db_table_exists('xmlsitemap_node')) {
 116      db_drop_table($ret, 'xmlsitemap_node');
 117    }
 118    db_query("DELETE FROM {variable} WHERE name LIKE 'xmlsitemap_node_type_priority_%%'");
 119    variable_del('xmlsitemap_node_promote_priority');
 120    variable_del('xmlsitemap_node_comment_priority');
 121    $ret[] = update_sql("UPDATE {system} SET weight = 0 WHERE type = 'module' AND name = 'xmlsitemap_node'");
 122    return $ret;
 123  }


Generated: Thu Mar 24 11:18:33 2011 Cross-referenced by PHPXref 0.7