You are here

public function views_plugin_display_block::update_block_bid in Views (for Drupal 7) 7.3

Update the block delta when the machine name of the display changes.

1 call to views_plugin_display_block::update_block_bid()
views_plugin_display_block::options_submit in plugins/views_plugin_display_block.inc
Perform any necessary changes to the form values prior to storage. There is no need for this function to actually store the data.

File

plugins/views_plugin_display_block.inc, line 205
Definition of views_plugin_display_block.

Class

views_plugin_display_block
The plugin that handles a block.

Code

public function update_block_bid($name, $old_delta, $delta) {
  $old_hashes = $hashes = variable_get('views_block_hashes', array());
  $old_delta = $name . '-' . $old_delta;
  $delta = $name . '-' . $delta;
  if (strlen($old_delta) >= 32) {
    $old_delta = md5($old_delta);
    unset($hashes[$old_delta]);
  }
  if (strlen($delta) >= 32) {
    $md5_delta = md5($delta);
    $hashes[$md5_delta] = $delta;
    $delta = $md5_delta;
  }

  // Maybe people don't have block module installed, so let's skip this.
  if (db_table_exists('block')) {
    db_update('block')
      ->fields(array(
      'delta' => $delta,
    ))
      ->condition('delta', $old_delta)
      ->execute();
  }

  // Update the hashes if needed.
  if ($hashes != $old_hashes) {
    variable_set('views_block_hashes', $hashes);
  }
}