From d1c607f575a269bba9bf08886da45eeb018d723e Mon Sep 17 00:00:00 2001 From: dave Date: Wed, 9 Jun 2010 17:05:21 +0000 Subject: [PATCH] New TCPDF signature page --- register_participants_signature.php | 366 +++++++-------------- register_participants_signature_pdflib.php | 339 +++++++++++++++++++ register_participants_signature_tcpdf.php | 219 ------------ 3 files changed, 462 insertions(+), 462 deletions(-) create mode 100644 register_participants_signature_pdflib.php delete mode 100644 register_participants_signature_tcpdf.php diff --git a/register_participants_signature.php b/register_participants_signature.php index 8c224ff..88df547 100644 --- a/register_participants_signature.php +++ b/register_participants_signature.php @@ -3,8 +3,8 @@ This file is part of the 'Science Fair In A Box' project SFIAB Website: http://www.sfiab.ca - Copyright (C) 2005 Sci-Tech Ontario Inc Copyright (C) 2005 James Grant + Copyright (C) 2010 David Grant This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public @@ -22,75 +22,58 @@ */ ?> newPage(); - $height['sigspace']=0.40; - $pdf->setFontSize(11); -/* -//The title of the fair - $yloc=10.25; - $height['title']=0.25; - $height['subtitle']=0.22; - $height['topbox']=0.8; - $height['exhibitortitle']=0.2; - $height['exhibitorbox']=1.3; - $height['exhibitorsigtext']=0.13; - $height['parenttitle']=0.2; - $height['parentbox']=2.80; - $height['parentsigtext']=0.13; +$pdf=new pdf( "Participant Signature Page ($registration_number)" ); -*/ +$pdf->setFontSize(11); +$pdf->SetFont('times'); +$height_sigspace = 15; //mm +$height_sigfont = $pdf->GetFontSize(); //mm + +$pdf->AddPage(); if($_GET['sample']) { $projectinfo->title="Sample Project Title"; @@ -101,11 +84,9 @@ $pdf->newPage(); $studentinfo->grade="10"; $studentinfoarray[]=$studentinfo; $rr->school="SampleSchool"; - } - else - { - //grab the project info - $q=mysql_query("SELECT projects.*, + } else { + //grab the project info + $q=mysql_query("SELECT projects.*, projectcategories.category, projectdivisions.division FROM projects @@ -116,224 +97,123 @@ $pdf->newPage(); AND projectdivisions.year='".$config['FAIRYEAR']."' AND projectcategories.year='".$config['FAIRYEAR']."' "); - $projectinfo=mysql_fetch_object($q); + $projectinfo=mysql_fetch_object($q); - $q=mysql_query("SELECT * FROM students WHERE registrations_id='".$_SESSION['registration_id']."' AND year='".$config['FAIRYEAR']."'"); - while($si=mysql_fetch_object($q)) - $studentinfoarray[]=$si; + $q=mysql_query("SELECT * FROM students WHERE registrations_id='".$_SESSION['registration_id']."' AND year='".$config['FAIRYEAR']."'"); + while($si=mysql_fetch_object($q)) + $studentinfoarray[]=$si; } - $topboxtext=i18n("Registration Number").": ".$registration_number."\n". - i18n("Project Title").": $projectinfo->title\n". - i18n($projectinfo->category)." / ".i18n($projectinfo->division)."\n"; - if(count($studentinfoarray)>1) - $plural="s"; - else - $plural=""; + $plural = (count($studentinfoarray)>1) ? 's' : ''; - $pdf->heading(i18n("Registration Summary")); - $pdf->addText($topboxtext); - $pdf->nextline(); + $pdf->WriteHTML("

".i18n('Registration Summary')."

+

