pathauto.install in Pathauto 6
Same filename and directory in other branches
Install, update, and uninstall functions for Pathauto.
File
pathauto.installView source
<?php
/**
* @file
* Install, update, and uninstall functions for Pathauto.
*
* @ingroup pathauto
*/
/**
* Implementation of hook_install().
*/
function pathauto_install() {
// Check to see if taxonomy module is enabled before we set those variables
if (module_exists('taxonomy')) {
variable_set('pathauto_modulelist', array(
'node',
'user',
'taxonomy',
));
variable_set('pathauto_taxonomy_supportsfeeds', '0/feed');
variable_set('pathauto_taxonomy_pattern', 'category/[vocab-raw]/[catpath-raw]');
variable_set('pathauto_taxonomy_bulkupdate', FALSE);
variable_set('pathauto_taxonomy_applytofeeds', FALSE);
variable_set('pathauto_taxonomy_2_pattern', '');
variable_set('pathauto_taxonomy_1_pattern', '');
}
else {
// Node and user are required so we don't have to check
variable_set('pathauto_modulelist', array(
'node',
'user',
));
}
// Set the rest of the pathauto default variables
variable_set('pathauto_ignore_words', 'a,an,as,at,before,but,by,for,from,is,in,into,like,of,off,on,onto,per,since,than,the,this,that,to,up,via,with');
variable_set('pathauto_indexaliases', FALSE);
variable_set('pathauto_indexaliases_bulkupdate', FALSE);
variable_set('pathauto_max_component_length', '100');
variable_set('pathauto_max_length', '100');
variable_set('pathauto_node_bulkupdate', FALSE);
variable_set('pathauto_node_forum_pattern', '');
variable_set('pathauto_node_image_pattern', '');
variable_set('pathauto_node_page_pattern', '');
variable_set('pathauto_node_pattern', 'content/[title-raw]');
variable_set('pathauto_node_story_pattern', '');
variable_set('pathauto_punctuation_quotes', 0);
variable_set('pathauto_separator', '-');
variable_set('pathauto_update_action', '2');
variable_set('pathauto_user_bulkupdate', FALSE);
variable_set('pathauto_user_pattern', 'users/[user-raw]');
variable_set('pathauto_user_supportsfeeds', NULL);
variable_set('pathauto_verbose', FALSE);
variable_set('pathauto_node_applytofeeds', '');
// Make sure we "replace hyphen with separator" by default
variable_set('pathauto_punctuation_hyphen', 1);
// 1 is replace
// Set the weight to 1
db_query("UPDATE {system} SET weight = 1 WHERE name = 'pathauto'");
// Clear the cache to get these to take effect.
cache_clear_all();
}
/**
* Implementation of hook_uninstall().
*/
function pathauto_uninstall() {
// Delete all the pathauto variables and then clear the variable cache
db_query("DELETE FROM {variable} WHERE name LIKE 'pathauto_%'");
cache_clear_all('variables', 'cache');
}
/**
* Set the weight a little heavier to allow taxonomy to do its work.
*/
function pathauto_update_1() {
$ret = array();
$ret[] = update_sql("UPDATE {system} SET weight = 1 WHERE name = 'pathauto'");
return $ret;
}
/**
* pathauto_update_4 was a backport of a feature which is in core of Drupal 6
* hence it is removed from the 6.x branch even though the goal is to support
* Pathauto 5.x-1.x -> 6.x-2.x upgrades.
*/
/**
* Delete the pathauto_node_supportsfeeds.
*/
function pathauto_update_3() {
// Do nothing, this update was a mistake
return array();
}
/**
* New style naming for the punctuation chars.
*/
function pathauto_update_4() {
variable_set('pathauto_punctuation_quotes', variable_get('pathauto_quotes', 0));
variable_del('pathauto_quotes');
return array();
}
/**
* Remove the url_alias_extra table which wasn't used.
*/
function pathauto_update_7() {
$ret = array();
if (db_table_exists('url_alias_extra')) {
db_drop_table($ret, 'url_alias_extra');
}
return $ret;
}
Functions
Name | Description |
---|---|
pathauto_install | Implementation of hook_install(). |
pathauto_uninstall | Implementation of hook_uninstall(). |
pathauto_update_1 | Set the weight a little heavier to allow taxonomy to do its work. |
pathauto_update_3 | Delete the pathauto_node_supportsfeeds. |
pathauto_update_4 | New style naming for the punctuation chars. |
pathauto_update_7 | Remove the url_alias_extra table which wasn't used. |