You are here

function featured_content_update_6000 in Featured Content 6

Same name and namespace in other branches
  1. 6.2 featured_content.install \featured_content_update_6000()

Make sure that the settings are updated properly to deal with issue #705308.

File

./featured_content.install, line 41
Provides install, upgrade and un-install functions for featured_content.

Code

function featured_content_update_6000() {
  $featured_blocks = variable_get('featured_content_blocks', array());
  if (!empty($featured_blocks)) {
    foreach ($featured_blocks as $delta => $data) {

      // convert content type settings
      if ($data['filter']['content_types']['node']) {
        $featured_blocks[$delta]['filter']['content_types']['type']['CURRENT'] = 1;
      }
      if ($data['filter']['content_types']['option'] == 'content_type_selected') {
        $selected = $data['filter']['content_types']['selected'];
        foreach ($selected as $name => $value) {
          if ($value) {
            $featured_blocks[$delta]['filter']['content_types']['type'][$name] = 1;
          }
        }
      }

      // convert user settings
      if ($data['filter']['users']['node']) {
        $featured_blocks[$delta]['filter']['users']['user']['CURRENT'] = 1;
      }
      if ($data['filter']['users']['option'] == 'user_selected') {
        $selected = $data['filter']['users']['selected'];
        foreach ($selected as $uid => $value) {
          if ($value) {
            $featured_blocks[$delta]['filter']['users']['user'][$uid] = 1;
          }
        }
      }

      // convert vocabulary settings
      $vocabularies = taxonomy_get_vocabularies();
      foreach ($vocabularies as $vocabulary) {
        $vid = $vocabulary->vid;
        if ($data['filter']['vocab'][$vid]['node']) {
          $featured_blocks[$delta]['filter']['vocab'][$vid]['term']['CURRENT'] = 1;
        }
        if ($data['filter']['vocab'][$vid]['option'] == 'vocab_selected') {
          $selected = $data['filter']['vocab'][$vid]['selected'];
          foreach ($selected as $tid => $value) {
            if ($value) {
              $featured_blocks[$delta]['filter']['vocab'][$vid]['term'][$tid] = 1;
            }
          }
        }
      }
    }
  }
  variable_set('featured_content_blocks', $featured_blocks);
  return array();
}