+ ".i18n('Registration Number').": $registration_number
+ ".i18n('Project Title').": {$projectinfo->title}
+ ".i18n($projectinfo->category)." / ".i18n($projectinfo->division)); - $pdf->addTextX("Exhibitor$plural: ", 0.75); - - foreach($studentinfoarray AS $studentinfo) - { + $students = ""; + foreach($studentinfoarray AS $studentinfo) { if(!$_GET['sample']) { - $qq = mysql_query("SELECT school FROM schools WHERE id={$studentinfo->schools_id}"); - $rr = mysql_fetch_object($qq); + $qq = mysql_query("SELECT school FROM schools WHERE id={$studentinfo->schools_id}"); + $rr = mysql_fetch_object($qq); } - - $pdf->addTextX("$studentinfo->firstname $studentinfo->lastname, Grade {$studentinfo->grade}, {$rr->school}", 1.5); - $pdf->nextline(); + if($students != '') $students .= '
'; + $students .= "{$studentinfo->firstname} {$studentinfo->lastname}, Grade {$studentinfo->grade}, {$rr->school}"; } - //strip off the last comma - //add the newline -// $topboxtext.="\n"; - - $pdf->hr(); +$e = i18n("Exhibitor$plural").":"; +$w = $pdf->GetStringWidth($e) + 2; +$pdf->WriteHTML("
$e$students
"); +$pdf->WriteHTML("


"); + +function sig($pdf, $text) +{ + global $height_sigspace, $height_font; + + $x = $pdf->GetX(); + /* One cell for the whole thing, to force a page break if needed, leave + * the current pos to the right so the Y is unchanged */ + $pdf->Cell(0, $height_sigspace + $height_font, '', 0, 0); + + /* Restore X, and indent a bit, move Y down the signature space */ + $pdf->SetXY($x + 15, $pdf->GetY() + $height_sigspace); + + /* Box with a top line, then a space, then a box with a top line for the date */ + $pdf->Cell(85, $height_font, $text, 'T', 0, 'C'); + $pdf->SetX($pdf->GetX() + 15); + $pdf->Cell(60, $height_font, i18n('Date'), 'T', 1, 'C'); +} $q=mysql_query("SELECT * FROM signaturepage WHERE name='exhibitordeclaration'"); - $r=mysql_fetch_object($q); - if($r->use) - { - $pdf->heading(i18n("Exhibitor Declaration")); + $r=mysql_fetch_assoc($q); + if($r['use']) { + $t = nl2br($r['text']); + $pdf->WriteHTML("

".i18n('Exhibitor Declaration')."

$t"); - $studentbox=$r->text; -/* - $studentbox="The following section is to be read and signed by the exhibitor$plural.\n\n". - ($plural?"We":"I")." certify that:\n". - " - The preparation of this project is mainly ".($plural?"our":"my")." own work\n". - " - ".($plural?"We":"I")." have read the rules and regulations and agree to abide by them\n". - " - ".($plural?"We":"I")." agree that the decision of the judges will be final\n"; - -*/ - $pdf->addText($studentbox); - - foreach($studentinfoarray AS $studentinfo) - { - //we want to make sure the vspace, line, and text under the line dont - //get wrapped onto multiple pages, so make sure we have enough space for the whole thing before we - //start, and if we dont, make a new page. normal stop for footer is at 0.9, so 1.65 gives 0.75 inches - //which should be enough... i think :) - if($pdf->yloc< 1.65 ) - $pdf->newPage(); - - $pdf->vspace($height['sigspace']); - - //signature line - $pdf->hline(1,4.5); - //date line - $pdf->hline(5,7); - //go to next line - $pdf->nextLine(); - - //show their name - $pdf->addTextX(i18n("%1 %2 (signature)",array($studentinfo->firstname,$studentinfo->lastname)),1.25); - //show the Date text - $pdf->addTextX(i18n("Date"),5.25); - - //go to next line - $pdf->nextLine(); - } - - $pdf->hr(); + foreach($studentinfoarray AS $studentinfo) { + sig($pdf, i18n("%1 %2 (signature)",array($studentinfo->firstname,$studentinfo->lastname))); + } + $pdf->WriteHTML("

"); } $q=mysql_query("SELECT * FROM signaturepage WHERE name='parentdeclaration'"); - $r=mysql_fetch_object($q); - if($r->use) - { - //now for the parent/guardian signatures - $pdf->heading(i18n("Parent/Guardian Declaration")); + $r=mysql_fetch_assoc($q); + if($r['use']) { + $t = nl2br($r['text']); + $pdf->WriteHTML("

".i18n('Parent/Guardian Declaration')."

