<%perl>
use GD;
+use RTx::Schedule qw( UserDaySchedule );
my $im = new GD::Image($width, $height) or die;
# Put a black frame around the picture
$im->rectangle(0,0,$width-1,$height-1,$black);
+my %schedule = UserDaySchedule( CurrentUser => $session{CurrentUser},
+ username => $Username,
+ 'date' => $Date,
+ );
+
#XXX block out unavailable times
-#alas. abstractions break, freeside-specific stuff to get availability
-# move availability to RT side? make it all callback/pluggable?
-#XXX block out / show / color code existing appointments
+#block out / show / color code existing appointments
+foreach my $id ( keys %{ $schedule{'scheduled'} } ) {
+
+ my( $starts, $due, $col, $t ) = @{ $schedule{'scheduled'}->{$id} };
+ my $color = $im->colorAllocate( unpack 'C*', pack 'H*', $col );
+ $im->filledRectangle( int(($starts-$stime)/10), 1, int(($due-$stime)/10)-1, $height-2, $color );
+
+}
$r->content_type('image/png');
$m->clear_buffer;
my $etime = RT->Config->Get('CalendarWeeklyEndMin');
$etime = 1080 unless $etime =~ /^\d+$/; #6pm
-my $width = ( $etime - $stime ) / 10;
-my $height = 12;
+my $width = int( ( $etime - $stime ) / 10 );
+my $height = 12; #Elements/CalendarDaySchedule
</%once>