[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] CVS: calendar/inc class.uicalendar.inc.php,1.97,1.98
From: |
Ralf Becker <address@hidden> |
Subject: |
[Phpgroupware-cvs] CVS: calendar/inc class.uicalendar.inc.php,1.97,1.98 |
Date: |
Sat, 12 Apr 2003 15:19:01 -0400 |
Update of /cvsroot/phpgroupware/calendar/inc
In directory subversions:/tmp/cvs-serv18752
Modified Files:
class.uicalendar.inc.php
Log Message:
fixed dayview for conflicts with events starting before prefs[day_start_time]
Index: class.uicalendar.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/calendar/inc/class.uicalendar.inc.php,v
retrieving revision 1.97
retrieving revision 1.98
diff -C2 -r1.97 -r1.98
*** class.uicalendar.inc.php 9 Mar 2003 21:05:29 -0000 1.97
--- class.uicalendar.inc.php 12 Apr 2003 19:18:58 -0000 1.98
***************
*** 2067,2071 ****
function planner_pad_rows()
! {
$rows = &$this->planner_rows;
--- 2067,2071 ----
function planner_pad_rows()
! {
$rows = &$this->planner_rows;
***************
*** 2111,2115 ****
function planner_print_rows()
! {
$class = 'class="th"';
$intervals_per_day =
$this->bo->prefs['calendar']['planner_intervals_per_day'];
--- 2111,2115 ----
function planner_print_rows()
! {
$class = 'class="th"';
$intervals_per_day =
$this->bo->prefs['calendar']['planner_intervals_per_day'];
***************
*** 2130,2134 ****
)+$this->planner_rows,
'width="100%"
cols="'.(1+$this->planner_days_in_end_month*$intervals_per_day).'"');
! }
function planner_process_interval()
--- 2130,2134 ----
)+$this->planner_rows,
'width="100%"
cols="'.(1+$this->planner_days_in_end_month*$intervals_per_day).'"');
! }
function planner_process_interval()
***************
*** 3605,3608 ****
--- 3605,3617 ----
}
+ function nm_on_off()
+ {
+ if($GLOBALS['phpgw']->nextmatchs->alternate_row_color()
== 'row_on')
+ {
+ return '_on';
+ }
+ return '_off';
+ }
+
function print_day($params)
{
***************
*** 3676,3718 ****
if($daily[$date_to_eval]['appts'])
{
! $day_start =
mktime(intval($this->bo->prefs['calendar']['workdaystarts']-1),0,0,$params['month'],$params['day'],$params['year']);
$day_end =
mktime(intval($this->bo->prefs['calendar']['workdayends']),0,1,$params['month'],$params['day'],$params['year']);
! $starttime = 0;
! $endtime = 0;
$events =
$this->bo->cached_events[$date_to_eval];
- $c_events = count($events);
print_debug('Date',$date_to_eval);
! print_debug('Count',$c_events);
! for($i=0;$i<$c_events;$i++)
{
! $starttime =
$this->bo->maketime($events[$i]['start']);
! $endtime =
$this->bo->maketime($events[$i]['end']);
! if($events[$i]['recur_type'] ==
MCAL_RECUR_NONE)
{
$ind = 0;
! $interval_start = 0;
! if ($starttime < $day_start)
! {
! $ind = 0;
! }
! elseif ($starttime >= $day_end)
! {
! $ind = 99;
! }
! else
! {
! $ind =
intval($events[$i]['start']['hour']);
! $interval_start =
intval($events[$i]['start']['min'] /
intval($this->bo->prefs['calendar']['interval']));
! print_debug('Start Time
Minutes',$events[$i]['start']['min']);
!
print_debug('Interval',$interval_start);
! }
}
else
{
! $ind =
intval($events[$i]['start']['hour']);
! $interval_start =
intval($events[$i]['start']['min'] /
intval($this->bo->prefs['calendar']['interval']));
}
-
if(($ind <
intval($this->bo->prefs['calendar']['workdaystarts'])) || ($ind >
intval($this->bo->prefs['calendar']['workdayends'])))
{
--- 3685,3721 ----
if($daily[$date_to_eval]['appts'])
{
! $day_start =
mktime(intval($this->bo->prefs['calendar']['workdaystarts']),-intval($this->bo->prefs['calendar']['interval']),0,$params['month'],$params['day'],$params['year']);
$day_end =
mktime(intval($this->bo->prefs['calendar']['workdayends']),0,1,$params['month'],$params['day'],$params['year']);
! $last_starttime = $starttime = 0;
! $last_endtime = $endtime = 0;
$events =
$this->bo->cached_events[$date_to_eval];
print_debug('Date',$date_to_eval);
! print_debug('Count',count($events));
! $last_ind = -1;
! foreach($events as $event)
{
! if ($event['recur_type']) //
calculate start- + end-datetime for recuring events
! {
!
$this->bo->set_recur_date($event,$date_to_eval);
! }
! $starttime =
$this->bo->maketime($event['start']);
! $endtime =
$this->bo->maketime($event['end']);
! $interval_start = 0;
! if ($starttime < $day_start)
{
$ind = 0;
! }
! elseif ($starttime >= $day_end)
! {
! $ind = 99;
}
else
{
! $ind =
intval($event['start']['hour']);
! $interval_start =
intval($event['start']['min'] /
intval($this->bo->prefs['calendar']['interval']));
! print_debug('Start Time
Minutes',$event['start']['min']);
!
print_debug('Interval',$interval_start);
}
if(($ind <
intval($this->bo->prefs['calendar']['workdaystarts'])) || ($ind >
intval($this->bo->prefs['calendar']['workdayends'])))
{
***************
*** 3721,3735 ****
}
! if((($ind <> 99) && ($ind <> 0)) &&
(($starttime <> 0) && ($endtime <> 0)))
{
! print_debug('IND before',$ind);
! if($ind <=
date('H',$last_endtime-1) && $last_ind) // -1 to allow events to end on a
full hour, without blocking the next hour-slot
! {
! $ind = $last_ind;
! $interval_start =
$last_interval_start;
! }
! print_debug('IND after',$ind);
}
! $time[$ind][$interval_start] .=
$this->link_to_entry($events[$i],$params['month'],$params['day'],$params['year']);
print_debug('IND',$ind);
--- 3724,3736 ----
}
! print_debug('IND before',$ind);
! if($ind <= date('H',$last_endtime-1) &&
$last_ind >= 0) // -1 to allow events to end on a full hour, without blocking
the next hour-slot
{
! $ind = $last_ind;
! $interval_start =
$last_interval_start;
}
! print_debug('IND after',$ind);
!
! $time[$ind][$interval_start] .=
$this->link_to_entry($event,$params['month'],$params['day'],$params['year']);
print_debug('IND',$ind);
***************
*** 3744,3748 ****
$endtime = $day_end;
}
! if ($starttime <> $endtime)
{
$rowspan =
$rowspan_arr[$ind][$interval_start];
--- 3745,3749 ----
$endtime = $day_end;
}
! if ($starttime != $endtime)
{
$rowspan =
$rowspan_arr[$ind][$interval_start];
***************
*** 3757,3761 ****
$mins = (int)((($endtime -
$starttime) / 60) % 60);
! if(($mins <> 0 && $mins <=
intval(60 / intval($this->bo->prefs['calendar']['interval']))) || ($mins == 0
&& date('i',$endtime) > intval($this->bo->prefs['calendar']['interval'])))
{
$rowspan += 1;
--- 3758,3763 ----
$mins = (int)((($endtime -
$starttime) / 60) % 60);
! if($mins != 0 && $mins <=
intval(60 / intval($this->bo->prefs['calendar']['interval'])) ||
! $mins == 0 &&
date('i',$endtime) > intval($this->bo->prefs['calendar']['interval']))
{
$rowspan += 1;
***************
*** 3770,3777 ****
$last_ind = $ind;
$last_interval_start = $interval_start;
! if ($rowspan <= 1 || !$last_starttime)
! {
! $last_starttime = $starttime;
! }
$last_endtime = $endtime;
print_debug('Time',$GLOBALS['phpgw']->common->show_date($this->bo->maketime($events[$i]['start'])
- $GLOBALS['phpgw']->datetime->tz_offset).' -
'.$GLOBALS['phpgw']->common->show_date($this->bo->maketime($events[$i]['end'])
- $GLOBALS['phpgw']->datetime->tz_offset));
--- 3772,3776 ----
$last_ind = $ind;
$last_interval_start = $interval_start;
! $last_starttime = $starttime;
$last_endtime = $endtime;
print_debug('Time',$GLOBALS['phpgw']->common->show_date($this->bo->maketime($events[$i]['start'])
- $GLOBALS['phpgw']->datetime->tz_offset).' -
'.$GLOBALS['phpgw']->common->show_date($this->bo->maketime($events[$i]['end'])
- $GLOBALS['phpgw']->datetime->tz_offset));
***************
*** 3787,3798 ****
if(!$holiday_names)
{
!
if($GLOBALS['phpgw']->nextmatchs->alternate_row_color() ==
$this->theme['row_on'])
! {
! $row_to_print = '_on';
! }
! else
! {
! $row_to_print = '_off';
! }
}
else
--- 3786,3790 ----
if(!$holiday_names)
{
! $row_to_print = $this->nm_on_off();
}
else
***************
*** 3805,3832 ****
}
! $rowspan = intval($rowspan_arr[0][0]);
! // events before workdaystart
! if (isset($time[0][0]))
{
! $var = array('event' => $time[0][0]);
! if ($rowspan > 1)
! {
! $var['extras'] = '
rowspan="'.$rowspan.'"';
! }
!
$this->output_template_array($p,'item','day_event'.$row_to_print,$var);
!
! $var = Array(
! 'open_link' => '',
! 'time' => ' ',
! 'close_link' => ''
! );
!
$this->output_template_array($p,'item','day_time',$var);
! $p->parse('row','day_row',True);
! $p->set_var('item','');
! }
! // events between workdaystart and -end
! for
($i=(int)$this->bo->prefs['calendar']['workdaystarts'];$i<=(int)$this->bo->prefs['calendar']['workdayends'];$i++)
! {
! for($j=0;$j<(60 /
intval($this->bo->prefs['calendar']['interval']));$j++)
{
$dtime =
$this->bo->build_time_for_display(($i * 10000) + (($j
*intval($this->bo->prefs['calendar']['interval'])) * 100));
--- 3797,3807 ----
}
! $rowspan = 0;
! $i = isset($time[0][0]) ? 0 :
(int)$this->bo->prefs['calendar']['workdaystarts'];
! $i_end = isset($time[99][0]) ? 99 :
(int)$this->bo->prefs['calendar']['workdayends'];
! while ($i <= $i_end)
{
! $j_end = $i ? 60 /
intval($this->bo->prefs['calendar']['interval']) : 1;
! for($j = 0; $j < $j_end; $j++)
{
$dtime =
$this->bo->build_time_for_display(($i * 10000) + (($j
*intval($this->bo->prefs['calendar']['interval'])) * 100));
***************
*** 3840,3851 ****
{
$p->set_var('event',$time[$i][$j]);
!
if($GLOBALS['phpgw']->nextmatchs->alternate_row_color() == 'row_on')
! {
! $row_to_print =
'_on';
! }
! else
! {
! $row_to_print =
'_off';
! }
$p->parse('item','day_event'.$row_to_print,False);
}
--- 3815,3819 ----
{
$p->set_var('event',$time[$i][$j]);
! $row_to_print =
$this->nm_on_off();
$p->parse('item','day_event'.$row_to_print,False);
}
***************
*** 3855,3866 ****
{
$p->set_var('event',' ');
!
if($GLOBALS['phpgw']->nextmatchs->alternate_row_color() == 'row_on')
! {
! $row_to_print = '_on';
! }
! else
! {
! $row_to_print = '_off';
! }
$p->parse('item','day_event'.$row_to_print,False);
}
--- 3823,3827 ----
{
$p->set_var('event',' ');
! $row_to_print =
$this->nm_on_off();
$p->parse('item','day_event'.$row_to_print,False);
}
***************
*** 3873,3909 ****
}
$p->set_var('event',$time[$i][$j]);
!
if($GLOBALS['phpgw']->nextmatchs->alternate_row_color() == 'row_on')
! {
! $row_to_print = '_on';
! }
! else
! {
! $row_to_print = '_off';
! }
$p->parse('item','day_event'.$row_to_print,False);
}
! $open_link = ' - ';
! $close_link = '';
!
! if(!$this->bo->printer_friendly &&
$this->bo->check_perms(PHPGW_ACL_ADD))
{
! $new_hour =
intval(substr($dtime,0,strpos($dtime,':')));
! if
($this->bo->prefs['common']['timeformat'] == '12' && $i > 12)
! {
! $new_hour += 12;
! }
! $open_link .= '<a
href="'.$this->page('add','&date='.$date_to_eval.'&hour='.$new_hour.'&minute='.substr($dtime,strpos($dtime,':')+1,2)).'">';
! $close_link = '</a>';
! }
! $var = Array(
! 'open_link' => $open_link,
! 'time' =>
(intval(substr($dtime,0,strpos($dtime,':')))<10?'0'.$dtime:$dtime),
! 'close_link' => $close_link
! );
$this->output_template_array($p,'item','day_time',$var);
$p->parse('row','day_row',True);
--- 3834,3873 ----
}
$p->set_var('event',$time[$i][$j]);
! $row_to_print =
$this->nm_on_off();
$p->parse('item','day_event'.$row_to_print,False);
}
! if (0 < $i && $i < 99)
{
! $open_link = ' - ';
! $close_link = '';
! if(!$this->bo->printer_friendly
&& $this->bo->check_perms(PHPGW_ACL_ADD))
! {
! $new_hour =
intval(substr($dtime,0,strpos($dtime,':')));
! if
($this->bo->prefs['common']['timeformat'] == '12' && $i > 12)
! {
! $new_hour += 12;
! }
! $open_link .= '<a
href="'.$this->page('add','&date='.$date_to_eval.'&hour='.$new_hour.'&minute='.substr($dtime,strpos($dtime,':')+1,2)).'">';
! $close_link = '</a>';
! }
+ $var = Array(
+ 'open_link' =>
$open_link,
+ 'time' =>
(intval(substr($dtime,0,strpos($dtime,':')))<10?'0'.$dtime:$dtime),
+ 'close_link' =>
$close_link
+ );
+ }
+ else
+ {
+ $var = Array(
+ 'open_link' => '',
+ 'time' =>
' ',
+ 'close_link' => ''
+ );
+ }
$this->output_template_array($p,'item','day_time',$var);
$p->parse('row','day_row',True);
***************
*** 3911,3938 ****
$p->set_var('item','');
}
! } // end for
! // events after workdayend
! if (isset($time[99][0]))
! {
! $var = array('event' => $time[99][0]);
!
if($GLOBALS['phpgw']->nextmatchs->alternate_row_color() == 'row_on')
{
! $row_to_print = '_on';
}
else
{
! $row_to_print = '_off';
}
!
$this->output_template_array($p,'item','day_event'.$row_to_print,$var);
!
! $var = Array(
! 'open_link' => '',
! 'time' => ' ',
! 'close_link' => ''
! );
!
$this->output_template_array($p,'item','day_time',$var);
! $p->parse('row','day_row',True);
! $p->set_var('item','');
! }
return $p->fp('out','day');
} // end function
--- 3875,3891 ----
$p->set_var('item','');
}
! if ($i == 0)
{
! $i =
(int)$this->bo->prefs['calendar']['workdaystarts'];
! }
! elseif ($i ==
(int)$this->bo->prefs['calendar']['workdayends'])
! {
! $i = 99;
}
else
{
! ++$i;
}
! } // end for
return $p->fp('out','day');
} // end function
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] CVS: calendar/inc class.uicalendar.inc.php,1.97,1.98,
Ralf Becker <address@hidden> <=
- Prev by Date:
[Phpgroupware-cvs] CVS: calendar/templates/default day_cal.tpl,1.13,1.13.2.1
- Next by Date:
[Phpgroupware-cvs] CVS: calendar/templates/default day.tpl,1.5,1.6 day_cal.tpl,1.14,1.15
- Previous by thread:
[Phpgroupware-cvs] CVS: calendar/templates/default day_cal.tpl,1.13,1.13.2.1
- Next by thread:
[Phpgroupware-cvs] CVS: calendar/templates/default day.tpl,1.5,1.6 day_cal.tpl,1.14,1.15
- Index(es):