$t"); - $parentbox=$r->text; - $pdf->addText($parentbox); - - foreach($studentinfoarray AS $studentinfo) - { - //we want to make sure the vspace, line, and text under the line dont - //get wrapped onto multiple pages, so make sure we have enough space for the whole thing before we - //start, and if we dont, make a new page. normal stop for footer is at 0.9, so 1.65 gives 0.75 inches - //which should be enough... i think :) - if($pdf->yloc< 1.65 ) - $pdf->newPage(); - - $pdf->vspace($height['sigspace']); - - //signature line - $pdf->hline(1,4.5); - - //date line - $pdf->hline(5,7); - $pdf->nextLine(); - - //show their name - $pdf->addTextX(i18n("Parent/Guardian of %1 %2 (signature)",array($studentinfo->firstname,$studentinfo->lastname)),1.25); - - //show the Date text - $pdf->addTextX(i18n("Date"),5.25); - $pdf->nextLine(); - - } - $pdf->hr(); + foreach($studentinfoarray AS $studentinfo) { + sig($pdf, i18n("Parent/Guardian of %1 %2 (signature)",array($studentinfo->firstname,$studentinfo->lastname))); + } + $pdf->WriteHTML("

"); } $q=mysql_query("SELECT * FROM signaturepage WHERE name='teacherdeclaration'"); - $r=mysql_fetch_object($q); - if($r->use) - { - //now for the teacher signature - $pdf->heading(i18n("Teacher Declaration")); - - $teacherbox=$r->text; - $pdf->addText($teacherbox); - - //we want to make sure the vspace, line, and text under the line dont - //get wrapped onto multiple pages, so make sure we have enough space for the whole thing before we - //start, and if we dont, make a new page. normal stop for footer is at 0.9, so 1.65 gives 0.75 inches - //which should be enough... i think :) - if($pdf->yloc< 1.65 ) - $pdf->newPage(); - - - //we only need 1 teacher signature line, we can assume (maybe incorrectly) that both students - //have the same teacher.. if they are not the same, then they can get the best teacher to sign - //it doesnt matter. - $pdf->vspace($height['sigspace']); - - //signature line - $pdf->hline(1,4.5); - - //date line - $pdf->hline(5,7); - $pdf->nextLine(); - - //show their name - $pdf->addTextX(i18n("Teacher Signature"),1.25); - - //show the Date text - $pdf->addTextX(i18n("Date"),5.25); - $pdf->nextLine(); - - $pdf->hr(); - } + $r=mysql_fetch_assoc($q); + if($r['use']) { + $t = nl2br($r['text']); + $pdf->WriteHTML("

".i18n('Teacher Declaration')."

$t"); + sig($pdf, i18n('Teacher Signature')); + $pdf->WriteHTML("

"); + } $q=mysql_query("SELECT * FROM signaturepage WHERE name='regfee'"); - $r=mysql_fetch_object($q); - if($r->use) - { - //now for the teacher signature - $pdf->heading(i18n("Registration Fee Summary")); - $pdf->nextLine(); + $r=mysql_fetch_assoc($q); + if($r['use']) { + $pdf->WriteHTML("

".i18n('Registration Fee Summary')."


"); list($regfee, $rfeedata) = computeRegistrationFee($registration_id); - $pdf->addTextX(i18n('Item'), 3.5); - $pdf->addTextX(i18n('Unit'), 5.1); - $pdf->addTextX(i18n('Qty'), 5.5); - $pdf->addTextX(i18n('Extended'), 5.9); - $pdf->vspace(0.05); - $pdf->hline(1.75,6.75); + $x = $pdf->GetX() + 20; + $pdf->SetX($x); + $pdf->Cell(60, 0, i18n('Item'), 'B', 0, 'C'); + $pdf->Cell(15, 0, i18n('Unit'), 'B', 0, 'C'); + $pdf->Cell(10, 0, i18n('Qty'), 'B', 0, 'C'); + $pdf->Cell(20, 0, i18n('Extended'), 'B', 1, 'C'); foreach($rfeedata as $rf) { - $pdf->nextLine(); $u = "$".sprintf("%.02f", $rf['base']); $e = "$".sprintf("%.02f", $rf['ext']); - - $pdf->addTextX($rf['text'], 2); - $pdf->addTextX("$u", 5); - $pdf->addTextX($rf['num'], 5.6); - $pdf->addTextX("$e", 6); + + $pdf->SetX($x); + $pdf->Cell(60, 0, $rf['text'], 0, 0, 'L'); + $pdf->Cell(15, 0, $u, 0, 0, 'R'); + $pdf->Cell(10, 0, $rf['num'], 0, 0, 'C'); + $pdf->Cell(20, 0, $e, 0, 1, 'R'); } - $pdf->vspace(0.05); - $pdf->hline(1.75,6.75); - $pdf->nextLine(); $t = "$".sprintf("%.02f", $regfee); - - $pdf->addTextX(i18n('Total (including all taxes)'), 4.2); - $pdf->addTextX("$t", 6); - $pdf->nextLine(); - - $pdf->hr(); + $pdf->SetX($x); + $pdf->Cell(85, 0, i18n('Total (including all taxes)'), 'T', 0, 'R'); + $pdf->Cell(20, 0, $t, 'T', 1, 'R'); + $pdf->WriteHTML("

