You are here

function content_update_6009 in Content Construction Kit (CCK) 6.3

Same name and namespace in other branches
  1. 6.2 content.install \content_update_6009()

Add the 'exclude from $content' display setting to all existing field instances.

File

./content.install, line 491

Code

function content_update_6009() {
  if ($abort = content_check_update()) {
    return $abort;
  }
  $ret = array();
  $result = db_query("SELECT *  FROM {content_node_field_instance}");
  while ($type = db_fetch_array($result)) {
    $new_settings = array();
    $display_settings = unserialize($type['display_settings']);
    if (!empty($display_settings)) {
      foreach ($display_settings as $key => $val) {
        $new_settings[$key] = $val;
        if ($key !== 'label' && is_array($val)) {
          $new_settings[$key]['exclude'] = 0;
        }
      }
    }
    else {
      $new_settings = array(
        'label' => array(
          'format' => 'above',
        ),
        'full' => array(
          'format' => 'default',
          'exclude' => 0,
        ),
        'teaser' => array(
          'format' => 'default',
          'exclude' => 0,
        ),
      );
    }
    db_query("UPDATE {content_node_field_instance} SET display_settings='%s' WHERE field_name='%s' AND type_name='%s'", serialize($new_settings), $type['field_name'], $type['type_name']);
  }
  variable_set('content_schema_version', 6009);
  return $ret;
}