Index: includes/module.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/module.inc,v
retrieving revision 1.139
diff -u -r1.139 module.inc
--- includes/module.inc	22 Feb 2009 17:55:29 -0000	1.139
+++ includes/module.inc	10 Mar 2009 16:16:38 -0000
@@ -391,7 +391,7 @@
  */
 function module_implements($hook, $sort = FALSE) {
   static $implementations = array(), $sorted_implementations = array(), $loaded = array(), $cached_hooks = 0;
-
+  
   if (defined('MAINTENANCE_MODE')) {
     return _module_implements_maintenance($hook, $sort);
   }
Index: modules/comment/comment.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/comment/comment.admin.inc,v
retrieving revision 1.16
diff -u -r1.16 comment.admin.inc
--- modules/comment/comment.admin.inc	26 Feb 2009 07:30:26 -0000	1.16
+++ modules/comment/comment.admin.inc	10 Mar 2009 14:54:28 -0000
@@ -21,6 +21,18 @@
 }
 
 /**
+ * Implementation of hook_content_types_overview().
+ *
+ * Display the default comment settings on the Node type overview page.
+ * 
+ */
+function comment_content_types_overview($type) {
+  $option = variable_get('comment_' . $type->type, COMMENT_NODE_READ_WRITE);
+  $options = array(t('Disabled'), t('Read only'), t('Read/Write'));
+  return t('Default comment setting') .': '. $options[$option];
+}
+
+/**
  * Form builder; Builds the comment overview form for the admin.
  *
  * @param $type
Index: modules/field/theme/field.css
===================================================================
RCS file: /cvs/drupal/drupal/modules/field/theme/field.css,v
retrieving revision 1.3
diff -u -r1.3 field.css
--- modules/field/theme/field.css	10 Mar 2009 09:45:32 -0000	1.3
+++ modules/field/theme/field.css	10 Mar 2009 11:33:17 -0000
@@ -32,7 +32,12 @@
   margin: .5em 0 0;
 }
 
-.form-item .number {
+form .form-item .number {
+  display: inline;
+  width: auto;
+}
+
+form .form-item .text {
   display: inline;
   width: auto;
 }
\ No newline at end of file
Index: modules/node/content_types.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/content_types.inc,v
retrieving revision 1.64
diff -u -r1.64 content_types.inc
--- modules/node/content_types.inc	26 Jan 2009 14:08:43 -0000	1.64
+++ modules/node/content_types.inc	10 Mar 2009 18:06:47 -0000
@@ -12,42 +12,126 @@
 function node_overview_types() {
   $types = node_get_types();
   $names = node_get_types('names');
-  $header = array(t('Name'), array('data' => t('Operations'), 'colspan' => '2'));
   $rows = array();
 
   foreach ($names as $key => $name) {
     $type = $types[$key];
     if (node_hook($type, 'form')) {
       $type_url_str = str_replace('_', '-', $type->type);
-      $row = array(theme('node_admin_overview', $name, $type));
+      $row = array(theme('node_admin_overview', $name, $type) . 
+        '<blockquote>' . theme('node_admin_settings', $type) . '</blockquote>');
+      
       // Set the edit column.
       $row[] = array('data' => l(t('edit'), 'admin/build/node-type/' . $type_url_str));
 
-      // Set the delete column.
+      // Allow other modules to add operations to the content type overview.
+      $additions = module_invoke_all('content_types_operations', $type);
+      foreach ($additions as $addition) {
+        $row[] = $addition;
+      }
+
+       // Set the delete column.
       if ($type->custom) {
         $row[] = array('data' => l(t('delete'), 'admin/build/node-type/' . $type_url_str . '/delete'));
       }
       else {
         $row[] = array('data' => '');
       }
+      $count = (count($row) - 1);  
+        
       $rows[] = $row;
     }
   }
 
   if (empty($rows)) {
-    $rows[] = array(array('data' => t('No content types available.'), 'colspan' => '5', 'class' => 'message'));
+    $rows[] = array(array('data' => t('No content types available.'), 'colspan' => ($count + 1), 'class' => 'message'));
   }
 
-  return theme('table', $header, $rows);
+  $header = array(t('Name'), array('data' => t('Operations'), 'colspan' => $count));
+  return theme('table', $header, $rows, array('class' => 'content_types_overview'));
 }
 
 function theme_node_admin_overview($name, $type) {
   $output = check_plain($name);
   $output .= ' <small> (Machine name: ' . check_plain($type->type) . ')</small>';
-  $output .= '<div class="description">' . filter_xss_admin($type->description) . '</div>';
+  $output .= '<div class="description">' . filter_xss_admin($type->description) .'</div>';
+  return $output;
+}
+
+function theme_node_admin_settings($type) {
+  $output = '<div class="description">';
+  
+  // Add summary information on behalf of Node and User modules.
+  $settings = array();
+  $status = variable_get('node_options_' . $type->type, array('status', 'promote'));
+  $options = node_status_options();
+  foreach ($status as $value) {
+    $status_options[] = $options[$value];
+  }
+  $settings[] = t('Default workflow settings') .': '. implode(', ', array_values($status_options));  
+  $display = variable_get('node_submitted_'. $type->type, TRUE);
+  $settings[] = t('Display settings') .': '. ($display ? t('Enable the <em>submitted by Username on date</em> text.') : t('Do not enable the <em>submitted by Username on date</em> text.'));  
+
+  // Allow other modules to add summary information to the content type overview.
+  $additions = module_invoke_all('content_types_overview', $type);
+  $settings = array_merge($settings, $additions);
+        
+  $options = array();
+  if ($type->has_title) {
+    $options[] = $type->title_label;
+  }
+  if ($type->has_body) {
+    $options[] = $type->body_label;
+  }  
+  $fields = field_info_instances($type->type);
+  foreach ($fields as $field) {
+    $options[] = $field['instance']['label'];
+  }
+  $settings[] = t('Fields') .': '. implode(', ', $options);
+
+  $permissions = node_list_permissions($type);
+  $permission_options = array();
+  // Retrieve role names for columns.
+  $role_names = user_roles();
+  $role_permissions = user_role_permissions($role_names);
+  foreach ($permissions as $perm => $permission) {
+    foreach ($role_names as $rid => $name) {
+      // Builds arrays for checked boxes for each role
+      if (isset($role_permissions[$rid][$perm])) {
+        $permission_options[$perm][] = $name;
+      }
+    }
+  }
+  $options = array();
+  foreach ($permission_options as $perm => $names) {
+    $options[] = $perm .': '. implode(', ', $names);
+  }
+  if (empty($options)) {
+    $options = array(t('No permissions have been set for this type.'));
+  }
+  $fieldset = array(
+    '#type' => 'fieldset',
+    '#title' => t('<a href="!link">Permissions</a>', array('!link' => '/admin/user/permissions')),
+    '#value' => theme('item_list', $options),
+    '#collapsible' => TRUE,
+    '#collapsed' => TRUE,
+    );
+  $settings[] = theme('fieldset', $fieldset);
+
+  $output .= implode('<br />', $settings);
+  $output .=  '</div>';
   return $output;
 }
 
+function node_status_options() {
+  return array(
+      'status' => t('Published'),
+      'promote' => t('Promoted to front page'),
+      'sticky' => t('Sticky at top of lists'),
+      'revision' => t('Create new revision'),
+    );
+}
+
 /**
  * Generates the node type editing form.
  */
