| 1 views_plugin_cache.inc | views_plugin_cache::cache_get($type) | 
Retrieve data from the cache.
A plugin should override this to provide specialized caching behavior.
File
- core/modules/ views/ plugins/ views_plugin_cache.inc, line 112 
- Definition of views_plugin_cache.
Class
- views_plugin_cache
- The base plugin to handle caching.
Code
function cache_get($type) {
  $cutoff = $this->cache_expire($type);
  switch ($type) {
    case 'query':
      // Not supported currently, but this is certainly where we'd put it.
      return FALSE;
    case 'results':
      // Values to set: $view->result, $view->total_rows, $view->execute_time,
      // $view->current_page.
      if ($cache = cache($this->bin)->get($this->get_results_key())) {
        if (!$cutoff || $cache->created > $cutoff) {
          $this->view->result = $cache->data['result'];
          $this->view->total_rows = $cache->data['total_rows'];
          $this->view->set_current_page($cache->data['current_page']);
          $this->view->execute_time = 0;
          return TRUE;
        }
      }
      return FALSE;
    case 'output':
      if ($cache = cache($this->bin)->get($this->get_output_key())) {
        if (!$cutoff || $cache->created > $cutoff) {
          $this->storage = $cache->data;
          $this->view->display_handler->output = $cache->data['output'];
          $this->restore_headers();
          return TRUE;
        }
      }
      return FALSE;
  }
}
