diff --git a/views_content/plugins/content_types/views_panes.inc b/views_content/plugins/content_types/views_panes.inc index ca40cc5..a27a26c 100644 --- a/views_content/plugins/content_types/views_panes.inc +++ b/views_content/plugins/content_types/views_panes.inc @@ -232,44 +232,31 @@ function views_content_views_panes_content_type_render($subtype, $conf, $panel_a } if ($allow['items_per_page'] && isset($conf['items_per_page'])) { - $view->display_handler->set_option('items_per_page', $conf['items_per_page']); - // And here too, which works in Views 3 where the above does not. $view->set_items_per_page($conf['items_per_page']); } if ($allow['offset']) { - $view->display_handler->set_option('offset', $conf['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. - // Views 3 version - if (method_exists($view, 'init_pager')) { - $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'; - } + $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'] = $conf['pager_id']; - } + if ($conf['use_pager']) { + if (!isset($pager['options']['id']) || (isset($conf['pager_id']) && $pager['options']['id'] != $conf['pager_id'])) { + $pager['options']['id'] = $conf['pager_id']; } - - $view->display_handler->set_option('pager', $pager); } - else { - if (!$view->display_handler->get_option('use_pager') || empty($conf['use_pager'])) { - $view->display_handler->set_option('use_pager', $conf['use_pager']); - } - $view->display_handler->set_option('pager_element', $conf['pager_id']); - } + $view->display_handler->set_option('pager', $pager); } if ($allow['fields_override']) { @@ -296,7 +283,7 @@ function views_content_views_panes_content_type_render($subtype, $conf, $panel_a $block->title = $view->get_title(); - if (empty($view->total_rows) || $view->total_rows <= $view->display_handler->get_option('items_per_page')) { + if (empty($view->total_rows) || $view->total_rows <= $view->get_items_per_page()) { unset($block->more); } @@ -319,14 +306,16 @@ function views_content_views_panes_content_type_render($subtype, $conf, $panel_a * settings for a particular item. */ function views_content_views_panes_add_defaults(&$conf, $view) { + $pager = $view->display_handler->get_option('pager'); + $conf += array( 'link_to_view' => $view->display_handler->get_option('link_to_view'), 'more_link' => $view->display_handler->get_option('more_link'), 'feed_icons' => FALSE, - 'use_pager' => $view->display_handler->get_option('use_pager'), - 'pager_id' => $view->display_handler->get_option('element_id'), - 'items_per_page' => $view->display_handler->get_option('items_per_page'), - 'offset' => $view->display_handler->get_option('offset'), + 'use_pager' => $pager['type'] != 'none' && $pager['type'] != 'some', + 'pager_id' => isset($pager['options']['id']) ? $pager['options']['id'] : 0, + 'items_per_page' => !empty($pager['options']['items_per_page']) ? $pager['options']['items_per_page'] : 10, + 'offset' => !empty($pager['options']['offset']) ? $pager['options']['offset'] : 0, 'path_override' => FALSE, 'path' => $view->get_path(), 'fields_override' => $view->display_handler->get_option('fields_override'), @@ -426,13 +415,13 @@ function views_content_views_panes_content_type_edit_form($form, &$form_state) { $form['use_pager'] = array( '#type' => 'checkbox', '#title' => t('Use pager'), - '#default_value' => isset($conf['use_pager']) ? $conf['use_pager'] : $view->display_handler->get_option('use_pager'), + '#default_value' => $conf['use_pager'], '#id' => 'use-pager-checkbox', '#prefix' => '
', ); $form['pager_id'] = array( '#type' => 'textfield', - '#default_value' => isset($conf['pager_id']) ? $conf['pager_id'] : $view->display_handler->get_option('element_id'), + '#default_value' => $conf['pager_id'], '#title' => t('Pager ID'), '#size' => 4, '#id' => 'use-pager-textfield', @@ -443,7 +432,7 @@ function views_content_views_panes_content_type_edit_form($form, &$form_state) { if ($allow['items_per_page']) { $form['items_per_page'] = array( '#type' => 'textfield', - '#default_value' => isset($conf['items_per_page']) ? $conf['items_per_page'] : $view->display_handler->get_option('items_per_page'), + '#default_value' => $conf['items_per_page'], '#title' => t('Num items'), '#size' => 4, '#description' => t('Select the number of items to display, or 0 to display all results.'), @@ -452,7 +441,7 @@ function views_content_views_panes_content_type_edit_form($form, &$form_state) { if ($allow['offset']) { $form['offset'] = array( '#type' => 'textfield', - '#default_value' => isset($conf['offset']) ? $conf['offset'] : $view->display_handler->get_option('offset'), + '#default_value' => $conf['offset'], '#title' => t('Offset'), '#size' => 4, '#description' => t('Enter the number of items to skip; enter 0 to skip no items.'),