Index: page_manager/plugins/tasks/term_view.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ctools/page_manager/plugins/tasks/term_view.inc,v
retrieving revision 1.10
diff -u -p -r1.10 term_view.inc
--- page_manager/plugins/tasks/term_view.inc	6 Jan 2011 00:16:28 -0000	1.10
+++ page_manager/plugins/tasks/term_view.inc	18 Jan 2011 23:28:48 -0000
@@ -23,7 +23,7 @@ function page_manager_term_view_page_man
       'title' => t('Taxonomy term template'),
       'admin title' => t('Taxonomy term template'),
       'admin description' => t('When enabled, this overrides the default Drupal behavior for displaying taxonomy terms at <em>taxonomy/term/%term</em>. If you add variants, you may use selection criteria such as vocabulary or user access to provide different displays of the taxonomy term and associated nodes. If no variant is selected, the default Drupal taxonomy term display will be used. This page only affects items actually displayed ad taxonomy/term/%term. Some taxonomy terms, such as forums, have their displays moved elsewhere. Also please note that if you are using pathauto, aliases may make a taxonomy terms appear somewhere else, but as far as Drupal is concerned, they are still at taxonomy/term/%term.'),
-      'admin path' => 'taxonomy/term/%term',
+      'admin path' => 'taxonomy/term/%taxonomy_term',
       'admin summary' => 'page_manager_term_view_admin_summary',
 
       // Menu hooks so that we can alter the term/%term menu entry to point to us.
@@ -71,11 +71,6 @@ function page_manager_term_view_menu_alt
     return;
   }
 
-  // @todo --fix.
-  variable_set('page_manager_term_view_disabled', TRUE);
-  drupal_set_message(t('Due to changes in taxonomy, the taxonomy integration with Page Manager is currently not implemented. See <a href="http://drupal.org/node/1016510">.'), 'error');
-  return;
-
   // Override the term view handler for our purpose, but only if someone else
   // has not already done so.
   if (isset($items['taxonomy/term/%taxonomy_term']) && $items['taxonomy/term/%taxonomy_term']['page callback'] == 'taxonomy_term_page' || variable_get('page_manager_override_anyway', FALSE)) {
@@ -102,39 +97,48 @@ function page_manager_term_view_menu_alt
 function page_manager_term_view_page($term) {
   // While we ordinarily should never actually get feeds through here,
   // just in case
-  if ($op != 'feed') {
-    // Load my task plugin
-    $task = page_manager_get_task('term_view');
-
-    // Load the term into a context.
-    ctools_include('context');
-    ctools_include('context-task-handler');
-    $contexts = ctools_context_handler_get_task_contexts($task, '', array($terms, $depth));
-
-    if (empty($contexts)) {
-      return drupal_not_found();
-    }
+  // Load my task plugin
+  $task = page_manager_get_task('term_view');
 
-    // Add a fake tab for 'View' so that edit tabs can be added.
-    if (user_access('administer page manager')) {
-      ctools_include('menu');
-      ctools_menu_add_tab(array(
-        'title' => t('View'),
-        'href' => $_GET['q'],
-        'type' => MENU_DEFAULT_LOCAL_TASK,
-        'weight' => -10,
-      ));
-    }
-
-    $output = ctools_context_handler_render($task, '', $contexts, array($terms, $depth, $op));
-    if ($output !== FALSE) {
-      return $output;
+  // Load the term into a context.
+  ctools_include('context');
+  ctools_include('context-task-handler');
+  $contexts = ctools_context_handler_get_task_contexts($task, '', array($term));
+
+  if (empty($contexts)) {
+    return drupal_not_found();
+  }
+
+  // Add a fake tab for 'View' so that edit tabs can be added.
+  if (user_access('administer page manager')) {
+    ctools_include('menu');
+    ctools_menu_add_tab(array(
+      'title' => t('View'),
+      'href' => $_GET['q'],
+      'type' => MENU_DEFAULT_LOCAL_TASK,
+      'weight' => -10,
+    ));
+  }
+
+  $output = ctools_context_handler_render($task, '', $contexts, array($term->tid));
+  if ($output !== FALSE) {
+    return $output;
+  }
+
+  $function = 'taxonomy_term_page';
+  foreach (module_implements('page_manager_override') as $module) {
+    $call = $module . '_page_manager_override';
+    if (($rc = $call('term_view')) && function_exists($rc)) {
+      $function = $rc;
+      break;
     }
   }
 
   // Otherwise, fall back.
-  module_load_include('inc', 'taxonomy', 'taxonomy.pages');
-  return taxonomy_term_page($terms, $depth, $op);
+  if ($function == 'taxonomy_term_page') {
+    module_load_include('inc', 'taxonomy', 'taxonomy.pages');
+  }
+  return $function($term);
 }
 
 /**
@@ -146,10 +150,11 @@ function page_manager_term_view_page($te
 function page_manager_term_view_get_arguments($task, $subtask_id) {
   return array(
     array(
-      'keyword' => 'term',
+      'keyword' => 'taxonomy_term',
       'identifier' => variable_get('page_manager_term_view_type', 'multiple') == 'multiple' ? t('Term(s) being viewed') : t('Term being viewed'),
       'id' => 1,
-      'name' => variable_get('page_manager_term_view_type', 'multiple') == 'multiple' ? 'terms' : 'term',
+      //'name' => variable_get('page_manager_term_view_type', 'multiple') == 'multiple' ? 'terms' : 'term',
+      'name' => 'entity_id:taxonomy_term',
       'settings' => array('input_form' => 'tid', 'breadcrumb' => variable_get('page_manager_taxonomy_breadcrumb', TRUE)),
       'default' => '404',
     ),
Index: plugins/content_types/term_context/term_description.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ctools/plugins/content_types/term_context/term_description.inc,v
retrieving revision 1.4
diff -u -p -r1.4 term_description.inc
--- plugins/content_types/term_context/term_description.inc	11 Oct 2010 22:18:23 -0000	1.4
+++ plugins/content_types/term_context/term_description.inc	18 Jan 2011 23:28:48 -0000
@@ -10,7 +10,7 @@ $plugin = array(
   'title' => t('Term description'),
   'icon' => 'icon_term.png',
   'description' => t('Term description.'),
-  'required context' => new ctools_context_required(t('Term'), 'term'),
+  'required context' => new ctools_context_required(t('Term'), array('term', 'taxonomy_term')),
   'category' => t('Taxonomy term'),
 );
 
Index: plugins/content_types/term_context/term_list.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/ctools/plugins/content_types/term_context/term_list.inc,v
retrieving revision 1.8
diff -u -p -r1.8 term_list.inc
--- plugins/content_types/term_context/term_list.inc	11 Oct 2010 22:18:23 -0000	1.8
+++ plugins/content_types/term_context/term_list.inc	18 Jan 2011 23:28:48 -0000
@@ -10,7 +10,7 @@ $plugin = array(
   'title' => t('List of related terms'),
   'icon' => 'icon_term.png',
   'description' => t('Terms related to an existing term; may be child, siblings or top level.'),
-  'required context' => new ctools_context_required(t('Term'), 'term'),
+  'required context' => new ctools_context_required(t('Term'), array('term', 'taxonomy_term')),
   'category' => t('Taxonomy term'),
   'defaults' => array('title' => '', 'type' => 'child', 'list_type' => 'ul'),
 );