@@ -151,12 +235,7 @@
   $form['workflow']['node_options'] = array('#type' => 'checkboxes',
     '#title' => t('Default options'),
     '#default_value' => variable_get('node_options_' . $type->type, array('status', 'promote')),
-    '#options' => array(
-      'status' => t('Published'),
-      'promote' => t('Promoted to front page'),
-      'sticky' => t('Sticky at top of lists'),
-      'revision' => t('Create new revision'),
-    ),
+    '#options' => node_status_options(),
     '#description' => t('Users with the <em>administer nodes</em> permission will be able to override these options.'),
   );
   $form['display'] = array(
Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.1028
diff -u -r1.1028 node.module
--- modules/node/node.module	8 Mar 2009 04:25:04 -0000	1.1028
+++ modules/node/node.module	10 Mar 2009 16:50:56 -0000
@@ -73,7 +73,7 @@
     case 'admin/content/node':
       return ' '; // Return a non-null value so that the 'more help' link is shown.
     case 'admin/build/types':
-      return '<p>' . t('Below is a list of all the content types on your site. All posts that exist on your site are instances of one of these content types.') . '</p>';
+      return '<p>' . t('Below is a list of all the content types on your site. All posts that exist on your site are instances of one of these content types. <a href="!link">Create</a> as many new content types as you like and customize each with distinctive fields, settings, and permissions.', array('!link' => url('admin/build/types/add'))) . '</p>';
     case 'admin/build/types/add':
       return '<p>' . t('To create a new content type, enter the human-readable name, the machine-readable name, and all other relevant fields that are on this page. Once created, users of your site will be able to create posts that are instances of this content type.') . '</p>';
     case 'node/%/revisions':
@@ -138,6 +138,9 @@
     'node_admin_overview' => array(
       'arguments' => array('name' => NULL, 'type' => NULL),
     ),
+    'node_admin_settings' => array(
+      'arguments' => array('type' => NULL),
+    ),
     'node_links' => array(
       'arguments' => array('element' => NULL),
     ),
Index: modules/upload/upload.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/upload/upload.module,v
retrieving revision 1.229
diff -u -r1.229 upload.module
--- modules/upload/upload.module	8 Mar 2009 04:25:07 -0000	1.229
+++ modules/upload/upload.module	10 Mar 2009 17:42:08 -0000
@@ -211,6 +211,18 @@
   }
 }
 
