Sheet1
Linking of MCAL functions



KEY functions to the right of another are called by it exclusivly



internal functions below another are called by it exclusivly



[] = add prefix from top of column in square brackets



() = internal function



* = also called from another place, but this is the primary







LEVEL -php4-[mcal_] -libmcal-[cal_] -mstore-[mstore_] -mysqldrv-[mysqldrv_]





STREAM




[]open



(php_mcal_do_open) []open



([]open_addr) []open []open



([]validuser)

[]popen



[]reopen



[]close



(cal_close_it) []close []close* []close*



([]freestream)* ([]freestream)*


[]ping []ping []ping





ADDRESS





[]valid []valid []valid



([]userexists)





CALENDAR




[]create_calendar



[]rename_calendar



[]delete_calendar







SEARCH DB




[]list_events []search_range []search_range []search_range

[]list_alarms []search_alarm []search_alarm []search_alarm

[]next_recurrence calevent_next_recurrence






READ DB




[]fetch_event []fetch []fetch []fetch

[]fetch_current_stream_event







WRITE DB




[]append_event []append



([]append_addr) []append []append

[]store_event []store []store []store

[]delete_event []remove []remove []remove

[]snooze []snooze []snooze []snooze

[]expunge







ACT ON GLOBAL EVENT




[]event_init



(php_mcal_event_init)* calevent_new


[]event_set_category



[]event_set_title



[]event_set_description



[]event_set_start



[]event_set_end



[]event_set_alarm



[]event_set_class



[]event_set_recur_none calevent_recur_none


[]event_set_recur_daily calevent_recur_daily


[]event_set_recur_weekly calevent_recur_weekly


[]event_set_recur_monthly_mday calevent_recur_monthly_mday


[]event_set_recur_monthly_wday calevent_recur_monthly_wday


[]event_set_recur_yearly calevent_recur_yearly



calevent_getattr



calevent_setattr






FOR LEVEL UP




[]is_leap_year calevent_free


[]days_in_month



[]date_valid



[]time_valid



[]day_of_week



[]day_of_year



[]date_compare







FOR THIS LEVEL - all ()




make_event_object caladdr_parse read_event make_timestamp

add_assoc_object caladdr_out write_event set_recur


caladdr_dup
mysql_query


caladdr_free



[]getdriver also uses ical_routines also uses ical_routines


first_day_not_before






CONSTANTS & OTHER (incomplete)




SUNDAY .. SATURDAY



JANUARY .. NOVEMBER



RECUR_NONE .. RECUR_YEARLY



M_SUNDAY .. M_SATURDAY



M_WEEKDAYS



M_WEEKEND



M_ALLDAYS








cc_ x6 cc_ x2



dummy_ x10