For the next iteration of our billing system that is integrated with our automated hosting systems (more details at ahs.lusion.co.za), we are currently working on an improved “recurrence” system that will allow any recurring items to have much more specific settings rather than just monthly.
Some examples of useful recurrence settings that the new system can handle are “the 15th of every second monday”, “every Tuesday”, “the third last day of every month” or even “the first monday of January”. This system will initially only be available for charges, although there are plans to extend it to hosting account billing too.
Expect the new system to be available in your AHS website hosting control panels in the next few weeks.

New recurring charge screen for billing system
For any coders reading this, the new recurrence engine uses a simple code snippet for the days in a month based on a childhood trick I was taught (based on the knuckles on your hand). Thought it was a neat approach compared to the normal solution of having a constant array with the days in each month (and shorter).
function is_leapyear($y) {
return (($y % 4 == 0) and ($y % 100 != 0)) or ($y % 400 == 0);
}
function days_in_month($m,$is_leapyear=0) {
return ($m==2?28+$is_leapyear:($m<8?30+($m&1):31-($m&1)));
}



