Index: link.install =================================================================== RCS file: /cvs/drupal/contributions/modules/link/link.install,v retrieving revision 1.5.2.6 diff -u -r1.5.2.6 link.install --- link.install 20 Apr 2009 04:09:18 -0000 1.5.2.6 +++ link.install 14 Jun 2009 18:07:05 -0000 @@ -86,3 +86,32 @@ return $ret; } + +function link_update_6200() { + $ret = array(); + + // Build a list of fields that need updating. + $update_fields = array(); + foreach (content_types_install() as $type_name => $fields) { + foreach ($fields as $field) { + if ($field['type'] == 'link') { + // We only process a given field once. + $update_fields[$field['field_name']] = $field; + } + } + } + + // Update each field's storage to match the current definition. + foreach ($update_fields as $field) { + $db_info = content_database_info($field); + foreach ($db_info['columns'] as $column) { + if ($column['column'] == $field['field_name'] .'_url') { + $column['length'] = 2048; + db_change_field($ret, $db_info['table'], $column['column'], $column['column'], $column); + } + } + } + + // Let CCK re-associate link fields with Link module and activate the fields. + content_associate_fields('link'); + + return $ret; +} Index: link.module =================================================================== RCS file: /cvs/drupal/contributions/modules/link/link.module,v retrieving revision 1.24.2.35 diff -u -r1.24.2.35 link.module --- link.module 20 Apr 2009 04:09:18 -0000 1.24.2.35 +++ link.module 14 Jun 2009 18:07:06 -0000 @@ -13,6 +13,11 @@ define('LINK_DOMAINS', 'aero|arpa|asia|biz|com|cat|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel|mobi|local'); /** + * define maximum URL length + */ +define('URL_MAX_LENGTH', 2048); + +/** * Implementation of hook_field_info(). */ function link_field_info() { @@ -139,7 +144,7 @@ case 'database columns': return array( - 'url' => array('type' => 'varchar', 'length' => 255, 'not null' => FALSE, 'sortable' => TRUE), + 'url' => array('type' => 'varchar', 'length' => URL_MAX_LENGTH, 'not null' => FALSE, 'sortable' => TRUE), 'title' => array('type' => 'varchar', 'length' => 255, 'not null' => FALSE, 'sortable' => TRUE), 'attributes' => array('type' => 'text', 'size' => 'medium', 'not null' => FALSE), ); @@ -461,11 +466,12 @@ * The $fields array is in $form['#field_info'][$element['#field_name']]. */ function link_process($element, $edit, $form_state, $form) { + $url_max_length = sprintf('%d', URL_MAX_LENGTH); $field = $form['#field_info'][$element['#field_name']]; $delta = $element['#delta']; $element['url'] = array( '#type' => 'textfield', - '#maxlength' => '255', + '#maxlength' => $url_max_length, '#title' => t('URL'), '#description' => $element['#description'], '#required' => ($delta == 0 && $field['url'] !== 'optional') ? $element['#required'] : FALSE,