"); } $q=mysql_query("SELECT * FROM signaturepage WHERE name='postamble'"); - $r=mysql_fetch_object($q); - if($r->use) - { - //now for the teacher signature - $pdf->heading(i18n("Additional Information")); - - $box=$r->text; - $pdf->addText($box); - + $r=mysql_fetch_assoc($q); + if($r['use']) { + $t = nl2br($r['text']); + $pdf->WriteHTML("

".i18n('Additional Information')."

$t"); + $pdf->WriteHTML("

"); } - -/* -header("Content-type: application/pdf"); - header("Content-disposition: inline; filename=sfiab_sig_".$_SESSION['registration_id'].".pdf"); - header("Content-length: ".strlen($pdfdata)); - */ echo $pdf->output(); ?> diff --git a/register_participants_signature_pdflib.php b/register_participants_signature_pdflib.php new file mode 100644 index 0000000..8c224ff --- /dev/null +++ b/register_participants_signature_pdflib.php @@ -0,0 +1,339 @@ + + Copyright (C) 2005 James Grant + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public + License as published by the Free Software Foundation, version 2. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; see the file COPYING. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. +*/ +?> +newPage(); + $height['sigspace']=0.40; + $pdf->setFontSize(11); + +/* +//The title of the fair + $yloc=10.25; + $height['title']=0.25; + $height['subtitle']=0.22; + $height['topbox']=0.8; + $height['exhibitortitle']=0.2; + $height['exhibitorbox']=1.3; + $height['exhibitorsigtext']=0.13; + $height['parenttitle']=0.2; + $height['parentbox']=2.80; + $height['parentsigtext']=0.13; + +*/ + + if($_GET['sample']) { + $projectinfo->title="Sample Project Title"; + $projectinfo->division="Proj Division"; + $projectinfo->category="Proj Category"; + $studentinfo->firstname="SampleFirst"; + $studentinfo->lastname="SampleLast"; + $studentinfo->grade="10"; + $studentinfoarray[]=$studentinfo; + $rr->school="SampleSchool"; + } + else + { + //grab the project info + $q=mysql_query("SELECT projects.*, + projectcategories.category, + projectdivisions.division + FROM projects + JOIN projectdivisions ON projects.projectdivisions_id=projectdivisions.id + JOIN projectcategories ON projects.projectcategories_id=projectcategories.id + WHERE registrations_id='".$_SESSION['registration_id']."' + AND projects.year='".$config['FAIRYEAR']."' + AND projectdivisions.year='".$config['FAIRYEAR']."' + AND projectcategories.year='".$config['FAIRYEAR']."' + "); + $projectinfo=mysql_fetch_object($q); + + $q=mysql_query("SELECT * FROM students WHERE registrations_id='".$_SESSION['registration_id']."' AND year='".$config['FAIRYEAR']."'"); + while($si=mysql_fetch_object($q)) + $studentinfoarray[]=$si; + } + + $topboxtext=i18n("Registration Number").": ".$registration_number."\n". + i18n("Project Title").": $projectinfo->title\n". + i18n($projectinfo->category)." / ".i18n($projectinfo->division)."\n"; + if(count($studentinfoarray)>1) + $plural="s"; + else + $plural=""; + + $pdf->heading(i18n("Registration Summary")); + $pdf->addText($topboxtext); + $pdf->nextline(); + + $pdf->addTextX("Exhibitor$plural: ", 0.75); + + foreach($studentinfoarray AS $studentinfo) + { + if(!$_GET['sample']) { + $qq = mysql_query("SELECT school FROM schools WHERE id={$studentinfo->schools_id}"); + $rr = mysql_fetch_object($qq); + } + + $pdf->addTextX("$studentinfo->firstname $studentinfo->lastname, Grade {$studentinfo->grade}, {$rr->school}", 1.5); + $pdf->nextline(); + } + //strip off the last comma + //add the newline +// $topboxtext.="\n"; + + $pdf->hr(); + + $q=mysql_query("SELECT * FROM signaturepage WHERE name='exhibitordeclaration'"); + $r=mysql_fetch_object($q); + if($r->use) + { + $pdf->heading(i18n("Exhibitor Declaration")); + + $studentbox=$r->text; +/* + $studentbox="The following section is to be read and signed by the exhibitor$plural.\n\n". + ($plural?"We":"I")." certify that:\n". + " - The preparation of this project is mainly ".($plural?"our":"my")." own work\n". + " - ".($plural?"We":"I")." have read the rules and regulations and agree to abide by them\n". + " - ".($plural?"We":"I")." agree that the decision of the judges will be final\n"; + +*/ + $pdf->addText($studentbox); + + foreach($studentinfoarray AS $studentinfo) + { + //we want to make sure the vspace, line, and text under the line dont + //get wrapped onto multiple pages, so make sure we have enough space for the whole thing before we + //start, and if we dont, make a new page. normal stop for footer is at 0.9, so 1.65 gives 0.75 inches + //which should be enough... i think :) + if($pdf->yloc< 1.65 ) + $pdf->newPage(); + + $pdf->vspace($height['sigspace']); + + //signature line + $pdf->hline(1,4.5); + //date line + $pdf->hline(5,7); + //go to next line + $pdf->nextLine(); + + //show their name + $pdf->addTextX(i18n("%1 %2 (signature)",array($studentinfo->firstname,$studentinfo->lastname)),1.25); + //show the Date text + $pdf->addTextX(i18n("Date"),5.25); + + //go to next line + $pdf->nextLine(); + } + + $pdf->hr(); + } + + $q=mysql_query("SELECT * FROM signaturepage WHERE name='parentdeclaration'"); + $r=mysql_fetch_object($q); + if($r->use) + { + //now for the parent/guardian signatures + $pdf->heading(i18n("Parent/Guardian Declaration")); + + $parentbox=$r->text; + $pdf->addText($parentbox); + + foreach($studentinfoarray AS $studentinfo) + { + //we want to make sure the vspace, line, and text under the line dont + //get wrapped onto multiple pages, so make sure we have enough space for the whole thing before we + //start, and if we dont, make a new page. normal stop for footer is at 0.9, so 1.65 gives 0.75 inches + //which should be enough... i think :) + if($pdf->yloc< 1.65 ) + $pdf->newPage(); + + $pdf->vspace($height['sigspace']); + + //signature line + $pdf->hline(1,4.5); + + //date line + $pdf->hline(5,7); + $pdf->nextLine(); + + //show their name + $pdf->addTextX(i18n("Parent/Guardian of %1 %2 (signature)",array($studentinfo->firstname,$studentinfo->lastname)),1.25); + + //show the Date text + $pdf->addTextX(i18n("Date"),5.25); + $pdf->nextLine(); + + } + $pdf->hr(); + } + + $q=mysql_query("SELECT * FROM signaturepage WHERE name='teacherdeclaration'"); + $r=mysql_fetch_object($q); + if($r->use) + { + //now for the teacher signature + $pdf->heading(i18n("Teacher Declaration")); + + $teacherbox=$r->text; + $pdf->addText($teacherbox); + + //we want to make sure the vspace, line, and text under the line dont + //get wrapped onto multiple pages, so make sure we have enough space for the whole thing before we + //start, and if we dont, make a new page. normal stop for footer is at 0.9, so 1.65 gives 0.75 inches + //which should be enough... i think :) + if($pdf->yloc< 1.65 ) + $pdf->newPage(); + + + //we only need 1 teacher signature line, we can assume (maybe incorrectly) that both students + //have the same teacher.. if they are not the same, then they can get the best teacher to sign + //it doesnt matter. + $pdf->vspace($height['sigspace']); + + //signature line + $pdf->hline(1,4.5); + + //date line + $pdf->hline(5,7); + $pdf->nextLine(); + + //show their name + $pdf->addTextX(i18n("Teacher Signature"),1.25); + + //show the Date text + $pdf->addTextX(i18n("Date"),5.25); + $pdf->nextLine(); + + $pdf->hr(); + } + + $q=mysql_query("SELECT * FROM signaturepage WHERE name='regfee'"); + $r=mysql_fetch_object($q); + if($r->use) + { + //now for the teacher signature + $pdf->heading(i18n("Registration Fee Summary")); + $pdf->nextLine(); + + list($regfee, $rfeedata) = computeRegistrationFee($registration_id); + + $pdf->addTextX(i18n('Item'), 3.5); + $pdf->addTextX(i18n('Unit'), 5.1); + $pdf->addTextX(i18n('Qty'), 5.5); + $pdf->addTextX(i18n('Extended'), 5.9); + $pdf->vspace(0.05); + $pdf->hline(1.75,6.75); + foreach($rfeedata as $rf) { + $pdf->nextLine(); + $u = "$".sprintf("%.02f", $rf['base']); + $e = "$".sprintf("%.02f", $rf['ext']); + + $pdf->addTextX($rf['text'], 2); + $pdf->addTextX("$u", 5); + $pdf->addTextX($rf['num'], 5.6); + $pdf->addTextX("$e", 6); + } + $pdf->vspace(0.05); + $pdf->hline(1.75,6.75); + $pdf->nextLine(); + $t = "$".sprintf("%.02f", $regfee); + + $pdf->addTextX(i18n('Total (including all taxes)'), 4.2); + $pdf->addTextX("$t", 6); + $pdf->nextLine(); + + $pdf->hr(); + } + + $q=mysql_query("SELECT * FROM signaturepage WHERE name='postamble'"); + $r=mysql_fetch_object($q); + if($r->use) + { + //now for the teacher signature + $pdf->heading(i18n("Additional Information")); + + $box=$r->text; + $pdf->addText($box); + + } + + +/* +header("Content-type: application/pdf"); + header("Content-disposition: inline; filename=sfiab_sig_".$_SESSION['registration_id'].".pdf"); + header("Content-length: ".strlen($pdfdata)); + */ + echo $pdf->output(); +?> diff --git a/register_participants_signature_tcpdf.php b/register_participants_signature_tcpdf.php deleted file mode 100644 index 88df547..0000000 --- a/register_participants_signature_tcpdf.php +++ /dev/null @@ -1,219 +0,0 @@ - - Copyright (C) 2010 David Grant - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public - License as published by the Free Software Foundation, version 2. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; see the file COPYING. If not, write to - the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. -*/ -?> -setFontSize(11); -$pdf->SetFont('times'); -$height_sigspace = 15; //mm -$height_sigfont = $pdf->GetFontSize(); //mm - -$pdf->AddPage(); - - if($_GET['sample']) { - $projectinfo->title="Sample Project Title"; - $projectinfo->division="Proj Division"; - $projectinfo->category="Proj Category"; - $studentinfo->firstname="SampleFirst"; - $studentinfo->lastname="SampleLast"; - $studentinfo->grade="10"; - $studentinfoarray[]=$studentinfo; - $rr->school="SampleSchool"; - } else { - //grab the project info - $q=mysql_query("SELECT projects.*, - projectcategories.category, - projectdivisions.division - FROM projects - JOIN projectdivisions ON projects.projectdivisions_id=projectdivisions.id - JOIN projectcategories ON projects.projectcategories_id=projectcategories.id - WHERE registrations_id='".$_SESSION['registration_id']."' - AND projects.year='".$config['FAIRYEAR']."' - AND projectdivisions.year='".$config['FAIRYEAR']."' - AND projectcategories.year='".$config['FAIRYEAR']."' - "); - $projectinfo=mysql_fetch_object($q); - - $q=mysql_query("SELECT * FROM students WHERE registrations_id='".$_SESSION['registration_id']."' AND year='".$config['FAIRYEAR']."'"); - while($si=mysql_fetch_object($q)) - $studentinfoarray[]=$si; - } - - $plural = (count($studentinfoarray)>1) ? 's' : ''; - - $pdf->WriteHTML("

