? .DS_Store
? views_panels.patch
Index: views_bonus_panels.info
===================================================================
RCS file: views_bonus_panels.info
diff -N views_bonus_panels.info
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ views_bonus_panels.info	16 Aug 2007 18:26:16 -0000
@@ -0,0 +1,4 @@
+name = Bonus: Panels
+description = Various views style plugins to put views nodes in panels
+dependencies = views panels
+package = Views
Index: views_bonus_panels.module
===================================================================
RCS file: views_bonus_panels.module
diff -N views_bonus_panels.module
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ views_bonus_panels.module	16 Aug 2007 18:26:17 -0000
@@ -0,0 +1,279 @@
+<?php
+// $Id$
+
+function views_bonus_panels_views_style_plugins() {
+  $items['panels_threecol'] = array(
+    'name' => t('Panels: Teasers, 3 columns'),
+    'theme' => 'views_bonus_panels_threecol',
+    'summary_theme' => 'views_summary',
+  );
+  $items['panels_threecol_stk'] = array(
+    'name' => t('Panels: Teasers, 1 top + 3 columns'),
+    'theme' => 'views_bonus_panels_threecol_stacked',
+    'summary_theme' => 'views_summary',
+  );
+  $items['panels_twocol'] = array(
+    'name' => t('Panels: Teasers, 2 columns'),
+    'theme' => 'views_bonus_panels_twocol',
+    'summary_theme' => 'views_summary',
+  );
+  $items['panels_twocol_stk'] = array(
+    'name' => t('Panels: Teasers, 1 top + 2 columns'),
+    'theme' => 'views_bonus_panels_twocol_stacked',
+    'summary_theme' => 'views_summary',
+  );
+  $items['panels_threecol_term'] = array(
+    'name' => t('Panels: Teasers, By Term, 3 columns'),
+    'theme' => 'views_view_teasers',
+    'summary_theme' => 'views_bonus_panels_byterm_summary',
+  );
+  return $items;
+}
+function theme_views_bonus_panels_inversion($items, $cols, $inverted) {
+  $content = array();
+  
+  if($inverted == false) {
+    $count = 0;
+    foreach ($items as $item) {
+      switch ($count % $cols) {
+        case 0:
+          $section = 'left';
+          break;
+        case 1:
+          if($cols == 2) {
+            $section = 'right';
+          }
+          else {
+            $section = 'middle';
+          }
+          break;
+        case 2:
+          $section = 'right';
+          break;
+      }
+      $content[$section] .= $item;
+      $count++;
+    }
+  }
+  else {
+    $max = (int) count($items) / $cols;
+    $count = 0;
+    $section = 'left';
+    foreach ($items as $item) {
+      if($count >= $max) {
+        switch($section) {
+          case 'left':
+            $section = 'middle';
+            break;
+          case 'middle':
+            if($cols == 3) {
+              $section = 'right';
+            }
+            break;
+          case 'right':
+            // Let all extra nodes go into the right column. 
+            // Reset count to 0 to prevent unneed processing,
+            // because it will execute this statement for no reason
+            // if it's not reset.
+        }    
+        $count = 0;
+      }
+      $content[$section] .= $item;
+      $count++;
+    }
+  }
+  return $content;
+}
+
+
+function theme_views_bonus_panels_layout_engine($nodes, $config, $panel_name, $cols, $stacked = false) {
+  if ($stacked) { 
+    $top_node = array_shift($nodes);
+    $top_node = node_view(node_load($top_node->nid), $config['top_teaser'], false, $config['top_links']);
+  }
+  foreach ($nodes as $node) {
+    $pre_content[] = node_view(node_load($node->nid), $config['teasers'], false, $config['links']);
+  }
+  
+  $content = theme('views_bonus_panels_inversion', $pre_content, $cols, $config['inverted']);
+  if ($stacked) {
+    $content['top'] = $top_node;
+  }
+  return panels_print_layout($panel_name, $content);
+}
+
+/*
+ * Display a teaser list in three columns
+ *
+ * Because views doesn't currently support configuration options for
+ * plugins, the best way to make configuration changes here is 
+ * to override the theme.
+ */
+function theme_views_bonus_panels_threecol_config($name) {
+  return array(
+    'teasers'  => true, 
+    'links'    => true, 
+    'inverted' => false,
+  );
+}
+function theme_views_bonus_panels_threecol($view, $nodes, $type) {
+  $config = theme('views_bonus_panels_threecol_config', $view);
+
+  return theme('views_bonus_panels_layout_engine', $nodes, $config, 'threecol_33_34_33', 3);
+}
+
+
+/**
+ * Configuration for the Three column stacked view
+ */
+function theme_views_bonus_panels_threecol_stacked_config($name) {
+  return array(
+    'top_teaser' => false, // Should the top node be a teaser?
+    'top_links'  => true, // Should the top node have links (like "read more" and "add new comment")?
+    'teasers'    => true, // Should other nodes be shown in teaser form?
+    'links'      => true, // Should the other nodes have links?
+    'inverted'   => false, 
+  );
+}
+
+function theme_views_bonus_panels_threecol_stacked($view, $nodes, $type) {
+  $config = theme('views_bonus_panels_threecol_stacked_config', $view);
+
+  return theme('views_bonus_panels_layout_engine', $nodes, $config, 'threecol_33_34_33_stacked', 3, true);
+}
+
+function theme_views_bonus_panels_twocol_config($name) {
+  return array(
+    'teasers'  => true,
+    'links'    => true, 
+    'inverted' => false, 
+  );
+}
+
+function theme_views_bonus_panels_twocol($view, $nodes, $type) {
+  $config = theme('views_bonus_panels_twocol_config', $view);
+
+  return theme('views_bonus_panels_layout_engine', $nodes, $config, 'twocol', 2);
+}
+
+/**
+ * Configuration for the Three column stacked view
+ */
+function theme_views_bonus_panels_twocol_stacked_config($name) {
+  return array(
+    'top_teaser' => false, // Should the top node be a teaser?
+    'top_links'  => true, // Should the top node have links (like "read more" and "add new comment")?
+    'teasers'    => true, // Should other nodes be shown in teaser form?
+    'links'      => true, // Should the other nodes have links?
+    'inverted'   => false, 
+  );
+}
+
+function theme_views_bonus_panels_twocol_stacked($view, $nodes, $type) {
+  $config = theme('views_bonus_panels_threecol_config', $view);
+  
+  return theme('views_bonus_panels_layout_engine', $nodes, $config, 'twocol_stacked', 2, true);
+}
+
+
+
+/*
+ * Panels: Teasers, By Term, 3 columns
+ * Inspired by the the 3 column classifieds in the middle section of http://sfbay.craigslist.org/
+ */
+function theme_views_bonus_panels_byterm_summary($view) {
+  drupal_add_css(drupal_get_path('module', 'views_bonus_panels_threecol_term') .'/views_bonus.css');
+  // Argument 0 must be a vocabulary ID
+  $vid = $view->args[0];
+  $tree = taxonomy_get_tree($vid);
+  // group terms with their parent
+  foreach ($tree as $term) {
+    $cnt = taxonomy_term_count_nodes($term->tid);
+    if ($term->depth > 1) {
+      $prefix = _taxonomy_depth($term->depth-1). '&nbsp;';
+    }
+    $txt = array($prefix. l($term->name, "$view->real_url/$term->tid"). "&nbsp;($cnt)"); 
+    if ($term->depth == 0) {
+      $parent_tid = $term->tid;
+      $groups[$parent_tid]['header'] = $txt;
+    }
+    else {
+      $groups[$parent_tid]['rows'][] = $txt;
+    }
+  }
+  
+  // Render the groups into tables spread across 3 columns
+  $content = array();
+  foreach ($groups as $group) {
+    $content[] = theme('table', $group['header'], $group['rows']);
+  }
+  return panels_print_layout('threecol_33_34_33', $content);
+}
+
+
+function views_bonus_panels_views_default_views() {
+  $view = new stdClass();
+  $view->name = 'panels_by_term';
+  $view->description = t('Bonus Pack: Standard taxonomy presentation except the summary view presents terms within narrow tables in a 3 col layout.');
+  $view->access = array();
+  $view->view_args_php = '';
+  $view->page = TRUE;
+  $view->page_title = 'panels_by_term';
+  $view->page_header = '';
+  $view->page_header_format = '1';
+  $view->page_footer = '';
+  $view->page_footer_format = '1';
+  $view->page_empty = '';
+  $view->page_empty_format = '1';
+  $view->page_type = 'panels_threecol_term';
+  $view->url = 'panels_by_term';
+  $view->use_pager = TRUE;
+  $view->nodes_per_page = '10';
+  $view->sort = array(
+    array(
+      'tablename' => 'node',
+      'field' => 'sticky',
+      'sortorder' => 'DESC',
+      'options' => '',
+    ),
+    array(
+      'tablename' => 'node',
+      'field' => 'created',
+      'sortorder' => 'DESC',
+      'options' => '',
+    ),
+  );
+  $view->argument = array(
+    array(
+      'type' => 'vocid',
+      'argdefault' => '1',
+      'title' => '%1',
+      'options' => '',
+      'wildcard' => '',
+      'wildcard_substitution' => '',
+    ),
+    array(
+      'type' => 'taxid',
+      'argdefault' => '6',
+      'title' => '%1 - %2',
+      'options' => '9',
+      'wildcard' => '',
+      'wildcard_substitution' => '',
+    ),
+  );
+  $view->field = array(
+    array(
+      'tablename' => 'node',
+      'field' => 'title',
+      'label' => '',
+      'handler' => 'views_handler_field_nodelink',
+      'options' => 'link',
+    ),
+  );
+  $view->filter = array();
+  $view->exposed_filter = array();
+  $view->requires = array('node');
+  $views[$view->name] = $view;
+
+  return $views;
+}
\ No newline at end of file
Index: views_bonus_panels_threecol.info
===================================================================
RCS file: views_bonus_panels_threecol.info
diff -N views_bonus_panels_threecol.info
--- views_bonus_panels_threecol.info	18 Jun 2007 23:07:14 -0000	1.1.2.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,4 +0,0 @@
-name = Bonus: Panels, teasers, 3 columns
-description = "Show views as teasers alternating left, middle and right."
-dependencies = views panels
-package = Views
Index: views_bonus_panels_threecol.module
===================================================================
RCS file: views_bonus_panels_threecol.module
diff -N views_bonus_panels_threecol.module
--- views_bonus_panels_threecol.module	3 Feb 2007 18:26:13 -0000	1.2.2.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,34 +0,0 @@
-<?php
-// $Id: views_bonus_panels_threecol.module,v 1.2.2.2 2007/02/03 18:26:13 merlinofchaos Exp $
-
-function views_bonus_panels_threecol_views_style_plugins() {
-  $items['panels_threecol'] = array(
-    'name' => t('Panels: Teasers, 3 columns'),
-    'theme' => 'views_bonus_panels_threecol',
-    'summary_theme' => 'views_summary',
-  );
-  return $items;
-}
-
-function theme_views_bonus_panels_threecol($view, $nodes, $type) {
-  $teasers = true;
-  $links = true;
-
-  $content = array();
-  foreach ($nodes as $count => $n) {
-    $node = node_load($n->nid);
-    switch ($count % 3) {
-      case 0:
-        $section = 'left';
-        break;
-      case 1:
-        $section = 'middle';
-        break;
-      case 2:
-        $section = 'right';
-        break;
-    }
-    $content[$section] .= node_view($node, $teasers, false, $links);
-  }
-  return panels_print_layout('threecol_33_34_33', $content);
-}
Index: views_bonus_panels_threecol_stk.info
===================================================================
RCS file: views_bonus_panels_threecol_stk.info
diff -N views_bonus_panels_threecol_stk.info
--- views_bonus_panels_threecol_stk.info	18 Jun 2007 23:07:14 -0000	1.1.2.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,4 +0,0 @@
-name = "Bonus: panels, teasers, 1 top + 3 columns"
-description = "Show views as teasers with the first entry spanning 3 columns on the top, then additional entries alternating left, middle and right beneath."
-dependencies = views panels
-package = Views
Index: views_bonus_panels_threecol_stk.module
===================================================================
RCS file: views_bonus_panels_threecol_stk.module
diff -N views_bonus_panels_threecol_stk.module
--- views_bonus_panels_threecol_stk.module	3 Feb 2007 18:26:13 -0000	1.2.2.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,42 +0,0 @@
-<?php
-// $Id: views_bonus_panels_threecol_stk.module,v 1.2.2.2 2007/02/03 18:26:13 merlinofchaos Exp $
-
-function views_bonus_panels_threecol_stk_views_style_plugins() {
-  $items['panels_threecol_stk'] = array(
-    'name' => t('Panels: Teasers, 1 top + 3 columns'),
-    'theme' => 'views_bonus_panels_threecol_stacked',
-    'summary_theme' => 'views_summary',
-  );
-  return $items;
-}
-
-/**
- * Because views doesn't currently support configuration options for
- * plugins, the best way to make configuration changes here is 
- * to override the theme.
- */
-function theme_views_bonus_panels_threecol_stacked($view, $nodes, $type) {
-  $teasers = true;
-  $links = true;
-
-  $content = array();
-  foreach ($nodes as $count => $n) {
-    $node = node_load($n->nid);
-    if ($count == 0) {
-      $section = 'top';
-    }
-    else switch (($count - 1) % 3) {
-      case 0:
-        $section = 'left';
-        break;
-      case 1:
-        $section = 'middle';
-        break;
-      case 2:
-        $section = 'right';
-        break;
-    }
-    $content[$section] .= node_view($node, $teasers, false, $links);
-  }
-  return panels_print_layout('threecol_33_34_33_stacked', $content);
-}
Index: views_bonus_panels_threecol_term.info
===================================================================
RCS file: views_bonus_panels_threecol_term.info
diff -N views_bonus_panels_threecol_term.info
--- views_bonus_panels_threecol_term.info	18 Jun 2007 23:07:14 -0000	1.1.2.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,4 +0,0 @@
-name = Bonus: panels, by term, 3 columns
-description = "Sets up a view whose summary view is set up in 3 panels categorized by term. See README.txt for more information."
-dependencies = views panels
-package = Views
Index: views_bonus_panels_threecol_term.module
===================================================================
RCS file: views_bonus_panels_threecol_term.module
diff -N views_bonus_panels_threecol_term.module
--- views_bonus_panels_threecol_term.module	2 Jul 2007 17:07:30 -0000	1.2.2.4
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,207 +0,0 @@
-<?php
-// $Id: views_bonus_panels_threecol_term.module,v 1.2.2.4 2007/07/02 17:07:30 dmitrig01 Exp $
-function views_bonus_panels_threecol_term_views_style_plugins() {
-  $items['panels_threecol_term'] = array(
-    'name' => t('Panels: By Term, 3 columns'),
-    'theme' => 'views_view_teasers',
-    'summary_theme' => 'views_bonus_panels_byterm_summary',
-  );
-  return $items;
-}
-
-// inspired by the the 3 column classifieds in the middle section of http://sfbay.craigslist.org/
-function theme_views_bonus_panels_byterm_summary($view) {
-  drupal_add_css(drupal_get_path('module', 'views_bonus_panels_threecol_term') .'/views_bonus.css');
-  // argument 0 must be a vocabulary ID
-  $vid = $view->args[0];
-  $tree = taxonomy_get_tree($vid);
-  // group terms with their parent
-  foreach ($tree as $term) {
-    $cnt = taxonomy_term_count_nodes($term->tid);
-    if ($term->depth > 1) {
-      $prefix = _taxonomy_depth($term->depth-1). '&nbsp;';
-    }
-    $txt = array($prefix. l($term->name, "$view->real_url/$term->tid"). "&nbsp;($cnt)"); 
-    if ($term->depth == 0) {
-      $parent_tid = $term->tid;
-      $groups[$parent_tid]['header'] = $txt;
-    }
-    else {
-      $groups[$parent_tid]['rows'][] = $txt;
-    }
-  }
-  
-  // render the groups into tables spread across 3 columns
-  $content = array();
-  $i=0;
-  foreach ($groups as $group) {
-    switch ($i % 3) {
-      case 0:
-        $section = 'left';
-        break;
-      case 1:
-        $section = 'middle';
-        break;
-      case 2:
-        $section = 'right';
-        break;
-    }
-    $content[$section] .= theme('table', $group['header'], $group['rows']);
-    $i++;
-  }  
-  return panels_print_layout('threecol_33_34_33', $content);
-}
-
-function views_bonus_panels_threecol_term_views_default_views() {
-  // this view takes advantage of the summary_combo plugin
-  $view = new stdClass();
-  $view->name = 'taxonomy_directory';
-  $view->description = t('First letter of term on top and related view on bottom of each page.');
-  $view->access = array ();
-  $view->view_args_php = '';
-  $view->page = TRUE;
-  $view->page_title = t('directory');
-  $view->page_header = '';
-  $view->page_header_format = '3';
-  $view->page_footer = '';
-  $view->page_footer_format = '1';
-  $view->page_empty = '';
-  $view->page_empty_format = '1';
-  $view->page_type = 'summary_combo';
-  $view->url = 'directory';
-  $view->use_pager = TRUE;
-  $view->nodes_per_page = '50';
-  $view->menu = TRUE;
-  $view->menu_title = t('Directory');
-  $view->menu_tab = FALSE;
-  $view->menu_tab_default = FALSE;
-  $view->menu_weight = '';
-  $view->sort = array (
-  array (
-    'tablename' => 'term_data',
-    'field' => 'weight',
-    'sortorder' => 'ASC',
-    'options' => '',
-  ),
-  array (
-    'tablename' => 'node',
-    'field' => 'sticky',
-    'sortorder' => 'DESC',
-    'options' => '',
-  ),
-  array (
-    'tablename' => 'node',
-    'field' => 'created',
-    'sortorder' => 'DESC',
-    'options' => '',
-  ),
-  );
-  $view->argument = array (
-  array (
-    'type' => 'taxletter',
-    'argdefault' => '6',
-    'title' => '%1',
-    'options' => '1',
-    'wildcard' => '',
-    'wildcard_substitution' => '',
-  ),
-  array (
-    'type' => 'taxletter',
-    'argdefault' => '6',
-    'title' => '%2',
-    'options' => '',
-    'wildcard' => '',
-    'wildcard_substitution' => '',
-  ),
-  );
-  $view->field = array (
-  array (
-    'tablename' => 'node',
-    'field' => 'title',
-    'label' => '',
-    'handler' => 'views_handler_field_nodelink',
-    'sortable' => '1',
-  ),
-  );
-  $view->filter = array (
-  array (
-    'tablename' => 'node',
-    'field' => 'status',
-    'operator' => '=',
-    'options' => '',
-    'value' => '1',
-  ),
-  );
-  $view->exposed_filter = array ();
-  $view->requires = array(term_data, node);
-  $views[$view->name] = $view;
-
-  $view = new stdClass();
-  $view->name = 'panels_by_term';
-  $view->description = t('Bonus Pack: Standard taxonomy presentation except the summary view presents terms within narrow tables in a 3 col layout.');
-  $view->access = array ();
-  $view->view_args_php = '';
-  $view->page = TRUE;
-  $view->page_title = 'panels_by_term';
-  $view->page_header = '';
-  $view->page_header_format = '1';
-  $view->page_footer = '';
-  $view->page_footer_format = '1';
-  $view->page_empty = '';
-  $view->page_empty_format = '1';
-  $view->page_type = 'panels_threecol_term';
-  $view->url = 'panels_by_term';
-  $view->use_pager = TRUE;
-  $view->nodes_per_page = '10';
-  $view->sort = array (
-    array (
-      'tablename' => 'node',
-      'field' => 'sticky',
-      'sortorder' => 'DESC',
-      'options' => '',
-    ),
-    array (
-      'tablename' => 'node',
-      'field' => 'created',
-      'sortorder' => 'DESC',
-      'options' => '',
-    ),
-  );
-  $view->argument = array (
-    array (
-      'type' => 'vocid',
-      'argdefault' => '1',
-      'title' => '%1',
-      'options' => '',
-      'wildcard' => '',
-      'wildcard_substitution' => '',
-    ),
-    array (
-      'type' => 'taxid',
-      'argdefault' => '6',
-      'title' => '%1 - %2',
-      'options' => '9',
-      'wildcard' => '',
-      'wildcard_substitution' => '',
-    ),
-  );
-  $view->field = array (
-    array (
-      'tablename' => 'node',
-      'field' => 'title',
-      'label' => '',
-      'handler' => 'views_handler_field_nodelink',
-      'options' => 'link',
-    ),
-    );
-  $view->filter = array (
-  );
-  $view->exposed_filter = array (
-  );
-  $view->requires = array('node');
-
-  $views[$view->name] = $view;
-
-  return $views;
-}
-
Index: views_bonus_panels_twocol.info
===================================================================
RCS file: views_bonus_panels_twocol.info
diff -N views_bonus_panels_twocol.info
--- views_bonus_panels_twocol.info	18 Jun 2007 23:07:14 -0000	1.1.2.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,4 +0,0 @@
-name = Bonus: panels, teasers, 2 col
-description = "Show views as teasers in two columns."
-dependencies = views panels
-package = Views
Index: views_bonus_panels_twocol.module
===================================================================
RCS file: views_bonus_panels_twocol.module
diff -N views_bonus_panels_twocol.module
--- views_bonus_panels_twocol.module	3 Feb 2007 18:26:13 -0000	1.2.2.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,35 +0,0 @@
-<?php
-// $Id: views_bonus_panels_twocol.module,v 1.2.2.2 2007/02/03 18:26:13 merlinofchaos Exp $
-
-function views_bonus_panels_twocol_views_style_plugins() {
-  $items['panels_twocol'] = array(
-    'name' => t('Panels: Teasers, 2 columns'),
-    'theme' => 'views_bonus_panels_twocol',
-    'summary_theme' => 'views_summary',
-  );
-  return $items;
-}
-
-/**
- * Because views doesn't currently support configuration options for
- * plugins, the best way to make configuration changes here is 
- * to override the theme.
- */
-function theme_views_bonus_panels_twocol($view, $nodes, $type) {
-  $teasers = true;
-  $links = true;
-
-  $content = array();
-  foreach ($nodes as $count => $n) {
-    $node = node_load($n->nid);
-    if ($count % 2) {
-      $section = 'right';
-    }
-    else {
-      $section = 'left';
-    }
-    $content[$section] .= node_view($node, $teasers, false, $links);
-  }
-  return panels_print_layout('twocol', $content);
-}
-
Index: views_bonus_panels_twocol_stk.info
===================================================================
RCS file: views_bonus_panels_twocol_stk.info
diff -N views_bonus_panels_twocol_stk.info
--- views_bonus_panels_twocol_stk.info	18 Jun 2007 23:07:14 -0000	1.1.2.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,4 +0,0 @@
-name = Bonus: panels, teasers, 1 top + 2 columns
-description = "Show views as teasers with the first entry spanning 2 columns on the top, then additional entries alternating left and right beneath."
-dependencies = views panels
-package = Views
Index: views_bonus_panels_twocol_stk.module
===================================================================
RCS file: views_bonus_panels_twocol_stk.module
diff -N views_bonus_panels_twocol_stk.module
--- views_bonus_panels_twocol_stk.module	3 Feb 2007 18:26:13 -0000	1.2.2.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,36 +0,0 @@
-<?php
-// $Id: views_bonus_panels_twocol_stk.module,v 1.2.2.2 2007/02/03 18:26:13 merlinofchaos Exp $
-function views_bonus_panels_twocol_stk_views_style_plugins() {
-  $items['panels_twocol_stk'] = array(
-    'name' => t('Panels: Teasers, 1 top + 2 columns'),
-    'theme' => 'views_bonus_panels_twocol_stacked',
-    'summary_theme' => 'views_summary',
-  );
-  return $items;
-}
-
-/**
- * Because views doesn't currently support configuration options for
- * plugins, the best way to make configuration changes here is 
- * to override the theme.
- */
-function theme_views_bonus_panels_twocol_stacked($view, $nodes, $type) {
-  $teasers = true;
-  $links = true;
-
-  $content = array();
-  foreach ($nodes as $count => $n) {
-    $node = node_load($n->nid);
-    if ($count == 0) {
-      $section = 'top';
-    }
-    else if ($count % 2) {
-      $section = 'left';
-    }
-    else {
-      $section = 'right';
-    }
-    $content[$section] .= node_view($node, $teasers, false, $links);
-  }
-  return panels_print_layout('twocol_stacked', $content);
-}
Index: views_bonus_summary_combo.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/views_bonus/Attic/views_bonus_summary_combo.module,v
retrieving revision 1.1.2.4
diff -u -p -r1.1.2.4 views_bonus_summary_combo.module
--- views_bonus_summary_combo.module	2 Jul 2007 17:07:30 -0000	1.1.2.4
+++ views_bonus_summary_combo.module	16 Aug 2007 18:26:17 -0000
@@ -73,3 +73,88 @@ function theme_views_bonus_summary_combo
     return '<div id="views_bonus_summary_top">'. implode(' | ', $items) .'</div>';
   }
 }
