diff --git a/core/modules/block/lib/Drupal/block/Plugin/views/display/Block.php b/core/modules/block/lib/Drupal/block/Plugin/views/display/Block.php
index cb8208102f27..bc6184c5e7e1 100644
--- a/core/modules/block/lib/Drupal/block/Plugin/views/display/Block.php
+++ b/core/modules/block/lib/Drupal/block/Plugin/views/display/Block.php
@@ -52,7 +52,7 @@ class Block extends DisplayPluginBase {
* stuff with it.
*/
public function executeHookBlockList($delta = 0, $edit = array()) {
- $delta = $this->view->storage->name . '-' . $this->display['id'];
+ $delta = $this->view->storage->get('name') . '-' . $this->display['id'];
$desc = $this->getOption('block_description');
if (empty($desc)) {
@@ -193,14 +193,14 @@ class Block extends DisplayPluginBase {
parent::submitOptionsForm($form, $form_state);
switch ($form_state['section']) {
case 'display_id':
- $this->updateBlockBid($form_state['view']->storage->name, $this->display['id'], $this->display['new_id']);
+ $this->updateBlockBid($form_state['view']->storage->get('name'), $this->display['id'], $this->display['new_id']);
break;
case 'block_description':
$this->setOption('block_description', $form_state['values']['block_description']);
break;
case 'block_caching':
$this->setOption('block_caching', $form_state['values']['block_caching']);
- $this->saveBlockCache($form_state['view']->storage->name . '-'. $form_state['display_id'], $form_state['values']['block_caching']);
+ $this->saveBlockCache($form_state['view']->storage->get('name') . '-'. $form_state['display_id'], $form_state['values']['block_caching']);
break;
}
}
diff --git a/core/modules/field/lib/Drupal/field/Plugin/views/field/Field.php b/core/modules/field/lib/Drupal/field/Plugin/views/field/Field.php
index 4c5e5da3d121..005eb14235c2 100644
--- a/core/modules/field/lib/Drupal/field/Plugin/views/field/Field.php
+++ b/core/modules/field/lib/Drupal/field/Plugin/views/field/Field.php
@@ -115,7 +115,7 @@ class Field extends FieldPluginBase {
function get_base_table() {
if (!isset($this->base_table)) {
// This base_table is coming from the entity not the field.
- $this->base_table = $this->view->storage->base_table;
+ $this->base_table = $this->view->storage->get('base_table');
// If the current field is under a relationship you can't be sure that the
// base table of the view is the base table of the current field.
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/views/field/TaxonomyIndexTid.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/views/field/TaxonomyIndexTid.php
index 0b496988f953..9c7536812297 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/views/field/TaxonomyIndexTid.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/views/field/TaxonomyIndexTid.php
@@ -26,7 +26,7 @@ class TaxonomyIndexTid extends PrerenderList {
public function init(ViewExecutable $view, &$options) {
parent::init($view, $options);
// @todo: Wouldn't it be possible to use $this->base_table and no if here?
- if ($view->storage->base_table == 'node_revision') {
+ if ($view->storage->get('base_table') == 'node_revision') {
$this->additional_fields['nid'] = array('table' => 'node_revision', 'field' => 'nid');
}
else {
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/area/View.php b/core/modules/views/lib/Drupal/views/Plugin/views/area/View.php
index 018996c29608..1da8146484f1 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/area/View.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/area/View.php
@@ -35,7 +35,7 @@ class View extends AreaPluginBase {
public function buildOptionsForm(&$form, &$form_state) {
parent::buildOptionsForm($form, $form_state);
- $view_display = $this->view->storage->name . ':' . $this->view->current_display;
+ $view_display = $this->view->storage->get('name') . ':' . $this->view->current_display;
$options = array('' => t('-Select-'));
$options += views_get_views_as_options(FALSE, 'all', $view_display, FALSE, TRUE);
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/cache/CachePluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/cache/CachePluginBase.php
index 400fd0c0319f..618de3c5ccfd 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/cache/CachePluginBase.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/cache/CachePluginBase.php
@@ -196,7 +196,7 @@ abstract class CachePluginBase extends PluginBase {
* to be sure that we catch everything. Maybe that's a bad idea.
*/
function cache_flush() {
- cache($this->table)->invalidateTags(array($this->view->storage->name => TRUE));
+ cache($this->table)->invalidateTags(array($this->view->storage->get('name') => TRUE));
}
/**
@@ -324,7 +324,7 @@ abstract class CachePluginBase extends PluginBase {
}
}
- $this->resultsKey = $this->view->storage->name . ':' . $this->displayHandler->display['id'] . ':results:' . md5(serialize($key_data));
+ $this->resultsKey = $this->view->storage->get('name') . ':' . $this->displayHandler->display['id'] . ':results:' . md5(serialize($key_data));
}
return $this->resultsKey;
@@ -348,7 +348,7 @@ abstract class CachePluginBase extends PluginBase {
'base_url' => $GLOBALS['base_url'],
);
- $this->outputKey = $this->view->storage->name . ':' . $this->displayHandler->display['id'] . ':output:' . md5(serialize($key_data));
+ $this->outputKey = $this->view->storage->get('name') . ':' . $this->displayHandler->display['id'] . ':output:' . md5(serialize($key_data));
}
return $this->outputKey;
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php
index ed22ea5cf5c5..8cda2a99f337 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php
@@ -754,7 +754,7 @@ abstract class DisplayPluginBase extends PluginBase {
// Query plugins allow specifying a specific query class per base table.
if ($type == 'query') {
- $views_data = views_fetch_data($this->view->storage->base_table);
+ $views_data = views_fetch_data($this->view->storage->get('base_table'));
$name = !empty($views_data['table']['base']['query class']) ? $views_data['table']['base']['query class'] : 'views_query';
}
@@ -764,7 +764,7 @@ abstract class DisplayPluginBase extends PluginBase {
// Initialize the plugin. Query has a unique method signature.
if ($type == 'query') {
- $plugin->init($this->view->storage->base_table, $this->view->storage->base_field, $options['options']);
+ $plugin->init($this->view->storage->get('base_table'), $this->view->storage->get('base_field'), $options['options']);
}
else {
$plugin->init($this->view, $this, $options['options']);
@@ -939,7 +939,7 @@ abstract class DisplayPluginBase extends PluginBase {
$title = $text;
}
- return l($text, 'admin/structure/views/nojs/display/' . $this->view->storage->name . '/' . $this->display['id'] . '/' . $section, array('attributes' => array('class' => 'views-ajax-link ' . $class, 'title' => $title, 'id' => drupal_html_id('views-' . $this->display['id'] . '-' . $section)), 'html' => TRUE));
+ return l($text, 'admin/structure/views/nojs/display/' . $this->view->storage->get('name') . '/' . $this->display['id'] . '/' . $section, array('attributes' => array('class' => 'views-ajax-link ' . $class, 'title' => $title, 'id' => drupal_html_id('views-' . $this->display['id'] . '-' . $section)), 'html' => TRUE));
}
/**
@@ -1433,7 +1433,7 @@ abstract class DisplayPluginBase extends PluginBase {
$access = $this->getOption('access');
$form['access']['type'] = array(
'#type' => 'radios',
- '#options' => views_fetch_plugin_names('access', NULL, array($this->view->storage->base_table)),
+ '#options' => views_fetch_plugin_names('access', NULL, array($this->view->storage->get('base_table'))),
'#default_value' => $access['type'],
);
@@ -1468,7 +1468,7 @@ abstract class DisplayPluginBase extends PluginBase {
$cache = $this->getOption('cache');
$form['cache']['type'] = array(
'#type' => 'radios',
- '#options' => views_fetch_plugin_names('cache', NULL, array($this->view->storage->base_table)),
+ '#options' => views_fetch_plugin_names('cache', NULL, array($this->view->storage->get('base_table'))),
'#default_value' => $cache['type'],
);
@@ -1529,7 +1529,7 @@ abstract class DisplayPluginBase extends PluginBase {
// Doesn't make sense to show a field setting here if we aren't querying
// an entity base table. Also, we make sure that there's at least one
// entity type with a translation handler attached.
- if (in_array($this->view->storage->base_table, $entity_tables) && $has_translation_handlers) {
+ if (in_array($this->view->storage->get('base_table'), $entity_tables) && $has_translation_handlers) {
$languages = array(
'***CURRENT_LANGUAGE***' => t("Current user's language"),
'***DEFAULT_LANGUAGE***' => t("Default site language"),
@@ -1559,7 +1559,7 @@ abstract class DisplayPluginBase extends PluginBase {
$style_plugin = $this->getPlugin('style');
$form['style'] = array(
'#type' => 'radios',
- '#options' => views_fetch_plugin_names('style', $this->getStyleType(), array($this->view->storage->base_table)),
+ '#options' => views_fetch_plugin_names('style', $this->getStyleType(), array($this->view->storage->get('base_table'))),
'#default_value' => $style_plugin->definition['id'],
'#description' => t('If the style you choose has settings, be sure to click the settings button that will appear next to it in the View summary.'),
);
@@ -1601,7 +1601,7 @@ abstract class DisplayPluginBase extends PluginBase {
$row_plugin_instance = $this->getPlugin('row');
$form['row'] = array(
'#type' => 'radios',
- '#options' => views_fetch_plugin_names('row', $this->getStyleType(), array($this->view->storage->base_table)),
+ '#options' => views_fetch_plugin_names('row', $this->getStyleType(), array($this->view->storage->get('base_table'))),
'#default_value' => $row_plugin_instance->definition['id'],
);
@@ -1616,7 +1616,7 @@ abstract class DisplayPluginBase extends PluginBase {
break;
case 'link_display':
$form['#title'] .= t('Which display to use for path');
- foreach ($this->view->storage->display as $display_id => $display) {
+ foreach ($this->view->storage->get('display') as $display_id => $display) {
if ($this->view->displayHandlers[$display_id]->hasPath()) {
$options[$display_id] = $display['display_title'];
}
@@ -1955,7 +1955,7 @@ abstract class DisplayPluginBase extends PluginBase {
$exposed_form = $this->getOption('exposed_form');
$form['exposed_form']['type'] = array(
'#type' => 'radios',
- '#options' => views_fetch_plugin_names('exposed_form', NULL, array($this->view->storage->base_table)),
+ '#options' => views_fetch_plugin_names('exposed_form', NULL, array($this->view->storage->get('base_table'))),
'#default_value' => $exposed_form['type'],
);
@@ -1989,7 +1989,7 @@ abstract class DisplayPluginBase extends PluginBase {
$pager = $this->getOption('pager');
$form['pager']['type'] = array(
'#type' => 'radios',
- '#options' => views_fetch_plugin_names('pager', !$this->usesPager() ? 'basic' : NULL, array($this->view->storage->base_table)),
+ '#options' => views_fetch_plugin_names('pager', !$this->usesPager() ? 'basic' : NULL, array($this->view->storage->get('base_table'))),
'#default_value' => $pager['type'],
);
@@ -2646,8 +2646,8 @@ abstract class DisplayPluginBase extends PluginBase {
$blocks = array();
if ($this->usesExposedFormInBlock()) {
- $delta = '-exp-' . $this->view->storage->name . '-' . $this->display['id'];
- $desc = t('Exposed form: @view-@display_id', array('@view' => $this->view->storage->name, '@display_id' => $this->display['id']));
+ $delta = '-exp-' . $this->view->storage->get('name') . '-' . $this->display['id'];
+ $desc = t('Exposed form: @view-@display_id', array('@view' => $this->view->storage->get('name'), '@display_id' => $this->display['id']));
$blocks[$delta] = array(
'info' => $desc,
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/display/Feed.php b/core/modules/views/lib/Drupal/views/Plugin/views/display/Feed.php
index eea41a36d4df..97769dc09665 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/display/Feed.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/display/Feed.php
@@ -50,7 +50,7 @@ class Feed extends Page {
// Set the default row style. Ideally this would be part of the option
// definition, but in this case it's dependent on the view's base table,
// which we don't know until init().
- $row_plugins = views_fetch_plugin_names('row', $this->getStyleType(), array($view->storage->base_table));
+ $row_plugins = views_fetch_plugin_names('row', $this->getStyleType(), array($view->storage->get('base_table')));
$default_row_plugin = key($row_plugins);
if (empty($this->options['row']['type'])) {
$this->options['row']['type'] = $default_row_plugin;
@@ -151,8 +151,9 @@ class Feed extends Page {
}
elseif (count($displays) == 1) {
$display = array_shift($displays);
- if (!empty($this->view->storage->display[$display])) {
- $attach_to = check_plain($this->view->storage->display[$display]['display_title']);
+ $displays = $this->view->storage->get('display');
+ if (!empty($displays[$display])) {
+ $attach_to = check_plain($displays[$display]['display_title']);
}
}
@@ -194,7 +195,7 @@ class Feed extends Page {
case 'displays':
$form['#title'] .= t('Attach to');
$displays = array();
- foreach ($this->view->storage->display as $display_id => $display) {
+ foreach ($this->view->storage->get('display') as $display_id => $display) {
// @todo The display plugin should have display_title and id as well.
if (!empty($this->view->displayHandlers[$display_id]) && $this->view->displayHandlers[$display_id]->acceptAttachments()) {
$displays[$display_id] = $display['display_title'];
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/display/Page.php b/core/modules/views/lib/Drupal/views/Plugin/views/display/Page.php
index 9bc4346d7da6..b26404bdcd53 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/display/Page.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/display/Page.php
@@ -80,7 +80,7 @@ class Page extends DisplayPluginBase {
// views_arg_load -- which lives in views.module
$bits = explode('/', $this->getOption('path'));
- $page_arguments = array($this->view->storage->name, $this->display['id']);
+ $page_arguments = array($this->view->storage->get('name'), $this->display['id']);
$this->view->initHandlers();
$view_arguments = $this->view->argument;
@@ -141,7 +141,7 @@ class Page extends DisplayPluginBase {
'access callback' => 'views_access',
'access arguments' => $access_arguments,
// Identify URL embedded arguments and correlate them to a handler
- 'load arguments' => array($this->view->storage->name, $this->display['id'], '%index'),
+ 'load arguments' => array($this->view->storage->get('name'), $this->display['id'], '%index'),
);
$menu = $this->getOption('menu');
if (empty($menu)) {
@@ -202,7 +202,7 @@ class Page extends DisplayPluginBase {
'access callback' => 'views_access',
'access arguments' => $access_arguments,
// Identify URL embedded arguments and correlate them to a handler
- 'load arguments' => array($this->view->storage->name, $this->display['id'], '%index'),
+ 'load arguments' => array($this->view->storage->get('name'), $this->display['id'], '%index'),
'title' => $tab_options['title'],
'description' => $tab_options['description'],
'menu_name' => $tab_options['name'],
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/exposed_form/ExposedFormPluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/exposed_form/ExposedFormPluginBase.php
index 4cad847dcbca..dd3ddd0be86b 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/exposed_form/ExposedFormPluginBase.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/exposed_form/ExposedFormPluginBase.php
@@ -299,8 +299,8 @@ abstract class ExposedFormPluginBase extends PluginBase {
// remember settings.
$display_id = ($this->view->display_handler->isDefaulted('filters')) ? 'default' : $this->view->current_display;
- if (isset($_SESSION['views'][$this->view->storage->name][$display_id])) {
- unset($_SESSION['views'][$this->view->storage->name][$display_id]);
+ if (isset($_SESSION['views'][$this->view->storage->get('name')][$display_id])) {
+ unset($_SESSION['views'][$this->view->storage->get('name')][$display_id]);
}
// Set the form to allow redirect.
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/field/FieldPluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/field/FieldPluginBase.php
index b63ed694cbf6..5d10b4fbbb19 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/field/FieldPluginBase.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/field/FieldPluginBase.php
@@ -1597,19 +1597,19 @@ If you would like to have the characters \'[\' and \']\' please use the html ent
$display = $this->view->display_handler->display;
if (!empty($display)) {
- $themes[] = $hook . '__' . $this->view->storage->name . '__' . $display['id'] . '__' . $this->options['id'];
- $themes[] = $hook . '__' . $this->view->storage->name . '__' . $display['id'];
+ $themes[] = $hook . '__' . $this->view->storage->get('name') . '__' . $display['id'] . '__' . $this->options['id'];
+ $themes[] = $hook . '__' . $this->view->storage->get('name') . '__' . $display['id'];
$themes[] = $hook . '__' . $display['id'] . '__' . $this->options['id'];
$themes[] = $hook . '__' . $display['id'];
if ($display['id'] != $display['display_plugin']) {
- $themes[] = $hook . '__' . $this->view->storage->name . '__' . $display['display_plugin'] . '__' . $this->options['id'];
- $themes[] = $hook . '__' . $this->view->storage->name . '__' . $display['display_plugin'];
+ $themes[] = $hook . '__' . $this->view->storage->get('name') . '__' . $display['display_plugin'] . '__' . $this->options['id'];
+ $themes[] = $hook . '__' . $this->view->storage->get('name') . '__' . $display['display_plugin'];
$themes[] = $hook . '__' . $display['display_plugin'] . '__' . $this->options['id'];
$themes[] = $hook . '__' . $display['display_plugin'];
}
}
- $themes[] = $hook . '__' . $this->view->storage->name . '__' . $this->options['id'];
- $themes[] = $hook . '__' . $this->view->storage->name;
+ $themes[] = $hook . '__' . $this->view->storage->get('name') . '__' . $this->options['id'];
+ $themes[] = $hook . '__' . $this->view->storage->get('name');
$themes[] = $hook . '__' . $this->options['id'];
$themes[] = $hook;
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/filter/FilterPluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/filter/FilterPluginBase.php
index aa3b8d8a43b9..6b32ca3bc6e8 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/filter/FilterPluginBase.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/filter/FilterPluginBase.php
@@ -1241,8 +1241,8 @@ abstract class FilterPluginBase extends HandlerBase {
// false means that we got a setting that means to recuse ourselves,
// so we should erase whatever happened to be there.
- if ($status === FALSE && isset($_SESSION['views'][$this->view->storage->name][$display_id])) {
- $session = &$_SESSION['views'][$this->view->storage->name][$display_id];
+ if ($status === FALSE && isset($_SESSION['views'][$this->view->storage->get('name')][$display_id])) {
+ $session = &$_SESSION['views'][$this->view->storage->get('name')][$display_id];
if (isset($session[$this->options['group_info']['identifier']])) {
unset($session[$this->options['group_info']['identifier']]);
@@ -1250,11 +1250,11 @@ abstract class FilterPluginBase extends HandlerBase {
}
if ($status !== FALSE) {
- if (!isset($_SESSION['views'][$this->view->storage->name][$display_id])) {
- $_SESSION['views'][$this->view->storage->name][$display_id] = array();
+ if (!isset($_SESSION['views'][$this->view->storage->get('name')][$display_id])) {
+ $_SESSION['views'][$this->view->storage->get('name')][$display_id] = array();
}
- $session = &$_SESSION['views'][$this->view->storage->name][$display_id];
+ $session = &$_SESSION['views'][$this->view->storage->get('name')][$display_id];
$session[$this->options['group_info']['identifier']] = $input[$this->options['group_info']['identifier']];
}
@@ -1335,8 +1335,8 @@ abstract class FilterPluginBase extends HandlerBase {
// false means that we got a setting that means to recuse ourselves,
// so we should erase whatever happened to be there.
- if (!$status && isset($_SESSION['views'][$this->view->storage->name][$display_id])) {
- $session = &$_SESSION['views'][$this->view->storage->name][$display_id];
+ if (!$status && isset($_SESSION['views'][$this->view->storage->get('name')][$display_id])) {
+ $session = &$_SESSION['views'][$this->view->storage->get('name')][$display_id];
if ($operator && isset($session[$this->options['expose']['operator_id']])) {
unset($session[$this->options['expose']['operator_id']]);
}
@@ -1347,11 +1347,11 @@ abstract class FilterPluginBase extends HandlerBase {
}
if ($status) {
- if (!isset($_SESSION['views'][$this->view->storage->name][$display_id])) {
- $_SESSION['views'][$this->view->storage->name][$display_id] = array();
+ if (!isset($_SESSION['views'][$this->view->storage->get('name')][$display_id])) {
+ $_SESSION['views'][$this->view->storage->get('name')][$display_id] = array();
}
- $session = &$_SESSION['views'][$this->view->storage->name][$display_id];
+ $session = &$_SESSION['views'][$this->view->storage->get('name')][$display_id];
if ($operator && isset($input[$this->options['expose']['operator_id']])) {
$session[$this->options['expose']['operator_id']] = $input[$this->options['expose']['operator_id']];
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/query/Sql.php b/core/modules/views/lib/Drupal/views/Plugin/views/query/Sql.php
index be80b2340dc5..ab74e1e68236 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/query/Sql.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/query/Sql.php
@@ -1281,7 +1281,7 @@ class Sql extends QueryPluginBase {
$query = Database::getConnection($target, $key)
->select($this->base_table, $this->base_table, $options)
->addTag('views')
- ->addTag('views_' . $this->view->storage->name);
+ ->addTag('views_' . $this->view->storage->get('name'));
// Add the tags added to the view itself.
foreach ($this->tags as $tag) {
@@ -1512,7 +1512,7 @@ class Sql extends QueryPluginBase {
drupal_set_message($e->getMessage(), 'error');
}
else {
- throw new DatabaseExceptionWrapper(format_string('Exception in @human_name[@view_name]: @message', array('@human_name' => $view->storage->getHumanName(), '@view_name' => $view->storage->name, '@message' => $e->getMessage())));
+ throw new DatabaseExceptionWrapper(format_string('Exception in @human_name[@view_name]: @message', array('@human_name' => $view->storage->getHumanName(), '@view_name' => $view->storage->get('name'), '@message' => $e->getMessage())));
}
}
@@ -1643,7 +1643,7 @@ class Sql extends QueryPluginBase {
}
function add_signature(ViewExecutable $view) {
- $view->query->add_field(NULL, "'" . $view->storage->name . ':' . $view->current_display . "'", 'view_name');
+ $view->query->add_field(NULL, "'" . $view->storage->get('name') . ':' . $view->current_display . "'", 'view_name');
}
function get_aggregation_info() {
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/relationship/GroupwiseMax.php b/core/modules/views/lib/Drupal/views/Plugin/views/relationship/GroupwiseMax.php
index a915544c2e16..1ebcd54a5b7d 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/relationship/GroupwiseMax.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/relationship/GroupwiseMax.php
@@ -132,10 +132,10 @@ class GroupwiseMax extends RelationshipPluginBase {
// TODO: check the field is the correct sort?
// or let users hang themselves at this stage and check later?
if ($view->type == 'Default') {
- $views[t('Default Views')][$view->storage->name] = $view->storage->name;
+ $views[t('Default Views')][$view->storage->get('name')] = $view->storage->get('name');
}
else {
- $views[t('Existing Views')][$view->storage->name] = $view->storage->name;
+ $views[t('Existing Views')][$view->storage->get('name')] = $view->storage->get('name');
}
}
}
@@ -171,7 +171,7 @@ class GroupwiseMax extends RelationshipPluginBase {
* When the form is submitted, take sure to clear the subquery string cache.
*/
public function submitOptionsForm(&$form, &$form_state) {
- $cid = 'views_relationship_groupwise_max:' . $this->view->storage->name . ':' . $this->view->current_display . ':' . $this->options['id'];
+ $cid = 'views_relationship_groupwise_max:' . $this->view->storage->get('name') . ':' . $this->view->current_display . ':' . $this->options['id'];
cache('views_results')->delete($cid);
}
@@ -362,7 +362,7 @@ class GroupwiseMax extends RelationshipPluginBase {
}
else {
// Get the stored subquery SQL string.
- $cid = 'views_relationship_groupwise_max:' . $this->view->storage->name . ':' . $this->view->current_display . ':' . $this->options['id'];
+ $cid = 'views_relationship_groupwise_max:' . $this->view->storage->get('name') . ':' . $this->view->current_display . ':' . $this->options['id'];
$cache = cache('views_results')->get($cid);
if (isset($cache->data)) {
$def['left_query'] = $cache->data;
diff --git a/core/modules/views/lib/Drupal/views/Tests/DefaultViewsTest.php b/core/modules/views/lib/Drupal/views/Tests/DefaultViewsTest.php
index 126f4a325e2c..7e374529a8af 100644
--- a/core/modules/views/lib/Drupal/views/Tests/DefaultViewsTest.php
+++ b/core/modules/views/lib/Drupal/views/Tests/DefaultViewsTest.php
@@ -124,7 +124,7 @@ class DefaultViewsTest extends WebTestBase {
foreach ($views as $name => $view_storage) {
$view = new ViewExecutable($view_storage);
$view->initDisplay();
- foreach ($view->storage->display as $display_id => $display) {
+ foreach ($view->storage->get('display') as $display_id => $display) {
$view->setDisplay($display_id);
// Add any args if needed.
@@ -132,7 +132,7 @@ class DefaultViewsTest extends WebTestBase {
$view->preExecute($this->viewArgMap[$name]);
}
- $this->assert(TRUE, format_string('View @view will be executed.', array('@view' => $view->storage->name)));
+ $this->assert(TRUE, format_string('View @view will be executed.', array('@view' => $view->storage->get('name'))));
$view->execute();
$tokens = array('@name' => $name, '@display_id' => $display_id);
diff --git a/core/modules/views/lib/Drupal/views/Tests/Plugin/CacheTest.php b/core/modules/views/lib/Drupal/views/Tests/Plugin/CacheTest.php
index 683f6302a3b6..58bf75151f29 100644
--- a/core/modules/views/lib/Drupal/views/Tests/Plugin/CacheTest.php
+++ b/core/modules/views/lib/Drupal/views/Tests/Plugin/CacheTest.php
@@ -39,7 +39,7 @@ class CacheTest extends PluginTestBase {
// Create the basic view.
$view = $this->createViewFromConfig('test_view');
$view->storage->addDisplay('default');
- $view->storage->base_table = 'views_test_data';
+ $view->storage->set('base_table', 'views_test_data');
// Set up the fields we need.
$display = $view->storage->newDisplay('default', 'Master', 'default');
@@ -167,7 +167,7 @@ class CacheTest extends PluginTestBase {
// Some hook_views_pre_render in views_test_data.module adds the test css/js file.
// so they should be added to the css/js storage.
$view = $this->getView();
- $view->storage->name = 'test_cache_header_storage';
+ $view->storage->set('name', 'test_cache_header_storage');
$view->display_handler->overrideOption('cache', array(
'type' => 'time',
'options' => array(
@@ -193,7 +193,7 @@ class CacheTest extends PluginTestBase {
// Now add some css/jss before running the view.
// Make sure that this css is not added when running the cached view.
- $view->storage->name = 'test_cache_header_storage_2';
+ $view->storage->set('name', 'test_cache_header_storage_2');
$system_css_path = drupal_get_path('module', 'system') . '/system.maintenance.css';
drupal_add_css($system_css_path);
diff --git a/core/modules/views/lib/Drupal/views/Tests/Plugin/DisplayTest.php b/core/modules/views/lib/Drupal/views/Tests/Plugin/DisplayTest.php
index 9b369b3799ed..b071b9ed7857 100644
--- a/core/modules/views/lib/Drupal/views/Tests/Plugin/DisplayTest.php
+++ b/core/modules/views/lib/Drupal/views/Tests/Plugin/DisplayTest.php
@@ -53,8 +53,9 @@ class DisplayTest extends PluginTestBase {
// Add a new 'display_test' display and test it's there.
$view->storage->addDisplay('display_test');
+ $displays = $view->storage->get('display');
- $this->assertTrue(isset($view->storage->display['display_test_1']), 'Added display has been assigned to "display_test_1"');
+ $this->assertTrue(isset($displays['display_test_1']), 'Added display has been assigned to "display_test_1"');
// Check the the display options are like expected.
$options = array(
@@ -64,7 +65,7 @@ class DisplayTest extends PluginTestBase {
'display_title' => 'Display test',
'position' => NULL,
);
- $this->assertEqual($view->storage->display['display_test_1'], $options);
+ $this->assertEqual($displays['display_test_1'], $options);
$view->setDisplay('display_test_1');
diff --git a/core/modules/views/lib/Drupal/views/Tests/UI/DisplayExtenderUITest.php b/core/modules/views/lib/Drupal/views/Tests/UI/DisplayExtenderUITest.php
index e46aecba8be4..8c610504df99 100644
--- a/core/modules/views/lib/Drupal/views/Tests/UI/DisplayExtenderUITest.php
+++ b/core/modules/views/lib/Drupal/views/Tests/UI/DisplayExtenderUITest.php
@@ -27,7 +27,7 @@ class DisplayExtenderUITest extends UITestBase {
config('views.settings')->set('display_extenders', array('display_extender_test'))->save();
$view = $this->getView();
- $view_edit_url = "admin/structure/views/view/{$view->storage->name}/edit";
+ $view_edit_url = "admin/structure/views/view/{$view->storage->get('name')}/edit";
$display_option_url = 'admin/structure/views/nojs/display/test_view/default/test_extender_test_option';
$this->drupalGet($view_edit_url);
@@ -37,7 +37,7 @@ class DisplayExtenderUITest extends UITestBase {
$this->drupalPost($display_option_url, array('test_extender_test_option' => $random_text), t('Apply'));
$this->assertLink($random_text);
$this->drupalPost(NULL, array(), t('Save'));
- $view = views_get_view($view->storage->name);
+ $view = views_get_view($view->storage->get('name'));
$view->initDisplay();
$this->assertEqual($view->display_handler->getOption('test_extender_test_option'), $random_text, 'Make sure that the display extender option got saved.');
}
diff --git a/core/modules/views/lib/Drupal/views/Tests/UI/DisplayTest.php b/core/modules/views/lib/Drupal/views/Tests/UI/DisplayTest.php
index 42cae463a3a2..fd35ca65b50f 100644
--- a/core/modules/views/lib/Drupal/views/Tests/UI/DisplayTest.php
+++ b/core/modules/views/lib/Drupal/views/Tests/UI/DisplayTest.php
@@ -117,9 +117,10 @@ class DisplayTest extends UITestBase {
$this->drupalPost(NULL, array(), t('Save'));
$view = views_get_view($view['name']);
- $this->assertEqual($view->storage->display['default']['position'], 0, 'Make sure the master display comes first.');
- $this->assertEqual($view->storage->display['block_1']['position'], 1, 'Make sure the block display comes before the page display.');
- $this->assertEqual($view->storage->display['page_1']['position'], 2, 'Make sure the page display comes after the block display.');
+ $displays = $view->storage->get('display');
+ $this->assertEqual($displays['default']['position'], 0, 'Make sure the master display comes first.');
+ $this->assertEqual($displays['block_1']['position'], 1, 'Make sure the block display comes before the page display.');
+ $this->assertEqual($displays['page_1']['position'], 2, 'Make sure the page display comes after the block display.');
}
/**
diff --git a/core/modules/views/lib/Drupal/views/Tests/UI/RedirectTest.php b/core/modules/views/lib/Drupal/views/Tests/UI/RedirectTest.php
index a5a9d40ab371..75e38c3d8a07 100644
--- a/core/modules/views/lib/Drupal/views/Tests/UI/RedirectTest.php
+++ b/core/modules/views/lib/Drupal/views/Tests/UI/RedirectTest.php
@@ -27,7 +27,7 @@ class RedirectTest extends UITestBase {
$view = $this->getBasicView();
$random_destination = $this->randomName();
- $edit_path = "admin/structure/views/view/{$view->storage->name}/edit";
+ $edit_path = "admin/structure/views/view/{$view->storage->get('name')}/edit";
$this->drupalPost($edit_path, array(), t('Save') , array('query' => array('destination' => $random_destination)));
$this->assertUrl($random_destination, array(), 'Make sure the user got redirected to the expected page defined in the destination.');
@@ -39,8 +39,8 @@ class RedirectTest extends UITestBase {
$random_destination = $this->randomName();
$new_path = $this->randomName();
- $edit_path = "admin/structure/views/view/{$view->storage->name}/edit";
- $path_edit_path = "admin/structure/views/nojs/display/{$view->storage->name}/page_1/path";
+ $edit_path = "admin/structure/views/view/{$view->storage->get('name')}/edit";
+ $path_edit_path = "admin/structure/views/nojs/display/{$view->storage->get('name')}/page_1/path";
$this->drupalPost($path_edit_path, array('path' => $new_path), t('Apply'));
$this->drupalPost($edit_path, array(), t('Save'), array('query' => array('destination' => 'test-redirect-view')));
diff --git a/core/modules/views/lib/Drupal/views/Tests/UI/RowUITest.php b/core/modules/views/lib/Drupal/views/Tests/UI/RowUITest.php
index 7d7b2457cc8f..579dab2dbcaa 100644
--- a/core/modules/views/lib/Drupal/views/Tests/UI/RowUITest.php
+++ b/core/modules/views/lib/Drupal/views/Tests/UI/RowUITest.php
@@ -27,10 +27,10 @@ class RowUITest extends UITestBase {
*/
public function testRowUI() {
$view = $this->getView();
- $view_edit_url = "admin/structure/views/view/{$view->storage->name}/edit";
+ $view_edit_url = "admin/structure/views/view/{$view->storage->get('name')}/edit";
- $row_plugin_url = "admin/structure/views/nojs/display/{$view->storage->name}/default/row";
- $row_options_url = "admin/structure/views/nojs/display/{$view->storage->name}/default/row_options";
+ $row_plugin_url = "admin/structure/views/nojs/display/{$view->storage->get('name')}/default/row";
+ $row_options_url = "admin/structure/views/nojs/display/{$view->storage->get('name')}/default/row_options";
$this->drupalGet($row_plugin_url);
$this->assertFieldByName('row', 'fields', 'The default row plugin selected in the UI should be fields.');
@@ -51,7 +51,7 @@ class RowUITest extends UITestBase {
$this->drupalPost($view_edit_url, array(), t('Save'));
$this->assertLink(t('Test row plugin'), 0, 'Make sure the test row plugin is shown in the UI');
- $view = views_get_view($view->storage->name);
+ $view = views_get_view($view->storage->get('name'));
$view->initDisplay();
$row = $view->display_handler->getOption('row');
$this->assertEqual($row['type'], 'test_row', 'Make sure that the test_row got saved as used row plugin.');
diff --git a/core/modules/views/lib/Drupal/views/Tests/UI/StorageTest.php b/core/modules/views/lib/Drupal/views/Tests/UI/StorageTest.php
index 328613e1c2f4..3614243fb717 100644
--- a/core/modules/views/lib/Drupal/views/Tests/UI/StorageTest.php
+++ b/core/modules/views/lib/Drupal/views/Tests/UI/StorageTest.php
@@ -28,7 +28,7 @@ class StorageTest extends UITestBase {
public function testDetails() {
$view = $this->getBasicView();
- $path = "admin/structure/views/nojs/edit-details/{$view->storage->name}";
+ $path = "admin/structure/views/nojs/edit-details/{$view->storage->get('name')}";
$edit = array(
'human_name' => $this->randomName(),
'tag' => $this->randomName(),
@@ -37,7 +37,7 @@ class StorageTest extends UITestBase {
$this->drupalPost($path, $edit, t('Apply'));
$this->drupalPost(NULL, array(), t('Save'));
- $view = views_get_view($view->storage->name);
+ $view = views_get_view($view->storage->get('name'));
foreach (array('human_name', 'tag', 'description') as $property) {
$this->assertEqual($view->storage->{$property}, $edit[$property], format_string('Make sure the property @property got probably saved.', array('@property' => $property)));
diff --git a/core/modules/views/lib/Drupal/views/Tests/UI/StyleUITest.php b/core/modules/views/lib/Drupal/views/Tests/UI/StyleUITest.php
index 5255af9dc72f..252f67a5aa2c 100644
--- a/core/modules/views/lib/Drupal/views/Tests/UI/StyleUITest.php
+++ b/core/modules/views/lib/Drupal/views/Tests/UI/StyleUITest.php
@@ -27,10 +27,10 @@ class StyleUITest extends UITestBase {
*/
public function testStyleUI() {
$view = $this->getView();
- $view_edit_url = "admin/structure/views/view/{$view->storage->name}/edit";
+ $view_edit_url = "admin/structure/views/view/{$view->storage->get('name')}/edit";
- $style_plugin_url = "admin/structure/views/nojs/display/{$view->storage->name}/default/style";
- $style_options_url = "admin/structure/views/nojs/display/{$view->storage->name}/default/style_options";
+ $style_plugin_url = "admin/structure/views/nojs/display/{$view->storage->get('name')}/default/style";
+ $style_options_url = "admin/structure/views/nojs/display/{$view->storage->get('name')}/default/style_options";
$this->drupalGet($style_plugin_url);
$this->assertFieldByName('style', 'default', 'The default style plugin selected in the UI should be unformatted list.');
@@ -51,7 +51,7 @@ class StyleUITest extends UITestBase {
$this->drupalPost($view_edit_url, array(), t('Save'));
$this->assertLink(t('Test style plugin'), 0, 'Make sure the test style plugin is shown in the UI');
- $view = views_get_view($view->storage->name);
+ $view = views_get_view($view->storage->get('name'));
$view->initDisplay();
$style = $view->display_handler->getOption('style');
$this->assertEqual($style['type'], 'test_style', 'Make sure that the test_style got saved as used style plugin.');
diff --git a/core/modules/views/lib/Drupal/views/Tests/ViewStorageTest.php b/core/modules/views/lib/Drupal/views/Tests/ViewStorageTest.php
index 2c0e1c24286c..a54bbd5fa490 100644
--- a/core/modules/views/lib/Drupal/views/Tests/ViewStorageTest.php
+++ b/core/modules/views/lib/Drupal/views/Tests/ViewStorageTest.php
@@ -464,7 +464,7 @@ class ViewStorageTest extends ViewTestBase {
}
// Check the displays are the same.
- foreach ($view->storage->display as $id => $display) {
+ foreach ($view->storage->get('display') as $id => $display) {
// assertIdentical will not work here.
$this->assertEqual($display, $copy->display[$id], format_string('The @display display has been copied correctly.', array('@display' => $id)));
}
diff --git a/core/modules/views/lib/Drupal/views/ViewExecutable.php b/core/modules/views/lib/Drupal/views/ViewExecutable.php
index 36aaee80ab90..b295b9e96ac4 100644
--- a/core/modules/views/lib/Drupal/views/ViewExecutable.php
+++ b/core/modules/views/lib/Drupal/views/ViewExecutable.php
@@ -558,8 +558,8 @@ class ViewExecutable {
// remember settings.
$display_id = ($this->display_handler->isDefaulted('filters')) ? 'default' : $this->current_display;
- if (empty($this->exposed_input) && !empty($_SESSION['views'][$this->storage->name][$display_id])) {
- $this->exposed_input = $_SESSION['views'][$this->storage->name][$display_id];
+ if (empty($this->exposed_input) && !empty($_SESSION['views'][$this->storage->get('name')][$display_id])) {
+ $this->exposed_input = $_SESSION['views'][$this->storage->get('name')][$display_id];
}
}
@@ -575,11 +575,12 @@ class ViewExecutable {
}
// Instantiate all displays
- foreach (array_keys($this->storage->display) as $id) {
- $this->displayHandlers[$id] = views_get_plugin('display', $this->storage->display[$id]['display_plugin']);
+ foreach ($this->storage->get('display') as $id => $display) {
+ $this->displayHandlers[$id] = views_get_plugin('display', $display['display_plugin']);
if (!empty($this->displayHandlers[$id])) {
// Initialize the new display handler with data.
- $this->displayHandlers[$id]->init($this, $this->storage->display[$id]);
+ // @todo Refactor display to not need the handler data by reference.
+ $this->displayHandlers[$id]->init($this, $this->storage->getDisplay($id));
// If this is NOT the default display handler, let it know which is
// since it may well utilize some data from the default.
// This assumes that the 'default' handler is always first. It always
@@ -650,7 +651,7 @@ class ViewExecutable {
if (empty($this->displayHandlers[$display_id])) {
$display_id = 'default';
if (empty($this->displayHandlers[$display_id])) {
- debug('set_display() called with invalid display ID @display.', array('@display' => $display_id));
+ debug(format_string('set_display() called with invalid display ID @display.', array('@display' => $display_id)));
return FALSE;
}
}
@@ -753,7 +754,7 @@ class ViewExecutable {
*/
public function getBaseTables() {
$base_tables = array(
- $this->storage->base_table => TRUE,
+ $this->storage->get('base_table') => TRUE,
'#global' => TRUE,
);
@@ -937,8 +938,8 @@ class ViewExecutable {
}
// Create and initialize the query object.
- $views_data = views_fetch_data($this->storage->base_table);
- $this->storage->base_field = !empty($views_data['table']['base']['field']) ? $views_data['table']['base']['field'] : '';
+ $views_data = views_fetch_data($this->storage->get('base_table'));
+ $this->storage->set('base_field', !empty($views_data['table']['base']['field']) ? $views_data['table']['base']['field'] : '');
if (!empty($views_data['table']['base']['database'])) {
$this->base_database = $views_data['table']['base']['database'];
}
@@ -954,7 +955,7 @@ class ViewExecutable {
return FALSE;
}
- $this->query->init($this->storage->base_table, $this->storage->base_field, $query_options['options']);
+ $this->query->init($this->storage->get('base_table'), $this->storage->get('base_field'), $query_options['options']);
return TRUE;
}
@@ -1434,7 +1435,7 @@ class ViewExecutable {
}
// Allow hook_views_pre_view() to set the dom_id, then ensure it is set.
- $this->dom_id = !empty($this->dom_id) ? $this->dom_id : md5($this->storage->name . REQUEST_TIME . rand());
+ $this->dom_id = !empty($this->dom_id) ? $this->dom_id : md5($this->storage->get('name') . REQUEST_TIME . rand());
// Allow the display handler to set up for execution
$this->display_handler->preExecute();
@@ -2210,7 +2211,8 @@ class ViewExecutable {
*/
public function &newDisplay($id) {
// Create a handler.
- $this->displayHandlers[$id] = views_get_plugin('display', $this->storage->display[$id]['display_plugin']);
+ $display = $this->storage->get('display');
+ $this->displayHandlers[$id] = views_get_plugin('display', $display[$id]['display_plugin']);
if (empty($this->displayHandlers[$id])) {
// provide a 'default' handler as an emergency. This won't work well but
// it will keep things from crashing.
@@ -2219,13 +2221,14 @@ class ViewExecutable {
if (!empty($this->displayHandlers[$id])) {
// Initialize the new display handler with data.
- $this->displayHandlers[$id]->init($this, $this->storage->display[$id]);
+ $this->displayHandlers[$id]->init($this, $display[$id]);
// If this is NOT the default display handler, let it know which is
if ($id != 'default') {
// @todo is the '&' still required in php5?
$this->displayHandlers[$id]->default_display = &$this->displayHandlers['default'];
}
}
+ $this->storage->set('display', $display);
return $this->displayHandlers[$id];
}
diff --git a/core/modules/views/lib/Drupal/views/ViewStorage.php b/core/modules/views/lib/Drupal/views/ViewStorage.php
index d4ae36c765e7..5b06a41711e1 100644
--- a/core/modules/views/lib/Drupal/views/ViewStorage.php
+++ b/core/modules/views/lib/Drupal/views/ViewStorage.php
@@ -329,6 +329,19 @@ class ViewStorage extends ConfigEntityBase implements ViewStorageInterface {
return $this->getExecutable()->newDisplay($id);
}
+ /**
+ * Retrieves a specific display's configuration by reference.
+ *
+ * @param string $display_id
+ * The display ID to retrieve, e.g., 'default', 'page_1', 'block_2'.
+ *
+ * @return array
+ * A reference to the specified display configuration.
+ */
+ public function &getDisplay($display_id) {
+ return $this->display[$display_id];
+ }
+
/**
* Gets a list of displays included in the view.
*
diff --git a/core/modules/views/tests/views_test_data/views_test_data.module b/core/modules/views/tests/views_test_data/views_test_data.module
index 9dcd5e69e976..bf813e87e672 100644
--- a/core/modules/views/tests/views_test_data/views_test_data.module
+++ b/core/modules/views/tests/views_test_data/views_test_data.module
@@ -75,7 +75,7 @@ function views_test_data_handler_test_access_callback_argument($argument = FALSE
* Implements hook_views_pre_render().
*/
function views_test_data_views_pre_render(ViewExecutable $view) {
- if ($view->storage->name == 'test_cache_header_storage') {
+ if ($view->storage->get('name') == 'test_cache_header_storage') {
drupal_add_js(drupal_get_path('module', 'views_test_data') . '/views_cache.test.js');
drupal_add_css(drupal_get_path('module', 'views_test_data') . '/views_cache.test.css');
$view->build_info['pre_render_called'] = TRUE;
@@ -86,7 +86,7 @@ function views_test_data_views_pre_render(ViewExecutable $view) {
* Implements hook_views_post_build().
*/
function views_test_data_views_post_build(ViewExecutable $view) {
- if ($view->storage->name == 'test_page_display') {
+ if ($view->storage->get('name') == 'test_page_display') {
if ($view->current_display == 'page_1') {
$view->build_info['denied'] = TRUE;
}
diff --git a/core/modules/views/theme/theme.inc b/core/modules/views/theme/theme.inc
index 40ce8fe9cf08..0a4564205f9b 100644
--- a/core/modules/views/theme/theme.inc
+++ b/core/modules/views/theme/theme.inc
@@ -22,19 +22,19 @@ function _views_theme_functions($hook, ViewExecutable $view, $display = NULL) {
$themes = array();
if ($display) {
- $themes[] = $hook . '__' . $view->storage->name . '__' . $display['id'];
+ $themes[] = $hook . '__' . $view->storage->get('name') . '__' . $display['id'];
$themes[] = $hook . '__' . $display['id'];
// Add theme suggestions for each single tag.
- foreach (drupal_explode_tags($view->storage->tag) as $tag) {
+ foreach (drupal_explode_tags($view->storage->get('tag')) as $tag) {
$themes[] = $hook . '__' . preg_replace('/[^a-z0-9]/', '_', strtolower($tag));
}
if ($display['id'] != $display['display_plugin']) {
- $themes[] = $hook . '__' . $view->storage->name . '__' . $display['display_plugin'];
+ $themes[] = $hook . '__' . $view->storage->get('name') . '__' . $display['display_plugin'];
$themes[] = $hook . '__' . $display['display_plugin'];
}
}
- $themes[] = $hook . '__' . $view->storage->name;
+ $themes[] = $hook . '__' . $view->storage->get('name');
$themes[] = $hook;
return $themes;
}
@@ -49,8 +49,8 @@ function template_preprocess_views_view(&$vars) {
$vars['rows'] = (!empty($view->result) || $view->style_plugin->even_empty()) ? $view->style_plugin->render($view->result) : '';
- $vars['css_name'] = drupal_clean_css_identifier($view->storage->name);
- $vars['name'] = $view->storage->name;
+ $vars['css_name'] = drupal_clean_css_identifier($view->storage->get('name'));
+ $vars['name'] = $view->storage->get('name');
$vars['display_id'] = $view->current_display;
// Basic classes
@@ -125,7 +125,7 @@ function template_preprocess_views_view(&$vars) {
'ajax_path' => url('views/ajax'),
'ajaxViews' => array(
'views_dom_id:' . $vars['dom_id'] => array(
- 'view_name' => $view->storage->name,
+ 'view_name' => $view->storage->get('name'),
'view_display_id' => $view->current_display,
'view_args' => check_plain(implode('/', $view->args)),
'view_path' => check_plain(current_path()),
diff --git a/core/modules/views/views.module b/core/modules/views/views.module
index 0eb12956baa6..52de65c1ddc3 100644
--- a/core/modules/views/views.module
+++ b/core/modules/views/views.module
@@ -70,7 +70,7 @@ function views_forms($form_id, $args) {
function views_form_id($view) {
$parts = array(
'views_form',
- $view->storage->name,
+ $view->storage->get('name'),
$view->current_display,
);
@@ -333,7 +333,7 @@ function views_plugin_list() {
}
// Add this view to the list for this plugin.
- $plugins[$key]['views'][$view->storage->name] = $view->storage->name;
+ $plugins[$key]['views'][$view->storage->get('name')] = $view->storage->get('name');
}
}
}
@@ -350,11 +350,11 @@ function views_plugin_list() {
*/
function views_preprocess_node(&$vars) {
// The 'view' attribute of the node is added in views_preprocess_node()
- if (!empty($vars['node']->view) && !empty($vars['node']->view->storage->name)) {
+ if (!empty($vars['node']->view) && $vars['node']->view->storage->get('name')) {
$vars['view'] = $vars['node']->view;
- $vars['theme_hook_suggestions'][] = 'node__view__' . $vars['node']->view->storage->name;
+ $vars['theme_hook_suggestions'][] = 'node__view__' . $vars['node']->view->storage->get('name');
if (!empty($vars['node']->view->current_display)) {
- $vars['theme_hook_suggestions'][] = 'node__view__' . $vars['node']->view->storage->name . '__' . $vars['node']->view->current_display;
+ $vars['theme_hook_suggestions'][] = 'node__view__' . $vars['node']->view->storage->get('name') . '__' . $vars['node']->view->current_display;
// If a node is being rendered in a view, and the view does not have a path,
// prevent drupal from accidentally setting the $page variable:
@@ -376,11 +376,11 @@ function views_preprocess_node(&$vars) {
*/
function views_preprocess_comment(&$vars) {
// The 'view' attribute of the node is added in template_preprocess_views_view_row_comment()
- if (!empty($vars['comment']->view) && !empty($vars['comment']->view->storage->name)) {
+ if (!empty($vars['comment']->view) && $vars['comment']->view->storage->get('name')) {
$vars['view'] = &$vars['comment']->view;
- $vars['theme_hook_suggestions'][] = 'comment__view__' . $vars['comment']->view->storage->name;
+ $vars['theme_hook_suggestions'][] = 'comment__view__' . $vars['comment']->view->storage->get('name');
if (!empty($vars['node']->view->current_display)) {
- $vars['theme_hook_suggestions'][] = 'comment__view__' . $vars['comment']->view->storage->name . '__' . $vars['comment']->view->current_display;
+ $vars['theme_hook_suggestions'][] = 'comment__view__' . $vars['comment']->view->storage->get('name') . '__' . $vars['comment']->view->current_display;
}
}
}
@@ -903,7 +903,7 @@ function views_add_contextual_links(&$render_element, $location, ViewExecutable
$render_element['#views_contextual_links_info'][$module] = array(
'location' => $location,
'view' => $view,
- 'view_name' => $view->storage->name,
+ 'view_name' => $view->storage->get('name'),
'view_display_id' => $display_id,
);
}
@@ -1796,7 +1796,7 @@ function views_exposed_form($form, &$form_state) {
// Let form plugins know this is for exposed widgets.
$form_state['exposed'] = TRUE;
// Check if the form was already created
- if ($cache = views_exposed_form_cache($view->storage->name, $view->current_display)) {
+ if ($cache = views_exposed_form_cache($view->storage->get('name'), $view->current_display)) {
return $cache;
}
@@ -1830,12 +1830,12 @@ function views_exposed_form($form, &$form_state) {
'#name' => '',
'#type' => 'submit',
'#value' => t('Apply'),
- '#id' => drupal_html_id('edit-submit-' . $view->storage->name),
+ '#id' => drupal_html_id('edit-submit-' . $view->storage->get('name')),
);
$form['#action'] = url($view->display_handler->getUrl());
$form['#theme'] = views_theme_functions('views_exposed_form', $view, $display);
- $form['#id'] = drupal_clean_css_identifier('views_exposed_form-' . check_plain($view->storage->name) . '-' . check_plain($display['id']));
+ $form['#id'] = drupal_clean_css_identifier('views_exposed_form-' . check_plain($view->storage->get('name')) . '-' . check_plain($display['id']));
// $form['#attributes']['class'] = array('views-exposed-form');
// If using AJAX, we need the form plugin.
@@ -1847,7 +1847,7 @@ function views_exposed_form($form, &$form_state) {
$exposed_form_plugin->exposed_form_alter($form, $form_state);
// Save the form
- views_exposed_form_cache($view->storage->name, $view->current_display, $form);
+ views_exposed_form_cache($view->storage->get('name'), $view->current_display, $form);
return $form;
}
diff --git a/core/modules/views/views.tokens.inc b/core/modules/views/views.tokens.inc
index bb6315efcf88..4674d1b7867b 100644
--- a/core/modules/views/views.tokens.inc
+++ b/core/modules/views/views.tokens.inc
@@ -86,11 +86,11 @@ function views_tokens($type, $tokens, array $data = array(), array $options = ar
break;
case 'description':
- $replacements[$original] = $sanitize ? check_plain($view->storage->description) : $view->storage->description;
+ $replacements[$original] = $sanitize ? check_plain($view->storage->get('description')) : $view->storage->get('description');
break;
case 'machine-name':
- $replacements[$original] = $view->storage->name;
+ $replacements[$original] = $view->storage->get('name');
break;
case 'title':
@@ -104,10 +104,10 @@ function views_tokens($type, $tokens, array $data = array(), array $options = ar
}
break;
case 'base-table':
- $replacements[$original] = $view->storage->base_table;
+ $replacements[$original] = $view->storage->get('base_table');
break;
case 'base-field':
- $replacements[$original] = $view->storage->base_field;
+ $replacements[$original] = $view->storage->get('base_field');
break;
case 'total-rows':
$replacements[$original] = count($view->result);
diff --git a/core/modules/views/views_ui/admin.inc b/core/modules/views/views_ui/admin.inc
index 724bac2aa7f6..83113aae74c4 100644
--- a/core/modules/views/views_ui/admin.inc
+++ b/core/modules/views/views_ui/admin.inc
@@ -369,7 +369,7 @@ function views_ui_add_form_store_edit_submit($form, &$form_state) {
$destination = drupal_get_destination();
$query->remove('destination');
}
- $form_state['redirect'] = array('admin/structure/views/view/' . $view->storage->name, array('query' => $destination));
+ $form_state['redirect'] = array('admin/structure/views/view/' . $view->storage->get('name'), array('query' => $destination));
}
/**
@@ -435,19 +435,19 @@ function views_ui_break_lock_confirm($form, &$form_state, ViewUI $view) {
$form = array();
if (empty($view->locked)) {
- $form['message']['#markup'] = t('There is no lock on view %name to break.', array('%name' => $view->storage->name));
+ $form['message']['#markup'] = t('There is no lock on view %name to break.', array('%name' => $view->storage->get('name')));
return $form;
}
$cancel = drupal_container()->get('request')->query->get('cancel');
if (empty($cancel)) {
- $cancel = 'admin/structure/views/view/' . $view->storage->name . '/edit';
+ $cancel = 'admin/structure/views/view/' . $view->storage->get('name') . '/edit';
}
$account = user_load($view->locked->owner);
$form = confirm_form($form,
t('Are you sure you want to break the lock on view %name?',
- array('%name' => $view->storage->name)),
+ array('%name' => $view->storage->get('name'))),
$cancel,
t('By breaking this lock, any unsaved changes made by !user will be lost!', array('!user' => theme('username', array('account' => $account)))),
t('Break lock'),
@@ -598,10 +598,11 @@ function views_ui_edit_view_form_validate($form, &$form_state) {
*/
function views_ui_edit_view_form_submit($form, &$form_state) {
// Go through and remove displayed scheduled for removal.
- foreach ($form_state['view']->storage->display as $id => $display) {
+ $displays = $form_state['view']->storage->get('display');
+ foreach ($displays as $id => $display) {
if (!empty($display['deleted'])) {
unset($form_state['view']->displayHandlers[$id]);
- unset($form_state['view']->storage->display[$id]);
+ unset($displays[$id]);
}
}
// Rename display ids if needed.
@@ -611,12 +612,13 @@ function views_ui_edit_view_form_submit($form, &$form_state) {
$form_state['view']->displayHandlers[$new_id] = $form_state['view']->displayHandlers[$id];
$form_state['view']->displayHandlers[$new_id]->display['id'] = $new_id;
- $form_state['view']->storage->display[$new_id] = $form_state['view']->storage->display[$id];
- unset($form_state['view']->storage->display[$id]);
+ $displays[$new_id] = $displays[$id];
+ unset($displays[$id]);
// Redirect the user to the renamed display to be sure that the page itself exists and doesn't throw errors.
- $form_state['redirect'] = 'admin/structure/views/view/' . $form_state['view']->storage->name . '/edit/' . $new_id;
+ $form_state['redirect'] = 'admin/structure/views/view/' . $form_state['view']->storage->get('name') . '/edit/' . $new_id;
}
}
+ $form_state['view']->storage->set('display', $displays);
// Direct the user to the right url, if the path of the display has changed.
$query = drupal_container()->get('request')->query;
@@ -624,7 +626,7 @@ function views_ui_edit_view_form_submit($form, &$form_state) {
$destination = $query->get('destination');
if (!empty($destination)) {
// Find out the first display which has a changed path and redirect to this url.
- $old_view = views_get_view($form_state['view']->storage->name);
+ $old_view = views_get_view($form_state['view']->storage->get('name'));
$old_view->initDisplay();
foreach ($old_view->displayHandlers as $id => $display) {
// Only check for displays with a path.
@@ -648,7 +650,7 @@ function views_ui_edit_view_form_submit($form, &$form_state) {
drupal_set_message(t('The view %name has been saved.', array('%name' => $form_state['view']->storage->getHumanName())));
// Remove this view from cache so we can edit it properly.
- drupal_container()->get('user.tempstore')->get('views')->delete($form_state['view']->storage->name);
+ drupal_container()->get('user.tempstore')->get('views')->delete($form_state['view']->storage->get('name'));
}
/**
@@ -656,7 +658,7 @@ function views_ui_edit_view_form_submit($form, &$form_state) {
*/
function views_ui_edit_view_form_cancel($form, &$form_state) {
// Remove this view from cache so edits will be lost.
- drupal_container()->get('user.tempstore')->get('views')->delete($form_state['view']->storage->name);
+ drupal_container()->get('user.tempstore')->get('views')->delete($form_state['view']->storage->get('name'));
if (empty($form['view']->vid)) {
// I seem to have to drupal_goto here because I can't get fapi to
// honor the redirect target. Not sure what I screwed up here.
@@ -797,7 +799,7 @@ function views_ui_ajax_forms($key = NULL) {
function views_ui_build_form_url($form_state) {
$form = views_ui_ajax_forms($form_state['form_key']);
$ajax = empty($form_state['ajax']) ? 'nojs' : 'ajax';
- $name = $form_state['view']->storage->name;
+ $name = $form_state['view']->storage->get('name');
$url = "admin/structure/views/$ajax/$form_state[form_key]/$name/$form_state[display_id]";
foreach ($form['args'] as $arg) {
$url .= '/' . $form_state[$arg];
@@ -878,7 +880,7 @@ function views_ui_ajax_form($js, $key, ViewUI $view, $display_id = '') {
}
elseif (!$js) {
// if nothing on the stack, non-js forms just go back to the main view editor.
- return drupal_goto("admin/structure/views/view/{$view->storage->name}/edit");
+ return drupal_goto("admin/structure/views/view/{$view->storage->get('name')}/edit");
}
else {
$output = array();
@@ -927,7 +929,7 @@ function views_ui_analyze_view_form($form, &$form_state) {
* Submit handler for views_ui_analyze_view_form
*/
function views_ui_analyze_view_form_submit($form, &$form_state) {
- $form_state['redirect'] = 'admin/structure/views/view/' . $form_state['view']->storage->name . '/edit';
+ $form_state['redirect'] = 'admin/structure/views/view/' . $form_state['view']->storage->get('name') . '/edit';
}
/**
@@ -953,14 +955,14 @@ function views_ui_edit_details_form($form, &$form_state) {
'#type' => 'textfield',
'#title' => t('View tag'),
'#description' => t('Optionally, enter a comma delimited list of tags for this view to use in filtering and sorting views on the administrative page.'),
- '#default_value' => $view->storage->tag,
+ '#default_value' => $view->storage->get('tag'),
'#autocomplete_path' => 'admin/views/ajax/autocomplete/tag',
);
$form['details']['description'] = array(
'#type' => 'textfield',
'#title' => t('View description'),
'#description' => t('This description will appear on the Views administrative UI to tell you what the view is about.'),
- '#default_value' => $view->storage->description,
+ '#default_value' => $view->storage->get('description'),
);
$view->getStandardButtons($form, $form_state, 'views_ui_edit_details_form');
@@ -1702,7 +1704,7 @@ function views_ui_config_item_form($form, &$form_state) {
if (!empty($relationship_options)) {
// Make sure the existing relationship is even valid. If not, force
// it to none.
- $base_fields = views_fetch_fields($view->storage->base_table, $form_state['type'], $view->display_handler->useGroupBy());
+ $base_fields = views_fetch_fields($view->storage->get('base_table'), $form_state['type'], $view->display_handler->useGroupBy());
if (isset($base_fields[$item['table'] . '.' . $item['field']])) {
$relationship_options = array_merge(array('none' => t('Do not use a relationship')), $relationship_options);
}
@@ -2593,7 +2595,7 @@ function views_ui_field_list() {
&& $data = $data[$item['field']][$type]) {
// The final check that we have a fieldapi field now.
if (isset($data['field_name'])) {
- $fields[$data['field_name']][$view->storage->name] = $view->storage->name;
+ $fields[$data['field_name']][$view->storage->get('name')] = $view->storage->get('name');
}
}
}
diff --git a/core/modules/views/views_ui/lib/Drupal/views_ui/ViewListController.php b/core/modules/views/views_ui/lib/Drupal/views_ui/ViewListController.php
index b4780cc3cc3b..64b2512ee768 100644
--- a/core/modules/views/views_ui/lib/Drupal/views_ui/ViewListController.php
+++ b/core/modules/views/views_ui/lib/Drupal/views_ui/ViewListController.php
@@ -38,8 +38,8 @@ class ViewListController extends EntityListController {
return array(
'data' => array(
'view_name' => theme('views_ui_view_info', array('view' => $view)),
- 'description' => $view->description,
- 'tag' => $view->tag,
+ 'description' => $view->get('description'),
+ 'tag' => $view->get('tag'),
'path' => implode(', ', $view->getPaths()),
'operations' => array(
'data' => $this->buildOperations($view),
diff --git a/core/modules/views/views_ui/lib/Drupal/views_ui/ViewUI.php b/core/modules/views/views_ui/lib/Drupal/views_ui/ViewUI.php
index ac71f723ec63..7905b8839c55 100644
--- a/core/modules/views/views_ui/lib/Drupal/views_ui/ViewUI.php
+++ b/core/modules/views/views_ui/lib/Drupal/views_ui/ViewUI.php
@@ -105,7 +105,8 @@ class ViewUI extends ViewExecutable {
* @todo Remove this function once editing the display title is possible.
*/
public function getDisplayLabel($display_id, $check_changed = TRUE) {
- $title = $display_id == 'default' ? t('Master') : $this->storage->display[$display_id]['display_title'];
+ $display = $this->storage->get('display');
+ $title = $display_id == 'default' ? t('Master') : $display[$display_id]['display_title'];
$title = views_ui_truncate($title, 25);
if ($check_changed && !empty($this->changed_display[$display_id])) {
@@ -395,21 +396,21 @@ class ViewUI extends ViewExecutable {
'#links' => array(
'edit-details' => array(
'title' => t('edit view name/description'),
- 'href' => "admin/structure/views/nojs/edit-details/{$this->storage->name}",
+ 'href' => "admin/structure/views/nojs/edit-details/{$this->storage->get('name')}",
'attributes' => array('class' => array('views-ajax-link')),
),
'analyze' => array(
'title' => t('analyze view'),
- 'href' => "admin/structure/views/nojs/analyze/{$this->storage->name}/$display_id",
+ 'href' => "admin/structure/views/nojs/analyze/{$this->storage->get('name')}/$display_id",
'attributes' => array('class' => array('views-ajax-link')),
),
'clone' => array(
'title' => t('clone view'),
- 'href' => "admin/structure/views/view/{$this->storage->name}/clone",
+ 'href' => "admin/structure/views/view/{$this->storage->get('name')}/clone",
),
'reorder' => array(
'title' => t('reorder displays'),
- 'href' => "admin/structure/views/nojs/reorder-displays/{$this->storage->name}/$display_id",
+ 'href' => "admin/structure/views/nojs/reorder-displays/{$this->storage->get('name')}/$display_id",
'attributes' => array('class' => array('views-ajax-link')),
),
),
@@ -422,14 +423,14 @@ class ViewUI extends ViewExecutable {
if ($this->type == t('Overridden')) {
$element['extra_actions']['#links']['revert'] = array(
'title' => t('revert view'),
- 'href' => "admin/structure/views/view/{$this->storage->name}/revert",
- 'query' => array('destination' => "admin/structure/views/view/{$this->storage->name}"),
+ 'href' => "admin/structure/views/view/{$this->storage->get('name')}/revert",
+ 'query' => array('destination' => "admin/structure/views/view/{$this->storage->get('name')}"),
);
}
else {
$element['extra_actions']['#links']['delete'] = array(
'title' => t('delete view'),
- 'href' => "admin/structure/views/view/{$this->storage->name}/delete",
+ 'href' => "admin/structure/views/view/{$this->storage->get('name')}/delete",
);
}
}
@@ -445,7 +446,7 @@ class ViewUI extends ViewExecutable {
}
// Buttons for adding a new display.
- foreach (views_fetch_plugin_names('display', NULL, array($this->storage->base_table)) as $type => $label) {
+ foreach (views_fetch_plugin_names('display', NULL, array($this->storage->get('base_table'))) as $type => $label) {
$element['add_display'][$type] = array(
'#type' => 'submit',
'#value' => t('Add !display', array('!display' => $label)),
@@ -481,13 +482,15 @@ class ViewUI extends ViewExecutable {
$tabs = array();
// Create a tab for each display.
- uasort($this->storage->display, array('static', 'sortPosition'));
- foreach ($this->storage->display as $id => $display) {
+ $displays = $this->storage->get('display');
+ uasort($displays, array('static', 'sortPosition'));
+ $this->storage->set('display', $displays);
+ foreach ($displays as $id => $display) {
$tabs[$id] = array(
'#theme' => 'menu_local_task',
'#link' => array(
'title' => $this->getDisplayLabel($id),
- 'href' => 'admin/structure/views/view/' . $this->storage->name . '/edit/' . $id,
+ 'href' => 'admin/structure/views/view/' . $this->storage->get('name') . '/edit/' . $id,
'localized_options' => array(),
),
);
@@ -506,7 +509,7 @@ class ViewUI extends ViewExecutable {
// Mark the display tab as red to show validation errors.
$this->validate();
- foreach ($this->storage->display as $id => $display) {
+ foreach ($this->storage->get('display') as $id => $display) {
if (!empty($this->display_errors[$id])) {
// Always show the tab.
$tabs[$id]['#access'] = TRUE;
@@ -617,7 +620,7 @@ class ViewUI extends ViewExecutable {
views_ui_cache_set($this);
}
- $form_state['redirect'] = 'admin/structure/views/view/' . $this->storage->name . '/edit';
+ $form_state['redirect'] = 'admin/structure/views/view/' . $this->storage->get('name') . '/edit';
}
/**
@@ -778,7 +781,7 @@ class ViewUI extends ViewExecutable {
views_ui_cache_set($this);
// Redirect to the new display's edit page.
- $form_state['redirect'] = 'admin/structure/views/view/' . $this->storage->name . '/edit/' . $display_id;
+ $form_state['redirect'] = 'admin/structure/views/view/' . $this->storage->get('name') . '/edit/' . $display_id;
}
/**
@@ -788,10 +791,11 @@ class ViewUI extends ViewExecutable {
$display_id = $form_state['display_id'];
// Create the new display.
- $display = $this->storage->display[$display_id];
- $new_display_id = $this->storage->addDisplay($display['display_plugin']);
- $this->storage->display[$new_display_id] = $display;
- $this->storage->display[$new_display_id]['id'] = $new_display_id;
+ $displays = $this->storage->get('display');
+ $new_display_id = $this->storage->addDisplay($displays[$display_id]['display_plugin']);
+ $displays[$new_display_id] = $displays[$display_id];
+ $displays[$new_display_id]['id'] = $new_display_id;
+ $this->storage->set('display', $displays);
// By setting the current display the changed marker will appear on the new
// display.
@@ -799,7 +803,7 @@ class ViewUI extends ViewExecutable {
views_ui_cache_set($this);
// Redirect to the new display's edit page.
- $form_state['redirect'] = 'admin/structure/views/view/' . $this->storage->name . '/edit/' . $new_display_id;
+ $form_state['redirect'] = 'admin/structure/views/view/' . $this->storage->get('name') . '/edit/' . $new_display_id;
}
/**
@@ -809,12 +813,14 @@ class ViewUI extends ViewExecutable {
$display_id = $form_state['display_id'];
// Mark the display for deletion.
- $this->storage->display[$display_id]['deleted'] = TRUE;
+ $displays = $this->storage->get('display');
+ $displays[$display_id]['deleted'] = TRUE;
+ $this->storage->set('display', $displays);
views_ui_cache_set($this);
// Redirect to the top-level edit page. The first remaining display will
// become the active display.
- $form_state['redirect'] = 'admin/structure/views/view/' . $this->storage->name;
+ $form_state['redirect'] = 'admin/structure/views/view/' . $this->storage->get('name');
}
/**
@@ -859,7 +865,7 @@ class ViewUI extends ViewExecutable {
views_ui_cache_set($this);
// Redirect to the top-level edit page.
- $form_state['redirect'] = 'admin/structure/views/view/' . $this->storage->name . '/edit/' . $id;
+ $form_state['redirect'] = 'admin/structure/views/view/' . $this->storage->get('name') . '/edit/' . $id;
}
/**
@@ -873,7 +879,7 @@ class ViewUI extends ViewExecutable {
views_ui_cache_set($this);
// Redirect to the top-level edit page.
- $form_state['redirect'] = 'admin/structure/views/view/' . $this->storage->name . '/edit/' . $id;
+ $form_state['redirect'] = 'admin/structure/views/view/' . $this->storage->get('name') . '/edit/' . $id;
}
/**
@@ -882,13 +888,15 @@ class ViewUI extends ViewExecutable {
public function submitDisplayUndoDelete($form, &$form_state) {
// Create the new display
$id = $form_state['display_id'];
- $this->storage->display[$id]['deleted'] = FALSE;
+ $displays = $this->storage->get('display');
+ $displays[$id]['deleted'] = FALSE;
+ $this->storage->set('display', $displays);
// Store in cache
views_ui_cache_set($this);
// Redirect to the top-level edit page.
- $form_state['redirect'] = 'admin/structure/views/view/' . $this->storage->name . '/edit/' . $id;
+ $form_state['redirect'] = 'admin/structure/views/view/' . $this->storage->get('name') . '/edit/' . $id;
}
/**
@@ -909,7 +917,7 @@ class ViewUI extends ViewExecutable {
// to get the right one.
switch ($type) {
case 'filter':
- $rearrange_url = "admin/structure/views/nojs/rearrange-$type/{$this->storage->name}/{$display['id']}/$type";
+ $rearrange_url = "admin/structure/views/nojs/rearrange-$type/{$this->storage->get('name')}/{$display['id']}/$type";
$rearrange_text = t('And/Or, Rearrange');
// TODO: Add another class to have another symbol for filter rearrange.
$class = 'icon compact rearrange';
@@ -928,7 +936,7 @@ class ViewUI extends ViewExecutable {
}
default:
- $rearrange_url = "admin/structure/views/nojs/rearrange/{$this->storage->name}/{$display['id']}/$type";
+ $rearrange_url = "admin/structure/views/nojs/rearrange/{$this->storage->get('name')}/{$display['id']}/$type";
$rearrange_text = t('Rearrange');
$class = 'icon compact rearrange';
}
@@ -938,7 +946,7 @@ class ViewUI extends ViewExecutable {
$count_handlers = count($this->displayHandlers[$display['id']]->getHandlers($type));
$actions['add'] = array(
'title' => t('Add'),
- 'href' => "admin/structure/views/nojs/add-item/{$this->storage->name}/{$display['id']}/$type",
+ 'href' => "admin/structure/views/nojs/add-item/{$this->storage->get('name')}/{$display['id']}/$type",
'attributes' => array('class' => array('icon compact add', 'views-ajax-link'), 'title' => t('Add'), 'id' => 'views-add-' . $type),
'html' => TRUE,
);
@@ -1003,7 +1011,7 @@ class ViewUI extends ViewExecutable {
if (empty($handler)) {
$build['fields'][$id]['#class'][] = 'broken';
$field_name = t('Broken/missing handler: @table > @field', array('@table' => $field['table'], '@field' => $field['field']));
- $build['fields'][$id]['#link'] = l($field_name, "admin/structure/views/nojs/config-item/{$this->storage->name}/{$display['id']}/$type/$id", array('attributes' => array('class' => array('views-ajax-link')), 'html' => TRUE));
+ $build['fields'][$id]['#link'] = l($field_name, "admin/structure/views/nojs/config-item/{$this->storage->get('name')}/{$display['id']}/$type/$id", array('attributes' => array('class' => array('views-ajax-link')), 'html' => TRUE));
continue;
}
@@ -1018,15 +1026,15 @@ class ViewUI extends ViewExecutable {
if (!empty($field['exclude'])) {
$link_attributes['class'][] = 'views-field-excluded';
}
- $build['fields'][$id]['#link'] = l($link_text, "admin/structure/views/nojs/config-item/{$this->storage->name}/{$display['id']}/$type/$id", array('attributes' => $link_attributes, 'html' => TRUE));
+ $build['fields'][$id]['#link'] = l($link_text, "admin/structure/views/nojs/config-item/{$this->storage->get('name')}/{$display['id']}/$type/$id", array('attributes' => $link_attributes, 'html' => TRUE));
$build['fields'][$id]['#class'][] = drupal_clean_css_identifier($display['id']. '-' . $type . '-' . $id);
if ($this->displayHandlers[$display['id']]->useGroupBy() && $handler->usesGroupBy()) {
- $build['fields'][$id]['#settings_links'][] = l('' . t('Aggregation settings') . '', "admin/structure/views/nojs/config-item-group/{$this->storage->name}/{$display['id']}/$type/$id", array('attributes' => array('class' => 'views-button-configure views-ajax-link', 'title' => t('Aggregation settings')), 'html' => TRUE));
+ $build['fields'][$id]['#settings_links'][] = l('' . t('Aggregation settings') . '', "admin/structure/views/nojs/config-item-group/{$this->storage->get('name')}/{$display['id']}/$type/$id", array('attributes' => array('class' => 'views-button-configure views-ajax-link', 'title' => t('Aggregation settings')), 'html' => TRUE));
}
if ($handler->hasExtraOptions()) {
- $build['fields'][$id]['#settings_links'][] = l('' . t('Settings') . '', "admin/structure/views/nojs/config-item-extra/{$this->storage->name}/{$display['id']}/$type/$id", array('attributes' => array('class' => array('views-button-configure', 'views-ajax-link'), 'title' => t('Settings')), 'html' => TRUE));
+ $build['fields'][$id]['#settings_links'][] = l('' . t('Settings') . '', "admin/structure/views/nojs/config-item-extra/{$this->storage->get('name')}/{$display['id']}/$type/$id", array('attributes' => array('class' => array('views-button-configure', 'views-ajax-link'), 'title' => t('Settings')), 'html' => TRUE));
}
if ($grouping) {
@@ -1119,8 +1127,8 @@ class ViewUI extends ViewExecutable {
* Submit handler to break_lock a view.
*/
public function submitBreakLock(&$form, &$form_state) {
- drupal_container()->get('user.tempstore')->get('views')->delete($this->storage->name);
- $form_state['redirect'] = 'admin/structure/views/view/' . $this->storage->name . '/edit';
+ drupal_container()->get('user.tempstore')->get('views')->delete($this->storage->get('name'));
+ $form_state['redirect'] = 'admin/structure/views/view/' . $this->storage->get('name') . '/edit';
drupal_set_message(t('The lock has been broken and you may now edit this view.'));
}
@@ -1294,7 +1302,7 @@ class ViewUI extends ViewExecutable {
$form['locked'] = array(
'#theme_wrappers' => array('container'),
'#attributes' => array('class' => array('view-locked', 'messages', 'warning')),
- '#markup' => t('This view is being edited by user !user, and is therefore locked from editing by others. This lock is !age old. Click here to break this lock.', array('!user' => theme('username', array('account' => user_load($this->locked->owner))), '!age' => format_interval(REQUEST_TIME - $this->locked->updated), '!break' => url('admin/structure/views/view/' . $this->storage->name . '/break-lock'))),
+ '#markup' => t('This view is being edited by user !user, and is therefore locked from editing by others. This lock is !age old. Click here to break this lock.', array('!user' => theme('username', array('account' => user_load($this->locked->owner))), '!age' => format_interval(REQUEST_TIME - $this->locked->updated), '!break' => url('admin/structure/views/view/' . $this->storage->get('name') . '/break-lock'))),
);
}
else {
@@ -1383,7 +1391,8 @@ class ViewUI extends ViewExecutable {
$form['displays']['settings']['settings_content']['tab_content']['#attributes'] = array('class' => array('views-display-tab'));
$form['displays']['settings']['settings_content']['tab_content']['#id'] = 'views-tab-' . $display_id;
// Mark deleted displays as such.
- if (!empty($this->storage->display[$display_id]['deleted'])) {
+ $display = $this->storage->get('display');
+ if (!empty($display[$display_id]['deleted'])) {
$form['displays']['settings']['settings_content']['tab_content']['#attributes']['class'][] = 'views-display-deleted';
}
// Mark disabled displays as such.
@@ -1456,7 +1465,7 @@ class ViewUI extends ViewExecutable {
'#suffix' => '',
'#id' => 'preview-submit',
'#ajax' => array(
- 'path' => 'admin/structure/views/view/' . $this->storage->name . '/preview/' . $display_id . '/ajax',
+ 'path' => 'admin/structure/views/view/' . $this->storage->get('name') . '/preview/' . $display_id . '/ajax',
'wrapper' => 'views-preview-wrapper',
'event' => 'click',
'progress' => array('type' => 'throbber'),
@@ -1468,7 +1477,7 @@ class ViewUI extends ViewExecutable {
// we may need to split Preview into a separate form.
'#process' => array_merge(array(array($this, 'processDefaultButton')), element_info_property('submit', '#process', array())),
);
- $form['#action'] = url('admin/structure/views/view/' . $this->storage->name .'/preview/' . $display_id);
+ $form['#action'] = url('admin/structure/views/view/' . $this->storage->get('name') .'/preview/' . $display_id);
return $form;
}
@@ -1483,10 +1492,12 @@ class ViewUI extends ViewExecutable {
$form['#tree'] = TRUE;
- $count = count($this->storage->display);
+ $count = count($this->storage->get('display'));
- uasort($this->storage->display, array('static', 'sortPosition'));
- foreach ($this->storage->display as $display) {
+ $displays = $this->storage->get('display');
+ uasort($displays, array('static', 'sortPosition'));
+ $this->storage->set('display', $displays);
+ foreach ($displays as $display) {
$form[$display['id']] = array(
'title' => array('#markup' => $display['display_title']),
'weight' => array(
@@ -1529,7 +1540,7 @@ class ViewUI extends ViewExecutable {
'limit' => 0,
);
- $form['#action'] = url('admin/structure/views/nojs/reorder-displays/' . $this->storage->name . '/' . $display_id);
+ $form['#action'] = url('admin/structure/views/nojs/reorder-displays/' . $this->storage->get('name') . '/' . $display_id);
$this->getStandardButtons($form, $form_state, 'views_ui_reorder_displays_form');
$form['buttons']['submit']['#submit'] = array(array($this, 'submitDisplaysReorderForm'));
@@ -1560,27 +1571,28 @@ class ViewUI extends ViewExecutable {
}
// Setting up position and removing deleted displays
- $displays = $this->storage->display;
+ $displays = $this->storage->get('display');
foreach ($displays as $display_id => $display) {
// Don't touch the default !!!
if ($display_id === 'default') {
- $this->storage->display[$display_id]['position'] = 0;
+ $displays[$display_id]['position'] = 0;
continue;
}
if (isset($order[$display_id])) {
- $this->storage->display[$display_id]['position'] = $order[$display_id];
+ $displays[$display_id]['position'] = $order[$display_id];
}
else {
- $this->storage->display[$display_id]['deleted'] = TRUE;
+ $displays[$display_id]['deleted'] = TRUE;
}
}
// Sorting back the display array as the position is not enough
- uasort($this->storage->display, array('static', 'sortPosition'));
+ uasort($displays, array('static', 'sortPosition'));
+ $this->storage->set('display', $displays);
// Store in cache
views_ui_cache_set($this);
- $form_state['redirect'] = array('admin/structure/views/view/' . $this->storage->name . '/edit', array('fragment' => 'views-tab-default'));
+ $form_state['redirect'] = array('admin/structure/views/view/' . $this->storage->get('name') . '/edit', array('fragment' => 'views-tab-default'));
}
/**
@@ -1747,7 +1759,7 @@ class ViewUI extends ViewExecutable {
}
// Make view links come back to preview.
- $this->override_path = 'admin/structure/views/nojs/preview/' . $this->storage->name . '/' . $display_id;
+ $this->override_path = 'admin/structure/views/nojs/preview/' . $this->storage->get('name') . '/' . $display_id;
// Also override the current path so we get the pager.
$original_path = current_path();
@@ -1929,7 +1941,7 @@ class ViewUI extends ViewExecutable {
$form = views_ui_ajax_forms($key);
// Automatically remove the single-form cache if it exists and
// does not match the key.
- $identifier = implode('-', array($key, $this->storage->name, $display_id));
+ $identifier = implode('-', array($key, $this->storage->get('name'), $display_id));
foreach ($form['args'] as $id) {
$arg = (!empty($args)) ? array_shift($args) : NULL;
diff --git a/core/modules/views/views_ui/theme/views-ui-edit-view.tpl.php b/core/modules/views/views_ui/theme/views-ui-edit-view.tpl.php
index 566b8a42a879..821ae402d296 100644
--- a/core/modules/views/views_ui/theme/views-ui-edit-view.tpl.php
+++ b/core/modules/views/views_ui/theme/views-ui-edit-view.tpl.php
@@ -21,7 +21,7 @@
@base.',
- array('%name' => $view->storage->name, '@base' => $base_table)); ?>
+ array('%name' => $view->storage->get('name'), '@base' => $base_table)); ?>
diff --git a/core/modules/views/views_ui/views_ui.module b/core/modules/views/views_ui/views_ui.module
index 34b05fe6b719..eba7f0864d6f 100644
--- a/core/modules/views/views_ui/views_ui.module
+++ b/core/modules/views/views_ui/views_ui.module
@@ -291,8 +291,8 @@ function views_ui_edit_page_title(ViewUI $view) {
module_load_include('inc', 'views_ui', 'admin');
$bases = views_fetch_base_tables();
$name = $view->storage->getHumanName();
- if (isset($bases[$view->storage->base_table])) {
- $name .= ' (' . $bases[$view->storage->base_table]['title'] . ')';
+ if (isset($bases[$view->storage->get('base_table')])) {
+ $name .= ' (' . $bases[$view->storage->get('base_table')]['title'] . ')';
}
return $name;
@@ -327,14 +327,14 @@ function views_ui_cache_load($name) {
else {
// Keep disabled/enabled status real.
if ($original_view) {
- $view->storage->disabled = $original_view->storage->disabled;
+ $view->storage->set('disabled', $original_view->storage->get('disabled'));
}
}
if (empty($view)) {
return FALSE;
}
- $view->locked = $views_temp_store->getMetadata($view->storage->name);
+ $view->locked = $views_temp_store->getMetadata($view->storage->get('name'));
return $view;
}
@@ -362,7 +362,7 @@ function views_ui_cache_set(ViewUI $view) {
unset($view->default_display);
$view->query = NULL;
$view->displayHandlers = array();
- drupal_container()->get('user.tempstore')->get('views')->set($view->storage->name, $view);
+ drupal_container()->get('user.tempstore')->get('views')->set($view->storage->get('name'), $view);
}
/**
@@ -414,13 +414,13 @@ function views_ui_view_preview_section_handler_links(ViewUI $view, $type, $title
$field_name = $handler->adminLabel(TRUE);
$links[$type . '-edit-' . $id] = array(
'title' => t('Edit @section', array('@section' => $field_name)),
- 'href' => "admin/structure/views/nojs/config-item/{$view->storage->name}/{$display['id']}/$type/$id",
+ 'href' => "admin/structure/views/nojs/config-item/{$view->storage->get('name')}/{$display['id']}/$type/$id",
'attributes' => array('class' => array('views-ajax-link')),
);
}
$links[$type . '-add'] = array(
'title' => t('Add new'),
- 'href' => "admin/structure/views/nojs/add-item/{$view->storage->name}/{$display['id']}/$type",
+ 'href' => "admin/structure/views/nojs/add-item/{$view->storage->get('name')}/{$display['id']}/$type",
'attributes' => array('class' => array('views-ajax-link')),
);
@@ -435,7 +435,7 @@ function views_ui_view_preview_section_display_category_links(ViewUI $view, $typ
$links = array(
$type . '-edit' => array(
'title' => t('Edit @section', array('@section' => $title)),
- 'href' => "admin/structure/views/nojs/display/{$view->storage->name}/{$display['id']}/$type",
+ 'href' => "admin/structure/views/nojs/display/{$view->storage->get('name')}/{$display['id']}/$type",
'attributes' => array('class' => array('views-ajax-link')),
),
);