text.install in Content Construction Kit (CCK) 6
File
modules/text/text.install
View source
<?php
include_once './' . drupal_get_path('module', 'content') . '/content.module';
function text_install() {
content_notify('install', 'text');
}
function text_uninstall() {
content_notify('uninstall', 'text');
}
function text_enable() {
content_notify('enable', 'text');
}
function text_disable() {
content_notify('disable', 'text');
}
function text_update_last_removed() {
return 5;
}
function text_update_6000() {
$ret = array();
$result = db_query("SELECT * FROM {" . content_instance_tablename() . "} WHERE widget_type = 'text'");
while ($field_instance = db_fetch_array($result)) {
$widget_settings = unserialize($field_instance['widget_settings']);
$new_widget_type = $widget_settings['rows'] > 1 ? 'text_textarea' : 'text_textfield';
$ret[] = update_sql("UPDATE {" . content_instance_tablename() . "} SET widget_module = 'text', widget_type = '" . $new_widget_type . "' WHERE field_name = '{$field_instance['field_name']}' AND type_name = '{$field_instance['type_name']}'");
}
content_associate_fields('text');
return $ret;
}
function text_update_6001() {
$ret = array();
content_clear_type_cache(TRUE, TRUE);
include_once './' . drupal_get_path('module', 'content') . '/content.install';
$types = content_types_install();
foreach ($types as $type_name => $fields) {
foreach ($fields as $field) {
switch ($field['type']) {
case 'text':
$db_info = content_database_info($field);
$table = $db_info['table'];
foreach ($db_info['columns'] as $column => $attributes) {
$attributes['not null'] = FALSE;
$column = $attributes['column'];
db_change_field($ret, $table, $column, $column, $attributes);
db_field_set_no_default($ret, $table, $column);
if ($attributes['type'] == 'varchar' || $attributes['type'] == 'text') {
$ret[] = update_sql("UPDATE {" . $table . "} SET " . $column . " = NULL WHERE " . $column . " = ''");
}
else {
$ret[] = update_sql("UPDATE {" . $table . "} SET " . $column . " = NULL WHERE " . $column . " = 0");
}
}
break;
}
}
}
return $ret;
}