forked from science-ation/science-ation
317 lines
13 KiB
PHP
317 lines
13 KiB
PHP
<?
|
|
require("common.inc.php");
|
|
include "register_participants.inc.php";
|
|
|
|
//authenticate based on email address and registration number from the SESSION
|
|
if(!$_SESSION['email'])
|
|
{
|
|
header("Location: register_participants.php");
|
|
exit;
|
|
}
|
|
if(! ($_SESSION['registration_number'] && $_SESSION['registration_id']))
|
|
{
|
|
header("Location: register_participants.php");
|
|
exit;
|
|
}
|
|
|
|
$q=mysql_query("SELECT registrations.id AS regid, students.id AS studentid, students.firstname FROM registrations,students ".
|
|
"WHERE students.email='".$_SESSION['email']."' ".
|
|
"AND registrations.num='".$_SESSION['registration_number']."' ".
|
|
"AND registrations.id='".$_SESSION['registration_id']."' ".
|
|
"AND students.registrations_id=registrations.id ".
|
|
"AND registrations.year=".$config['FAIRYEAR']." ".
|
|
"AND students.year=".$config['FAIRYEAR']);
|
|
echo mysql_error();
|
|
|
|
if(mysql_num_rows($q)==0)
|
|
{
|
|
header("Location: register_participants.php");
|
|
exit;
|
|
|
|
}
|
|
$r=mysql_fetch_object($q);
|
|
|
|
send_header("Participant Registration - Student Information");
|
|
echo "<a href=\"register_participants_main.php\"><< ".i18n("Back to Participant Registration Summary")."</a><br />";
|
|
echo "<br />";
|
|
|
|
|
|
//now do any data saves
|
|
|
|
if($_POST['action']=="save")
|
|
{
|
|
$x=1;
|
|
while($_POST["num"][$x])
|
|
{
|
|
if($_POST['id'][$x]==0)
|
|
{
|
|
//INSERT new record
|
|
$dob=$_POST['year'][$x]."-".$_POST['month'][$x]."-".$_POST['day'][$x];
|
|
mysql_query("INSERT INTO students (registrations_id,firstname,lastname,sex,email,address,city,province,postalcode,phone,dateofbirth,grade,schools_id,tshirt,medicalalert,foodreq,teachername,teacheremail,year) VALUES (".
|
|
"'".$_SESSION['registration_id']."', ".
|
|
"'".mysql_escape_string(stripslashes($_POST['firstname'][$x]))."', ".
|
|
"'".mysql_escape_string(stripslashes($_POST['lastname'][$x]))."', ".
|
|
"'".mysql_escape_string(stripslashes($_POST['sex'][$x]))."', ".
|
|
"'".mysql_escape_string(stripslashes($_POST['email'][$x]))."', ".
|
|
"'".mysql_escape_string(stripslashes($_POST['address'][$x]))."', ".
|
|
"'".mysql_escape_string(stripslashes($_POST['city'][$x]))."', ".
|
|
"'".mysql_escape_string(stripslashes($_POST['province'][$x]))."', ".
|
|
"'".mysql_escape_string(stripslashes($_POST['postalcode'][$x]))."', ".
|
|
"'".mysql_escape_string(stripslashes($_POST['phone'][$x]))."', ".
|
|
"'$dob', ".
|
|
"'".mysql_escape_string(stripslashes($_POST['grade'][$x]))."', ".
|
|
"'".mysql_escape_string(stripslashes($_POST['schools_id'][$x]))."', ".
|
|
"'".mysql_escape_string(stripslashes($_POST['tshirt'][$x]))."', ".
|
|
"'".mysql_escape_string(stripslashes($_POST['medicalalert'][$x]))."', ".
|
|
"'".mysql_escape_string(stripslashes($_POST['foodreq'][$x]))."', ".
|
|
"'".mysql_escape_string(stripslashes($_POST['teachername'][$x]))."', ".
|
|
"'".mysql_escape_string(stripslashes($_POST['teacheremail'][$x]))."', ".
|
|
"'".$config['FAIRYEAR']."')");
|
|
echo mysql_error();
|
|
|
|
echo notice(i18n("%1 %2 successfully added",array($_POST['firstname'][$x],$_POST['lastname'][$x])));
|
|
|
|
}
|
|
else
|
|
{
|
|
//UPDATE existing record
|
|
$dob=$_POST['year'][$x]."-".$_POST['month'][$x]."-".$_POST['day'][$x];
|
|
mysql_query("UPDATE students SET ".
|
|
"firstname='".mysql_escape_string(stripslashes($_POST['firstname'][$x]))."', ".
|
|
"lastname='".mysql_escape_string(stripslashes($_POST['lastname'][$x]))."', ".
|
|
"sex='".mysql_escape_string(stripslashes($_POST['sex'][$x]))."', ".
|
|
"email='".mysql_escape_string(stripslashes($_POST['email'][$x]))."', ".
|
|
"address='".mysql_escape_string(stripslashes($_POST['address'][$x]))."', ".
|
|
"city='".mysql_escape_string(stripslashes($_POST['city'][$x]))."', ".
|
|
"province='".mysql_escape_string(stripslashes($_POST['province'][$x]))."', ".
|
|
"postalcode='".mysql_escape_string(stripslashes($_POST['postalcode'][$x]))."', ".
|
|
"phone='".mysql_escape_string(stripslashes($_POST['phone'][$x]))."', ".
|
|
"dateofbirth='$dob', ".
|
|
"grade='".mysql_escape_string(stripslashes($_POST['grade'][$x]))."', ".
|
|
"schools_id='".mysql_escape_string(stripslashes($_POST['schools_id'][$x]))."', ".
|
|
"medicalalert='".mysql_escape_string(stripslashes($_POST['medicalalert'][$x]))."', ".
|
|
"foodreq='".mysql_escape_string(stripslashes($_POST['foodreq'][$x]))."', ".
|
|
"teachername='".mysql_escape_string(stripslashes($_POST['teachername'][$x]))."', ".
|
|
"teacheremail='".mysql_escape_string(stripslashes($_POST['teacheremail'][$x]))."', ".
|
|
"tshirt='".mysql_escape_string(stripslashes($_POST['tshirt'][$x]))."' ".
|
|
"WHERE id='".$_POST['id'][$x]."'");
|
|
echo notice(i18n("%1 %2 successfully updated",array($_POST['firstname'][$x],$_POST['lastname'][$x])));
|
|
|
|
}
|
|
$x++;
|
|
}
|
|
|
|
}
|
|
|
|
if($_GET['action']=="removestudent")
|
|
{
|
|
//first make sure this is one belonging to this registration id
|
|
$q=mysql_query("SELECT id FROM students WHERE id='".$_GET['removestudent']."' AND registrations_id='".$_SESSION['registration_id']."'");
|
|
if(mysql_num_rows($q)==1)
|
|
{
|
|
mysql_query("DELETE FROM students WHERE id='".$_GET['removestudent']."' AND registrations_id='".$_SESSION['registration_id']."'");
|
|
echo notice(i18n("Student successfully removed"));
|
|
}
|
|
else
|
|
{
|
|
echo error(i18n("Invalid student to remove"));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//output the current status
|
|
$newstatus=studentStatus();
|
|
if($newstatus!="complete")
|
|
{
|
|
echo error(i18n("Student Information Incomplete"));
|
|
}
|
|
else if($newstatus=="complete")
|
|
{
|
|
echo happy(i18n("Student Information Complete"));
|
|
|
|
}
|
|
|
|
//now query and display
|
|
|
|
$q=mysql_query("SELECT * FROM students WHERE registrations_id='".$_SESSION['registration_id']."' AND year='".$config['FAIRYEAR']."'");
|
|
|
|
if(mysql_num_rows($q)==0)
|
|
{
|
|
//uhh oh, we didnt find any, this isnt possible! lets insert one using the logged in persons email address
|
|
//although... this can never really happen, since the above queries only allow the page to view if the student
|
|
//is found in the students table... soo... well, lets leave it here as a fallback anyways, just incase
|
|
mysql_query("INSERT INTO students (registrations_id,email,year) VALUES ('".$_SESSION['registration_id']."','".mysql_escape_string($_SESSION['email'])."','".$config['FAIRYEAR']."')");
|
|
//if we just inserted it, then we will obviously find 1
|
|
$numfound=1;
|
|
}
|
|
else
|
|
{
|
|
$numfound=mysql_num_rows($q);
|
|
}
|
|
|
|
if($_GET['numstudents'])
|
|
$numtoshow=$_GET['numstudents'];
|
|
else
|
|
$numtoshow=$numfound;
|
|
|
|
|
|
echo "<form name=\"numstudentsform\" method=\"get\" action=\"register_participants_students.php\">";
|
|
echo i18n("Number of students that worked on the project: ");
|
|
echo "<select name=\"numstudents\" onchange=\"document.forms.numstudentsform.submit()\">\n";
|
|
for($x=$config['minstudentsperproject'];$x<=$config['maxstudentsperproject'];$x++)
|
|
{
|
|
if($x<$numfound)
|
|
continue;
|
|
|
|
if($numtoshow==$x) $selected="selected=\"selected\""; else $selected="";
|
|
|
|
echo "<option $selected value=\"$x\">$x</option>\n";
|
|
}
|
|
echo "</select>";
|
|
echo "</form>";
|
|
|
|
echo "<form name=\"studentdata\" method=\"post\" action=\"register_participants_students.php\">";
|
|
echo "<input type=\"hidden\" name=\"action\" value=\"save\" />";
|
|
for($x=1;$x<=$numtoshow;$x++)
|
|
{
|
|
$studentinfo=mysql_fetch_object($q);
|
|
echo "<h3>".i18n("Student %1 Details",array($x))."</h3>";
|
|
//if we have a valid student, set their ID, so we can UPDATE when we submit
|
|
//if there is no record for this student, then set the ID to 0, so we will INSERT when we submit
|
|
if($studentinfo->id) $id=$studentinfo->id; else $id=0;
|
|
|
|
//true should work here, it just has to be set to _something_ for it to work.
|
|
echo "<input type=\"hidden\" name=\"num[$x]\" value=\"true\" />";
|
|
|
|
//save the ID, or 0 if it doesnt exist
|
|
echo "<input type=\"hidden\" name=\"id[$x]\" value=\"$id\" />";
|
|
echo "<table>";
|
|
echo "<tr>\n";
|
|
echo " <td>".i18n("First Name")."</td><td><input type=\"text\" name=\"firstname[$x]\" value=\"$studentinfo->firstname\" /></td>\n";
|
|
echo " <td>".i18n("Last Name")."</td><td><input type=\"text\" name=\"lastname[$x]\" value=\"$studentinfo->lastname\" /></td>\n";
|
|
echo "</tr>\n";
|
|
|
|
echo "<tr>\n";
|
|
echo " <td>".i18n("Sex")."</td><td>";
|
|
echo "<select name=\"sex[$x]\">";
|
|
echo "<option value=\"\">".i18n("Select")."</option>\n";
|
|
if($studentinfo->sex=="male") $sel="selected=\"selected\""; else $sel="";
|
|
echo "<option $sel value=\"male\">".i18n("Male")."</option>\n";
|
|
if($studentinfo->sex=="female") $sel="selected=\"selected\""; else $sel="";
|
|
echo "<option $sel value=\"female\">".i18n("Female")."</option>\n";
|
|
echo "</select>";
|
|
|
|
echo "</td>\n";
|
|
echo " <td></td><td></td>\n";
|
|
echo "</tr>\n";
|
|
|
|
echo "<tr>\n";
|
|
echo " <td>".i18n("Email Address")."</td><td><input type=\"text\" name=\"email[$x]\" value=\"$studentinfo->email\" /></td>\n";
|
|
echo " <td>".i18n("City")."</td><td><input type=\"text\" name=\"city[$x]\" value=\"$studentinfo->city\" /></td>\n";
|
|
echo "</tr>\n";
|
|
echo "<tr>\n";
|
|
echo " <td>".i18n("Address")."</td><td><input type=\"text\" name=\"address[$x]\" value=\"$studentinfo->address\" /></td>\n";
|
|
echo " <td>".i18n("Province")."</td><td><input type=\"text\" name=\"province[$x]\" value=\"$studentinfo->province\" /></td>\n";
|
|
echo "</tr>\n";
|
|
echo "<tr>\n";
|
|
echo " <td>".i18n("Postal Code")."</td><td><input type=\"text\" name=\"postalcode[$x]\" value=\"$studentinfo->postalcode\" /></td>\n";
|
|
echo " <td>".i18n("Phone")."</td><td><input type=\"text\" name=\"phone[$x]\" value=\"$studentinfo->phone\" /></td>\n";
|
|
echo "</tr>\n";
|
|
|
|
echo "<tr>\n";
|
|
echo " <td>".i18n("Date of Birth")."</td><td>\n";
|
|
list($year,$month,$day)=split("-",$studentinfo->dateofbirth);
|
|
echo "<table><tr><td>";
|
|
emit_day_selector("day[$x]",$day);
|
|
echo "</td><td>\n";
|
|
emit_month_selector("month[$x]",$month);
|
|
echo "</td><td>\n";
|
|
emit_year_selector("year[$x]",$year,date("Y")-19,date("Y")-10);
|
|
echo "</td></tr></table>\n";
|
|
echo " </td>\n";
|
|
echo " <td>".i18n("Grade")."</td><td>\n";
|
|
|
|
echo "<select name=\"grade[$x]\">\n";
|
|
echo "<option value=\"\">".i18n("Grade")."</option>\n";
|
|
for($gr=$config['mingrade'];$gr<=$config['maxgrade'];$gr++)
|
|
{
|
|
if($studentinfo->grade==$gr) $sel="selected=\"selected\""; else $sel="";
|
|
|
|
echo "<option $sel value=\"$gr\">$gr</option>\n";
|
|
}
|
|
|
|
echo "</select>\n";
|
|
echo " </td>";
|
|
echo "</tr>";
|
|
|
|
echo "<tr>\n";
|
|
echo "<td>".i18n("Medical Alert Info")."</td><td colspan=\"3\">";
|
|
echo "<input name=\"medicalalert[$x]\" type=\"text\" size=\"50\" value=\"$studentinfo->medicalalert\" />";
|
|
echo "</td>";
|
|
echo "</tr>\n";
|
|
|
|
if($config['participant_student_foodreq']=="yes")
|
|
{
|
|
echo "<tr>\n";
|
|
echo "<td>".i18n("Special Food Requirements")."</td><td colspan=\"3\">";
|
|
echo "<input name=\"foodreq[$x]\" type=\"text\" size=\"50\" value=\"$studentinfo->foodreq\" />";
|
|
echo "</td>";
|
|
echo "</tr>\n";
|
|
}
|
|
|
|
echo "<tr>\n";
|
|
echo " <td>".i18n("School")."</td><td>";
|
|
$schoolq=mysql_query("SELECT id,school FROM schools WHERE year='".$config['FAIRYEAR']."' ORDER by school");
|
|
echo "<select name=\"schools_id[$x]\">\n";
|
|
echo "<option value=\"\">".i18n("Choose School")."</option>\n";
|
|
while($r=mysql_fetch_object($schoolq))
|
|
{
|
|
if($studentinfo->schools_id==$r->id) $sel="selected=\"selected\""; else $sel="";
|
|
echo "<option $sel value=\"$r->id\">".htmlspecialchars($r->school)."</option>\n";
|
|
|
|
}
|
|
echo "</select>";
|
|
|
|
echo "</td>\n";
|
|
echo " <td>".i18n("T-Shirt Size")."</td><td>";
|
|
echo " <select name=\"tshirt[$x]\">\n";
|
|
if($studentinfo->tshirt=="small") $sel="selected=\"selected\""; else $sel="";
|
|
echo " <option $sel value=\"small\">".i18n("Small")."</option>";
|
|
if($studentinfo->tshirt=="medium") $sel="selected=\"selected\""; else $sel="";
|
|
echo " <option $sel value=\"medium\">".i18n("Medium")."</option>";
|
|
if($studentinfo->tshirt=="large") $sel="selected=\"selected\""; else $sel="";
|
|
echo " <option $sel value=\"large\">".i18n("Large")."</option>";
|
|
if($studentinfo->tshirt=="xlarge") $sel="selected=\"selected\""; else $sel="";
|
|
echo " <option $sel value=\"xlarge\">".i18n("X-Large")."</option>";
|
|
echo " </select>";
|
|
|
|
echo "</td>\n";
|
|
echo "</tr>\n";
|
|
|
|
echo "<tr>\n";
|
|
echo " <td>".i18n("Teacher Name")."</td><td><input type=\"text\" name=\"teachername[$x]\" value=\"$studentinfo->teachername\" /></td>\n";
|
|
echo " <td>".i18n("Teacher Email")."</td><td><input type=\"text\" name=\"teacheremail[$x]\" value=\"$studentinfo->teacheremail\" /></td>\n";
|
|
echo "</tr>\n";
|
|
|
|
|
|
|
|
|
|
echo "</table>";
|
|
|
|
if($numfound>$config['minstudentsperproject'] && $studentinfo->id)
|
|
{
|
|
echo "<div align=\"right\"><a onclick=\"return confirmClick('".i18n("Are you sure you want to remove this student from the project?")."');\" class=\"caution\" href=\"register_participants_students.php?action=removestudent&removestudent=$studentinfo->id\">".i18n("Remove this student from project")."</a></div>";
|
|
}
|
|
|
|
echo "<br />";
|
|
echo "<br />";
|
|
}
|
|
echo "<input type=\"submit\" value=\"".i18n("Save Student Information")."\" />\n";
|
|
echo "</form>";
|
|
echo "<br />";
|
|
echo notice(i18n("Note: if you change the email address that you are logged in with right now, you will be automatically logged out and will need to log back in again with your new email address"));
|
|
|
|
send_footer();
|
|
?>
|