+
+function views_bonus_summary_combo_views_default_views() {
+  $view = new stdClass();
+  $view->name = 'taxonomy_directory';
+  $view->description = t('First letter of term on top and related view on bottom of each page.');
+  $view->access = array ();
+  $view->view_args_php = '';
+  $view->page = TRUE;
+  $view->page_title = t('directory');
+  $view->page_header = '';
+  $view->page_header_format = '3';
+  $view->page_footer = '';
+  $view->page_footer_format = '1';
+  $view->page_empty = '';
+  $view->page_empty_format = '1';
+  $view->page_type = 'summary_combo';
+  $view->url = 'directory';
+  $view->use_pager = TRUE;
+  $view->nodes_per_page = '50';
+  $view->menu = TRUE;
+  $view->menu_title = t('Directory');
+  $view->menu_tab = FALSE;
+  $view->menu_tab_default = FALSE;
+  $view->menu_weight = '';
+  $view->sort = array(
+    array(
+      'tablename' => 'term_data',
+      'field' => 'weight',
+      'sortorder' => 'ASC',
+      'options' => '',
+    ),
+    array(
+      'tablename' => 'node',
+      'field' => 'sticky',
+      'sortorder' => 'DESC',
+      'options' => '',
+    ),
+    array(
+      'tablename' => 'node',
+      'field' => 'created',
+      'sortorder' => 'DESC',
+      'options' => '',
+    ),
+  );
+  $view->argument = array(
+    array(
+      'type' => 'taxletter',
+      'argdefault' => '6',
+      'title' => '%1',
+      'options' => '1',
+      'wildcard' => '',
+      'wildcard_substitution' => '',
+    ),
+    array(
+      'type' => 'taxletter',
+      'argdefault' => '6',
+      'title' => '%2',
+      'options' => '',
+      'wildcard' => '',
+      'wildcard_substitution' => '',
+    ),
+  );
+  $view->field = array(
+    array(
+      'tablename' => 'node',
+      'field' => 'title',
+      'label' => '',
+      'handler' => 'views_handler_field_nodelink',
+      'sortable' => '1',
+    ),
+  );
+  $view->filter = array(
+    array(
+      'tablename' => 'node',
+      'field' => 'status',
+      'operator' => '=',
+      'options' => '',
+      'value' => '1',
+    ),
+  );
+  $view->exposed_filter = array ();
+  $view->requires = array('term_data', 'node');
+  $views[$view->name] = $view;
+  return $views;
+}
\ No newline at end of file
