function views_plugin_display_block::update_block_bid

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 206

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);
    }
}