From 50d363f3cda5931d1b7c0201f53ad6160d3bab8b Mon Sep 17 00:00:00 2001 From: skeeter Date: Sun, 20 May 2001 21:11:52 +0000 Subject: [PATCH] Finished all changes from yesterdays partial cleanup. Inching closer to support ICAP and is now even more OOP. I think a little more work on this and it'll be ready for a full ICAP test. --- calendar/edit_entry.php | 37 ++--- calendar/edit_entry_handler.php | 55 +++---- calendar/inc/class.calendar.inc.php | 2 +- calendar/inc/class.calendar__.inc.php | 104 ++++++++++++ calendar/inc/class.calendar_icap.inc.php | 194 +++++------------------ calendar/inc/class.calendar_sql.inc.php | 164 ++----------------- calendar/view.php | 4 +- 7 files changed, 202 insertions(+), 358 deletions(-) diff --git a/calendar/edit_entry.php b/calendar/edit_entry.php index 29d592b700..1f227be84a 100755 --- a/calendar/edit_entry.php +++ b/calendar/edit_entry.php @@ -50,8 +50,8 @@ if ($id > 0) { - $cal_stream = $phpgw->calendar->open('INBOX',intval($owner),''); - $event = $phpgw->calendar->fetch_event($cal_stream,intval($id)); + $phpgw->calendar->open('INBOX',intval($owner),''); + $event = $phpgw->calendar->fetch_event(intval($id)); $can_edit = False; @@ -59,7 +59,7 @@ { if($event->public != True) { - if($phpgw->calendar->check_perms(16) == True) + if($phpgw->calendar->check_perms(PHPGW_ACL_PRIVATE) == True) { $can_edit = True; } @@ -81,7 +81,7 @@ if($event->owner == 0) { - $event->owner = $owner; + $phpgw->calendar->add_attribute('owner',$owner); } $can_edit = True; @@ -93,9 +93,9 @@ header('Location: '.$phpgw->link('/calendar/view.php','id='.$id.'&owner='.$owner)); } - $cal_stream = $phpgw->calendar->open('INBOX',intval($cal_info->owner),''); - $phpgw->calendar->event_init($cal_stream); - $phpgw->calendar->event->id = 0; + $phpgw->calendar->open('INBOX',intval($cal_info->owner),''); + $phpgw->calendar->event_init(); + $phpgw->calendar->add_attribute('id',0); $can_edit = True; @@ -117,27 +117,26 @@ $thisminute = (int)$minute; } - $phpgw->calendar->event_set_start($cal_stream,$thisyear,$thismonth,$thisday,$thishour,$this->minute,0); - $phpgw->calendar->event_set_end($cal_stream,$thisyear,$thismonth,$thisday,$thishour,$this->minute,0); - $phpgw->calendar->event_set_title($cal_stream,''); - $phpgw->calendar->event_set_description($cal_stream,''); - $phpgw->calendar->event->priority = 2; + $phpgw->calendar->set_start($thisyear,$thismonth,$thisday,$thishour,$this->minute,0); + $phpgw->calendar->set_end($thisyear,$thismonth,$thisday,$thishour,$this->minute,0); + $phpgw->calendar->set_title(''); + $phpgw->calendar->set_description(''); + $phpgw->calendar->add_attribute('priority',2); if($phpgw_info['user']['preferences']['calendar']['default_private'] == 'Y' || $phpgw_info['user']['preferences']['calendar']['default_private'] == True) { - $phpgw->calendar->event_set_class($cal_stream,False); + $phpgw->calendar->set_class(False); } else { - $phpgw->calendar->event_set_class($cal_stream,True); + $phpgw->calendar->set_class(True); } - $phpgw->calendar->event_set_recur_none($cal_stream); + $phpgw->calendar->set_recur_none(); $event = $phpgw->calendar->event; } - $tz_offset = ((60 * 60) * intval($phpgw_info['user']['preferences']['common']['tz_offset'])); - $start = mktime($event->start->hour,$event->start->min,$event->start->sec,$event->start->month,$event->start->mday,$event->start->year) - $tz_offset; - $end = mktime($event->end->hour,$event->end->min,$event->end->sec,$event->end->month,$event->end->mday,$event->end->year) - $tz_offset; + $start = mktime($event->start->hour,$event->start->min,$event->start->sec,$event->start->month,$event->start->mday,$event->start->year) - $phpgw->calendar->datetime->tz_offset; + $end = mktime($event->end->hour,$event->end->min,$event->end->sec,$event->end->month,$event->end->mday,$event->end->year) - $phpgw->calendar->datetime->tz_offset; $phpgw->common->phpgw_header(); echo parse_navbar(); @@ -367,8 +366,6 @@ $str .= '>'.lang('Use End Date').' '; - - $day_html = $sb->getDays('recur_enddate[mday]',intval($phpgw->common->show_date($recur_end,'d'))); $month_html = $sb->getMonthText('recur_enddate[month]',intval($phpgw->common->show_date($recur_end,'n'))); $year_html = $sb->getYears('recur_enddate[year]',intval($phpgw->common->show_date($recur_end,'Y')),intval($phpgw->common->show_date($recur_end,'Y'))); diff --git a/calendar/edit_entry_handler.php b/calendar/edit_entry_handler.php index a68e6e71e2..73ade6d191 100755 --- a/calendar/edit_entry_handler.php +++ b/calendar/edit_entry_handler.php @@ -39,17 +39,17 @@ { $error = 40; } - elseif (($phpgw->calendar->time_valid($event->start->hour,$event->start->min,0) == False) || ($phpgw->calendar->time_valid($event->end->hour,$event->end->min,0) == False)) + elseif (($phpgw->calendar->datetime->time_valid($event->start->hour,$event->start->min,0) == False) || ($phpgw->calendar->datetime->time_valid($event->end->hour,$event->end->min,0) == False)) { $error = 41; } - elseif (($phpgw->calendar->date_valid($event->start->year,$event->start->month,$event->start->mday) == False) || ($phpgw->calendar->date_valid($event->end->year,$event->end->month,$event->end->mday) == False) || ($phpgw->calendar->date_compare($event->start->year,$event->start->month,$event->start->mday,$event->end->year,$event->end->month,$event->end->mday) == 1)) + elseif (($phpgw->calendar->datetime->date_valid($event->start->year,$event->start->month,$event->start->mday) == False) || ($phpgw->calendar->datetime->date_valid($event->end->year,$event->end->month,$event->end->mday) == False) || ($phpgw->calendar->datetime->date_compare($event->start->year,$event->start->month,$event->start->mday,$event->end->year,$event->end->month,$event->end->mday) == 1)) { $error = 42; } - elseif ($phpgw->calendar->date_compare($event->start->year,$event->start->month,$event->start->mday,$event->end->year,$event->end->month,$event->end->mday) == 0) + elseif ($phpgw->calendar->datetime->date_compare($event->start->year,$event->start->month,$event->start->mday,$event->end->year,$event->end->month,$event->end->mday) == 0) { - if ($phpgw->calendar->time_compare($event->start->hour,$event->start->min,0,$event->end->hour,$event->end->min,0) == 1) + if ($phpgw->calendar->datetime->time_compare($event->start->hour,$event->start->min,0,$event->end->hour,$event->end->min,0) == 1) { $error = 42; } @@ -109,18 +109,18 @@ } $is_public = ($private == 'public'?1:0); - $cal_stream = $phpgw->calendar->open('INBOX',intval($owner),''); - $phpgw->calendar->event_init($cal_stream); - $phpgw->calendar->event_set_category($cal_stream,$category); - $phpgw->calendar->event_set_title($cal_stream,$title); - $phpgw->calendar->event_set_description($cal_stream,$description); - $phpgw->calendar->event_set_start($cal_stream,$start[year],$start[month],$start[mday],$start[hour],$start[min],0); - $phpgw->calendar->event_set_end($cal_stream,$end[year],$end[month],$end[mday],$end[hour],$end[min],0); - $phpgw->calendar->event_set_class($cal_stream,$is_public); + $phpgw->calendar->open('INBOX',intval($owner),''); + $phpgw->calendar->event_init(); + $phpgw->calendar->set_category($category); + $phpgw->calendar->set_title($title); + $phpgw->calendar->set_description($description); + $phpgw->calendar->set_start($start[year],$start[month],$start[mday],$start[hour],$start[min],0); + $phpgw->calendar->set_end($end[year],$end[month],$end[mday],$end[hour],$end[min],0); + $phpgw->calendar->set_class($is_public); if($id != 0) { - $phpgw->calendar->event->id = $id; + $phpgw->calendar->add_attribute('id',$id); } if($rpt_use_end != 'y') @@ -135,22 +135,22 @@ switch($recur_type) { case RECUR_NONE: - $phpgw->calendar->event_set_recur_none($cal_stream); + $phpgw->calendar->set_recur_none(); break; case RECUR_DAILY: - $phpgw->calendar->event_set_recur_daily($cal_stream,$recur_enddate[year],$recur_enddate[month],$recur_enddate[mday],$recur_interval); + $phpgw->calendar->set_recur_daily($recur_enddate[year],$recur_enddate[month],$recur_enddate[mday],$recur_interval); break; case RECUR_WEEKLY: - $phpgw->calendar->event_set_recur_weekly($cal_stream,$recur_enddate[year],$recur_enddate[month],$recur_enddate[mday],$recur_interval,$recur_data); + $phpgw->calendar->set_recur_weekly($recur_enddate[year],$recur_enddate[month],$recur_enddate[mday],$recur_interval,$recur_data); break; case RECUR_MONTHLY_MDAY: - $phpgw->calendar->event_set_recur_monthly_mday($cal_stream,$recur_enddate[year],$recur_enddate[month],$recur_enddate[mday],$recur_interval); + $phpgw->calendar->set_recur_monthly_mday($recur_enddate[year],$recur_enddate[month],$recur_enddate[mday],$recur_interval); break; case RECUR_MONTHLY_WDAY: - $phpgw->calendar->event_set_recur_monthly_wday($cal_stream,$recur_enddate[year],$recur_enddate[month],$recur_enddate[mday],$recur_interval); + $phpgw->calendar->set_recur_monthly_wday($recur_enddate[year],$recur_enddate[month],$recur_enddate[mday],$recur_interval); break; case RECUR_YEARLY: - $phpgw->calendar->event_set_recur_yearly($cal_stream,$recur_enddate[year],$recur_enddate[month],$recur_enddate[mday],$recur_interval); + $phpgw->calendar->set_recur_yearly($recur_enddate[year],$recur_enddate[month],$recur_enddate[mday],$recur_interval); break; } @@ -186,25 +186,23 @@ } reset($participants); - $phpgw->calendar->event_set_participants($cal_stream,$participants); - - $phpgw->calendar->event->priority = intval($priority); + $phpgw->calendar->add_attribute('participants',$participants); + $phpgw->calendar->add_attribute('priority',$priority); $event = $phpgw->calendar->event; $phpgw->session->appsession('entry','calendar',$event); $datetime_check = validate($event); - $tz_offset = ((60 * 60) * intval($phpgw_info['user']['preferences']['common']['tz_offset'])); - $start = mktime($event->start->hour,$event->start->min,$event->start->sec,$event->start->month,$event->start->mday,$event->start->year) - $tz_offset; - $end = mktime($event->end->hour,$event->end->min,$event->end->sec,$event->end->month,$event->end->mday,$event->end->year) - $tz_offset; + $start = mktime($event->start->hour,$event->start->min,$event->start->sec,$event->start->month,$event->start->mday,$event->start->year) - $phpgw->calendar->datetime->tz_offset; + $end = mktime($event->end->hour,$event->end->min,$event->end->sec,$event->end->month,$event->end->mday,$event->end->year) - $phpgw->calendar->datetime->tz_offset; $overlapping_events = $phpgw->calendar->overlap($start,$end,$event->participants,$event->owner,$event->id); } else { - $cal_stream = $phpgw->calendar->open('INBOX',intval($owner),''); - $phpgw->calendar->event_init($cal_stream); + $phpgw->calendar->open('INBOX',intval($owner),''); + $phpgw->calendar->event_init(); $event = unserialize(str_replace('O:8:"stdClass"','O:13:"calendar_time"',serialize($phpgw->session->appsession('entry','calendar')))); $phpgw->calendar->event = $event; @@ -283,8 +281,7 @@ } else { - $cal_stream = $phpgw->calendar->open('INBOX',intval($owner),''); - $phpgw->calendar->store_event($cal_stream); + $phpgw->calendar->store_event(); Header('Location: '.$phpgw->link('/'.$phpgw_info['flags']['currentapp'].'/index.php','year='.$event->start->year.'&month='.$event->start->month.'&day='.$event->start->mday.'&cd=14&owner='.$owner)); } ?> diff --git a/calendar/inc/class.calendar.inc.php b/calendar/inc/class.calendar.inc.php index 6fe2a93e9c..ba16233330 100755 --- a/calendar/inc/class.calendar.inc.php +++ b/calendar/inc/class.calendar.inc.php @@ -226,7 +226,7 @@ class calendar extends calendar_ $nextday = mktime(0,0,0,$month,$day + 1,$year) - $this->datetime->tz_offset; if (intval($phpgw->common->show_date($starttime,'Hi')) && $starttime == $endtime) { - $time = $phpgw->common->show_date($starttime,'Hi'); + $time = $phpgw->common->show_date($starttime,'H:i'); } elseif ($starttime <= $rawdate_offset && $endtime >= $nextday - 60) { diff --git a/calendar/inc/class.calendar__.inc.php b/calendar/inc/class.calendar__.inc.php index 72dfc3a28d..f9e38dcce7 100755 --- a/calendar/inc/class.calendar__.inc.php +++ b/calendar/inc/class.calendar__.inc.php @@ -282,6 +282,59 @@ class calendar__ } } + function event_init() + { + $this->event = CreateObject('calendar.calendar_item'); + $this->add_attribute('owner',intval($this->user)); + } + + function set_category($category='') + { + $this->event->category = $category; + } + + function set_title($title='') + { + $this->event->title = $title; + } + + function set_description($description='') + { + $this->event->description = $description; + } + + function set_start($year,$month,$day=0,$hour=0,$min=0,$sec=0) + { + $this->event->start->year = intval($year); + $this->event->start->month = intval($month); + $this->event->start->mday = intval($day); + $this->event->start->hour = intval($hour); + $this->event->start->min = intval($min); + $this->event->start->sec = intval($sec); + $this->event->start->alarm = 0; + } + + function set_end($year,$month,$day=0,$hour=0,$min=0,$sec=0) + { + $this->event->end->year = intval($year); + $this->event->end->month = intval($month); + $this->event->end->mday = intval($day); + $this->event->end->hour = intval($hour); + $this->event->end->min = intval($min); + $this->event->end->sec = intval($sec); + $this->event->end->alarm = 0; + } + + function set_alarm($alarm) + { + $this->event->alarm = intval($alarm); + } + + function set_class($class) + { + $this->event->public = $class; + } + function set_common_recur($year,$month,$day,$interval) { $this->event->recur_interval = intval($interval); @@ -303,4 +356,55 @@ class calendar__ $this->event->recur_enddate->alarm = 0; $this->event->recur_data = 0; } + + function set_recur_none() + { + $this->set_common_recur(0,0,0,0); + $this->event->recur_type = RECUR_NONE; + } + + function set_recur_daily($year,$month,$day,$interval) + { + $this->set_common_recur(intval($year),intval($month),intval($day),$interval); + $this->event->recur_type = RECUR_DAILY; + } + + function set_recur_weekly($year,$month,$day,$interval,$weekdays) + { + $this->set_common_recur(intval($year),intval($month),intval($day),$interval); + $this->event->recur_type = RECUR_WEEKLY; + $this->event->recur_data = intval($weekdays); + } + + function set_recur_monthly_mday($year,$month,$day,$interval) + { + $this->set_common_recur(intval($year),intval($month),intval($day),$interval); + $this->event->recur_type = RECUR_MONTHLY_MDAY; + } + + function set_recur_monthly_wday($year,$month,$day,$interval) + { + $this->set_common_recur(intval($year),intval($month),intval($day),$interval); + $this->event->recur_type = RECUR_MONTHLY_WDAY; + } + + function set_recur_yearly($year,$month,$day,$interval) + { + $this->set_common_recur(intval($year),intval($month),intval($day),$interval); + $this->event->recur_type = RECUR_YEARLY; + } + + function fetch_current_stream_event() + { + return $this->fetch_event($this->event->id); + } + + function add_attribute($attribute,&$value) + { + if(is_array($value)) + { + reset($value); + } + $this->event->$attribute = $value; + } } diff --git a/calendar/inc/class.calendar_icap.inc.php b/calendar/inc/class.calendar_icap.inc.php index 4ad281c989..6bfb7389b8 100755 --- a/calendar/inc/class.calendar_icap.inc.php +++ b/calendar/inc/class.calendar_icap.inc.php @@ -226,170 +226,48 @@ class calendar_ extends calendar__ return mcal_event_init($this->stream); } - function event_set_category($category='') + function set_category($category='') { - $this->event->category = $category; - return mcal_event_set_category($this->stream,$this->event->category); + calendar__::set_category($category); + return mcal_event_set_category($this->stream,$category); } - function event_set_title($title='') + function set_title($title='') { - $this->event->title = $title; - return mcal_event_set_title($this->stream,$this->event->title); + calendar__::set_title($title); + return mcal_event_set_title($this->stream,$title); } - function event_set_description($description='') + function set_description($description='') { - $this->event->description = $description; - return mcal_event_set_description($this->stream,$this->event->description); + calendar__::set_description($description); + return mcal_event_set_description($this->stream,$description); } - function event_set_start($year,$month,$day=0,$hour=0,$min=0,$sec=0) + function set_start($year,$month,$day=0,$hour=0,$min=0,$sec=0) { - // Legacy Support - $this->event->year = $year; - $this->event->month = $month; - $this->event->day = $day; - $this->event->hour = $hour; - $this->event->minute = $min; - $this->event->datetime = mktime($hour,$min,$sec,$month,$day,$year); - - // Legacy Support (New) - $this->event->start->year = $year; - $this->event->start->month = $month; - $this->event->start->mday = $day; - $this->event->start->hour = $hour; - $this->event->start->min = $min; - $this->event->start->sec = $sec; - - if($sec == 0) - { - if($min == 0) - { - if($hour == 0) - { - if($day == 0) - { - return mcal_event_set_start($this->stream,$year,$month); - } - else - { - return mcal_event_set_start($this->stream,$year,$month,$day); - } - } - else - { - return mcal_event_set_start($this->stream,$year,$month,$day,$hour); - } - } - else - { - return mcal_event_set_start($this->stream,$year,$month,$day,$hour,$min); - } - } - else - { - return mcal_event_set_start($this->stream,$year,$month,$day,$hour,$min,$sec); - } + calendar__::set_start($year,$month,$day,$hour,$min,$sec); + return mcal_event_set_start($this->stream,$year,$month,$day,$hour,$min,$sec); } - function event_set_end($year,$month,$day=0,$hour=0,$min=0,$sec=0) + function set_end($year,$month,$day=0,$hour=0,$min=0,$sec=0) { - // Legacy Support - $this->event->end_year = $year; - $this->event->end_month = $month; - $this->event->end_day = $day; - $this->event->end_hour = $hour; - $this->event->end_minute = $min; - $this->event->end_second = $sec; - $this->event->edatetime = mktime($hour,$min,$sec,$month,$day,$year); - - // Legacy Support (New) - $this->event->end->year = $year; - $this->event->end->month = $month; - $this->event->end->mday = $day; - $this->event->end->hour = $hour; - $this->event->end->min = $min; - $this->event->end->sec = $sec; - $this->event->edatetime = mktime($hour,$min,$sec,$month,$day,$year); - - if($sec == 0) - { - if($min == 0) - { - if($hour == 0) - { - if($day == 0) - { - return mcal_event_set_end($this->stream,$year,$month); - } - else - { - return mcal_event_set_end($this->stream,$year,$month,$day); - } - } - else - { - return mcal_event_set_end($this->stream,$year,$month,$day,$hour); - } - } - else - { - return mcal_event_set_end($this->stream,$year,$month,$day,$hour,$min); - } - } - else - { - return mcal_event_set_end($this->stream,$year,$month,$day,$hour,$min,$sec); - } + calendar__::set_end($year,$month,$day,$hour,$min,$sec); + return mcal_event_set_end($this->stream,$year,$month,$day,$hour,$min,$sec); } - function event_set_alarm($alarm) + function set_alarm($alarm) { + calendar__::set_alarm($alarm); return mcal_event_set_alarm ($this->stream,$alarm); } - function event_set_class($class) + function set_class($class) { - $this->event->public = $class; + calendar__::set_class($class); return mcal_event_set_class($this->stream,$class); } - function is_leap_year($year) - { - return mcal_is_leap_year($year); - } - - function days_in_month($month,$year) - { - return mcal_days_in_month($month,$year); - } - - function date_valid($year,$month,$day) - { - return mcal_date_valid($year,$month,$day); - } - - function time_valid($hour,$minutes,$seconds) - { - return mcal_time_valid($hour,$minutes,$seconds); - } - - function day_of_week($year,$month,$day) - { - return mcal_day_of_week($year,$month,$day); - } - - function day_of_year($year,$month,$day) - { - return mcal_day_of_year($year,$month,$day); - } - - function date_compare($a_year,$a_month,$a_day,$b_year,$b_month,$b_day) - { - return mcal_date_compare($a_year,$a_month,$a_day,$b_year,$b_month,$b_day); - } - // The function definition doesn't look correct... // Need more information for this function function next_recurrence($weekstart,$next) @@ -397,44 +275,52 @@ class calendar_ extends calendar__ return mcal_next_recurrence($this->stream,$weekstart,$next); } - function event_set_recur_none() + function set_recur_none() { + calendar__::set_recur_none(); return mcal_event_set_recur_none($this->stream); } - function event_set_recur_daily($year,$month,$day,$interval) + function set_recur_daily($year,$month,$day,$interval) { + calendar__::set_recur_daily($year,$month,$day,$interval); return mcal_event_set_recur_daily($this->stream,$year,$month,$day,$interval); } - function event_set_recur_weekly($year,$month,$day,$interval,$weekdays) + function set_recur_weekly($year,$month,$day,$interval,$weekdays) { + calendar__::set_recur_weekly($year,$month,$day,$interval,$weekdays); return mcal_event_set_recur_weekly($this->stream,$year,$month,$day,$interval,$weekdays); } - function event_set_recur_monthly_mday($year,$month,$day,$interval) + function set_recur_monthly_mday($year,$month,$day,$interval) { + calendar__::set_recur_monthly_mday($year,$month,$day,$interval); return mcal_event_set_recur_monthly_mday($this->stream,$year,$month,$day,$interval); } - function event_set_recur_monthly_wday($year,$month,$day,$interval) + function set_recur_monthly_wday($year,$month,$day,$interval) { + calendar__::set_recur_monthly_wday($year,$month,$day,$interval); return mcal_event_set_recur_monthly_wday($this->stream,$year,$month,$day,$interval); } - function event_set_recur_yearly($year,$month,$day,$interval) + function set_recur_yearly($year,$month,$day,$interval) { + calendar__::set_recur_yearly($year,$month,$day,$interval); return mcal_event_set_recur_yearly($this->stream,$year,$month,$day,$interval); } function fetch_current_stream_event() { - return mcal_fetch_current_stream_event($this->stream); + $this->event = mcal_fetch_current_stream_event($this->stream); + return $this->event } - function event_add_attribute($attribute,$value) + function add_attribute($attribute,$value) { - mcal_event_add_attribute($this->stream,$attribute,$value); + calendar__::add_attribute($attribute,$value); + return mcal_event_add_attribute($this->stream,$attribute,$value); } function expunge() @@ -444,14 +330,6 @@ class calendar_ extends calendar__ /**************** Local functions for ICAL based Calendar *****************/ - function event_set_participants($participants) - { - $this->event->participants = Array(); - reset($participants); - $this->event->participants = $participants; - return True; - } - function set_status($id,$owner,$status) { $status_code_short = Array( diff --git a/calendar/inc/class.calendar_sql.inc.php b/calendar/inc/class.calendar_sql.inc.php index 999548275a..6ca5e597c7 100755 --- a/calendar/inc/class.calendar_sql.inc.php +++ b/calendar/inc/class.calendar_sql.inc.php @@ -101,7 +101,7 @@ class calendar_ extends calendar__ { return False; } - + $this->stream->lock(array('phpgw_cal','phpgw_cal_user','phpgw_cal_repeats')); $this->stream->query('SELECT * FROM phpgw_cal WHERE cal_id='.$event_id,__LINE__,__FILE__); @@ -117,31 +117,23 @@ class calendar_ extends calendar__ $this->stream->next_record(); // Load the calendar event data from the db into $event structure // Use http://www.php.net/manual/en/function.mcal-fetch-event.php as the reference - - $this->event->owner = $this->stream->f('owner'); - $this->event->id = intval($this->stream->f('cal_id')); - $this->event->public = intval($this->stream->f('is_public')); - $this->event->category = intval($this->stream->f('category')); - $this->event->title = $phpgw->strip_html($this->stream->f('title')); - $this->event->description = $phpgw->strip_html($this->stream->f('description')); + $this->add_attribute('owner',intval($this->stream->f('owner'))); + $this->add_attribute('id',intval($this->stream->f('cal_id'))); + $this->set_class(intval($this->stream->f('is_public'))); + $this->set_category(intval($this->stream->f('category'))); + $this->set_title($phpgw->strip_html($this->stream->f('title'))); + $this->set_description($phpgw->strip_html($this->stream->f('description'))); // This is the preferred method once everything is normalized... //$this->event->alarm = intval($this->stream->f('alarm')); // But until then, do it this way... //Legacy Support (New) $this->event->alarm = 0; - - $this->event->datetime = $this->stream->f('datetime'); - $datetime = $this->datetime->localdates($this->stream->f('datetime')); - $this->event->start->year = $datetime['year']; - $this->event->start->month = $datetime['month']; - $this->event->start->mday = $datetime['day']; - $this->event->start->hour = $datetime['hour']; - $this->event->start->min = $datetime['minute']; - $this->event->start->sec = $datetime['second']; - $this->event->start->alarm = 0; - $this->event->mdatetime = $this->stream->f('mdatetime'); + $this->add_attribute('datetime',intval($this->stream->f('datetime'))); + $datetime = $this->datetime->localdates($this->stream->f('datetime')); + $this->set_start($datetime['year'],$datetime['month'],$datetime['day'],$datetime['hour'],$datetime['minute'],$datetime['second']); + $datetime = $this->datetime->localdates($this->stream->f('mdatetime')); $this->event->mod->year = $datetime['year']; $this->event->mod->month = $datetime['month']; @@ -151,18 +143,12 @@ class calendar_ extends calendar__ $this->event->mod->sec = $datetime['second']; $this->event->mod->alarm = 0; - $this->event->edatetime = $this->stream->f('edatetime'); + $this->add_attribute('edatetime',intval($this->stream->f('edatetime'))); $datetime = $this->datetime->localdates($this->stream->f('edatetime')); - $this->event->end->year = $datetime['year']; - $this->event->end->month = $datetime['month']; - $this->event->end->mday = $datetime['day']; - $this->event->end->hour = $datetime['hour']; - $this->event->end->min = $datetime['minute']; - $this->event->end->sec = $datetime['second']; - $this->event->end->alarm = 0; + $this->set_end($datetime['year'],$datetime['month'],$datetime['day'],$datetime['hour'],$datetime['minute'],$datetime['second']); //Legacy Support - $this->event->priority = intval($this->stream->f('priority')); + $this->add_attribute('priority',intval($this->stream->f('priority'))); if($this->stream->f('cal_group') || $this->stream->f('groups') != 'NULL') { $groups = explode(',',$this->stream->f('groups')); @@ -171,7 +157,7 @@ class calendar_ extends calendar__ $this->event->groups[] = $groups[$j]; } } - + $this->stream->query('SELECT * FROM phpgw_cal_repeats WHERE cal_id='.$event_id,__LINE__,__FILE__); if($this->stream->num_rows()) { @@ -297,131 +283,13 @@ class calendar_ extends calendar__ //Returns an array of event ID's } - function event_init() - { - $this->event = CreateObject('calendar.calendar_item'); - $this->event->owner = $this->user; - return True; - } - - function set_category($stream,$category='') - { - $this->event->category = $category; - return True; - } - - function set_title($title='') - { - $this->event->title = $title; - return True; - } - - function set_description($description='') - { - $this->event->description = $description; - return True; - } - - function set_start($year,$month,$day=0,$hour=0,$min=0,$sec=0) - { - $this->event->start->year = intval($year); - $this->event->start->month = intval($month); - $this->event->start->mday = intval($day); - $this->event->start->hour = intval($hour); - $this->event->start->min = intval($min); - $this->event->start->sec = intval($sec); - $this->event->start->alarm = 0; - return True; - } - - function set_end($year,$month,$day=0,$hour=0,$min=0,$sec=0) - { - $this->event->end->year = intval($year); - $this->event->end->month = intval($month); - $this->event->end->mday = intval($day); - $this->event->end->hour = intval($hour); - $this->event->end->min = intval($min); - $this->event->end->sec = intval($sec); - $this->event->end->alarm = 0; - return True; - } - - function set_alarm($alarm) - { - $this->event->alarm = intval($alarm); - return True; - } - - function set_class($class) - { - $this->event->public = $class; - return True; - } - // The function definition doesn't look correct... // Need more information for this function - function next_recurrence($stream,$weekstart,$next) + function next_recurrence($weekstart,$next) { // return next_recurrence (int stream, int weekstart, array next); } - function event_set_recur_none($stream) - { - $this->event->recur_type = RECUR_NONE; - $this->event->recur_interval = 0; - $this->event->recur_enddate->year = 0; - $this->event->recur_enddate->month = 0; - $this->event->recur_enddate->mday = 0; - $this->event->recur_enddate->hour = 0; - $this->event->recur_enddate->min = 0; - $this->event->recur_enddate->sec = 0; - $this->event->recur_enddate->alarm = 0; - $this->event->recur_data = 0; - - return True; - } - - function event_set_recur_daily($stream,$year,$month,$day,$interval) - { - $this->set_common_recur(intval($year),intval($month),intval($day),$interval); - $this->event->recur_type = RECUR_DAILY; - } - - function event_set_recur_weekly($stream,$year,$month,$day,$interval,$weekdays) - { - $this->set_common_recur(intval($year),intval($month),intval($day),$interval); - $this->event->recur_type = RECUR_WEEKLY; - $this->event->recur_data = intval($weekdays); - } - - function event_set_recur_monthly_mday($stream,$year,$month,$day,$interval) - { - $this->set_common_recur(intval($year),intval($month),intval($day),$interval); - $this->event->recur_type = RECUR_MONTHLY_MDAY; - } - - function event_set_recur_monthly_wday($stream,$year,$month,$day,$interval) - { - $this->set_common_recur(intval($year),intval($month),intval($day),$interval); - $this->event->recur_type = RECUR_MONTHLY_WDAY; - } - - function event_set_recur_yearly($stream,$year,$month,$day,$interval) - { - $this->set_common_recur(intval($year),intval($month),intval($day),$interval); - $this->event->recur_type = RECUR_YEARLY; - } - - function fetch_current_stream_event($stream) - { - return $this->fetch_event($stream,$this->event->id); - } - - function event_add_attribute($stream,$attribute,$value) - { - $this->event->$attribute = $value; - } - function expunge($stream) { if(count($this->deleted_events) <= 0) diff --git a/calendar/view.php b/calendar/view.php index 127e680116..e8192156e6 100755 --- a/calendar/view.php +++ b/calendar/view.php @@ -35,8 +35,8 @@ $phpgw->common->phpgw_exit(); } - $cal_stream = $phpgw->calendar->open('INBOX',$owner,''); - $event = $phpgw->calendar->fetch_event($cal_stream,$id); + $phpgw->calendar->open('INBOX',$owner,''); + $event = $phpgw->calendar->fetch_event($id); echo $phpgw->calendar->view_event($event);