That’s might be one of the solution, but think of it this way, we can divide the recuring events into several type.
1. Recuring with certain repeater times (we can solve this with your way)
2. Recuring with no end (we can solve this with phil suggestion)
So here is the thing, the current database, I have column for calendarid, description, details, date_begin, date_ended, time_begin, and time_ended.
To achieve the first one, then I need to add 1 more column call parentid (default null/zero), then I need to change the way the editing function works, and the way it fetch database.
To achieve the second one, this is a little bit tricky, but still do able. We add another column called recurrence that will have enum value of none, weekly, monthly, and yearly. Basically for weekly, the date difference between date_begin and date_ended cannot be more than 7, which is we call that the spans. Same thing with monthly and yearly. The hardest part is, for each weekly, monthly, or yearly, we need to deal with it differently. For weekly, it will be based on day (monday, tuesday, and etc), while for monthly or yearly, we might need to deal with it from the date (date 4th on each month, every january 1st, or every december 24th). If we want to make a lot advanced, we can let the user defined the way how the recurrence will happn, but it’s way too advanced, and I’m not gonna touch that at all, at least for now.
SO.. I will just release the first beta without any of those functionality at all, because it needs a total remodification for the admin part, as well as from the front part, to read the events.
One more thing to note, I made this system to have the database column expandable, which mean that we can more column to it, and all we need to do just include a different chunk for the admin, but I might want to make it has a fix column with some extra columns, in case somebody need it, to prepare it for including those two advance recuring events.
Regards,