diff --git a/admin/fair_stats.php b/admin/fair_stats.php
index 18e1ef8..e0863f5 100644
--- a/admin/fair_stats.php
+++ b/admin/fair_stats.php
@@ -29,6 +29,14 @@
require_once('stats.inc.php');
require_once('curl.inc.php');
+ /* Hack so we can jump right to YSC stats */
+ if($_GET['abbrv'] == 'YSC') {
+ $q = mysql_query("SELECT id FROM fairs WHERE abbrv='YSC'");
+ $r = mysql_fetch_assoc($q);
+ $_GET['id'] = $r['id'];
+ }
+
+
function stats_to_ysc($fair, $stats)
{
if($fair['type'] == 'ysc') {
@@ -57,10 +65,10 @@
}
- send_header("Fair Stats",
+ send_header("Upload Fair Statistics and Information",
array('Committee Main' => 'committee_main.php',
'Administration' => 'admin/index.php'),
- "one-click_ysf_affiliation_stats"
+ "fair_stats"
);
echo "
";
@@ -128,7 +136,7 @@
echo "
';
echo "
";
echo "
";
diff --git a/admin/index.php b/admin/index.php
index 5b116c8..a65f589 100644
--- a/admin/index.php
+++ b/admin/index.php
@@ -87,7 +87,7 @@
}
echo " ".theme_icon("enter_winning_projects")." ".i18n("Enter Winning Projects")." | ";
echo " ".theme_icon("one-click_cwsf_registration")." ".i18n("One-Click CWSF Registration")." | ";
- echo " ".theme_icon("one-click_ysf_affiliation_stats")." ".i18n("One-Click YSF Affiliation Stats")." | ";
+ echo " ".theme_icon("one-click_ysf_affiliation_stats")." ".i18n("One-Click YSF Affiliation Stats")." | ";
echo " ".theme_icon("fair_stats")." ".i18n("Upload Statistics")." | ";
echo " \n";
echo "\n";
diff --git a/admin/ysfstats.php b/admin/ysfstats.php
deleted file mode 100644
index a99e6fe..0000000
--- a/admin/ysfstats.php
+++ /dev/null
@@ -1,289 +0,0 @@
-
-/*
- This file is part of the 'Science Fair In A Box' project
- SFIAB Website: http://www.sfiab.ca
-
- Copyright (C) 2007 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');
- include "xml.inc.php";
-
- send_header("YSF Regional Affiliation Stats",
- array('Committee Main' => 'committee_main.php',
- 'Administration' => 'admin/index.php'),
- "one-click_ysf_affiliation_stats"
- );
- echo "
";
-
- if($_POST['action']=="register" && $_POST['xml'])
- {
- if(function_exists('curl_init'))
- {
- $ch = curl_init(); /// initialize a cURL session
- curl_setopt ($ch, CURLOPT_URL,"https://secure.ysf-fsj.ca/registration/xmlaffiliation.php");
- curl_setopt ($ch, CURLOPT_HEADER, 0); /// Header control
- curl_setopt ($ch, CURLOPT_POST, 1); /// tell it to make a POST, not a GET
- curl_setopt ($ch, CURLOPT_POSTFIELDS, "xml=".$_POST['xml']); /// put the query string here starting with "?"
- curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); /// This allows the output to be set into a variable $datastream
- curl_setopt ($ch, CURLOPT_POSTFIELDSIZE, 0);
- curl_setopt ($ch, CURLOPT_TIMEOUT, 360);
- curl_setopt ($ch, CURLOPT_SSLVERSION, 3);
- curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false);
- $datastream = curl_exec ($ch); /// execute the curl session and return the output to a variable $datastream
- $datastream = str_replace(" standalone=\"yes\"","",$datastream);
- // echo "curl close
";
- curl_close ($ch); /// close the curl session
-
- echo i18n("The YSF Registration Server said:")."
";
- echo notice($datastream);
- echo "".i18n("Return to admin")."\n";
- }
- else
- {
- echo error("CURL Support Missing");
- echo i18n("Your PHP installation does not support CURL. You will need to login to the YSF system as the regional coodinator and upload the XML data manually");
- }
- send_footer();
- exit;
- }
-
- $ok=true;
- //make sure we have the ysf_region_id and ysf_region_password
- if(!$config['ysf_region_id'])
- {
- echo error(i18n("You have not yet specified your YSF Region ID. Go to the Configuration Variables page to set it"));
- $ok=false;
- }
- if(!$config['ysf_region_password'])
- {
- echo error(i18n("You have not yet specified your YSF Region Password. Go to the Configuration Variables page to set it"));
- $ok=false;
- }
-
- if($_GET['year']) $year=$_GET['year'];
- else if($_POST['year']) $POST=$_GET['year'];
- else $year=$config['FAIRYEAR'];
-
- echo "";
-
- if($year)
- {
-
- echo i18n("The following information is collected by YSF Canada each year for all affiliated regions");
- echo "
";
- echo "
";
-
- $stats=array();
-
- //number of schools
- $q=mysql_query("SELECT COUNT(id) AS num FROM schools WHERE year='$year'");
- $r=mysql_fetch_object($q);
- $numberofschools=$r->num;
- echo i18n("Number of schools: %1",array($numberofschools))."
";
- $stats["numschoolstotal"]=$numberofschools;
-
- //number of schools
- $q=mysql_query("SELECT DISTINCT(students.schools_id) AS sid FROM students,registrations WHERE students.registrations_id=registrations.id AND students.year='$year' AND registrations.year='$year' AND (registrations.status='complete' OR registrations.status='paymentpending')");
- echo mysql_error();
- $numberofactiveschools=mysql_num_rows($q);
- echo i18n("Number of active schools: %1",array($numberofactiveschools))."
";
- $stats["numschoolsactive"]=$numberofactiveschools;
-
- //total number of students:
- $q=mysql_query("SELECT COUNT(students.id) AS num FROM students,registrations WHERE students.registrations_id=registrations.id AND students.year='$year' AND registrations.year='$year' AND (registrations.status='complete' OR registrations.status='paymentpending')");
- $r=mysql_fetch_object($q);
- $numberofstudents=$r->num;
- echo i18n("Number of students: %1",array($numberofstudents))."
";
- echo mysql_error();
- $stats["numstudents"]=$numberofstudents;
-
- //number of students per grade per gender
- $q=mysql_query("SELECT COUNT(students.id) AS num, students.grade, students.sex FROM students,registrations WHERE students.registrations_id=registrations.id AND students.year='$year' AND registrations.year='$year' AND (registrations.status='complete' OR registrations.status='paymentpending') GROUP BY students.grade, students.sex");
- echo mysql_error();
- while($r=mysql_fetch_object($q)) {
- if($r->grade<=6)
- $nums["6down"][$r->sex]+=$r->num;
- else if($r->grade>6&&$r->grade<=8)
- $nums["78"][$r->sex]+=$r->num;
- else if($r->grade>8&&$r->grade<=10)
- $nums["910"][$r->sex]+=$r->num;
- else if($r->grade>10)
- $nums["11up"][$r->sex]+=$r->num;
- }
- echo "
";
- echo "Student participation (by age group/gender)
";
- echo i18n("K-6 Male: %1",array($nums["6down"]["male"]?$nums["6down"]["male"]:0))."
";
- echo i18n("K-6 Female: %1",array($nums["6down"]["female"]?$nums["6down"]["female"]:0))."
";
- if($nums["6down"][""]>0)
- echo i18n("K-6 Unknown: %1",array($nums["6down"][""]?$nums["6down"][""]:0))."
";
- echo "
";
-
- echo i18n("7-8 Male: %1",array($nums["78"]["male"]?$nums["78"]["male"]:0))."
";
- echo i18n("7-8 Female: %1",array($nums["78"]["female"]?$nums["78"]["female"]:0))."
";
- if($nums["78"][""]>0)
- echo i18n("7-8 Unknown: %1",array($nums["78"][""]?$nums["78"][""]:0))."
";
- echo "
";
-
- echo i18n("9-10 Male: %1",array($nums["910"]["male"]?$nums["910"]["male"]:0))."
";
- echo i18n("9-10 Female: %1",array($nums["910"]["female"]?$nums["910"]["female"]:0))."
";
- if($nums["910"][""]>0)
- echo i18n("9-10 Unknown: %1",array($nums["910"][""]?$nums["910"][""]:0))."
";
- echo "
";
-
- echo i18n("11 up Male: %1",array($nums["11up"]["male"]?$nums["11up"]["male"]:0))."
";
- echo i18n("11 up Female: %1",array($nums["11up"]["female"]?$nums["11up"]["female"]:0))."
";
- if($nums["11up"][""]>0)
- echo i18n("11 up Unknown: %1",array($nums["11up"][""]?$nums["11up"][""]:0))."
";
- echo "
";
-
- $stats["numk6m"]=$nums["6down"]["male"]?$nums["6down"]["male"]:0;
- $stats["numk6f"]=$nums["6down"]["female"]?$nums["6down"]["female"]:0;
- //add on unknown genders split evenly
- if($nums["6down"][""]>0)
- {
- $m=ceil($nums["6down"][""]/2);
- $f=$nums["6down"][""]-$m;
- $stats["numk6m"]+=$m;
- $stats["numk6f"]+=$f;
- }
-
- $stats["num78m"]=$nums["78"]["male"]?$nums["78"]["male"]:0;
- $stats["num78f"]=$nums["78"]["female"]?$nums["78"]["female"]:0;
- if($nums["78"][""]>0)
- {
- $m=ceil($nums["78"][""]/2);
- $f=$nums["78"][""]-$m;
- $stats["num78m"]+=$m;
- $stats["num78f"]+=$f;
- }
-
-
- $stats["num910m"]=$nums["910"]["male"]?$nums["910"]["male"]:0;
- $stats["num910f"]=$nums["910"]["female"]?$nums["910"]["female"]:0;
- if($nums["910"][""]>0)
- {
- $m=ceil($nums["910"][""]/2);
- $f=$nums["910"][""]-$m;
- $stats["num910m"]+=$m;
- $stats["num910f"]+=$f;
- }
-
-
-
- $stats["num11upm"]=$nums["11up"]["male"]?$nums["11up"]["male"]:0;
- $stats["num11upf"]=$nums["11up"]["female"]?$nums["11up"]["female"]:0;
- if($nums["11up"][""]>0)
- {
- $m=ceil($nums["11up"][""]/2);
- $f=$nums["11up"][""]-$m;
- $stats["num11upm"]+=$m;
- $stats["num11upf"]+=$f;
- }
-
-
- //number of students per grade per gender
- $q=mysql_query("SELECT MAX(students.grade) grade FROM students,registrations,projects WHERE students.registrations_id=registrations.id AND projects.registrations_id=registrations.id AND students.year='$year' AND registrations.year='$year' AND projects.year='$year' AND (registrations.status='complete' OR registrations.status='paymentpending') GROUP BY projects.id");
- echo mysql_error();
- while($r=mysql_fetch_object($q)) {
- if($r->grade<=6)
- $projs["6down"]++;
- else if($r->grade>6&&$r->grade<=8)
- $projs["78"]++;
- else if($r->grade>8&&$r->grade<=10)
- $projs["910"]++;
- else if($r->grade>10)
- $projs["11up"]++;
- }
-
- echo "Project participation (by age group)
";
- echo i18n("K-6: %1",array($projs["6down"]?$projs["6down"]:0))."
";
- echo i18n("7-8: %1",array($projs["78"]?$projs["78"]:0))."
";
- echo i18n("9-10: %1",array($projs["910"]?$projs["910"]:0))."
";
- echo i18n("11 up: %1",array($projs["11up"]?$projs["11up"]:0))."
";
- echo "
";
-
- $stats["projk6"]=$projs["6down"]?$projs["6down"]:0;
- $stats["proj78"]=$projs["78"]?$projs["78"]:0;
- $stats["proj910"]=$projs["910"]?$projs["910"]:0;
- $stats["proj11up"]=$projs["11up"]?$projs["11up"]:0;
-
- $q=mysql_query("SELECT COUNT(id) AS num FROM users
- WHERE types LIKE '%committee%'
- AND year='$year'
- AND deleted='no'");
- $r=mysql_fetch_object($q);
- $numcommittee=$r->num;
- echo i18n("Committee Members: %1 (note: this is number of committee members who logged in to SFIAB for the year, anyone who was active but didn't log in to SFIAB will NOT be counted)",array($r->num));
- echo "
";
- $stats["committee"]=$numcommittee;
-
- $q=mysql_query("SELECT COUNT(id) AS num FROM users LEFT JOIN users_judge ON users_judge.users_id=users.id
- WHERE users.year='$year'
- AND users.types LIKE '%judge%'
- AND users.deleted='no'
- AND users_judge.judge_complete='yes'
- AND users_judge.judge_active='yes'");
- $r=mysql_fetch_object($q);
- $numjudges=$r->num;
- echo i18n("Judges: %1",array($r->num));
- $stats["judges"]=$numjudges;
- echo "
";
-
- if($ok)
- {
-
- $affil=array("affiliation"=>array(
- "ysf_region_id"=>$config['ysf_region_id'],
- "ysf_region_password"=>$config['ysf_region_password'],
- "year"=>$year,
- "stats"=>$stats
- )
- );
-
- $output="";
- xmlCreateRecurse($affil);
- $xmldata=$output;
-
- echo "".i18n("The following data will be sent to YSF")."
";
- echo "";
-
- }
-
- }
- send_footer();
-?>