5 * Install file for the link module.
9 * Implementation of hook_install().
11 function link_install() {
12 drupal_load('module', 'content');
13 content_notify('install', 'link');
17 * Implementation of hook_uninstall().
19 function link_uninstall() {
20 drupal_load('module', 'content');
21 content_notify('uninstall', 'link');
25 * Implementation of hook_enable().
27 function link_enable() {
28 drupal_load('module', 'content');
29 content_notify('enable', 'link');
33 * Implementation of hook_disable().
35 function link_disable() {
36 drupal_load('module', 'content');
37 content_notify('disable', 'link');
41 * Removed link.module created tables, move data to content.module tables
43 * Even though most everyone will not be using this particular update, several
44 * folks have complained that their upgrades of link.module do not work because
45 * of this function being missing when schema expects it. - JCF
46 * And on further review, I'm removing the body, since some of those calls
47 * no longer exist in Drupal 6. Remember to upgrade from 4.7 to 5 first, and
48 * *then* from 5 to 6. kthx! -JCF
50 function link_update_1() {
58 * Ensure that content.module is updated before link module.
60 function link_update_6000() {
61 if ($abort = content_check_update('link')) {
68 * Change the database schema to allow NULL values.
70 function link_update_6001() {
73 // Build a list of fields that need updating.
74 $update_fields = array();
75 foreach (content_types_install() as
$type_name => $fields) {
76 foreach ($fields as
$field) {
77 if ($field['type'] == 'link') {
78 // We only process a given field once.
79 $update_fields[$field['field_name']] = $field;
84 // Update each field's storage to match the current definition.
85 foreach ($update_fields as
$field) {
86 $db_info = content_database_info($field);
87 foreach ($db_info['columns'] as
$column) {
88 db_change_field($ret, $db_info['table'], $column['column'], $column['column'], $column);
89 $ret[] = update_sql("UPDATE {".
$db_info['table'] .
"} SET ".
$column['column'] .
" = NULL WHERE ".
$column['column'] .
" = '' OR ".
$column['column'] .
" = 'N;'");
93 // Let CCK re-associate link fields with Link module and activate the fields.
94 content_associate_fields('link');