Hi!
I have a suggestion for the module event_calendar, namely to make $defaultFutureMonths configurable.
A patch that does this could look like this:
file: event_calendar/code/calendar.php
9c9,10
< 'OtherDatesCount' => 'Int'
---
> 'OtherDatesCount' => 'Int',
> 'FutureMonths' => 'Int'
25c26,27
< 'OtherDatesCount' => '3'
---
> 'OtherDatesCount' => '3',
> 'FutureMonths' => '6'
33d34
< static $defaultFutureMonths = 6;
104c105,106
< new NumericField('OtherDatesCount', _t('Calendar.NUMBERFUTUREDATES','Number of future dates to show for repeating events'))
---
> new NumericField('OtherDatesCount', _t('Calendar.NUMBERFUTUREDATES','Number of future dates to show for repeating events')),
> new NumericField('FutureMonths', _t('Calendar.FUTUREMONTHS','Number of months events are shown in the future if no end date is specified'))
335c337
< $this->end_date = new sfDate($this->start_date->addMonth(Calendar::$defaultFutureMonths)->date());
---
> $this->end_date = new sfDate($this->start_date->addMonth($this->FutureMonths)->date());
394c396
< $start_date->subtractMonth(Calendar::$defaultFutureMonths),
---
> $start_date->subtractMonth($this->FutureMonths),
550c552
< $this->end_date = new sfDate($this->start_date->addMonth(Calendar::$defaultFutureMonths)->date());
---
> $this->end_date = null;
560c562
< $this->end_date = new sfDate($this->start_date->addMonth(Calendar::$defaultFutureMonths)->date());
---
> $this->end_date = null;
764a767
>
Explanation: $defaultFutureMonths is not needed anywhere outside of Calendar. The accesses in Calendar_Controller can be replaced with end_date=null which has the same effect.
I renamed $defaultFutureMonths to FutureMonths and added the necessary code to allow configuration via the silverstripe backend.
These changes are just a suggestion, nevertheless I think they would be an useful addition.
Of course the translation for the field FUTUREMONTHS would also have to be added to the language files (event_calendar/lang/en_US.php and de_DE.php).