danielebarchiesi@0: fields(array('weight' => 1)) danielebarchiesi@0: ->condition('type', 'module') danielebarchiesi@0: ->condition('name', 'pathauto') danielebarchiesi@0: ->execute(); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Implements hook_uninstall(). danielebarchiesi@0: */ danielebarchiesi@0: function pathauto_uninstall() { danielebarchiesi@0: // Delete all the pathauto variables and then clear the variable cache. danielebarchiesi@0: db_query("DELETE FROM {variable} WHERE name LIKE 'pathauto_%'"); danielebarchiesi@0: cache_clear_all('variables', 'cache'); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Remove the unsupported user/%/contact and user/%/tracker pattern variables. danielebarchiesi@0: */ danielebarchiesi@0: function pathauto_update_6200() { danielebarchiesi@0: variable_del('pathauto_contact_bulkupdate'); danielebarchiesi@0: variable_del('pathauto_contact_pattern'); danielebarchiesi@0: variable_del('pathauto_contact_supportsfeeds'); danielebarchiesi@0: variable_del('pathauto_contact_applytofeeds'); danielebarchiesi@0: variable_del('pathauto_tracker_bulkupdate'); danielebarchiesi@0: variable_del('pathauto_tracker_pattern'); danielebarchiesi@0: variable_del('pathauto_tracker_supportsfeeds'); danielebarchiesi@0: variable_del('pathauto_tracker_applytofeeds'); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Empty update since it is handled by pathauto_update_7000(). danielebarchiesi@0: */ danielebarchiesi@0: function pathauto_update_6201() { danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Empty update since it is handled by pathauto_update_7004(). danielebarchiesi@0: */ danielebarchiesi@0: function pathauto_update_6202() { danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Remove obsolete variables since batch API is now used. danielebarchiesi@0: */ danielebarchiesi@0: function pathauto_update_7000() { danielebarchiesi@0: variable_del('pathauto_max_bulk_update'); danielebarchiesi@0: variable_del('pathauto_node_bulkupdate'); danielebarchiesi@0: variable_del('pathauto_taxonomy_bulkupdate'); danielebarchiesi@0: variable_del('pathauto_forum_bulkupdate'); danielebarchiesi@0: variable_del('pathauto_user_bulkupdate'); danielebarchiesi@0: variable_del('pathauto_blog_bulkupdate'); danielebarchiesi@0: variable_del('pathauto_modulelist'); danielebarchiesi@0: variable_del('pathauto_indexaliases'); danielebarchiesi@0: variable_del('pathauto_indexaliases_bulkupdate'); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Empty update since feed paths are no longer supported. danielebarchiesi@0: */ danielebarchiesi@0: function pathauto_update_7001() { danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Update pathauto_taxonomy_[vid]_pattern variables to pathauto_taxonomy_[machinename]_pattern. danielebarchiesi@0: */ danielebarchiesi@0: function pathauto_update_7002() { danielebarchiesi@0: if (module_exists('taxonomy')) { danielebarchiesi@0: $vocabularies = taxonomy_get_vocabularies(); danielebarchiesi@0: foreach ($vocabularies as $vid => $vocabulary) { danielebarchiesi@0: if ($vid == variable_get('forum_nav_vocabulary', '')) { danielebarchiesi@0: // Skip the forum vocabulary. danielebarchiesi@0: continue; danielebarchiesi@0: } danielebarchiesi@0: if ($pattern = variable_get('pathauto_taxonomy_' . $vid . '_pattern', '')) { danielebarchiesi@0: variable_set('pathauto_taxonomy_' . $vocabulary->machine_name . '_pattern', $pattern); danielebarchiesi@0: } danielebarchiesi@0: variable_del('pathauto_taxonomy_' . $vid . '_pattern'); danielebarchiesi@0: } danielebarchiesi@0: } danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Rename 'taxonomy' variables to use the entity type 'taxonomy_term'. danielebarchiesi@0: */ danielebarchiesi@0: function pathauto_update_7003() { danielebarchiesi@0: $variables = db_select('variable', 'v') danielebarchiesi@0: ->fields('v', array('name')) danielebarchiesi@0: ->condition(db_and() danielebarchiesi@0: ->condition('name', db_like("pathauto_taxonomy_") . '%', 'LIKE') danielebarchiesi@0: ->condition('name', db_like("pathauto_taxonomy_term_") . '%', 'NOT LIKE') danielebarchiesi@0: ) danielebarchiesi@0: ->execute() danielebarchiesi@0: ->fetchCol(); danielebarchiesi@0: foreach ($variables as $variable) { danielebarchiesi@0: $value = variable_get($variable); danielebarchiesi@0: variable_del($variable); danielebarchiesi@0: $variable = strtr($variable, array('pathauto_taxonomy_' => 'pathauto_taxonomy_term_')); danielebarchiesi@0: variable_set($variable, $value); danielebarchiesi@0: } danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Remove obsolete variables for removed feed handling. danielebarchiesi@0: */ danielebarchiesi@0: function pathauto_update_7004() { danielebarchiesi@0: variable_del('pathauto_node_supportsfeeds'); danielebarchiesi@0: variable_del('pathauto_node_applytofeeds'); danielebarchiesi@0: variable_del('pathauto_taxonomy_supportsfeeds'); danielebarchiesi@0: variable_del('pathauto_taxonomy_applytofeeds'); danielebarchiesi@0: variable_del('pathauto_forum_supportsfeeds'); danielebarchiesi@0: variable_del('pathauto_forum_applytofeeds'); danielebarchiesi@0: variable_del('pathauto_user_supportsfeeds'); danielebarchiesi@0: variable_del('pathauto_user_applytofeeds'); danielebarchiesi@0: variable_del('pathauto_blog_supportsfeeds'); danielebarchiesi@0: variable_del('pathauto_blog_applytofeeds'); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Fix original incorrect tokens in taxonomy and forum patterns. danielebarchiesi@0: */ danielebarchiesi@0: function pathauto_update_7005() { danielebarchiesi@0: $replacements = array( danielebarchiesi@0: '[vocabulary:name]' => '[term:vocabulary]', danielebarchiesi@0: '[vocabulary:' => '[term:vocabulary:', danielebarchiesi@0: '[term:catpath]' => '[term:name]', danielebarchiesi@0: '[term:path]' => '[term:name]', danielebarchiesi@0: ); danielebarchiesi@0: $variables = db_select('variable', 'v') danielebarchiesi@0: ->fields('v', array('name')) danielebarchiesi@0: ->condition(db_or() danielebarchiesi@0: ->condition('name', db_like("pathauto_taxonomy_term_") . '%' . db_like('pattern'), 'LIKE') danielebarchiesi@0: ->condition('name', db_like("pathauto_forum_") . '%' . db_like('pattern'), 'LIKE') danielebarchiesi@0: ) danielebarchiesi@0: ->execute() danielebarchiesi@0: ->fetchCol(); danielebarchiesi@0: foreach ($variables as $variable) { danielebarchiesi@0: if ($pattern = variable_get($variable)) { danielebarchiesi@0: $pattern = strtr($pattern, $replacements); danielebarchiesi@0: variable_set($variable, $pattern); danielebarchiesi@0: } danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: return 'Your Pathauto taxonomy and forum patterns have been corrected. You may wish to regenerate your taxonomy and forum term URL aliases.'; danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Build a list of Drupal 6 tokens and their Drupal 7 token names. danielebarchiesi@0: */ danielebarchiesi@0: function _pathauto_upgrade_token_list() { danielebarchiesi@0: $tokens = array( danielebarchiesi@0: //'catpath' => 'node:term-lowest:parent:path][node:term-lowest', danielebarchiesi@0: //'catalias' => 'node:term-lowest:path', danielebarchiesi@0: //'termpath' => 'term:parent:path][term:name', danielebarchiesi@0: //'termalias' => 'term:url:alias', danielebarchiesi@0: //'bookpathalias' => 'node:book:parent:path', danielebarchiesi@0: ); danielebarchiesi@0: }