phpgroupware-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Phpgroupware-cvs] CVS: calendar/inc class.uicalendar.inc.php,1.66.2.43,


From: Ralf Becker <address@hidden>
Subject: [Phpgroupware-cvs] CVS: calendar/inc class.uicalendar.inc.php,1.66.2.43,1.66.2.44
Date: Sat, 16 Nov 2002 16:52:23 -0500

Update of /cvsroot/phpgroupware/calendar/inc
In directory subversions:/tmp/cvs-serv10965

Modified Files:
      Tag: Version-0_9_14-branch
        class.uicalendar.inc.php 
Log Message:
fixed some bug & disadvantages in day-view: 
1) corrected handling of multiple events in one interval-row (incorrect 
html-cells because of rowspan and not omitted cells in next rows), 
2) events ending and starting on same full hour (or timeinterval) are placed in 
different rows now,
3) added rowspan for events starting before workday and ending in the workday,
4) added events after workday behind the workday (was in front)

Index: class.uicalendar.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/calendar/inc/class.uicalendar.inc.php,v
retrieving revision 1.66.2.43
retrieving revision 1.66.2.44
diff -C2 -r1.66.2.43 -r1.66.2.44
*** class.uicalendar.inc.php    16 Nov 2002 19:07:41 -0000      1.66.2.43
--- class.uicalendar.inc.php    16 Nov 2002 21:52:19 -0000      1.66.2.44
***************
*** 3426,3436 ****
                                        if(($ind < 
intval($this->bo->prefs['calendar']['workdaystarts'])) || ($ind > 
intval($this->bo->prefs['calendar']['workdayends'])))
                                        {
!                                               $ind = 99;
                                                $interval_start = 0;
                                        }
                                        if((($ind <> 99) && ($ind <> 0)) && 
(($starttime <> 0) && ($endtime <> 0)))
                                        {
                                                print_debug('IND before',$ind);
!                                               if(($ind >= 
date('H',$last_starttime)) && ($ind <= date('H',$last_endtime)))
                                                {
                                                        $ind = $last_ind;
--- 3426,3437 ----
                                        if(($ind < 
intval($this->bo->prefs['calendar']['workdaystarts'])) || ($ind > 
intval($this->bo->prefs['calendar']['workdayends'])))
                                        {
!                                               $ind = $ind < 
intval($this->bo->prefs['calendar']['workdaystarts']) ? 0 : 99;
                                                $interval_start = 0;
                                        }
+ 
                                        if((($ind <> 99) && ($ind <> 0)) && 
(($starttime <> 0) && ($endtime <> 0)))
                                        {
                                                print_debug('IND before',$ind);
!                                               if($ind <= 
date('H',$last_endtime-1))   // -1 to allow events to end on a full hour, 
without blocking the next hour-slot
                                                {
                                                        $ind = $last_ind;
***************
*** 3451,3455 ****
                                        {
                                                $rowspan = 
$rowspan_arr[$ind][$interval_start];
!                                               if($rowspan == 0)
                                                {
                                                        $rowspan = 
intval(($endtime - $starttime) / (60 * 
intval($this->bo->prefs['calendar']['interval'])));
--- 3452,3456 ----
                                        {
                                                $rowspan = 
$rowspan_arr[$ind][$interval_start];
!                                               if($rowspan == 0 || 
$last_endtime <= $starttime)
                                                {
                                                        $rowspan = 
intval(($endtime - $starttime) / (60 * 
intval($this->bo->prefs['calendar']['interval'])));
***************
*** 3459,3463 ****
                                                        $rowspan = 
intval(($endtime - $last_starttime) / (60 * 
intval($this->bo->prefs['calendar']['interval'])));
                                                }
- 
                                                $mins = (int)((($endtime - 
$starttime) / 60) % 60);
  
--- 3460,3463 ----
***************
*** 3469,3473 ****
                                                print_debug('Rowspan being set 
to',$rowspan);
  
!                                               if ($rowspan > 
$rowspan_arr[$ind][$interval_start] && $rowspan > 1)
                                                {
                                                        
$rowspan_arr[$ind][$interval_start] = $rowspan;
--- 3469,3473 ----
                                                print_debug('Rowspan being set 
to',$rowspan);
  
!                                               if ($rowspan > 
$rowspan_arr[$ind][$interval_start])
                                                {
                                                        
$rowspan_arr[$ind][$interval_start] = $rowspan;
***************
*** 3476,3480 ****
                                        $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));
--- 3476,3483 ----
                                        $last_ind = $ind;
                                        $last_interval_start = $interval_start;
!                                       if ($rowspan <= 1)
!                                       {
!                                               $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));
***************
*** 3504,3515 ****
                                while(list($index,$name) = each($holiday_names))
                                {
!                                       $time[99][0] = 
'<center>'.$name.'</center>'.$time[99][0];
                                }
                        }
  
!                       if (isset($time[99][0]))
                        {
!                               $var['event'] = $time[99][0];
! 
                                
$this->output_template_array($p,'item','day_event'.$row_to_print,$var);
  
--- 3507,3523 ----
                                while(list($index,$name) = each($holiday_names))
                                {
!                                       $time[0][0] = 
'<center>'.$name.'</center>'.$time[0][0];
                                }
                        }
  
!                       $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);
  
***************
*** 3523,3527 ****
                                $p->set_var('item','');
                        }
!                       $rowspan = 0;
                        for 
($i=(int)$this->bo->prefs['calendar']['workdaystarts'];$i<=(int)$this->bo->prefs['calendar']['workdayends'];$i++)
                        {
--- 3531,3535 ----
                                $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++)
                        {
***************
*** 3610,3613 ****
--- 3618,3636 ----
                                }
                        }       // end for
+                       // events after workdayend
+                       if (isset($time[99][0]))
+                       {
+                               $var = array('event' => $time[99][0]);
+                               
$this->output_template_array($p,'item','day_event'.$row_to_print,$var);
+ 
+                               $var = Array(
+                                       'open_link'     => '',
+                                       'time'          => '&nbsp;',
+                                       '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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]