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.

This commit is contained in:
skeeter 2001-05-20 21:11:52 +00:00
parent 17de668f88
commit 50d363f3cd
7 changed files with 202 additions and 358 deletions

View File

@ -50,8 +50,8 @@
if ($id > 0) if ($id > 0)
{ {
$cal_stream = $phpgw->calendar->open('INBOX',intval($owner),''); $phpgw->calendar->open('INBOX',intval($owner),'');
$event = $phpgw->calendar->fetch_event($cal_stream,intval($id)); $event = $phpgw->calendar->fetch_event(intval($id));
$can_edit = False; $can_edit = False;
@ -59,7 +59,7 @@
{ {
if($event->public != True) if($event->public != True)
{ {
if($phpgw->calendar->check_perms(16) == True) if($phpgw->calendar->check_perms(PHPGW_ACL_PRIVATE) == True)
{ {
$can_edit = True; $can_edit = True;
} }
@ -81,7 +81,7 @@
if($event->owner == 0) if($event->owner == 0)
{ {
$event->owner = $owner; $phpgw->calendar->add_attribute('owner',$owner);
} }
$can_edit = True; $can_edit = True;
@ -93,9 +93,9 @@
header('Location: '.$phpgw->link('/calendar/view.php','id='.$id.'&owner='.$owner)); header('Location: '.$phpgw->link('/calendar/view.php','id='.$id.'&owner='.$owner));
} }
$cal_stream = $phpgw->calendar->open('INBOX',intval($cal_info->owner),''); $phpgw->calendar->open('INBOX',intval($cal_info->owner),'');
$phpgw->calendar->event_init($cal_stream); $phpgw->calendar->event_init();
$phpgw->calendar->event->id = 0; $phpgw->calendar->add_attribute('id',0);
$can_edit = True; $can_edit = True;
@ -117,27 +117,26 @@
$thisminute = (int)$minute; $thisminute = (int)$minute;
} }
$phpgw->calendar->event_set_start($cal_stream,$thisyear,$thismonth,$thisday,$thishour,$this->minute,0); $phpgw->calendar->set_start($thisyear,$thismonth,$thisday,$thishour,$this->minute,0);
$phpgw->calendar->event_set_end($cal_stream,$thisyear,$thismonth,$thisday,$thishour,$this->minute,0); $phpgw->calendar->set_end($thisyear,$thismonth,$thisday,$thishour,$this->minute,0);
$phpgw->calendar->event_set_title($cal_stream,''); $phpgw->calendar->set_title('');
$phpgw->calendar->event_set_description($cal_stream,''); $phpgw->calendar->set_description('');
$phpgw->calendar->event->priority = 2; $phpgw->calendar->add_attribute('priority',2);
if($phpgw_info['user']['preferences']['calendar']['default_private'] == 'Y' || $phpgw_info['user']['preferences']['calendar']['default_private'] == True) 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 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; $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) - $phpgw->calendar->datetime->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) - $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) - $tz_offset;
$phpgw->common->phpgw_header(); $phpgw->common->phpgw_header();
echo parse_navbar(); echo parse_navbar();
@ -367,8 +366,6 @@
$str .= '>'.lang('Use End Date').' '; $str .= '>'.lang('Use End Date').' ';
$day_html = $sb->getDays('recur_enddate[mday]',intval($phpgw->common->show_date($recur_end,'d'))); $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'))); $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'))); $year_html = $sb->getYears('recur_enddate[year]',intval($phpgw->common->show_date($recur_end,'Y')),intval($phpgw->common->show_date($recur_end,'Y')));

View File

