SVN Alba r5132 - prosistem/alba/trunk/alba/apps/principal/modules/cal/lib
Author: josx Date: 2007-09-24 14:42:15 -0300 (Mon, 24 Sep 2007) New Revision: 5132 Modified: prosistem/alba/trunk/alba/apps/principal/modules/cal/lib/draw_functions.php prosistem/alba/trunk/alba/apps/principal/modules/cal/lib/ical_parser.php prosistem/alba/trunk/alba/apps/principal/modules/cal/lib/overlapping_events.php prosistem/alba/trunk/alba/apps/principal/modules/cal/lib/template.php Log: Se arreglo el problema de visualizacion de los calendarios. Existia una variable gridlength que estaba como global en varias funciones y no se habia modificado Modified: prosistem/alba/trunk/alba/apps/principal/modules/cal/lib/draw_functions.php =================================================================== --- prosistem/alba/trunk/alba/apps/principal/modules/cal/lib/draw_functions.php 2007-09-24 13:42:08 UTC (rev 5131) +++ prosistem/alba/trunk/alba/apps/principal/modules/cal/lib/draw_functions.php 2007-09-24 17:42:15 UTC (rev 5132) @@ -1,8 +1,8 @@ <?php // function returns starttime and endtime and event length for drawing into a grid -function drawEventTimes ($start, $end) { - global $gridLength; +function drawEventTimes ($start, $end, $gridLength) { +// global $gridLength; preg_match ('/([0-9]{2})([0-9]{2})/', $start, $time); $sta_h = $time[1]; Modified: prosistem/alba/trunk/alba/apps/principal/modules/cal/lib/ical_parser.php =================================================================== --- prosistem/alba/trunk/alba/apps/principal/modules/cal/lib/ical_parser.php 2007-09-24 13:42:08 UTC (rev 5131) +++ prosistem/alba/trunk/alba/apps/principal/modules/cal/lib/ical_parser.php 2007-09-24 17:42:15 UTC (rev 5132) @@ -227,7 +227,7 @@ unset($master_array[$start_date_tmp][$old_start_time]); } } - +// print_R($overlap_array); $write_processed = false; } else { $write_processed = true; @@ -265,7 +265,7 @@ $length = ($time2[1]*60+$time2[2]) - ($time[1]*60+$time[2]); } - $drawKey = drawEventTimes($start_time, $end_time); + $drawKey = drawEventTimes($start_time, $end_time, $gridLength); preg_match ('/([0-9]{2})([0-9]{2})/', $drawKey['draw_start'], $time3); $hour = $time3[1]; $minute = $time3[2]; @@ -360,7 +360,7 @@ if (isset($display_end_tmp)){ $master_array[$start_date_tmp][$time_tmp][$uid]['display_end'] = $display_end_tmp; } - checkOverlap($start_date_tmp, $time_tmp, $uid, $master_array, $overlap_array); + checkOverlap($start_date_tmp, $time_tmp, $uid, $master_array, $overlap_array, $gridLength); $start_tmp = strtotime('+1 day',$start_tmp); } if (!$write_processed) $master_array[$start_date][($hour.$minute)][$uid]['exception'] = true; @@ -395,7 +395,7 @@ if (isset($display_end_tmp)){ $master_array[($start_date)][($hour.$minute)][$uid]['display_end'] = $display_end_tmp; } - checkOverlap($start_date, ($hour.$minute), $uid, $master_array, $overlap_array); + checkOverlap($start_date, ($hour.$minute), $uid, $master_array, $overlap_array, $gridLength); if (!$write_processed) $master_array[($start_date)][($hour.$minute)][$uid]['exception'] = true; } } @@ -857,7 +857,7 @@ if (isset($display_end_tmp)){ $master_array[$start_date_tmp][$time_tmp][$uid]['display_end'] = $display_end_tmp; } - checkOverlap($start_date_tmp, $time_tmp, $uid, $master_array, $overlap_array); + checkOverlap($start_date_tmp, $time_tmp, $uid, $master_array, $overlap_array, $gridLength); } $start_tmp = strtotime('+1 day',$start_tmp); } @@ -894,7 +894,7 @@ if (isset($display_end_tmp)){ $master_array[($recur_data_date)][($hour.$minute)][$uid]['display_end'] = $display_end_tmp; } - checkOverlap($recur_data_date, ($hour.$minute), $uid, $master_array, $overlap_array); + checkOverlap($recur_data_date, ($hour.$minute), $uid, $master_array, $overlap_array, $gridLength); } } } @@ -1213,12 +1213,12 @@ //If you want to see the values in the arrays, uncomment below. // print '<pre>'; -// print_r($master_array); +// print_r($master_array); // print_r($overlap_array); // print_r($day_array); -// print_r($rrule_array); -// print_r($recurrence_delete); -// print_r($cal_displaynames); -// print_r($cal_filelist); -// print '</pre>'; +// print_r($rrule_array); +// print_r($recurrence_delete); +// print_r($cal_displaynames); +// print_r($cal_filelist); + // print '</pre>';die; ?> Modified: prosistem/alba/trunk/alba/apps/principal/modules/cal/lib/overlapping_events.php =================================================================== --- prosistem/alba/trunk/alba/apps/principal/modules/cal/lib/overlapping_events.php 2007-09-24 13:42:08 UTC (rev 5131) +++ prosistem/alba/trunk/alba/apps/principal/modules/cal/lib/overlapping_events.php 2007-09-24 17:42:15 UTC (rev 5132) @@ -1,12 +1,4 @@ <?php - -// Josx en este archivo esta el comienzo de los problemas. -// Yo ya hice algunas modficaciones, en las funciones que reciben "ahora" $master y $overlap_array -// fijate que estan comentadas la variables globales -// Las invocaciones a estas funciones estan en el archivo ical_parser.php y creo que en ningun otro archivo -// Hay que probar como llegan, es decir con que valores, llegan las variables a la invocacion - - // function to determine maximum necessary columns per day // actually an algorithm to get the smallest multiple for two numbers function kgv($a, $b) { @@ -79,7 +71,7 @@ } // Merges overlapping blocks -function flatten_ol_blocks($event_date, $ol_blocks, $new_block_key, $master_array) { +function flatten_ol_blocks($event_date, $ol_blocks, $new_block_key, &$master_array) { // global $master_array; @@ -117,14 +109,14 @@ } // Builds $overlap_array structure, and updates event_overlap in $master_array for the given events. -function checkOverlap($event_date, $event_time, $uid, $master_array, $overlap_array) { +function checkOverlap($event_date, $event_time, $uid, &$master_array, &$overlap_array, $gridLength) { // global $master_array, $overlap_array; //@annotation las globales se reemplazaron por parametros en las invocaciones de iacl_parser y aca if (!isset($event_date)) return; $event = $master_array[$event_date][$event_time][$uid]; // Copy out the array - we replace this at the end. $ol_day_array = $overlap_array[$event_date]; - $drawTimes = drawEventTimes($event['event_start'], $event['event_end']); + $drawTimes = drawEventTimes($event['event_start'], $event['event_end'], $gridLength); // For a given date, // - check to see if the event's already in a block, and if so, add it. @@ -189,7 +181,7 @@ foreach ($time as $loop_event_key => $loop_event) { // Make sure we haven't already dealt with the event, and we're not checking against ourself. if ($loop_event['event_overlap'] == 0 && $loop_event_key != $uid) { - $loopDrawTimes = drawEventTimes($loop_event['event_start'], $loop_event['event_end']); + $loopDrawTimes = drawEventTimes($loop_event['event_start'], $loop_event['event_end'], $gridLength); if ($loopDrawTimes['draw_start'] < $drawTimes['draw_end'] && $loopDrawTimes['draw_end'] > $drawTimes['draw_start']) { if ($loopDrawTimes['draw_start'] < $drawTimes['draw_start']) { $block_start = $loopDrawTimes['draw_start']; @@ -239,7 +231,7 @@ // Remove an event from the overlap data. // This could be completely bogus, since overlap array is empty when this gets called in my tests, but I'm leaving it in anyways. -function removeOverlap($ol_start_date, $ol_start_time, $ol_key, $master_array, $overlap_array) { +function removeOverlap($ol_start_date, $ol_start_time, $ol_key, &$master_array, &$overlap_array) { // global $master_array, $overlap_array; //@annotation las globales se reemplazaron por parametros en las invocaciones de iacl_parser y aca if (isset($overlap_array[$ol_start_date])) { Modified: prosistem/alba/trunk/alba/apps/principal/modules/cal/lib/template.php =================================================================== --- prosistem/alba/trunk/alba/apps/principal/modules/cal/lib/template.php 2007-09-24 13:42:08 UTC (rev 5131) +++ prosistem/alba/trunk/alba/apps/principal/modules/cal/lib/template.php 2007-09-24 17:42:15 UTC (rev 5132) @@ -471,7 +471,7 @@ #print "</pre>"; foreach ($this_time_arr as $eventKey => $loopevent) { - $drawEvent = drawEventTimes ($cal_time, $loopevent["event_end"]); + $drawEvent = drawEventTimes ($cal_time, $loopevent["event_end"], $this->gridLength); $j = 0; while (isset($event_length[$thisday][$j])) { if ($event_length[$thisday][$j]["state"] == "ended") { @@ -681,7 +681,7 @@ // check for eventstart if (isset($this_time_arr) && sizeof($this_time_arr) > 0) { foreach ($this_time_arr as $eventKey => $loopevent) { - $drawEvent = drawEventTimes ($cal_time, $loopevent['event_end']); + $drawEvent = drawEventTimes ($cal_time, $loopevent['event_end'], $this->gridLength); $j = 0; while (isset($event_length[$j])) { if ($event_length[$j]['state'] == 'ended') {
participants (1)
-
commits@pressenter.com.ar