You are here

starrating.install in Star Rating 7.2

Install/update/uninstall functions for starrating module

File

starrating.install
View 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

Namesort descending Description
starrating_update_7001 Change all starrating_rating fields to list_integer