@ -39,17 +39,17 @@
{ {
$error = 40; $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; $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; $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; $error = 42;
} }
@ -109,18 +109,18 @@
} }
$is_public = ($private == 'public'?1:0); $is_public = ($private == 'public'?1:0);
$cal_stream = $phpgw->calendar->open('INBOX',intval($owner),''); $phpgw->calendar->open('INBOX',intval($owner),'');
$phpgw->calendar->event_init($cal_stream); $phpgw->calendar->event_init();
$phpgw->calendar->event_set_category($cal_stream,$category); $phpgw->calendar->set_category($category);
$phpgw->calendar->event_set_title($cal_stream,$title); $phpgw->calendar->set_title($title);
$phpgw->calendar->event_set_description($cal_stream,$description); $phpgw->calendar->set_description($description);
$phpgw->calendar->event_set_start($cal_stream,$start[year],$start[month],$start[mday],$start[hour],$start[min],0); $phpgw->calendar->set_start($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->set_end($end[year],$end[month],$end[mday],$end[hour],$end[min],0);
$phpgw->calendar->event_set_class($cal_stream,$is_public); $phpgw->calendar->set_class($is_public);
if($id != 0) if($id != 0)
{ {
$phpgw->calendar->event->id = $id; $phpgw->calendar->add_attribute('id',$id);
} }
if($rpt_use_end != 'y') if($rpt_use_end != 'y')
@ -135,22 +135,22 @@
switch($recur_type) switch($recur_type)
{ {
case RECUR_NONE: case RECUR_NONE:
$phpgw->calendar->event_set_recur_none($cal_stream); $phpgw->calendar->set_recur_none();
break; break;
case RECUR_DAILY: 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; break;
case RECUR_WEEKLY: 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; break;
case RECUR_MONTHLY_MDAY: 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; break;
case RECUR_MONTHLY_WDAY: 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; break;
case RECUR_YEARLY: 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; break;
} }
@ -186,25 +186,23 @@
} }
reset($participants); reset($participants);
$phpgw->calendar->event_set_participants($cal_stream,$participants); $phpgw->calendar->add_attribute('participants',$participants);
$phpgw->calendar->add_attribute('priority',$priority);
$phpgw->calendar->event->priority = intval($priority);
$event = $phpgw->calendar->event; $event = $phpgw->calendar->event;
$phpgw->session->appsession('entry','calendar',$event); $phpgw->session->appsession('entry','calendar',$event);
$datetime_check = validate($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) - $phpgw->calendar->datetime->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) - $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) - $tz_offset;
$overlapping_events = $phpgw->calendar->overlap($start,$end,$event->participants,$event->owner,$event->id); $overlapping_events = $phpgw->calendar->overlap($start,$end,$event->participants,$event->owner,$event->id);
} }
else else
{ {
$cal_stream = $phpgw->calendar->open('INBOX',intval($owner),''); $phpgw->calendar->open('INBOX',intval($owner),'');
$phpgw->calendar->event_init($cal_stream); $phpgw->calendar->event_init();
$event = unserialize(str_replace('O:8:"stdClass"','O:13:"calendar_time"',serialize($phpgw->session->appsession('entry','calendar')))); $event = unserialize(str_replace('O:8:"stdClass"','O:13:"calendar_time"',serialize($phpgw->session->appsession('entry','calendar'))));
$phpgw->calendar->event = $event; $phpgw->calendar->event = $event;
@ -283,8 +281,7 @@
} }
else else
{ {
$cal_stream = $phpgw->calendar->open('INBOX',intval($owner),''); $phpgw->calendar->store_event();
$phpgw->calendar->store_event($cal_stream);
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)); 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));
} }
?> ?>

View File

@ -226,7 +226,7 @@ class calendar extends calendar_
$nextday = mktime(0,0,0,$month,$day + 1,$year) - $this->datetime->tz_offset; $nextday = mktime(0,0,0,$month,$day + 1,$year) - $this->datetime->tz_offset;
if (intval($phpgw->common->show_date($starttime,'Hi')) && $starttime == $endtime) 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) elseif ($starttime <= $rawdate_offset && $endtime >= $nextday - 60)
{ {

View File

@ -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) function set_common_recur($year,$month,$day,$interval)
{ {
$this->event->recur_interval = intval($interval); $this->event->recur_interval = intval($interval);
@ -303,4 +356,55 @@ class calendar__
$this->event->recur_enddate->alarm = 0; $this->event->recur_enddate->alarm = 0;
$this->event->recur_data = 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;
}
} }

View File

