forked from science-ation/science-ation
319c5d6720
Add two new projectnumber options: c=category shortform, d=division shortform, eg (JLS01 = Junior, Life Science, Project #01) Add shortform field for age category Fix bug in config editor where it was updating values for ALL years, instead of just the current year! Bump version number to development version
324 lines
10 KiB
PHP
324 lines
10 KiB
PHP
<?
|
|
/*
|
|
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 <info@scitechontario.org>
|
|
Copyright (C) 2005 James Grant <james@lightbox.org>
|
|
|
|
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.
|
|
*/
|
|
?>
|
|
<?
|
|
require("../common.inc.php");
|
|
auth_required('admin');
|
|
require("../register_participants.inc.php");
|
|
|
|
send_header("Participant Registration - Received Forms");
|
|
echo "<a href=\"index.php\"><< ".i18n("Back to Administration")."</a>";
|
|
echo " ";
|
|
echo "<a href=\"registration.php\"><< ".i18n("Back to Registration")."</a>";
|
|
echo "<br />";
|
|
echo "<br />";
|
|
|
|
$showformatbottom=true;
|
|
if($_POST['action']=="received" && $_POST['registration_number'])
|
|
{
|
|
$q=mysql_query("SELECT * FROM registrations WHERE num='".$_POST['registration_number']."' AND year='".$config['FAIRYEAR']."'");
|
|
if(mysql_num_rows($q)==1)
|
|
{
|
|
$r=mysql_fetch_object($q);
|
|
$reg_id=$r->id;
|
|
$reg_num=$r->num;
|
|
$reg_status=$r->status;
|
|
|
|
if($r->status=='new')
|
|
{
|
|
echo error(i18n("Invalid Registration Status (%1 is New). Cannot receive an empty form.",array($_POST['registration_number'])));
|
|
}
|
|
else
|
|
{
|
|
//make sure all of the statuses are correct
|
|
$statusstudent=studentStatus($reg_id);
|
|
$statusemergencycontact=emergencycontactStatus($reg_id);
|
|
$statusproject=projectStatus($reg_id);
|
|
if($config['participant_mentor']=="yes")
|
|
$statusmentor=mentorStatus($reg_id);
|
|
else
|
|
$statusmentor="complete";
|
|
$statussafety=safetyStatus($reg_id);
|
|
|
|
if(
|
|
$statusstudent == "complete" &&
|
|
$statusemergencycontact == "complete" &&
|
|
$statusproject == "complete" &&
|
|
$statusmentor == "complete" &&
|
|
$statussafety == "complete"
|
|
) {
|
|
|
|
$q=mysql_query("SELECT projects.title,
|
|
projectcategories.category,
|
|
projectdivisions.division
|
|
FROM
|
|
projects,projectcategories,projectdivisions
|
|
WHERE
|
|
projects.registrations_id='$reg_id'
|
|
AND
|
|
projects.projectcategories_id=projectcategories.id
|
|
AND
|
|
projects.projectdivisions_id=projectdivisions.id
|
|
");
|
|
|
|
echo mysql_Error();
|
|
$projectinfo=mysql_fetch_object($q);
|
|
echo "<table class=\"summarytable\">";
|
|
echo "<tr><th colspan=\"2\">".i18n("Registration Summary for %1",array($reg_num))."</th></tr>";
|
|
switch($reg_status)
|
|
{
|
|
case "paymentpending": $status_text="Payment Pending"; break;
|
|
case "complete": $status_text="Complete"; break;
|
|
case "open": $status_text="Open"; break;
|
|
}
|
|
echo "<tr><td><b>".i18n("Registration Status")."</b></td><td>$status_text</td></tr>";
|
|
|
|
echo "<tr><td><b>".i18n("Registration Number")."</b></td><td>$reg_num</td></tr>";
|
|
echo "<tr><td><b>".i18n("Project Title")."</b></td><td>$projectinfo->title</td></tr>";
|
|
echo "<tr><td><b>".i18n("Category / Division")."</b></td><td>$projectinfo->category / $projectinfo->division</td></tr>";
|
|
|
|
$q=mysql_query("SELECT students.firstname,
|
|
students.lastname,
|
|
schools.school
|
|
FROM
|
|
students,schools
|
|
WHERE
|
|
students.registrations_id='$reg_id'
|
|
AND
|
|
students.schools_id=schools.id
|
|
");
|
|
|
|
$studnum=1;
|
|
while($studentinfo=mysql_fetch_object($q))
|
|
{
|
|
echo "<tr><td><b>".i18n("School %1",array($studnum))."</b></td><td>$studentinfo->school </td></tr>";
|
|
|
|
echo "<tr><td><b>".i18n("Student %1",array($studnum))."</b></td><td>$studentinfo->firstname $studentinfo->lastname </td></tr>";
|
|
$studnum++;
|
|
}
|
|
|
|
echo "</table>\n";
|
|
echo "<br />";
|
|
|
|
if($r->status!='complete')
|
|
{
|
|
echo "<table style=\"margin-left: 30px;\">";
|
|
echo "<tr><td colspan=\"3\">";
|
|
echo i18n("Is this the correct form to register?");
|
|
echo "</td></tr>";
|
|
echo "<tr>";
|
|
echo "<td>";
|
|
|
|
echo "<form method=\"post\" action=\"registration_receivedforms.php\">";
|
|
echo "<input type=\"hidden\" name=\"registration_number\" value=\"$reg_num\" />";
|
|
echo "<input type=\"hidden\" name=\"action\" value=\"receivedno\" />";
|
|
echo "<input type=submit value=\"".i18n("No, this is the wrong form")."\" style=\"width: 400px;\"/>";
|
|
echo "</form>";
|
|
|
|
if($config['regfee']>0)
|
|
{
|
|
|
|
echo "<form method=\"post\" action=\"registration_receivedforms.php\">";
|
|
echo "<input type=\"hidden\" name=\"registration_number\" value=\"$reg_num\" />";
|
|
echo "<input type=\"hidden\" name=\"action\" value=\"receivedyes\" />";
|
|
echo "<input type=submit value=\"".i18n("Yes, right form with registration fee")."\" style=\"width: 400px;\"/>";
|
|
echo "</form>";
|
|
|
|
echo "<form method=\"post\" action=\"registration_receivedforms.php\">";
|
|
echo "<input type=\"hidden\" name=\"registration_number\" value=\"$reg_num\" />";
|
|
echo "<input type=\"hidden\" name=\"action\" value=\"receivedyesnocash\" />";
|
|
echo "<input type=submit value=\"".i18n("Yes, right form without registration fee")."\" style=\"width: 400px;\"/>";
|
|
echo "</form>";
|
|
}
|
|
else
|
|
{
|
|
echo "<form method=\"post\" action=\"registration_receivedforms.php\">";
|
|
echo "<input type=\"hidden\" name=\"registration_number\" value=\"$reg_num\" />";
|
|
echo "<input type=\"hidden\" name=\"action\" value=\"receivedyes\" />";
|
|
echo "<input type=submit value=\"".i18n("Yes, this is the right form")."\" style=\"width: 400px;\"/>";
|
|
echo "</form>";
|
|
|
|
|
|
}
|
|
echo "<br />";
|
|
|
|
echo "</td>\n";
|
|
echo "</tr>";
|
|
echo "</table>";
|
|
$showformatbottom=false;
|
|
}
|
|
else
|
|
{
|
|
echo i18n("This form has already been received. Registration is complete");
|
|
echo "<br />";
|
|
echo "<br />";
|
|
echo "<hr />";
|
|
}
|
|
|
|
|
|
}
|
|
else
|
|
{
|
|
echo error(i18n("All registration sections are not complete. Cannot register incomplete form"));
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
echo error(i18n("Invalid Registration Number (%1)",array($_POST['registration_number'])));
|
|
|
|
}
|
|
|
|
|
|
}
|
|
else if(($_POST['action']=="receivedyes" || $_POST['action']=="receivedyesnocash") && $_POST['registration_number']) {
|
|
|
|
$checkNumQuery=mysql_query("SELECT projectnumber FROM projects, registrations WHERE projects.registrations_id = registrations.id AND "
|
|
. "num='".$_POST['registration_number']."'");
|
|
$checkNumResults=mysql_fetch_object($checkNumQuery);
|
|
$projectnum=$checkNumResults->projectnumber;
|
|
if($projectnum == null)
|
|
{
|
|
$q=mysql_query("SELECT id FROM registrations WHERE num='".$_POST['registration_number']."'");
|
|
$r=mysql_fetch_object($q);
|
|
$reg_id=$r->id;
|
|
$q=mysql_query("SELECT projects.projectcategories_id,
|
|
projects.projectdivisions_id,
|
|
projectcategories.category_shortform,
|
|
projectdivisions.division_shortform
|
|
FROM
|
|
projects,
|
|
projectcategories,
|
|
projectdivisions
|
|
WHERE
|
|
registrations_id='$reg_id'
|
|
AND projects.projectdivisions_id=projectdivisions.id
|
|
AND projects.projectcategories_id=projectcategories.id
|
|
AND projectcategories.year='{$config['FAIRYEAR']}'
|
|
AND projectdivisions.year='{$config['FAIRYEAR']}'
|
|
");
|
|
echo mysql_error();
|
|
$r=mysql_fetch_object($q);
|
|
|
|
$projectnumber=$config['project_num_format'];
|
|
//first replace the division and category
|
|
$projectnumber=str_replace('D',$r->projectdivisions_id,$projectnumber);
|
|
$projectnumber=str_replace('C',$r->projectcategories_id,$projectnumber);
|
|
$projectnumber=str_replace('d',$r->division_shortform,$projectnumber);
|
|
$projectnumber=str_replace('c',$r->category_shortform,$projectnumber);
|
|
|
|
//now change the N to a % so we can use it as a wildcard
|
|
$querynum=str_replace('N','%',$projectnumber);
|
|
$searchq=mysql_query("SELECT projectnumber FROM projects WHERE year='".$config['FAIRYEAR']."' AND projectnumber LIKE '$querynum'");
|
|
if(mysql_num_rows($searchq))
|
|
{
|
|
//first, put them all in an array
|
|
$proj_nums=array();
|
|
while($searchr=mysql_fetch_object($searchq))
|
|
{
|
|
$proj_nums[]=$searchr->projectnumber;
|
|
}
|
|
|
|
//we will eventually find a good number, so lets loop forever until we find a good one
|
|
$testnum=1;
|
|
$Nnum=1;
|
|
$ok=false;
|
|
do
|
|
{
|
|
$Nnum=sprintf("%02d",$testnum);
|
|
$test_projectnumber=str_replace('N',$Nnum,$projectnumber);
|
|
if(!in_array($test_projectnumber,$proj_nums))
|
|
$ok=true;
|
|
$testnum++;
|
|
}while(!$ok);
|
|
|
|
|
|
}
|
|
else
|
|
{
|
|
$Nnum="01";
|
|
}
|
|
|
|
$projectnumber=str_replace('N',$Nnum,$projectnumber);
|
|
mysql_query("UPDATE projects SET projectnumber='$projectnumber' WHERE registrations_id='$reg_id' AND year='".$config['FAIRYEAR']."'");
|
|
echo happy(i18n("Assigned Project Number: %1",array($projectnumber)));
|
|
}
|
|
if($_POST['action']=="receivedyes")
|
|
{
|
|
//actually set it to 'closed'
|
|
mysql_query("UPDATE registrations SET status='complete' WHERE num='".$_POST['registration_number']."'");
|
|
|
|
|
|
echo happy(i18n("Registration of form %1 successfully completed",array($registration_number)));
|
|
|
|
|
|
}
|
|
else if($_POST['action']=="receivedyesnocash")
|
|
{
|
|
//actually set it to 'closed'
|
|
mysql_query("UPDATE registrations SET status='paymentpending' WHERE num='".$_POST['registration_number']."'");
|
|
echo happy(i18n("Registration of form %1 marked as payment pending",array($registration_number)));
|
|
}
|
|
|
|
}
|
|
else if($_POST['action']=="receivedno" && $_POST['registration_number'])
|
|
{
|
|
echo notice(i18n("Registration of form %1 cancelled",array($registration_number)));
|
|
|
|
}
|
|
|
|
|
|
if($showformatbottom)
|
|
{
|
|
echo "<h3>".i18n("Input Received Form")."</h3>";
|
|
echo "<form method=\"post\" action=\"registration_receivedforms.php\">";
|
|
echo "<input type=\"hidden\" name=\"action\" value=\"received\" />";
|
|
echo i18n("Enter the registration number from the form: ")."<br />";
|
|
echo "<input type=\"text\" size=\"15\" name=\"registration_number\" />";
|
|
echo "<input type=\"submit\" value=\"".i18n("Lookup Registration Number")."\" />";
|
|
echo "</form>";
|
|
}
|
|
|
|
send_footer();
|
|
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|