0.2, 'defaultsize'=>12, 'headersize'=>14, 'headerline'=>2, 'datesize'=>10, 'notelineheight'=>4 ); function calendar($pdf,$x,$y,$month,$year,$small=false) { $pdf->SetFont('Arial','B',7); $pdf->SetTextColor(0); $pdf->SetLeftMargin($x); $time=gmmktime(12,0,0,$month,1,$year); $firstday=gmdate('w',$time); $numdays=gmdate('t',$time); $pdf->SetX($x); $pdf->SetY($y); $days=array('S','M','T','W','T','F','S'); $count=0; $pdf->Cell(21,3,date('F Y',$time),0,1,'C'); foreach($days as $day) { $pdf->SetX($x+3*$count); $pdf->Write(3,$day); $count++; } $pdf->Write(3,"\n"); $pdf->SetFont('Arial','',6.5); for ($i=$firstday;$i<($firstday+$numdays);$i++) { $pdf->SetX($x+(($i) % 7) *3); $pdf->Write(2.5,$i-$firstday+1); if ($i % 7 == 6) $pdf->Write(2.5,"\n"); } $pdf->SetLeftMargin(10); } function minicalendar($pdf,$x,$y,$month,$year,$small=false) { $pdf->SetFont('Arial','B',5); $pdf->SetTextColor(0); $pdf->SetLeftMargin($x); $time=gmmktime(12,0,0,$month,1,$year); $firstday=gmdate('w',$time); $numdays=gmdate('t',$time); $pdf->SetX($x); $pdf->SetY($y); $days=array('S','M','T','W','T','F','S'); $count=0; $pdf->Cell(14,3,date('F Y',$time),0,1,'C'); foreach($days as $day) { $pdf->SetX($x+2*$count); $pdf->Write(2,$day); $count++; } $pdf->Write(2,"\n"); $pdf->SetFont('Arial','',4.5); for ($i=$firstday;$i<($firstday+$numdays);$i++) { $pdf->SetX($x+(($i) % 7) *2); $pdf->Write(1.8,$i-$firstday+1); if ($i % 7 == 6) $pdf->Write(1.8,"\n"); } $pdf->SetLeftMargin(10); } function notes($pdf,$x,$y,$w,$h) { global $vars; $pdf->Rect($x,$y+4,$w,$h-4 ,'DF'); $pdf->SetFontSize(14); $pdf->SetX($x); $pdf->SetY($y); $pdf->Text($x,$y,'Daily Notes'); $lines=ceil(($h)/$vars['notelineheight']); for ($i=1;$i<=$lines;$i++) { $pdf->Line($x,($y+$i*$vars['notelineheight']),($x+$w),($y+$i*$vars['notelineheight'])); } $pdf->SetLineWidth($vars['headerline']); $pdf->Line(($x+0.9),($y+3),($x+$w-0.9),($y+3)); $pdf->SetLineWidth($vars['defaultline']); } function fortune($pdf,$x,$y,$w,$h) { global $vars; $pdf->Rect($x,$y+4,$w,$h-4 ,'DF'); $pdf->SetFontSize(14); $pdf->SetX($x); $pdf->SetY($y); $pdf->SetLeftMargin($x); $pdf->SetRightMargin($x+$w); $pdf->Text($x,$y,'Daily Fortune'); $pdf->SetLineWidth($vars['headerline']); $pdf->Line(($x+0.9),($y+3),($x+$w-0.9),($y+3)); $pdf->SetLineWidth($vars['defaultline']); $fortune=`/usr/games/fortune -s -n 300 /home/darkflib/technomonkpublishing.com/planner/fortune/`; $pdf->SetFont('Arial','I',8); $pdf->SetY($y+5); $pdf->MultiCell($w,3,$fortune,0); $pdf->SetRightMargin(-10); } function todo($pdf,$x,$y,$w,$h) { global $vars; $pdf->Rect($x,$y+4,$w,$h-4 ,'DF'); $pdf->SetFontSize(14); $pdf->Text($x,$y-2,'Daily Tasks'); $lines=ceil(($h)/$vars['notelineheight']); for ($i=1;$i<=$lines;$i++) { $pdf->Line($x,($y+$i*$vars['notelineheight']),($x+$w),($y+$i*$vars['notelineheight'])); } $pdf->SetLineWidth($vars['headerline']*2); $pdf->Line(($x+1.9),($y+2),($x+$w-1.9),($y+2)); $pdf->SetLineWidth($vars['defaultline']); $pdf->Line($x+8,$y+4,$x+8,$y+$h); $pdf->Line($x+16,$y,$x+16,$y+$h); $pdf->SetTextColor(255); $pdf->SetFontSize(5.5); $pdf->SetY(59); $pdf->SetX($x+9); $pdf->Write(4,'ABC'); $pdf->SetX(($x+17)); $pdf->Write(4,'Tasks'); $pdf->SetTextColor(0); $pdf->SetX(10); $pdf->SetY(40); $pdf->Write(2.5,"X"); $pdf->SetX(15); $pdf->Write(2.5,"Done\n"); $pdf->Write(2.5,"-"); $pdf->SetX(15); $pdf->Write(2.5,"Moved\n"); $pdf->Write(2.5,"NO"); $pdf->SetX(15); $pdf->Write(2.5,"Will not complete\n"); $pdf->Write(2.5,"*"); $pdf->SetX(15); $pdf->Write(2.5,"Delegated\n"); } function plannerhour($pdf,$x,$y,$w,$label, $lines=4,$lineheight=4) { global $vars; $pdf->Rect($x,$y,$w,($lines*$lineheight),'D'); $pdf->SetLineWidth(0.1); for ($i=1;$i<$lines;$i++) { $pdf->Line($x+10,$y+($i*$lineheight),$x+$w,$y+($i*$lineheight)); } $pdf->Text($x+2,$y+($lines*$lineheight/2)+2,$label); $pdf->SetLineWidth($vars['defaultline']); } function planner($pdf,$x,$y,$w,$h) { global $vars; $pdf->Rect($x,$y+4,$w,$h-4 ,'DF'); $pdf->SetFontSize(14); $pdf->SetX($x); $pdf->SetY($y); $pdf->Text($x,$y,'Planner'); /*$pdf->Line($x,($y+$i*$vars['notelineheight']),($x+$w),($y+$i*$vars['notelineheight'])); $pdf->SetLineWidth($vars['headerline']); $pdf->Line(($x+0.9),($y+3),($x+$w-0.9),($y+3)); $pdf->SetLineWidth($vars['defaultline']);*/ $pdf->SetFontSize(16); plannerhour($pdf,$x,$y+4,$w,'',2,4); plannerhour($pdf,$x,$y+12,$w,'8',4,4); plannerhour($pdf,$x,$y+28,$w,'9',4,4); plannerhour($pdf,$x,$y+44,$w,'10',4,4); plannerhour($pdf,$x,$y+60,$w,'11',4,4); plannerhour($pdf,$x,$y+76,$w,'12',2,4); plannerhour($pdf,$x,$y+84,$w,'1',4,4); plannerhour($pdf,$x,$y+100,$w,'2',4,4); plannerhour($pdf,$x,$y+116,$w,'3',4,4); plannerhour($pdf,$x,$y+132,$w,'4',4,4); plannerhour($pdf,$x,$y+148,$w,'5',2,4); plannerhour($pdf,$x,$y+156,$w,'6',2,4); plannerhour($pdf,$x,$y+164,$w,'7',2,4); plannerhour($pdf,$x,$y+172,$w,'8',2,4); $pdf->SetfontSize(12); $pdf->SetLineWidth($vars['headerline']); $pdf->Line(($x+0.9),($y+3),($x+$w-0.9),($y+3)); $pdf->SetLineWidth($vars['defaultline']); } $pdf=new FPDF(); $month=(isset($_REQUEST['month'])?$_REQUEST['month']:gmdate('n')); //$month=12; $year=(isset($_REQUEST['year'])?$_REQUEST['year']:gmdate('Y')); $time=gmmktime(12,0,0,$month,1,$year); $numdays=gmdate('t',$time); $pdf->SetTitle('\'The Cycle\' Planner'); $pdf->SetAuthor('Technomonk.com'); $pdf->SetCreator('Mike Preston'); for ($date=1;$date<=$numdays;$date++) { $pdf->AddPage('L','a4'); $pdf->SetLeftMargin(10); $pdf->SetAutoPageBreak(false); $pdf->SetLineWidth($vars['defaultline']); $pdf->SetFillcolor(225,234,234); $pdf->Rect(0,0,297,210 ,'F'); $pdf->SetFont('Arial','B',48); $pdf->SetTextColor(0); $pdf->SetX(10); $pdf->SetY(12); $pdf->Write(15,$date); $pdf->SetFont('Arial','',10); $pdf->SetX(10); $pdf->SetY(22); $pdf->Write(10,gmdate('l',mktime(12,0,0,$month,$date,$year))); $pdf->SetFont('Arial','',11); $pdf->SetX(10); $pdf->SetY(27); $pdf->Write(10,gmdate('F Y',$time)); $pdf->SetFont('Arial','',6); $pdf->SetX(250); $pdf->SetY(200); $pdf->Write(5,'Generated by TMI-Planner (c) 2010 www.technomonk.com - Redistribution for non-commercial use allowed.','http://www.technomonk.com/'); $pdf->SetFillcolor(255,255,255); $pdf->SetTextColor(0,0,128); $pdf->SetDrawColor(0,0,128); calendar($pdf,40,12,$month,$year); minicalendar($pdf,32,35,($month-1),$year); minicalendar($pdf,48,35,($month+1),$year); $pdf->SetTextColor(51,51,104); notes($pdf,145,15,140,180); planner($pdf,70,15,65,180); todo($pdf,10,59,50,92); fortune($pdf,10,160,50,35); } $pdf->Output('planner.pdf','I'); ?>