diff --git a/admin/reports_judges_new.php b/admin/reports_judges_new.php new file mode 100644 index 0000000..4a3ebc3 --- /dev/null +++ b/admin/reports_judges_new.php @@ -0,0 +1,259 @@ + + 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. +*/ +?> + i18n('Judge ID'), + 'firstname' => i18n("Last Name"), + 'lastname' => i18n("First Name"), + 'email' => i18n("Email"), + 'homephone' => i18n("Phone Home"), + 'workphone' => i18n("Phone Work"), + 'workphoneext' => i18n("Phone Work Ext"), + 'cellphone' => i18n("Phone Cell"), + 'languages' => i18n("Languages"), + 'organization' => i18n("Organization"), + 'address' => i18n("Address"), + 'city' => i18n("City"), + 'province' => i18n("Province"), + 'postalcode' => i18n("Postal Code"), + 'questions' => i18n("Judging Questions Responses"), + 'expertise_other' => i18n("Expertise Other")); + ); + + + +if(!$_GET['type']) $type="csv"; +else $type=$_GET['type']; + +if($type=="pdf") +{ + $rep=new lpdf( i18n($config['fairname']), + i18n("Judge List"), + $_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/logo-200.gif" + ); + + $rep->newPage(); + $rep->setFontSize(11); +} +else if($type=="csv") +{ + $rep=new lcsv(i18n("Judge List")); +} +else if($type=="txt") +{ + $rep = new ltxt(i18n("Judge List")); +} + +$table=array(); +$table['header']=array( i18n("ID"), + i18n("Last Name"), + i18n("First Name"), + i18n("Email"), + i18n("Phone Home"), + i18n("Phone Work"), + i18n("Phone Work Ext"), + i18n("Phone Cell"), + i18n("Languages"), + i18n("Organization"), + i18n("Address 1"), + i18n("Address 2"), + i18n("City"), + i18n("Province"), + i18n("Postal Code"), + i18n("Highest PostSecDeg"), + i18n("Professional Quals"), + i18n("Expertise Other")); + +/* Append headers for all the custom questions */ +$qs=questions_load_questions('judgereg', $config['FAIRYEAR']); +$keys = array_keys($qs); +foreach($keys as $qid) { + $table['header'][] = i18n($qs[$qid]['db_heading']); +} + + +//grab the list of divisions, because the last fields of the table will be the sub-divisions +$q=mysql_query("SELECT * FROM projectcategories WHERE year='".$config['FAIRYEAR']."' ORDER BY id"); +$numcats=mysql_num_rows($q); +$catheadings=array(); +while($r=mysql_fetch_object($q)) +{ + $cats[]=$r->id; + $catheadings[]="$r->category (out of 5)"; +} +//grab the list of divisions, because the last fields of the table will be the sub-divisions +$q=mysql_query("SELECT * FROM projectdivisions WHERE year='".$config['FAIRYEAR']."' ORDER BY id"); +$divheadings=array(); +while($r=mysql_fetch_object($q)) +{ + $divs[]=$r->id; + $divheadings[]="$r->division (out of 5)"; + $divheadings[]="$r->division subdivisions"; +} + +//now append the arrays together +$table['header']=array_merge($table['header'],array_merge($catheadings,$divheadings)); + + +//fill these in if we ever make this PDFable +$table['widths']=array(); +$table['dataalign']=array(); + +$q=mysql_query("SELECT + judges.* + FROM + judges, + judges_years + WHERE + judges.complete='yes' AND + judges_years.year='".$config['FAIRYEAR']."' AND + judges.id=judges_years.judges_id + ORDER BY + lastname, + firstname"); +while($r=mysql_fetch_object($q)) +{ + $expertise_other=str_replace("\n"," ",$r->expertise_other); + $expertise_other=str_replace("\r","",$expertise_other); + + $subdivq=mysql_query("SELECT judges_expertise.*, + projectsubdivisions.subdivision, + projectsubdivisions.projectdivisions_id AS parent_id + FROM judges_expertise + LEFT JOIN projectsubdivisions ON judges_expertise.projectsubdivisions_id=projectsubdivisions.id + WHERE + judges_id='$r->id' AND + judges_expertise.year='".$config['FAIRYEAR']."' + ORDER BY + projectdivisions_id, + projectsubdivisions_id"); + if(isset($judge_divs)) unset($judge_divs); $judge_divs=array(); + if(isset($judge_subdivs)) unset($judge_subdivs); $judge_subdivs=array(); + if(isset($divdata)) unset($divdata); $divdata=array(); + if(isset($catdata)) unset($catdata); $catdata=array(); + + while($subdivr=mysql_fetch_object($subdivq)) + { + if($subdivr->projectdivisions_id) + { + $judge_divs[$subdivr->projectdivisions_id]=$subdivr->val; + } + else + $judge_subdivs[$subdivr->parent_id][]=$subdivr->subdivision; + } + + + foreach($divs as $div) + { + $divdata[]=$judge_divs[$div]; + if(count($judge_subdivs[$div])) + $divdata[]=implode(",",$judge_subdivs[$div]); + else + $divdata[]=""; + } + + + $catprefq=mysql_query("SELECT judges_catpref.rank, projectcategories.category + FROM judges_catpref, + projectcategories + WHERE + projectcategories.year='".$config['FAIRYEAR']."' AND + judges_catpref.year='".$config['FAIRYEAR']."' AND + judges_catpref.judges_id='".$r->id."' AND + judges_catpref.projectcategories_id=projectcategories.id + ORDER BY + judges_catpref.projectcategories_id"); + if(mysql_num_rows($catprefq)!=$numcats) + { + //somethings messed up, we're missing data or have too much, so we really cant draw any conclusions from the data we have + //so instead, we will simply blank these out to 0 + for($x=0;$x<$numcats;$x++) + $catdat $this->txtdata.=$this->str_seperator; +a[]=0; + + } + else + { + while($cr=mysql_fetch_object($catprefq)) + { + //this is stored in teh db as -2 ... +2 so if we add 2 we get a nice 0 ... 5 + $catdata[]=$cr->rank+2; + } + } + + $languages=""; + //and finally, grab their languages + $langq=mysql_query("SELECT * FROM judges_languages WHERE judges_id='".$r->id."' ORDER BY languages_lang"); + while($langr=mysql_fetch_object($langq)) + $languages.=$langr->languages_lang."/"; + //stip off the last / + $languages=substr($languages,0,-1); + +// print_r($judge_divs); +// print_r($judge_subdivs); + + $qarray = array(); + $qans = questions_load_answers('judgereg', $r->id, $config['FAIRYEAR']); + $keys = array_keys($qans); + foreach($keys as $qid) { + $qarray[] = $qans[$qid]; + } + + $tmp=array( + $r->id, + $r->lastname, + $r->firstname, + $r->email, + $r->phonehome, + $r->phonework, + $r->phoneworkext, + $r->phonecell, + $languages, + $r->organization, + $r->address, + $r->address2, + $r->city, + $r->province, + $r->postalcode, + $r->highest_psd, + $r->professional_quals, + $expertise_other + ); + $tmp = array_merge($tmp, $qarray); + + $extradata=array_merge($catdata,$divdata); + $table['data'][]=array_merge($tmp,$extradata); +} + +$rep->addTable($table); +$rep->output(); + +?>