1 views_ui.module | views_ui_cache_set(&$view) |
Specialized cache function to add a flag to our view, include an appropriate include, and cache more easily.
File
- core/
modules/ views_ui/ views_ui.module, line 388 - Provide structure for the administrative interface to Views.
Code
function views_ui_cache_set(&$view) {
global $user;
if (!empty($view->locked)) {
backdrop_set_message(t('Changes cannot be made to a locked view.'), 'error');
return;
}
$view->changed = TRUE; // let any future object know that this view has changed.
if (isset($view->current_display)) {
// Add the knowledge of the changed display, too.
$view->changed_display[$view->current_display] = TRUE;
unset($view->current_display);
}
// Unset handlers; we don't want to write these into the cache
unset($view->display_handler);
unset($view->default_display);
$view->query = NULL;
foreach (array_keys($view->display) as $id) {
unset($view->display[$id]->handler);
unset($view->display[$id]->default_display);
}
// Store the view in the tempstore for up to one week.
$view->locked = (object) array(
'uid' => $user->uid,
'updated' => REQUEST_TIME,
);
tempstore_set('views.view', $view->name, $view, REQUEST_TIME + 604800);
unset($view->locked);
}