@ -226,170 +226,48 @@ class calendar_ extends calendar__
return mcal_event_init($this->stream); return mcal_event_init($this->stream);
} }
function event_set_category($category='') function set_category($category='')
{ {
$this->event->category = $category; calendar__::set_category($category);
return mcal_event_set_category($this->stream,$this->event->category); return mcal_event_set_category($this->stream,$category);
} }
function event_set_title($title='') function set_title($title='')
{ {
$this->event->title = $title; calendar__::set_title($title);
return mcal_event_set_title($this->stream,$this->event->title); return mcal_event_set_title($this->stream,$title);
} }
function event_set_description($description='') function set_description($description='')
{ {
$this->event->description = $description; calendar__::set_description($description);
return mcal_event_set_description($this->stream,$this->event->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 calendar__::set_start($year,$month,$day,$hour,$min,$sec);
$this->event->year = $year; return mcal_event_set_start($this->stream,$year,$month,$day,$hour,$min,$sec);
$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);
}
} }
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 calendar__::set_end($year,$month,$day,$hour,$min,$sec);
$this->event->end_year = $year; return mcal_event_set_end($this->stream,$year,$month,$day,$hour,$min,$sec);
$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);
}
} }
function event_set_alarm($alarm) function set_alarm($alarm)
{ {
calendar__::set_alarm($alarm);
return mcal_event_set_alarm ($this->stream,$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); 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... // The function definition doesn't look correct...
// Need more information for this function // Need more information for this function
function next_recurrence($weekstart,$next) function next_recurrence($weekstart,$next)
@ -397,44 +275,52 @@ class calendar_ extends calendar__
return mcal_next_recurrence($this->stream,$weekstart,$next); 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); 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); 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); 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); 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); 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); return mcal_event_set_recur_yearly($this->stream,$year,$month,$day,$interval);
} }
function fetch_current_stream_event() 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() function expunge()
@ -444,14 +330,6 @@ class calendar_ extends calendar__
/**************** Local functions for ICAL based 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) function set_status($id,$owner,$status)
{ {
$status_code_short = Array( $status_code_short = Array(

View File

@ -101,7 +101,7 @@ class calendar_ extends calendar__
{ {
return False; return False;
} }
$this->stream->lock(array('phpgw_cal','phpgw_cal_user','phpgw_cal_repeats')); $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__); $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(); $this->stream->next_record();
// Load the calendar event data from the db into $event structure // 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 // Use http://www.php.net/manual/en/function.mcal-fetch-event.php as the reference
$this->add_attribute('owner',intval($this->stream->f('owner')));
$this->event->owner = $this->stream->f('owner'); $this->add_attribute('id',intval($this->stream->f('cal_id')));
$this->event->id = intval($this->stream->f('cal_id')); $this->set_class(intval($this->stream->f('is_public')));
$this->event->public = intval($this->stream->f('is_public')); $this->set_category(intval($this->stream->f('category')));
$this->event->category = intval($this->stream->f('category')); $this->set_title($phpgw->strip_html($this->stream->f('title')));
$this->event->title = $phpgw->strip_html($this->stream->f('title')); $this->set_description($phpgw->strip_html($this->stream->f('description')));
$this->event->description = $phpgw->strip_html($this->stream->f('description'));
// This is the preferred method once everything is normalized... // This is the preferred method once everything is normalized...
//$this->event->alarm = intval($this->stream->f('alarm')); //$this->event->alarm = intval($this->stream->f('alarm'));
// But until then, do it this way... // But until then, do it this way...
//Legacy Support (New) //Legacy Support (New)
$this->event->alarm = 0; $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')); $datetime = $this->datetime->localdates($this->stream->f('mdatetime'));
$this->event->mod->year = $datetime['year']; $this->event->mod->year = $datetime['year'];
$this->event->mod->month = $datetime['month']; $this->event->mod->month = $datetime['month'];
@ -151,18 +143,12 @@ class calendar_ extends calendar__
$this->event->mod->sec = $datetime['second']; $this->event->mod->sec = $datetime['second'];
$this->event->mod->alarm = 0; $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')); $datetime = $this->datetime->localdates($this->stream->f('edatetime'));
$this->event->end->year = $datetime['year']; $this->set_end($datetime['year'],$datetime['month'],$datetime['day'],$datetime['hour'],$datetime['minute'],$datetime['second']);
$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;
//Legacy Support //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') if($this->stream->f('cal_group') || $this->stream->f('groups') != 'NULL')
{ {
$groups = explode(',',$this->stream->f('groups')); $groups = explode(',',$this->stream->f('groups'));
@ -171,7 +157,7 @@ class calendar_ extends calendar__
$this->event->groups[] = $groups[$j]; $this->event->groups[] = $groups[$j];
} }
} }
$this->stream->query('SELECT * FROM phpgw_cal_repeats WHERE cal_id='.$event_id,__LINE__,__FILE__); $this->stream->query('SELECT * FROM phpgw_cal_repeats WHERE cal_id='.$event_id,__LINE__,__FILE__);
if($this->stream->num_rows()) if($this->stream->num_rows())
{ {
@ -297,131 +283,13 @@ class calendar_ extends calendar__
//Returns an array of event ID's //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... // The function definition doesn't look correct...
// Need more information for this function // 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); // 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) function expunge($stream)
{ {
if(count($this->deleted_events) <= 0) if(count($this->deleted_events) <= 0)

View File

@ -35,8 +35,8 @@
$phpgw->common->phpgw_exit(); $phpgw->common->phpgw_exit();
} }
$cal_stream = $phpgw->calendar->open('INBOX',$owner,''); $phpgw->calendar->open('INBOX',$owner,'');
$event = $phpgw->calendar->fetch_event($cal_stream,$id); $event = $phpgw->calendar->fetch_event($id);
echo $phpgw->calendar->view_event($event); echo $phpgw->calendar->view_event($event);