function views_plugin_cache::get_results_key

Same name in other branches
  1. 7.x-3.x plugins/views_plugin_cache.inc \views_plugin_cache::get_results_key()
2 calls to views_plugin_cache::get_results_key()
views_plugin_cache::cache_get in plugins/views_plugin_cache.inc
Retrieve data from the cache.
views_plugin_cache::cache_set in plugins/views_plugin_cache.inc
Save data to the cache.

File

plugins/views_plugin_cache.inc, line 260

Class

views_plugin_cache
The base plugin to handle caching.

Code

function get_results_key() {
    global $user;
    if (!isset($this->_results_key)) {
        $cache_info = $this->view->query
            ->get_cache_info();
        if ($cache_info === FALSE) {
            $this->_results_key = FALSE;
        }
        else {
            $key_data = array(
                'build_info' => $this->view->build_info,
                'cache_info' => $this->view->query
                    ->get_cache_info(),
                'roles' => array_keys($user->roles),
                'super-user' => $user->uid == 1,
                // special caching for super user.
'language' => $GLOBALS['language'],
            );
            foreach (array(
                'exposed_info',
                'page',
                'sort',
                'order',
            ) as $key) {
                if (isset($_GET[$key])) {
                    $key_data[$key] = $_GET[$key];
                }
            }
            $this->_results_key = $this->view->name . ':' . $this->display->id . ':results:' . md5(serialize($key_data));
        }
    }
    return $this->_results_key;
}