? test.patch
? archive/_________station_archive.install
? archive/____station_archive.module
? catalog/The Database.mdb
? catalog/fixit.php
? catalog/import.php
Index: program/station_program.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/station/program/station_program.install,v
retrieving revision 1.6
diff -u -p -u -p -r1.6 station_program.install
--- program/station_program.install	9 Nov 2007 07:33:28 -0000	1.6
+++ program/station_program.install	6 Dec 2007 22:56:28 -0000
@@ -29,6 +29,7 @@ function station_program_uninstall() {
   db_query('DROP TABLE {station_program}');
 
   variable_del('station_program_redirect_on_add');
+  variable_del('station_program_use_genre');
 }
 
 /**
Index: program/station_program.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/station/program/station_program.module,v
retrieving revision 1.12
diff -u -p -u -p -r1.12 station_program.module
--- program/station_program.module	30 Nov 2007 01:43:42 -0000	1.12
+++ program/station_program.module	6 Dec 2007 23:02:43 -0000
@@ -75,6 +75,12 @@ function station_program_admin_settings(
     '#default_value' => variable_get('station_program_redirect_on_add', TRUE),
     '#description' => t('If this is checked after adding a new program node you will be redirected back to the new program form. This is much more convenient when entering multiple programs.'),
   );
+  $form['station_program_use_genre'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Genre field'),
+    '#default_value' => variable_get('station_program_use_genre', TRUE),
+    '#description' => t("If this is checked a genre field will be added to the program node."),
+  );
   $form['module_cvs_id'] = array(
     '#type' => 'item',
     '#value' => '<pre>'. STATION_PROGRAM_CVS_ID .'</pre>',
@@ -137,15 +143,17 @@ function station_program_form(&$node) {
     '#maxlength' =>  128,
     '#description' => t('The name of the program. You should avoid making major changes to this without telling the programming director.'),
   );
-  $form['genre'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Text genre'),
-    '#description' => t('A free-form description of the musical genres played on the program.'),
-    '#default_value' => $node->genre,
-    '#required' =>  true,
-    '#maxlength' => 200,
-    '#weight' => -2,
-  );
+  if (variable_get('station_program_use_genre', TRUE)) {
+    $form['genre'] = array(
+      '#type' => 'textfield',
+      '#title' => t('Text genre'),
+      '#description' => t('A free-form description of the musical genres played on the program.'),
+      '#default_value' => $node->genre,
+      '#required' =>  true,
+      '#maxlength' => 200,
+      '#weight' => -2,
+    );
+  }
   $form['url'] = array(
     '#type' => 'textfield',
     '#title' => t('Homepage URL'),
@@ -236,19 +244,23 @@ function station_program_nodeapi(&$node,
 function station_program_view(&$node, $teaser = FALSE, $page = FALSE) {
   $node = node_prepare($node, $teaser);
   if ($teaser) {
-    $node->content['genre'] = array(
-      '#value' => $node->genre,
-      '#weight' => -2,
-    );
+    if (variable_get('station_program_use_genre', TRUE)) {
+      $node->content['genre'] = array(
+        '#value' => $node->genre,
+        '#weight' => -2,
+      );
+    }
   }
   else {
-    $node->content['genre'] = array(
-      '#type' => 'item',
-      '#title' => t('Genre'),
-      '#value' => $node->genre,
-      '#weight' => -6,
-    );
-    if ($node->url) {
+    if (variable_get('station_program_use_genre', TRUE)) {
+      $node->content['genre'] = array(
+        '#type' => 'item',
+        '#title' => t('Genre'),
+        '#value' => $node->genre,
+        '#weight' => -6,
+      );
+    }
+    if (!empty($node->url)) {
       $node->content['homepage'] = array(
         '#type' => 'item',
         '#title' => t('Homepage'),
Index: program/views.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/station/program/views.inc,v
retrieving revision 1.4
diff -u -p -u -p -r1.4 views.inc
--- program/views.inc	22 Aug 2007 04:56:21 -0000	1.4
+++ program/views.inc	6 Dec 2007 22:57:33 -0000
@@ -35,6 +35,10 @@ function station_program_views_tables() 
     ),
   );
 
+  if (!variable_get('station_program_use_genre', TRUE)) {
+    unset($tables['station_program']['fields']['genre']);
+  }
+  
   return $tables;
 }
 
Index: schedule/views_defaults.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/station/schedule/views_defaults.inc,v
retrieving revision 1.15
diff -u -p -u -p -r1.15 views_defaults.inc
--- schedule/views_defaults.inc	28 Nov 2007 00:29:44 -0000	1.15
+++ schedule/views_defaults.inc	6 Dec 2007 23:00:36 -0000
@@ -144,6 +144,10 @@ function station_schedule_views_default_
   if (!station_has_archive()) {
     unset($view->field[1]);
   }
+  // Only list the genre if it's enabled.
+  if (!variable_get('station_program_use_genre', TRUE)) {
+    unset($view->field[3]);
+  }
   $view->filter = array (
     array (
       'tablename' => 'node',
@@ -248,6 +252,10 @@ function station_schedule_views_default_
       'value' => '',
     ),
   );
+  // Only list the genre if it's enabled.
+  if (!variable_get('station_program_use_genre', TRUE)) {
+    unset($view->field[1]);
+  }
   $view->exposed_filter = array (
   );
   $view->requires = array(node, station_program, station_djs, station_schedule_item);