".i18n('Registration Summary')."

-

- ".i18n('Registration Number').": $registration_number
- ".i18n('Project Title').": {$projectinfo->title}
- ".i18n($projectinfo->category)." / ".i18n($projectinfo->division)); - - $students = ""; - foreach($studentinfoarray AS $studentinfo) { - if(!$_GET['sample']) { - $qq = mysql_query("SELECT school FROM schools WHERE id={$studentinfo->schools_id}"); - $rr = mysql_fetch_object($qq); - } - if($students != '') $students .= '
'; - $students .= "{$studentinfo->firstname} {$studentinfo->lastname}, Grade {$studentinfo->grade}, {$rr->school}"; - } -$e = i18n("Exhibitor$plural").":"; -$w = $pdf->GetStringWidth($e) + 2; -$pdf->WriteHTML("
$e$students
"); -$pdf->WriteHTML("


"); - -function sig($pdf, $text) -{ - global $height_sigspace, $height_font; - - $x = $pdf->GetX(); - /* One cell for the whole thing, to force a page break if needed, leave - * the current pos to the right so the Y is unchanged */ - $pdf->Cell(0, $height_sigspace + $height_font, '', 0, 0); - - /* Restore X, and indent a bit, move Y down the signature space */ - $pdf->SetXY($x + 15, $pdf->GetY() + $height_sigspace); - - /* Box with a top line, then a space, then a box with a top line for the date */ - $pdf->Cell(85, $height_font, $text, 'T', 0, 'C'); - $pdf->SetX($pdf->GetX() + 15); - $pdf->Cell(60, $height_font, i18n('Date'), 'T', 1, 'C'); -} - - $q=mysql_query("SELECT * FROM signaturepage WHERE name='exhibitordeclaration'"); - $r=mysql_fetch_assoc($q); - if($r['use']) { - $t = nl2br($r['text']); - $pdf->WriteHTML("

