Jump to content
bbh_blocked_dnftl
Tiberium Technology® Forums

Welcome to Tiberium Technology® Forums

Welcome to Tiberium Technology® Forums, like most online communities you must register to view or post in our community, but don't worry this is a simple free process that requires minimal information for you to signup. Be apart of Tiberium Technology® Forums by signing in or creating an account.
  • Start new topics and reply to others
  • Subscribe to topics and forums to get email updates
  • Get your own profile page and make new friends
  • Send personal messages to other members.

Recommended Posts

  • Root Admin
Posted

IP.Calendar has supported basic recurring calendar events for many versions now. You can create events that recur weekly, monthly or yearly in IP.Calendar, and they will automatically show up on their specified schedule. While this capability is certainly useful, we felt it was time to enhance event recurrence capabilities in the next version of IP.Calendar.

 

 

New options

 

Recurring every week, month or year is useful, but there are many other ways events can recur and IP.Calendar has no provisions to accommodate those recurrence types in the 3.x IP.Calendar release. For 4.0 we have added several new recurrence-based options to the calendar.

 

Recur daily, weekly, monthly or yearly

In addition to the three options available in previous versions, you can now configure events to recur daily.

 

Recurrence frequency

You are no longer restricted to recurring every week (or month or other time period). You can now configure events to recur every 2 weeks, or every 3 months, or every 10 days, or whatever period of time you need to.

 

Weekly recurrence: days of the week

If your event recurs weekly, you can now specify the days of the week the event should recur on. This means you can configure an event that recurs weekly on every Tuesday and Thursday, for instance.

 

Recurrence timeframe

In previous versions of IP.Calendar, the end date specified when the event should stop recurring. In 4.0, the end date/time specifies when the original recurrence end date/time are. This means you can have an event that lasts 2 days and recurs annually, for instance (in other words, recurring ranged events). When configuring the event, you now have three options for specifying the recurrence information:

  • Never end
  • End after a certain number of occurrences
  • End on a certain date

You can now configure events like Christmas which never end, you can configure meetings which have a certain number of occurrences before they are finished, and you can configure recurring events that end on a certain date.

 

 

As you can see, the options have been greatly expanded to accommodate many more types of recurring events.

 

 

 

 

Some technical details

 

At a technical level, event recurrence data is stored as an "RRULE", just like the iCalendar specification will specify. In fact, the data should be a 1:1 equivalent. If you import iCalendar events which have recurrence capabilities not supported by calendar, those events will be skipped during the import routine (as they are presently), however there are now far fewer recurrence capabilities that are wholly unsupported.

 

By storing the exact RRULE value we have a few benefits over previous versions of Calendar:

  • Event importing is simpler, as we can copy the rule directly into the database unmodified (after verifying we support all parameters)
  • Event exporting is simpler for the same reason
  • We can expand recurring event support in the future if necessary with few database changes necessary

Using PHP you can easily find future event recurrence details using the nextOccurrence() method.

    /**     * Find the next occurrence of an event starting from a specified start point     *     * @param    IPScalendarDate        $date        Date to start from     * @param    string                    $type        Type of date to check against (startDate or endDate)     * @return    IPScalendarDate|NULL     */    public function nextOccurrence( $date, $type='startDate' )
This instance method is run against a calendar event, passing in a date to find the next occurrence from. You can look for either start date or end date.

View the full article

 

View the full article at IPS

 

 


My Free Mods:
[NG23] News System v1.1.1 | Custom Pages v4.2 | (NG30) Google Adsense Ads v1.2.2
(NG30) Google Ads In Topic View v1.1.1 | (NG30) iClient Message In A Bottle v1.1.0 | (NG30) Forum Icon Legend v1.0.1
(NG30) Registration Notes v1.0.0 | (NG30) IP.Chat Message v1.0.0

My Paid Mods:
(NG33) Global Adverts v2.1.0 | (NG30) Rotating Banners v1.1.0 | (NG33) BuyNow BBCode v2.0.0
(NG33) Members Donate Button v1.0.8 | (NG33) Xbox/Psn Tags v1.0.3
(NG30) Image Align BBCode v1.0.0 | (NG30) Topic HTML v1.0.0 | (NG30) Google Checkout v1.0.0 | (NG30) LightBox Link BBCode v1.0.0

Mods In Development:
(NG33) Social Groups Addon - Group Payment Button | (NG33) Global Ads v2.2.0 Alpha 1

My Services:
Mod Installation Service | Skin Installation Service | Forum Upgrade Service

25d62e68d76cd7f75667a83cf86de91d.png571a3be8802342dcad9f07b714798cab.pngd650fe3d5d63fbbbab3604d6dc2414a0.png45b90d1ccf717d0a8f5d408051b94ef2.png
cacd42cb21d2574e269f68f0e79192dc.png62544e0b76b142e25661166266eb7944.png9fd72f98b8e65b7fb691407ee5d42391.png
b7abd2a44678e89c2bb3aa91e401ea99.png9687ca76387f2ede1fbb7df8d2508b3e.pngc8c57eb84a468892635126acaf75ff6f.png

---------------------------
For Support Questions About Your Hosting Account, Please Post Your Question In The HelpDesk System.
http://www.tiberiumstudios.net/Files/Sigs/sig.gif
---------------------------
My YouTube! Channel
The Price of War Clan.com
---------------------------

NXE:
NuclearGeneral.png
NewNXE:
NuclearGeneral.png
DarkSigBar:
NuclearGeneral.png
XboxOneSig:
NuclearGeneral.png
XboxOneSig2:
NuclearGeneral.png

×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, & Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.