? thememenu.patch
Index: mysite.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/mysite/mysite.module,v
retrieving revision 1.67
diff -u -p -r1.67 mysite.module
--- mysite.module	21 Oct 2007 16:38:09 -0000	1.67
+++ mysite.module	21 Oct 2007 16:56:56 -0000
@@ -258,7 +258,7 @@ function mysite_menu($may_cache) {
       if (is_array($types)) {
         foreach ($types as $type) {
           $check = module_invoke('mysite_type', $type, FALSE);
-          if (function_exists('mysite_type_'. $type .'_title') && is_array($check)) {
+          if ((function_exists('mysite_type_'. $type .'_title') || function_exists('mysite_type_'. $type .'_settings')) && is_array($check)) {
             $items[] = array('path' => 'admin/settings/mysite/type/'. $type,
             'title' => t('@type', array('@type' => ucwords($type))),
             'description' => t('Settings for the @type plugin', array('@type' => ucwords($type))),            
@@ -2077,14 +2077,11 @@ function mysite_type_settings_form($type
  */
 function mysite_type_settings_form_submit($form_id, $form_values){
   $type = $form_values['type'];
-  if ($form_values['op'] == t('Save configuration'))
-  {
+  if ($form_values['op'] == t('Save configuration')) {
     $values = array();
-    foreach ($form_values as $key => $value)
-    {
+    foreach ($form_values as $key => $value) {
       $setting = explode('-', $key);
-      if ($setting[0] == 'mysite_type_' . $type)
-      {
+      if ($setting[0] == 'mysite_type_' . $type) {
         $values[$setting[1]] = $value;
       }
     }
@@ -2113,7 +2110,11 @@ function mysite_type_settings_form_submi
  * @ingroup mysite
  */
 function mysite_type_settings($type) {
-  $output = drupal_get_form('mysite_type_settings_form', $type);
+  // If this is a content plugin, load the basic settings form.
+  if (function_exists('mysite_type_'. $type .'_title')) {
+    $output = drupal_get_form('mysite_type_settings_form', $type);
+  }  
+  // If this form has special options, load them.
   if (function_exists('mysite_type_' . $type . '_settings')) {
     $output .= call_user_func('mysite_type_' . $type . '_settings');
   }
