function view::delete

Same name in other branches
  1. 6.x-3.x includes/view.inc \view::delete()

Delete the view from the database.

File

includes/view.inc, line 1949

Class

view
An object to contain all of the data to generate a view.

Code

public function delete($clear = TRUE) {
    if (empty($this->vid)) {
        return;
    }
    db_delete('views_view')->condition('vid', $this->vid)
        ->execute();
    // Delete from all of our subtables as well.
    foreach ($this->db_objects() as $key) {
        db_delete('views_' . $key)->condition('vid', $this->vid)
            ->execute();
    }
    cache_clear_all('views_query:' . $this->name, 'cache_views');
    if ($clear) {
        // Clear caches.
        cache_clear_all('views_block_items:', 'cache_views', TRUE);
        views_invalidate_cache('ctools_export:views_view:' . $this->name);
    }
    // Notify modules that this view has been deleted.
    module_invoke_all('views_view_delete', $this);
}