".i18n('Exhibitor Declaration')."

$t"); - - foreach($studentinfoarray AS $studentinfo) { - sig($pdf, i18n("%1 %2 (signature)",array($studentinfo->firstname,$studentinfo->lastname))); - } - $pdf->WriteHTML("

"); - } - - $q=mysql_query("SELECT * FROM signaturepage WHERE name='parentdeclaration'"); - $r=mysql_fetch_assoc($q); - if($r['use']) { - $t = nl2br($r['text']); - $pdf->WriteHTML("

".i18n('Parent/Guardian Declaration')."

$t"); - - foreach($studentinfoarray AS $studentinfo) { - sig($pdf, i18n("Parent/Guardian of %1 %2 (signature)",array($studentinfo->firstname,$studentinfo->lastname))); - } - $pdf->WriteHTML("

"); - } - - $q=mysql_query("SELECT * FROM signaturepage WHERE name='teacherdeclaration'"); - $r=mysql_fetch_assoc($q); - if($r['use']) { - $t = nl2br($r['text']); - $pdf->WriteHTML("

".i18n('Teacher Declaration')."

$t"); - sig($pdf, i18n('Teacher Signature')); - $pdf->WriteHTML("

"); - } - - $q=mysql_query("SELECT * FROM signaturepage WHERE name='regfee'"); - $r=mysql_fetch_assoc($q); - if($r['use']) { - $pdf->WriteHTML("

