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.44,


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

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

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.44
retrieving revision 1.66.2.45
diff -C2 -r1.66.2.44 -r1.66.2.45
*** class.uicalendar.inc.php    16 Nov 2002 21:52:19 -0000      1.66.2.44
--- class.uicalendar.inc.php    17 Nov 2002 00:23:27 -0000      1.66.2.45
***************
*** 3385,3388 ****
--- 3385,3390 ----
                        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;
***************
*** 3393,3414 ****
                                for($i=0;$i<$c_events;$i++)
                                {
                                        if($events[$i]['recur_type'] == 
MCAL_RECUR_NONE)
                                        {
                                                $ind = 0;
!                                               $interval_start = 0;
!                                               if($events[$i]['start']['mday'] 
< $params['day'])
                                                {
!                                                       
if($events[$i]['end']['mday'] > $params['day'])
!                                                       {
!                                                               $ind = 99;
!                                                               $interval_start 
= 0;
!                                                       }
!                                                       
elseif($events[$i]['end']['mday'] == $params['day'])
!                                                       {
!                                                               $ind = 0;
!                                                               $interval_start 
= 0;
!                                                       }
                                                }
!                                               
elseif($events[$i]['start']['mday'] == $params['day'])
                                                {
                                                        $ind = 
intval($events[$i]['start']['hour']);
--- 3395,3414 ----
                                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']);
***************
*** 3440,3444 ****
                                                print_debug('IND after',$ind);
                                        }
- 
                                        $time[$ind][$interval_start] .= 
$this->link_to_entry($events[$i],$params['month'],$params['day'],$params['year']);
  
--- 3440,3443 ----
***************
*** 3446,3452 ****
                                        
print_debug('TIME',$time[$ind][$interval_start]);
  
!                                       $starttime = 
$this->bo->maketime($events[$i]['start']);
!                                       $endtime = 
$this->bo->maketime($events[$i]['end']);
! 
                                        if ($starttime <> $endtime)
                                        {
--- 3445,3456 ----
                                        
print_debug('TIME',$time[$ind][$interval_start]);
  
!                                       if ($starttime < $day_start)
!                                       {
!                                               $starttime = $day_start;
!                                       }
!                                       if ($endtime > $day_end)
!                                       {
!                                               $endtime = $day_end;
!                                       }
                                        if ($starttime <> $endtime)
                                        {
***************
*** 3454,3462 ****
                                                if($rowspan == 0 || 
$last_endtime <= $starttime)
                                                {
!                                                       $rowspan = 
intval(($endtime - $starttime) / (60 * 
intval($this->bo->prefs['calendar']['interval'])));
                                                }
!                                               elseif($last_endtime < $endtime)
                                                {
!                                                       $rowspan = 
intval(($endtime - $last_starttime) / (60 * 
intval($this->bo->prefs['calendar']['interval'])));
                                                }
                                                $mins = (int)((($endtime - 
$starttime) / 60) % 60);
--- 3458,3466 ----
                                                if($rowspan == 0 || 
$last_endtime <= $starttime)
                                                {
!                                                       $rowspan = 
intval(round(($endtime - $starttime) / (60 * 
intval($this->bo->prefs['calendar']['interval']))));
                                                }
!                                               elseif($last_endtime < $endtime 
&& $last_starttime)
                                                {
!                                                       $rowspan = 
intval(round(($endtime - $last_starttime) / (60 * 
intval($this->bo->prefs['calendar']['interval']))));
                                                }
                                                $mins = (int)((($endtime - 
$starttime) / 60) % 60);
***************
*** 3466,3470 ****
                                                        $rowspan += 1;
                                                }
- 
                                                print_debug('Rowspan being set 
to',$rowspan);
  
--- 3470,3473 ----
***************
*** 3476,3480 ****
                                        $last_ind = $ind;
                                        $last_interval_start = $interval_start;
!                                       if ($rowspan <= 1)
                                        {
                                                $last_starttime = $starttime;
--- 3479,3483 ----
                                        $last_ind = $ind;
                                        $last_interval_start = $interval_start;
!                                       if ($rowspan <= 1 || !$last_starttime)
                                        {
                                                $last_starttime = $starttime;
***************
*** 3622,3625 ****
--- 3625,3636 ----
                        {
                                $var = array('event' => $time[99][0]);
+                               
if($GLOBALS['phpgw']->nextmatchs->alternate_row_color() == 
$this->theme['row_on'])
+                               {
+                                       $row_to_print = '_on';
+                               }
+                               else
+                               {
+                                       $row_to_print = '_off';
+                               }
                                
$this->output_template_array($p,'item','day_event'.$row_to_print,$var);
  





reply via email to

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