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 "
"; $q=mysql_query("SELECT * FROM fairs WHERE `type`='sfiab' OR `type`='ysc'"); echo ""; } - echo ""; + $d = ($ok == true) ? '' : 'disabled="disabled"'; + echo ""; 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 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. -*/ -?> - '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 "
"; - $q=mysql_query("SELECT DISTINCT(year) AS year FROM config WHERE year>0 ORDER BY year"); - echo "\n"; - 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 "
"; - echo ""; - echo ""; - echo "
"; - echo "
"; - echo ""; - echo "
"; - - } - - } - send_footer(); -?>