平日重复事件日历,如谷歌的谷歌日历

I created an events calendar which allows the user to add events. The events adding allows for daily, weekly, monthly (and yearly) events creation.

Well, everything works GREAT, but if user select weekly event with days(monday,tueday,wednesday..)it will not work , my code is

 function recurringEvents($type, $interval, $date) {
    $startdate = date('Y-m-d', strtotime($date));
    $day = explode('-', $startdate);
    $datetotime = mktime(0,0,0,$day[1], $day[2], $day[0]);
    $dates = array();
    //If interval type is daily
    if($type == 'D') {
        for($i=1;$i<$interval-1;$i++) {
            $newdate = '+ '. $i .' day';
            $dates[] = date('Y-m-d', strtotime($newdate, $datetotime));
        }
    }
    //If interval type is weekly
    if($type == 'W') {
        for($i=1;$i<$interval;$i++) {
            $newdate = '+ '. $i .' week';
            $dates[] = date('Y-m-d', strtotime($newdate, $datetotime));
        }
    }
    //If interval type is monthly
    if($type == 'M') {
        for($i=1;$i<$interval;$i++) {
            $newdate = '+ '. $i .' month';
            $dates[] = date('Y-m-d', strtotime($newdate, $datetotime));
        }
    }
    //If interval type is yearly
    if($type == 'Y') {
        for($i=1;$i<$interval;$i++) {
            $newdate = '+ '. $i .' year';
            $dates[] = date('Y-m-d', strtotime($newdate, $datetotime));
        }
    }
    return $dates;
}

how to store the specific week events selected by the user ,

example user input is ,

start date : 2-5-2014
end date   : 2-5-2014
Repeats:   : Weekly 
Repeat every: 2 weeks
Repeat on: Sunday , Friday , Saturday   
Starts on: 2-5-2014
Ends:   After 4 occurrencesOn
Summary:    Every 2 weeks on Sunday, Friday, Saturday, 4 times