id]=$r->division; $q=mysql_query("SELECT * FROM projectcategories WHERE year='".$config['FAIRYEAR']."' ORDER BY id"); while($r=mysql_fetch_object($q)) $cat[$r->id]=$r->category; $dkeys = array_keys($div); $ckeys = array_keys($cat); if($config['filterdivisionbycategory']=="yes") { $q=mysql_query("SELECT * FROM projectcategoriesdivisions_link WHERE year='".$config['FAIRYEAR']."' ORDER BY projectdivisions_id,projectcategories_id"); $divcat=array(); while($r=mysql_fetch_object($q)) { $divcat[]=array("c"=>$r->projectcategories_id,"d"=>$r->projectdivisions_id); } } else { $divcat=array(); foreach($dkeys AS $d) { foreach($ckeys AS $c) { $divcat[]=array("c"=>$c,"d"=>$d); } } } $missing_awards = array(); foreach($divcat AS $dc) { $d=$dc['d']; $c=$dc['c']; $q=mysql_query("SELECT award_awards.id FROM award_awards, award_awards_projectcategories, award_awards_projectdivisions WHERE award_awards.year='{$config['FAIRYEAR']}' AND award_awards_projectcategories.year='{$config['FAIRYEAR']}' AND award_awards_projectdivisions.year='{$config['FAIRYEAR']}' AND award_awards.id=award_awards_projectcategories.award_awards_id AND award_awards.id=award_awards_projectdivisions.award_awards_id AND award_awards_projectcategories.projectcategories_id='$c' AND award_awards_projectdivisions.projectdivisions_id='$d' AND award_awards.award_types_id='1' "); echo mysql_error(); if(mysql_num_rows($q)!=1) { $missing_awards[] = "{$cat[$c]} - {$div[$d]} (".i18n("%1 found",array(mysql_num_rows($q))).")"; } } return $missing_awards; } function judges_scheduler_check_jdivs() { global $config; $q=mysql_query("SELECT DISTINCT jdiv_id FROM judges_jdiv "); $rows = mysql_num_rows($q); return $rows; } function judges_scheduler_check_judges() { global $config; $ok = 1; $jdiv = array(); $q=mysql_query("SELECT * FROM judges_jdiv ORDER BY jdiv_id"); while($r=mysql_fetch_object($q)) { /* Ignore any div/cat with jdiv 0 */ if($r->jdiv_id == 0) continue; $d = $r->projectdivisions_id; $c = $r->projectcategories_id; $l = $r->lang; $qp = mysql_query("SELECT COUNT(projects.id) as cnt FROM projects, registrations WHERE ". " projects.year='".$config['FAIRYEAR']."' AND ". " projectdivisions_id='$d' AND ". " projectcategories_id='$c' AND ". " language='$l' AND " . " registrations.id = projects.registrations_id " . getJudgingEligibilityCode() ); $qr = mysql_fetch_object($qp); $jdiv[$r->jdiv_id]['num_projects']['total'] += $qr->cnt; $jdiv[$r->jdiv_id]['num_projects'][$l] += $qr->cnt; $projectlanguagetotal[$l]+=$qr->cnt; $projecttotal+=$qr->cnt; } $totalteams['total'] = 0; echo "". "". ""; echo ""; echo ""; foreach($config['languages'] AS $lkey=>$lname) echo ""; echo ""; echo "\n"; foreach($jdiv AS $jdiv_id=>$jd) { $c = $jd['num_projects']['total']; //total judge teams calculation $t['total']=ceil($c/$config['max_projects_per_team']*$config['times_judged']); if($t['total'] < $config['times_judged'] && $c>0) $t['total'] = $config['times_judged']; $jdiv[$jdiv_id]['num_jteams']['total'] = $t['total']; $totalteams['total']+=$t['total']; echo ""; echo ""; $langstr=""; foreach($config['languages'] AS $lkey=>$lname) { $clang=($jd['num_projects'][$lkey]?$jd['num_projects'][$lkey]:0); echo ""; } echo ""; echo ""; } echo "
".i18n("Projects")."".i18n("Required Teams")."
".i18n("Total")."$lkey
Judging Division Group $jdiv_id$c$clang{$t['total']}
"; echo "
"; echo ""; echo i18n("Total judging teams required: %1",array($totalteams['total'])); echo "
"; echo "
"; $minjudges['total']=($totalteams['total']*$config['min_judges_per_team']); $maxjudges['total']=($totalteams['total']*$config['max_judges_per_team']); echo i18n("Minimum number of judges required: %1",array($minjudges['total']))."
"; foreach($config['languages'] AS $lkey=>$lname) { $judgelanguagetotal[$lkey]=round($projectlanguagetotal[$lkey]/$projecttotal*$minjudges['total']); echo "   ".i18n("Minimum number of %1 judges required: %2",array($lname,$judgelanguagetotal[$lkey]))."
"; } echo i18n("Maximum number of judges needed: %1",array($maxjudges['total'])); echo "
"; echo "
"; $jq=mysql_query("SELECT COUNT(judges.id) AS num FROM judges,judges_years WHERE complete='yes' AND deleted='no' AND judges_years.year='{$config['FAIRYEAR']}' AND judges_years.judges_id=judges.id"); $jr=mysql_fetch_object($jq); $currentjudges=$jr->num; echo "Current number of registered judges: $currentjudges"; echo "
"; echo "
"; echo "
"; if($currentjudges<$minjudges) { echo error(i18n("You do not have sufficient number of total judges based on your parameters")); $ok=false; } foreach($config['languages'] AS $lkey=>$lname) { $jq=mysql_query("SELECT COUNT(judges.id) AS num FROM judges,judges_years,judges_languages WHERE complete='yes' AND deleted='no' AND judges_years.year='{$config['FAIRYEAR']}' AND judges_years.judges_id=judges.id AND judges_languages.languages_lang='$lkey' AND judges_languages.judges_id=judges.id"); echo mysql_error(); $jr=mysql_fetch_object($jq); $currentjudges=$jr->num; echo "".i18n("Current number of registered judges that can judge in %1: %2",array($lname,$currentjudges)).""; echo "
"; echo "
"; if($currentjudges<$judgelanguagetotal[$lkey]) { echo error(i18n("You do not have sufficient number of %1 judges based on your parameters",array($lname))); $ok=false; } } if(!$ok) { echo "  "; echo "".i18n("Update Scheduler Configuration")." (".i18n("or get more judges!").")"; } else echo happy(i18n("You have a sufficient number of judges based on your parameters")); //now check if we can find a divisional award for each division and category return $ok; } ?>