? add-links-227435-2.patch
? add-links-227435-3.patch
? add-links-227435-4.patch
? add-links-227435-5.patch
? all-test.patch
? change-label-266696-19.patch
? cleanup-allowed-271577-20.patch
Index: content.module
===================================================================
RCS file: /cvs/drupal/contributions/modules/cck/content.module,v
retrieving revision 1.301.2.13
diff -u -p -r1.301.2.13 content.module
--- content.module	28 Jun 2008 23:01:18 -0000	1.301.2.13
+++ content.module	29 Jun 2008 20:11:35 -0000
@@ -88,6 +88,16 @@ function content_perm() {
 }
 
 /**
+ * Implementation of hook_menu_alter().
+ */
+function content_menu_alter(&$items) {
+  // Customize the content types page with our own callback
+  $items['admin/content/types']['page callback'] = 'content_overview_types';
+  $items['admin/content/types']['file'] = 'content.admin.inc';
+  $items['admin/content/types']['file path'] = drupal_get_path('module', 'content') .'/includes';
+}
+
+/**
  * Implementation of hook_menu().
  */
 function content_menu() {
@@ -192,6 +202,9 @@ function content_theme() {
       'arguments' => array('element' => NULL),
       'path' => $path,
     ),
+    'content_overview_links' => array(
+      'arguments' => array(),
+    ),
     'content_admin_field_overview_form' => array(
       'arguments' => array('form' => NULL),
     ),
Index: includes/content.admin.inc
===================================================================
RCS file: /cvs/drupal/contributions/modules/cck/includes/content.admin.inc,v
retrieving revision 1.181.2.6
diff -u -p -r1.181.2.6 content.admin.inc
--- includes/content.admin.inc	28 Jun 2008 15:42:41 -0000	1.181.2.6
+++ includes/content.admin.inc	29 Jun 2008 20:11:36 -0000
@@ -5,6 +5,55 @@
  * @file
  * Administrative interface for content type creation.
  */
+ 
+ 
+/**
+ * Menu callback; replacement for node_overview_types().
+ */
+function content_overview_types() {
+  $types = node_get_types();
+  $names = node_get_types('names');
+  $header = array(t('Name'), t('Type'), array('data' => t('Operations'), 'colspan' => '4'), t('Description'),);
+  $rows = array();
+
+  foreach ($names as $key => $name) {
+    $type = $types[$key];
+    if (node_hook($type, 'form')) {
+      $type_url_str = str_replace('_', '-', $type->type);
+      $row = array(
+        check_plain($name),
+        check_plain($type->type),
+      );
+      // Set the edit column.
+      $row[] = array('data' => l(t('edit'), 'admin/content/node-type/'. $type_url_str));
+
+      // Set links for managing fields.
+      $row[] = array('data' => l(t('add field'), 'admin/content/node-type/'. $type_url_str .'/add_field'));
+      $row[] = array('data' => l(t('manage fields'), 'admin/content/node-type/'. $type_url_str .'/fields'));
+      // TODO: a hook to allow other content modules to add more stuff?
+
+      // Set the delete column.
+      if ($type->custom) {
+        $row[] = array('data' => l(t('delete'), 'admin/content/node-type/'. $type_url_str .'/delete'));
+      }
+      else {
+        $row[] = array('data' => '');
+      }
+      $row[] = filter_xss_admin($type->description);
+      $rows[] = $row;
+    }
+  }
+
+  if (empty($rows)) {
+    $rows[] = array(array('data' => t('No content types available.'), 'colspan' => '7', 'class' => 'message'));
+  }
+
+  return theme('table', $header, $rows) .theme('content_overview_links');
+}
+
+function theme_content_overview_links() {
+  return '<div class="contnet-overview-links">'. l(t('» Add a new content type'), 'admin/content/types/add') .'</div>';
+}
 
 /**
  * Menu callback; lists all defined fields for quick reference.
