diff --git a/profiles/wcm_base/modules/contrib/ctools/PATCHES.txt b/profiles/wcm_base/modules/contrib/ctools/PATCHES.txt index e374fadc7b477e940b09895e1614df6cb7f78664..5a7ea8106df25b639609e176207df9fb8fc61f93 100644 --- a/profiles/wcm_base/modules/contrib/ctools/PATCHES.txt +++ b/profiles/wcm_base/modules/contrib/ctools/PATCHES.txt @@ -1,4 +1,5 @@ The following patches have been applied to this project: -- https://www.drupal.org/files/issues/ctools-readd_access_callback_params-2209775-24.patch +- http://drupal.org/files/issues/ctools-readd_access_callback_params-2209775-24.patch +- http://drupal.org/files/issues/views_content-keyword-substitution-1910608-33.patch This file was automatically generated by Drush Make (http://drupal.org/project/drush). \ No newline at end of file diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_panes.inc b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_panes.inc index e4dded23ae6858937219b32584d479826fe0ca15..90102dd84ffc54054154ee0d9f2f74392164778d 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_panes.inc +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/content_types/views_panes.inc @@ -143,68 +143,11 @@ function views_content_views_panes_content_type_render($subtype, $conf, $panel_a return; } + $conf['pane_contexts'] = $contexts; + $conf['panel_args'] = $panel_args; $view->display_handler->set_pane_conf($conf); - $args = array(); - $arguments = $view->display_handler->get_option('arguments'); - - $context_keys = isset($conf['context']) ? $conf['context'] : array(); - foreach ($view->display_handler->get_argument_input() as $id => $argument) { - switch ($argument['type']) { - case 'context': - $key = array_shift($context_keys); - if (isset($contexts[$key])) { - if (strpos($argument['context'], '.')) { - list($context, $converter) = explode('.', $argument['context'], 2); - $args[] = ctools_context_convert_context($contexts[$key], $converter, array('sanitize' => FALSE)); - } - else { - $args[] = $contexts[$key]->argument; - } - } - else { - $args[] = isset($arguments[$id]['exception']['value']) ? $arguments[$id]['exception']['value'] : 'all'; - } - break; - - case 'fixed': - $args[] = $argument['fixed']; - break; - - case 'panel': - $args[] = isset($panel_args[$argument['panel']]) ? $panel_args[$argument['panel']] : NULL; - break; - - case 'user': - $args[] = (isset($conf['arguments'][$id]) && $conf['arguments'][$id] !== '') ? ctools_context_keyword_substitute($conf['arguments'][$id], array(), $contexts) : NULL; - break; - - case 'wildcard': - // Put in the wildcard. - $args[] = isset($arguments[$id]['wildcard']) ? $arguments[$id]['wildcard'] : '*'; - break; - - case 'none': - default: - // Put in NULL. - // views.module knows what to do with NULL (or missing) arguments - $args[] = NULL; - break; - } - } - - // remove any trailing NULL arguments as these are non-args: - while (count($args) && end($args) === NULL) { - array_pop($args); - } - - $view->set_arguments($args); - $allow = $view->display_handler->get_option('allow'); - - if (!empty($conf['path'])) { - $conf['path'] = ctools_context_keyword_substitute($conf['path'], array(), $contexts); - } if ($allow['path_override'] && !empty($conf['path'])) { $view->override_path = $conf['path']; } @@ -221,67 +164,6 @@ function views_content_views_panes_content_type_render($subtype, $conf, $panel_a $block->title_link = $view->get_url(); } - // more link - if ($allow['more_link']) { - if (empty($conf['more_link'])) { - $view->display_handler->set_option('use_more', FALSE); - } - else { - $view->display_handler->set_option('use_more', TRUE); - // make sure the view runs the count query so we know whether or not the - // more link applies. - $view->get_total_rows = TRUE; - } - } - - if ($allow['items_per_page'] && isset($conf['items_per_page'])) { - $view->set_items_per_page($conf['items_per_page']); - } - - if ($allow['offset']) { - $view->set_offset($conf['offset']); - } - - if ($allow['use_pager']) { - // Only set use_pager if they differ, this way we can avoid overwriting the - // pager type that Views uses. - $pager = $view->display_handler->get_option('pager'); - if ($conf['use_pager'] && ($pager['type'] == 'none' || $pager['type'] == 'some')) { - $pager['type'] = 'full'; - } - elseif (!$conf['use_pager'] && $pager['type'] != 'none' && $pager['type'] != 'some') { - $pager['type'] = $view->get_items_per_page() || !empty($pager['options']['items_per_page']) ? 'some' : 'none'; - } - - if ($conf['use_pager']) { - if (!isset($pager['options']['id']) || (isset($conf['pager_id']) && $pager['options']['id'] != $conf['pager_id'])) { - $pager['options']['id'] = (int) $conf['pager_id']; - } - } - - $view->display_handler->set_option('pager', $pager); - } - - if ($allow['fields_override']) { - if ($conf['fields_override']) { - $fields = $view->get_items('field'); - foreach ($fields as $field => $field_display) { - $fields[$field]['exclude'] = empty($conf['fields_override'][$field]); - } - $view->display_handler->set_option('fields', $fields); - - } - } - - if ($allow['exposed_form'] && !empty($conf['exposed'])) { - foreach ($conf['exposed'] as $filter_name => $filter_value) { - if (!is_array($filter_value)) { - $conf['exposed'][$filter_name] = ctools_context_keyword_substitute($filter_value, array(), $contexts); - } - } - $view->set_exposed_input($conf['exposed']); - } - $stored_feeds = drupal_add_feed(); $block->content = $view->preview(); diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/views/views_content_plugin_display_panel_pane.inc b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/views/views_content_plugin_display_panel_pane.inc index e02f896a46b6d2cf1aa7117283cc007ceb5f91ef..32f4599f778b3fd96c1fa4e8804b0190aa95d4e6 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/views/views_content_plugin_display_panel_pane.inc +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/plugins/views/views_content_plugin_display_panel_pane.inc @@ -48,8 +48,12 @@ class views_content_plugin_display_panel_pane extends views_plugin_display { return isset($this->has_pane_conf); } - function set_pane_conf($conf = array()) { + function set_pane_conf($conf = array(), $set_cache = TRUE) { $this->set_option('pane_conf', $conf); + $this->view->dom_id = !empty($this->view->dom_id) ? $this->view->dom_id : md5($this->view->name . REQUEST_TIME . rand()); + if ($set_cache) { + cache_set('view_panel_pane_' . $this->view->dom_id, $conf); + } $this->has_pane_conf = TRUE; } @@ -412,5 +416,153 @@ class views_content_plugin_display_panel_pane extends views_plugin_display { return empty($conf['exposed_form']); } + /** + * Set the pane configuration options + * Done here in handler for reuse between views_content_views_panes_content_type_render + * and views_content_views_pre_view + */ + function pane_process_conf() { + $conf = $this->get_option('pane_conf'); + if (!$conf) { + // See if dom id has been cached and get conf from there. + if (!empty($this->view->dom_id) && ($cache = cache_get('view_panel_pane_' . $this->view->dom_id))) { + $conf = $cache->data; + } + if (!$conf) { + return; + } + $this->set_pane_conf($conf); + } + $contexts = $conf['pane_contexts']; + $panel_args = $conf['panel_args']; + $args = array(); + $arguments = $this->get_option('arguments'); + + $context_keys = isset($conf['context']) ? $conf['context'] : array(); + foreach ($this->get_argument_input() as $id => $argument) { + switch ($argument['type']) { + case 'context': + $key = array_shift($context_keys); + if (isset($contexts[$key])) { + if (strpos($argument['context'], '.')) { + list($context, $converter) = explode('.', $argument['context'], 2); + $args[] = ctools_context_convert_context($contexts[$key], $converter, array('sanitize' => FALSE)); + } + else { + $args[] = $contexts[$key]->argument; + } + } + else { + $args[] = isset($arguments[$id]['exception']['value']) ? $arguments[$id]['exception']['value'] : 'all'; + } + break; + + case 'fixed': + $args[] = $argument['fixed']; + break; + + case 'panel': + $args[] = isset($panel_args[$argument['panel']]) ? $panel_args[$argument['panel']] : NULL; + break; + + case 'user': + $args[] = (isset($conf['arguments'][$id]) && $conf['arguments'][$id] !== '') ? ctools_context_keyword_substitute($conf['arguments'][$id], array(), $contexts) : NULL; + break; + + case 'wildcard': + // Put in the wildcard. + $args[] = isset($arguments[$id]['wildcard']) ? $arguments[$id]['wildcard'] : '*'; + break; + + case 'none': + default: + // Put in NULL. + // views.module knows what to do with NULL (or missing) arguments + $args[] = NULL; + break; + } + } + + // remove any trailing NULL arguments as these are non-args: + while (count($args) && end($args) === NULL) { + array_pop($args); + } + + $this->view->set_arguments($args); + + $allow = $this->get_option('allow'); + + if (!empty($conf['path'])) { + $conf['path'] = ctools_context_keyword_substitute($conf['path'], array(), $contexts); + } + if ($allow['path_override'] && !empty($conf['path'])) { + $this->view->override_path = $conf['path']; + } + else if ($path = $this->get_option('inherit_panels_path')) { + $this->view->override_path = $_GET['q']; + } + + // more link + if ($allow['more_link']) { + if (empty($conf['more_link'])) { + $this->set_option('use_more', FALSE); + } + else { + $this->set_option('use_more', TRUE); + // make sure the view runs the count query so we know whether or not the + // more link applies. + $this->view->get_total_rows = TRUE; + } + } + + if ($allow['items_per_page'] && isset($conf['items_per_page'])) { + $this->view->set_items_per_page($conf['items_per_page']); + } + + if ($allow['offset']) { + $this->view->set_offset($conf['offset']); + } + + if ($allow['use_pager']) { + // Only set use_pager if they differ, this way we can avoid overwriting the + // pager type that Views uses. + $pager = $this->get_option('pager'); + if ($conf['use_pager'] && ($pager['type'] == 'none' || $pager['type'] == 'some')) { + $pager['type'] = 'full'; + } + elseif (!$conf['use_pager'] && $pager['type'] != 'none' && $pager['type'] != 'some') { + $pager['type'] = $this->view->get_items_per_page() || !empty($pager['options']['items_per_page']) ? 'some' : 'none'; + } + + if ($conf['use_pager']) { + if (!isset($pager['options']['id']) || (isset($conf['pager_id']) && $pager['options']['id'] != $conf['pager_id'])) { + $pager['options']['id'] = (int) $conf['pager_id']; + } + } + + $this->set_option('pager', $pager); + } + + if ($allow['fields_override']) { + if ($conf['fields_override']) { + $fields = $this->view->get_items('field'); + foreach ($fields as $field => $field_display) { + $fields[$field]['exclude'] = empty($conf['fields_override'][$field]); + } + $this->set_option('fields', $fields); + + } + } + + if ($allow['exposed_form'] && !empty($conf['exposed'])) { + foreach ($conf['exposed'] as $filter_name => $filter_value) { + if (!is_array($filter_value)) { + $conf['exposed'][$filter_name] = ctools_context_keyword_substitute($filter_value, array(), $contexts); + } + } + $this->view->set_exposed_input($conf['exposed']); + } + } + } diff --git a/profiles/wcm_base/modules/contrib/ctools/views_content/views_content.module b/profiles/wcm_base/modules/contrib/ctools/views_content/views_content.module index 27a666ae4584bd9d4d6ebe2579b4b05640bc03f9..8d2314643bb7d0150a4ffbf1dc21cee9beffcedc 100644 --- a/profiles/wcm_base/modules/contrib/ctools/views_content/views_content.module +++ b/profiles/wcm_base/modules/contrib/ctools/views_content/views_content.module @@ -295,3 +295,24 @@ function views_content_get_pane_links_alter(&$links, $pane, $content_type) { ); } } + +/** + * Implements hook_module_implements_alter() + */ +function views_content_module_implements_alter(&$implementations, $hook) { + if ($hook == 'views_pre_view') { + $group = $implementations['views_content']; + unset($implementations['views_content']); + $implementations = array('views_content' => $group) + $implementations; + } +} + +/** + * Implements hook_views_pre_view() + */ +function views_content_views_pre_view(&$view) { + if (method_exists($view->display_handler, 'pane_process_conf')) { + // process the pane configuration to prevent loss when using ajax + $view->display_handler->pane_process_conf(); + } +} diff --git a/profiles/wcm_base/modules/contrib/defaultconfig/PATCHES.txt b/profiles/wcm_base/modules/contrib/defaultconfig/PATCHES.txt index 5543aabb6150e9f873a2667d87f83238d42e7678..2e00daa73e3303dab1dd2f536b03278dea6db1c6 100644 --- a/profiles/wcm_base/modules/contrib/defaultconfig/PATCHES.txt +++ b/profiles/wcm_base/modules/contrib/defaultconfig/PATCHES.txt @@ -3,6 +3,6 @@ The following patches have been applied to this project: - http://drupal.org/files/defaultconfig_include_features_file.patch - http://drupal.org/files/defaultconfig-rebuild-filters-2008178-4_0.patch - http://drupal.org/files/fix-defaultconfig_rebuild_all.patch -- http://www.drupal.org/files/issues/1900574.defaultconfig.undefinedindex_13.patch +- http://drupal.org/files/issues/1900574.defaultconfig.undefinedindex_13.patch This file was automatically generated by Drush Make (http://drupal.org/project/drush). \ No newline at end of file diff --git a/profiles/wcm_base/modules/custom/wcm_media_gallery/wcm_media_gallery.views_default.inc b/profiles/wcm_base/modules/custom/wcm_media_gallery/wcm_media_gallery.views_default.inc index 90cceae15ab8cdd5d3b2fba411354438d12e9107..6de1592d31902e1c340387c1acf8f6c474296012 100644 --- a/profiles/wcm_base/modules/custom/wcm_media_gallery/wcm_media_gallery.views_default.inc +++ b/profiles/wcm_base/modules/custom/wcm_media_gallery/wcm_media_gallery.views_default.inc @@ -23,6 +23,7 @@ function wcm_media_gallery_views_default_views() { /* Display: Master */ $handler = $view->new_display('default', 'Master', 'default'); $handler->display->display_options['title'] = 'Image Gallery'; + $handler->display->display_options['use_ajax'] = TRUE; $handler->display->display_options['use_more_always'] = FALSE; $handler->display->display_options['access']['type'] = 'perm'; $handler->display->display_options['cache']['type'] = 'none'; @@ -30,6 +31,10 @@ function wcm_media_gallery_views_default_views() { $handler->display->display_options['exposed_form']['type'] = 'basic'; $handler->display->display_options['exposed_form']['options']['reset_button'] = TRUE; $handler->display->display_options['pager']['type'] = 'full'; + $handler->display->display_options['pager']['options']['items_per_page'] = '0'; + $handler->display->display_options['pager']['options']['offset'] = '0'; + $handler->display->display_options['pager']['options']['id'] = '0'; + $handler->display->display_options['pager']['options']['quantity'] = '9'; $handler->display->display_options['style_plugin'] = 'default'; $handler->display->display_options['row_plugin'] = 'file'; $handler->display->display_options['row_options']['view_mode'] = 'colorbox'; @@ -98,7 +103,7 @@ function wcm_media_gallery_views_default_views() { /* Display: Images */ $handler = $view->new_display('panel_pane', 'Images', 'image_gallery_pane'); $handler->display->display_options['allow']['use_pager'] = 0; - $handler->display->display_options['allow']['items_per_page'] = 0; + $handler->display->display_options['allow']['items_per_page'] = 'items_per_page'; $handler->display->display_options['allow']['offset'] = 0; $handler->display->display_options['allow']['link_to_view'] = 0; $handler->display->display_options['allow']['more_link'] = 0; diff --git a/profiles/wcm_base/wcm_base.make b/profiles/wcm_base/wcm_base.make index b988416f238c59424e358f616a3b0eea998b9cab..e3e99e3f26dd6caf7740f4ffa8ba63ebcf06486f 100644 --- a/profiles/wcm_base/wcm_base.make +++ b/profiles/wcm_base/wcm_base.make @@ -20,6 +20,11 @@ projects[context][subdir] = contrib projects[context_omega][version] = 1.1 projects[context_omega][subdir] = contrib +projects[ctools][version] = 1.8 +projects[ctools][subdir] = contrib +projects[ctools][patch][2209775] = http://drupal.org/files/issues/ctools-readd_access_callback_params-2209775-24.patch +projects[ctools][patch][1910608] = http://drupal.org/files/issues/views_content-keyword-substitution-1910608-33.patch + projects[date][version] = 2.9 projects[date][subdir] = contrib @@ -29,7 +34,7 @@ projects[defaultconfig][patch][2042799] = http://drupal.org/files/default_config projects[defaultconfig][patch][2043307] = http://drupal.org/files/defaultconfig_include_features_file.patch projects[defaultconfig][patch][2008178] = http://drupal.org/files/defaultconfig-rebuild-filters-2008178-4_0.patch projects[defaultconfig][patch][1861054] = http://drupal.org/files/fix-defaultconfig_rebuild_all.patch -projects[defaultconfig][patch][1900574] = http://www.drupal.org/files/issues/1900574.defaultconfig.undefinedindex_13.patch +projects[defaultconfig][patch][1900574] = http://drupal.org/files/issues/1900574.defaultconfig.undefinedindex_13.patch projects[draggableviews][version] = 2.x-dev projects[draggableviews][subdir] = contrib