forked from science-ation/science-ation
9ec497df9f
Increase the number of sorting and grouping fiels in the Reports Editor Fix display list when emailing schools Add "Judge -- Other Expertise" to Reports Editor Add "Award -- Script Order" to allow student reports to be sorted the same way they appear on the "Award Ceremony Script"
209 lines
15 KiB
PHP
209 lines
15 KiB
PHP
<?
|
|
// This file was modified Jan of 2014 by Richard Sin
|
|
// A glitch that grabs old emails has been resolved.
|
|
|
|
$mailqueries=array(
|
|
"committee_all"=>array("name"=>"Committee members (all)","query"=>
|
|
"SELECT u.firstname, u.lastname, u.organization, u.email, u.deleted, q.year FROM users AS u INNER JOIN (SELECT uid, max(year) AS year FROM users GROUP BY uid) AS q ON u.uid = q.uid AND u.year = q.year WHERE u.types LIKE '%committee%' AND u.deleted='no' GROUP BY `u`.`id` ASC"),
|
|
|
|
/* The WHERE clause evaluates which rows to add to the GROUP
|
|
BY, the HAVING clase evaluates which grouped rows show up. We
|
|
want to to evaluate 'deleted' AFTER the grouping, so we catch
|
|
the case where the MAX(year) has deleted='yes'. If we use WHERE
|
|
deleted='no', we'll only add non-deleted rows to the group, and
|
|
end up picking up a user active in, say 2007 and 2008, but
|
|
deleted in 2009. */
|
|
"judges_all"=>array("name"=>"Judges from all years (except deleted judges)","query"=>
|
|
"SELECT u.firstname, u.lastname, u.email, u.deleted, q.year FROM users AS u INNER JOIN (SELECT uid, max(year) AS year FROM users GROUP BY uid ) AS q ON u.uid = q.uid AND u.year = q.year WHERE u.types LIKE '%judge%' AND u.deleted='no' ORDER BY `u`.`email` ASC"),
|
|
|
|
"judges_active_lastyear"=>array("name"=>"Judges (all) active from last year", "query"=>
|
|
"SELECT firstname, lastname, email FROM users LEFT JOIN users_judge ON users_judge.users_id=users.id WHERE types LIKE '%judge%' AND year='".($config['FAIRYEAR']-1)."' AND deleted='no' AND users_judge.judge_active='yes' ORDER BY email"),
|
|
|
|
"judges_active_thisyear"=>array("name"=>"Judges (all) active for this year", "query"=>
|
|
"SELECT firstname, lastname, email FROM users LEFT JOIN users_judge ON users_judge.users_id=users.id WHERE types LIKE '%judge%' AND year='{$config['FAIRYEAR']}' AND deleted='no' AND users_judge.judge_active='yes' ORDER BY email"),
|
|
|
|
"judges_div_active_thisyear"=>array("name"=>"Judges (regular judges only) active for this year", "query"=>
|
|
"SELECT firstname, lastname, email FROM users LEFT JOIN users_judge ON users_judge.users_id=users.id WHERE types LIKE '%judge%' AND year='{$config['FAIRYEAR']}' AND deleted='no' AND users_judge.judge_active='yes' AND (users_judge.special_award_only='no' OR users_judge.special_award_only='' OR users_judge.special_award_only IS NULL) ORDER BY email"),
|
|
|
|
"judges_spec_active_thisyear"=>array("name"=>"Judges (special award judges only) active for this year", "query"=>
|
|
"SELECT firstname, lastname, email FROM users LEFT JOIN users_judge ON users_judge.users_id=users.id WHERE types LIKE '%judge%' AND year='{$config['FAIRYEAR']}' AND deleted='no' AND users_judge.judge_active='yes' AND users_judge.special_award_only='yes' ORDER BY email"),
|
|
|
|
"judges_inactive"=>array("name"=>"Judges (all) not active for this year", "query"=>
|
|
"SELECT firstname, lastname, email, judge_active, deleted, MAX(year)
|
|
FROM users LEFT JOIN users_judge ON users_judge.users_id=users.id
|
|
WHERE types LIKE '%judge%'
|
|
GROUP BY uid HAVING deleted='no' AND ((max(year)='{$config['FAIRYEAR']}' AND judge_active='no') OR max(year)<'{$config['FAIRYEAR']}')
|
|
ORDER BY email"),
|
|
|
|
"judges_active_complete_thisyear"=>array("name"=>"Judges (all) active for this year and complete", "query"=>
|
|
"SELECT firstname, lastname, email FROM users LEFT JOIN users_judge ON users_judge.users_id=users.id WHERE types LIKE '%judge%' AND year='{$config['FAIRYEAR']}' AND users_judge.judge_complete='yes' AND deleted='no' AND users_judge.judge_active='yes' ORDER BY email"),
|
|
|
|
"judges_active_incomplete_thisyear"=>array("name"=>"Judges (all) active for this year but not complete", "query"=>
|
|
"SELECT firstname, lastname, email FROM users LEFT JOIN users_judge ON users_judge.users_id=users.id WHERE types LIKE '%judge%' AND year='{$config['FAIRYEAR']}' AND (users_judge.judge_complete!='yes' OR users_judge.judge_complete IS NULL) AND deleted='no' AND users_judge.judge_active='yes' ORDER BY email"),
|
|
|
|
"participants_complete_thisyear"=>array("name"=>"Participants complete this year","query"=>
|
|
"SELECT firstname, lastname, students.email FROM students,registrations WHERE students.registrations_id=registrations.id AND registrations.year='".$config['FAIRYEAR']."' AND ( registrations.status='complete' OR registrations.status='paymentpending') ORDER BY students.email"),
|
|
|
|
"participants_complete_paymentpending_thisyear"=>array("name"=>"Participants complete this year but payment pending","query"=>
|
|
"SELECT firstname, lastname, students.email FROM students,registrations WHERE students.registrations_id=registrations.id AND registrations.year='".$config['FAIRYEAR']."' AND registrations.status!='complete' AND registrations.status='paymentpending' ORDER BY students.email"),
|
|
|
|
"participants_notcomplete_thisyear"=>array("name"=>"Participants not complete this year","query"=>
|
|
"SELECT firstname, lastname, students.email FROM students,registrations WHERE students.registrations_id=registrations.id AND registrations.year='".$config['FAIRYEAR']."' AND registrations.status!='complete' AND registrations.status!='new' ORDER BY students.email"),
|
|
|
|
"participants_complete_lastyear"=>array("name"=>"Participants complete last year","query"=>
|
|
"SELECT firstname, lastname, students.email FROM students,registrations WHERE students.registrations_id=registrations.id AND registrations.year='".($config['FAIRYEAR']-1)."' AND ( registrations.status='complete' OR registrations.status='paymentpending') ORDER BY students.email"),
|
|
|
|
"participants_complete_allyears"=>array("name"=>"Participants complete all years","query"=>
|
|
"SELECT DISTINCT firstname, lastname, students.email FROM students,registrations WHERE students.registrations_id=registrations.id AND ( registrations.status='complete' OR registrations.status='paymentpending') ORDER BY students.email"),
|
|
|
|
"participants_cwsf_thisyear"=>array("name"=>"CWSF Winners for this year","query"=>"
|
|
SELECT DISTINCT students.firstname, students.lastname, students.email
|
|
FROM award_awards
|
|
JOIN award_prizes ON award_prizes.award_awards_id=award_awards.id
|
|
JOIN winners ON winners.awards_prizes_id=award_prizes.id
|
|
JOIN projects ON winners.projects_id=projects.id
|
|
JOIN registrations ON projects.registrations_id=registrations.id
|
|
JOIN students ON students.registrations_id=registrations.id
|
|
WHERE award_awards.cwsfaward='1' AND winners.year='".$config['FAIRYEAR']."'
|
|
ORDER BY students.email"),
|
|
|
|
"participants_cwsf_lastyear"=>array("name"=>"CWSF Winners from last year","query"=>"
|
|
SELECT DISTINCT students.firstname, students.lastname, students.email
|
|
FROM award_awards
|
|
JOIN award_prizes ON award_prizes.award_awards_id=award_awards.id
|
|
JOIN winners ON winners.awards_prizes_id=award_prizes.id
|
|
JOIN projects ON winners.projects_id=projects.id
|
|
JOIN registrations ON projects.registrations_id=registrations.id
|
|
JOIN students ON students.registrations_id=registrations.id
|
|
WHERE award_awards.cwsfaward='1' AND winners.year='".($config['FAIRYEAR']-1)."'
|
|
ORDER BY students.email"),
|
|
|
|
"participants_cwsf_allyears"=>array("name"=>"CWSF Winners from all years","query"=>"
|
|
SELECT DISTINCT students.firstname, students.lastname, students.email
|
|
FROM award_awards
|
|
JOIN award_prizes ON award_prizes.award_awards_id=award_awards.id
|
|
JOIN winners ON winners.awards_prizes_id=award_prizes.id
|
|
JOIN projects ON winners.projects_id=projects.id
|
|
JOIN registrations ON projects.registrations_id=registrations.id
|
|
JOIN students ON students.registrations_id=registrations.id
|
|
WHERE award_awards.cwsfaward='1'
|
|
ORDER BY students.email"),
|
|
|
|
"sponsors"=>array("name"=>"Organization sponsors","query"=>
|
|
"SELECT id, organization, email FROM sponsors WHERE email!='' ORDER BY email"),
|
|
|
|
"sponsors_primarycontacts"=>array("name"=>"Organization sponsors (primary contacts)","query"=>
|
|
"SELECT uid, MAX(users.year) AS year, sponsors.organization, users.firstname, users.lastname, users.email, deleted, users_sponsor.primary
|
|
FROM sponsors,
|
|
users_sponsor,
|
|
users
|
|
WHERE
|
|
users.id=users_sponsor.users_id
|
|
AND users_sponsor.sponsors_id=sponsors.id
|
|
AND users.types LIKE '%sponsor%'
|
|
AND users.email!=''
|
|
GROUP BY uid
|
|
HAVING deleted='no' AND users_sponsor.primary='yes'
|
|
ORDER BY users.email
|
|
"),
|
|
|
|
"sponsors_allcontacts"=>array("name"=>"Organization sponsors (all contacts)","query"=>
|
|
"SELECT DISTINCT(users.email), sponsors.organization, users.firstname, users.lastname, users.email
|
|
FROM sponsors,
|
|
users_sponsor,
|
|
users
|
|
WHERE
|
|
users.id=users_sponsor.users_id
|
|
AND users_sponsor.sponsors_id=sponsors.id
|
|
AND users.types LIKE '%sponsor%'
|
|
AND users.deleted='no'
|
|
AND users.email!=''
|
|
ORDER BY users.email
|
|
"),
|
|
|
|
"sponsors_specialawards"=>array("name"=>"Organization sponsors for Special Awards","query"=>
|
|
"SELECT DISTINCT sponsors.id, organization, email
|
|
FROM sponsors
|
|
JOIN award_awards ON sponsors.id=award_awards.sponsors_id
|
|
WHERE
|
|
email!=''
|
|
AND award_awards.award_types_id=2
|
|
ORDER BY email"),
|
|
|
|
|
|
"sponsors_primarycontacts_specialawards"=>array("name"=>"Organization sponsors for Special Awards (primary contacts)","query"=>
|
|
"SELECT DISTINCT uid, MAX(users.year) AS year, sponsors.organization, users.firstname, users.lastname, users.email, deleted, users_sponsor.primary
|
|
FROM sponsors,
|
|
users_sponsor,
|
|
users,
|
|
award_awards
|
|
WHERE
|
|
users.id=users_sponsor.users_id
|
|
AND users_sponsor.sponsors_id=sponsors.id
|
|
AND users.types LIKE '%sponsor%'
|
|
AND users.email!=''
|
|
AND sponsors.id=award_awards.sponsors_id
|
|
AND award_awards.award_types_id=2
|
|
GROUP BY uid
|
|
HAVING deleted='no' AND users_sponsor.primary='yes'
|
|
ORDER BY users.email
|
|
"),
|
|
|
|
"sponsors_allcontacts_specialawards"=>array("name"=>"Organization sponsors for Special Awards (all contacts)","query"=>
|
|
"SELECT DISTINCT(users.email), sponsors.organization, users.firstname, users.lastname, users.email
|
|
FROM sponsors,
|
|
users_sponsor,
|
|
users,
|
|
award_awards
|
|
WHERE
|
|
users.id=users_sponsor.users_id
|
|
AND users_sponsor.sponsors_id=sponsors.id
|
|
AND users.types LIKE '%sponsor%'
|
|
AND users.deleted='no'
|
|
AND users.email!=''
|
|
AND sponsors.id=award_awards.sponsors_id
|
|
AND award_awards.award_types_id=2
|
|
ORDER BY users.email
|
|
"),
|
|
|
|
/*
|
|
"special_award_sponsors_unconfirmed"=>array("name"=>"Special award sponsors (unconfirmed only)","query"=>
|
|
"SELECT DISTINCT(award_sponsors.id), organization, firstname, lastname, award_contacts.email FROM award_sponsors, award_awards, award_contacts WHERE award_awards.sponsors_id=award_sponsors.id AND award_contacts.award_sponsors_id=award_sponsors.id AND award_sponsors.confirmed='no' AND award_awards.award_types_id='2' AND award_contacts.year='".$config['FAIRYEAR']."'"),
|
|
|
|
"special_award_sponsors_all"=>array("name"=>"Special award sponsors (all)","query"=>
|
|
"SELECT DISTINCT(award_sponsors.id), organization, firstname, lastname, award_contacts.email FROM award_sponsors, award_awards, award_contacts WHERE award_awards.sponsors_id=award_sponsors.id AND award_contacts.award_sponsors_id=award_sponsors.id AND award_awards.award_types_id='2' AND award_contacts.year='".$config['FAIRYEAR']."'"),
|
|
|
|
*/
|
|
"school_principals"=>array("name"=>"School principals","query"=>
|
|
"SELECT schools.principal_uid AS uid, schools.school, users.firstname AS firstname, users.lastname AS lastname, users.email AS email FROM schools
|
|
JOIN users ON schools.principal_uid=users.uid AND users.id=(SELECT id FROM users WHERE users.uid=schools.principal_uid ORDER BY `year` DESC LIMIT 1)
|
|
WHERE schools.year='".$config['FAIRYEAR']."' AND users.email!=''"),
|
|
|
|
"school_scienceheads"=>array("name"=>"School science heads","query"=>
|
|
"SELECT schools.sciencehead_uid AS uid, schools.school, users.firstname AS firstname, users.lastname AS lastname, users.email AS email FROM schools
|
|
JOIN users ON schools.sciencehead_uid=users.uid AND users.id=(SELECT id FROM users WHERE users.uid=schools.sciencehead_uid ORDER BY `year` DESC LIMIT 1)
|
|
WHERE schools.year='".$config['FAIRYEAR']."' AND users.email!=''"),
|
|
"school_with_project_thisyear"=>array("name"=>"Schools with projects this year","query"=>
|
|
"SELECT DISTINCT(sc.schoolemail) AS email, sc.school AS firstname FROM students AS st LEFT JOIN schools AS sc ON sc.id = st.schools_id WHERE st.year = ".$config['FAIRYEAR']." AND LENGTH( sc.schoolemail ) !=0 ORDER BY email
|
|
"),
|
|
|
|
"school_thisyear"=>array("name"=>"Schools this year","query"=>
|
|
"SELECT school AS firstname, schoolemail AS email FROM `schools` WHERE `year` ='".$config['FAIRYEAR']."' GROUP BY schoolemail"),
|
|
"school_teachers_thisyear"=>array("name"=>"Teachers (as entered by students) this year","query"=>
|
|
"SELECT teachername AS firstname, teacheremail AS email FROM students WHERE year = '".$config['FAIRYEAR']."' GROUP BY teacheremail"),
|
|
|
|
"school_teachers_lastyear"=>array("name"=>"Teachers (as entered by students) last year","query"=>
|
|
"SELECT teachername AS firstname, teacheremail AS email FROM students WHERE year = '".($config['FAIRYEAR']-1)."' GROUP BY teacheremail"),
|
|
|
|
"school_teachers_allyears"=>array("name"=>"Teachers (as entered by students) all years","query"=>
|
|
"SELECT teachername AS firstname, teacheremail AS email FROM students GROUP BY teacheremail"),
|
|
/* Volunteers */
|
|
"volunteers_active_complete_thisyear"=>array("name"=>"Volunteers active for this year and complete", "query"=>
|
|
"SELECT id, firstname, lastname, email FROM users LEFT JOIN users_volunteer ON users_volunteer.users_id=users.id WHERE users.year='{$config['FAIRYEAR']}' AND users_volunteer.volunteer_complete='yes' AND users_volunteer.volunteer_active='yes' AND users.deleted='no' AND types LIKE '%volunteer%' ORDER BY email"),
|
|
|
|
"volunteers_active_incomplete_thisyear"=>array("name"=>"Volunteers active for this year but not complete", "query"=>
|
|
"SELECT id, firstname, lastname, email FROM users LEFT JOIN users_volunteer ON users_volunteer.users_id=users.id WHERE users.year='{$config['FAIRYEAR']}' AND users_volunteer.volunteer_complete='no' AND users_volunteer.volunteer_active='yes' AND users.deleted='no' AND users.types LIKE '%volunteer%' ORDER BY email"),
|
|
|
|
);
|
|
?>
|