function uc_extra_fields_pane_update_6203 in Extra Fields Checkout Pane 6.2
Removes field 'display' Adds field 'display_settings'
File
- ./
uc_extra_fields_pane.install, line 415 - Module: uc_extra_fields_pane.module
Code
function uc_extra_fields_pane_update_6203() {
$ret = array();
// Get current display settings (checkout page only)
$fields_display = array();
$fields_nodisplay = array();
$fieldsresult = db_query('SELECT field_id, display FROM {uc_extra_fields}');
while ($field = db_fetch_array($fieldsresult)) {
if ($field['display']) {
$fields_display[] = $field['field_id'];
}
else {
$fields_nodisplay[] = $field['field_id'];
}
}
// Remove field 'display'
db_drop_field($ret, 'uc_extra_fields', 'display');
// Add field 'display_settings'
db_add_field($ret, 'uc_extra_fields', 'display_settings', array(
'type' => 'text',
'size' => 'medium',
'not null' => TRUE,
'serialize' => TRUE,
));
// Save display settings
if (count($fields_display) > 0) {
$display_settings = array(
'checkout' => TRUE,
);
$sql_display_settings = serialize($display_settings);
$query = "UPDATE {uc_extra_fields}\n SET display_settings='%s'\n WHERE field_id in(" . implode(",", $fields_display) . ")\n ";
$result = db_query($query, $sql_display_settings);
$ret[] = array(
'success' => $result !== FALSE,
'query' => check_plain($query),
);
}
if (count($fields_nodisplay) > 0) {
$display_settings = array(
'checkout' => FALSE,
);
$sql_display_settings = serialize($display_settings);
$query = "UPDATE {uc_extra_fields}\n SET display_settings='%s'\n WHERE field_id in(" . implode(",", $fields_nodisplay) . ")\n ";
$result = db_query($query, $sql_display_settings);
$ret[] = array(
'success' => $result !== FALSE,
'query' => check_plain($query),
);
}
return $ret;
}