".i18n('Registration Fee Summary')."


"); - - list($regfee, $rfeedata) = computeRegistrationFee($registration_id); - - $x = $pdf->GetX() + 20; - $pdf->SetX($x); - $pdf->Cell(60, 0, i18n('Item'), 'B', 0, 'C'); - $pdf->Cell(15, 0, i18n('Unit'), 'B', 0, 'C'); - $pdf->Cell(10, 0, i18n('Qty'), 'B', 0, 'C'); - $pdf->Cell(20, 0, i18n('Extended'), 'B', 1, 'C'); - foreach($rfeedata as $rf) { - $u = "$".sprintf("%.02f", $rf['base']); - $e = "$".sprintf("%.02f", $rf['ext']); - - $pdf->SetX($x); - $pdf->Cell(60, 0, $rf['text'], 0, 0, 'L'); - $pdf->Cell(15, 0, $u, 0, 0, 'R'); - $pdf->Cell(10, 0, $rf['num'], 0, 0, 'C'); - $pdf->Cell(20, 0, $e, 0, 1, 'R'); - } - $t = "$".sprintf("%.02f", $regfee); - $pdf->SetX($x); - $pdf->Cell(85, 0, i18n('Total (including all taxes)'), 'T', 0, 'R'); - $pdf->Cell(20, 0, $t, 'T', 1, 'R'); - $pdf->WriteHTML("

"); - } - - $q=mysql_query("SELECT * FROM signaturepage WHERE name='postamble'"); - $r=mysql_fetch_assoc($q); - if($r['use']) { - $t = nl2br($r['text']); - $pdf->WriteHTML("

".i18n('Additional Information')."

$t"); - $pdf->WriteHTML("

"); - } - - echo $pdf->output(); -?>