function starrating_update_7001 in Star Rating 7.2
Change all starrating_rating fields to list_integer
File
- ./
starrating.install, line 13 - Install/update/uninstall functions for starrating module
Code
function starrating_update_7001() {
$result = '';
$result = db_query("SELECT data FROM {field_config} WHERE type = 'starrating_rating'");
if ($result) {
while ($row = $result
->fetchAssoc()) {
$field_data[] = unserialize($row['data']);
}
}
//convert the max_value to allowed_values of a list_integer
foreach ($field_data as $key => $data) {
$max_value = intval($data['settings']['max_value']);
unset($data['settings']['max_value']);
$data['settings']['allowed_values'] = range(0, $max_value);
$data['settings']['allowed_values_function'] = '';
//daten serialize, struktur von list_integer übernehme nund zurückschreiben
$serialized_data = serialize($data);
$id = $data['id'];
db_query("UPDATE {field_config} SET data=:serialized_data WHERE id=:id", array(
":serialized_data" => $serialized_data,
":id" => $id,
));
}
/*
$result2 = '';
$result2 = db_query("SELECT * FROM {field_config} WHERE type = 'list_integer'");
if ($result2) {
while ($row1 = $result2->fetchAssoc()) {
$fields2[] = $row1;
$data2 = unserialize($row1['data']);
}
}*/
// convert the starrating_rating to list_integer
db_query("UPDATE {field_config} SET type = 'list_integer' WHERE type = 'starrating_rating'");
// Clear caches.
field_cache_clear(TRUE);
}