diff --git a/admin/reports.inc.php b/admin/reports.inc.php
index a74c035..6b9f6f0 100644
--- a/admin/reports.inc.php
+++ b/admin/reports.inc.php
@@ -27,6 +27,7 @@
require_once("reports_committees.inc.php"); /* $report_students_fields */
require_once("reports_volunteers.inc.php"); /* $report_volunteers_fields */
require_once("reports_schools.inc.php");
+ require_once("reports_tours.inc.php");
require_once('../lpdf.php');
require_once('../lcsv.php');
@@ -252,16 +253,6 @@ foreach($report_stock as $n=>$v) {
'desc' => 'Award Winners',
'custom_url' => 'admin/reports_acpresentation.php?type=csv',
'creator' => 'The Grant Brothers');
- $x++;
- $report_custom[$x] = array('id' => $x, 'name' => 'Custom -- Available Tours (CSV)',
- 'desc' => 'Available Tours',
- 'custom_url' => 'admin/reports_tours.php?type=csv',
- 'creator' => 'The Grant Brothers');
- $x++;
- $report_custom[$x] = array('id' => $x, 'name' => 'Custom -- Participant Tour Choices (CSV)',
- 'desc' => 'Participant Tour Choices',
- 'custom_url' => 'admin/reports_tour_selection.php?type=csv',
- 'creator' => 'The Grant Brothers');
function report_save_field($report, $type, $loc)
{
@@ -269,6 +260,7 @@ foreach($report_stock as $n=>$v) {
global $report_students_fields, $report_judges_fields, $report_awards_fields;
global $report_committees_fields, $report_schools_fields;
global $report_volunteers_fields;
+ global $report_tours_fields;
$fieldvar = "report_{$report['type']}s_fields";
@@ -312,6 +304,7 @@ foreach($report_stock as $n=>$v) {
global $allow_options, $report_students_fields, $report_judges_fields;
global $report_committees_fields, $report_awards_fields;
global $report_schools_fields, $report_volunteers_fields;
+ global $report_tours_fields;
$report = array();
@@ -474,6 +467,7 @@ foreach($report_stock as $n=>$v) {
{
global $config, $report_students_fields, $report_judges_fields, $report_awards_fields, $report_schools_fields;
global $report_stock, $report_committees_fields, $report_volunteers_fields;
+ global $report_tours_fields;
global $filter_ops;
//print_r($report);
@@ -718,7 +712,6 @@ foreach($report_stock as $n=>$v) {
}
if(count($data)) $table['data'][] = $data;
}
-
if(count($table['data'])) {
$rep->addTable($table);
}
diff --git a/admin/reports_editor.php b/admin/reports_editor.php
index e39db5d..9d20cca 100644
--- a/admin/reports_editor.php
+++ b/admin/reports_editor.php
@@ -32,6 +32,7 @@
require_once('reports_committees.inc.php');
require_once('reports_schools.inc.php');
require_once('reports_volunteers.inc.php');
+ require_once('reports_tours.inc.php');
require_once('reports.inc.php');
$fields = array();
@@ -291,14 +292,9 @@ function reportChange()
if($n > $n_columns) $n_columns = $n;
if($colaction == 'add') $n_columns+=3;
- switch($report['type']) {
- case 'student': $fields = $report_students_fields; break;
- case 'judge': $fields = $report_judges_fields; break;
- case 'award': $fields = $report_awards_fields; break;
- case 'committee': $fields = $report_committees_fields; break;
- case 'school': $fields = $report_schools_fields; break;
- case 'volunteer': $fields = $report_volunteers_fields; break;
- }
+ $fieldvar = "report_{$report['type']}s_fields";
+ if(isset($$fieldvar)) $fields = $$fieldvar;
+
echo "
";
@@ -337,7 +333,8 @@ function reportChange()
echo "
";
selector('type', array('student' => 'Student Report', 'judge' => 'Judge Report',
'award' => 'Award Report', 'committee' => 'Committee Member Report',
- 'school' => 'School Report', 'volunteer' => 'Volunteer Report' ),
+ 'school' => 'School Report', 'volunteer' => 'Volunteer Report',
+ 'tour' => 'Tour Report'),
$report['type']);
diff --git a/admin/reports_gen.php b/admin/reports_gen.php
index 2080d42..39f9723 100644
--- a/admin/reports_gen.php
+++ b/admin/reports_gen.php
@@ -25,7 +25,6 @@
require_once("../common.inc.php");
require_once("../user.inc.php");
user_auth_required('committee', 'admin');
-
require_once('reports.inc.php');
$id = intval($_GET['id']);
diff --git a/admin/reports_students.inc.php b/admin/reports_students.inc.php
index f030c05..d4be5d1 100644
--- a/admin/reports_students.inc.php
+++ b/admin/reports_students.inc.php
@@ -387,6 +387,20 @@ $report_students_fields = array(
'width' => 4,
'table' => "tours.name",
'components' => array('tours')),
+
+ 'tour_assign_num' => array(
+ 'name' => 'Tours -- Assigned Tour Number',
+ 'header' => 'Tour',
+ 'width' => 0.5,
+ 'table' => "tours.num",
+ 'components' => array('tours')),
+
+ 'tour_assign_numname' => array(
+ 'name' => 'Tours -- Assigned Tour Number and Name',
+ 'header' => 'Tour',
+ 'width' => 4,
+ 'table' => "CONCAT(tours.num,': ', tours.name)",
+ 'components' => array('tours')),
'fair_year' => array (
'name' => 'Fair -- Year',
@@ -471,24 +485,22 @@ $report_students_fields = array(
students.id=emergencycontact.students_id )";
}
- $q = " FROM
- schools, projects $awards_join, projectdivisions,
- projectcategories, registrations
- JOIN students ON students.registrations_id=registrations.id
- $partner_join
- $emergencycontact_join
+ $q = " FROM students
+ LEFT JOIN registrations ON registrations.id=students.registrations_id
+ LEFT JOIN schools ON schools.id=students.schools_id
+ LEFT JOIN projects ON projects.registrations_id=students.registrations_id
+ LEFT JOIN projectdivisions ON projectdivisions.id=projects.projectdivisions_id
+ LEFT JOIN projectcategories ON projectcategories.id=projects.projectcategories_id
+ LEFT JOIN emergencycontact ON emergencycontact.students_id=students.id
$tour_join
+ $partner_join
WHERE
- schools.id=students.schools_id
- AND projects.registrations_id=students.registrations_id
- AND projectdivisions.id=projects.projectdivisions_id
- AND projectcategories.id=projects.projectcategories_id
- AND (registrations.status='complete' OR registrations.status='paymentpending')
- AND students.year='$year'
+ students.year='$year'
AND projects.year='$year'
AND registrations.year='$year'
AND projectcategories.year='$year'
AND projectdivisions.year='$year'
+ AND (registrations.status='complete' OR registrations.status='paymentpending')
$awards_where
$tour_where
";
diff --git a/admin/reports_tour_selection.php b/admin/reports_tour_selection.php
deleted file mode 100644
index 8ba1988..0000000
--- a/admin/reports_tour_selection.php
+++ /dev/null
@@ -1,140 +0,0 @@
-
-/*
- 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
-
- 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");
- require_once("../user.inc.php");
- user_auth_required('committee', 'admin');
- require("../lpdf.php");
- require("../lcsv.php");
-
- if(!$_GET['type']) $type="csv";
- else $type=$_GET['type'];
-
-if($type=="pdf")
-{
- $rep=new lpdf( i18n($config['fairname']),
- i18n("Participant Tour Selections"),
- $_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/logo-200.gif"
- );
-
- $rep->newPage();
- $rep->setFontSize(11);
-}
-else if($type=="csv")
-{
- $rep=new lcsv(i18n("Participant Tour Selections"));
-}
-
-$table=array();
-$table['header']=array( i18n("Student ID"));
-
-$choicesh=array();
-$max = $config['tours_choices_max'];
-for($x=0; $x<$max; $x++) {
- $choicesh[] = i18n("Choice ".($x+1).($x==0?"(most preferred)":""));
-}
-$table['header']=array_merge($table['header'],$choicesh);
-$table['header'][] = "Name";
-$table['header'][] = "Grade";
-$table['header'][] = "Email";
-
-/* Load tours */
-$tour = array();
-$q = mysql_query("SELECT * FROM tours");
-while($r = mysql_fetch_object($q)) {
- $tour[$r->id] =$r->name;
-}
-
-$q=mysql_query("SELECT students_id
- FROM
- tours_choice
- WHERE
- year='{$config['FAIRYEAR']}'
- ORDER BY tours_choice.rank,tours_choice.tour_id");
-
-$students_done = array();
-
-while($r=mysql_fetch_object($q))
-{
-
-// print_r($judge_divs);
-// print_r($judge_subdivs);
-
- if($students_done[$r->students_id] == true) continue;
- $students_done[$r->students_id] = true;
-
- /* Make sure the student is complete */
- $qq = mysql_query("SELECT registrations.status
- FROM
- students,registrations
- WHERE
- students.id='{$r->students_id}'
- AND students.registrations_id=registrations.id
- AND students.year='{$config['FAIRYEAR']}'
- AND registrations.year='{$config['FAIRYEAR']}'
- ");
- $rr = mysql_fetch_object($qq);
- if($rr->status != 'complete') continue;
-
- $qq = mysql_query("SELECT * FROM tours_choice WHERE ".
- " year='".$config['FAIRYEAR']."' AND ".
- " students_id='".$r->students_id."' ".
- " ORDER BY rank ");
- $c = array();
- /* Define an array for tour choices */
- for($x=0;$x<$max;$x++) {
- $c[$x] = '';
- }
- /* Load up to $max tour choices */
- $x = 0;
- while($rr = mysql_fetch_object($qq)) {
- $c[$x] = $tour[$rr->tour_id];
- $x++;
- if($x == $max) break;
- }
-
- $qq = mysql_query("SELECT * FROM students WHERE ".
- " year='".$config['FAIRYEAR']."' AND ".
- " id='".$r->students_id."' "
- );
- $rr = mysql_fetch_object($qq);
- $name = $rr->firstname." ".$rr->lastname;
- $grade = $rr->grade;
- $em = $rr->email;
-
- $tmp=array(
- $r->students_id,
- );
- $tmp = array_merge($tmp,$c);
- $tmp[] = $name;
- $tmp[] = $grade;
- $tmp[] = $em;
-// print_r($tmp);
- $table['data'][]=$tmp;
-}
-
-$rep->addTable($table);
-$rep->output();
-
-?>
diff --git a/admin/reports_tours.inc.php b/admin/reports_tours.inc.php
new file mode 100644
index 0000000..dd0466e
--- /dev/null
+++ b/admin/reports_tours.inc.php
@@ -0,0 +1,97 @@
+
+/*
+ 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
+
+ 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.
+*/
+
+$report_tours_fields = array(
+ 'tour_name' => array(
+ 'name' => 'Tour -- Name',
+ 'header' => 'Tour Name',
+ 'width' => 3,
+ 'table' => 'tours.name' ),
+
+ 'tour_num' => array(
+ 'name' => 'Tour -- Number',
+ 'header' => 'Num',
+ 'width' => 0.75,
+ 'table' => 'tours.num' ),
+
+ 'tour_desc' => array(
+ 'name' => 'Tour -- Description',
+ 'header' => 'Tour Description',
+ 'width' => 3.0,
+ 'table' => 'tours.description'),
+
+ 'tour_capacity' => array(
+ 'name' => 'Tour -- Capacity',
+ 'header' => 'Cap',
+ 'width' => 0.4,
+ 'table' => 'tours.capacity' ),
+
+ 'tour_mingrade' => array(
+ 'name' => 'Tour -- Minimum Grade',
+ 'header' => 'Min Gr.',
+ 'width' => 0.4,
+ 'table' => 'tours.grade_min' ),
+
+ 'tour_maxgrade' => array(
+ 'name' => 'Tour -- Maximum Grade',
+ 'header' => 'Max Gr.',
+ 'width' => 0.4,
+ 'table' => 'tours.grade_max' ),
+
+ 'tour_location' => array(
+ 'name' => 'Tour -- Location',
+ 'header' => 'Tour Location',
+ 'width' => 2.0,
+ 'table' => 'tours.location'),
+
+ 'tour_contact' => array(
+ 'name' => 'Tour -- Contact',
+ 'header' => 'Contact',
+ 'width' => 1.5,
+ 'table' => 'tours.contact' ),
+
+ 'tour_id' => array(
+ 'name' => 'Tour -- Database ID',
+ 'header' => '#',
+ 'width' => 0.4,
+ 'table' => 'tours.id' ),
+
+);
+
+ function report_tours_fromwhere($report, $components)
+ {
+ global $config, $report_tours_fields;
+
+ $fields = $report_tours_fields;
+ $year = $report['year'];
+
+ $q = " FROM
+ tours
+ WHERE
+ tours.year='$year'
+ ";
+
+ return $q;
+}
+
+?>
diff --git a/admin/reports_tours.php b/admin/reports_tours.php
deleted file mode 100644
index 015b390..0000000
--- a/admin/reports_tours.php
+++ /dev/null
@@ -1,100 +0,0 @@
-
-/*
- 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
-
- 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");
- require_once("../user.inc.php");
- user_auth_required('committee', 'admin');
- require("../lpdf.php");
- require("../lcsv.php");
-
- if(!$_GET['type']) $type="csv";
- else $type=$_GET['type'];
-
-if($type=="pdf")
-{
- $rep=new lpdf( i18n($config['fairname']),
- i18n("Available Tours"),
- $_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/logo-200.gif"
- );
-
- $rep->newPage();
- $rep->setFontSize(11);
-}
-else if($type=="csv")
-{
- $rep=new lcsv(i18n("Available Tours"));
-}
-
-$table=array();
-$table['header']=array( i18n("ID"),
- i18n("Name"),
- i18n("Description"),
- i18n("Capacity"),
- i18n("Minimum Grade"),
- i18n("Maximum Grade"),
- i18n("Contact"),
- i18n("Location"));
-
-
-$q=mysql_query("SELECT *
- FROM
- tours
- WHERE
- year='".$config['FAIRYEAR']."'
- ORDER BY
- id");
-while($r=mysql_fetch_object($q))
-{
-
-// print_r($judge_divs);
-// print_r($judge_subdivs);
-
- $n = str_replace("\r","", $r->name);
- $n = str_replace("\n"," ", $n);
- $d = str_replace("\r","", $r->description);
- $d = str_replace("\n"," ", $d);
- $c = str_replace("\r","", $r->contact);
- $c = str_replace("\n"," ", $c);
- $l = str_replace("\r","", $r->location);
- $l = str_replace("\n"," ", $l);
-
- $tmp=array(
- $r->id,
- mysql_escape_string($n),
- mysql_escape_string($d),
- $r->capacity,
- $r->grade_min,
- $r->grade_max,
- mysql_escape_string($c),
- mysql_escape_string($l)
-
- );
-// print_r($tmp);
- $table['data'][]=$tmp;
-}
-
-$rep->addTable($table);
-$rep->output();
-
-?>
diff --git a/admin/tours_assignments.php b/admin/tours_assignments.php
index 194343e..9701f0b 100644
--- a/admin/tours_assignments.php
+++ b/admin/tours_assignments.php
@@ -32,11 +32,9 @@
year='{$config['FAIRYEAR']}'";
$r = mysql_query($query);
$tours = array();
- $x = 1;
while($i = mysql_fetch_object($r)) {
$tours[$i->id]['name'] = $i->name;
- $tours[$i->id]['num'] = $x;
- $x++;
+ $tours[$i->id]['num'] = $i->num;
}
if($_GET['action']=='info') {
@@ -172,7 +170,7 @@ function switchinfo()
else $j=i18n("students");
echo happy(i18n("%1 %2 added to tour #%3 (%4)",array(
- $added,$j,$tours_id,$tours[$tours_id]['name'])));
+ $added,$j,$tours[$tours_id]['num'],$tours[$tours_id]['name'])));
}
$tours_id = intval($_GET['tours_id']);
@@ -184,7 +182,7 @@ function switchinfo()
AND year='{$config['FAIRYEAR']}'
AND rank='0'");
- echo happy(i18n("Removed student from tour #%1 (%2)",array($tours_id,$tours[$tours_id]['name'])));
+ echo happy(i18n("Removed student from tour #%1 (%2)",array($tours[$tours_id]['num'],$tours[$tours_id]['name'])));
}
@@ -194,7 +192,7 @@ function switchinfo()
tour_id='$tours_id'
AND year='{$config['FAIRYEAR']}'
AND rank='0'");
- echo happy(i18n("Emptied all students from tour #%1 (%2)",array($tours_id,$tours[$tours_id]['name'])));
+ echo happy(i18n("Emptied all students from tour #%1 (%2)",array($tours[$tours_id]['num'],$tours[$tours_id]['name'])));
}
diff --git a/admin/tours_manager.php b/admin/tours_manager.php
index 086bdf8..93a0cf4 100644
--- a/admin/tours_manager.php
+++ b/admin/tours_manager.php
@@ -28,11 +28,26 @@
require("../tours.class.php");
require("../tableeditor.class.php");
+
+
send_header("Tour Management",
array('Committee Main' => 'committee_main.php',
'Administration' => 'admin/index.php',
'Tours' => 'admin/tours.php')
);
+
+
+ if($_GET['action'] == 'renumber') {
+ $q = mysql_query("SELECT id FROM tours WHERE year='{$config['FAIRYEAR']}'");
+ $x = 1;
+ while($i = mysql_fetch_object($q)) {
+ mysql_query("UPDATE tours SET num='$x' WHERE id='{$i->id}'");
+ $x++;
+ }
+ echo happy(i18n('Tours successfully renumbered'));
+ }
+
+
?>
|