starrating.install in Star Rating 7.2
Install/update/uninstall functions for starrating module
File
starrating.installView source
<?php
/**
* @file
* Install/update/uninstall functions for starrating module
*/
//@todo problem min value ist hier 0 aber bei manchen startet das mit 1 und manche wollen 0 möglich
/**
* Change all starrating_rating fields to list_integer
*/
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);
}
Functions
Name | Description |
---|---|
starrating_update_7001 | Change all starrating_rating fields to list_integer |