filter_update_7004
- Versions
- 7
filter_update_7004()
Move filter settings storage into {filter} table.
- Remove {filter}.fid.
- Add (format, name) as primary key for {filter}.
- Add {filter}.status.
- Add {filter}.settings.
Related topics
Code
modules/filter/filter.install, line 213
<?php
function filter_update_7004() {
db_drop_field('filter', 'fid');
db_add_primary_key('filter', array('format', 'name'));
db_add_field('filter', 'status',
array(
'type' => 'int',
'not null' => TRUE,
'default' => 0,
'description' => 'Filter enabled status. (1 = enabled, 0 = disabled)',
)
);
db_add_field('filter', 'settings',
array(
'type' => 'text',
'not null' => FALSE,
'size' => 'big',
'serialize' => TRUE,
'description' => 'A serialized array of name value pairs that store the filter settings for the specific format.',
)
);
// Enable all existing filters ({filter} contained only enabled previously).
db_update('filter')
->fields('status', '1')
->execute();
// Move filter settings from system variables into {filter}.settings.
$filters = db_query("SELECT * FROM {filter} WHERE module = :name", array(':name' => 'filter'));
foreach ($filters as $filter) {
$settings = array();
if ($filter->name == 'filter_html') {
if ($setting = variable_get("allowed_html_{$filter->format}", NULL)) {
$settings['allowed_html'] = $setting;
variable_del("allowed_html_{$filter->format}");
}
if ($setting = variable_get("filter_html_help_{$filter->format}", NULL)) {
$settings['filter_html_help'] = $setting;
variable_del("filter_html_help_{$filter->format}");
}
if ($setting = variable_get("filter_html_nofollow_{$filter->format}", NULL)) {
$settings['filter_html_nofollow'] = $setting;
variable_del("filter_html_nofollow_{$filter->format}");
}
}
elseif ($filter->name == 'filter_url') {
if ($setting = variable_get("filter_url_length_{$filter->format}", NULL)) {
$settings['filter_url_length'] = $setting;
variable_del("filter_url_length_{$filter->format}");
}
}
if (!empty($settings)) {
db_upddate('filter')
->fields(array('settings' => serialize($settings)))
->condition('format', $filter->format)
->condition('name', $filter->name)
->execute();
}
}
}
?>Login or register to post comments 