You are here

link.install in Link 5

Same filename and directory in other branches
  1. 6.2 link.install
  2. 6 link.install
  3. 7 link.install

File

link.install
View source
<?php

/**
 * Implementation of hook_install().
 */
function link_install() {
  return;
}

/**
 * Removed link.module created tables, move data to content.module tables
 */
function link_update_1() {
  $ret = array();
  include_once drupal_get_path('module', 'content') . '/content.module';
  include_once drupal_get_path('module', 'content') . '/content_admin.inc';
  $fields = content_fields();
  foreach ($fields as $field) {
    switch ($field['type']) {
      case 'link':
        $columns = array(
          'url' => array(
            'type' => 'varchar',
            'length' => 255,
            'not null' => TRUE,
            'default' => "''",
          ),
          'title' => array(
            'type' => 'varchar',
            'length' => 255,
            'not null' => TRUE,
            'default' => "''",
          ),
          'attributes' => array(
            'type' => 'mediumtext',
            'not null' => FALSE,
          ),
        );
        content_alter_db_field(array(), array(), $field, $columns);
        $db_info = content_database_info($field);
        if ($field['multiple']) {
          $ret[] = update_sql('INSERT INTO {' . $db_info['table'] . '} (vid, delta, nid, ' . $field['field_name'] . '_url, ' . $field['field_name'] . '_title, ' . $field['field_name'] . "_attributes) SELECT vid, delta, nid, field_url, field_title, attributes FROM {node_field_link_data} WHERE field_name = '" . $field['field_name'] . "'");
        }
        else {
          $ret[] = update_sql('UPDATE {' . $db_info['table'] . '} c, {node_field_link_data} l SET c.' . $field['field_name'] . '_url = l.field_url, c.' . $field['field_name'] . '_title = l.field_title, c.' . $field['field_name'] . "_attributes = l.attributes WHERE l.field_name = '" . $field['field_name'] . "' AND c.vid = l.vid AND c.nid = l.nid");
        }
    }
  }
  $ret[] = update_sql('DROP TABLE {node_field_link_data}');
  db_query('DELETE FROM {cache}');
  return $ret;
}

Functions

Namesort descending Description
link_install Implementation of hook_install().
link_update_1 Removed link.module created tables, move data to content.module tables