Index: event.module
===================================================================
RCS file: /home/repos/drupal/drupal/sites/all/modules/event/event.module,v
retrieving revision 1.4
diff -b -d -u -r1.4 event.module
--- event.module	13 Feb 2007 20:02:09 -0000	1.4
+++ event.module	13 Feb 2007 21:03:46 -0000
@@ -237,6 +237,12 @@
     '#maxlength' =>  5,
     '#size' => 3,
     '#description' => t('The default number of days to display in the table view. You can specify a different number of days in the url. More info on the event url format !link', array('!link' => l(t('here'), 'admin/help/event#url-format'))));
+  $form['event_show_start_only'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Show only the beginning in month view'),
+    '#description' => t('Typically, events spanning more than one day are displayed on each day with different status. This option lets you disable all parts of an event except for the beginning.'),
+    '#default_value' => variable_get('event_show_start_only', false),
+    );
 
   if (module_exists('taxonomy')) {
     $form['event_taxonomy_control'] = array(
@@ -1048,15 +1054,20 @@
               $nid->event_state = 'end';
               $data[$year][$month][gmdate('j', $x)][] = $nid;
               $x = $last + 1;
+              $nid = drupal_clone($nid);
             }
             elseif ($x == $node_start) {
               $nid->event_state = 'start';
               $data[$year][$month][gmdate('j', $x)][] = $nid;
+              $nid = drupal_clone($nid);
             }
             else {
               $nid->event_state = 'ongoing';
               $data[$year][$month][gmdate('j', $x)][] = $nid;
+              $nid = drupal_clone($nid);
             }
+            if (variable_get('event_show_start_only', false))
+              break;
           }
         }
       }