+/**
+ * Implementation of hook_content_types_overview().
+ *
+ * Display the default upload settings on the Node type overview page.
+ * 
+ */
+function upload_content_types_overview($type) {
+  $option =  variable_get('upload_' . $type->type, 1);
+  $options = array(t('Disabled'), t('Enabled'));
+  return t('Attachments') .': '. $options[$option];
+}
+
 function upload_form_alter(&$form, $form_state, $form_id) {
   if ($form_id == 'node_type_form' && isset($form['identity']['type'])) {
     $form['workflow']['upload'] = array(
Index: profiles/default/default.profile
===================================================================
RCS file: /cvs/drupal/drupal/profiles/default/default.profile,v
retrieving revision 1.37
diff -u -r1.37 default.profile
--- profiles/default/default.profile	3 Feb 2009 12:30:14 -0000	1.37
+++ profiles/default/default.profile	10 Mar 2009 17:20:21 -0000
@@ -104,7 +104,7 @@
       'type' => 'page',
       'name' => st('Page'),
       'base' => 'node_content',
-      'description' => st("A <em>page</em>, similar in form to an <em>article</em>, is a simple method for creating and displaying information that rarely changes, such as an \"About us\" section of a website. By default, a <em>page</em> entry does not allow visitor comments and is not featured on the site's initial home page."),
+      'description' => st("A <em>page</em>, similar in form to an <em>article</em>, is a simple method for creating and displaying information that rarely changes, such as an \"About us\" section of a website."),
       'custom' => 1,
       'modified' => 1,
       'locked' => 0,
@@ -113,7 +113,7 @@
       'type' => 'article',
       'name' => st('Article'),
       'base' => 'node_content',
-      'description' => st("An <em>article</em>, similar in form to a <em>page</em>, is ideal for creating and displaying content that informs or engages website visitors. Press releases, site announcements, and informal blog-like entries may all be created with an <em>article</em> entry. By default, an <em>article</em> entry is automatically featured on the site's initial home page, and provides the ability to post comments."),
+      'description' => st("An <em>article</em>, similar in form to a <em>page</em>, is ideal for creating and displaying content that informs or engages website visitors. Press releases, site announcements, and informal blog-like entries may all be created with an <em>article</em> entry."),
       'custom' => 1,
       'modified' => 1,
       'locked' => 0,

