forked from science-ation/science-ation
Compare commits
142 Commits
Author | SHA1 | Date | |
---|---|---|---|
6af995ce3c | |||
e4995bbc3d | |||
|
01ea27a39f | ||
|
ff169e7f39 | ||
|
178817c9c5 | ||
|
3abf8f1fe0 | ||
|
a6f869bef1 | ||
|
ef00c7d9f3 | ||
|
3e3db6732d | ||
|
28070d19cc | ||
|
99cfd97e0a | ||
|
21636ce272 | ||
|
9ec497df9f | ||
|
b095c5d5db | ||
|
7948e30e61 | ||
|
2b8416ed8e | ||
|
2a6ea9b350 | ||
|
c4c985ce3f | ||
|
f1cd9bcb5b | ||
|
224520e33a | ||
|
1c33c03d81 | ||
|
f4e0048df8 | ||
|
529491456c | ||
|
7d77c47614 | ||
|
85571aefa2 | ||
|
b957eb58ad | ||
|
88f1cc7614 | ||
|
1c10dda679 | ||
|
0497a21b40 | ||
|
8eef980ca7 | ||
|
4018d48cc4 | ||
|
e2a8e7a9fd | ||
|
4d67f395f3 | ||
|
bb1823b2db | ||
|
d10385a80f | ||
|
02dd19a477 | ||
|
1dfdcc543b | ||
|
3e0b4227bc | ||
|
d1e12fd3c8 | ||
|
f52973b6c3 | ||
|
41f83b6fc0 | ||
|
d8f4228a59 | ||
|
726bfc0ef7 | ||
|
ce4923c003 | ||
|
2b866637c2 | ||
|
d74925d2bd | ||
|
d70f06eeb5 | ||
|
a6f0d88df7 | ||
|
f56d8f576c | ||
|
1d2755601a | ||
|
e6243d0ab9 | ||
|
d30468326e | ||
|
a8e81cc84c | ||
|
0e2fdc4686 | ||
|
54084bd69a | ||
|
3fae0cb954 | ||
|
e746f5faab | ||
|
5c5c3e55ec | ||
|
8165ddd86d | ||
|
1b426bcf69 | ||
|
dbf4c71e1f | ||
|
02b06de804 | ||
|
0a41f3471d | ||
|
7fbab3d8e6 | ||
|
97d101d4bb | ||
|
113cc69ccd | ||
|
5ea2f7aedb | ||
|
caeb9246ff | ||
|
a6741d58ac | ||
|
5322837060 | ||
|
5d4d74fd0c | ||
|
529aa8ca38 | ||
|
ada73125cf | ||
|
3eb15bd24b | ||
|
106ac578f1 | ||
|
6a468dd9f6 | ||
|
2ac4c799a9 | ||
|
c29df673a6 | ||
|
64026ed724 | ||
|
6e4ea2b912 | ||
|
8d9790e488 | ||
|
2f9b62d671 | ||
|
49cd9a28c3 | ||
|
2d2546d46e | ||
|
aa1ad291ac | ||
|
c383ffef0e | ||
|
4423acd4b0 | ||
|
0d693b22cf | ||
|
58e778035b | ||
|
aedb61c286 | ||
|
6e0d3304b5 | ||
|
f57fa82282 | ||
|
8e6da38509 | ||
|
51553e0e61 | ||
|
42f1185892 | ||
|
89bcf64399 | ||
|
8efb3f2bcf | ||
|
016f104a5d | ||
|
7bce69f8a5 | ||
|
606937b8d9 | ||
|
648d3f3e56 | ||
|
17f6feee93 | ||
|
4a6f9d0e4e | ||
|
369542ecde | ||
|
91c2666940 | ||
|
f2d526deb8 | ||
|
d6ac7e36f5 | ||
|
2fd5ab6a47 | ||
|
d1b7fb2306 | ||
|
947a11ca1c | ||
|
b8be2f4ad4 | ||
|
b2ecf1cdb9 | ||
|
ab07f45767 | ||
|
11a4facc6c | ||
|
3c3a76d8ac | ||
|
ca48277fb0 | ||
|
5dcdb5029a | ||
|
6925d88b16 | ||
|
31f29b7f84 | ||
|
0b57eb2edd | ||
|
d58e8f4a1e | ||
|
19304cf75a | ||
|
727bae005b | ||
|
b791499b18 | ||
|
9730d79ab6 | ||
|
f1c8b9919f | ||
|
2813377014 | ||
|
95d57c25bf | ||
|
c53e9611e5 | ||
|
f47f2c4ceb | ||
|
c048e33f6a | ||
|
54a5cc8da4 | ||
|
e6cd95ebfc | ||
|
afc836e214 | ||
|
79513c6d29 | ||
|
c1afa5f00f | ||
|
c098354179 | ||
|
d0d9fe4d60 | ||
|
4f388734a9 | ||
|
6e955082e9 | ||
|
2c9baf185a | ||
|
65ecdcac05 |
@ -6,5 +6,4 @@ RewriteCond %{SCRIPT_FILENAME} !-f
|
||||
RewriteCond %{SCRIPT_FILENAME} !-l
|
||||
RewriteCond %{SCRIPT_FILENAME} !-d
|
||||
RewriteRule ^web/(.*)$ cms.php?f=$1 [L]
|
||||
RewriteRule ^api/(.*)$ api.php?request=$1 [L]
|
||||
|
||||
|
556
account.inc.php
556
account.inc.php
@ -1,556 +0,0 @@
|
||||
<?
|
||||
/*
|
||||
This file is part of the 'Science Fair In A Box' project
|
||||
SFIAB Website: http://www.sfiab.ca
|
||||
|
||||
Copyright (C) 2010 David Grant <dave@lightbox.org>
|
||||
|
||||
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.
|
||||
*/
|
||||
?>
|
||||
<?
|
||||
|
||||
function account_valid_user($user)
|
||||
{
|
||||
/* Find any character that doesn't match the valid username characters
|
||||
* (^ inverts the matching remember */
|
||||
$x = preg_match('[^a-zA-Z0-9@.-_]',$user);
|
||||
|
||||
/* If x==1, a match was found, and the input is bad */
|
||||
return ($x == 1) ? false : true;
|
||||
}
|
||||
|
||||
function account_valid_password($pass)
|
||||
{
|
||||
/* Same as user, but allow more characters */
|
||||
$x = preg_match('[^a-zA-Z0-9 ~!@#$%^&*()-_=+|;:,<.>/?]',$pass);
|
||||
|
||||
/* If x==1, a match was found, and the input is bad */
|
||||
if($x == 1) return false;
|
||||
|
||||
if(strlen($pass) < 6) return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Duplicate of common.inc.php:generatePassword, which will be deleted
|
||||
* eventually when ALL users are handled through this file */
|
||||
function account_generate_password($pwlen=8)
|
||||
{
|
||||
//these are good characters that are not easily confused with other characters :)
|
||||
$available="ABCDEFGHJKLMNPQRSTUVWXYZabcdefghjkmnpqrstuvwxyz23456789";
|
||||
$len=strlen($available) - 1;
|
||||
|
||||
$key="";
|
||||
for($x=0;$x<$pwlen;$x++)
|
||||
$key.=$available{rand(0,$len)};
|
||||
return $key;
|
||||
}
|
||||
|
||||
function account_set_password($accounts_id, $password = NULL)
|
||||
{
|
||||
$save_old = false;
|
||||
if($password == NULL) {
|
||||
$q = mysql_query("SELECT passwordset FROM accounts WHERE id='$accounts_id'");
|
||||
$a = mysql_fetch_assoc($q);
|
||||
/* Generate a new password */
|
||||
$password = account_generate_password(12);
|
||||
/* save the old password only if it's not an auto-generated one */
|
||||
if($a['passwordset'] != '0000-00-00') $save_old = true;
|
||||
/* Expire the password */
|
||||
$save_set = "'0000-00-00'";
|
||||
} else {
|
||||
/* Set the password, no expiry, save the old */
|
||||
$save_old = true;
|
||||
$save_set = 'NOW()';
|
||||
}
|
||||
|
||||
$p = mysql_escape_string($password);
|
||||
$set = ($save_old == true) ? 'oldpassword=password, ' : '';
|
||||
$set .= "password='$p', passwordset=$save_set ";
|
||||
|
||||
$query = "UPDATE accounts SET $set WHERE id='$accounts_id'";
|
||||
mysql_query($query);
|
||||
echo mysql_error();
|
||||
|
||||
return $password;
|
||||
}
|
||||
|
||||
function account_load($id)
|
||||
{
|
||||
$id = intval($id);
|
||||
//we dont want password or the pending email code in here
|
||||
$q = mysql_query("SELECT id,
|
||||
username,
|
||||
link_username_to_email,
|
||||
passwordset,
|
||||
email,
|
||||
pendingemail,
|
||||
superuser,
|
||||
deleted,
|
||||
deleted_datetime,
|
||||
created
|
||||
FROM accounts WHERE id='$id'");
|
||||
if(mysql_num_rows($q) == 0) {
|
||||
return false;
|
||||
}
|
||||
if(mysql_num_rows($q) > 1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$a = mysql_fetch_assoc($q);
|
||||
return $a;
|
||||
}
|
||||
|
||||
function account_get_password($id) {
|
||||
$id=intval($id);
|
||||
$q=mysql_query("SELECT password FROM accounts WHERE id='$id'");
|
||||
$r=mysql_fetch_object($q);
|
||||
return $r->password;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function account_load_by_username($username)
|
||||
{
|
||||
$un = mysql_real_escape_string($username);
|
||||
$q = mysql_query("SELECT * FROM accounts WHERE username='$un'");
|
||||
if(mysql_num_rows($q) == 0) {
|
||||
return false;
|
||||
}
|
||||
if(mysql_num_rows($q) > 1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$a = mysql_fetch_assoc($q);
|
||||
return $a;
|
||||
}
|
||||
|
||||
|
||||
function account_create($username,$password=NULL)
|
||||
{
|
||||
global $config;
|
||||
$errMsg = '';
|
||||
|
||||
/* Sanity check username */
|
||||
if(!account_valid_user($username)) {
|
||||
$errMsg .= i18n('Invalid user name "%1"', array($username)) . "\n";
|
||||
}else{
|
||||
/* Make sure the account doesn't exist */
|
||||
$us = mysql_real_escape_string($username);
|
||||
$q = mysql_query("SELECT * FROM accounts WHERE username='$us'");
|
||||
if(mysql_num_rows($q)) {
|
||||
$errMsg .= i18n("The username %1 is already in use", array($username)) . "\n";
|
||||
}
|
||||
}
|
||||
|
||||
//if the password is set, make sure its valid, if its null, thats OK, it'll get generated and set by account_set_password
|
||||
if($password && !account_valid_password($password)) {
|
||||
$errMsg .= i18n("Invalid password") . "\n";
|
||||
}
|
||||
|
||||
if($errMsg != '') return $errMsg;
|
||||
|
||||
/* Create the account */
|
||||
mysql_query("INSERT INTO accounts (`username`,`created`,`deleted`,`superuser`)
|
||||
VALUES ('$us', NOW(),'no','no')");
|
||||
echo mysql_error();
|
||||
|
||||
$accounts_id = mysql_insert_id();
|
||||
|
||||
account_set_password($accounts_id, $password);
|
||||
$a = account_load($accounts_id);
|
||||
|
||||
return $a;
|
||||
}
|
||||
|
||||
function account_set_email($accounts_id,$email) {
|
||||
global $config;
|
||||
//we dont actually set the email until its confirmed, we only set the pending email :p
|
||||
if(isEmailAddress($email)) {
|
||||
$code=generatePassword(24);
|
||||
mysql_query("UPDATE accounts SET email=NULL, pendingemail='".mysql_real_escape_string($email)."', pendingemailcode='$code' WHERE id='$accounts_id'");
|
||||
$link = account_build_email_confirmation_link($accounts_id);
|
||||
email_send('account_email_confirmation',$email,array(),array("EMAIL"=>$email,"EMAILCONFIRMATIONLINK"=>$link));
|
||||
}
|
||||
}
|
||||
|
||||
// generate the email confirmation URL. Separated from account_set_email for use elsewhere.
|
||||
// returns null if no confirmation code is set for this account
|
||||
function account_build_email_confirmation_link($accounts_id){
|
||||
global $config;
|
||||
$q = mysql_query("SELECT pendingemail, pendingemailcode FROM accounts WHERE id = $accounts_id");
|
||||
$row = mysql_fetch_assoc($q);
|
||||
$code = $row['pendingemailcode'];
|
||||
$email = $row['pendingemail'];
|
||||
if(trim($code) == ''){
|
||||
return null;
|
||||
}
|
||||
|
||||
$urlproto = $_SERVER['SERVER_PORT'] == 443 ? "https://" : "http://";
|
||||
$urlmain = "$urlproto{$_SERVER['HTTP_HOST']}{$config['SFIABDIRECTORY']}";
|
||||
$urlemailconfirm = "emailconfirmation.php?i=$accounts_id&e=".rawurlencode($email)."&c=".$code;
|
||||
return $urlmain."/".$urlemailconfirm;
|
||||
}
|
||||
|
||||
// add the specified role to the account's user record for the specified conference
|
||||
// return true on success, false on failure
|
||||
function account_add_role($accounts_id, $roles_id, $conferences_id, $password = null){
|
||||
global $config;
|
||||
global $conference;
|
||||
|
||||
//if we get role as a type string instead of an id (eg, 'teacher'), lets just look it up
|
||||
if(!is_numeric($roles_id)) {
|
||||
$tq=mysql_query("SELECT id FROM roles WHERE type='".mysql_real_escape_string($roles_id)."'");
|
||||
$tr=mysql_fetch_object($tq);
|
||||
$roles_id=$tr->id;
|
||||
}
|
||||
// avoid injections
|
||||
$accounts_id=intval($accounts_id);
|
||||
$roles_id=intval($roles_id);
|
||||
$conferences_id=intval($conferences_id);
|
||||
$password=mysql_real_escape_string($password);
|
||||
|
||||
// make sure the specified id's actually exist
|
||||
if(mysql_result(mysql_query("SELECT COUNT(*) FROM accounts WHERE id = $accounts_id"), 0) != 1){
|
||||
return "invalidaccount";
|
||||
}
|
||||
if(mysql_result(mysql_query("SELECT COUNT(*) FROM roles WHERE id = $roles_id"), 0) != 1){
|
||||
return "invalidrole";
|
||||
}
|
||||
if(mysql_result(mysql_query("SELECT COUNT(*) FROM conferences WHERE id = $conferences_id"), 0) != 1){
|
||||
return "invalidconference";
|
||||
}
|
||||
|
||||
// find out if this account has a user record for this conference
|
||||
$data = mysql_fetch_array(mysql_query("
|
||||
SELECT * FROM users
|
||||
WHERE conferences_id = $conferences_id
|
||||
AND accounts_id = $accounts_id
|
||||
"));
|
||||
if(is_array($data)){
|
||||
// they do indeed have a user record for this conference. Let's load it
|
||||
$u = user_load($data['id']);
|
||||
$users_id = $data['id'];
|
||||
}else{
|
||||
// They're not actually connected to this conference, let's hook 'em up
|
||||
$u = user_create($accounts_id, $conferences_id);
|
||||
$users_id = $u['id'];
|
||||
|
||||
// if this applies to their current session, update their session user id
|
||||
if($_SESSION['accounts_id'] == $accounts_id && $_SESSION['conferences_id'] == $conferences_id){
|
||||
$_SESSION['users_id'] = $users_id;
|
||||
}
|
||||
}
|
||||
|
||||
// we now have the user id that we need, let's check to see whether or not they
|
||||
// already have the specified role.
|
||||
if(mysql_result(mysql_query("SELECT COUNT(*) FROM user_roles WHERE users_id = $users_id AND roles_id = $roles_id"), 0) != 0){
|
||||
// they already have this role. shell_exec("man true");
|
||||
return 'ok';
|
||||
}
|
||||
|
||||
// see if this role conflicts with existing ones
|
||||
if(!account_add_role_allowed($accounts_id, $conferences_id, $roles_id)){
|
||||
return 'invalidrole(account_add_role_allowed)';
|
||||
}
|
||||
|
||||
// get the type of the role (eg. "judge", "participant", etc.)
|
||||
$role = mysql_result(mysql_query("SELECT type FROM roles WHERE id = $roles_id"), 0);
|
||||
|
||||
if($_SESSION['superuser']!='yes') {
|
||||
// and see if it's a valid one for this conference
|
||||
if(!array_key_exists($role . '_registration_type', $config)){
|
||||
return 'invalidrole(_registration_type)';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if( in_array("admin",$_SESSION['roles']) ||
|
||||
in_array("config",$_SESSION['roles']) ||
|
||||
$_SESSION['superuser']=="yes")
|
||||
{
|
||||
//do nothing, we're logged in a a superuser, admin or config, so we
|
||||
//dont want/need to check the types, just go ahead and invite them
|
||||
//its easie than reversing the logic of the if above.
|
||||
}
|
||||
else {
|
||||
|
||||
// and let's see if we meet the conditions for the registration type
|
||||
$error = "";
|
||||
switch($config[$role . '_registration_type']){
|
||||
case 'open':
|
||||
case 'openorinvite':
|
||||
// this is allowed.
|
||||
break;
|
||||
case 'singlepassword':
|
||||
if($password != $config[$role . '_registration_singlepassword']){
|
||||
$error = "invalidpassword";
|
||||
}
|
||||
break;
|
||||
case 'schoolpassword':
|
||||
if($password != null){
|
||||
$schoolId = $u['schools_id'];
|
||||
$schoolDat = mysql_fetch_assoc(mysql_query("SELECT registration_password FROM schools WHERE id=$schoolId"));
|
||||
if(is_array($schoolDat)){
|
||||
if($password == $schoolDat['registration_password']) $valid = true;
|
||||
$error = "invalidpassword";
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'invite':
|
||||
if( in_array("teacher",$_SESSION['roles']) && $role=='participant') {
|
||||
//if they are a teacher, they can add a participant role a-ok
|
||||
$error = '';
|
||||
}
|
||||
else {
|
||||
$error = 'invalidrole(invite_only)';
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if($error != ""){
|
||||
return $error;
|
||||
}
|
||||
|
||||
// *whew* all conditions have been met. Let's go ahead and create the record
|
||||
if(!mysql_query("INSERT INTO user_roles (accounts_id, users_id, roles_id, active, complete) VALUES($accounts_id, $users_id, $roles_id, 'yes', 'no')")){
|
||||
return "mysqlerror:" . mysql_error();
|
||||
}
|
||||
|
||||
$a=account_load($accounts_id);
|
||||
$password=account_get_password($accounts_id);
|
||||
|
||||
//in this case, we want to send to pendingemail if thats all we have, because
|
||||
//its possible that this is a new user that was just added and we just sent
|
||||
//the email confirmation email as well, so on new user invitation, they will get
|
||||
//the invite email as well as the email confirmation email.
|
||||
if($a['email']) $e=$a['email'];
|
||||
else if($a['pendingemail']) $e=$a['pendingemail'];
|
||||
|
||||
email_send("{$role}_new_invite",
|
||||
$e,
|
||||
array("FAIRNAME"=>$conference['name']),
|
||||
array("FAIRNAME"=>$conference['name'],
|
||||
"EMAIL"=>$e,
|
||||
"USERNAME"=>$a['username'],
|
||||
"PASSWORD"=>$password,
|
||||
"ROLE"=>$role)
|
||||
);
|
||||
|
||||
// if we made it this far, the role was successfully added
|
||||
return 'ok';
|
||||
}
|
||||
|
||||
// find out if the specifed role can be added to this account at the specified conference
|
||||
function account_add_role_allowed($accounts_id, $roles_id, $conferences_id){
|
||||
$returnval = true;
|
||||
|
||||
// avoid injections
|
||||
$accounts_id *= 1;
|
||||
$roles_id *= 1;
|
||||
$conferences_id *= 1;
|
||||
|
||||
// get the user id for this account/conference
|
||||
$userdat = mysql_fetch_assoc(mysql_query("SELECT id FROM users WHERE accounts_id = $accounts_id AND conferences_id = $conferences_id"));
|
||||
|
||||
// If this condition isn't met, then the account is not connected to the conference.
|
||||
// In that case, the role can be allowed as there is no conflict.
|
||||
if(is_array($userdat)){
|
||||
$users_id = $userdat['id'];
|
||||
|
||||
// get the roles for the specified account at the specified conference
|
||||
$query = mysql_query("
|
||||
SELECT * FROM user_roles
|
||||
WHERE users_id = $users_id
|
||||
");
|
||||
|
||||
while($returnval && $row = mysql_fetch_assoc($query)){
|
||||
switch($row['type']){
|
||||
case 'participant':
|
||||
// Student cant' add any other role
|
||||
$returnval = false;
|
||||
break;
|
||||
default:
|
||||
if($role == 'participant') {
|
||||
// No role can add the participant role
|
||||
$returnval = false;
|
||||
}
|
||||
|
||||
// All other roles can coexist (even the fair role)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return $returnval;
|
||||
}
|
||||
|
||||
// remove the specified role from the account's user record for the specified conference
|
||||
// return true on success, false on failure
|
||||
function account_remove_role($accounts_id, $roles_id, $conferences_id){
|
||||
// avoid injections
|
||||
$accounts_id *= 1;
|
||||
$roles_id *= 1;
|
||||
$conferences_id *= 1;
|
||||
|
||||
// make sure the specified id's actually exist
|
||||
if(mysql_result(mysql_query("SELECT COUNT(*) FROM accounts WHERE id = $accounts_id"), 0) != 1){
|
||||
return "invalidaccount";
|
||||
}
|
||||
if(mysql_result(mysql_query("SELECT COUNT(*) FROM roles WHERE id = $roles_id"), 0) != 1){
|
||||
return "invalidrole";
|
||||
}
|
||||
if(mysql_result(mysql_query("SELECT COUNT(*) FROM conferences WHERE id = $conferences_id"), 0) != 1){
|
||||
return "invalidconference";
|
||||
}
|
||||
|
||||
// very little error catching needed here. If the role's there, we hopfully succeed in
|
||||
// removing it. If it's not, then we succeed in doing nothing
|
||||
$data = mysql_fetch_array(mysql_query("
|
||||
SELECT * FROM users
|
||||
WHERE conferences_id = $conferences_id
|
||||
AND accounts_id = $accounts_id
|
||||
"));
|
||||
if(is_array($data)){
|
||||
// they do indeed have a user record for this conference.
|
||||
$users_id = $data['id'];
|
||||
|
||||
// Do role-specific remove actions
|
||||
$role = mysql_result(mysql_query("SELECT `type` FROM roles WHERE id = $roles_id"), 0);
|
||||
switch($role) {
|
||||
case 'committee':
|
||||
mysql_query("DELETE FROM committees_link WHERE accounts_id='{$accounts_id}'");
|
||||
break;
|
||||
|
||||
case 'judge':
|
||||
mysql_query("DELETE FROM judges_teams_link WHERE users_id='$users_id'");
|
||||
mysql_query("DELETE FROM judges_specialawards_sel WHERE users_id='$users_id'");
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
// and now we can remove the role link itself
|
||||
mysql_query("DELETE FROM user_roles WHERE roles_id={$roles_id} AND users_id='$users_id'");
|
||||
}
|
||||
return 'ok';
|
||||
}
|
||||
|
||||
// A function for handling updates of any fields that can be modified through an API call.
|
||||
// returns 'ok' on success, error message otherwise.
|
||||
function account_update_info($fields){
|
||||
if($_SESSION['accounts_id']) {
|
||||
$accounts_id = $_SESSION['accounts_id'];
|
||||
}else{
|
||||
return 'you must be logged in to change your account settings';
|
||||
}
|
||||
|
||||
if(!is_array($fields)) return 'account_update_info expects an array';
|
||||
$message = 'ok';
|
||||
$updates = array();
|
||||
foreach($fields as $index => $value){
|
||||
switch($index){
|
||||
case 'username':
|
||||
if(account_valid_user($value)){
|
||||
$u = mysql_real_escape_string($value);
|
||||
$q = mysql_query("SELECT id FROM accounts WHERE username = '$u' AND deleted = 'no' AND id != $accounts_id");
|
||||
if(mysql_num_rows($q) != 0){
|
||||
$message = "username already in use";
|
||||
}else{
|
||||
$updates[$index] = $value;
|
||||
}
|
||||
}else{
|
||||
$message = "invalid username";
|
||||
}
|
||||
break;
|
||||
|
||||
case 'password':
|
||||
$q = mysql_query("SELECT password FROM accounts WHERE id='$accounts_id' AND password='" . mysql_real_escape_string($value) . "'");
|
||||
if(mysql_num_rows($q)){
|
||||
// ignore this parameter. The password has not changed
|
||||
}else if(!account_valid_password($value)){
|
||||
$message = "invalid password";
|
||||
}else{
|
||||
$updates[$index] = $value;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'link_username_to_email':
|
||||
if(in_array($value, array('yes', 'no'))){
|
||||
if($value=='yes') {
|
||||
//if its yes, we can only do it if username==email
|
||||
if($fields['username']==$fields['email']) {
|
||||
$updates[$index] = $value;
|
||||
} else {
|
||||
$message="username and email must match for link_username_toemail";
|
||||
}
|
||||
}
|
||||
else {
|
||||
$updates[$index] = $value;
|
||||
}
|
||||
}else{
|
||||
$message = '"link_username_to_email" must be either a "yes" or "no" value';
|
||||
}
|
||||
break;
|
||||
|
||||
case 'email':
|
||||
if(isEmailAddress($value)){
|
||||
$updates[$index] = $value;
|
||||
}else{
|
||||
$message = 'invalid e-mail address';
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
$message = 'invalid field name';
|
||||
}
|
||||
}
|
||||
|
||||
if($message != 'ok'){
|
||||
return $message;
|
||||
}
|
||||
|
||||
// the data's all been validated, so we can continue with the actual update.
|
||||
// doing it separately from the above loop to ensure that it's an all-or nothing update;
|
||||
// none of it will happen if any one part is erroneous.
|
||||
foreach($updates as $index => $value){
|
||||
switch($index){
|
||||
case 'username':
|
||||
$username = mysql_real_escape_string($value);
|
||||
mysql_query("UPDATE accounts SET username = '$username' WHERE id = $accounts_id");
|
||||
break;
|
||||
|
||||
case 'password':
|
||||
account_set_password($accounts_id, mysql_real_escape_string($value));
|
||||
break;
|
||||
|
||||
case 'link_username_to_email':
|
||||
mysql_query("UPDATE accounts SET link_username_to_email = '$value' WHERE id = $accounts_id");
|
||||
break;
|
||||
|
||||
case 'email':
|
||||
account_set_email($accounts_id, $value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return $message;
|
||||
}
|
||||
|
||||
?>
|
190
activities.php
190
activities.php
@ -1,190 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
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 <info@scitechontario.org>
|
||||
Copyright (C) 2005 James Grant <james@lightbox.org>
|
||||
|
||||
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.
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
require_once('common.inc.php');
|
||||
require_once('user.inc.php');
|
||||
require_once('activities.inc.php');
|
||||
require_once("questions.inc.php");
|
||||
require_once('user_edit.inc.php');
|
||||
|
||||
/* Ensure they're logged in as a judge, volunteer or admin */
|
||||
user_auth_required(array(), array('judge', 'volunteer', 'admin'));
|
||||
|
||||
$edit_id = isset($_GET['users_id']) ? intval($_GET['users_id']) : $_SESSION['users_id'];
|
||||
if($edit_id != $_SESSION['users_id'])
|
||||
user_auth_required('admin');
|
||||
else
|
||||
user_auth_required();
|
||||
|
||||
$u = user_load($edit_id);
|
||||
|
||||
// load the times at which the various events are happening
|
||||
$times = array();
|
||||
$q = mysql_query("
|
||||
SELECT schedule.id, date, hour, minute, duration, title
|
||||
FROM schedule
|
||||
JOIN events ON schedule.events_id = events.id
|
||||
WHERE schedule.conferences_id = {$conference['id']}
|
||||
ORDER BY date, hour, minute
|
||||
");
|
||||
$x = 0;
|
||||
while($r = mysql_fetch_assoc($q)){
|
||||
$dateParts = explode('-', $r['date']);
|
||||
$startTime = mktime($r['hour'], $r['minute'], 0, $dateParts[1], $dateParts[2], $dateParts[0]);
|
||||
$endTime = $startTime + $r['duration'] * 60;
|
||||
$times[$r['id']] = array(
|
||||
'date' => $r['date'],
|
||||
'starttime' => date('g:ia', $startTime),
|
||||
'endtime' => date('g:ia', $endTime),
|
||||
'name' => $r['title'],
|
||||
);
|
||||
}
|
||||
|
||||
switch($_GET['action']) {
|
||||
case 'save':
|
||||
if(!is_array($_POST['languages'])) $_POST['languages']=array();
|
||||
|
||||
$u['languages'] = array();
|
||||
foreach($_POST['languages'] AS $val)
|
||||
$u['languages'][] = $val;
|
||||
|
||||
$u['willing_chair'] = ($_POST['willing_chair'] == 'yes') ? 'yes' : 'no';
|
||||
$u['highest_psd'] = stripslashes($_POST['highest_psd']);
|
||||
$u['available_events'] = array_values($_POST['time']);
|
||||
user_save($u);
|
||||
/*
|
||||
if(is_array($_POST['questions'])){
|
||||
questions_save_answers("judgereg",$u['id'],$_POST['questions']);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
happy_("Preferences successfully saved");
|
||||
|
||||
$u = user_load($u['id']);
|
||||
$newstatus=activities_status($u);
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
user_update_tab_status('activities','<?=$newstatus?>');
|
||||
</script>
|
||||
<?
|
||||
exit;
|
||||
}
|
||||
|
||||
$fields = array('languages[]', 'willing_chair','highest_psd','time[]');
|
||||
$required = array('languages[]');
|
||||
|
||||
if(count($times) > 1) $required[] = 'time[]';
|
||||
|
||||
?>
|
||||
<h4><?=i18n("Activity Information")?> - <span class="status_activities"></span></h4>
|
||||
<br/>
|
||||
<form class="editor" id="activities_form">
|
||||
<table width="90%">
|
||||
<tr><td style="text-align: left" colspan="2"><b><?=i18n('Language(s)')?></b><hr /></td></tr>
|
||||
<tr><?=user_edit_item($u, 'Languages', 'languages[]', 'languages')?></tr>
|
||||
<?php if(count($times) > 1) { ?>
|
||||
<tr><td style="text-align: left" colspan="2"><br /><b><?=i18n('Time Availability')?></b><hr />
|
||||
<i><?=i18n('Please specify the events you are available for')?></i>
|
||||
</td></tr>
|
||||
|
||||
<?php
|
||||
// get a list of the times they already have selected
|
||||
$sel = array();
|
||||
$q = mysql_query("
|
||||
SELECT eual.* FROM schedule_users_availability_link eual
|
||||
JOIN schedule ON schedule.id = eual.schedule_id
|
||||
WHERE eual.users_id=\"{$u['id']}\"
|
||||
AND schedule.conferences_id = {$conference['id']}
|
||||
ORDER BY `schedule`.`date`, `schedule`.`hour`, `schedule`.`minute`
|
||||
");
|
||||
|
||||
while($r = mysql_fetch_assoc($q)) {
|
||||
foreach($times as $x => $t) {
|
||||
if($x == $r['schedule_id']){
|
||||
$sel[] = $x;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$items = array();
|
||||
foreach($times as $x => $t) {
|
||||
$items[$x] = "{$t['name']} ({$t['date']} {$t['starttime']} - {$t['endtime']})";
|
||||
}
|
||||
|
||||
echo '<tr>';
|
||||
user_edit_item($u, 'Time Availability', 'time[]', 'checklist', $items, $sel);
|
||||
echo '</tr>';
|
||||
}
|
||||
//questions_print_answer_editor('judgereg', $u, 'questions');
|
||||
?>
|
||||
</table>
|
||||
<br />
|
||||
<button><?=i18n("Save Information")?></button>
|
||||
</form>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
function activities_save()
|
||||
{
|
||||
$("#debug").load("<?=$config['SFIABDIRECTORY']?>/activities.php?action=save&users_id=<?=$u['id']?>", $("#activities_form").serializeArray());
|
||||
return false;
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
$("#activities_form").validate({
|
||||
errorPlacement: function(error, element) {
|
||||
if( element.attr('type') == 'checkbox' ) {
|
||||
error.insertAfter( element.parent("span") );
|
||||
} else {
|
||||
error.insertAfter(element);
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
rules: {
|
||||
"languages[]": { required: true },
|
||||
"time[]": { required: <?=in_array('time[]', $required)?'true':'false'?> },
|
||||
},
|
||||
|
||||
messages: {
|
||||
"languages[]": { required: "<?=i18n('Please select the language(s) you can work in')?>" },
|
||||
"time[]": { required: "<?=i18n('Please select the time(s) you are available')?>" }
|
||||
},
|
||||
submitHandler: function() {
|
||||
activities_save();
|
||||
return false;
|
||||
},
|
||||
cancelHandler: function() {
|
||||
activities_save();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
user_update_tab_status('activities');
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
@ -1,144 +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 <info@scitechontario.org>
|
||||
Copyright (C) 2005 James Grant <james@lightbox.org>
|
||||
|
||||
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.
|
||||
*/
|
||||
?>
|
||||
<?
|
||||
if($_GET['show_types'])
|
||||
$NAV_IDENT=$_GET['show_types'][0];
|
||||
if($_POST['show_types'])
|
||||
$NAV_IDENT=$_POST['show_types'][0];
|
||||
|
||||
require_once('../common.inc.php');
|
||||
require_once('../user.inc.php');
|
||||
require_once('../judge.inc.php');
|
||||
user_auth_required('admin');
|
||||
|
||||
require_once('judges.inc.php');
|
||||
|
||||
if($_GET['action']=="join" && $_GET['accounts_id']) {
|
||||
//we're making this user join this conference
|
||||
echo "joining {$_GET['accounts_id']} with {$conference['id']}";
|
||||
$u = user_create(intval($_GET['accounts_id']), $conference['id']);
|
||||
echo happy(i18n("User joined conference"));
|
||||
}
|
||||
|
||||
send_header("Account List",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php')
|
||||
);
|
||||
|
||||
$querystr = "SELECT * FROM accounts ORDER BY username";
|
||||
/*
|
||||
echo $querystr;
|
||||
echo "<br />\n";
|
||||
echo "<br />\n";
|
||||
*/
|
||||
$q = mysql_query($querystr);
|
||||
echo mysql_error();
|
||||
echo "<br />\n";
|
||||
$num = mysql_num_rows($q);
|
||||
echo i18n("Listing %1 account total.",array($num));
|
||||
|
||||
echo mysql_error();
|
||||
echo "<table class=\"tableview\">";
|
||||
echo "<thead>";
|
||||
echo "<tr>";
|
||||
echo " <th>".i18n("Account ID")."</th>";
|
||||
echo " <th>".i18n("Username")."</th>";
|
||||
echo " <th>".i18n("Email Address")."</th>";
|
||||
echo " <th>".i18n("Pending Email")."</th>";
|
||||
echo " <th>".i18n("User Info")."</th>";
|
||||
// echo " <th>".i18n("Actions")."</th>";
|
||||
echo "</tr>";
|
||||
echo "</thead>";
|
||||
echo "<tbody>";
|
||||
|
||||
$tally = array();
|
||||
$tally['active'] = array();
|
||||
$tally['inactive'] = array();
|
||||
$tally['active']['complete'] = 0;
|
||||
$tally['active']['incomplete'] = 0;
|
||||
$tally['active']['na'] = 0;
|
||||
$tally['inactive']['complete'] = 0;
|
||||
$tally['inactive']['incomplete'] = 0;
|
||||
$tally['inactive']['na'] = 0;
|
||||
while($r=mysql_fetch_assoc($q)) {
|
||||
// get the role data for this user
|
||||
echo "<tr>";
|
||||
echo "<td>";
|
||||
echo $r['id'];
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo $r['username'];
|
||||
echo "</td>";
|
||||
|
||||
echo "<td>";
|
||||
echo $r['email'];
|
||||
echo "</td><td>";
|
||||
echo $r['pendingemail'];
|
||||
echo "</td>";
|
||||
echo "<td>";
|
||||
$u=user_load_by_accounts_id($r['id']);
|
||||
if($u) {
|
||||
//we can edit them even if they dont have any roles, duh
|
||||
echo "<b>";
|
||||
echo "<a href=\"#\" onclick=\"return openeditor({$u['id']})\">";
|
||||
if($u['firstname'] || $u['lastname']) {
|
||||
echo $u['firstname']." ".$u['lastname'];
|
||||
}
|
||||
else {
|
||||
echo i18n("No name specified");
|
||||
}
|
||||
echo "</a>";
|
||||
echo "</b>";
|
||||
echo "<br />";
|
||||
|
||||
if(count($u['roles'])) {
|
||||
echo "<table>";
|
||||
foreach($u['roles'] AS $r=>$rd) {
|
||||
echo "<tr><td>";
|
||||
echo $rd['name'];
|
||||
echo "</td>";
|
||||
if($rd['active']=="yes"){ $cl="happy"; $cls=""; } else { $cl="error"; $cls="not "; }
|
||||
echo "<td class=\"$cl\">{$cls}active</td>";
|
||||
if($rd['complete']=="yes"){ $cl="happy"; $cls=""; } else { $cl="error"; $cls="not "; }
|
||||
echo "<td class=\"$cl\">{$cls}complete</td>";
|
||||
echo "</tr>";
|
||||
}
|
||||
echo "</table>";
|
||||
} else {
|
||||
echo "no roles";
|
||||
}
|
||||
}
|
||||
else {
|
||||
echo "no user record for this conference. ";
|
||||
echo " <a href=\"account_list.php?action=join&accounts_id={$r['id']}\">click to join conference</a>";
|
||||
}
|
||||
echo "</td>";
|
||||
echo "</tr>";
|
||||
}
|
||||
echo "</tbody>";
|
||||
echo "</table>";
|
||||
|
||||
send_footer();
|
||||
?>
|
@ -1,5 +1,28 @@
|
||||
<?php
|
||||
<?
|
||||
/*
|
||||
This file is part of the 'Science Fair In A Box' project
|
||||
SFIAB Website: http://www.sfiab.ca
|
||||
|
||||
Copyright (C) 2005-2008 Sci-Tech Ontario Inc <info@scitechontario.org>
|
||||
Copyright (C) 2008-2012 Youth Science Ontario <info@youthscienceontario.ca>
|
||||
Copyright (C) 2005-2012 James Grant <james@lightbox.org>
|
||||
|
||||
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.
|
||||
*/
|
||||
?>
|
||||
<?
|
||||
|
||||
class annealer {
|
||||
|
||||
@ -309,6 +332,11 @@ class annealer {
|
||||
|
||||
if($temperature < 0.1 && $last_cost_count > 10)
|
||||
break;
|
||||
|
||||
//if we go 1 million iterations without changing the cost, lets give up
|
||||
if($last_cost_count>1000000)
|
||||
break;
|
||||
|
||||
// TRACE("Cost is {$this->cost}\n");
|
||||
$temperature *= $this->rate;
|
||||
/*
|
||||
|
@ -24,8 +24,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
require_once("awards.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
send_header('Create All Divisional Awards',
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
@ -39,31 +38,21 @@
|
||||
if($_GET['award_types_id']) $award_types_id=$_GET['award_types_id'];
|
||||
else if($_POST['award_types_id']) $award_types_id=$_POST['award_types_id'];
|
||||
|
||||
if($_GET['force'] == "true") {
|
||||
$q=mysql_query("SELECT id FROM award_awards WHERE award_types_id='1' AND conferences_id='{$conference['id']}'");
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
award_delete($r->id);
|
||||
}
|
||||
}
|
||||
|
||||
//first, we can only do this if we dont have any type=divisional awards created yet
|
||||
$q=mysql_query("SELECT COUNT(id) AS num FROM award_awards WHERE award_types_id='1' AND conferences_id='{$conference['id']}'");
|
||||
$q=mysql_query("SELECT COUNT(id) AS num FROM award_awards WHERE award_types_id='1' AND year='{$config['FAIRYEAR']}'");
|
||||
$r=mysql_fetch_object($q);
|
||||
if($r->num)
|
||||
{
|
||||
echo error(i18n("%1 Divisional awards already exist. There must not be any divisional awards in order to run this wizard",array($r->num)));
|
||||
echo "<p><a href='award_awardcreatedivisional.php?force=true'>" . i18n("Proceed Anyways?") . "</a> ";
|
||||
echo i18n("This will delete all existing divisional awards.");
|
||||
echo "</p>";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE conferences_id='".$conference['id']."' ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE year='".$config['FAIRYEAR']."' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q))
|
||||
$div[$r->id]=$r->division;
|
||||
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE conferences_id='".$conference['id']."' ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE year='".$config['FAIRYEAR']."' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q))
|
||||
$cat[$r->id]=$r->category;
|
||||
|
||||
@ -71,7 +60,7 @@ if($_GET['force'] == "true") {
|
||||
$ckeys = array_keys($cat);
|
||||
|
||||
if($config['filterdivisionbycategory']=="yes") {
|
||||
$q=mysql_query("SELECT * FROM projectcategoriesdivisions_link WHERE conferences_id='".$conference['id']."' ORDER BY projectdivisions_id,projectcategories_id");
|
||||
$q=mysql_query("SELECT * FROM projectcategoriesdivisions_link WHERE year='".$config['FAIRYEAR']."' ORDER BY projectdivisions_id,projectcategories_id");
|
||||
$divcat=array();
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
$divcat[]=array("c"=>$r->projectcategories_id,"d"=>$r->projectdivisions_id);
|
||||
@ -90,7 +79,7 @@ if($_GET['force'] == "true") {
|
||||
|
||||
if($_GET['action']=="create" && $_GET['sponsors_id'])
|
||||
{
|
||||
$q=mysql_query("SELECT * FROM award_prizes WHERE conferences_id='-1' AND award_awards_id='0' ORDER BY `order`");
|
||||
$q=mysql_query("SELECT * FROM award_prizes WHERE year='-1' AND award_awards_id='0' ORDER BY `order`");
|
||||
$prizes=array();
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
@ -117,27 +106,27 @@ if($_GET['force'] == "true") {
|
||||
$c_category=$cat[$c_id];
|
||||
|
||||
echo i18n("Creating %1 - %2",array($c_category,$d_division))."<br />";
|
||||
mysql_query("INSERT INTO award_awards (sponsors_id,award_types_id,name,criteria,`order`,conferences_id) VALUES (
|
||||
mysql_query("INSERT INTO award_awards (sponsors_id,award_types_id,name,criteria,`order`,year) VALUES (
|
||||
'{$_GET['sponsors_id']}',
|
||||
'1',
|
||||
'$c_category - $d_division',
|
||||
'".i18n("Best %1 projects in the %2 division",array($c_category,$d_division))."',
|
||||
'$ord',
|
||||
'{$conference['id']}'
|
||||
'{$config['FAIRYEAR']}'
|
||||
)");
|
||||
echo mysql_error();
|
||||
$award_awards_id=mysql_insert_id();
|
||||
|
||||
|
||||
mysql_query("INSERT INTO award_awards_projectcategories (award_awards_id,projectcategories_id,conferences_id) VALUES ('$award_awards_id','$c_id','{$conference['id']}')");
|
||||
mysql_query("INSERT INTO award_awards_projectdivisions (award_awards_id,projectdivisions_id,conferences_id) VALUES ('$award_awards_id','$d_id','{$conference['id']}')");
|
||||
mysql_query("INSERT INTO award_awards_projectcategories (award_awards_id,projectcategories_id,year) VALUES ('$award_awards_id','$c_id','{$config['FAIRYEAR']}')");
|
||||
mysql_query("INSERT INTO award_awards_projectdivisions (award_awards_id,projectdivisions_id,year) VALUES ('$award_awards_id','$d_id','{$config['FAIRYEAR']}')");
|
||||
|
||||
$ord++;
|
||||
|
||||
echo " ".i18n("Prizes: ");
|
||||
foreach($prizes AS $prize)
|
||||
{
|
||||
mysql_query("INSERT INTO award_prizes (award_awards_id,cash,scholarship,value,prize,number,`order`,excludefromac,trophystudentkeeper,trophystudentreturn,trophyschoolkeeper,trophyschoolreturn,conferences_id) VALUES (
|
||||
mysql_query("INSERT INTO award_prizes (award_awards_id,cash,scholarship,value,prize,number,`order`,excludefromac,trophystudentkeeper,trophystudentreturn,trophyschoolkeeper,trophyschoolreturn,year) VALUES (
|
||||
'$award_awards_id',
|
||||
'{$prize['cash']}',
|
||||
'{$prize['scholarship']}',
|
||||
@ -150,7 +139,7 @@ if($_GET['force'] == "true") {
|
||||
'{$prize['trophystudentreturn']}',
|
||||
'{$prize['trophyschoolkeeper']}',
|
||||
'{$prize['trophyschoolreturn']}',
|
||||
'{$conference['id']}'
|
||||
'{$config['FAIRYEAR']}'
|
||||
)");
|
||||
echo $prize['prize'].",";
|
||||
}
|
||||
@ -183,10 +172,10 @@ if($_GET['force'] == "true") {
|
||||
echo "</select>";
|
||||
echo "</td></tr>";
|
||||
|
||||
echo "<tr><td>".i18n("Prizes")."</td><td><a href=\"award_awards.php?action=edit_prize_template\">Edit prize template for divisional awards</a>";
|
||||
//the 'generic' template prizes for the awards are stored with conferences_id =-1 and award_awards_id=0
|
||||
echo "<tr><td>".i18n("Prizes")."</td><td><a href=\"award_prizes.php?award_awards_id=-1\">Edit prize template for divisional awards</a>";
|
||||
//the 'generic' template prizes for the awards are stored with year =-1 and award_awards_id=0
|
||||
|
||||
$q=mysql_query("SELECT * FROM award_prizes WHERE conferences_id='-1' AND award_awards_id='0' ORDER BY `order`");
|
||||
$q=mysql_query("SELECT * FROM award_prizes WHERE year='-1' AND award_awards_id='0' ORDER BY `order`");
|
||||
|
||||
if(mysql_num_rows($q))
|
||||
{
|
||||
|
@ -24,17 +24,19 @@
|
||||
<?
|
||||
require_once('../common.inc.php');
|
||||
require_once('../user.inc.php');
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require_once('awards.inc.php');
|
||||
|
||||
switch($_GET['action']) {
|
||||
case 'draw_awards_table':
|
||||
draw_awards_table();
|
||||
exit;
|
||||
case 'awardinfo_load':
|
||||
$id = intval($_GET['id']);
|
||||
$q=mysql_query("SELECT * FROM award_awards WHERE id='$id'");
|
||||
$ret = mysql_fetch_assoc($q);
|
||||
//json_encode NEEDS UTF8 DATA, but we store it in the database as ISO :(
|
||||
foreach($ret AS $k=>$v) {
|
||||
$ret[$k]=iconv("ISO-8859-1","UTF-8",$v);
|
||||
}
|
||||
//echo iconv("ISO-8859-1","UTF-8",json_encode($ret));
|
||||
echo json_encode($ret);
|
||||
exit;
|
||||
|
||||
@ -48,8 +50,8 @@
|
||||
$id=intval($_POST['id']);
|
||||
|
||||
if($id == -1) {
|
||||
$q=mysql_query("INSERT INTO award_awards (conferences_id,self_nominate,schedule_judges)
|
||||
VALUES ('{$conference['id']}','yes','yes')");
|
||||
$q=mysql_query("INSERT INTO award_awards (year,self_nominate,schedule_judges)
|
||||
VALUES ('{$config['FAIRYEAR']}','yes','yes')");
|
||||
$id = mysql_insert_id();
|
||||
happy_("Award Created");
|
||||
/* Set the award_id in the client */
|
||||
@ -58,18 +60,18 @@
|
||||
|
||||
$q = "UPDATE award_awards SET
|
||||
award_types_id='".intval($_POST['award_types_id'])."',
|
||||
presenter='".mysql_escape_string(stripslashes($_POST['presenter']))."',
|
||||
presenter='".mysql_escape_string(iconv("UTF-8","ISO-8859-1",stripslashes($_POST['presenter'])))."',
|
||||
excludefromac='".(($_POST['excludefromac'] == 1) ? 1 : 0)."',
|
||||
cwsfaward='".(($_POST['cwsfaward'] == 1) ? 1 : 0)."',
|
||||
self_nominate='".(($_POST['self_nominate'] == 'yes') ? 'yes' : 'no')."',
|
||||
schedule_judges='".(($_POST['schedule_judges'] == 'yes') ? 'yes' : 'no')."',
|
||||
description='".mysql_escape_string(stripslashes($_POST['description']))."' ";
|
||||
description='".mysql_escape_string(iconv("UTF-8","ISO-8859-1",stripslashes($_POST['description'])))."' ";
|
||||
|
||||
if(array_key_exists('name', $_POST)) {
|
||||
/* These values may be disabled, if they name key exists, assume
|
||||
* they aren't disabled and save them too */
|
||||
$q .= ",name='".mysql_escape_string(stripslashes($_POST['name']))."',
|
||||
criteria='".mysql_escape_string(stripslashes($_POST['criteria']))."',
|
||||
$q .= ",name='".mysql_escape_string(iconv("UTF-8","ISO-8859-1",stripslashes($_POST['name'])))."',
|
||||
criteria='".mysql_escape_string(iconv("UTF-8","ISO-8859-1",stripslashes($_POST['criteria'])))."',
|
||||
sponsors_id='".intval($_POST['sponsors_id'])."' ";
|
||||
}
|
||||
$q .= "WHERE id='$id'";
|
||||
@ -105,43 +107,14 @@
|
||||
error_("Invalid data");
|
||||
exit;
|
||||
}
|
||||
foreach($_POST['categories'] AS $key=>$cat) {
|
||||
if(!is_numeric($cat)) {
|
||||
error_("Invalid data");
|
||||
exit;
|
||||
}
|
||||
}
|
||||
foreach($_POST['divisions'] AS $key=>$div) {
|
||||
if(!is_numeric($div)) {
|
||||
error_("Invalid data");
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
$q=mysql_query("SELECT (CASE WHEN ((SELECT a.award_types_id FROM award_awards AS a WHERE id=$id) = 1) THEN (
|
||||
SELECT COUNT(*) AS c FROM award_awards AS aa
|
||||
LEFT JOIN award_awards_projectcategories AS aapc ON (aa.id = aapc.award_awards_id)
|
||||
LEFT JOIN award_awards_projectdivisions AS aapd ON (aa.id = aapd.award_awards_id)
|
||||
WHERE aa.conferences_id = {$conference['id']} AND
|
||||
aa.award_types_id=1 AND
|
||||
aa.id != $id AND
|
||||
projectcategories_id IN (". implode(",", $_POST['categories']) .") AND
|
||||
projectdivisions_id IN (". implode(",", $_POST['divisions']) .")
|
||||
) ELSE 0 END) as c");
|
||||
|
||||
$r = mysql_fetch_object($q);
|
||||
if($r->c != 0) {
|
||||
error_("Cannot save. There is already a divisional award with the same eligibility criteria.");
|
||||
exit;
|
||||
}
|
||||
|
||||
//wipe out any old award-category links
|
||||
mysql_query("DELETE FROM award_awards_projectcategories WHERE award_awards_id='$id'");
|
||||
|
||||
foreach($_POST['categories'] AS $key=>$cat) {
|
||||
$c = intval($cat);
|
||||
mysql_query("INSERT INTO award_awards_projectcategories (award_awards_id,projectcategories_id,conferences_id)
|
||||
VALUES ('$id','$c','{$conference['id']}')");
|
||||
mysql_query("INSERT INTO award_awards_projectcategories (award_awards_id,projectcategories_id,year)
|
||||
VALUES ('$id','$c','{$config['FAIRYEAR']}')");
|
||||
echo mysql_error();
|
||||
}
|
||||
|
||||
@ -151,8 +124,8 @@
|
||||
//now add the new ones
|
||||
foreach($_POST['divisions'] AS $key=>$div) {
|
||||
$d = intval($div);
|
||||
mysql_query("INSERT INTO award_awards_projectdivisions (award_awards_id,projectdivisions_id,conferences_id)
|
||||
VALUES ('$id','$d','{$conference['id']}')");
|
||||
mysql_query("INSERT INTO award_awards_projectdivisions (award_awards_id,projectdivisions_id,year)
|
||||
VALUES ('$id','$d','{$config['FAIRYEAR']}')");
|
||||
echo mysql_error();
|
||||
}
|
||||
happy_("Eligibility information saved");
|
||||
@ -182,11 +155,14 @@
|
||||
case 'prizeinfo_load':
|
||||
$id = intval($_GET['id']);
|
||||
if($id == -1) {
|
||||
$q=mysql_query("SELECT * FROM award_prizes WHERE conferences_id='-1' AND award_awards_id='0' ORDER BY `order`");
|
||||
$q=mysql_query("SELECT * FROM award_prizes WHERE year='-1' AND award_awards_id='0' ORDER BY `order`");
|
||||
} else {
|
||||
$q = mysql_query("SELECT * FROM award_prizes WHERE award_awards_id='$id' ORDER BY `order`");
|
||||
}
|
||||
while($r=mysql_fetch_assoc($q)) {
|
||||
foreach($r AS $k=>$v) {
|
||||
$r[$k]=iconv("ISO-8859-1","UTF-8",$v);
|
||||
}
|
||||
$ret[] = $r;
|
||||
}
|
||||
echo json_encode($ret);
|
||||
@ -196,19 +172,19 @@
|
||||
$q = mysql_query("SELECT * FROM award_prizes WHERE id='$id'");
|
||||
$ret=mysql_fetch_assoc($q);
|
||||
foreach($ret AS $k=>$v) {
|
||||
$ret[$k]=$v;
|
||||
$ret[$k]=iconv("ISO-8859-1","UTF-8",$v);
|
||||
}
|
||||
echo json_encode($ret);
|
||||
exit;
|
||||
|
||||
case 'prize_create':
|
||||
$aaid = intval($_GET['award_awards_id']);
|
||||
$conferenceId = $conference['id'];
|
||||
$year = $config['FAIRYEAR'];
|
||||
if($aaid == -1) {
|
||||
$aaid = 0;
|
||||
$conferenceId = -1;
|
||||
$year = -1;
|
||||
}
|
||||
mysql_query("INSERT INTO award_prizes(award_awards_id,conferences_id) VALUES ('$aaid','$conferenceId');");
|
||||
mysql_query("INSERT INTO award_prizes(award_awards_id,year) VALUES ('$aaid','$year');");
|
||||
$ret = array('id' => mysql_insert_id() );
|
||||
echo json_encode($ret);
|
||||
exit;
|
||||
@ -216,16 +192,16 @@
|
||||
case 'prize_save':
|
||||
$id = intval($_POST['id']);
|
||||
$q="UPDATE award_prizes SET
|
||||
prize='".mysql_escape_string(stripslashes($_POST['prize']))."',
|
||||
prize='".mysql_escape_string(stripslashes(iconv("UTF-8","ISO-8859-1",$_POST['prize'])))."',
|
||||
cash='".intval($_POST['cash'])."',
|
||||
scholarship='".intval($_POST['scholarship'])."',
|
||||
value='".intval($_POST['value'])."',
|
||||
number='".intval($_POST['number'])."',
|
||||
excludefromac='".(($_POST['excludefromac']==1)? 1 : 0)."',
|
||||
trophystudentkeeper='".(array_key_exists('trophystudentkeeper', $_POST) ? 1 : 0)."',
|
||||
trophystudentreturn='".(array_key_exists('trophystudentreturn', $_POST) ? 1 : 0)."',
|
||||
trophyschoolkeeper='".(array_key_exists('trophyschoolkeeper', $_POST) ? 1 : 0)."',
|
||||
trophyschoolreturn='".(array_key_exists('trophyschoolreturn', $_POST) ? 1 : 0)."'
|
||||
trophystudentkeeper='".(($_POST['trophystudentkeeper']==1) ? 1 : 0)."',
|
||||
trophystudentreturn='".(($_POST['trophystudentreturn']==1) ? 1 : 0)."',
|
||||
trophyschoolkeeper='".(($_POST['trophyschoolkeeper']==1) ? 1 : 0)."',
|
||||
trophyschoolreturn='".(($_POST['trophyschoolreturn']==1) ? 1 : 0)."'
|
||||
WHERE id='$id'";
|
||||
mysql_query($q);
|
||||
// echo $q;
|
||||
@ -285,9 +261,9 @@
|
||||
while($r = mysql_fetch_assoc($q)) {
|
||||
echo "<tr><td style=\"padding-left:1em;padding-right:1em\">{$r['name']}</td>";
|
||||
$ch = $dl[$r['id']] == true ? 'checked="checked"' : '';
|
||||
echo "<td style=\"text-align:center\"><input type=\"checkbox\" name=\"feeder_dl[]\" value=\"{$r['id']} $ch \"></td>";
|
||||
echo "<td style=\"text-align:center\"><input type=\"checkbox\" name=\"feeder_dl[]\" value=\"{$r['id']}\" $ch ></td>";
|
||||
$ch = $ul[$r['id']] == true ? 'checked="checked"' : '';
|
||||
echo "<td style=\"text-align:center\"><input type=\"checkbox\" name=\"feeder_ul[]\" value=\"{$r['id']} $ch \"></td>";
|
||||
echo "<td style=\"text-align:center\"><input type=\"checkbox\" name=\"feeder_ul[]\" value=\"{$r['id']}\" $ch ></td>";
|
||||
echo '</tr>';
|
||||
}
|
||||
?>
|
||||
@ -427,7 +403,7 @@ function awardinfo_save()
|
||||
$("#popup_editor").dialog('close');
|
||||
popup_editor(award_id, '');
|
||||
}
|
||||
draw_awards_table();
|
||||
|
||||
});
|
||||
return false;
|
||||
}
|
||||
@ -438,32 +414,17 @@ function update_eligibility()
|
||||
award_tab_update['eligibility'] = award_id;
|
||||
$.getJSON("<?=$_SERVER['PHP_SELF']?>?action=eligibility_load&id="+award_id,
|
||||
function(json){
|
||||
$("[name^=\"divisions\"]").attr('checked',false);
|
||||
$("[name^=\"categories\"]").attr('checked',false);
|
||||
|
||||
for(i=0;i<json.categories.length;i++) {
|
||||
var c=json.categories[i];
|
||||
$("#eligibility_categories_"+c).attr('checked', 'checked');
|
||||
}
|
||||
for(i=0;i<json.divisions.length;i++) {
|
||||
var d=json.divisions[i];
|
||||
$("#eligibility_divisions_"+d).attr('checked', 'checked');
|
||||
}
|
||||
$("[name=categories\\[\\]]").val(json.categories);
|
||||
$("[name=divisions\\[\\]]").val(json.divisions);
|
||||
});
|
||||
}
|
||||
|
||||
function prizefields_reset() {
|
||||
$(".prizeinfo").removeAttr("checked");
|
||||
$(".prizeinfo").attr("disabled", "disabled").val('');
|
||||
$("#prizeinfo_save").attr("disabled", "disabled");
|
||||
}
|
||||
|
||||
function prizelist_refresh()
|
||||
{
|
||||
$("#prizelist").tableDnD({
|
||||
onDrop: function(table, row) {
|
||||
var order = $.tableDnD.serialize();
|
||||
$("#debug").load("<?=$_SERVER['PHP_SELF']?>?action=prize_order&"+order);
|
||||
$("#prizeinfo_info").load("<?=$_SERVER['PHP_SELF']?>?action=prize_order&"+order);
|
||||
/* Change the order */
|
||||
var rows = table.tBodies[0].rows;
|
||||
for (var i=0; i<rows.length; i++) {
|
||||
@ -513,31 +474,11 @@ function edit_prize(id)
|
||||
$("#prizeinfo_scholarship").val(json.scholarship);
|
||||
$("#prizeinfo_value").val(json.value);
|
||||
$("#prizeinfo_number").val(json.number);
|
||||
if(json.trophystudentkeeper == 1) {
|
||||
$("#prizeinfo_trophystudentkeeper").attr("checked", "checked");
|
||||
} else {
|
||||
$("#prizeinfo_trophystudentkeeper").removeAttr("checked");
|
||||
}
|
||||
if(json.trophystudentreturn == 1) {
|
||||
$("#prizeinfo_trophystudentreturn").attr("checked", "checked");
|
||||
} else {
|
||||
$("#prizeinfo_trophystudentreturn").removeAttr("checked");
|
||||
}
|
||||
if(json.trophyschoolreturn == 1) {
|
||||
$("#prizeinfo_trophyschoolreturn").attr("checked", "checked");
|
||||
} else {
|
||||
$("#prizeinfo_trophyschoolreturn").removeAttr("checked");
|
||||
}
|
||||
if(json.trophyschoolkeeper == 1) {
|
||||
$("#prizeinfo_trophyschoolkeeper").attr("checked", "checked");
|
||||
} else {
|
||||
$("#prizeinfo_trophyschoolkeeper").removeAttr("checked");
|
||||
}
|
||||
if(json.excludefromac == 1) {
|
||||
$("#prizeinfo_excludefromac").attr("checked", "checked");
|
||||
} else {
|
||||
$("#prizeinfo_excludefromac").removeAttr("checked");
|
||||
}
|
||||
$("#prizeinfo_trophystudentkeeper").val([json.trophystudentkeeper]);
|
||||
$("#prizeinfo_trophystudentreturn").val([json.trophystudentreturn]);
|
||||
$("#prizeinfo_trophyschoolreturn").val([json.trophyschoolreturn]);
|
||||
$("#prizeinfo_trophyschoolkeeper").val([json.trophyschoolkeeper]);
|
||||
$("#prizeinfo_excludefromac").val([json.excludefromac]);
|
||||
$(".prizeinfo").removeAttr("disabled");
|
||||
$("#prizeinfo_save").removeAttr("disabled");
|
||||
});
|
||||
@ -564,13 +505,12 @@ function prize_delete(id)
|
||||
{
|
||||
var confirm = confirmClick('Are you sure you want to delete this prize?');
|
||||
if(confirm == true) {
|
||||
$("#debug").load("<?$_SERVER['PHP_SELF']?>?action=prize_delete&id="+id, $("#prizeinfo").serializeArray(),
|
||||
$("#prizeinfo_info").load("<?$_SERVER['PHP_SELF']?>?action=prize_delete&id="+id,null,
|
||||
function(responseText, textStatus, XMLHttpRequest)
|
||||
{
|
||||
$(".prizelist_tr#"+id).fadeTo('slow', 0);
|
||||
$(".prizelist_tr#"+id).remove();
|
||||
prizelist_refresh();
|
||||
prizefields_reset();
|
||||
});
|
||||
}
|
||||
return 0;
|
||||
@ -702,7 +642,7 @@ $(document).ready(function() {
|
||||
</td></tr>
|
||||
<tr><td><?=i18n("Type")?>:</td><td>
|
||||
<?
|
||||
$tq=mysql_query("SELECT id,type FROM award_types WHERE conferences_id='{$conference['id']}' ORDER BY type");
|
||||
$tq=mysql_query("SELECT id,type FROM award_types WHERE year='{$config['FAIRYEAR']}' ORDER BY type");
|
||||
echo "<select id=\"awardinfo_award_types_id\" name=\"award_types_id\">";
|
||||
//only show the "choose a type" option if we are adding,if we are editing, then they must have already chosen one.
|
||||
echo $firsttype;
|
||||
@ -747,20 +687,20 @@ $(document).ready(function() {
|
||||
// if(count($currentcategories)==0) $class="class=\"error\""; else $class="";
|
||||
|
||||
//now select all the categories so we can list them all
|
||||
$cq=mysql_query("SELECT * FROM projectcategories WHERE conferences_id='{$conference['id']}' ORDER BY mingrade");
|
||||
$cq=mysql_query("SELECT * FROM projectcategories WHERE year='{$config['FAIRYEAR']}' ORDER BY mingrade");
|
||||
echo mysql_error();
|
||||
while($cr=mysql_fetch_object($cq)) {
|
||||
echo "<input type=\"checkbox\" id=\"eligibility_categories_{$cr->id}\" name=\"categories[]\" value=\"$cr->id\" /> ".i18n($cr->category)."<br />";
|
||||
echo "<input type=\"checkbox\" id=\"eligibility_categories_{$cr->id}\" name=\"categories[]\" value=\"$cr->id\" />".i18n($cr->category)."<br />";
|
||||
}
|
||||
?>
|
||||
</td></tr>
|
||||
|
||||
<tr><td><?=i18n("Divisions")?>:</td><td>
|
||||
<?
|
||||
$dq=mysql_query("SELECT * FROM projectdivisions WHERE conferences_id='{$conference['id']}' ORDER BY division");
|
||||
$dq=mysql_query("SELECT * FROM projectdivisions WHERE year='{$config['FAIRYEAR']}' ORDER BY division");
|
||||
echo mysql_error();
|
||||
while($dr=mysql_fetch_object($dq)) {
|
||||
echo "<input type=\"checkbox\" id=\"eligibility_divisions_{$dr->id}\" name=\"divisions[]\" value=\"$dr->id\" /> ".i18n($dr->division)."<br />";
|
||||
echo "<input type=\"checkbox\" id=\"eligibility_divisions_{$dr->id}\" name=\"divisions[]\" value=\"$dr->id\" />".i18n($dr->division)."<br />";
|
||||
}
|
||||
// if(count($currentcategories)==0 || count($currentdivisions)==0)
|
||||
// echo "<tr><td colspan=\"2\" class=\"error\">".i18n("At least one age category and one division must be selected")."</td></tr>";
|
||||
@ -861,8 +801,6 @@ function popup_editor(id, mode)
|
||||
* activation anyway */
|
||||
award_tab_update = new Array();
|
||||
|
||||
prizefields_reset();
|
||||
|
||||
/* Force no tabs to be selected, need to set collapsible
|
||||
* to true first */
|
||||
$('#editor_tabs').tabs('option', 'collapsible', true);
|
||||
@ -905,7 +843,7 @@ function awardlist_refresh()
|
||||
onDrop: function(table, row) {
|
||||
var order = $.tableDnD.serialize();
|
||||
// $(row).fadeTo('fast',1);
|
||||
$("#debug").load("<?=$_SERVER['PHP_SELF']?>?action=award_order&"+order);
|
||||
$("#award_info").load("<?=$_SERVER['PHP_SELF']?>?action=award_order&"+order);
|
||||
|
||||
/* Change the order */
|
||||
var rows = table.tBodies[0].rows;
|
||||
@ -935,10 +873,6 @@ function award_delete(id)
|
||||
|
||||
}
|
||||
|
||||
function draw_awards_table(){
|
||||
$('#awards_table').load("<?=$_SERVER['PHP_SELF']?>?action=draw_awards_table");
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
awardlist_refresh();
|
||||
});
|
||||
@ -1000,7 +934,7 @@ echo "</select>";
|
||||
echo "</td></tr>";
|
||||
echo "<tr><td>";
|
||||
|
||||
$q=mysql_query("SELECT id,type FROM award_types WHERE conferences_id='{$conference['id']}' ORDER BY type");
|
||||
$q=mysql_query("SELECT id,type FROM award_types WHERE year='{$config['FAIRYEAR']}' ORDER BY type");
|
||||
echo "<select name=\"award_types_id\" onchange=\"document.forms.filterchange.submit()\">";
|
||||
echo "<option value=\"all\">".i18n("All Award Types")."</option>";
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
@ -1039,63 +973,43 @@ echo "</table>";
|
||||
<br /><br />
|
||||
|
||||
<?
|
||||
echo "<div id=\"awards_table\">";
|
||||
draw_awards_table();
|
||||
echo "</div>";
|
||||
/* For some reason, this submit button opens the dialog then it closes right away, but it doesn't
|
||||
* if the entry is done through the a href */
|
||||
//<input type="submit" onClick="award_create();" value="<?=i18n("Create New Award")>" />
|
||||
|
||||
if($_GET['action'] == 'edit_prize_template') {
|
||||
if($sponsors_id) $where_asi="AND sponsors_id='$sponsors_id'";
|
||||
if($award_types_id) $where_ati="AND award_types_id='$award_types_id'";
|
||||
// if($award_sponsors_confirmed) $where_asc="AND award_sponsors.confirmed='$award_sponsors_confirmed'";
|
||||
|
||||
?><script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
popup_editor(-1,'template');
|
||||
});
|
||||
</script>
|
||||
<?
|
||||
}
|
||||
send_footer();
|
||||
if(!$orderby) $orderby="order";
|
||||
|
||||
function draw_awards_table(){
|
||||
global $config;
|
||||
global $conference;
|
||||
$award_types_id=$_SESSION['award_types_id'];
|
||||
$sponsors_id=$_SESSION['sponsors_id'];
|
||||
$q=mysql_query("SELECT
|
||||
award_awards.id,
|
||||
award_awards.name,
|
||||
award_awards.order,
|
||||
award_awards.award_source_fairs_id,
|
||||
award_types.type,
|
||||
sponsors.organization
|
||||
FROM
|
||||
award_awards
|
||||
LEFT JOIN sponsors ON sponsors.id = award_awards.sponsors_id
|
||||
LEFT JOIN award_types ON award_types.id = award_awards.award_types_id
|
||||
WHERE
|
||||
award_awards.year='{$config['FAIRYEAR']}'
|
||||
$where_asi
|
||||
$where_ati
|
||||
AND award_types.year='{$config['FAIRYEAR']}'
|
||||
ORDER BY `$orderby`");
|
||||
|
||||
/* For some reason, this submit button opens the dialog then it closes right away, but it doesn't
|
||||
* if the entry is done through the a href */
|
||||
//<input type="submit" onClick="award_create();" value="<?=i18n("Create New Award")>" />
|
||||
echo mysql_error();
|
||||
|
||||
if($sponsors_id) $where_asi="AND sponsors_id='$sponsors_id'";
|
||||
if($award_types_id) $where_ati="AND award_types_id='$award_types_id'";
|
||||
// if($award_sponsors_confirmed) $where_asc="AND award_sponsors.confirmed='$award_sponsors_confirmed'";
|
||||
|
||||
if(!$orderby) $orderby="order";
|
||||
|
||||
$q=mysql_query("SELECT
|
||||
award_awards.id,
|
||||
award_awards.name,
|
||||
award_awards.order,
|
||||
award_awards.award_source_fairs_id,
|
||||
award_types.type,
|
||||
sponsors.organization
|
||||
FROM
|
||||
award_awards
|
||||
LEFT JOIN sponsors ON sponsors.id = award_awards.sponsors_id
|
||||
LEFT JOIN award_types ON award_types.id = award_awards.award_types_id
|
||||
WHERE
|
||||
award_awards.conferences_id='{$conference['id']}'
|
||||
$where_asi
|
||||
$where_ati
|
||||
AND award_types.conferences_id='{$conference['id']}'
|
||||
ORDER BY `$orderby`");
|
||||
|
||||
echo mysql_error();
|
||||
|
||||
if(mysql_num_rows($q)){
|
||||
echo "* ".i18n("Click on the Script Order and drag to re-order the awards");
|
||||
echo "<table id=\"awardlist\" class=\"tableview\" >";
|
||||
echo "<tr class=\"nodrop nodrag\">";
|
||||
echo " <th>".i18n("Order")."</th>";
|
||||
echo " <th>".i18n("Sponsor")."</th>";
|
||||
if(mysql_num_rows($q))
|
||||
{
|
||||
echo "* ".i18n("Click on the Script Order and drag to re-order the awards");
|
||||
echo "<table id=\"awardlist\" class=\"tableview\" >";
|
||||
echo "<tr class=\"nodrop nodrag\">";
|
||||
echo " <th>".i18n("Order")."</th>";
|
||||
echo " <th>".i18n("Sponsor")."</th>";
|
||||
echo " <th>".i18n("Type")."</th>";
|
||||
echo " <th>".i18n("Name")."</th>";
|
||||
echo " <th>".i18n("Prizes")."</th>";
|
||||
@ -1125,8 +1039,8 @@ function draw_awards_table(){
|
||||
echo " <td $eh align=\"center\">{$numr['num']}</td>";
|
||||
|
||||
echo " <td align=\"center\">";
|
||||
// echo "<img border=\"0\" src=\"{$config['SFIABDIRECTORY']}/images/16/edit.{$config['icon_extension']}\">";
|
||||
// echo " ";
|
||||
// echo "<img border=\"0\" src=\"{$config['SFIABDIRECTORY']}/images/16/edit.{$config['icon_extension']}\">";
|
||||
// echo " ";
|
||||
echo "<a onclick=\"award_delete({$r->id});\" href=\"#\" ><img border=0 src=\"{$config['SFIABDIRECTORY']}/images/16/button_cancel.{$config['icon_extension']}\"></a>";
|
||||
|
||||
echo " </td>\n";
|
||||
@ -1135,9 +1049,24 @@ function draw_awards_table(){
|
||||
if($hasexternal)
|
||||
echo "<tr class=\"externalaward\"><td colspan=\"6\">".i18n("Indicates award imported from an external source")."</td></tr>";
|
||||
echo "</table>\n";
|
||||
// echo "</form>";
|
||||
echo "</form>";
|
||||
}
|
||||
echo "<br />";
|
||||
//echo "<a href=\"award_prizes.php?award_awards_id=-1\">Edit prizes for the generic prize template</a>";
|
||||
}
|
||||
// echo "<a href=\"award_prizes.php?award_awards_id=-1\">Edit prizes for the generic prize template</a>";
|
||||
|
||||
|
||||
if($_GET['action'] == 'edit_prize_template') {
|
||||
|
||||
?><script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
popup_editor(-1,'template');
|
||||
});
|
||||
</script>
|
||||
<?
|
||||
}
|
||||
|
||||
|
||||
|
||||
send_footer();
|
||||
|
||||
?>
|
||||
|
@ -23,7 +23,7 @@
|
||||
<?
|
||||
require_once('../common.inc.php');
|
||||
require_once('../user.inc.php');
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require_once('curl.inc.php');
|
||||
require_once('awards.inc.php');
|
||||
|
||||
@ -71,7 +71,7 @@ case 'check':
|
||||
}
|
||||
|
||||
//get a list of all the existing awards for this external source
|
||||
$aq=mysql_query("SELECT * FROM award_awards WHERE award_source_fairs_id='$fairs_id' AND conferences_id='{$conference['id']}'");
|
||||
$aq=mysql_query("SELECT * FROM award_awards WHERE award_source_fairs_id='$fairs_id' AND year='{$config['FAIRYEAR']}'");
|
||||
$existingawards=array();
|
||||
while($ar=mysql_fetch_object($aq)) {
|
||||
$existingawards[$ar->id] = true;
|
||||
@ -109,7 +109,7 @@ case 'check':
|
||||
$tq=mysql_query("SELECT * FROM award_awards WHERE
|
||||
external_identifier='$identifier' AND
|
||||
award_source_fairs_id='$fairs_id' AND
|
||||
conferences_id='{$conference['id']}'");
|
||||
year='$year'");
|
||||
if(mysql_num_rows($tq) == 0) {
|
||||
/* Award doesn't exist, create it, then update it with the common code below */
|
||||
mysql_query("INSERT INTO award_awards (award_types_id,
|
||||
@ -121,9 +121,9 @@ case 'check':
|
||||
$award_id=mysql_insert_id();
|
||||
/* By default make all divs/cats eligible */
|
||||
foreach($divs as $id=>$d)
|
||||
mysql_query("INSERT INTO award_awards_projectdivisions(award_awards_id,projectdivisions_id,conferences_id) VALUES ('$award_id','$id','{$conference['id']}')");
|
||||
mysql_query("INSERT INTO award_awards_projectdivisions(award_awards_id,projectdivisions_id,year) VALUES ('$award_id','$id','{$config['FAIRYEAR']}')");
|
||||
foreach($cats as $id=>$c)
|
||||
mysql_query("INSERT INTO award_awards_projectcategories(award_awards_id,projectcategories_id,conferences_id) VALUES ('$award_id','$id','{$conference['id']}')");
|
||||
mysql_query("INSERT INTO award_awards_projectcategories(award_awards_id,projectcategories_id,year) VALUES ('$award_id','$id','{$config['FAIRYEAR']}')");
|
||||
} else {
|
||||
echo i18n("Award already exists, updating info")."<br />";
|
||||
$awardrecord=mysql_fetch_object($tq);
|
||||
|
@ -24,7 +24,7 @@ require_once('../common.inc.php');
|
||||
require_once('../user.inc.php');
|
||||
require_once('../projects.inc.php');
|
||||
require_once('curl.inc.php');
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
//function get_cwsf_award_winners()
|
||||
function get_winners($awardid, $fairs_id)
|
||||
@ -68,7 +68,7 @@ function get_winners($awardid, $fairs_id)
|
||||
$awards = array();
|
||||
if($awardid == -1) {
|
||||
/* Get all for this fair */
|
||||
$q=mysql_query("SELECT * FROM award_awards WHERE award_source_fairs_id='$fairs_id' AND conferences_id='{$conference['id']}'");
|
||||
$q=mysql_query("SELECT * FROM award_awards WHERE award_source_fairs_id='$fairs_id' AND year='{$config['FAIRYEAR']}'");
|
||||
if(mysql_num_rows($q) == 0) {
|
||||
error_("Can't find award id $awardid");
|
||||
return false;
|
||||
@ -78,7 +78,7 @@ function get_winners($awardid, $fairs_id)
|
||||
}
|
||||
} else {
|
||||
/* Get the award */
|
||||
$q=mysql_query("SELECT * FROM award_awards WHERE id='$awardid' AND conferences_id='{$conference['id']}'");
|
||||
$q=mysql_query("SELECT * FROM award_awards WHERE id='$awardid' AND year='{$config['FAIRYEAR']}'");
|
||||
if(mysql_num_rows($q)!=1) {
|
||||
error_("Can't find award id $awardid");
|
||||
return false;
|
||||
@ -98,7 +98,7 @@ function get_winners($awardid, $fairs_id)
|
||||
$winners=array( 'id' => $award['id'],
|
||||
'award_name' => $award['name'],
|
||||
'external_identifier' => $award['external_identifier'],
|
||||
'year' => $config['FAIRYEAR'], // FIXME - this needs to be updated to use conference id's
|
||||
'year' => $config['FAIRYEAR'],
|
||||
'prizes' => array());
|
||||
|
||||
if($fair['type'] != 'sfiab') {
|
||||
@ -115,7 +115,7 @@ function get_winners($awardid, $fairs_id)
|
||||
LEFT JOIN projects ON projects.id=winners.projects_id
|
||||
WHERE
|
||||
awards_prizes_id='$pid' AND
|
||||
winners.conferences_id='{$conference['id']}'");
|
||||
winners.year='{$config['FAIRYEAR']}'");
|
||||
echo mysql_error();
|
||||
/* Get all projects assigned to this prize */
|
||||
$prizewinners = array();
|
||||
@ -123,7 +123,7 @@ function get_winners($awardid, $fairs_id)
|
||||
|
||||
/* Get the students */
|
||||
$sq=mysql_query("SELECT * FROM students WHERE registrations_id='{$project['registrations_id']}'
|
||||
AND conferences_id='{$conference['id']}'");
|
||||
AND year='{$config['FAIRYEAR']}'");
|
||||
$students=array();
|
||||
while($s=mysql_fetch_assoc($sq)) {
|
||||
|
||||
@ -179,7 +179,7 @@ function count_winners($awardid, $fairs_id)
|
||||
$awards = array();
|
||||
if($awardid == -1) {
|
||||
/* Get all for this fair */
|
||||
$q=mysql_query("SELECT * FROM award_awards WHERE award_source_fairs_id='$fairs_id' AND conferences_id='{$conference['id']}'");
|
||||
$q=mysql_query("SELECT * FROM award_awards WHERE award_source_fairs_id='$fairs_id' AND year='{$config['FAIRYEAR']}'");
|
||||
if(mysql_num_rows($q) == 0) {
|
||||
error_("Can't find award id $awardid");
|
||||
return 0;
|
||||
@ -189,7 +189,7 @@ function count_winners($awardid, $fairs_id)
|
||||
}
|
||||
} else {
|
||||
/* Get the award */
|
||||
$q=mysql_query("SELECT * FROM award_awards WHERE id='$awardid' AND conferences_id='{$conference['id']}'");
|
||||
$q=mysql_query("SELECT * FROM award_awards WHERE id='$awardid' AND year='{$config['FAIRYEAR']}'");
|
||||
if(mysql_num_rows($q)!=1) {
|
||||
error_("Can't find award id $awardid");
|
||||
return 0;
|
||||
@ -208,7 +208,7 @@ function count_winners($awardid, $fairs_id)
|
||||
LEFT JOIN projects ON projects.id=winners.projects_id
|
||||
WHERE
|
||||
awards_prizes_id='$pid' AND
|
||||
winners.conferences_id='{$conference['id']}'");
|
||||
winners.year='{$config['FAIRYEAR']}'");
|
||||
$wc = mysql_fetch_assoc($wq);
|
||||
$count += $wc['C'];
|
||||
}
|
||||
@ -224,7 +224,7 @@ function load_server_cats_divs($fairs_id)
|
||||
$q = mysql_query("SELECT * FROM fairs WHERE id='$fairs_id'");
|
||||
$fair = mysql_fetch_assoc($q);
|
||||
|
||||
$req = array('get_categories' => array('year' => $config['FAIRYEAR']), // FIXME - this needs to be updated to use conference id's
|
||||
$req = array('get_categories' => array('year' => $config['FAIRYEAR']),
|
||||
'get_divisions' => array('year' => $config['FAIRYEAR'])
|
||||
);
|
||||
$data = curl_query($fair, $req);
|
||||
@ -235,7 +235,7 @@ function load_server_cats_divs($fairs_id)
|
||||
} else {
|
||||
$catmap = array();
|
||||
/* Load ours */
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE conferences_id='{$conference['id']}' ORDER BY mingrade");
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE year='{$config['FAIRYEAR']}' ORDER BY mingrade");
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
foreach($data['categories'] as $id=>$c) {
|
||||
if($c['mingrade'] == $r->mingrade) {
|
||||
@ -249,7 +249,7 @@ function load_server_cats_divs($fairs_id)
|
||||
$divmap = unserialize($fair['divmap']);
|
||||
} else {
|
||||
$ret['divmap'] = array();
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE conferences_id='{$conference['id']}' ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE year='{$config['FAIRYEAR']}' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
$lowest = 999;
|
||||
$lowest_id = 0;
|
||||
@ -423,7 +423,7 @@ case 'additional_materials':
|
||||
$q = mysql_query("SELECT * FROM fairs WHERE id='{$a['award_source_fairs_id']}'");
|
||||
$fair = mysql_fetch_assoc($q);
|
||||
$req = array('award_additional_materials' => array(
|
||||
'year'=>$config['FAIRYEAR'], // FIXME - this needs to be updated to use conference id's
|
||||
'year'=>$config['FAIRYEAR'],
|
||||
'identifier'=>$a['external_identifier'])
|
||||
);
|
||||
$data = curl_query($fair, $req, $url);
|
||||
@ -662,7 +662,7 @@ if(!function_exists('curl_init')) {
|
||||
$q = mysql_query("SELECT fairs.id, fairs.name, fairs.type, COUNT(award_awards.id) as AWARD_COUNT FROM fairs
|
||||
LEFT JOIN award_awards ON award_awards.award_source_fairs_id=fairs.id
|
||||
WHERE award_awards.award_source_fairs_id IS NOT NULL
|
||||
AND award_awards.conferences_id='{$conference['id']}'
|
||||
AND award_awards.year='{$config['FAIRYEAR']}'
|
||||
GROUP BY fairs.id
|
||||
ORDER BY fairs.name ");
|
||||
echo mysql_error();
|
||||
@ -706,7 +706,7 @@ $q = mysql_query("SELECT award_awards.id, award_awards.name AS awardname,
|
||||
FROM award_awards
|
||||
LEFT JOIN fairs ON fairs.id=award_awards.award_source_fairs_id
|
||||
WHERE award_awards.award_source_fairs_id IS NOT NULL
|
||||
AND award_awards.conferences_id='{$conference['id']}'
|
||||
AND award_awards.year='{$config['FAIRYEAR']}'
|
||||
ORDER BY fairs.name, award_awards.name");
|
||||
echo mysql_error();
|
||||
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
send_header("Awards",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
|
@ -23,7 +23,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
//make sure storage folder exists
|
||||
if(!file_exists("../data/userfiles"))
|
||||
|
@ -1,56 +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 <info@scitechontario.org>
|
||||
Copyright (C) 2005 James Grant <james@lightbox.org>
|
||||
|
||||
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_once("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
require_once("../committee.inc.php");
|
||||
|
||||
user_auth_required('admin');
|
||||
|
||||
require("../tableeditor.class.php");
|
||||
/* Now, start the output for this page */
|
||||
send_header("Committee Management",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php' ),
|
||||
"committee_management");
|
||||
|
||||
echo "<a href=\"committees.php\">Manage Committee Members</a><br />";
|
||||
|
||||
$_SESSION['last_page'] = 'committee_management';
|
||||
|
||||
//make sure storage folder exists
|
||||
|
||||
$editor=new TableEditor("committees",
|
||||
array("name"=>"Committee Name",
|
||||
)
|
||||
);
|
||||
|
||||
$editor->setPrimaryKey("id");
|
||||
$editor->setDefaultSortField("name");
|
||||
$editor->setRecordType("Committee");
|
||||
$editor->execute();
|
||||
|
||||
send_footer();
|
||||
?>
|
||||
|
@ -26,14 +26,14 @@
|
||||
require_once("../user.inc.php");
|
||||
require_once("../committee.inc.php");
|
||||
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
if($_POST['accounts_id'])
|
||||
$accounts_id = intval($_POST['accounts_id']);
|
||||
if($_POST['users_uid'])
|
||||
$uid = intval($_POST['users_uid']);
|
||||
|
||||
|
||||
/* Now, start the output for this page */
|
||||
send_header("Committee Member Management",
|
||||
send_header("Committee Management",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php' ),
|
||||
"committee_management");
|
||||
@ -46,10 +46,16 @@ if($_POST['accounts_id'])
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
|
||||
function openeditor(id)
|
||||
{
|
||||
window.open("user_editor_window.php?id="+id,"UserEditor","location=no,menubar=no,directories=no,toolbar=no,width=770,height=500,scrollbars=yes");
|
||||
return false;
|
||||
}
|
||||
|
||||
function neweditor()
|
||||
{
|
||||
var username = document.forms.addmember.add_member.value;
|
||||
window.open("../user_editor_window.php?type=committee&username="+username,"UserEditor","location=no,menubar=no,directories=no,toolbar=no,width=770,height=500,scrollbars=yes");
|
||||
window.open("user_editor_window.php?type=committee&username="+username,"UserEditor","location=no,menubar=no,directories=no,toolbar=no,width=770,height=500,scrollbars=yes");
|
||||
document.forms.addmember.add_member.value = "";
|
||||
return false;
|
||||
}
|
||||
@ -95,7 +101,7 @@ function actionSubmit()
|
||||
alert('You must choose an action');
|
||||
return false;
|
||||
}
|
||||
if(document.forms.memberaction.accounts_id.selectedIndex==0)
|
||||
if(document.forms.memberaction.users_uid.selectedIndex==0)
|
||||
{
|
||||
alert('You must choose a member');
|
||||
return false;
|
||||
@ -103,7 +109,7 @@ function actionSubmit()
|
||||
|
||||
if(document.forms.memberaction.action.selectedIndex == 2) {
|
||||
// Edit
|
||||
var id = document.forms.memberaction.accounts_id.options[document.forms.memberaction.accounts_id.selectedIndex];
|
||||
var id = document.forms.memberaction.users_uid.options[document.forms.memberaction.users_uid.selectedIndex];
|
||||
openeditor(id.value);
|
||||
// alert("id="+id.value);
|
||||
return false;
|
||||
@ -119,15 +125,24 @@ function actionSubmit()
|
||||
</script>
|
||||
<?
|
||||
|
||||
if($_POST['committees_id']) {
|
||||
if($_POST['addcommittee'])
|
||||
{
|
||||
//add a new committee
|
||||
mysql_query("INSERT INTO committees (name) VALUES ('".mysql_escape_string($_POST['addcommittee'])."')");
|
||||
echo happy(i18n("Committee successfully added"));
|
||||
}
|
||||
|
||||
if($_POST['committees_id'] && $_POST['committees_ord']) {
|
||||
//re-order the committees
|
||||
$x=0;
|
||||
$ids=$_POST['committees_id'];
|
||||
$ords=$_POST['committees_ord'];
|
||||
|
||||
$titles=$_POST['title'];
|
||||
$pords = $_POST['order'];
|
||||
while($ids[$x]) {
|
||||
$cid = intval($ids[$x]);
|
||||
mysql_query("UPDATE committees SET ord='".intval($ords[$x])."' WHERE id='$cid'");
|
||||
$x++;
|
||||
|
||||
$ctitle = $titles[$cid];
|
||||
@ -138,12 +153,12 @@ if($_POST['committees_id']) {
|
||||
if(!is_array($ctitle)) continue;
|
||||
// print_r($ctitle);
|
||||
|
||||
foreach($ctitle as $accounts_id=>$title) {
|
||||
$o = intval($cord[$accounts_id]);
|
||||
foreach($ctitle as $uid=>$title) {
|
||||
$o = intval($cord[$uid]);
|
||||
$t = mysql_escape_string(stripslashes($title));
|
||||
$u = intval($accounts_id);
|
||||
$u = intval($uid);
|
||||
$q = "UPDATE committees_link SET title='$t', ord='$o'
|
||||
WHERE committees_id='$cid' AND accounts_id='$u'";
|
||||
WHERE committees_id='$cid' AND users_uid='$u'";
|
||||
// echo $q;
|
||||
mysql_query($q);
|
||||
}
|
||||
@ -155,12 +170,12 @@ if($_POST['committees_id']) {
|
||||
|
||||
if($_POST['action']=="assign")
|
||||
{
|
||||
if($_POST['committees_id'] && $_POST['accounts_id']) {
|
||||
if($_POST['committees_id'] && $_POST['users_uid']) {
|
||||
$cid = intval($_POST['committees_id']);
|
||||
$q=mysql_query("SELECT * FROM committees_link WHERE committees_id='$cid' AND accounts_id='$accounts_id'");
|
||||
$q=mysql_query("SELECT * FROM committees_link WHERE committees_id='$cid' AND users_uid='$uid'");
|
||||
|
||||
if(!mysql_num_rows($q)) {
|
||||
mysql_query("INSERT INTO committees_link (committees_id,accounts_id) VALUES ('$cid','$accounts_id')");
|
||||
mysql_query("INSERT INTO committees_link (committees_id,users_uid) VALUES ('$cid','$uid')");
|
||||
echo happy(i18n("Successfully added member to committee"));
|
||||
}
|
||||
else
|
||||
@ -170,9 +185,15 @@ if($_POST['action']=="assign")
|
||||
echo error(("You must choose both a member and a committee"));
|
||||
}
|
||||
|
||||
if($_GET['deletecommittee']) {
|
||||
$del = intval($_GET['deletecommittee']);
|
||||
mysql_query("DELETE FROM committees WHERE id='$del'");
|
||||
echo happy(i18n("Committee removed"));
|
||||
}
|
||||
|
||||
if($_POST['action']=="remove") {
|
||||
/* user_delete takes care of unlinking the user in other tables */
|
||||
user_delete($accounts_id, 'committee');
|
||||
user_delete($uid, 'committee');
|
||||
echo happy(i18n("Committee member deleted"));
|
||||
}
|
||||
|
||||
@ -180,12 +201,41 @@ if($_GET['unlinkmember'] && $_GET['unlinkcommittee']) {
|
||||
$mem = intval($_GET['unlinkmember']);
|
||||
$com = intval($_GET['unlinkcommittee']);
|
||||
//unlink the member from the committee
|
||||
mysql_query("DELETE FROM committees_link WHERE accounts_id='$mem' AND committees_id='$com'");
|
||||
mysql_query("DELETE FROM committees_link WHERE users_uid='$mem' AND committees_id='$com'");
|
||||
echo happy(i18n("Committee member unlinked from committee"));
|
||||
}
|
||||
|
||||
echo '<a href="../user_invite.php?type=committee">Create a new member</a><br/>';
|
||||
echo "<a href=\"committee_committees.php\">Manage Committees</a><br />";
|
||||
|
||||
echo "<table>";
|
||||
echo "<tr><td>";
|
||||
|
||||
echo "<h4>".i18n("Add Committee")."</h4>\n";
|
||||
echo "<form method=\"post\" action=\"committees.php\">\n";
|
||||
echo "<table>\n";
|
||||
echo "<tr><td>".i18n("Committee Name").": </td><td><input type=\"text\" size=\"15\" name=\"addcommittee\" /></td>";
|
||||
echo " <td><input type=\"submit\" value=\"".i18n("Add")."\" /></td></tr>\n";
|
||||
echo "</table>\n";
|
||||
echo "</form>\n";
|
||||
|
||||
echo "</td><td width=\"40\"> </td><td>";
|
||||
|
||||
echo "<h4>".i18n("Add Committee Member")."</h4>\n";
|
||||
echo "<form method=\"post\" name=\"addmember\" action=\"committees.php\" onsubmit=\"return neweditor();\">\n";
|
||||
echo "<table>\n";
|
||||
echo "<tr><td>".i18n("Member Email").": </td><td>";
|
||||
echo "<input type=\"text\" size=\"15\" name=\"add_member\" />\n";
|
||||
echo "</td>\n";
|
||||
echo " <td><input type=\"submit\" onclick=\"return neweditor();\" value=\"".i18n("Add")."\" /></td></tr>\n";
|
||||
echo "</table>\n";
|
||||
echo "<a href=\"committees.php\">".i18n("Reload committee list (needed after adding a new member)")."</a>\n";
|
||||
echo "</form>\n";
|
||||
|
||||
echo "</td></tr>";
|
||||
echo "</table>";
|
||||
|
||||
|
||||
echo "<hr />";
|
||||
echo "<h4>".i18n("Committee Member Management")."</h4>\n";
|
||||
echo "<form name=\"memberaction\" method=\"post\" action=\"committees.php\" onsubmit=\"return actionSubmit()\">\n";
|
||||
echo "<table>";
|
||||
echo "<tr><td>";
|
||||
@ -197,19 +247,14 @@ if($_GET['unlinkmember'] && $_GET['unlinkcommittee']) {
|
||||
echo "</select>";
|
||||
|
||||
echo "</td><td>";
|
||||
$query = "
|
||||
SELECT accounts_id, firstname, lastname, email, deleted FROM users WHERE accounts_id IN(
|
||||
SELECT accounts_id FROM user_roles JOIN roles ON user_roles.roles_id = roles.id WHERE roles.type = 'committee'
|
||||
)
|
||||
AND conferences_id = " . $conference['id'];
|
||||
$q = mysql_query($query);
|
||||
echo "<select name=\"accounts_id\">";
|
||||
$q=mysql_query("SELECT uid,MAX(year),firstname,lastname,email,deleted FROM users WHERE types LIKE '%committee%' GROUP BY uid ORDER BY firstname");
|
||||
echo "<select name=\"users_uid\">";
|
||||
echo "<option value=\"\">".i18n("Select a Member")."</option>\n";
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
if($r->deleted == 'yes') continue;
|
||||
if($r->deleted != 'no') continue;
|
||||
$displayname = $r->firstname.' '.$r->lastname;
|
||||
echo "<option value=\"$r->accounts_id\">$displayname ($r->email)</option>\n";
|
||||
echo "<option value=\"$r->uid\">$displayname ($r->email)</option>\n";
|
||||
}
|
||||
echo "</select>";
|
||||
|
||||
@ -245,57 +290,71 @@ if($_GET['unlinkmember'] && $_GET['unlinkcommittee']) {
|
||||
$q=mysql_query("SELECT * FROM committees ORDER BY ord,name");
|
||||
if(mysql_num_rows($q))
|
||||
{
|
||||
echo "<h4>".i18n("Committees")."</h4>";
|
||||
echo "<form method=\"post\" action=\"committees.php\">\n";
|
||||
echo "<table>";
|
||||
echo "<tr><td colspan=\"2\"></td><th colspan=\"2\">".i18n('Title within committee / Sort order')."</th>";
|
||||
echo "</tr>";
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
echo "<tr><td colspan=\"2\"></td><td><b>".i18n('Title')."</b></td>";
|
||||
echo "<td><b>".i18n('Order')."</b></td>";
|
||||
echo "<td><b>".i18n("Public Email / Private Email")."</b></td></tr>";
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
echo "<tr>";
|
||||
echo "<td colspan=\"4\">";
|
||||
echo "<td colspan=\"3\">";
|
||||
echo "<input type=\"hidden\" name=\"committees_id[]\" value=\"$r->id\" />";
|
||||
// echo "<input size=\"1\" type=\"text\" name=\"committees_ord[]\" value=\"$r->ord\" />";
|
||||
echo "<b>".i18n($r->name)."</b>";
|
||||
echo "<input size=\"1\" type=\"text\" name=\"committees_ord[]\" value=\"$r->ord\" />";
|
||||
echo " <b>".i18n($r->name)."</b>";
|
||||
|
||||
|
||||
$q2=mysql_query("SELECT
|
||||
committees_link.title,
|
||||
committees_link.ord,
|
||||
committees_link.accounts_id
|
||||
users.uid,
|
||||
MAX(users.year) AS my,
|
||||
users.lastname
|
||||
FROM committees_link
|
||||
JOIN users ON users.uid = committees_link.users_uid
|
||||
WHERE committees_id='{$r->id}'
|
||||
ORDER BY ord");
|
||||
GROUP BY users.uid
|
||||
ORDER BY ord,
|
||||
users.lastname ");
|
||||
|
||||
if(mysql_num_rows($q2)==0) {
|
||||
echo " ";
|
||||
echo "<a title=\"Remove Committee\" onclick=\"return confirmClick('Are you sure you want to remove this committee?');\" href=\"committees.php?deletecommittee=$r->id\"><img src=\"".$config['SFIABDIRECTORY']."/images/16/button_cancel.".$config['icon_extension']."\" border=\"0\" alt=\"Remove Committee\" /></a>";
|
||||
}
|
||||
|
||||
echo "</td></tr>\n";
|
||||
echo mysql_error();
|
||||
while($r2=mysql_fetch_object($q2)) {
|
||||
$u = user_load_by_accounts_id($r2->accounts_id);
|
||||
|
||||
//if rollover is proper, this shouldnt be necessary, but, the simcoe rollover didnt do this, so lets do it here as a safety
|
||||
if(!$u) {
|
||||
$roleq=mysql_query("SELECT * FROM roles WHERE type='committee'");
|
||||
$roler=mysql_fetch_object($roleq);
|
||||
//hmm thats okay,w e must have missed something in the rollover... sicne its tied to the accounts_id, we just need to add a record
|
||||
account_add_role($r2->accounts_id,$roler->id,$conference['id']);
|
||||
|
||||
//and now we should be able to load them
|
||||
$u = user_load_by_accounts_id($r2->accounts_id);
|
||||
}
|
||||
|
||||
|
||||
$u = user_load_by_uid($r2->uid);
|
||||
echo "<tr><td align=\"right\"> ";
|
||||
echo "<a title=\"Edit Member\" href=\"#\" onclick=\"openeditor({$u['id']})\"><img src=\"{$config['SFIABDIRECTORY']}/images/16/edit.{$config['icon_extension']}\" border=\"0\" alt=\"Edit\" /></a>";
|
||||
echo " ";
|
||||
echo "<a title=\"Unlink Member from Committee\" onclick=\"return confirmClick('Are you sure you want to unlink this member from this committee?');\" href=\"committees.php?unlinkmember={$u['accounts_id']}&unlinkcommittee={$r->id}\"><img src=\"{$config['SFIABDIRECTORY']}/images/16/undo.{$config['icon_extension']}\" border=\"0\" alt=\"Unlink\" /></a>";
|
||||
echo "<a title=\"Unlink Member from Committee\" onclick=\"return confirmClick('Are you sure you want to unlink this member from this committee?');\" href=\"committees.php?unlinkmember={$u['uid']}&unlinkcommittee={$r->id}\"><img src=\"{$config['SFIABDIRECTORY']}/images/16/undo.{$config['icon_extension']}\" border=\"0\" alt=\"Unlink\" /></a>";
|
||||
echo "</td>";
|
||||
echo "<td valign=\"top\">";
|
||||
echo "<b>{$u['firstname']} {$u['lastname']}</b>";
|
||||
echo "<b>{$u['name']}</b>";
|
||||
echo "</td><td>";
|
||||
echo "<input type=\"text\" value=\"{$r2->title}\" name=\"title[{$r->id}][{$u['accounts_id']}]\" size=\"25\">";
|
||||
echo "<input type=\"text\" value=\"{$r2->title}\" name=\"title[{$r->id}][{$u['uid']}]\" size=\"15\">";
|
||||
echo "</td><td>";
|
||||
echo "<input type=\"text\" value=\"{$r2->ord}\" name=\"order[{$r->id}][{$u['accounts_id']}]\" size=\"2\">";
|
||||
echo "<input type=\"text\" value=\"{$r2->ord}\" name=\"order[{$r->id}][{$u['uid']}]\" size=\"2\">";
|
||||
|
||||
echo "</td><td>";
|
||||
|
||||
if($u['email']) {
|
||||
list($b,$a)=split("@",$u['email']);
|
||||
echo "<script language=\"javascript\" type=\"text/javascript\">em('$b','$a')</script>";
|
||||
}
|
||||
|
||||
if($u['emailprivate']) {
|
||||
if($u['email']) echo " <b>/</b> ";
|
||||
list($b,$a)=split("@",$u['emailprivate']);
|
||||
echo "<script language=\"javascript\" type=\"text/javascript\">em('$b','$a')</script>";
|
||||
}
|
||||
|
||||
echo "</td></tr>\n";
|
||||
}
|
||||
echo "<tr><td colspan=\"4\"> </td></tr>\n";
|
||||
echo "<tr><td colspan=\"2\"> </td></tr>\n";
|
||||
}
|
||||
echo "<tr><td colspan=\"2\"><input type=\"submit\" value=\"".i18n("Save Committee Orders and Titles")."\" /></td></tr>\n";
|
||||
echo "</table>";
|
||||
|
@ -1,154 +1,170 @@
|
||||
<?
|
||||
$mailqueries=array(
|
||||
"myself"=>array("name"=>"Yourself (for testing)","query"=>"SELECT users.id FROM users WHERE users.id='{$_SESSION['users_id']}'"),
|
||||
// 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 users.id FROM users
|
||||
JOIN accounts ON users.accounts_id=accounts.id
|
||||
JOIN user_roles ON user_roles.users_id = users.id
|
||||
JOIN roles ON roles.id = user_roles.roles_id
|
||||
WHERE roles.type = 'committee' AND accounts.deleted = 'no' "),
|
||||
"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(conferences_id) has deleted='yes'. If we use WHERE
|
||||
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 conferences (except deleted judges)","query"=>
|
||||
"SELECT firstname, lastname, email, deleted, MAX(conferences_id) FROM users
|
||||
JOIN user_roles ON user_roles.users_id = users.id
|
||||
JOIN roles ON roles.id = user_roles.roles_id
|
||||
WHERE roles.type ='judge' GROUP BY users.accounts_id HAVING deleted='no' ORDER BY email"),
|
||||
"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_thisconference"=>array("name"=>"Judges active for this conference", "query"=>
|
||||
"SELECT users.id FROM users
|
||||
LEFT JOIN user_roles ON user_roles.users_id = users.id
|
||||
JOIN roles ON roles.id = user_roles.roles_id
|
||||
WHERE roles.type='judge' AND conferences_id={$conference['id']} AND deleted='no' AND user_roles.active='yes' ORDER BY email"),
|
||||
"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_inactive_thisconference"=>array("name"=>"Judges in the conference that are not active", "query"=>
|
||||
"SELECT users.id FROM users
|
||||
LEFT JOIN user_roles ON user_roles.users_id = users.id
|
||||
JOIN roles ON roles.id = user_roles.roles_id
|
||||
WHERE roles.type='judge' AND conferences_id={$conference['id']} AND deleted='no' AND user_roles.active='no' 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_inactive_allconferences"=>array("name"=>"Judges inactive for any conference", "query"=>
|
||||
"SELECT users.id FROM users
|
||||
LEFT JOIN user_roles ON user_roles.users_id = users.id
|
||||
JOIN roles ON roles.id = user_roles.roles_id
|
||||
WHERE roles.type='judge' AND deleted='no' AND user_roles.active='no' 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_active_complete_thisconference"=>array("name"=>"Judges active for this conference and complete", "query"=>
|
||||
"SELECT users.id FROM users
|
||||
LEFT JOIN user_roles ON user_roles.users_id = users.id
|
||||
JOIN roles ON roles.id = user_roles.id
|
||||
WHERE roles.type = 'judge' AND conferences_id = {$conference['id']}
|
||||
AND user_roles.complete='yes'
|
||||
AND deleted='no'
|
||||
AND user_roles.active='yes'
|
||||
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_active_incomplete_thisconference"=>array("name"=>"Judges active for this conference but not complete", "query"=>
|
||||
"SELECT users.id FROM users
|
||||
LEFT JOIN user_roles ON user_roles.users_id = users.id
|
||||
JOIN roles ON roles.id = user_roles.id
|
||||
WHERE roles.type = 'judge' AND conferences_id = {$conference['id']}
|
||||
AND user_roles.complete='no'
|
||||
AND deleted='no'
|
||||
AND user_roles.active='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"),
|
||||
|
||||
"participants_all_thisconference"=>array("name"=>"Participants (all) for this conference","query"=>
|
||||
"SELECT users.id
|
||||
FROM users
|
||||
JOIN user_roles ON user_roles.users_id=users.id
|
||||
JOIN roles ON user_roles.roles_id=roles.id
|
||||
WHERE users.conferences_id='{$conference['id']}'
|
||||
AND roles.type='participant'"),
|
||||
"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"),
|
||||
|
||||
"participants_complete_thisconference"=>array("name"=>"Participants complete/paymentpending for this conference","query"=>
|
||||
"SELECT users.id FROM users
|
||||
JOIN registrations ON users.registrations_id=registrations.id
|
||||
JOIN user_roles ON user_roles.users_id = users.id
|
||||
JOIN roles ON roles.id = user_roles.roles_id
|
||||
WHERE roles.type = 'participant'
|
||||
AND registrations.conferences_id='".$conference['id']."'
|
||||
AND ( registrations.status='complete' OR registrations.status='paymentpending')"),
|
||||
"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_paymentpending_thisconference"=>array("name"=>"Participants payment pending for this conference","query"=>
|
||||
"SELECT users.id FROM users
|
||||
JOIN registrations ON users.registrations_id=registrations.id
|
||||
JOIN user_roles ON user_roles.users_id = users.id
|
||||
JOIN roles ON roles.id = user_roles.roles_id
|
||||
WHERE roles.type = 'participant'
|
||||
AND registrations.conferences_id='".$conference['id']."'
|
||||
AND registrations.status='paymentpending'"),
|
||||
"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_notcomplete_thisconference"=>array("name"=>"Participants not complete for this conference","query"=>
|
||||
"SELECT users.id
|
||||
FROM users
|
||||
JOIN user_roles ON user_roles.users_id=users.id
|
||||
JOIN roles ON user_roles.roles_id=roles.id
|
||||
LEFT JOIN registrations ON users.registrations_id=registrations.id
|
||||
WHERE users.conferences_id='{$conference['id']}'
|
||||
AND roles.type='participant'
|
||||
AND (registrations.status IS NULL OR registrations.status='open' OR registrations.status='new')"),
|
||||
"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"),
|
||||
|
||||
/* // FIXME - not sure if this has a sensible equivalent when dealing with "conferences" rather than fair years
|
||||
"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_allconferences"=>array("name"=>"Participants complete for all conferences","query"=>
|
||||
|
||||
"SELECT users.id, users.firstname, users.lastname, accounts.email FROM users
|
||||
JOIN accounts on users.accounts_id=accounts.id
|
||||
JOIN registrations ON users.registrations_id=registrations.id
|
||||
JOIN user_roles ON user_roles.users_id = users.id
|
||||
JOIN roles ON roles.id = user_roles.roles_id
|
||||
WHERE roles.type = 'participant'
|
||||
AND (registrations.status='complete' OR registrations.status='paymentpending') ORDER BY accounts.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_thisconference"=>array("name"=>"CWSF Winners for this conference","query"=>"
|
||||
SELECT users.id
|
||||
"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 users ON users.registrations_id=registrations.id
|
||||
WHERE award_awards.cwsfaward='1'
|
||||
AND winners.conferences_id='".$conference['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 users.id, conferences_id, organization, firstname, lastname, email, `primary`
|
||||
FROM users
|
||||
JOIN user_roles on users.id = user_roles.id
|
||||
JOIN roles ON user_roles.roles_id = roles.id
|
||||
"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
|
||||
roles.type = 'sponsor'
|
||||
AND email != ''
|
||||
AND deleted='no'
|
||||
AND `primary`='yes'
|
||||
ORDER BY email
|
||||
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
|
||||
JOIN users_sponsor ON users_sponsor.sponsors_id = sponsors.id
|
||||
JOIN users ON users.id = users_sponsor.users_id
|
||||
JOIN user_roles ON user_roles.users_id = users.id
|
||||
JOIN roles ON roles.id = user_roles.roles_id
|
||||
WHERE
|
||||
roles.type = 'sponsor'
|
||||
AND users.deleted='no'
|
||||
AND users.email!=''
|
||||
ORDER BY users.email"),
|
||||
"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"=>
|
||||
@ -158,87 +174,35 @@
|
||||
"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 this conference","query"=>
|
||||
"SELECT principal_uid AS id FROM schools
|
||||
WHERE schools.conferences_id='".$conference['id']."'
|
||||
AND principal_uid>0
|
||||
"),
|
||||
"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 this conference","query"=>
|
||||
"SELECT sciencehead_uid AS id FROM schools
|
||||
WHERE schools.conferences_id='".$conference['id']."'
|
||||
AND sciencehead_uid>0
|
||||
"),
|
||||
"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
|
||||
"),
|
||||
|
||||
"teachers_with_school"=>array("name"=>"Teachers with a school in this conference","query"=>
|
||||
"SELECT users.id
|
||||
FROM users
|
||||
JOIN schools ON users.schools_id=schools.id
|
||||
JOIN user_roles ON users.id=user_roles.users_id
|
||||
JOIN roles ON user_roles.roles_id=roles.id
|
||||
WHERE schools.conferences_id='".$conference['id']."'
|
||||
AND roles.type='teacher'
|
||||
"),
|
||||
"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"),
|
||||
|
||||
"teachers_without_school"=>array("name"=>"Teachers without a school in this conference","query"=>
|
||||
"SELECT users.id
|
||||
FROM users
|
||||
JOIN user_roles ON users.id=user_roles.users_id
|
||||
JOIN roles ON user_roles.roles_id=roles.id
|
||||
WHERE roles.type='teacher'
|
||||
AND users.conferences_id='".$conference['id']."'
|
||||
AND (users.schools_id='' OR users.schools_id=0)
|
||||
"),
|
||||
|
||||
/*
|
||||
"school_teachers_thisconference"=>array("name"=>"Teachers (as entered by students) for this conference","query"=>
|
||||
"SELECT DISTINCT(teacheremail) AS email, teachername AS firstname FROM students WHERE conferences_id='".$conference['id']."' AND teacheremail!=''"),
|
||||
*/
|
||||
/* // FIXME again, not sure that this has a sensible equivalent with conferences
|
||||
"school_teachers_lastyear"=>array("name"=>"Teachers (as entered by students) last year","query"=>
|
||||
"SELECT DISTINCT(teacheremail) AS email, teachername AS firstname FROM students WHERE year='".($config['FAIRYEAR']-1)."' AND teacheremail!=''"),
|
||||
*/
|
||||
/*
|
||||
"school_teachers_allconferences"=>array("name"=>"Teachers (as entered by students) all conferences","query"=>
|
||||
"SELECT DISTINCT(teacheremail) AS email, teachername AS firstname FROM students WHERE teacheremail!=''"),
|
||||
*/
|
||||
"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_thisconference"=>array("name"=>"Volunteers active for this conference and complete", "query"=>
|
||||
"SELECT users.id, firstname, lastname, email
|
||||
FROM users LEFT JOIN user_roles ON user_roles.users_id = users.id JOIN roles ON roles.id = user_roles.roles_id
|
||||
WHERE users.conferences_id = '".$conference['id']."'
|
||||
AND roles.type='volunteer'
|
||||
AND user_roles.complete='yes'
|
||||
AND user_roles.active='yes'
|
||||
AND users.deleted='no'
|
||||
ORDER BY email"),
|
||||
"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_thisconference"=>array("name"=>"Volunteers active for this conference but not complete", "query"=>
|
||||
"SELECT users.id, firstname, lastname, email
|
||||
FROM users LEFT JOIN user_roles ON user_roles.users_id = users.id JOIN roles ON roles.id = user_roles.roles_id
|
||||
WHERE users.conferences_id = '".$conference['id']."'
|
||||
AND roles.type='volunteer'
|
||||
AND user_roles.complete='no'
|
||||
AND user_roles.active='yes'
|
||||
AND users.deleted='no'
|
||||
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"),
|
||||
|
||||
"accounts_email_unconfirmed" => array("name" => "Users active in any active conference with unconfirmed e-mail addresses", "query" =>
|
||||
"SELECT users.id
|
||||
FROM users
|
||||
JOIN accounts ON users.accounts_id = accounts.id
|
||||
JOIN conferences ON users.conferences_id = conferences.id
|
||||
WHERE conferences.status = 'running'
|
||||
AND accounts.pendingemail IS NOT NULL
|
||||
AND accounts.pendingemail != ''
|
||||
"),
|
||||
|
||||
"accounts_email_unconfirmed_thisconference" => array("name" => "Users active for this conference with unconfirmed e-mail addresses", "query" =>
|
||||
"SELECT users.id
|
||||
FROM users JOIN accounts ON users.accounts_id = accounts.id
|
||||
WHERE users.conferences_id = {$conference['id']}
|
||||
AND accounts.pendingemail IS NOT NULL
|
||||
AND accounts.pendingemail != ''
|
||||
"),
|
||||
);
|
||||
?>
|
||||
|
@ -24,7 +24,9 @@
|
||||
<?
|
||||
require_once("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
include "communication.inc.php";
|
||||
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
function launchQueue() {
|
||||
if(!file_exists("../data/logs")) {
|
||||
@ -136,12 +138,28 @@ case 'dialog_choose':
|
||||
case 'email_save':
|
||||
$id = intval($_POST['emails_id']);
|
||||
|
||||
// escape all strings for the db query
|
||||
$name = mysql_real_escape_string($_POST['name']);
|
||||
$description = mysql_real_escape_string($_POST['description']);
|
||||
$from = mysql_real_escape_string($_POST['from']);
|
||||
$subject = mysql_real_escape_string($_POST['subject']);
|
||||
$bodyhtml = mysql_real_escape_string($_POST['bodyhtml']);
|
||||
//we need to character encode BEFORE we myql_real_escape_strintg
|
||||
//otherwise, a smartquote ' will turn into a normal ' that ends up
|
||||
//not being escaped!
|
||||
$name=$_POST['name'];
|
||||
$description=$_POST['description'];
|
||||
$from=$_POST['from'];
|
||||
$subject=$_POST['subject'];
|
||||
$bodyhtml=$_POST['bodyhtml'];
|
||||
|
||||
//add //TRANSLIT to approximate any characters (eg smartquotes) that it doesnt know
|
||||
$bodyhtml=iconv("UTF-8","ISO-8859-1//TRANSLIT",$bodyhtml);
|
||||
$name=iconv("UTF-8","ISO-8859-1//TRANSLIT",$name);
|
||||
$description=iconv("UTF-8","ISO-8859-1//TRANSLIT",$description);
|
||||
$from=iconv("UTF-8","ISO-8859-1//TRANSLIT",$from);
|
||||
$subject=iconv("UTF-8","ISO-8859-1//TRANSLIT",$subject);
|
||||
|
||||
//Now its safe to escape it for the db query
|
||||
$name = mysql_real_escape_string(stripslashes($name));
|
||||
$description = mysql_real_escape_string(stripslashes($description));
|
||||
$from = mysql_real_escape_string(stripslashes($from));
|
||||
$subject = mysql_real_escape_string(stripslashes($subject));
|
||||
$bodyhtml = mysql_real_escape_string(stripslashes($bodyhtml));
|
||||
|
||||
$type = mysql_real_escape_string($_POST['type']);
|
||||
$key = mysql_real_escape_string($_POST['key']);
|
||||
@ -289,12 +307,11 @@ case 'dialog_edit':
|
||||
<option value="LASTNAME">[LASTNAME]</option>
|
||||
<option value="NAME">[NAME]</option>
|
||||
<option value="SALUTATION">[SALUTATION]</option>
|
||||
<option value="USERNAME">[USERNAME]</option>
|
||||
<option value="PASSWORD">[PASSWORD]</option>
|
||||
<option value="REGNUM">[REGNUM]</option>
|
||||
<option value="URLMAIN">[URLMAIN]</option>
|
||||
<option value="URLLOGIN">[URLLOGIN]</option>
|
||||
<option value="EMAILCONFIRMATIONLINK">[EMAILCONFIRMATIONLINK]</option>
|
||||
<option value="ACCESSCODE" title="School Access Code">[ACCESSCODE]</option>
|
||||
</select>
|
||||
</td></tr></table>
|
||||
</td>
|
||||
@ -629,9 +646,20 @@ case "email_get_list":
|
||||
echo "ok";
|
||||
}
|
||||
exit;
|
||||
|
||||
case 'loadaddresses':
|
||||
if($_GET['query'] && array_key_exists($_GET['query'],$mailqueries)) {
|
||||
$q=mysql_query($mailqueries[$_GET['query']]['query']);
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
if($r->organization) $s="($r->organization) ";
|
||||
else $s="";
|
||||
echo "$r->firstname $r->lastname {$s}<$r->email><br />";
|
||||
}
|
||||
}
|
||||
|
||||
exit;
|
||||
}
|
||||
|
||||
include "communication.inc.php";
|
||||
|
||||
if($_GET['action']=="sendqueue") {
|
||||
$fcid=intval($_POST['fundraising_campaigns_id']);
|
||||
@ -670,7 +698,11 @@ case "email_get_list":
|
||||
$urllogin = "$urlmain/login.php";
|
||||
while($r=mysql_fetch_object($recipq)) {
|
||||
$u=user_load_by_uid($r->users_uid);
|
||||
$confirmationLink = account_build_email_confirmation_link($u['accounts_id']);
|
||||
|
||||
//we only send school access codes to science heads or principals
|
||||
$acq=mysql_query("SELECT accesscode FROM schools WHERE (sciencehead_uid='{$u['uid']}' OR principal_uid='{$u['uid']}') AND `year`='{$config['FAIRYEAR']}'");
|
||||
$acr=mysql_fetch_object($acq);
|
||||
$accesscode=$acr->accesscode;
|
||||
|
||||
$replacements=array(
|
||||
"FAIRNAME"=>$config['fairname'],
|
||||
@ -682,7 +714,7 @@ case "email_get_list":
|
||||
"ORGANIZATION"=>$u['sponsor']['organization'],
|
||||
"URLMAIN"=>$urlmain,
|
||||
"URLLOGIN"=>$urllogin,
|
||||
"EMAILCONFIRMATIONLINK" => $confirmationLink,
|
||||
"ACCESSCODE"=>$accesscode,
|
||||
);
|
||||
|
||||
if($u['email'] && $u['email'][0] != '*') {
|
||||
@ -707,6 +739,23 @@ case "email_get_list":
|
||||
"communication"
|
||||
);
|
||||
echo "<br />";
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
function toggleAddresses() {
|
||||
if($("#toaddresses").is(":visible")) {
|
||||
$("#toaddresses").hide();
|
||||
$("#toaddresses-view").html("Show Recipients");
|
||||
} else {
|
||||
$("#toaddresses").show();
|
||||
$("#toaddresses-view").html("Hide Recipients");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function loadAddresses() {
|
||||
$("#toaddresses").load("communication.php?action=loadaddresses&query="+$("#to").val());
|
||||
}
|
||||
</script>
|
||||
<?
|
||||
|
||||
if($_GET['action']=="delete" && $_GET['delete']) {
|
||||
mysql_query("DELETE FROM emails WHERE id='".$_GET['delete']."' AND `type`='user'");
|
||||
@ -714,6 +763,7 @@ case "email_get_list":
|
||||
}
|
||||
|
||||
if($_GET['action']=="send" && $_GET['send']) {
|
||||
echo mysql_error();
|
||||
$q=mysql_query("SELECT * FROM emails WHERE id='".$_GET['send']."'");
|
||||
$r=mysql_fetch_object($q);
|
||||
|
||||
@ -724,7 +774,7 @@ case "email_get_list":
|
||||
echo "<table cellspacing=0 cellpadding=3 border=1>";
|
||||
echo "<tr><td><b>From:</b></td><td>".htmlspecialchars($r->from)."</td></tr>";
|
||||
echo "<tr><td><b>To:</b></td><td>";
|
||||
echo "<select name=\"to\">";
|
||||
echo "<select name=\"to\" id=\"to\" onchange=\"loadAddresses();\">";
|
||||
echo " <option value=\"\">Choose Email Recipients</option>";
|
||||
$str="";
|
||||
foreach($mailqueries AS $k=>$mq) {
|
||||
@ -741,6 +791,8 @@ case "email_get_list":
|
||||
echo " <option value=\"$k\">".i18n($mq['name'])." (".i18n("%1 recipients",array($num),array("number")).")</option>";
|
||||
}
|
||||
echo "</select>";
|
||||
echo "<div id=\"toaddresses-view-wrapper\"><a href=\"#\" onclick=\"return toggleAddresses()\"><span id=\"toaddresses-view\">View Recipients</span></a></div>";
|
||||
echo "<div id=\"toaddresses\" style=\"width: 100%; height: 300px; overflow: auto; border: 1px solid grey; background-color: #FFFFFF; display: none;\">empty</div>";
|
||||
echo "</td></tr>";
|
||||
echo "<tr><td><b>Date:</b></td><td>".date("r")."</td></tr>";
|
||||
echo "<tr><td><b>Subject:</b></td><td>".htmlspecialchars($r->subject)."</td></tr>";
|
||||
@ -751,7 +803,7 @@ case "email_get_list":
|
||||
$body=nl2br(htmlspecialchars($r->body));
|
||||
}
|
||||
|
||||
echo "<tr><td colspan=2>".$body."</td></tr>";
|
||||
echo "<tr><td colspan=2>".$body."<br />(".mb_detect_encoding($body).")</td></tr>";
|
||||
|
||||
echo "</table>";
|
||||
|
||||
@ -807,9 +859,7 @@ case "email_get_list":
|
||||
$urllogin = "$urlmain/login.php";
|
||||
|
||||
while($r=mysql_fetch_object($recipq)) {
|
||||
if($r->id)
|
||||
$u=user_load($r->id);
|
||||
else if($r->uid)
|
||||
if($r->uid)
|
||||
$u=user_load_by_uid($r->uid);
|
||||
else if($r->users_uid)
|
||||
$u=user_load_by_uid($r->users_uid);
|
||||
@ -822,28 +872,20 @@ case "email_get_list":
|
||||
"FIRSTNAME"=>$r->firstname,
|
||||
"LASTNAME"=>$r->lastname,
|
||||
"NAME"=>$r->firstname." ".$r->lastname,
|
||||
"EMAIL"=>$r->email,
|
||||
"ORGANIZATION"=>$r->organization,
|
||||
"URLMAIN"=>$urlmain,
|
||||
"URLLOGIN"=>$urllogin,
|
||||
"ACCESSCODE"=>"unknown",
|
||||
);
|
||||
}
|
||||
if($u) {
|
||||
$a=account_load($u['accounts_id']);
|
||||
$apassword=account_get_password($u['accounts_id']);
|
||||
$confirmationLink = account_build_email_confirmation_link($u['accounts_id']);
|
||||
if($a['email']) {
|
||||
$e=$a['email'];
|
||||
}
|
||||
else if ($a['pendingemail']) {
|
||||
$e=$a['pendingemail'];
|
||||
}
|
||||
else {
|
||||
$e="";
|
||||
}
|
||||
if($u['registrations_id']) {
|
||||
$regq=mysql_query("SELECT num FROM registrations WHERE id='{$u['registrations_id']}'");
|
||||
$regr=mysql_fetch_assoc($regq);
|
||||
}
|
||||
|
||||
//we only send school access codes to science heads or principals
|
||||
$acq=mysql_query("SELECT accesscode FROM schools WHERE (sciencehead_uid='{$u['uid']}' OR principal_uid='{$u['uid']}') AND `year`='{$config['FAIRYEAR']}'");
|
||||
echo mysql_error();
|
||||
$acr=mysql_fetch_object($acq);
|
||||
$accesscode=$acr->accesscode;
|
||||
|
||||
$replacements=array(
|
||||
"FAIRNAME"=>$config['fairname'],
|
||||
@ -851,18 +893,15 @@ case "email_get_list":
|
||||
"FIRSTNAME"=>$u['firstname'],
|
||||
"LASTNAME"=>$u['lastname'],
|
||||
"NAME"=>$u['name'],
|
||||
"EMAIL"=>$e,
|
||||
"USERNAME"=>$a['username'],
|
||||
"PASSWORD"=>$apassword,
|
||||
"REGNUM"=>$regq['num'],
|
||||
"EMAIL"=>$u['email'],
|
||||
"ORGANIZATION"=>$u['sponsor']['organization'],
|
||||
"URLMAIN"=>$urlmain,
|
||||
"URLLOGIN"=>$urllogin,
|
||||
"EMAILCONFIRMATIONLINK" => $confirmationLink,
|
||||
"ACCESSCODE"=>$accesscode,
|
||||
);
|
||||
|
||||
$toname=$u['name'];
|
||||
$toemail=$e;
|
||||
$toemail=$u['email'];
|
||||
}
|
||||
|
||||
if($toemail) {
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
if($_GET['action']=="status") {
|
||||
$q=mysql_query("SELECT * FROM emailqueue WHERE finished IS NULL");
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require_once('../common.inc.php');
|
||||
require_once('../user.inc.php');
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require_once('xml.inc.php');
|
||||
|
||||
function xml_dearray(&$array)
|
||||
@ -94,7 +94,7 @@
|
||||
curl_setopt ($ch, CURLOPT_POST, 1); /// tell it to make a POST, not a GET
|
||||
curl_setopt ($ch, CURLOPT_POSTFIELDS, "$var=".urlencode($str)); /// 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_POSTFIELDSIZE, 0);
|
||||
curl_setopt ($ch, CURLOPT_TIMEOUT, 360);
|
||||
curl_setopt ($ch, CURLOPT_SSLVERSION, 3);
|
||||
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
|
@ -28,11 +28,11 @@ include "xml.inc.php";
|
||||
{
|
||||
global $config;
|
||||
$winners=array();
|
||||
$winners_ids=array();
|
||||
|
||||
$q=mysql_query("SELECT * FROM award_awards WHERE cwsfaward='1' AND conferences_id='".$conference['id']."'");
|
||||
while($award=mysql_fetch_object($q))
|
||||
$q=mysql_query("SELECT * FROM award_awards WHERE cwsfaward='1' AND year='".$config['FAIRYEAR']."'");
|
||||
if(mysql_num_rows($q)==1)
|
||||
{
|
||||
$award=mysql_fetch_object($q);
|
||||
$pq=mysql_query("SELECT * FROM award_prizes WHERE award_awards_id='$award->id'");
|
||||
while($prize=mysql_fetch_object($pq))
|
||||
{
|
||||
@ -51,16 +51,11 @@ include "xml.inc.php";
|
||||
WHERE
|
||||
winners.projects_id=projects.id AND
|
||||
awards_prizes_id='$prize->id' AND
|
||||
winners.conferences_id='".$conference['id']."'");
|
||||
winners.year='".$config['FAIRYEAR']."'");
|
||||
echo mysql_error();
|
||||
while($project=mysql_fetch_object($wq))
|
||||
{
|
||||
if(array_key_exists($project->id, $winners_ids)) {
|
||||
continue;
|
||||
} else {
|
||||
$winners_ids[$project->id] = true;
|
||||
}
|
||||
$sq=mysql_query("SELECT * FROM students WHERE registrations_id='$project->registrations_id' AND conferences_id='".$conference['id']."'");
|
||||
$sq=mysql_query("SELECT * FROM students WHERE registrations_id='$project->registrations_id' AND year='".$config['FAIRYEAR']."'");
|
||||
$students=array();
|
||||
$cwsf_agecategory=0;
|
||||
while($s=mysql_fetch_object($sq))
|
||||
@ -122,7 +117,7 @@ include "xml.inc.php";
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require("../projects.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
send_header("One-Click CWSF Registration",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php'),
|
||||
@ -193,20 +188,21 @@ include "xml.inc.php";
|
||||
|
||||
if($ok)
|
||||
{
|
||||
$q=mysql_query("SELECT * FROM award_awards WHERE cwsfaward='1' AND conferences_id='".$conference['id']."'");
|
||||
$q=mysql_query("SELECT * FROM award_awards WHERE cwsfaward='1' AND year='".$config['FAIRYEAR']."'");
|
||||
if(!mysql_num_rows($q))
|
||||
{
|
||||
echo error(i18n("Cannot find an award that is specified as the Canada-Wide Science Fair Award"));
|
||||
echo i18n("Please go to the awards manager and select which award identifies your CWSF students");
|
||||
}
|
||||
else if(mysql_num_rows($q)>1)
|
||||
{
|
||||
echo error(i18n("There is more than one award that is identified as your Canada-Wide Science Fair award."));
|
||||
echo i18n("Please go to the awards manager and choose only one award that identifies your CWSF students");
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<b>".i18n("CWSF Awards").":</b> <br />";
|
||||
echo "<ul>";
|
||||
while($award=mysql_fetch_object($q)) {
|
||||
echo "<li>{$award->name}</li>";
|
||||
}
|
||||
echo "</ul>";
|
||||
$award=mysql_fetch_object($q);
|
||||
echo "<b>".i18n("CWSF Award").":</b> ".$award->name."<br />";
|
||||
echo i18n("Please review the list of winning projects/students below. If it is all correct then you can click the 'Register for CWSF' button at the bottom of the page to send the information to YSC");
|
||||
echo "<br />";
|
||||
echo "<br />";
|
||||
@ -262,7 +258,7 @@ include "xml.inc.php";
|
||||
|
||||
echo "</td><td>";
|
||||
|
||||
$t=mysql_query("SELECT * FROM projectdivisions WHERE conferences_id='".$conference['id']."' AND id='".$winner['projectdivisions_id']."'");
|
||||
$t=mysql_query("SELECT * FROM projectdivisions WHERE year='".$config['FAIRYEAR']."' AND id='".$winner['projectdivisions_id']."'");
|
||||
$tr=mysql_fetch_object($t);
|
||||
echo $tr->division;
|
||||
echo "<br />";
|
||||
|
@ -23,7 +23,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
$q=mysql_query("SELECT * FROM documents WHERE id='".$_GET['id']."'");
|
||||
if($r=mysql_fetch_object($q))
|
||||
{
|
||||
|
@ -31,7 +31,7 @@
|
||||
if(!file_exists("../data/documents/.htaccess"))
|
||||
file_put_contents("../data/documents/.htaccess","Order Deny,Allow\r\nDeny From All\r\n");
|
||||
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
send_header("Internal Document Manager",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php'),
|
||||
|
175
admin/donations.php
Normal file
175
admin/donations.php
Normal file
@ -0,0 +1,175 @@
|
||||
<?
|
||||
/*
|
||||
This file is part of the 'Science Fair In A Box' project
|
||||
SFIAB Website: http://www.sfiab.ca
|
||||
|
||||
Copyright (C) 2008 James Grant <james@lightbox.org>
|
||||
|
||||
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("../tableeditor.class.php");
|
||||
require_once("../user.inc.php");
|
||||
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
include ("fundraising_sponsorship_handler.inc.php");
|
||||
include ("fundraising_goals_handler.inc.php");
|
||||
include ("fundraising_main.inc.php");
|
||||
|
||||
send_header("Donations",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php',
|
||||
'Fundraising' => 'admin/fundraising.php'),
|
||||
"fundraising"
|
||||
);
|
||||
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
//initialize the dialog
|
||||
$("#sponsorship_editor").dialog({
|
||||
bgiframe: true, autoOpen: false,
|
||||
modal: true, resizable: false,
|
||||
draggable: false
|
||||
});
|
||||
|
||||
$("#fund_editor").dialog({
|
||||
bgiframe: true, autoOpen: false,
|
||||
modal: true, resizable: falsefundraising
|
||||
draggable: false
|
||||
});
|
||||
|
||||
refresh_fundraising_table();
|
||||
|
||||
});
|
||||
|
||||
function popup_sponsorship_editor(url) {
|
||||
var w = (document.documentElement.clientWidth * 0.6);
|
||||
$('#sponsorship_editor').dialog('option','width',w);
|
||||
//let the height autocalculate
|
||||
/*
|
||||
var h = (document.documentElement.clientHeight * 0.6);
|
||||
$('#sponsorship_editor').dialog('option','height',h);
|
||||
*/
|
||||
$('#sponsorship_editor').dialog('option','buttons',{ "<?=i18n("Save")?>": function() { save_sponsorship(); },
|
||||
"<?=i18n("Cancel")?>": function(){ $(this).dialog("close");}});
|
||||
$('#sponsorship_editor').dialog('open');
|
||||
|
||||
$('#sponsorship_editor_content').load(url);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function save_sponsorship() {
|
||||
$('#debug').load("<?=$config['SFIABDIRECTORY']?>/admin/fundraising.php",
|
||||
$("#fundraisingsponsorship").serializeArray(),
|
||||
function() {
|
||||
$('#sponsorship_editor').dialog('close');
|
||||
refresh_fundraising_table();
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
function popup_fund_editor(url) {
|
||||
var w = (document.documentElement.clientWidth * 0.6);
|
||||
$('#fund_editor').dialog('option','width',w);
|
||||
//let the height autocalculate
|
||||
/*
|
||||
var h = (document.documentElement.clientHeight * 0.6);
|
||||
$('#fund_editor').dialog('option','height',h);
|
||||
*/
|
||||
$('#fund_editor').dialog('option','buttons',{ "<?=i18n("Save")?>": function() { save_fund(); },
|
||||
"<?=i18n("Cancel")?>": function(){ $(this).dialog("close");}});
|
||||
$('#fund_editor').dialog('open');
|
||||
|
||||
$('#fund_editor_content').load(url);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function save_fund() {
|
||||
$("#debug").load("<?=$config['SFIABDIRECTORY']?>/admin/fundraising.php",
|
||||
$("#fundraisingfundraising").serializeArray(),
|
||||
function(data) {
|
||||
$('#fund_editor').dialog('close');
|
||||
refresh_fundraising_table();
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
function delete_fund(id) {
|
||||
if(confirmClick('Are you sure you want to remove this fund?')) {
|
||||
$('#debug').load("<?=$config['SFIABDIRECTORY']?>/admin/fundraising.php",
|
||||
{ action: 'funddelete', delete: id },
|
||||
function() {
|
||||
refresh_fundraising_table();
|
||||
}
|
||||
);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function delete_sponsorship(id) {
|
||||
if(confirmClick('Are you sure you want to remove this sponsorship?')) {
|
||||
$('#debug').load("<?=$config['SFIABDIRECTORY']?>/admin/fundraising.php",
|
||||
{ action: 'sponsorshipdelete', delete: id },
|
||||
function() {
|
||||
refresh_fundraising_table();
|
||||
}
|
||||
);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function refresh_fundraising_table() {
|
||||
$("#fundraisingmain").load("fundraising.php?action=fundraisingmain");
|
||||
}
|
||||
</script>
|
||||
<?
|
||||
|
||||
//first, insert any defaults
|
||||
$q=mysql_query("SELECT * FROM fundraising WHERE year='".$config['FAIRYEAR']."'");
|
||||
if(!mysql_num_rows($q)) {
|
||||
$q=mysql_query("SELECT * FROM fundraising WHERE year='-1'");
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
mysql_query("INSERT INTO fundraising (`type`,`name`,`description`,`system`,`goal`,`year`) VALUES ('$r->type','".mysql_real_escape_string($r->name)."','".mysql_real_escape_string($r->description)."','$r->system','$r->goal','".$config['FAIRYEAR']."')");
|
||||
}
|
||||
}
|
||||
|
||||
echo "<div id=\"fundraisingmain\">";
|
||||
echo "</div>";
|
||||
|
||||
echo "<br />\n";
|
||||
echo "<br />\n";
|
||||
echo "<a href=\"sponsorship_levels.php\">Manage Donation Levels</a>\n";
|
||||
echo "<br />\n";
|
||||
echo "<a href=\"donors.php\">Manage Donors</a>\n";
|
||||
echo "<br />\n";
|
||||
|
||||
?>
|
||||
<div style="display: none" title="<?=i18n("Donation Editor")?>" id="sponsorship_editor">
|
||||
<div id="sponsorship_editor_content">
|
||||
</div>
|
||||
</div>
|
||||
<div style="display: none" title="<?=i18n("Fund Editor")?>" id="fund_editor">
|
||||
<div id="fund_editor_content">
|
||||
</div>
|
||||
</div>
|
||||
<?
|
||||
send_footer();
|
||||
?>
|
121
admin/donors.php
121
admin/donors.php
@ -24,8 +24,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
require_once("../account.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require_once("fundraising_common.inc.php");
|
||||
|
||||
|
||||
@ -41,7 +40,7 @@ switch($_GET['action']) {
|
||||
case 'organizationinfo_save':
|
||||
$id=intval($_POST['sponsor_id']);
|
||||
if($id==-1) {
|
||||
$q=mysql_query("INSERT INTO sponsors (conferences_id) VALUES ('".$conference['id']."')");
|
||||
$q=mysql_query("INSERT INTO sponsors (year) VALUES ('".$config['FAIRYEAR']."')");
|
||||
$id=mysql_insert_id();
|
||||
echo json_encode(array("id"=>$id));
|
||||
save_activityinfo("Created donor/sponsor", $id, $_SESSION['users_uid'],"System");
|
||||
@ -214,20 +213,22 @@ switch($_GET['action']) {
|
||||
echo "<tr><td>";
|
||||
echo i18n("Appeal").":";
|
||||
echo "</td><td>";
|
||||
$query = mysql_query(
|
||||
"SELECT accounts.id as acc_id, users.id as usr_id, users.deleted, MAX(users.id) FROM accounts JOIN users ON" .
|
||||
" users.accounts_id = accounts.id" .
|
||||
" WHERE users.sponsors_id = '$id'" .
|
||||
" AND types LIKE '%sponsor%'" .
|
||||
" GROUP BY acc_id" .
|
||||
" HAVING deleted='no'" .
|
||||
" ORDER BY `primary` DESC, lastname, firstname"
|
||||
);
|
||||
|
||||
// loop through each contact in the donor
|
||||
$query = mysql_query("SELECT users.id,users.uid,users.deleted,MAX(year)
|
||||
FROM users
|
||||
LEFT JOIN users_sponsor ON users_sponsor.users_id=users.id
|
||||
WHERE
|
||||
sponsors_id='$id'
|
||||
AND types LIKE '%sponsor%'
|
||||
GROUP BY uid
|
||||
HAVING deleted='no'
|
||||
ORDER BY users_sponsor.primary DESC,lastname,firstname
|
||||
");
|
||||
echo mysql_error();
|
||||
$uids=array();
|
||||
while($r=mysql_fetch_object($query)) {
|
||||
$uids[]=$r->usr_id;
|
||||
$uids[]=$r->uid;
|
||||
}
|
||||
|
||||
$q=mysql_query("SELECT * FROM fundraising_campaigns
|
||||
@ -351,12 +352,12 @@ switch($_GET['action']) {
|
||||
case 'newcontactsearch':
|
||||
|
||||
if($_POST['email'])
|
||||
$q=mysql_query("SELECT *, MAX(id) FROM users WHERE email='".trim($_POST['email'])."' GROUP BY accounts_id HAVING deleted='no'");
|
||||
$q=mysql_query("SELECT *,MAX(year) FROM users WHERE email='".trim($_POST['email'])."' GROUP BY uid HAVING deleted='no'");
|
||||
|
||||
if($r=mysql_fetch_object($q)) {
|
||||
echo i18n("There is an exact email address match for %1",array($_POST['email']));
|
||||
echo "<ul>";
|
||||
echo "<li><a href=\"#\" onclick=\"useexistingcontact($r->accounts_id)\">$r->firstname $r->lastname $r->email $r->phonehome</a></li>\n";
|
||||
echo "<li><a href=\"#\" onclick=\"useexistingcontact($r->uid)\">$r->firstname $r->lastname $r->email $r->phonehome</a></li>\n";
|
||||
echo "</ul>";
|
||||
|
||||
?>
|
||||
@ -380,7 +381,7 @@ switch($_GET['action']) {
|
||||
if($_POST['email'])
|
||||
$searchstr.=" AND email LIKE '%".$_POST['email']."%'";
|
||||
|
||||
$q=mysql_query("SELECT *, MAX(id) FROM users WHERE $searchstr GROUP BY accounts_id HAVING deleted='no'");
|
||||
$q=mysql_query("SELECT *,MAX(year) FROM users WHERE $searchstr GROUP BY uid HAVING deleted='no'");
|
||||
$num=mysql_num_rows($q);
|
||||
if($num==0) {
|
||||
echo i18n("No existing users match, will create a new user");
|
||||
@ -389,7 +390,7 @@ switch($_GET['action']) {
|
||||
echo i18n("Did you mean one of these existing users? (click to choose one)")."<br />";
|
||||
echo "<ul>";
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
echo "<li><a href=\"#\" onclick=\"useexistingcontact($r->accounts_id)\">$r->firstname $r->lastname $r->email $r->phonehome</a></li>\n";
|
||||
echo "<li><a href=\"#\" onclick=\"useexistingcontact($r->uid)\">$r->firstname $r->lastname $r->email $r->phonehome</a></li>\n";
|
||||
}
|
||||
echo "</ul>";
|
||||
}
|
||||
@ -472,13 +473,13 @@ function delete_contact(){
|
||||
}
|
||||
|
||||
function addexisting_contact() {
|
||||
$accid = intval($_POST['accounts_id']);
|
||||
$sponsors_id = intval($_POST['id']);
|
||||
echo "Linking accounts_id=$accid to sponsors_id=$sponsors_id <br />";
|
||||
$uid=intval($_POST['uid']);
|
||||
$sponsors_id=intval($_POST['id']);
|
||||
echo "Linking uid=$uid to sponsors_id=$sponsors_id <br />";
|
||||
|
||||
// echo "uid $uid has users.id {$u['id']}";
|
||||
echo "uid $uid has users.id {$u['id']}";
|
||||
|
||||
$u=user_load_by_accounts_id($accid);
|
||||
$u=user_load_by_uid($uid);
|
||||
$u['sponsors_id']=$sponsors_id;
|
||||
$u['types'][]="sponsor";
|
||||
user_save($u);
|
||||
@ -497,7 +498,7 @@ function save_contact(){
|
||||
if($_POST['recordtype'] == 'new'){
|
||||
|
||||
if($_POST['email']) {
|
||||
$q=mysql_query("SELECT *,MAX(id) FROM users WHERE email='".trim($_POST['email'])."' GROUP BY accounts_id HAVING deleted='no'");
|
||||
$q=mysql_query("SELECT *,MAX(year) FROM users WHERE email='".trim($_POST['email'])."' GROUP BY uid HAVING deleted='no'");
|
||||
if(mysql_num_rows($q)) {
|
||||
error_("A user with that email address already exists");
|
||||
exit;
|
||||
@ -507,11 +508,8 @@ function save_contact(){
|
||||
// this is a new record being submitted. Create the user.
|
||||
$successMessage = "Contact created successfully";
|
||||
$successLog = "Added contact ";
|
||||
$acc = account_create($_POST['email']);
|
||||
$accid = $acc['id'];
|
||||
$usr = user_create($accid);
|
||||
user_add_role($usr, 'sponsor');
|
||||
//sponsor
|
||||
$u = user_create("sponsor", $_POST['email']);
|
||||
$id = $u['id'];
|
||||
}else if($_POST['recordtype'] == 'existing'){
|
||||
// this is an existing record being updated. Load the user.
|
||||
$successMessage = "Contact updated successfully";
|
||||
@ -525,16 +523,14 @@ function save_contact(){
|
||||
$p = ($_POST['primary']=='yes')?'yes':'no';
|
||||
if($p == 'no') {
|
||||
/* Make sure this sponsor ($sponsor_id) has a primary */
|
||||
$query = "SELECT users.id
|
||||
FROM users
|
||||
JOIN user_roles ON users_roles.users_id = users.id
|
||||
JOIN roles ON roles.id = user_roles.id
|
||||
$query = "SELECT users_id
|
||||
FROM users_sponsor, users
|
||||
WHERE
|
||||
roles.type = 'sponsor'
|
||||
AND users.sponsors_id='$sponsor_id'
|
||||
AND users.`primary`='yes'
|
||||
AND users.conferences_id = '{$conference['id']}'
|
||||
AND users.id != '$id'";
|
||||
users_sponsor.users_id=users.id
|
||||
AND sponsors_id='$sponsor_id'
|
||||
AND `primary`='yes'
|
||||
AND year='".$config['FAIRYEAR']."'
|
||||
AND users_id!='$id'";
|
||||
$q = mysql_query($query);
|
||||
if(mysql_num_rows($q) == 0) {
|
||||
/* This has to be the primary since there isn't one already */
|
||||
@ -604,18 +600,17 @@ function draw_contactsinfo_form($contact = null){
|
||||
// start our accordion
|
||||
echo "<div id=\"contactaccordion\" style=\"width: 740px;\">\n";
|
||||
|
||||
|
||||
// loop through each contact and draw a form with their data in it.
|
||||
$query = mysql_query("
|
||||
SELECT *, MAX(conferences_id)
|
||||
FROM users
|
||||
JOIN user_roles ON user_roles.users_id = users.id
|
||||
JOIN roles ON roles.id = user_roles.id
|
||||
WHERE roles.type = 'sponsor'
|
||||
AND users.sponsors_id = '" . $sponsor_id . "'
|
||||
GROUP BY conferences_id
|
||||
HAVING deleted = 'no'
|
||||
ORDER BY `primary` DESC , lastname, firstname
|
||||
$query = mysql_query("SELECT *,MAX(year) FROM users LEFT JOIN users_sponsor ON users_sponsor.users_id=users.id
|
||||
WHERE
|
||||
sponsors_id='" . $sponsor_id . "'
|
||||
AND types LIKE '%sponsor%'
|
||||
GROUP BY uid
|
||||
HAVING deleted='no'
|
||||
ORDER BY users_sponsor.primary DESC,lastname,firstname
|
||||
");
|
||||
echo mysql_error();
|
||||
|
||||
while($contact = mysql_fetch_array($query)){
|
||||
// draw a header for this user
|
||||
@ -646,6 +641,7 @@ function draw_contactsinfo_form($contact = null){
|
||||
|
||||
// draw a form in which to enter information about the various contacts
|
||||
function draw_contact_form($sponsor_id, $contact = null){
|
||||
global $salutations;
|
||||
global $config;
|
||||
|
||||
//grab the sponsor details, so we can do diff things for individual vs organization
|
||||
@ -657,7 +653,7 @@ function draw_contact_form($sponsor_id, $contact = null){
|
||||
}else{
|
||||
$id = "new";
|
||||
if($sponsor->donortype=="individual") {
|
||||
list($firstname,$lastname)=explode(" ",$sponsor->organization,2);
|
||||
list($firstname,$lastname)=split(" ",$sponsor->organization,2);
|
||||
$contact['firstname']=$firstname;
|
||||
$contact['lastname']=$lastname;
|
||||
$contact['email']=$sponsor->email;
|
||||
@ -691,7 +687,14 @@ function draw_contact_form($sponsor_id, $contact = null){
|
||||
<tr>
|
||||
<td><?=i18n("Salutation"); ?></td>
|
||||
<td>
|
||||
<input name="salutation" type="text" value="<?=htmlspecialchars($contact['salutation'])?>">
|
||||
<select name="salutation">
|
||||
<option value=""><?=i18n("Choose")?></option>
|
||||
<?
|
||||
foreach($salutations AS $salutation) {
|
||||
if($contact['salutation']==$salutation) $sel="selected=\"selected\""; else $sel="";
|
||||
echo "<option $sel value=\"$salutation\">$salutation</option>\n";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</td>
|
||||
<td><?=i18n("Position"); ?></td>
|
||||
@ -738,7 +741,7 @@ function draw_contact_form($sponsor_id, $contact = null){
|
||||
|
||||
<tr>
|
||||
<td><?=i18n("Notes"); ?></td>
|
||||
<td colspan="3"><textarea name="notes" cols="60" rows="8"><?=htmlspecialchars($contact['notes'])?></textarea></td>
|
||||
<td colspan="3"><textarea name="notes" cols="60" rows="4"><?=htmlspecialchars($contact['notes'])?></textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?=i18n("Primary Contact")?></td>
|
||||
@ -812,8 +815,8 @@ function draw_activityinfo_form(){
|
||||
FROM fundraising_donor_logs AS fdl
|
||||
LEFT JOIN users ON fdl.users_id=users.id
|
||||
LEFT JOIN fundraising_campaigns ON fdl.fundraising_campaigns_id=fundraising_campaigns.id
|
||||
WHERE fdl.sponsors_id=" . $sponsorid. " ORDER BY dt DESC";
|
||||
// echo "<tr><td colspan=\"4\">" . $query . "</td></tr>";
|
||||
WHERE sponsors_id=" . $sponsorid. " ORDER BY dt DESC";
|
||||
//echo "<tr><td colspan=\"3\">" . $query . "</td></tr>";
|
||||
$q = mysql_query($query);
|
||||
echo mysql_error();
|
||||
if(mysql_num_rows($q)) {
|
||||
@ -1049,9 +1052,9 @@ function update_contactsinfo()
|
||||
);
|
||||
}
|
||||
|
||||
function contactsinfo_save(accounts_id) {
|
||||
function contactsinfo_save(uid) {
|
||||
var id=sponsor_id;
|
||||
$("#debug").load("<?$_SERVER['PHP_SELF']?>?action=contactsinfo_save&id="+id, $("#contact_" + accounts_id).serializeArray(),
|
||||
$("#debug").load("<?$_SERVER['PHP_SELF']?>?action=contactsinfo_save&id="+id, $("#contact_" + uid).serializeArray(),
|
||||
function() {
|
||||
$("#contactaccordion").accordion();
|
||||
update_contactsinfo();
|
||||
@ -1059,9 +1062,9 @@ function contactsinfo_save(accounts_id) {
|
||||
return false;
|
||||
}
|
||||
|
||||
function contactsinfo_delete(accounts_id) {
|
||||
function contactsinfo_delete(uid) {
|
||||
var id=sponsor_id;
|
||||
$("#debug").load("<?$_SERVER['PHP_SELF']?>?action=contactsinfo_delete&id="+id, $("#contact_" + accounts_id).serializeArray(),
|
||||
$("#debug").load("<?$_SERVER['PHP_SELF']?>?action=contactsinfo_delete&id="+id, $("#contact_" + uid).serializeArray(),
|
||||
function() {
|
||||
$("#contactaccordion").accordion();
|
||||
update_contactsinfo();
|
||||
@ -1111,9 +1114,9 @@ function donewcontactsearch() {
|
||||
$("#newcontactsearch").load("<?=$_SERVER['PHP_SELF']?>?action=newcontactsearch",$("#contact_new").serializeArray());
|
||||
}
|
||||
|
||||
function useexistingcontact(accounts_id) {
|
||||
function useexistingcontact(uid) {
|
||||
var id=sponsor_id;
|
||||
$("#debug").load("<?$_SERVER['PHP_SELF']?>?action=contactsinfo_addexisting",{id: id, accounts_id: accounts_id} ,function() { update_contactsinfo(); });
|
||||
$("#debug").load("<?$_SERVER['PHP_SELF']?>?action=contactsinfo_addexisting",{id: id, uid: uid} ,function() { update_contactsinfo(); });
|
||||
}
|
||||
|
||||
function togglefulldonationhistory() {
|
||||
@ -1236,7 +1239,7 @@ echo "<hr />";
|
||||
</td></tr>
|
||||
*/
|
||||
?>
|
||||
<tr><td><?=i18n("Notes")?></td><td colspan="5"><textarea id="organizationinfo_notes" name="notes" rows="8" cols="60"></textarea></td></tr>
|
||||
<tr><td><?=i18n("Notes")?></td><td colspan="5"><textarea id="organizationinfo_notes" name="notes" rows="4" cols="60"></textarea></td></tr>
|
||||
</table>
|
||||
<input id="organizationinfo_save_button" type="submit" value="<?=i18n("Save")?>" onClick="return organizationinfo_save()" />
|
||||
</form>
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
echo "<br />\n";
|
||||
|
||||
//$q=mysql_query("SELECT * FROM award_sponsors WHERE year='".$config['FAIRYEAR']."' ORDER BY organization");
|
||||
|
@ -1,91 +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 <info@scitechontario.org>
|
||||
Copyright (C) 2005 James Grant <james@lightbox.org>
|
||||
|
||||
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("../tableeditor.class.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
|
||||
send_header("Events Management",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php',
|
||||
'Events & Scheduling' => 'admin/eventsscheduling.php'),
|
||||
"events_scheduling" );
|
||||
|
||||
echo "<br />";
|
||||
|
||||
$editor = new TableEditor('events',
|
||||
array(
|
||||
"name" => "Event Name",
|
||||
"eventtype" => "Type",
|
||||
"suggested_grades" => "Suggested Grades",
|
||||
),
|
||||
array(
|
||||
"name" => "Event Name",
|
||||
"eventtype" => "Type",
|
||||
"summary" => "Summary",
|
||||
"website" => "Link to Description",
|
||||
"suggested_grades" => "Suggested Grades",
|
||||
"default_min_teams" => "Minimum Number of Teams",
|
||||
"default_max_teams" => "Maximum Number of Teams",
|
||||
"default_min_team_size" => "Minimum Team Size",
|
||||
"default_max_team_size" => "Maximum Team Size",
|
||||
"default_min_judges" => "Minimum Number of Judges",
|
||||
"default_max_judges" => "Maximum Number of Judges",
|
||||
"default_min_volunteers" => "Minimum Number of Volunteers",
|
||||
"default_max_volunteers" => "Maximum Number of Volunteers"
|
||||
),
|
||||
array(
|
||||
"conferences_id" => $conference['id']
|
||||
)
|
||||
);
|
||||
$eventtypes=array( array('key'=>"general", 'val'=>"General"),
|
||||
array('key'=>"scienceolympic", 'val'=>"Science Olympics Activity"),
|
||||
array('key'=>"sciencefairjudging", 'val'=>"Science Fair Judging"),
|
||||
array('key'=>"tour", 'val'=>"Tour")
|
||||
);
|
||||
|
||||
$editor->setFieldOptions("eventtype",$eventtypes);
|
||||
$editor->setPrimaryKey("id");
|
||||
$editor->setRecordType("Event");
|
||||
$editor->setDefaultSortField("eventtype,name");
|
||||
$editor->filterList("conferences_id", $conference['id']);
|
||||
|
||||
$editor->setFieldDefaultValue("default_min_teams",1);
|
||||
$editor->setFieldDefaultValue("default_max_teams",4);
|
||||
|
||||
$editor->setFieldDefaultValue("default_min_team_size",1);
|
||||
$editor->setFieldDefaultValue("default_max_team_size",6);
|
||||
|
||||
$editor->setFieldDefaultValue("default_min_judges",1);
|
||||
$editor->setFieldDefaultValue("default_max_judges",2);
|
||||
|
||||
$editor->setFieldDefaultValue("default_min_volunteers",1);
|
||||
$editor->setFieldDefaultValue("default_max_volunteers",5);
|
||||
|
||||
$editor->execute();
|
||||
|
||||
send_footer();
|
||||
|
||||
?>
|
@ -1,41 +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 <info@scitechontario.org>
|
||||
Copyright (C) 2005 James Grant <james@lightbox.org>
|
||||
|
||||
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('admin');
|
||||
|
||||
send_header("Events & Scheduling",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php'),
|
||||
"events_scheduling" );
|
||||
|
||||
echo "<br />";
|
||||
echo "<a href=\"locations.php\">".i18n('Event Locations')."</a><br />";
|
||||
echo "<a href=\"events.php\">".i18n('Event Management')."</a><br />";
|
||||
echo "<a href=\"schedule.php\">".i18n('Schedule Management')."</a><br />";
|
||||
|
||||
send_footer();
|
||||
|
||||
?>
|
@ -215,7 +215,7 @@ TRACE("Grid size: {$grid_size}m\n");
|
||||
|
||||
$div = array();
|
||||
TRACE("Loading Project Divisions...\n");
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE conferences_id='{$conference['id']}' ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE year='{$config['FAIRYEAR']}' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
$divshort[$r->id]=$r->division_shortform;
|
||||
@ -225,7 +225,7 @@ while($r=mysql_fetch_object($q))
|
||||
|
||||
TRACE("Loading Project Age Categories...\n");
|
||||
$cat = array();
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE conferences_id='{$conference['id']}' ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE year='{$config['FAIRYEAR']}' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
$catshort[$r->id]=$r->category_shortform;
|
||||
$cat[$r->id]=$r->category;
|
||||
@ -236,7 +236,7 @@ TRACE("Loading Projects...\n");
|
||||
$projects = array();
|
||||
$q = mysql_query("SELECT projects.* FROM projects, registrations
|
||||
WHERE
|
||||
projects.conferences_id='{$conference['id']}'
|
||||
projects.year='{$config['FAIRYEAR']}'
|
||||
AND registrations.id = projects.registrations_id
|
||||
".getJudgingEligibilityCode());
|
||||
while($p = mysql_fetch_object($q)) {
|
||||
@ -597,7 +597,7 @@ for($x=0;$x<$a->num_buckets; $x++) {
|
||||
print_r($projects);
|
||||
|
||||
/* Assign floor numbers */
|
||||
mysql_query("UPDATE projects SET floornumber=0 WHERE conferences_id='{$conference['id']}'");
|
||||
mysql_query("UPDATE projects SET floornumber=0 WHERE year='{$config['FAIRYEAR']}'");
|
||||
|
||||
foreach($projects as $pid=>$p) {
|
||||
mysql_query("UPDATE projects SET floornumber='{$p['floornumber']}' WHERE id='$pid'");
|
||||
|
@ -24,16 +24,16 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require("../lpdf.php");
|
||||
|
||||
$catq=mysql_query("SELECT * FROM projectcategories WHERE conferences_id='".$conference['id']."' AND id='".$_GET['cat']."'");
|
||||
$catq=mysql_query("SELECT * FROM projectcategories WHERE year='".$config['FAIRYEAR']."' AND id='".$_GET['cat']."'");
|
||||
if($catr=mysql_fetch_object($catq))
|
||||
{
|
||||
|
||||
$pdf=new lpdf( i18n($config['fairname']),
|
||||
i18n("Checkin List")." - ".i18n($catr->category),
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/{$conference['id']-logo-200.gif"
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/logo-200.gif"
|
||||
);
|
||||
|
||||
$pdf->newPage();
|
||||
@ -48,7 +48,7 @@ if($catr=mysql_fetch_object($catq))
|
||||
registrations
|
||||
left outer join projects on projects.registrations_id=registrations.id
|
||||
WHERE
|
||||
registrations.conferences_id='".$conference['id']."'
|
||||
registrations.year='".$config['FAIRYEAR']."'
|
||||
AND ( registrations.status='complete' OR registrations.status='paymentpending' )
|
||||
AND projects.projectcategories_id='$catr->id'
|
||||
ORDER BY
|
||||
@ -74,7 +74,7 @@ if($catr=mysql_fetch_object($catq))
|
||||
}
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
$divq=mysql_query("SELECT division,division_shortform FROM projectdivisions WHERE conferences_id='".$conference['id']."' AND id='".$r->projectdivisions_id."'");
|
||||
$divq=mysql_query("SELECT division,division_shortform FROM projectdivisions WHERE year='".$config['FAIRYEAR']."' AND id='".$r->projectdivisions_id."'");
|
||||
$divr=mysql_fetch_object($divq);
|
||||
|
||||
$sq=mysql_query("SELECT students.firstname,
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require_once('../common.inc.php');
|
||||
require_once('../user.inc.php');
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require_once('xml.inc.php');
|
||||
require_once('stats.inc.php');
|
||||
require_once('curl.inc.php');
|
||||
@ -299,26 +299,21 @@
|
||||
}
|
||||
|
||||
|
||||
$q=mysql_query("SELECT COUNT(users.id) AS num FROM users
|
||||
JOIN user_roles ON user_roles.users_id = users.id
|
||||
JOIN roles ON roles.id = user_roles.roles_id
|
||||
WHERE roles.type = 'committee'
|
||||
AND users.conferences_id = '{$conference['id']}'
|
||||
AND users.deleted = 'no'");
|
||||
|
||||
$q=mysql_query("SELECT COUNT(id) AS num FROM users
|
||||
LEFT JOIN users_committee ON users_committee.users_id=users.id
|
||||
WHERE types LIKE '%committee%'
|
||||
AND year='$year'
|
||||
AND users_committee.committee_active='yes'
|
||||
AND deleted='no'");
|
||||
$r = mysql_fetch_object($q);
|
||||
$stats['committee_members'] = $r->num;
|
||||
|
||||
$q=mysql_query("
|
||||
SELECT COUNT(users.id) AS num FROM users
|
||||
JOIN user_roles ON user_roles.users_id = users.id
|
||||
JOIN roles ON roles.id = user_roles.roles_id
|
||||
WHERE users.conferences_id = '{$conference['id']}'
|
||||
AND users.deleted = 'no'
|
||||
AND roles.type = 'judge'
|
||||
AND user_roles.complete='yes'
|
||||
AND user_roles.active='yes'");
|
||||
|
||||
$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);
|
||||
$stats['judges'] = $r->num;
|
||||
|
||||
|
@ -37,7 +37,7 @@
|
||||
'delegates' => 'Delegate information/jacket size for CWSF',
|
||||
);
|
||||
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
|
||||
switch($_GET['action']) {
|
||||
@ -92,7 +92,7 @@ function stats_save()
|
||||
<input type="hidden" name="fairs_id" value="<?=$f['id']?>" />
|
||||
<table class="editor">
|
||||
<?
|
||||
$selected_stats = explode(',', $f['gather_stats']);
|
||||
$selected_stats = split(',', $f['gather_stats']);
|
||||
foreach($stats as $s=>$d) {
|
||||
$ch = in_array($s, $selected_stats) ? 'checked="checked"' : '';
|
||||
echo "<tr><td class=\"left\"><input type=\"checkbox\" id=\"stats_$s\" name=\"stats[]\" value=\"$s\" $ch /></td>";
|
||||
|
@ -3,7 +3,7 @@
|
||||
require_once("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
$q = mysql_query("SELECT * FROM judges WHERE passwordexpiry IS NULL");
|
||||
while($i = mysql_fetch_object($q)) {
|
||||
|
@ -24,7 +24,7 @@
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
if($_GET['action']=="refresh") {
|
||||
?>
|
||||
|
@ -23,7 +23,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require("fundraising_common.inc.php");
|
||||
|
||||
switch($_GET['action']){
|
||||
@ -36,29 +36,19 @@ switch($_GET['action']){
|
||||
echo "<div id=\"campaignaccordion\" style=\"width: 780px;\">\n";
|
||||
$q=mysql_query("SELECT * FROM fundraising_campaigns WHERE fiscalyear='{$config['FISCALYEAR']}' ORDER BY name");
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
echo "<h3 id=\"campaigntitle_{$r->id}\"><a href=\"#\">".htmlspecialchars($r->name)."</a></h3>\n";
|
||||
echo "<h3><a href=\"#\">".htmlspecialchars($r->name)."</a></h3>\n";
|
||||
echo "<div id=\"campaign_{$r->id}\">\n";
|
||||
echo "<table>\n";
|
||||
echo "<form id=\"campaigninfo_{$r->id}\" method=\"post\" action=\"{$_SERVER['PHP_SELF']}\" onsubmit=\"return campaigninfo_save($r->id)\">\n";
|
||||
echo "<input type=\"hidden\" name=\"campaign_id\" value=\"{$r->id}\" />\n";
|
||||
echo "<table>\n";
|
||||
display_campaign_form($r);
|
||||
?>
|
||||
<tr><td colspan="6" style="text-align: center;">
|
||||
<br />
|
||||
<input type="submit" value="<?=i18n("Save Appeal")?>"></td>
|
||||
</tr>
|
||||
</form>
|
||||
<tr><td colspan="6" style="text-align: center;">
|
||||
<br />
|
||||
<?php
|
||||
echo "<form id=\"campaignremove_{$r->id}\" method=\"post\" action=\"{$_SERVER['PHP_SELF']}\" onsubmit=\"return campaigninfo_remove($r->id)\">\n";
|
||||
echo "<input type=\"hidden\" name=\"campaign_id\" value=\"{$r->id}\" />\n";
|
||||
?>
|
||||
<br />
|
||||
<input type="submit" value="<?=i18n("Delete Appeal")?>"></td>
|
||||
</form>
|
||||
</td></tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<?
|
||||
}
|
||||
@ -439,7 +429,7 @@ switch($_GET['action']){
|
||||
echo "<input type=\"button\" onclick=\"return opensendemaildialog($campaign_id,$email->id)\" value=\"".i18n("Send as email")."\" />";
|
||||
echo "<br />\n";
|
||||
if($email->lastsent) {
|
||||
list($date,$time)=explode(" ",$email->lastsent);
|
||||
list($date,$time)=split(" ",$email->lastsent);
|
||||
echo i18n("Last Sent");
|
||||
echo "<br />".format_date($date);
|
||||
echo "<br />".format_time($time);
|
||||
@ -503,35 +493,8 @@ switch($_GET['action']){
|
||||
mysql_query("DELETE FROM emails WHERE id='$emails_id'");
|
||||
happy_("Communicaton removed");
|
||||
}
|
||||
exit;
|
||||
break;
|
||||
|
||||
case "campaign_remove":
|
||||
$campaign_id = $_POST['campaign_id'];
|
||||
if(is_numeric($campaign_id)) {
|
||||
mysql_query("DELETE FROM fundraising_campaigns WHERE
|
||||
(SELECT COUNT(*) FROM fundraising_donations WHERE fundraising_campaigns_id = $campaign_id) = 0 AND
|
||||
(SELECT count(*) FROM emails WHERE fundraising_campaigns_id = $campaign_id) = 0 AND
|
||||
id = $campaign_id");
|
||||
if(mysql_affected_rows() == 0) {
|
||||
error_("Cannot delete campaign. It is in use.");
|
||||
} else {
|
||||
mysql_query("DELETE FROM fundraising_campaigns_users_link WHERE fundraising_campaigns_id = $campaign_id");
|
||||
mysql_query("DELETE FROM fundraising_donations WHERE fundraising_campaigns_id = $campaign_id");
|
||||
mysql_query("DELETE FROM fundraising_donor_logs WHERE fundraising_campaigns_id = $campaign_id");
|
||||
mysql_query("DELETE FROM emailqueue WHERE fundraising_campaigns_id = $campaign_id");
|
||||
mysql_query("DELETE FROM emails WHERE fundraising_campaigns_id = $campaign_id");
|
||||
happy_("Campaign removed");
|
||||
echo "<script type=\"text/javascript\">";
|
||||
echo " $('#campaigntitle_$campaign_id').remove();";
|
||||
echo " $('#campaign_$campaign_id').remove();";
|
||||
echo "</script>";
|
||||
}
|
||||
} else {
|
||||
error_("Invalid Campaign ID");
|
||||
}
|
||||
|
||||
exit;
|
||||
break;
|
||||
|
||||
}
|
||||
@ -649,11 +612,6 @@ function campaigninfo_save(id) {
|
||||
return false;
|
||||
}
|
||||
|
||||
function campaigninfo_remove(id) {
|
||||
$("#debug").load("<?$_SERVER['PHP_SELF']?>?action=campaign_remove", $("#campaignremove_"+id).serializeArray());
|
||||
return false;
|
||||
}
|
||||
|
||||
function update_tab_overview() {
|
||||
$("#campaign_tab_overview").load("<?$_SERVER['PHP_SELF']?>?action=manage_tab_overview&id="+currentcampaignid);
|
||||
}
|
||||
|
@ -23,7 +23,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require("fundraising_common.inc.php");
|
||||
|
||||
$userslist=array();
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?
|
||||
$campaign_types=array("Mail","Email","Phone","Personal Visit","Event","Other");
|
||||
$salutations=array("Mr.","Mrs.","Ms","Dr.","Professor");
|
||||
|
||||
function getGoal($goal) {
|
||||
global $config;
|
||||
|
88
admin/fundraising_main.inc.php
Normal file
88
admin/fundraising_main.inc.php
Normal file
@ -0,0 +1,88 @@
|
||||
<?
|
||||
if($_GET['action']=="fundraisingmain") {
|
||||
|
||||
//this table is eventually going to be massive, and probably not in a tableview format, it'll show goals as well as all ongoing fund pledges, probabilities, etc as well as over/under, etc, all prettily colour coded.. basically a good overview of the total fundraising status of the fair.
|
||||
$q=mysql_query("SELECT * FROM fundraising_goals WHERE fiscalyear='{$config['FISCALYEAR']}' ORDER BY system DESC,goal");
|
||||
echo "<table class=\"fundraisingtable\">";
|
||||
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
echo "<tr>";
|
||||
echo "<th><a title=\"".i18n("Edit fund details")."\" onclick=\"return popup_fund_editor('fundraising_types.php?id=$r->id')\" href=\"#\"><img border=\"0\" src=\"".$config['SFIABDIRECTORY']."/images/16/edit.".$config['icon_extension']."\"></a>";
|
||||
if($r->system=="no") {
|
||||
//echo "<a title=\"".i18n("Remove Fund")."\" onclick=\"return confirmClick('Are you sure you want to remove this fund and all sponsorships inside it?')\" href=\"fundraising.php?action=funddelete&delete=$r->id\">";
|
||||
echo "<img style=\"cursor:pointer\" onclick=\"return delete_fund($r->id)\" border=\"0\" src=\"".$config['SFIABDIRECTORY']."/images/16/button_cancel.".$config['icon_extension']."\">";
|
||||
// echo "</a>";
|
||||
}
|
||||
|
||||
echo "</th>\n";
|
||||
echo "<th colspan=\"5\">".i18n($r->name)."</th>\n";
|
||||
echo "<th style=\"text-align: right\"><nobr>".format_money($r->budget)."</nobr></th>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
if($r->type=="general")
|
||||
$orsql.="OR fundraising_type IS NULL";
|
||||
|
||||
$typetotal=0;
|
||||
$typeprobtotal=0;
|
||||
$sq=mysql_query("
|
||||
SELECT fundraising_donations.id, sponsors.organization AS name, fundraising_donations.value, fundraising_donations.status, fundraising_donations.probability
|
||||
FROM fundraising_donations
|
||||
JOIN sponsors ON fundraising_donations.sponsors_id=sponsors.id
|
||||
WHERE (fundraising_donations.fundraising_goal='$r->goal' $orsql)
|
||||
AND fundraising_donations.fiscalyear='{$config['FISCALYEAR']}'
|
||||
|
||||
UNION
|
||||
|
||||
SELECT fundraising_donations.id, CONCAT(users.firstname,' ',users.lastname) AS name, fundraising_donations.value, fundraising_donations.status, fundraising_donations.probability
|
||||
FROM fundraising_donations
|
||||
JOIN users ON fundraising_donations.users_uid=users.uid
|
||||
WHERE (fundraising_donations.fundraising_goal='$r->goal' $orsql)
|
||||
AND fundraising_donations.fiscalyear='{$config['FISCALYEAR']}'
|
||||
|
||||
ORDER BY status DESC, probability DESC, name
|
||||
");
|
||||
echo mysql_error();
|
||||
while($sr=mysql_fetch_object($sq)) {
|
||||
echo "<tr id=\"sponsorships_$sr->id\" class=\"fundraising{$sr->status}\">";
|
||||
echo "<td>";
|
||||
echo "<img style=\"cursor:pointer;\" onclick=\"delete_sponsorship($sr->id)\" border=\"0\" src=\"".$config['SFIABDIRECTORY']."/images/16/button_cancel.".$config['icon_extension']."\">";
|
||||
echo "</td>";
|
||||
echo "<td style=\"cursor: pointer;\" onclick=\"popup_sponsorship_editor('fundraising_sponsorship.php?id=$sr->id&fundraising_type=$r->type')\">";
|
||||
echo "$sr->name</td>\n";
|
||||
echo "<td>$sr->status</td>";
|
||||
echo "<td>";
|
||||
if($sr->status=="pending") {
|
||||
echo "$sr->probability%";
|
||||
echo "</td>";
|
||||
echo "<td><nobr>".format_money($sr->value)."</nobr></td>";
|
||||
}
|
||||
else
|
||||
echo "</td><td></td>\n";
|
||||
|
||||
$probval=$sr->probability/100*$sr->value;
|
||||
echo "<td style=\"text-align: right\"><nobr>".format_money($probval)."</nobr></td>";
|
||||
echo "<td></td>\n";
|
||||
echo "</tr>\n";
|
||||
$typeprobtotal+=$probval;
|
||||
$typetotal+=$sr->value;
|
||||
}
|
||||
echo "<tr>";
|
||||
echo "<td><a onclick=\"return popup_sponsorship_editor('fundraising_sponsorship.php?fundraising_type=$r->type')\" href=\"#\">add</a></td>";
|
||||
echo "<td colspan=\"3\" style=\"text-align: right; font-weight: bold;\">".i18n("%1 Total",array($r->name),array("Fundraising type total, eg) Award Sponsorship Total"))."</td>\n";
|
||||
echo "<td style=\"font-weight: bold; text-align: right;\"><nobr>".format_money($typetotal)."</nobr></td>\n";
|
||||
echo "<td style=\"font-weight: bold; text-align: right;\"><nobr>".format_money($typeprobtotal)."</nobr></td>\n";
|
||||
$typediff=$typeprobtotal-$r->goal;
|
||||
echo "<td style=\"font-weight: bold; text-align: right;\"><nobr>".format_money($typediff)."</nobr></td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
$totalgoal+=$r->goal;
|
||||
$totaldiff+=$typediff;
|
||||
echo "<tr><td colspan=\"7\"> </td></tr>\n";
|
||||
}
|
||||
echo "<tr>";
|
||||
echo "<td colspan=\"2\"><a onclick=\"return popup_fund_editor('fundraising_types.php')\" href=\"#\">add fund type</a></td>";
|
||||
echo "<td colspan=\"4\" style=\"font-weight: bold; text-align: right;\">".i18n("Total Net Position")."</td><td style=\"text-align: right; font-weight: bold;\">".format_money($totaldiff)."</td></tr>\n";
|
||||
echo "</table>\n";
|
||||
exit;
|
||||
}
|
||||
|
@ -23,7 +23,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require("fundraising_common.inc.php");
|
||||
|
||||
send_header("Fundraising Reports",
|
||||
|
@ -23,7 +23,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require("fundraising_common.inc.php");
|
||||
require_once("../lpdf.php");
|
||||
require_once("../lcsv.php");
|
||||
@ -41,7 +41,7 @@
|
||||
} else if($type=="pdf") {
|
||||
$rep=new lpdf( i18n($config['fairname']),
|
||||
i18n("List of Prospects By Appeal"),
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/{$conference['id']}-logo-200.gif"
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/logo-200.gif"
|
||||
);
|
||||
$rep->newPage();
|
||||
$rep->setFontSize(8);
|
||||
@ -125,7 +125,7 @@
|
||||
} else if($type=="pdf") {
|
||||
$rep=new lpdf( i18n($config['fairname']),
|
||||
i18n("Results of Appeal by Purpose"),
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/{$conference['id']}-logo-200.gif"
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/logo-200.gif"
|
||||
);
|
||||
$rep->newPage();
|
||||
$rep->setFontSize(8);
|
||||
|
@ -24,7 +24,7 @@
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
//first, insert any default fundraising donor levels
|
||||
$q=mysql_query("SELECT * FROM fundraising_donor_levels WHERE fiscalyear='".$config['FISCALYEAR']."'");
|
||||
@ -175,7 +175,7 @@
|
||||
echo $config['FISCALYEAR'];
|
||||
echo "</td></tr>\n";
|
||||
echo "<tr><td>".i18n("Fiscal Year End")."</td><td>";
|
||||
list($month,$day)=explode("-",$config['fiscal_yearend']);
|
||||
list($month,$day)=split("-",$config['fiscal_yearend']);
|
||||
emit_month_selector("fiscalendmonth",$month);
|
||||
emit_day_selector("fiscalendday",$day);
|
||||
echo "</td></tr>\n";
|
||||
@ -299,9 +299,9 @@
|
||||
|
||||
case "setup_save":
|
||||
$fye=sprintf("%02d-%02d",intval($_POST['fiscalendmonth']),intval($_POST['fiscalendday']));
|
||||
mysql_query("UPDATE config SET val='$fye' WHERE var='fiscal_yearend' AND conferences_id='{$conference['id']}'");
|
||||
mysql_query("UPDATE config SET val='".mysql_real_escape_string($_POST['registeredcharity'])."' WHERE var='registered_charity' AND conferences_id='{$conference['id']}'");
|
||||
mysql_query("UPDATE config SET val='".mysql_real_escape_string($_POST['charitynumber'])."' WHERE var='charity_number' AND conferences_id='{$conference['id']}'");
|
||||
mysql_query("UPDATE config SET val='$fye' WHERE var='fiscal_yearend' AND year='{$config['FAIRYEAR']}'");
|
||||
mysql_query("UPDATE config SET val='".mysql_real_escape_string($_POST['registeredcharity'])."' WHERE var='registered_charity' AND year='{$config['FAIRYEAR']}'");
|
||||
mysql_query("UPDATE config SET val='".mysql_real_escape_string($_POST['charitynumber'])."' WHERE var='charity_number' AND year='{$config['FAIRYEAR']}'");
|
||||
happy_("Fundraising module setup saved");
|
||||
exit;
|
||||
break;
|
||||
|
153
admin/fundraising_sponsorship.php
Normal file
153
admin/fundraising_sponsorship.php
Normal file
@ -0,0 +1,153 @@
|
||||
<?
|
||||
/*
|
||||
This file is part of the 'Science Fair In A Box' project
|
||||
SFIAB Website: http://www.sfiab.ca
|
||||
|
||||
Copyright (C) 2008 James Grant <james@lightbox.org>
|
||||
|
||||
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');
|
||||
|
||||
if($_GET['id']) {
|
||||
$id=intval($_GET['id']);
|
||||
$q=mysql_query("SELECT fundraising_donations.*, sponsors.organization FROM fundraising_donations,sponsors WHERE fundraising_donations.id='$id' AND fundraising_donations.sponsors_id=sponsors.id");
|
||||
$sponsorship=mysql_fetch_object($q);
|
||||
$formaction="sponsorshipedit";
|
||||
}
|
||||
else
|
||||
{
|
||||
$formaction="sponsorshipadd";
|
||||
$fundraising_type=$_GET['fundraising_type'];
|
||||
}
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
function typechange() {
|
||||
var t=($("[name=sponsortype]:checked").val());
|
||||
if(t=="organization") {
|
||||
$("#sponsor_type_organization").show();
|
||||
$("#sponsor_type_individual").hide();
|
||||
} else {
|
||||
$("#sponsor_type_organization").hide();
|
||||
$("#sponsor_type_individual").show();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
</script>
|
||||
<?
|
||||
echo "<form id=\"fundraisingsponsorship\">";
|
||||
echo "<input type=\"hidden\" name=\"action\" value=\"$formaction\">";
|
||||
echo "<input type=\"hidden\" name=\"fundraising_donations_id\" value=\"$id\">";
|
||||
echo "<table cellspacing=0 cellpadding=0 class=\"tableedit\">";
|
||||
|
||||
if($formaction=="sponsorshipadd") {
|
||||
echo "<tr><th>".i18n("Donor Type")."</th>";
|
||||
echo "<td>";
|
||||
echo "<input onchange=\"typechange()\" type=\"radio\" name=\"sponsortype\" value=\"organization\"> ".i18n("Organization");
|
||||
echo " "; echo " "; echo " ";
|
||||
echo "<input onchange=\"typechange()\" type=\"radio\" name=\"sponsortype\" value=\"individual\"> ".i18n("Individual");
|
||||
echo "</td></tr>\n";
|
||||
|
||||
echo "<tr><th>".i18n("Donor")."</th>";
|
||||
echo "<td>";
|
||||
|
||||
$q=mysql_query("SELECT * FROM sponsors ORDER BY organization");
|
||||
echo mysql_error();
|
||||
echo "<span id=\"sponsor_type_organization\" style=\"display: none;\">";
|
||||
echo "<select name=\"sponsors_id\">";
|
||||
echo "<option value=\"\">".i18n("Choose")."</option>\n";
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
if($r->id==$sponsorship->sponsors_id) $sel="selected=\"selected\""; else $sel="";
|
||||
echo "<option $sel value=\"$r->id\">$r->organization</option>\n";
|
||||
}
|
||||
echo "</select> <a href=\"donors.php?action=add\">".i18n("Add")."</a>\n";
|
||||
echo "</span>";
|
||||
|
||||
|
||||
$q=mysql_query("SELECT users.*, MAX(year) AS year FROM users WHERE (firstname!='' AND lastname!='') GROUP BY uid HAVING deleted='no' ORDER BY lastname,firstname");
|
||||
echo mysql_error();
|
||||
echo "<span id=\"sponsor_type_individual\" style=\"display: none;\">";
|
||||
echo "<select name=\"users_uid\">";
|
||||
echo "<option value=\"\">".i18n("Choose")."</option>\n";
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
if($r->uid==$sponsorship->users_uid) $sel="selected=\"selected\""; else $sel="";
|
||||
echo "<option $sel value=\"$r->uid\">[$r->year][$r->uid] $r->lastname, $r->firstname ($r->email)</option>\n";
|
||||
}
|
||||
echo "</span>";
|
||||
|
||||
|
||||
|
||||
}
|
||||
else {
|
||||
echo "<tr><th>".i18n("Donor Type")."</th>";
|
||||
echo "<td>";
|
||||
if($sponsorship->sponsors_id) echo i18n("Organization");
|
||||
else echo i18n("Individual");
|
||||
echo "</td></tr>\n";
|
||||
|
||||
echo "<tr><th>".i18n("Donor")."</th>";
|
||||
echo "<td>";
|
||||
echo $sponsorship->organization;
|
||||
}
|
||||
echo "</td></tr>\n";
|
||||
|
||||
echo "<tr><th>".i18n("Donation Allocation")."</th>";
|
||||
echo "<td>";
|
||||
$q=mysql_query("SELECT * FROM fundraising WHERE year='{$config['FAIRYEAR']}' ORDER BY name");
|
||||
echo mysql_error();
|
||||
echo "<select name=\"fundraising_type\">";
|
||||
echo "<option value=\"\">".i18n("Choose")."</option>\n";
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
if($r->type==$sponsorship->fundraising_type || $r->type==$fundraising_type) $sel="selected=\"selected\""; else $sel="";
|
||||
echo "<option $sel value=\"$r->type\">$r->name</option>\n";
|
||||
}
|
||||
echo "</select>\n";
|
||||
echo "</td></tr>\n";
|
||||
echo "<tr><th>".i18n("Amount")."</th><td><input type=\"text\" name=\"value\" value=\"$sponsorship->value\"></td></tr>\n";
|
||||
|
||||
echo "<tr><th>".i18n("Status")."</th>";
|
||||
echo "<td>";
|
||||
echo "<select name=\"status\">";
|
||||
echo "<option value=\"\">".i18n("Choose")."</option>\n";
|
||||
$statuses=array("pending","confirmed","received");
|
||||
foreach($statuses AS $status) {
|
||||
if($sponsorship->status==$status) $sel="selected=\"selected\""; else $sel="";
|
||||
echo "<option $sel value=\"$status\">".i18n(ucfirst($status))."</option>\n";
|
||||
}
|
||||
echo "</select>\n";
|
||||
echo "</td></tr>\n";
|
||||
|
||||
echo "<tr><th>".i18n("Probability")."</th>";
|
||||
echo "<td>";
|
||||
echo "<select name=\"probability\">";
|
||||
echo "<option value=\"\">".i18n("Choose")."</option>\n";
|
||||
$probs=array("25","50","75","90","95","99","100");
|
||||
foreach($probs AS $prob) {
|
||||
if($sponsorship->probability==$prob) $sel="selected=\"selected\""; else $sel="";
|
||||
echo "<option $sel value=\"$prob\">$prob%</option>\n";
|
||||
}
|
||||
echo "</select>\n";
|
||||
echo "</td></tr>\n";
|
||||
|
||||
echo "</table>\n";
|
||||
echo "</form>\n";
|
||||
|
||||
?>
|
@ -24,7 +24,7 @@
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
if($_GET['id']) {
|
||||
$id=intval($_GET['id']);
|
||||
|
@ -24,15 +24,15 @@
|
||||
<?
|
||||
include "../common.inc.php";
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
$ret=array();
|
||||
foreach($config['languages'] AS $l=>$ln) {
|
||||
if($l==$config['default_language']) continue;
|
||||
$q=mysql_query("SELECT * FROM translations WHERE lang='$l' AND strmd5='".md5($_GET['str'])."'");
|
||||
$q=mysql_query("SELECT * FROM translations WHERE lang='$l' AND strmd5='".md5(iconv("ISO-8859-1","UTF-8",$_GET['str']))."'");
|
||||
if($r=mysql_fetch_object($q))
|
||||
$ret[$l]=$r->val;
|
||||
$ret[$l]=iconv("ISO-8859-1","UTF-8",$r->val);
|
||||
else
|
||||
$ret[$l]="";
|
||||
$ret[$l]="";
|
||||
}
|
||||
echo json_encode($ret);
|
||||
?>
|
||||
|
171
admin/index.php
171
admin/index.php
@ -26,121 +26,69 @@
|
||||
require_once("../user.inc.php");
|
||||
require_once("../committee.inc.php");
|
||||
|
||||
user_auth_required('admin');
|
||||
|
||||
user_auth_required('committee','admin');
|
||||
|
||||
send_header("Administration",
|
||||
array('Committee Main' => 'committee_main.php'),
|
||||
"administration");
|
||||
|
||||
if($conference['type']=='sciencefair') {
|
||||
echo "<table class=\"adminconfigtable\">";
|
||||
echo " <tr>";
|
||||
echo " <td><a href=\"registration.php\">".theme_icon("participant_registration")."<br />".i18n("Participant Registration")."</a></td>";
|
||||
echo " <td><a href=\"committees.php\">".theme_icon("committee_management")."<br />".i18n("Committee Management")."</a></td>";
|
||||
echo " <td><a href=\"judges.php\">".theme_icon("judging_management")."<br />".i18n("Judging Management")."</a></td>";
|
||||
echo " <td><a href=\"account_list.php\">".theme_icon("account_management")."<br />".i18n("Account Management")."</a></td>";
|
||||
echo " <td>";
|
||||
if($config['volunteer_enable'] == 'yes')
|
||||
echo "<a href=\"volunteers.php\">".theme_icon("volunteer_management")."<br />".i18n("Volunteer Management")."</a>";
|
||||
else
|
||||
echo theme_icon("volunteer_management")."<br />".i18n("Volunteer Management")."<br /><i>(".i18n("disabled").")</i>";
|
||||
echo "</td></tr>";
|
||||
echo "</table>\n";
|
||||
echo "<hr />";
|
||||
echo "<table class=\"adminconfigtable\">";
|
||||
echo " <tr>";
|
||||
echo " <td><a href=\"awards.php\">".theme_icon("awards_management")."<br />".i18n("Awards Management")."</a></td>";
|
||||
echo " <td><a href=\"schools.php\">".theme_icon("schools_management")."<br />".i18n("Schools Management")."</a></td>";
|
||||
echo " <td>";
|
||||
if($config['tours_enable'] == 'yes')
|
||||
echo "<a href=\"tours.php\">".theme_icon("tour_management")."<br />".i18n("Tour Management")."</a>";
|
||||
else
|
||||
echo theme_icon("tour_management")."<br />".i18n("Tour Management")."<br /><i>(".i18n("disabled").")</i>";
|
||||
echo "</td>";
|
||||
echo " <td>";
|
||||
if($config['participant_regfee_items_enable'] == 'yes')
|
||||
echo "<a href=\"regfee_items_manager.php\">".theme_icon("registration_fee_items_management")."<br />".i18n("Registration Fee Items Management")."</a>";
|
||||
else
|
||||
echo theme_icon("registration_fee_items_management")."<br />".i18n("Registration Fee Items Management")."<br /><i>(".i18n("disabled").")</i>";
|
||||
echo "</td>";
|
||||
echo " </tr>\n";
|
||||
echo " <tr>";
|
||||
echo " <td><a href=\"reports.php\">".theme_icon("print/export_reports")."<br />".i18n("Print / Export Reports")."</a></td>";
|
||||
echo " <td><a href=\"reports_ceremony.php\">".theme_icon("print_awards_ceremony_scripts")."<br />".i18n("Print Award Ceremony Scripts")."</a></td>";
|
||||
echo " <td><a href=\"reports_editor.php\">".theme_icon("report_management")."<br />".i18n("Report Management")."</a></td>";
|
||||
echo " <td><a href=\"translations.php\">".theme_icon("translations_management")."<br />".i18n("Translations Management")."</a></td>";
|
||||
echo " <td>";
|
||||
echo "</td>";
|
||||
echo " </tr>\n";
|
||||
echo " <tr>";
|
||||
echo "<td></td><td></td>\n";
|
||||
echo " </tr>\n";
|
||||
echo "</table>\n";
|
||||
echo "<hr />";
|
||||
echo "<table class=\"adminconfigtable\">";
|
||||
echo " <tr>";
|
||||
if($config['score_entry_enable'] == 'yes') {
|
||||
echo "<td><a href=\"judging_score_entry.php\">".theme_icon("judging_score_entry")."<br />".i18n("Judging Score Entry")."</a></td>";
|
||||
}
|
||||
echo " <td><a href=\"winners.php\">".theme_icon("enter_winning_projects")."<br />".i18n("Enter Winning Projects")."</a></td>";
|
||||
echo " <td><a href=\"cwsfregister.php\">".theme_icon("one-click_cwsf_registration")."<br />".i18n("One-Click CWSF Registration")."</a></td>";
|
||||
echo " <td><a href=\"fair_stats.php\">".theme_icon("fair_stats")."<br />".i18n("Upload Fair Statistics")."</a></td>";
|
||||
echo " <td><a href=\"user_list.php?show_types[]=fair\">".theme_icon("sciencefair_management")."<br />".i18n("Feeder/Upstream Fair Management")."</a></td>";
|
||||
echo " </tr>\n";
|
||||
echo "</table>\n";
|
||||
}
|
||||
else {
|
||||
echo "<table class=\"adminconfigtable\">";
|
||||
echo " <tr>";
|
||||
echo " <td><a href=\"eventsscheduling.php\">".theme_icon("events_management")."<br />".i18n("Events & Scheduling")."</a></td>";
|
||||
echo " <td><a href=\"registration.php\">".theme_icon("participant_registration")."<br />".i18n("Participant Registration")."</a></td>";
|
||||
echo " <td><a href=\"committees.php\">".theme_icon("committee_management")."<br />".i18n("Committee Management")."</a></td>";
|
||||
echo " <td><a href=\"judges.php\">".theme_icon("judging_management")."<br />".i18n("Judging Management")."</a></td>";
|
||||
echo " <td>";
|
||||
if($config['volunteer_enable'] == 'yes')
|
||||
echo "<a href=\"volunteers.php\">".theme_icon("volunteer_management")."<br />".i18n("Volunteer Management")."</a>";
|
||||
else
|
||||
echo theme_icon("volunteer_management")."<br />".i18n("Volunteer Management")."<br /><i>(".i18n("disabled").")</i>";
|
||||
echo "</td></tr>";
|
||||
echo "</table>\n";
|
||||
echo "<hr />";
|
||||
echo "<table class=\"adminconfigtable\">";
|
||||
echo " <tr>";
|
||||
echo " <td><a href=\"awards.php\">".theme_icon("awards_management")."<br />".i18n("Awards Management")."</a></td>";
|
||||
echo " <td><a href=\"schools.php\">".theme_icon("schools_management")."<br />".i18n("Schools Management")."</a></td>";
|
||||
echo " <td>";
|
||||
if($config['tours_enable'] == 'yes')
|
||||
echo "<a href=\"tours.php\">".theme_icon("tour_management")."<br />".i18n("Tour Management")."</a>";
|
||||
else
|
||||
echo theme_icon("tour_management")."<br />".i18n("Tour Management")."<br /><i>(".i18n("disabled").")</i>";
|
||||
echo "</td>";
|
||||
echo " <td>";
|
||||
if($config['participant_regfee_items_enable'] == 'yes')
|
||||
echo "<a href=\"regfee_items_manager.php\">".theme_icon("registration_fee_items_management")."<br />".i18n("Registration Fee Items Management")."</a>";
|
||||
else
|
||||
echo theme_icon("registration_fee_items_management")."<br />".i18n("Registration Fee Items Management")."<br /><i>(".i18n("disabled").")</i>";
|
||||
echo "</td>";
|
||||
echo " </tr>\n";
|
||||
echo " <tr>";
|
||||
echo " <td><a href=\"reports.php\">".theme_icon("print/export_reports")."<br />".i18n("Print / Export Reports")."</a></td>";
|
||||
echo " <td><a href=\"reports_ceremony.php\">".theme_icon("print_awards_ceremony_scripts")."<br />".i18n("Print Award Ceremony Scripts")."</a></td>";
|
||||
echo " <td><a href=\"reports_editor.php\">".theme_icon("report_management")."<br />".i18n("Report Management")."</a></td>";
|
||||
echo " <td><a href=\"translations.php\">".theme_icon("translations_management")."<br />".i18n("Translations Management")."</a></td>";
|
||||
echo " <td>";
|
||||
echo "</td>";
|
||||
echo " </tr>\n";
|
||||
echo " <tr>";
|
||||
echo "<td></td><td></td>\n";
|
||||
echo " </tr>\n";
|
||||
echo "</table>\n";
|
||||
echo "<hr />";
|
||||
echo "<table class=\"adminconfigtable\">";
|
||||
echo " <tr>";
|
||||
echo " <td><a href=\"winners.php\">".theme_icon("enter_winning_projects")."<br />".i18n("Enter Winners")."</a></td>";
|
||||
echo " </tr>\n";
|
||||
echo "</table>\n";
|
||||
}
|
||||
|
||||
|
||||
echo "<table class=\"adminconfigtable\">";
|
||||
echo " <tr>";
|
||||
echo " <td><a href=\"registration.php\">".theme_icon("participant_registration")."<br />".i18n("Participant Registration")."</a></td>";
|
||||
echo " <td><a href=\"committees.php\">".theme_icon("committee_management")."<br />".i18n("Committee Management")."</a></td>";
|
||||
echo " <td><a href=\"judges.php\">".theme_icon("judging_management")."<br />".i18n("Judging Management")."</a></td>";
|
||||
echo " <td>";
|
||||
if($config['volunteer_enable'] == 'yes')
|
||||
echo "<a href=\"volunteers.php\">".theme_icon("volunteer_management")."<br />".i18n("Volunteer Management")."</a>";
|
||||
else
|
||||
echo theme_icon("volunteer_management")."<br />".i18n("Volunteer Management")."<br /><i>(".i18n("disabled").")</i>";
|
||||
echo "</td></tr>";
|
||||
echo "</table>\n";
|
||||
echo "<hr />";
|
||||
echo "<table class=\"adminconfigtable\">";
|
||||
echo " <tr>";
|
||||
echo " <td><a href=\"awards.php\">".theme_icon("awards_management")."<br />".i18n("Awards Management")."</a></td>";
|
||||
echo " <td><a href=\"schools.php\">".theme_icon("schools_management")."<br />".i18n("Schools Management")."</a></td>";
|
||||
echo " <td>";
|
||||
if($config['tours_enable'] == 'yes')
|
||||
echo "<a href=\"tours.php\">".theme_icon("tour_management")."<br />".i18n("Tour Management")."</a>";
|
||||
else
|
||||
echo theme_icon("tour_management")."<br />".i18n("Tour Management")."<br /><i>(".i18n("disabled").")</i>";
|
||||
echo "</td>";
|
||||
echo " <td>";
|
||||
if($config['participant_regfee_items_enable'] == 'yes')
|
||||
echo "<a href=\"regfee_items_manager.php\">".theme_icon("registration_fee_items_management")."<br />".i18n("Registration Fee Items Management")."</a>";
|
||||
else
|
||||
echo theme_icon("registration_fee_items_management")."<br />".i18n("Registration Fee Items Management")."<br /><i>(".i18n("disabled").")</i>";
|
||||
echo "</td>";
|
||||
echo " </tr>\n";
|
||||
echo " <tr>";
|
||||
echo " <td><a href=\"reports.php\">".theme_icon("print/export_reports")."<br />".i18n("Print / Export Reports")."</a></td>";
|
||||
echo " <td><a href=\"reports_ceremony.php\">".theme_icon("print_awards_ceremony_scripts")."<br />".i18n("Print Award Ceremony Scripts")."</a></td>";
|
||||
echo " <td><a href=\"reports_editor.php\">".theme_icon("report_management")."<br />".i18n("Report Management")."</a></td>";
|
||||
echo " <td><a href=\"translations.php\">".theme_icon("translations_management")."<br />".i18n("Translations Management")."</a></td>";
|
||||
echo " <td>";
|
||||
echo "</td>";
|
||||
echo " </tr>\n";
|
||||
echo " <tr>";
|
||||
echo "<td></td><td></td>\n";
|
||||
echo " </tr>\n";
|
||||
echo "</table>\n";
|
||||
echo "<hr />";
|
||||
echo "<table class=\"adminconfigtable\">";
|
||||
echo " <tr>";
|
||||
echo " <td><a href=\"winners.php\">".theme_icon("enter_winning_projects")."<br />".i18n("Enter Winning Projects")."</a></td>";
|
||||
echo " <td><a href=\"cwsfregister.php\">".theme_icon("one-click_cwsf_registration")."<br />".i18n("One-Click CWSF Registration")."</a></td>";
|
||||
echo " <td><a href=\"fair_stats.php\">".theme_icon("fair_stats")."<br />".i18n("Upload Fair Statistics")."</a></td>";
|
||||
echo " <td><a href=\"user_list.php?show_types[]=fair\">".theme_icon("sciencefair_management")."<br />".i18n("Feeder/Upstream Fair Management")."</a></td>";
|
||||
if($config['score_entry_enable'] == 'yes') {
|
||||
echo "<td><a href=\"judging_score_entry.php\">".theme_icon("judging_score_entry")."<br />".i18n("Judging Score Entry")."</a></td>";
|
||||
}
|
||||
echo " </tr>\n";
|
||||
echo "</table>\n";
|
||||
echo "<hr />";
|
||||
echo "<table class=\"adminconfigtable\">";
|
||||
echo " <tr>";
|
||||
@ -148,7 +96,10 @@
|
||||
echo " <td><a href=\"documents.php\">".theme_icon("internal_document_management")."<br />".i18n("Internal Document Management")."</a></td>";
|
||||
echo " <td><a href=\"cms.php\">".theme_icon("website_content_management")."<br />".i18n("Website Content Management")."</a></td>";
|
||||
echo " <td><a href=\"fundraising.php\">".theme_icon("fundraising")."<br />".i18n("Fundraising")."</a></td>";
|
||||
echo " <td></td>";
|
||||
if($config['score_entry_enable'] == 'yes') {
|
||||
echo "<td><a href=\"../plugins/evaluations/index.php\">".theme_icon("judging_score_entry")."<br />".i18n("Evaluations Plugin")."</a></td>";
|
||||
}
|
||||
//echo " <td><a href=\"../plugins/evaluations/index.php\">Go To Evaluations</a></td>";
|
||||
echo " </tr>\n";
|
||||
echo "</table>\n";
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?
|
||||
function getJudgingTeams()
|
||||
{
|
||||
global $config, $conference;
|
||||
global $config;
|
||||
|
||||
$q=mysql_query("SELECT judges_teams.id,
|
||||
judges_teams.num,
|
||||
@ -9,7 +9,7 @@ function getJudgingTeams()
|
||||
FROM
|
||||
judges_teams
|
||||
WHERE
|
||||
judges_teams.conferences_id='".$conference['id']."'
|
||||
judges_teams.year='".$config['FAIRYEAR']."'
|
||||
ORDER BY
|
||||
num,name
|
||||
");
|
||||
@ -87,8 +87,8 @@ function getJudgingTeams()
|
||||
$lq=mysql_query("SELECT projects.language
|
||||
FROM judges_teams_timeslots_projects_link
|
||||
LEFT JOIN projects ON judges_teams_timeslots_projects_link.projects_id=projects.id
|
||||
WHERE judges_teams_timeslots_projects_link.conferences_id='{$conference['id']}' AND
|
||||
judges_teams_id='$r->id' ");
|
||||
WHERE judges_teams_timeslots_projects_link.year='{$config['FAIRYEAR']}' AND
|
||||
judges_teams_id='$r->id' AND language!='' ");
|
||||
echo mysql_error();
|
||||
$projectlangs=array();
|
||||
while($lr=mysql_fetch_object($lq)) {
|
||||
@ -114,7 +114,7 @@ function getJudgingTeams()
|
||||
judges_teams_awards_link.award_awards_id=award_awards.id
|
||||
AND judges_teams_awards_link.judges_teams_id='$r->id'
|
||||
AND award_awards.award_types_id=award_types.id
|
||||
AND award_types.conferences_id='{$conference['id']}'
|
||||
AND award_types.year='{$config['FAIRYEAR']}'
|
||||
ORDER BY
|
||||
name
|
||||
");
|
||||
@ -143,7 +143,7 @@ function getJudgingTeam($teamid)
|
||||
FROM
|
||||
judges_teams
|
||||
WHERE
|
||||
judges_teams.conferences_id='".$conference['id']."' AND
|
||||
judges_teams.year='".$config['FAIRYEAR']."' AND
|
||||
judges_teams.id='$teamid'
|
||||
ORDER BY
|
||||
num,
|
||||
@ -203,7 +203,7 @@ function getJudgingTeam($teamid)
|
||||
judges_teams_awards_link.award_awards_id=award_awards.id
|
||||
AND judges_teams_awards_link.judges_teams_id='$r->id'
|
||||
AND award_awards.award_types_id=award_types.id
|
||||
AND award_types.conferences_id='{$conference['id']}'
|
||||
AND award_types.year='{$config['FAIRYEAR']}'
|
||||
ORDER BY
|
||||
name
|
||||
");
|
||||
@ -250,13 +250,11 @@ function judges_load_all()
|
||||
|
||||
$ret = array();
|
||||
|
||||
$r = mysql_query("
|
||||
SELECT users.id FROM users JOIN user_roles ur ON ur.users_id = users.id
|
||||
JOIN roles ON roles.id = ur.roles_id WHERE roles.type = 'judge'
|
||||
AND conferences_id='{$conference['id']}'
|
||||
AND deleted='no'
|
||||
ORDER BY lastname, firstname
|
||||
");
|
||||
$query = "SELECT id FROM users WHERE types LIKE '%judge%'
|
||||
AND year='{$config['FAIRYEAR']}'
|
||||
AND deleted='no'
|
||||
ORDER BY lastname, firstname";
|
||||
$r = mysql_query($query);
|
||||
while($i = mysql_fetch_assoc($r)) {
|
||||
$u = user_load($i['id']);
|
||||
if($u['judge_complete'] == 'no') continue;
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
send_header("Judges",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
$preferencechoices=array(
|
||||
-2=>"Very Low",
|
||||
@ -43,8 +43,8 @@ $preferencechoices=array(
|
||||
$id = intval($_GET['id']);
|
||||
$judgeinfo = user_load($id);
|
||||
|
||||
echo '<div style="text-align:center; padding: 5px;">';
|
||||
send_popup_header("Judge Information");
|
||||
echo '<div style="text-align:center; padding: 5px;">';
|
||||
|
||||
if($id < 1) {
|
||||
echo error(i18n("No Judge ID passed to Judges Info"));
|
||||
@ -121,7 +121,8 @@ if($config['judges_availability_enable'] == 'yes'){
|
||||
echo '<div style="text-align:left">';
|
||||
|
||||
// is their info complete?
|
||||
$completeText = $judgeinfo['complete']=="yes" ? "Yes" : "No";
|
||||
$completeText = $judgeinfo['judge_complete']=="yes" ? "Yes" : "No";
|
||||
$activeText = $judgeinfo['judge_active']=="yes" ? "Yes" : "No";
|
||||
|
||||
// find out if they've signed up for judging any special awards
|
||||
$specialAwardsText = "";
|
||||
@ -141,7 +142,7 @@ if($judgeinfo['special_award_only'] == "yes"){
|
||||
}
|
||||
|
||||
// get their preference for age category
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE conferences_id='{$conference['id']}'");
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE year='{$config['FAIRYEAR']}'");
|
||||
|
||||
$catPreferenceText = mysql_error() . "<ul>";
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
@ -156,7 +157,10 @@ $catPreferenceText .= "</ul>";
|
||||
<tr><td>
|
||||
<ul>
|
||||
|
||||
<li><strong><?="Complete for {$conference['name']}";?>: </strong>
|
||||
<li><strong><?="Active for {$config['FAIRYEAR']}";?>: </strong>
|
||||
<?=$activeText;?></li>
|
||||
|
||||
<li><strong><?="Complete for {$config['FAIRYEAR']}";?>: </strong>
|
||||
<?=$completeText;?></li>
|
||||
|
||||
<li><strong><?=i18n("Special awards");?>: </strong>
|
||||
@ -182,7 +186,7 @@ $catPreferenceText .= "</ul>";
|
||||
<?php
|
||||
|
||||
//grab the list of divisions, because the last fields of the table will be the sub-divisions
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE conferences_id='{$conference['id']}' ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE year='{$config['FAIRYEAR']}' ORDER BY id");
|
||||
$divs=array();
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
@ -198,7 +202,7 @@ foreach($divs as $div)
|
||||
|
||||
echo "<td>";
|
||||
$subq=mysql_query("SELECT * FROM projectsubdivisions WHERE
|
||||
projectdivisions_id='$div' AND conferences_id='{$conference['id']}' ORDER BY subdivision");
|
||||
projectdivisions_id='$div' AND year='{$config['FAIRYEAR']}' ORDER BY subdivision");
|
||||
$sd = array();
|
||||
while($subr=mysql_fetch_object($subq)) {
|
||||
if($u['div_prefs_sub'][$subr->id] == 1) {
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
include "judges.inc.php";
|
||||
|
||||
send_header("Invite Judges",
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
include "judges.inc.php";
|
||||
|
||||
send_header("Judging Division Groupings",
|
||||
@ -56,14 +56,14 @@ function newbuttonclicked(jdivs)
|
||||
|
||||
$div = array();
|
||||
$divshort = array();
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE conferences_id='".$conference['id']."' ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE year='".$config['FAIRYEAR']."' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
$divshort[$r->id]=$r->division_shortform;
|
||||
$div[$r->id]=$r->division;
|
||||
}
|
||||
|
||||
$cat = array();
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE conferences_id='".$conference['id']."' ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE year='".$config['FAIRYEAR']."' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
$cat[$r->id]=$r->category;
|
||||
}
|
||||
@ -72,7 +72,7 @@ function newbuttonclicked(jdivs)
|
||||
$ckeys = array_keys($cat);
|
||||
|
||||
if($config['filterdivisionbycategory']=="yes") {
|
||||
$q=mysql_query("SELECT * FROM projectcategoriesdivisions_link WHERE conferences_id='".$conference['id']."' ORDER BY projectdivisions_id,projectcategories_id");
|
||||
$q=mysql_query("SELECT * FROM projectcategoriesdivisions_link WHERE year='".$config['FAIRYEAR']."' ORDER BY projectdivisions_id,projectcategories_id");
|
||||
$divcat=array();
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
$divcat[]=array("c"=>$r->projectcategories_id,"d"=>$r->projectdivisions_id);
|
||||
@ -97,7 +97,7 @@ function newbuttonclicked(jdivs)
|
||||
|
||||
function get_all_divs()
|
||||
{
|
||||
global $config, $conference;
|
||||
global $config;
|
||||
global $divshort, $div,$cat, $langr;
|
||||
global $divcat;
|
||||
|
||||
@ -157,7 +157,7 @@ function get_all_divs()
|
||||
" projectdivisions_id='{$cdl[$id]['div']}' ".
|
||||
" AND projectcategories_id='{$cdl[$id]['cat']}' ".
|
||||
" AND language='{$cdl[$id]['lang']}' ".
|
||||
" AND registrations.conferences_id='{$conference['id']}'".
|
||||
" AND registrations.year='{$config['FAIRYEAR']}'".
|
||||
" AND projects.registrations_id=registrations.id".
|
||||
" AND (registrations.status='complete' OR registrations.status='paymentpending')");
|
||||
|
||||
|
@ -3,8 +3,9 @@
|
||||
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 <info@scitechontario.org>
|
||||
Copyright (C) 2005 James Grant <james@lightbox.org>
|
||||
Copyright (C) 2005-2008 Sci-Tech Ontario Inc <info@scitechontario.org>
|
||||
Copyright (C) 2008-2012 Youth Science Ontario <info@youthscienceontario.ca>
|
||||
Copyright (C) 2005-2012 James Grant <james@lightbox.org>
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -28,6 +29,7 @@
|
||||
require_once('../projects.inc.php');
|
||||
require_once('judges.inc.php');
|
||||
require_once('anneal.inc.php');
|
||||
|
||||
// INFO ONLY: Re Windows OS. I have not found a test that works for both methods of starting this
|
||||
// SERVER_ADDR is Always null in Windows OS IIS server
|
||||
// when I launch using judges_sa_launcher_apache.php I could test using SERVER_NAME
|
||||
@ -114,7 +116,7 @@ function judges_cost_function($annealer, $bucket_id, $ids)
|
||||
if($bucket_id == 0) {
|
||||
/* This is the placeholder for all judges, there's a slight
|
||||
* cost for not using a judge */
|
||||
$cost = count($ids) * 8;
|
||||
$cost = count($ids) * 5;
|
||||
// TRACE("Extra judge team cost=$cost\n");
|
||||
return $cost;
|
||||
}
|
||||
@ -145,7 +147,6 @@ function judges_cost_function($annealer, $bucket_id, $ids)
|
||||
$l = $t['cats'][$y];
|
||||
/* Lookup the judge cat pref for this category */
|
||||
$pref = -$j['cat_prefs'][$l] + 2;
|
||||
|
||||
/* $pref = 0 (best match) --- 4 (worst match) */
|
||||
//but wait, if they're "indifferent" then we really dont care, so the cost for it shoudl be 0.
|
||||
if($pref==2) $pref=0;
|
||||
@ -167,8 +168,6 @@ function judges_cost_function($annealer, $bucket_id, $ids)
|
||||
//division matching is more important than category matching
|
||||
$cost += 3 * $dpref;
|
||||
|
||||
// TRACE(" div/cat cost=$cost\n");
|
||||
|
||||
/* See if the judge is willing to chair a team */
|
||||
if($j['willing_chair'] == 'yes') $have_chair = true;
|
||||
|
||||
@ -207,12 +206,9 @@ function judges_cost_function($annealer, $bucket_id, $ids)
|
||||
|
||||
/* Small penalty for a jteam with very little experience,
|
||||
* but only if there's more than 1 person on the team */
|
||||
$exp_cost = 0;
|
||||
if($years_experience_weighted<5 && count($ids)>1) {
|
||||
$exp_cost += (5-$years_experience_weighted)*2;
|
||||
$cost += (5-$years_experience_weighted)*2;
|
||||
}
|
||||
$cost += $exp_cost;
|
||||
// TRACE("Experience cost: $exp_cost\n");
|
||||
|
||||
// TRACE("Team $bucket_id, cost is $cost\n");
|
||||
|
||||
@ -340,11 +336,22 @@ function pr_judge(&$jt, $jid)
|
||||
print("(");
|
||||
foreach($jt['cats'] as $c)
|
||||
print("c{$c}={$j['cat_prefs'][$c]} ");
|
||||
echo " / ";
|
||||
foreach($j['cat_prefs'] AS $k=>$v) {
|
||||
print("c{$k}=$v ");
|
||||
}
|
||||
echo ") (";
|
||||
|
||||
foreach($jt['divs'] as $d)
|
||||
print("d{$d}={$j['div_prefs'][$d]} ");
|
||||
|
||||
echo " / ";
|
||||
foreach($j['div_prefs'] AS $k=>$v) {
|
||||
print("d{$k}=$v ");
|
||||
}
|
||||
|
||||
print(")");
|
||||
if($j['willing_chair'] == 'yes') print(" (chair) ");
|
||||
if($j['willing_chair'] == 'yes') print(" chair ");
|
||||
|
||||
print("\n");
|
||||
}
|
||||
@ -354,7 +361,7 @@ set_status("Loading Data From Database...");
|
||||
TRACE("\n\n");
|
||||
$div = array();
|
||||
TRACE("Loading Project Divisions...\n");
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE conferences_id='".$conference['id']."' ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE year='".$config['FAIRYEAR']."' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
$divshort[$r->id]=$r->division_shortform;
|
||||
@ -364,7 +371,7 @@ while($r=mysql_fetch_object($q))
|
||||
|
||||
TRACE("Loading Project Age Categories...\n");
|
||||
$cat = array();
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE conferences_id='".$conference['id']."' ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE year='".$config['FAIRYEAR']."' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
$cat[$r->id]=$r->category;
|
||||
TRACE(" {$r->id} - {$r->category}\n");
|
||||
@ -381,7 +388,7 @@ while($r=mysql_fetch_object($q)) {
|
||||
TRACE("Loading Judging Round time data...\n");
|
||||
$round_special_awards = array();
|
||||
$round = array();
|
||||
$q = mysql_query("SELECT * FROM judges_timeslots WHERE round_id='0' AND `conferences_id`='{$conference['id']}'");
|
||||
$q = mysql_query("SELECT * FROM judges_timeslots WHERE round_id='0' AND `year`='{$config['FAIRYEAR']}'");
|
||||
/* Loads judges_timeslots.id, .starttime, .endtime, .date, .name */
|
||||
while($r = mysql_fetch_assoc($q)) {
|
||||
TRACE(" id:{$r['id']} type:{$r['type']} name:{$r['name']}\n");
|
||||
@ -428,7 +435,7 @@ foreach($keys as $jdiv_id) {
|
||||
if($x > 0) TRACE("\t- ");
|
||||
TRACE($cat[$d['cat']]." ".$div[$d['div']]." - ".$langr[$d['lang']]);
|
||||
$qp = mysql_query("SELECT projects.* FROM projects, registrations WHERE ".
|
||||
" projects.conferences_id='".$conference['id']."' AND ".
|
||||
" projects.year='".$config['FAIRYEAR']."' AND ".
|
||||
" projectdivisions_id='{$d['div']}' AND ".
|
||||
" projectcategories_id='{$d['cat']}' AND ".
|
||||
" language='{$d['lang']}' AND " .
|
||||
@ -455,27 +462,27 @@ foreach($keys as $jdiv_id) {
|
||||
|
||||
/* Clean out the judging teams that were autocreated in a previous run */
|
||||
TRACE("Deleting autocreated divisional and special award judging teams:");
|
||||
$q = mysql_query("SELECT * FROM judges_teams WHERE autocreate_type_id=1 AND conferences_id={$conference['id']}");
|
||||
$q = mysql_query("SELECT * FROM judges_teams WHERE autocreate_type_id=1 AND year={$config['FAIRYEAR']}");
|
||||
while($r = mysql_fetch_object($q)) {
|
||||
$id = $r->id;
|
||||
print(" $id");
|
||||
/* Clean out the judges_teams_link */
|
||||
mysql_query("DELETE FROM judges_teams_link WHERE judges_teams_id='$id' AND conferences_id={$conference['id']}");
|
||||
mysql_query("DELETE FROM judges_teams_link WHERE judges_teams_id='$id' AND year={$config['FAIRYEAR']}");
|
||||
print mysql_error();
|
||||
/* Awards */
|
||||
mysql_query("DELETE FROM judges_teams_awards_link WHERE judges_teams_id='$id' AND conferences_id={$conference['id']}");
|
||||
mysql_query("DELETE FROM judges_teams_awards_link WHERE judges_teams_id='$id' AND year={$config['FAIRYEAR']}");
|
||||
print mysql_error();
|
||||
/* Timeslots */
|
||||
mysql_query("DELETE FROM judges_teams_timeslots_link WHERE judges_teams_id='$id' AND conferences_id={$conference['id']}");
|
||||
mysql_query("DELETE FROM judges_teams_timeslots_link WHERE judges_teams_id='$id' AND year={$config['FAIRYEAR']}");
|
||||
print mysql_error();
|
||||
/* Timeslots projects */
|
||||
mysql_query("DELETE FROM judges_teams_timeslots_projects_link WHERE judges_teams_id='$id' AND conferences_id={$conference['id']}");
|
||||
mysql_query("DELETE FROM judges_teams_timeslots_projects_link WHERE judges_teams_id='$id' AND year={$config['FAIRYEAR']}");
|
||||
print mysql_error();
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
/* Finally, delete all the autocreated judges teams */
|
||||
mysql_query("DELETE FROM judges_teams WHERE autocreate_type_id=1 AND conferences_id={$conference['id']}");
|
||||
mysql_query("DELETE FROM judges_teams WHERE autocreate_type_id=1 AND year={$config['FAIRYEAR']}");
|
||||
print mysql_error();
|
||||
|
||||
/* Also delete any judges_teams_link that link to teams that dont exist, just
|
||||
@ -483,7 +490,7 @@ print mysql_error();
|
||||
$q=mysql_query("SELECT judges_teams_link.id, judges_teams.id AS judges_teams_id
|
||||
FROM judges_teams_link
|
||||
LEFT JOIN judges_teams ON judges_teams_link.judges_teams_id=judges_teams.id
|
||||
WHERE judges_teams_link.conferences_id={$conference['id']}");
|
||||
WHERE judges_teams_link.year={$config['FAIRYEAR']}");
|
||||
$n=0;
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
if(!$r->judges_teams_id) {
|
||||
@ -514,7 +521,7 @@ foreach($judges as &$j) {
|
||||
|
||||
$q = mysql_query("SELECT users_id FROM judges_teams_link WHERE
|
||||
users_id='{$j['id']}'
|
||||
AND conferences_id='{$conference['id']}'");
|
||||
AND year='{$config['FAIRYEAR']}'");
|
||||
if(mysql_num_rows($q) != 0) {
|
||||
TRACE(" {$j['name']} is already on a judging team, skipping.\n");
|
||||
unset($judges[$j['id']]);
|
||||
@ -540,7 +547,7 @@ foreach($judges as &$j) {
|
||||
WHERE
|
||||
award_awards.id=judges_specialaward_sel.award_awards_id
|
||||
AND judges_specialaward_sel.users_id='{$j['id']}'
|
||||
AND award_awards.conferences_id='{$conference['id']}'");
|
||||
AND award_awards.year='{$config['FAIRYEAR']}'");
|
||||
echo mysql_error();
|
||||
|
||||
if($j['special_award_only'] == 'yes') {
|
||||
@ -583,7 +590,7 @@ if(count($judges)==0) {
|
||||
|
||||
/* Load the numbers for any user-defined judge teams that already exist,
|
||||
* these numbers will be off-limits for auto-assigning numbers */
|
||||
$q = mysql_query("SELECT * FROM judges_teams WHERE conferences_id={$conference['id']}");
|
||||
$q = mysql_query("SELECT * FROM judges_teams WHERE year={$config['FAIRYEAR']}");
|
||||
$used_judges_teams_numbers = array();
|
||||
while($i = mysql_fetch_assoc($q)) {
|
||||
$used_judges_teams_numbers[] = $i['num'];
|
||||
@ -612,8 +619,8 @@ function judge_team_create($num, $name)
|
||||
{
|
||||
global $config;
|
||||
$name = mysql_escape_string($name);
|
||||
mysql_query("INSERT INTO judges_teams (num,name,autocreate_type_id,conferences_id)
|
||||
VALUES ('$num','$name','1','{$conference['id']}')");
|
||||
mysql_query("INSERT INTO judges_teams (num,name,autocreate_type_id,year)
|
||||
VALUES ('$num','$name','1','{$config['FAIRYEAR']}')");
|
||||
$id = mysql_insert_id();
|
||||
return $id;
|
||||
}
|
||||
@ -622,9 +629,9 @@ function judge_team_add_judge($team_id, $users_id)
|
||||
{
|
||||
global $config, $judges;
|
||||
mysql_query("INSERT INTO judges_teams_link
|
||||
(users_id,judges_teams_id,captain,conferences_id)
|
||||
(users_id,judges_teams_id,captain,year)
|
||||
VALUES ('$users_id','$team_id','{$judges[$users_id]['willing_chair']}',
|
||||
'{$conferences['id']}')");
|
||||
'{$config['FAIRYEAR']}')");
|
||||
echo mysql_error();
|
||||
}
|
||||
|
||||
@ -751,7 +758,7 @@ for($x=1;$x<count($jteam); $x++) {
|
||||
asort($t['cats']);
|
||||
asort($t['divs']);
|
||||
|
||||
print("langs=($langstr)");
|
||||
print("langs=($langstr) ");
|
||||
print("cats=(");
|
||||
$catstr="";
|
||||
|
||||
@ -764,7 +771,7 @@ for($x=1;$x<count($jteam); $x++) {
|
||||
$first=false;
|
||||
}
|
||||
}
|
||||
print(")divs=(");
|
||||
print(") divs=(");
|
||||
$divstr="";
|
||||
if(count($t['divs'])) {
|
||||
$first=true;
|
||||
@ -810,7 +817,7 @@ for($x=1;$x<count($jteam); $x++) {
|
||||
award_awards_projectcategories,
|
||||
award_awards_projectdivisions
|
||||
WHERE
|
||||
award_awards.conferences_id='{$conference['id']}'
|
||||
award_awards.year='{$config['FAIRYEAR']}'
|
||||
AND award_awards.id=award_awards_projectcategories.award_awards_id
|
||||
AND award_awards.id=award_awards_projectdivisions.award_awards_id
|
||||
AND award_awards_projectcategories.projectcategories_id='{$cfg['cat']}'
|
||||
@ -821,7 +828,7 @@ for($x=1;$x<count($jteam); $x++) {
|
||||
echo error(i18n("Cannot find award for %1 - %2",array($cat[$cfg['cat']],$div[$cfg['div']])));
|
||||
} else {
|
||||
$r=mysql_fetch_object($q);
|
||||
mysql_query("INSERT INTO judges_teams_awards_link (award_awards_id,judges_teams_id,conferences_id) VALUES ('$r->id','$team_id','{$conferences['id']}')");
|
||||
mysql_query("INSERT INTO judges_teams_awards_link (award_awards_id,judges_teams_id,year) VALUES ('$r->id','$team_id','{$config['FAIRYEAR']}')");
|
||||
/* Add the award ID to the jdiv, if it's not already there */
|
||||
if(!in_array($r->id, $jdiv[$t['jdiv_id']]['award_ids'])) {
|
||||
$jdiv[$t['jdiv_id']]['award_ids'][] = $r->id;
|
||||
@ -897,7 +904,7 @@ if($round_divisional2 == NULL) {
|
||||
|
||||
/* Assign all the awards in this jdiv */
|
||||
foreach($jd['award_ids'] as $aid) {
|
||||
mysql_query("INSERT INTO judges_teams_awards_link (award_awards_id,judges_teams_id,conferences_id) VALUES ('$aid','$team_id','{$conference['id']}')");
|
||||
mysql_query("INSERT INTO judges_teams_awards_link (award_awards_id,judges_teams_id,year) VALUES ('$aid','$team_id','{$config['FAIRYEAR']}')");
|
||||
}
|
||||
}
|
||||
|
||||
@ -1015,10 +1022,10 @@ if($config['scheduler_enable_sa_scheduling'] == 'yes') {
|
||||
/* Load special awards */
|
||||
$q = "SELECT award_awards.name,award_awards.id FROM award_awards,award_types
|
||||
WHERE
|
||||
award_awards.conferences_id='{$conference['id']}'
|
||||
award_awards.year='{$config['FAIRYEAR']}'
|
||||
AND award_types.id=award_awards.award_types_id
|
||||
AND award_awards.schedule_judges='yes'
|
||||
AND award_types.conferences_id='{$conference['id']}'
|
||||
AND award_types.year='{$config['FAIRYEAR']}'
|
||||
AND award_types.type='Special'
|
||||
";
|
||||
$r = mysql_query($q);
|
||||
@ -1036,11 +1043,12 @@ if($config['scheduler_enable_sa_scheduling'] == 'yes') {
|
||||
$required_judges = 0;
|
||||
while($i = mysql_fetch_object($r)) {
|
||||
$projects = getProjectsNominatedForSpecialAward($i->id);
|
||||
$languages = getLanguagesOfProjectsNominatedForSpecialAward($i->id);
|
||||
|
||||
/* Construct an internal team for annealing, and create
|
||||
* a DB team too */
|
||||
$sa_jteam[$x]['num'] = next_judges_teams_number();
|
||||
$sa_jteam[$x]['id'] = judge_team_create($sa_jteam[$x]['num'], $i->name);
|
||||
$sa_jteam[$x]['id'] = judge_team_create($sa_jteam[$x]['num'], $i->name." (".implode(" ",$languages).")");
|
||||
/* Note, we use $x instead of the ID, because the DB id could be zero. */
|
||||
$sa_jteam[$x]['projects'] = $projects;
|
||||
$sa_jteam[$x]['round'] = NULL;
|
||||
@ -1055,8 +1063,8 @@ if($config['scheduler_enable_sa_scheduling'] == 'yes') {
|
||||
$required_judges += $min;
|
||||
|
||||
/* Link the award to this team */
|
||||
mysql_query("INSERT INTO judges_teams_awards_link (award_awards_id,judges_teams_id,conferences_id)
|
||||
VALUES ('{$i->id}','{$sa_jteam[$x]['id']}','{$conference['id']}')");
|
||||
mysql_query("INSERT INTO judges_teams_awards_link (award_awards_id,judges_teams_id,year)
|
||||
VALUES ('{$i->id}','{$sa_jteam[$x]['id']}','{$config['FAIRYEAR']}')");
|
||||
|
||||
TRACE("Created Team: {$i->name}, ".count($projects)." projects => $min judges needed (db id:{$sa_jteam[$x]['id']}) \n");
|
||||
$x++;
|
||||
@ -1247,15 +1255,15 @@ if($config['scheduler_enable_sa_scheduling'] == 'yes') {
|
||||
|
||||
/* Do timeslot and project timeslot assignment */
|
||||
mysql_query("INSERT INTO judges_teams_timeslots_link
|
||||
(judges_teams_id,judges_timeslots_id,conferences_id)
|
||||
VALUES ('{$t['id']}', '{$r['timeslots'][0]['id']}', '{$conference['id']}')");
|
||||
(judges_teams_id,judges_timeslots_id,year)
|
||||
VALUES ('{$t['id']}', '{$r['timeslots'][0]['id']}', '{$config['FAIRYEAR']}')");
|
||||
echo mysql_error();
|
||||
|
||||
foreach($t['projects'] as $proj) {
|
||||
$pid = $proj['id'];
|
||||
mysql_query("INSERT INTO judges_teams_timeslots_projects_link
|
||||
(judges_teams_id,judges_timeslots_id,projects_id,conferences_id)
|
||||
VALUES ('{$t['id']}', '{$r['timeslots'][0]['id']}', '$pid', '{$conference['id']}')");
|
||||
(judges_teams_id,judges_timeslots_id,projects_id,year)
|
||||
VALUES ('{$t['id']}', '{$r['timeslots'][0]['id']}', '$pid', '{$config['FAIRYEAR']}')");
|
||||
echo mysql_error();
|
||||
}
|
||||
$ids = $a->bucket[$x];
|
||||
@ -1288,7 +1296,7 @@ $available_timeslots=array();
|
||||
|
||||
$q=mysql_query("SELECT * FROM judges_timeslots WHERE
|
||||
round_id='{$round_divisional1['id']}'
|
||||
AND conferences_id='{$conference['id']}'
|
||||
AND year='{$config['FAIRYEAR']}'
|
||||
AND type='timeslot'
|
||||
ORDER BY date,starttime");
|
||||
$x=0;
|
||||
@ -1457,16 +1465,16 @@ for($k=0; $k<$keys_count; $k++) {
|
||||
|
||||
/* if jteam_id isn't 0, instert it into the db */
|
||||
mysql_query("INSERT INTO judges_teams_timeslots_link ".
|
||||
" (judges_teams_id,judges_timeslots_id,conferences_id)".
|
||||
" (judges_teams_id,judges_timeslots_id,year)".
|
||||
" VALUES ('{$jteam[$jteam_id]['team_id']}', ".
|
||||
" '{$available_timeslots[$y]['id']}', ".
|
||||
" '{$conference['id']}')");
|
||||
" '{$config['FAIRYEAR']}')");
|
||||
|
||||
mysql_query("INSERT INTO judges_teams_timeslots_projects_link ".
|
||||
" (judges_teams_id,judges_timeslots_id,projects_id,conferences_id) ".
|
||||
" (judges_teams_id,judges_timeslots_id,projects_id,year) ".
|
||||
" VALUES ('{$jteam[$jteam_id]['team_id']}', ".
|
||||
" '{$available_timeslots[$y]['id']}', ".
|
||||
" '$pid', '{$conference['id']}')");
|
||||
" '$pid', '{$config['FAIRYEAR']}')");
|
||||
|
||||
}
|
||||
printf("\n");
|
||||
|
@ -1,6 +1,11 @@
|
||||
<?
|
||||
require_once('../common.inc.functions.php');
|
||||
$logPath = get_logpath();
|
||||
|
||||
//make sure logs folder exists, and htaccess it to deny access
|
||||
if(!file_exists("../data/logs"))
|
||||
@mkdir("../data/logs");
|
||||
|
||||
if(!file_exists("../data/logs/.htaccess"))
|
||||
@file_put_contents("../data/logs/.htaccess","Order Deny,Allow\r\nDeny From All\r\n");
|
||||
// Check which OS we are running
|
||||
$pos = strpos(getcwd(),'/');
|
||||
if($pos === false)
|
||||
@ -15,7 +20,7 @@ if($pos === false)
|
||||
$bat_file = fopen($bat_filename, "w");
|
||||
if($bat_file) {
|
||||
fwrite($bat_file, "ECHO OFF"."\n");
|
||||
fwrite($bat_file, "START /BELOWNORMAL /B php judges_sa.php >$logPath/judge_scheduler_".date("YmdHis").".log 2>&1 &"."\n");
|
||||
fwrite($bat_file, "START /BELOWNORMAL /B php judges_sa.php >../data/logs/judge_scheduler_".date("YmdHis").".log 2>&1 &"."\n");
|
||||
fwrite($bat_file, "EXIT"."\n");
|
||||
fclose($bat_file);
|
||||
}
|
||||
@ -40,14 +45,14 @@ if($pos === false)
|
||||
echo "<a href=\"judges_scheduler_status.php\">Check the Status</a><br />";
|
||||
exit;
|
||||
// This is the call that works - but it does not return until judges_sa is finished so... I launch it from another window
|
||||
// exec("php judges_sa.php >$logPath/judge_scheduler_".date("YmdHis").".log 2>&1 &");
|
||||
// exec("php judges_sa.php >../data/logs/judge_scheduler_".date("YmdHis").".log 2>&1 &");
|
||||
}
|
||||
}
|
||||
else{
|
||||
// *nix server
|
||||
//add PHP_SELF just so when we do a process listing on the server we know which fair its running for
|
||||
//the argument does not get used by the script at all
|
||||
exec("nice php judges_sa.php {$_SERVER['PHP_SELF']} > $logPath/judge_scheduler_".date("YmdHis").".log 2>&1 &");
|
||||
exec("nice php judges_sa.php {$_SERVER['PHP_SELF']} >../data/logs/judge_scheduler_".date("YmdHis").".log 2>&1 &");
|
||||
}
|
||||
usleep(1500000); // 1.5 second to allow the judges_sa to update the % status to 0% otherwise the status page will think its not running if it gets there too soon
|
||||
header("Location: judges_scheduler_status.php");
|
||||
|
@ -1,8 +1,6 @@
|
||||
<?php
|
||||
require_once('../common.inc.functions.php');
|
||||
$logPath = get_logpath();
|
||||
// In Windows OS with Apache server this exec call will start judges_sa.php as a separate process but the call to exec() does not return until the scheduler completes. Note the process runs at normal priority. Status can be checked with judges_scheduler_status.php. This is a temporary solution for Windows / Apache
|
||||
exec("php judges_sa.php >$logPath/judge_scheduler_".date("YmdHis").".log 2>&1 &");
|
||||
exec("php judges_sa.php >../data/logs/judge_scheduler_".date("YmdHis").".log 2>&1 &");
|
||||
exit;
|
||||
?>
|
||||
|
||||
|
@ -26,11 +26,11 @@ ogram; see the file COPYING. If not, write to
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
require("../config_editor.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require("judges.inc.php");
|
||||
require("judges_schedulerconfig_check.inc.php");
|
||||
|
||||
$action = config_editor_handle_actions("Judge Scheduler", $conference['id'], "var");
|
||||
$action = config_editor_handle_actions("Judge Scheduler", $config['FAIRYEAR'], "var");
|
||||
if($action == 'update') {
|
||||
header("Location: judges_schedulerconfig.php");
|
||||
exit;
|
||||
@ -43,7 +43,7 @@ ogram; see the file COPYING. If not, write to
|
||||
'Judges' => 'admin/judges.php')
|
||||
);
|
||||
|
||||
config_editor("Judge Scheduler", $conference['id'], "var", $_SERVER['PHP_SELF']);
|
||||
config_editor("Judge Scheduler", $config['FAIRYEAR'], "var", $_SERVER['PHP_SELF']);
|
||||
echo "<hr />";
|
||||
|
||||
if($_GET['action']=="reset")
|
||||
|
@ -2,10 +2,10 @@
|
||||
|
||||
function judges_scheduler_check_timeslots()
|
||||
{
|
||||
global $conference;
|
||||
global $config;
|
||||
|
||||
$q=mysql_query("SELECT * FROM judges_timeslots WHERE ".
|
||||
" conferences_id='".$conference['id']."'".
|
||||
" year='".$config['FAIRYEAR']."'".
|
||||
" AND `type`='divisional1'" );
|
||||
if(mysql_num_rows($q)) {
|
||||
$round=mysql_fetch_object($q);
|
||||
@ -18,11 +18,11 @@ function judges_scheduler_check_timeslots()
|
||||
|
||||
function judges_scheduler_check_timeslots_sa()
|
||||
{
|
||||
global $conference;
|
||||
global $config;
|
||||
$rows = 0;
|
||||
|
||||
$q=mysql_query("SELECT * FROM judges_timeslots WHERE ".
|
||||
" conferences_id='".$conference['id']."'".
|
||||
" year='".$config['FAIRYEAR']."'".
|
||||
" AND `type`='special'" );
|
||||
if(mysql_num_rows($q)) {
|
||||
while(( $round=mysql_fetch_object($q))) {
|
||||
@ -35,13 +35,13 @@ function judges_scheduler_check_timeslots_sa()
|
||||
|
||||
function judges_scheduler_check_awards()
|
||||
{
|
||||
global $config, $conferenece;
|
||||
global $config;
|
||||
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE conferences_id='".$conference['id']."' ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE year='".$config['FAIRYEAR']."' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q))
|
||||
$div[$r->id]=$r->division;
|
||||
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE conferences_id='".$conference['id']."' ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE year='".$config['FAIRYEAR']."' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q))
|
||||
$cat[$r->id]=$r->category;
|
||||
|
||||
@ -49,7 +49,7 @@ function judges_scheduler_check_awards()
|
||||
$ckeys = array_keys($cat);
|
||||
|
||||
if($config['filterdivisionbycategory']=="yes") {
|
||||
$q=mysql_query("SELECT * FROM projectcategoriesdivisions_link WHERE conferences_id='".$conference['id']."' ORDER BY projectdivisions_id,projectcategories_id");
|
||||
$q=mysql_query("SELECT * FROM projectcategoriesdivisions_link WHERE year='".$config['FAIRYEAR']."' ORDER BY projectdivisions_id,projectcategories_id");
|
||||
$divcat=array();
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
$divcat[]=array("c"=>$r->projectcategories_id,"d"=>$r->projectdivisions_id);
|
||||
@ -75,9 +75,9 @@ function judges_scheduler_check_awards()
|
||||
award_awards_projectcategories,
|
||||
award_awards_projectdivisions
|
||||
WHERE
|
||||
award_awards.conferences_id='{$conference['id']}'
|
||||
AND award_awards_projectcategories.conferences_id='{$conference['id']}'
|
||||
AND award_awards_projectdivisions.conferences_id='{$conference['id']}'
|
||||
award_awards.year='{$config['FAIRYEAR']}'
|
||||
AND award_awards_projectcategories.year='{$config['FAIRYEAR']}'
|
||||
AND award_awards_projectdivisions.year='{$config['FAIRYEAR']}'
|
||||
AND award_awards.id=award_awards_projectcategories.award_awards_id
|
||||
AND award_awards.id=award_awards_projectdivisions.award_awards_id
|
||||
AND award_awards_projectcategories.projectcategories_id='$c'
|
||||
@ -95,6 +95,8 @@ function judges_scheduler_check_awards()
|
||||
|
||||
function judges_scheduler_check_jdivs()
|
||||
{
|
||||
global $config;
|
||||
|
||||
$q=mysql_query("SELECT DISTINCT jdiv_id FROM judges_jdiv ");
|
||||
$rows = mysql_num_rows($q);
|
||||
|
||||
@ -104,7 +106,7 @@ function judges_scheduler_check_jdivs()
|
||||
|
||||
function judges_scheduler_check_judges()
|
||||
{
|
||||
global $config, $conference;
|
||||
global $config;
|
||||
$ok = 1;
|
||||
|
||||
$jdiv = array();
|
||||
@ -118,7 +120,7 @@ function judges_scheduler_check_judges()
|
||||
$l = $r->lang;
|
||||
|
||||
$qp = mysql_query("SELECT COUNT(projects.id) as cnt FROM projects, registrations WHERE ".
|
||||
" projects.conferences_id='".$conference['id']."' AND ".
|
||||
" projects.year='".$config['FAIRYEAR']."' AND ".
|
||||
" projectdivisions_id='$d' AND ".
|
||||
" projectcategories_id='$c' AND ".
|
||||
" language='$l' AND " .
|
||||
@ -167,7 +169,7 @@ function judges_scheduler_check_judges()
|
||||
}
|
||||
|
||||
echo "<tr><td>Judging Division Group $jdiv_id</td>";
|
||||
echo "<td align=\"center\">$c</td>";
|
||||
echo "<td align=\"center\">{$jd['num_projects']['total']}</td>";
|
||||
$langstr="";
|
||||
foreach($config['languages'] AS $lkey=>$lname) {
|
||||
$clang=($jd['num_projects'][$lkey]?$jd['num_projects'][$lkey]:0);
|
||||
@ -206,7 +208,7 @@ function judges_scheduler_check_judges()
|
||||
echo "<br />";
|
||||
echo "<br />";
|
||||
|
||||
/* $jq=mysql_query("SELECT COUNT(judges.id) AS num FROM judges,judges_years WHERE complete='yes' AND deleted='no' AND judges_years.conferences_id='{$conference['id']}' AND judges_years.judges_id=judges.id");
|
||||
/* $jq=mysql_query("SELECT COUNT(judges.id) AS num FROM judges,judges_years WHERE complete='yes' AND deleted='no' AND judges_years.year='{$config['FAIRYEAR']}' AND judges_years.judges_id=judges.id");
|
||||
$jr=mysql_fetch_object($jq);
|
||||
$currentjudges=$jr->num;*/
|
||||
/* FIXME: this his highly inefficient :), but won't be done very often */
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
include "judges.inc.php";
|
||||
|
||||
if($_GET['edit']) $edit=$_GET['edit'];
|
||||
@ -35,11 +35,11 @@
|
||||
if($action=="delete" && $_GET['delete'])
|
||||
{
|
||||
//ALSO DELETE: team members, timeslots, projects, awards
|
||||
mysql_query("DELETE FROM judges_teams_link WHERE judges_teams_id='".$_GET['delete']."' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM judges_teams_timeslots_link WHERE judges_teams_id='".$_GET['delete']."' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM judges_teams_timeslots_projects_link WHERE judges_teams_id='".$_GET['delete']."' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM judges_teams_awards_link WHERE judges_teams_id='".$_GET['delete']."' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM judges_teams WHERE id='".$_GET['delete']."' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM judges_teams_link WHERE judges_teams_id='".$_GET['delete']."' AND year='".$config['FAIRYEAR']."'");
|
||||
mysql_query("DELETE FROM judges_teams_timeslots_link WHERE judges_teams_id='".$_GET['delete']."' AND year='".$config['FAIRYEAR']."'");
|
||||
mysql_query("DELETE FROM judges_teams_timeslots_projects_link WHERE judges_teams_id='".$_GET['delete']."' AND year='".$config['FAIRYEAR']."'");
|
||||
mysql_query("DELETE FROM judges_teams_awards_link WHERE judges_teams_id='".$_GET['delete']."' AND year='".$config['FAIRYEAR']."'");
|
||||
mysql_query("DELETE FROM judges_teams WHERE id='".$_GET['delete']."' AND year='".$config['FAIRYEAR']."'");
|
||||
message_push(happy(i18n("Judge team successfully removed, and all of its corresponding members, timeslots, projects and awards unlinked from team")));
|
||||
}
|
||||
|
||||
@ -49,7 +49,7 @@
|
||||
FROM
|
||||
judges_teams
|
||||
WHERE
|
||||
conferences_id='".$conference['id']."'
|
||||
year='".$config['FAIRYEAR']."'
|
||||
AND autocreate_type_id='1'
|
||||
");
|
||||
echo mysql_error();
|
||||
@ -58,11 +58,11 @@
|
||||
{
|
||||
//okay now we can start deleting things! whew!
|
||||
//first delete any linkings to the team
|
||||
mysql_query("DELETE FROM judges_teams_link WHERE judges_teams_id='$r2->id' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM judges_teams_timeslots_link WHERE judges_teams_id='$r2->id' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM judges_teams_timeslots_projects_link WHERE judges_teams_id='$r2->id' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM judges_teams_awards_link WHERE judges_teams_id='$r2->id' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM judges_teams WHERE id='$r2->id' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM judges_teams_link WHERE judges_teams_id='$r2->id' AND year='".$config['FAIRYEAR']."'");
|
||||
mysql_query("DELETE FROM judges_teams_timeslots_link WHERE judges_teams_id='$r2->id' AND year='".$config['FAIRYEAR']."'");
|
||||
mysql_query("DELETE FROM judges_teams_timeslots_projects_link WHERE judges_teams_id='$r2->id' AND year='".$config['FAIRYEAR']."'");
|
||||
mysql_query("DELETE FROM judges_teams_awards_link WHERE judges_teams_id='$r2->id' AND year='".$config['FAIRYEAR']."'");
|
||||
mysql_query("DELETE FROM judges_teams WHERE id='$r2->id' AND year='".$config['FAIRYEAR']."'");
|
||||
$numdeleted++;
|
||||
}
|
||||
if($numdeleted)
|
||||
@ -76,18 +76,18 @@
|
||||
$q2=mysql_query("SELECT *
|
||||
FROM judges_teams
|
||||
WHERE
|
||||
conferences_id='".$conference['id']."'
|
||||
year='".$config['FAIRYEAR']."'
|
||||
");
|
||||
$numdeleted=0;
|
||||
while($r2=mysql_fetch_object($q2))
|
||||
{
|
||||
//okay now we can start deleting things! whew!
|
||||
//first delete any linkings to the team
|
||||
mysql_query("DELETE FROM judges_teams_link WHERE judges_teams_id='$r2->id' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM judges_teams_timeslots_link WHERE judges_teams_id='$r2->id' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM judges_teams_timeslots_projects_link WHERE judges_teams_id='$r2->id' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM judges_teams_awards_link WHERE judges_teams_id='$r2->id' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM judges_teams WHERE id='$r2->id' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM judges_teams_link WHERE judges_teams_id='$r2->id' AND year='".$config['FAIRYEAR']."'");
|
||||
mysql_query("DELETE FROM judges_teams_timeslots_link WHERE judges_teams_id='$r2->id' AND year='".$config['FAIRYEAR']."'");
|
||||
mysql_query("DELETE FROM judges_teams_timeslots_projects_link WHERE judges_teams_id='$r2->id' AND year='".$config['FAIRYEAR']."'");
|
||||
mysql_query("DELETE FROM judges_teams_awards_link WHERE judges_teams_id='$r2->id' AND year='".$config['FAIRYEAR']."'");
|
||||
mysql_query("DELETE FROM judges_teams WHERE id='$r2->id' AND year='".$config['FAIRYEAR']."'");
|
||||
$numdeleted++;
|
||||
}
|
||||
if($numdeleted)
|
||||
@ -148,7 +148,7 @@
|
||||
if($addaward)
|
||||
{
|
||||
//link up the award
|
||||
mysql_query("INSERT INTO judges_teams_awards_link (award_awards_id,judges_teams_id,conferences_id) VALUES ('".$_POST['award']."','$edit','".$conference['id']."')");
|
||||
mysql_query("INSERT INTO judges_teams_awards_link (award_awards_id,judges_teams_id,year) VALUES ('".$_POST['award']."','$edit','".$config['FAIRYEAR']."')");
|
||||
message_push(happy(i18n("Award assigned to team")));
|
||||
}
|
||||
}
|
||||
@ -171,7 +171,7 @@
|
||||
|
||||
if($action=="unassign")
|
||||
{
|
||||
mysql_query("DELETE FROM judges_teams_awards_link WHERE judges_teams_id='$edit' AND award_awards_id='".$_GET['unassign']."' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM judges_teams_awards_link WHERE judges_teams_id='$edit' AND award_awards_id='".$_GET['unassign']."' AND year='".$config['FAIRYEAR']."'");
|
||||
message_push(happy(i18n("Award unassigned from judge team")));
|
||||
//keep editing the same team
|
||||
$action="edit";
|
||||
@ -180,7 +180,7 @@
|
||||
if($action=="createall")
|
||||
{
|
||||
//first make sure we dont have any non-divisional award teams (dont want people hitting refresh and adding all the teams twice
|
||||
$q=mysql_query("SELECT COUNT(*) AS c FROM judges_teams WHERE autocreate_type_id!='1' AND conferences_id='".$conference['id']."'");
|
||||
$q=mysql_query("SELECT COUNT(*) AS c FROM judges_teams WHERE autocreate_type_id!='1' AND year='".$config['FAIRYEAR']."'");
|
||||
$r=mysql_fetch_object($q);
|
||||
if($r->c)
|
||||
{
|
||||
@ -198,24 +198,36 @@
|
||||
award_types
|
||||
WHERE
|
||||
award_awards.award_types_id=award_types.id
|
||||
AND award_awards.conferences_id='".$conference['id']."'
|
||||
AND award_types.conferences_id='".$conference['id']."'
|
||||
AND award_awards.year='".$config['FAIRYEAR']."'
|
||||
AND award_types.year='".$config['FAIRYEAR']."'
|
||||
AND award_types_id!='1'
|
||||
ORDER BY
|
||||
award_types_order,
|
||||
award_awards.order,
|
||||
name");
|
||||
$num=1;
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
|
||||
//startat
|
||||
$q2=mysql_query("SELECT MAX(num) AS lastnum FROM judges_teams WHERE year='{$config['FAIRYEAR']}'");
|
||||
$r2=mysql_fetch_object($q2);
|
||||
if($r2->lastnum)
|
||||
$num=$r2->lastnum+1;
|
||||
else
|
||||
$num=1;
|
||||
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
// print_r($r);
|
||||
$name=mysql_escape_string("($r->award_type) $r->name");
|
||||
mysql_query("INSERT INTO judges_teams(num,name,autocreate_type_id,conferences_id) VALUES ('$num','$name','$r->award_types_id','".$conference['id']."')");
|
||||
mysql_query("INSERT INTO judges_teams(num,name,autocreate_type_id,year) VALUES ('$num','$name','$r->award_types_id','".$config['FAIRYEAR']."')");
|
||||
echo mysql_error();
|
||||
$team_id=mysql_insert_id();
|
||||
//now link the new team to the award
|
||||
mysql_query("INSERT INTO judges_teams_awards_link (award_awards_id,judges_teams_id,conferences_id) VALUES ('$r->id','$team_id','".$conference['id']."')");
|
||||
message_push(happy(i18n("Created team #%1: %2",array($num,$name))));
|
||||
if($team_id) {
|
||||
//now link the new team to the award
|
||||
mysql_query("INSERT INTO judges_teams_awards_link (award_awards_id,judges_teams_id,year) VALUES ('$r->id','$team_id','".$config['FAIRYEAR']."')");
|
||||
message_push(happy(i18n("Created team #%1: %2",array($num,$name))));
|
||||
}
|
||||
else {
|
||||
message_push(error(i18n("Error creating team #%1: %2",array($num,$name))));
|
||||
}
|
||||
$num++;
|
||||
}
|
||||
}
|
||||
@ -223,7 +235,7 @@
|
||||
|
||||
if($action=="add" && $_GET['num'])
|
||||
{
|
||||
mysql_query("INSERT INTO judges_teams(num,conferences_id) VALUES ('".$_GET['num']."','".$conference['id']."')");
|
||||
mysql_query("INSERT INTO judges_teams(num,year) VALUES ('".$_GET['num']."','".$config['FAIRYEAR']."')");
|
||||
echo mysql_error();
|
||||
$edit=mysql_insert_id();
|
||||
$action="edit";
|
||||
@ -301,9 +313,9 @@ function addclicked()
|
||||
award_awards,
|
||||
award_types
|
||||
WHERE
|
||||
award_awards.conferences_id='".$conference['id']."'
|
||||
award_awards.year='".$config['FAIRYEAR']."'
|
||||
AND award_types.id=award_awards.award_types_id
|
||||
AND award_types.conferences_id='{$conference['id']}'
|
||||
AND award_types.year='{$config['FAIRYEAR']}'
|
||||
ORDER BY
|
||||
award_type_order,
|
||||
name
|
||||
@ -323,10 +335,10 @@ function addclicked()
|
||||
)
|
||||
LEFT JOIN judges_teams_awards_link ON award_awards.id = judges_teams_awards_link.award_awards_id
|
||||
WHERE
|
||||
award_awards.conferences_id='".$conference['id']."' AND
|
||||
award_awards.year='".$config['FAIRYEAR']."' AND
|
||||
judges_teams_awards_link.award_awards_id IS NULL
|
||||
AND award_types.id=award_awards.award_types_id
|
||||
AND award_types.conferences_id='{$conference['id']}'
|
||||
AND award_types.year='{$config['FAIRYEAR']}'
|
||||
ORDER BY
|
||||
award_type_order,
|
||||
name";
|
||||
@ -365,15 +377,7 @@ function addclicked()
|
||||
echo "<br />";
|
||||
|
||||
$teams=getJudgingTeams();
|
||||
//print_r($teams);
|
||||
|
||||
if(!count($teams))
|
||||
{
|
||||
echo "<a href=\"judges_teams.php?action=createall\">".i18n("Automatically create one new team for every non-divisional award")."</a><br />";
|
||||
echo "<a href=\"judges_teams.php?action=add&num=1\">".i18n("Manually add individual team")."</a><br />";
|
||||
}
|
||||
else
|
||||
{
|
||||
if(count($teams)) {
|
||||
//grab an array of all the current team numbers
|
||||
foreach($teams AS $team)
|
||||
$teamnumbers[$team['num']]=1;
|
||||
@ -384,12 +388,23 @@ function addclicked()
|
||||
{
|
||||
$newteamnum++;
|
||||
}
|
||||
}
|
||||
|
||||
//print_r($teams);
|
||||
|
||||
echo "<table width=\"95%\">";
|
||||
echo "<tr><td>";
|
||||
$q=mysql_query("SELECT COUNT(*) AS c FROM judges_teams WHERE autocreate_type_id!='1' AND year='".$config['FAIRYEAR']."'");
|
||||
$r=mysql_fetch_object($q);
|
||||
if(!$r->c) {
|
||||
echo "<a href=\"judges_teams.php?action=createall\">".i18n("Automatically create one new team for every non-divisional award")."</a><br />";
|
||||
}
|
||||
echo "<a href=\"judges_teams.php?action=add&num=$newteamnum\">".i18n("Manually add individual team")."</a><br />";
|
||||
echo "</td><td>";
|
||||
|
||||
if(count($teams))
|
||||
{
|
||||
|
||||
echo "<table width=\"95%\">";
|
||||
echo "<tr><td>";
|
||||
echo "<a href=\"judges_teams.php?action=add&num=$newteamnum\">Add individual team</a><br />";
|
||||
echo "</td><td>";
|
||||
echo "<a onclick=\"return confirmClick('".i18n("Are you sure you want to delete all teams that are assigned to divisional awards?")."')\" href=\"judges_teams.php?action=deletealldivisional\">Delete all teams assigned to divisional awards</a>";
|
||||
echo "<br />";
|
||||
echo "<a onclick=\"return confirmClick('".i18n("Are you sure you want to delete all teams?")."')\" href=\"judges_teams.php?action=deleteall\">Delete all teams</a><br />";
|
||||
@ -403,7 +418,7 @@ function addclicked()
|
||||
echo "</tr></thead>";
|
||||
foreach($teams AS $team)
|
||||
{
|
||||
echo "<tr><td>".$team['num']."</td><td>";
|
||||
echo "<tr><td>#".$team['num']."</td><td>";
|
||||
echo $team['name'];
|
||||
echo "</td>";
|
||||
|
||||
@ -436,6 +451,9 @@ function addclicked()
|
||||
echo "<script type=\"text/javascript\">$('.summarytable').tablesorter();</script>";
|
||||
echo "<br />";
|
||||
}
|
||||
else {
|
||||
echo "</td></tr></table>";
|
||||
}
|
||||
}
|
||||
send_footer();
|
||||
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require_once('../common.inc.php');
|
||||
require_once('../user.inc.php');
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require_once('judges.inc.php');
|
||||
|
||||
send_header("Judging Team Members",
|
||||
@ -75,7 +75,7 @@ function showMemberDetails(judgeId){
|
||||
function editMember(memberId){
|
||||
if(memberId == undefined) memberId = selectedMemberId;
|
||||
hideMemberDetails();
|
||||
window.open("../user_editor_window.php?id="+memberId,"UserEditor","location=no,menubar=no,directories=no,toolbar=no,width=770,height=500,scrollbars=yes");
|
||||
window.open("user_editor_window.php?id="+memberId,"UserEditor","location=no,menubar=no,directories=no,toolbar=no,width=770,height=500,scrollbars=yes");
|
||||
}
|
||||
|
||||
function hideMemberDetails(){
|
||||
@ -106,10 +106,9 @@ jQuery(document).ready(function(){
|
||||
</script>
|
||||
<?
|
||||
|
||||
if($_POST['action']=="add" && $_POST['team_num'] && count($_POST['judgelist'])>0)
|
||||
{
|
||||
if($_POST['action']=="add" && $_POST['team_num'] && count($_POST['judgelist'])>0) {
|
||||
//first check if this team exists.
|
||||
$q=mysql_query("SELECT id,name FROM judges_teams WHERE num='".$_POST['team_num']."' AND conferences_id='".$conference['id']."'");
|
||||
$q=mysql_query("SELECT id,name FROM judges_teams WHERE num='".$_POST['team_num']."' AND year='".$config['FAIRYEAR']."'");
|
||||
if(mysql_num_rows($q))
|
||||
{
|
||||
$r=mysql_fetch_object($q);
|
||||
@ -125,20 +124,17 @@ jQuery(document).ready(function(){
|
||||
}
|
||||
$added=0;
|
||||
|
||||
foreach($_POST['judgelist'] AS $selectedjudge)
|
||||
{
|
||||
foreach($_POST['judgelist'] AS $selectedjudge) {
|
||||
//before we insert them, we need to make sure they dont already belong to this team. We can not have the same judge assigned to the same team multiple times.
|
||||
|
||||
$q=mysql_query("SELECT * FROM judges_teams_link WHERE users_id='$selectedjudge' AND judges_teams_id='$team_id'");
|
||||
if(mysql_num_rows($q))
|
||||
{
|
||||
if(mysql_num_rows($q)) {
|
||||
echo notice(i18n("Judge (%1) already belongs to judging team: %2",array($selectedjudge,$team_name)));
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
else {
|
||||
//lets make the first one we add a captain, the rest, non-captains :)
|
||||
mysql_query("INSERT INTO judges_teams_link (users_id,judges_teams_id,captain,conferences_id) VALUES ('$selectedjudge','$team_id','$captain','".$conference['id']."')");
|
||||
mysql_query("INSERT INTO judges_teams_link (users_id,judges_teams_id,captain,year) VALUES ('$selectedjudge','$team_id','$captain','".$config['FAIRYEAR']."')");
|
||||
$added++;
|
||||
}
|
||||
//if this is alreayd no, then who cares, but if its the first one that is going into the new team, then
|
||||
@ -155,11 +151,11 @@ jQuery(document).ready(function(){
|
||||
|
||||
if($_GET['action']=="del" && $_GET['team_num'] && $_GET['team_id'] && $_GET['users_id'])
|
||||
{
|
||||
mysql_query("DELETE FROM judges_teams_link WHERE users_id='".$_GET['users_id']."' AND judges_teams_id='".$_GET['team_id']."' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM judges_teams_link WHERE users_id='".$_GET['users_id']."' AND judges_teams_id='".$_GET['team_id']."' AND year='".$config['FAIRYEAR']."'");
|
||||
echo happy(i18n("Removed judge from team #%1 (%2)",array($_GET['team_num'],$_GET['team_name'])));
|
||||
|
||||
//if there is still members left in the team, make sure we have a captain still
|
||||
$q=mysql_query("SELECT * FROM judges_teams_link WHERE judges_teams_id='".$_GET['team_id']."' AND conferences_id='".$conference['id']."'");
|
||||
$q=mysql_query("SELECT * FROM judges_teams_link WHERE judges_teams_id='".$_GET['team_id']."' AND year='".$config['FAIRYEAR']."'");
|
||||
if(mysql_num_rows($q))
|
||||
{
|
||||
//make sure the team still has a captain!
|
||||
@ -183,7 +179,7 @@ jQuery(document).ready(function(){
|
||||
if(!$gotcaptain)
|
||||
{
|
||||
//make the first judge the captain
|
||||
mysql_query("UPDATE judges_teams_link SET captain='yes' WHERE judges_teams_id='".$_GET['team_id']."' AND users_id='$firstjudge' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("UPDATE judges_teams_link SET captain='yes' WHERE judges_teams_id='".$_GET['team_id']."' AND users_id='$firstjudge' AND year='".$config['FAIRYEAR']."'");
|
||||
echo notice(i18n("Team captain was removed. A new team captain has been automatically assigned"));
|
||||
}
|
||||
}
|
||||
@ -191,7 +187,7 @@ jQuery(document).ready(function(){
|
||||
|
||||
if($_GET['action']=="empty" && $_GET['team_num'] && $_GET['team_id'])
|
||||
{
|
||||
mysql_query("DELETE FROM judges_teams_link WHERE judges_teams_id='".$_GET['team_id']."' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM judges_teams_link WHERE judges_teams_id='".$_GET['team_id']."' AND year='".$config['FAIRYEAR']."'");
|
||||
echo happy(i18n("Emptied all judges from team #%1 (%2)",array($_GET['team_num'],$_GET['team_name'])));
|
||||
}
|
||||
|
||||
@ -231,6 +227,59 @@ jQuery(document).ready(function(){
|
||||
}
|
||||
}
|
||||
|
||||
if($_GET['action']=="autoassignspecial") {
|
||||
|
||||
/* Load all the judges (judge_complete=yes, deleted=no, year=fairyear) */
|
||||
$judgelist = judges_load_all();
|
||||
|
||||
/* Load all the teams */
|
||||
$teams = array();
|
||||
$q = mysql_query("SELECT * FROM judges_teams WHERE year='{$config['FAIRYEAR']}'");
|
||||
while($i = mysql_fetch_assoc($q)) {
|
||||
$teams[$i['id']] = $i;
|
||||
}
|
||||
|
||||
/* And the links */
|
||||
$links = array();
|
||||
$q = mysql_query("SELECT * FROM judges_teams_link WHERE year='{$config['FAIRYEAR']}'");
|
||||
while($i = mysql_fetch_assoc($q)) {
|
||||
$judgelist[$i['users_id']]['teams_links'][] = $i;
|
||||
}
|
||||
|
||||
$jlist = array();
|
||||
|
||||
/* Remove all judges that have a link */
|
||||
foreach($judgelist as $j) {
|
||||
if(count($j['teams_links']) == 0 && $j['special_award_only']=="yes")
|
||||
$jlist[] = $j['id'];
|
||||
}
|
||||
echo "We have ".count($jlist)." special awards judges to assign";
|
||||
foreach($jlist AS $jid) {
|
||||
$j=$judgelist[$jid];
|
||||
if(is_array($j['special_award_selected']) && count($j['special_award_selected'])) {
|
||||
//assing them to ALL teams for ALL awards
|
||||
foreach($j['special_award_selected'] AS $awardid) {
|
||||
echo "Looking for a team for award $awardid <br />";
|
||||
//find the award id linked to a team
|
||||
$q=mysql_query("SELECT * FROM judges_teams_awards_link WHERE award_awards_id='{$awardid}' AND year='{$config['FAIRYEAR']}'");
|
||||
if(mysql_num_rows($q)) {
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
mysql_query("INSERT INTO judges_teams_link (users_id,judges_teams_id,captain,year) VALUES ('$jid','$r->judges_teams_id','yes','{$config['FAIRYEAR']}')");
|
||||
echo happy(i18n("%1 %2 to their special award(s) team(s)",array($j['firstname'],$j['lastname'])));
|
||||
}
|
||||
}
|
||||
else {
|
||||
echo error(i18n("%1 %2 not assigned - No team found that is judging award id %1",array($awardid)));
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
echo error(i18n("%1 %2 has indicated special awards only, but didnt selected any awards",array($j['firstname'],$j['lastname'])));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if(!$_SESSION['viewstate']['judges_teams_list_show'])
|
||||
$_SESSION['viewstate']['judges_teams_list_show']='unassigned';
|
||||
//now update the judges_teams_list_show viewstate
|
||||
@ -272,14 +321,14 @@ jQuery(document).ready(function(){
|
||||
|
||||
/* Load all the teams */
|
||||
$teams = array();
|
||||
$q = mysql_query("SELECT * FROM judges_teams WHERE conferences_id='{$conference['id']}'");
|
||||
$q = mysql_query("SELECT * FROM judges_teams WHERE year='{$config['FAIRYEAR']}'");
|
||||
while($i = mysql_fetch_assoc($q)) {
|
||||
$teams[$i['id']] = $i;
|
||||
}
|
||||
|
||||
/* And the links */
|
||||
$links = array();
|
||||
$q = mysql_query("SELECT * FROM judges_teams_link WHERE conferences_id='{$conference['id']}'");
|
||||
$q = mysql_query("SELECT * FROM judges_teams_link WHERE year='{$config['FAIRYEAR']}'");
|
||||
while($i = mysql_fetch_assoc($q)) {
|
||||
$judgelist[$i['users_id']]['teams_links'][] = $i;
|
||||
}
|
||||
@ -303,12 +352,19 @@ jQuery(document).ready(function(){
|
||||
|
||||
foreach($jlist as $jid) {
|
||||
$u = &$judgelist[$jid];
|
||||
if($u['firstname'] && $u['lastname'])
|
||||
echo "<option value=\"$jid\">{$u['firstname']} {$u['lastname']} (" . implode(' ', $u['languages']) . ")</option>\n";
|
||||
if($u['firstname'] && $u['lastname']) {
|
||||
if($u['special_award_only']=='yes') {
|
||||
$sp="[sp] ";
|
||||
}
|
||||
else $sp="";
|
||||
echo "<option value=\"$jid\">{$sp}{$u['firstname']} {$u['lastname']} (" . implode(' ', $u['languages']) . ")</option>\n";
|
||||
}
|
||||
}
|
||||
unset($u);
|
||||
|
||||
echo "</select>";
|
||||
echo "<br />";
|
||||
echo "<a href=\"judges_teams_members.php?action=autoassignspecial\">Auto-Assign Special Awards Judges to Special Awards Teams</a>\n";
|
||||
echo "</td>";
|
||||
echo "<td valign=\"top\">";
|
||||
|
||||
@ -322,6 +378,7 @@ jQuery(document).ready(function(){
|
||||
echo "<input onclick=\"addbuttonclicked('".$team['num']."')\" type=\"button\" value=\"Add >>\">";
|
||||
echo "</td><td>";
|
||||
|
||||
|
||||
echo "<table width=\"100%\">\n";
|
||||
echo "<tr><th colspan=\"2\" align=\"left\">#".$team['num'].": ";
|
||||
echo $team['name'];
|
||||
@ -336,18 +393,40 @@ jQuery(document).ready(function(){
|
||||
foreach($team['members'] AS $member) {
|
||||
$j = &$judgelist[$member['id']];
|
||||
echo "<tr><td>";
|
||||
/*
|
||||
if($team['num']=="89") {
|
||||
echo "<pre>";
|
||||
print_r($team);
|
||||
print_r($j);
|
||||
echo "</pre>";
|
||||
}
|
||||
*/
|
||||
|
||||
$langerr=false;
|
||||
$judgeerr=false;
|
||||
foreach($team['languages'] AS $teamlang) {
|
||||
if(!in_array($teamlang,$j['languages'])) {
|
||||
if(is_array($j['languages'])) {
|
||||
if(!in_array($teamlang,$j['languages'])) {
|
||||
$langerr=true;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
$langerr=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(!$j['id']) {
|
||||
$judgeerr=true;
|
||||
}
|
||||
|
||||
echo "<a onclick=\"return confirmClick('Are you sure you want to remove this judge from this team?')\" href=\"judges_teams_members.php?action=del&team_id=".$team['id']."&team_num=".$team['num']."&users_id=".$member['id']."&team_name=".rawurlencode($team['name'])."\"><img border=0 src=\"".$config['SFIABDIRECTORY']."/images/16/button_cancel.".$config['icon_extension']."\"></a>";
|
||||
echo "</td><td width=\"100%\">";
|
||||
if($langerr) echo "<span class=\"error\" style=\"width: 100%; display: block;\">";
|
||||
if($langerr || $judgeerr) echo "<span class=\"error\" style=\"width: 100%; display: block;\">";
|
||||
if($judgeerr) {
|
||||
echo "ERROR: this judge is assigned to the team, but they are not an active/complete judge! <br />";
|
||||
}
|
||||
|
||||
|
||||
if($member['captain']=="yes") {
|
||||
echo "<a title=\"Captain - Click to remove captain status\" href=\"judges_teams_members.php?action=removecaptain&team_id=".$team['id']."&judge_id=".$member['id']."\">";
|
||||
echo "<img border=0 src=\"".$config['SFIABDIRECTORY']."/images/16/bookmark.".$config['icon_extension']."\">";
|
||||
@ -366,7 +445,7 @@ jQuery(document).ready(function(){
|
||||
$l = is_array($j['languages']) ? join(' ',$j['languages']) : '';
|
||||
|
||||
echo "</a> <span style=\"font-size: 1.0em;\">($l)</span>\n";
|
||||
if($langerr) echo "</span>\n";
|
||||
if($langerr || $judgeerr) echo "</span>\n";
|
||||
echo "</td></tr>";
|
||||
}
|
||||
|
||||
@ -394,7 +473,7 @@ jQuery(document).ready(function(){
|
||||
echo "</td></tr>";
|
||||
echo "</table>";
|
||||
echo "</form>";
|
||||
echo '<div id="infodiv" style="background-color: #DDF; border:solid;'
|
||||
echo '<div id="infodiv" style="font-size: 1.2em; background-color: #DDF; border:solid;'
|
||||
. ' border-width:1px;'
|
||||
. ' border-color: #000;'
|
||||
. ' position:absolute;'
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require("judges.inc.php");
|
||||
require("../projects.inc.php");
|
||||
|
||||
@ -87,11 +87,11 @@ if($_GET['action']=="delete" && $_GET['delete'] && $_GET['edit'])
|
||||
|
||||
if($_POST['action']=="assign" && $_POST['edit'] && $_POST['timeslot'] && $_POST['project_id'])
|
||||
{
|
||||
mysql_query("INSERT INTO judges_teams_timeslots_projects_link (judges_teams_id,judges_timeslots_id,projects_id,conferences_id) VALUES ('".$_POST['edit']."','".$_POST['timeslot']."','".$_POST['project_id']."','".$conference['id']."')");
|
||||
mysql_query("INSERT INTO judges_teams_timeslots_projects_link (judges_teams_id,judges_timeslots_id,projects_id,year) VALUES ('".$_POST['edit']."','".$_POST['timeslot']."','".$_POST['project_id']."','".$config['FAIRYEAR']."')");
|
||||
echo happy(i18n("Project assigned to team timeslot"));
|
||||
}
|
||||
|
||||
$q=mysql_query("SELECT DISTINCT(date) AS d FROM judges_timeslots WHERE conferences_id='".$conference['id']."'");
|
||||
$q=mysql_query("SELECT DISTINCT(date) AS d FROM judges_timeslots WHERE year='".$config['FAIRYEAR']."'");
|
||||
if(mysql_num_rows($q)>1)
|
||||
$show_date=true;
|
||||
else
|
||||
@ -212,7 +212,7 @@ if( ($action=="edit" || $action=="assign" ) && $edit)
|
||||
projectnumber is not null
|
||||
" . getJudgingEligibilityCode(). " AND
|
||||
projects.registrations_id=registrations.id AND
|
||||
projects.conferences_id='".$conference['id']."'
|
||||
projects.year='".$config['FAIRYEAR']."'
|
||||
ORDER BY
|
||||
projectnumber";
|
||||
}
|
||||
@ -232,7 +232,7 @@ if( ($action=="edit" || $action=="assign" ) && $edit)
|
||||
" . getJudgingEligibilityCode(). " AND
|
||||
projects.registrations_id=registrations.id AND
|
||||
judges_teams_timeslots_projects_link.projects_id IS NULL AND
|
||||
projects.conferences_id='".$conference['id']."'
|
||||
projects.year='".$config['FAIRYEAR']."'
|
||||
ORDER BY
|
||||
projectnumber";
|
||||
}
|
||||
@ -300,7 +300,7 @@ if( ($action=="edit" || $action=="assign" ) && $edit)
|
||||
judges_teams_timeslots_projects_link.judges_timeslots_id='$r->id' AND
|
||||
judges_teams_timeslots_projects_link.judges_teams_id='".$team['id']."' AND
|
||||
judges_teams_timeslots_projects_link.projects_id=projects.id AND
|
||||
judges_teams_timeslots_projects_link.conferences_id='".$conference['id']."'
|
||||
judges_teams_timeslots_projects_link.year='".$config['FAIRYEAR']."'
|
||||
ORDER BY
|
||||
projectnumber
|
||||
");
|
||||
@ -407,7 +407,7 @@ if( ($action=="edit" || $action=="assign" ) && $edit)
|
||||
judges_teams_timeslots_projects_link.judges_timeslots_id='$r->id' AND
|
||||
judges_teams_timeslots_projects_link.judges_teams_id='".$team['id']."' AND
|
||||
judges_teams_timeslots_projects_link.projects_id=projects.id AND
|
||||
judges_teams_timeslots_projects_link.conferences_id='".$conference['id']."'
|
||||
judges_teams_timeslots_projects_link.year='".$config['FAIRYEAR']."'
|
||||
ORDER BY
|
||||
projectnumber
|
||||
");
|
||||
@ -419,7 +419,7 @@ if( ($action=="edit" || $action=="assign" ) && $edit)
|
||||
|
||||
echo "$proj->projectnumber - $proj->title ($proj->language)";
|
||||
|
||||
if(!in_array($proj->language,$team['languages']))
|
||||
if(!in_array($proj->language,$team['languages_members']))
|
||||
echo "</span>\n";
|
||||
echo "<br />";
|
||||
}
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require_once('../common.inc.php');
|
||||
require_once('../user.inc.php');
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require_once('judges.inc.php');
|
||||
|
||||
$round_str = array('timeslot' => 'Judging Timeslot',
|
||||
@ -56,8 +56,8 @@
|
||||
if(count($_POST['teams']) && count($_POST['timeslots'])) {
|
||||
foreach($_POST['teams'] AS $tm) {
|
||||
foreach($_POST['timeslots'] AS $ts) {
|
||||
mysql_query("INSERT INTO judges_teams_timeslots_link (judges_teams_id,judges_timeslots_id,conferences_id)
|
||||
VALUES ('$tm','$ts','{$conference['id']}')");
|
||||
mysql_query("INSERT INTO judges_teams_timeslots_link (judges_teams_id,judges_timeslots_id,year)
|
||||
VALUES ('$tm','$ts','{$config['FAIRYEAR']}')");
|
||||
|
||||
}
|
||||
}
|
||||
@ -126,7 +126,7 @@ function checkinvert(what)
|
||||
echo "<a href=\"\" onclick=\"return checkinvert('timeslots')\">invert selection</a>";
|
||||
|
||||
|
||||
$q=mysql_query("SELECT DISTINCT(date) AS d FROM judges_timeslots WHERE conferences_id='".$conference['id']."'");
|
||||
$q=mysql_query("SELECT DISTINCT(date) AS d FROM judges_timeslots WHERE year='".$config['FAIRYEAR']."'");
|
||||
if(mysql_num_rows($q)>1)
|
||||
$show_date=true;
|
||||
else
|
||||
@ -141,7 +141,7 @@ function checkinvert(what)
|
||||
echo "</tr>\n";
|
||||
|
||||
$q=mysql_query("SELECT * FROM judges_timeslots
|
||||
WHERE conferences_id='{$conference['id']}'
|
||||
WHERE year='{$config['FAIRYEAR']}'
|
||||
AND round_id='0' ORDER BY date,starttime");
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
echo "<tr>";
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require_once('../common.inc.php');
|
||||
require_once('../user.inc.php');
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
$round_str = array('timeslot' => 'Judging Timeslot',
|
||||
'divisional1' => 'Divisional Round 1',
|
||||
@ -81,7 +81,7 @@
|
||||
if($save == true) {
|
||||
if($round_id == 0) {
|
||||
/* New entry */
|
||||
mysql_query("INSERT INTO judges_timeslots (round_id,conferences_id) VALUES('0','{$conference['id']}')");
|
||||
mysql_query("INSERT INTO judges_timeslots (round_id,year) VALUES('0','{$config['FAIRYEAR']}')");
|
||||
$round_id = mysql_insert_id();
|
||||
}
|
||||
|
||||
@ -135,8 +135,8 @@
|
||||
if($save == true) {
|
||||
if($timeslot_id == 0) {
|
||||
/* New entry */
|
||||
mysql_query("INSERT INTO judges_timeslots (round_id,date,type,conferences_id) VALUES('$round_id',
|
||||
'$date','timeslot','{$conference['id']}')");
|
||||
mysql_query("INSERT INTO judges_timeslots (round_id,date,type,year) VALUES('$round_id',
|
||||
'$date','timeslot','{$config['FAIRYEAR']}')");
|
||||
$timeslot_id = mysql_insert_id();
|
||||
}
|
||||
|
||||
@ -173,19 +173,19 @@
|
||||
DATE_ADD('$date $hr:$min:00', INTERVAL $tt MINUTE) AS startnext ");
|
||||
echo mysql_error();
|
||||
$r=mysql_fetch_object($q);
|
||||
list($ed,$et)=explode(" ",$r->endtime);
|
||||
list($nd,$nt)=explode(" ",$r->startnext);
|
||||
list($ed,$et)=split(" ",$r->endtime);
|
||||
list($nd,$nt)=split(" ",$r->startnext);
|
||||
|
||||
$starttime = sprintf("%02d:%02d:00", $hr, $min);
|
||||
|
||||
mysql_query("INSERT INTO judges_timeslots (date,type,round_id,starttime,endtime,conferences_id) VALUES (
|
||||
mysql_query("INSERT INTO judges_timeslots (date,type,round_id,starttime,endtime,year) VALUES (
|
||||
'$date','timeslot','{$round_data['id']}',
|
||||
'$starttime', '$et',
|
||||
'{$conference['id']}')");
|
||||
'{$config['FAIRYEAR']}')");
|
||||
echo mysql_error();
|
||||
$date=$nd;
|
||||
list($s_h,$s_m,$s_s)=explode(":",$nt);
|
||||
list($e_h,$e_m,$e_s)=explode(":",$et);
|
||||
list($s_h,$s_m,$s_s)=split(":",$nt);
|
||||
list($e_h,$e_m,$e_s)=split(":",$et);
|
||||
message_push(happy(i18n("Adding timeslot: %1",array("$date $hr:$min - $e_h:$e_m"))));
|
||||
$hr=$s_h;
|
||||
$min=$s_m;
|
||||
@ -353,7 +353,7 @@
|
||||
echo "<th>".i18n("Actions")."</th>";
|
||||
echo "</tr>";
|
||||
|
||||
$q=mysql_query("SELECT * FROM judges_timeslots WHERE conferences_id='{$conference['id']}' AND `type`!='timeslot' ORDER BY date,starttime");
|
||||
$q=mysql_query("SELECT * FROM judges_timeslots WHERE year='{$config['FAIRYEAR']}' AND `type`!='timeslot' ORDER BY date,starttime");
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
echo "<tr>";
|
||||
$qq = mysql_query("SELECT * FROM judges_timeslots WHERE round_id='{$r->id}' ORDER BY `date`,`starttime`");
|
||||
|
@ -25,13 +25,14 @@
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
require_once("judges.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
send_header("Judging Score Entry - Update",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php',
|
||||
'Judging Score Entry' => 'admin/judging_score_entry.php')
|
||||
);
|
||||
|
||||
$year=$config['FAIRYEAR'];
|
||||
$project_id = NULL;
|
||||
if($_GET['projectid']) {
|
||||
$project_id = $_GET['projectid'];
|
||||
@ -46,10 +47,13 @@
|
||||
} else {
|
||||
$score = mysql_real_escape_string($score);
|
||||
}
|
||||
if($score >100.00) {
|
||||
$score_error = "*** ERROR **** You entered a value greater than 100.00";
|
||||
}
|
||||
mysql_query("UPDATE judges_teams_timeslots_projects_link
|
||||
SET score=" . $score .
|
||||
" WHERE judges_teams_id = " . mysql_real_escape_string($_POST["team_" . $curr_team . "_id"]) .
|
||||
" and projects_id =$project_id and conferences_id={$conference['id']}");
|
||||
" and projects_id =$project_id and year=$year");
|
||||
echo mysql_error();
|
||||
}
|
||||
$curr_team--;
|
||||
@ -59,11 +63,15 @@
|
||||
?>
|
||||
<?
|
||||
if($project_id) {
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE conferences_id='{$conference['id']} ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projects WHERE projects.id = '".$project_id."'");
|
||||
$r=mysql_fetch_object($q);
|
||||
$project_number = $r->projectnumber;
|
||||
$project_title = $r->title;
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE year='$year' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q))
|
||||
$cats[$r->id]=$r->category;
|
||||
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE conferences_id='{$conference['id']} ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE year='$year' ORDER BY id");
|
||||
|
||||
|
||||
$q=mysql_query("SELECT judges_teams_timeslots_projects_link.judges_teams_id,
|
||||
@ -75,7 +83,10 @@ $q=mysql_query("SELECT * FROM projectdivisions WHERE conferences_id='{$conferenc
|
||||
AND projects_id = ".mysql_real_escape_string($project_id)." ORDER BY judges_teams_id"
|
||||
);
|
||||
echo mysql_error();
|
||||
|
||||
echo "Project# ".$project_number." ".$project_title."<br />";
|
||||
if ($score_error != "") {
|
||||
echo $score_error."<br />";
|
||||
}
|
||||
echo "<form action=\"judging_score_edit.php\" method=\"post\">";
|
||||
echo "<input type=\"hidden\" name=\"score_count\" value=\"" . mysql_num_rows($q) . "\"/>";
|
||||
echo "<input type=\"hidden\" name=\"projectid\" value=\"$project_id\"/>";
|
||||
@ -107,7 +118,7 @@ $q=mysql_query("SELECT * FROM projectdivisions WHERE conferences_id='{$conferenc
|
||||
}
|
||||
echo "\n</td>\n";
|
||||
echo "<td style=\"vertical-align: middle; text-align: center\">\n";
|
||||
echo "<input type=\"text\" size=\"3\" maxlength=\"3\" name=\"team_" . $i . "_score\" value=\"$r->score\"/>\n";
|
||||
echo "<input type=\"text\" size=\"5\" maxlength=\"5\" name=\"team_" . $i . "_score\" value=\"$r->score\"/>\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
$i++;
|
||||
|
@ -25,10 +25,10 @@
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
require_once("judges.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
if($_GET['conferences_id']) $conferences_id=$_GET['conferences_id'];
|
||||
else $conferences_id=$conference['id'];
|
||||
if($_GET['year']) $year=$_GET['year'];
|
||||
else $year=$config['FAIRYEAR'];
|
||||
|
||||
if($_GET['csv'] == 'yes') {
|
||||
header("Content-type: text/csv");
|
||||
@ -42,11 +42,11 @@
|
||||
}
|
||||
?>
|
||||
<?
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE conferences_id = '$conferences_id' ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE year='$year' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q))
|
||||
$cats[$r->id]=$r->category;
|
||||
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE conferences_id = '$conferences_id' ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE year='$year' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q))
|
||||
$divs[$r->id]=$r->division;
|
||||
|
||||
@ -60,9 +60,6 @@ $ORDERBY="projects.projectcategories_id, projects.projectdivisions_id, projects.
|
||||
projects.projectcategories_id,
|
||||
projects.projectdivisions_id,
|
||||
judges_teams_id as res_team_id,
|
||||
count(score) as score_count,
|
||||
count((SELECT count(*) FROM judges_teams_timeslots_projects_link WHERE
|
||||
projectid=judges_teams_timeslots_projects_link.projects_id)) as score_total_count,
|
||||
avg(score) as score,
|
||||
avg(score + (SELECT 70-avg(score)
|
||||
FROM judges_teams_timeslots_projects_link
|
||||
@ -73,7 +70,7 @@ $ORDERBY="projects.projectcategories_id, projects.projectdivisions_id, projects.
|
||||
left outer join projects on projects.registrations_id=registrations.id
|
||||
left outer join judges_teams_timeslots_projects_link on projects.id=judges_teams_timeslots_projects_link.projects_id
|
||||
WHERE
|
||||
registrations.conferences_id='$conferences_id' "
|
||||
registrations.year='$year' "
|
||||
. getJudgingEligibilityCode() . "
|
||||
GROUP BY projectid
|
||||
ORDER BY
|
||||
@ -82,33 +79,8 @@ $ORDERBY="projects.projectcategories_id, projects.projectdivisions_id, projects.
|
||||
echo mysql_error();
|
||||
|
||||
if($_GET['csv'] != 'yes') {
|
||||
?>
|
||||
<script language="javascript" type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$("#div-cat-best").click(function() {
|
||||
// set sorting column and direction, this will sort on the first and third column the column index starts at zero
|
||||
var sorting = [[2,0],[3,0],[5,1]];
|
||||
// sort on the first column
|
||||
$(".tableview").trigger("sorton",[sorting]);
|
||||
// return false to stop default link action
|
||||
return false;
|
||||
});
|
||||
$("#overall-best").click(function() {
|
||||
// set sorting column and direction, this will sort on the first and third column the column index starts at zero
|
||||
var sorting = [[5,1]];
|
||||
// sort on the first column
|
||||
$(".tableview").trigger("sorton",[sorting]);
|
||||
// return false to stop default link action
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<?php
|
||||
echo "<a href='judging_score_entry.php?csv=yes'>" . i18n("Generate CSV Report") . "</a>\n";
|
||||
echo "<br /><a href='#' id='div-cat-best'>" . i18n("Sort By Best in Division/Category") . "</a>\n";
|
||||
echo "<br /><a href='#' id='overall-best'>" . i18n("Sort By Best Overall") . "</a>\n";
|
||||
echo "<table class=\"tableview\">";
|
||||
echo "<thead>";
|
||||
echo "<tr>";
|
||||
echo "<th>".i18n("Proj Num")."</th>";
|
||||
echo "<th>".i18n("Project Title")."</th>";
|
||||
@ -116,11 +88,8 @@ $(document).ready(function() {
|
||||
echo "<th>".i18n("Division")."</th>";
|
||||
echo "<th>".i18n("Score")."</th>";
|
||||
echo "<th>".i18n("Normalized Score")."</th>";
|
||||
echo "<th>".i18n("Judgings")."</th>";
|
||||
echo "<th>".i18n("Action")."</th>";
|
||||
echo "</tr>";
|
||||
echo "</thead>";
|
||||
echo "<tbody>";
|
||||
} else {
|
||||
echo "Project #\tTitle\tCategory\tDivision\tScore\tNormalized Scores\tJudge Name\tJudges Score\n";
|
||||
}
|
||||
@ -152,18 +121,10 @@ $(document).ready(function() {
|
||||
|
||||
echo "<td>".i18n($cats[$r->projectcategories_id])."</td>\n";
|
||||
echo "<td>".i18n($divs[$r->projectdivisions_id])."</td>\n";
|
||||
echo "<td class='judging_score'>" . number_format($r->score, 2) . "</td>\n";
|
||||
echo "<td class='judging_score'><strong>" . number_format($r->norm_score, 2) . "</strong></td>\n";
|
||||
if ($r->score_count == $r->score_total_count) {
|
||||
echo "<td>";
|
||||
} else if ($r->score_count == 0) {
|
||||
echo "<td class='caution'>";
|
||||
} else {
|
||||
echo "<td class='error'>";
|
||||
}
|
||||
echo number_format($r->score_count, 0) . "/" . number_format($r->score_total_count, 0) . "</td>\n";
|
||||
echo "<td>" . number_format($r->score, 2) . "</td>\n";
|
||||
echo "<td>" . number_format($r->norm_score, 2) . "</td>\n";
|
||||
echo "<td align=\"center\">";
|
||||
if($conferences_id == $conference['id']){
|
||||
if($year==$config['FAIRYEAR']) {
|
||||
echo "<a href=\"judging_score_edit.php?projectid=$r->projectid\">";
|
||||
echo i18n("Edit Scores");
|
||||
echo "</a>";
|
||||
@ -173,7 +134,6 @@ $(document).ready(function() {
|
||||
}
|
||||
}
|
||||
if($_GET['csv'] != 'yes') {
|
||||
echo "</tbody>";
|
||||
echo "</table>\n";
|
||||
echo "<br />";
|
||||
|
||||
|
@ -1,59 +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 <info@scitechontario.org>
|
||||
Copyright (C) 2005 James Grant <james@lightbox.org>
|
||||
|
||||
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("../tableeditor.class.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
|
||||
send_header("Event Locations",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php',
|
||||
'Events & Scheduling' => 'admin/eventsscheduling.php'),
|
||||
"events_scheduling" );
|
||||
|
||||
echo "<br />";
|
||||
$editor = new TableEditor("locations",
|
||||
array(
|
||||
"name" => "Location Name"
|
||||
),
|
||||
array(
|
||||
"name" => "Location Name"
|
||||
),
|
||||
array(
|
||||
"conferences_id" => $conference['id']
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
$editor->filterList("conferences_id", $conference['id']);
|
||||
$editor->setPrimaryKey("id");
|
||||
$editor->setRecordType("Location");
|
||||
$editor->setDefaultSortField("name");
|
||||
$editor->execute();
|
||||
|
||||
|
||||
send_footer();
|
||||
|
||||
?>
|
@ -20,13 +20,19 @@
|
||||
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
// This file was modified Jan of 2014 by Richard Sin
|
||||
// Project type has been added and can be toggled by configuration.
|
||||
// Feedback box also has been added for flagging purposes
|
||||
|
||||
?>
|
||||
<?
|
||||
require_once('../common.inc.php');
|
||||
require_once('../user.inc.php');
|
||||
require_once('../register_participants.inc.php');
|
||||
|
||||
$auth_type = user_auth_required(array(), array('fair','admin'));
|
||||
$auth_type = user_auth_required(array('fair','committee'), 'admin');
|
||||
|
||||
|
||||
$registrations_id=intval($_GET['id']);
|
||||
$action = $_GET['action'];
|
||||
@ -42,7 +48,7 @@ if($auth_type == 'fair') {
|
||||
the master copy of the fairs_id in the project */
|
||||
$q=mysql_query("SELECT * FROM projects WHERE
|
||||
registrations_id='$registrations_id'
|
||||
AND conferences_id='{$conference['id']}'
|
||||
AND year='{$config['FAIRYEAR']}'
|
||||
AND fairs_id=$fairs_id");
|
||||
if(mysql_num_rows($q) != 1) {
|
||||
echo "permission denied.";
|
||||
@ -55,14 +61,14 @@ if($auth_type == 'fair') {
|
||||
|
||||
switch($action) {
|
||||
case 'project_load':
|
||||
project_load2();
|
||||
project_load();
|
||||
break;
|
||||
case 'project_regenerate_number':
|
||||
/* Save first */
|
||||
project_save();
|
||||
|
||||
/* Now generate */
|
||||
$q=mysql_query("SELECT id FROM projects WHERE registrations_id='{$registrations_id}' AND conferences_id='{$conference['id']}'");
|
||||
$q=mysql_query("SELECT id FROM projects WHERE registrations_id='{$registrations_id}' AND year='{$config['FAIRYEAR']}'");
|
||||
$i=mysql_fetch_assoc($q);
|
||||
$id = $i['id'];
|
||||
|
||||
@ -89,10 +95,10 @@ exit;
|
||||
|
||||
function project_save()
|
||||
{
|
||||
global $registrations_id, $config, $conference;
|
||||
global $registrations_id, $config;
|
||||
|
||||
//first, lets make sure this project really does belong to them
|
||||
$q=mysql_query("SELECT * FROM projects WHERE registrations_id='{$registrations_id}' AND conferences_id='{$conference['id']}'");
|
||||
$q=mysql_query("SELECT * FROM projects WHERE registrations_id='{$registrations_id}' AND year='{$config['FAIRYEAR']}'");
|
||||
$projectinfo=mysql_fetch_object($q);
|
||||
if(!projectinfo) {
|
||||
echo error(i18n("Invalid project to update"));
|
||||
@ -105,6 +111,20 @@ function project_save()
|
||||
else
|
||||
$summarycountok=1;
|
||||
|
||||
//check if it is flagged then update it
|
||||
|
||||
if(empty($_POST['feedback'])) {
|
||||
mysql_query("UPDATE projects SET ".
|
||||
"flagged='0'".
|
||||
"WHERE id='".intval($_POST['id'])."'");
|
||||
} else {
|
||||
mysql_query("UPDATE projects SET ".
|
||||
"flagged='1'".
|
||||
"WHERE id='".intval($_POST['id'])."'");
|
||||
}
|
||||
echo mysql_error();
|
||||
happy_("Flagging process successfully updated");
|
||||
|
||||
if($config['participant_project_title_charmax'] && strlen(stripslashes($_POST['title']))>$config['participant_project_title_charmax']) { //0 for no limit, eg 255 database field limit
|
||||
$title=substr(stripslashes($_POST['title']),0,$config['participant_project_title_charmax']);
|
||||
error_("Project title truncated to %1 characters",array($config['participant_project_title_charmax']));
|
||||
@ -112,23 +132,27 @@ function project_save()
|
||||
$title=stripslashes($_POST['title']);
|
||||
|
||||
mysql_query("UPDATE projects SET ".
|
||||
"title='".mysql_escape_string($title)."', ".
|
||||
"title='".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",$title))."', ".
|
||||
"projectdivisions_id='".intval($_POST['projectdivisions_id'])."', ".
|
||||
"projecttype='".mysql_escape_string(stripslashes($_POST['projecttype']))."', ".
|
||||
"language='".mysql_escape_string(stripslashes($_POST['language']))."', ".
|
||||
"req_table='".mysql_escape_string(stripslashes($_POST['req_table']))."', ".
|
||||
"req_electricity='".mysql_escape_string(stripslashes($_POST['req_electricity']))."', ".
|
||||
"req_special='".mysql_escape_string(stripslashes($_POST['req_special']))."', ".
|
||||
"summary='".mysql_escape_string(stripslashes($_POST['summary']))."', ".
|
||||
"req_special='".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",stripslashes($_POST['req_special'])))."', ".
|
||||
"human_participants='".mysql_escape_string(stripslashes($_POST['human_participants']))."', ".
|
||||
"animal_participants='".mysql_escape_string(stripslashes($_POST['animal_participants']))."', ".
|
||||
"summary='".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",stripslashes($_POST['summary'])))."', ".
|
||||
"summarycountok='$summarycountok',".
|
||||
"feedback='".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",stripslashes($_POST['feedback'])))."', ".
|
||||
"projectsort='".mysql_escape_string(stripslashes($_POST['projectsort']))."'".
|
||||
"WHERE id='".intval($_POST['id'])."'");
|
||||
echo mysql_error();
|
||||
happy_('Project Information Saved');
|
||||
happy_("Project information successfully updated");
|
||||
|
||||
//check if they changed the project number
|
||||
if($_POST['projectnumber']!=$projectinfo->projectnumber) {
|
||||
//check if hte new one is available
|
||||
$q=mysql_query("SELECT * FROM projects WHERE conferences_id='".$conference['id']."' AND projectnumber='".$_POST['projectnumber']."'");
|
||||
$q=mysql_query("SELECT * FROM projects WHERE year='".$config['FAIRYEAR']."' AND projectnumber='".$_POST['projectnumber']."'");
|
||||
if(mysql_num_rows($q)) {
|
||||
error_("Could not change project number. %1 is already in use",array($_POST['projectnumber']));
|
||||
} else {
|
||||
@ -141,22 +165,34 @@ function project_save()
|
||||
}
|
||||
|
||||
|
||||
function project_load2()
|
||||
function project_load()
|
||||
{
|
||||
global $registrations_id, $config, $conference;
|
||||
global $registrations_id, $config;
|
||||
//now lets find out their MAX grade, so we can pre-set the Age Category
|
||||
$q=mysql_query("SELECT MAX(grade) AS maxgrade FROM students WHERE registrations_id='".$registrations_id."'");
|
||||
$gradeinfo=mysql_fetch_object($q);
|
||||
|
||||
//now lets grab all the age categories, so we can choose one based on the max grade
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE year='".$config['FAIRYEAR']."' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
//save these in an array, just incase we need them later (FIXME: remove this array if we dont need it)
|
||||
$agecategories[$r->id]['category']=$r->category;
|
||||
$agecategories[$r->id]['mingrade']=$r->mingrade;
|
||||
$agecategories[$r->id]['maxgrade']=$r->maxgrade;
|
||||
|
||||
if($gradeinfo->maxgrade >= $r->mingrade && $gradeinfo->maxgrade <= $r->maxgrade)
|
||||
$projectcategories_id=$r->id;
|
||||
}
|
||||
|
||||
$projectcategories_id=getProjectCategory($registrations_id);
|
||||
//now select their project info
|
||||
$q=mysql_query("SELECT * FROM projects WHERE registrations_id='".$registrations_id."' AND conferences_id='".$conference['id']."'");
|
||||
$q=mysql_query("SELECT * FROM projects WHERE registrations_id='".$registrations_id."' AND year='".$config['FAIRYEAR']."'");
|
||||
//check if it exists, if we didnt find any record, lets insert one
|
||||
$projectinfo=mysql_fetch_object($q);
|
||||
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE conferences_id='".$conference['id']."' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
//save these in an array, so we can use them below
|
||||
$agecategories[$r->id]['category']=$r->category;
|
||||
$agecategories[$r->id]['mingrade']=$r->mingrade;
|
||||
$agecategories[$r->id]['maxgrade']=$r->maxgrade;
|
||||
if(!$projectinfo) {
|
||||
mysql_query("INSERT INTO projects (registrations_id,projectcategories_id,year) VALUES ('".$registrations_id."','$projectcategories_id','".$config['FAIRYEAR']."')");
|
||||
//and then pull it back out
|
||||
$q=mysql_query("SELECT * FROM projects WHERE registrations_id='".$registrations_id."' AND year='".$config['FAIRYEAR']."'");
|
||||
$projectinfo=mysql_fetch_object($q);
|
||||
}
|
||||
|
||||
//make sure that if they changed their grade on the student page, we update their projectcategories_id accordingly
|
||||
@ -199,7 +235,7 @@ function countwords()
|
||||
<input type="hidden" name="id" value="<?=$projectinfo->id?>">
|
||||
<table>
|
||||
<tr> <td><?=i18n("Project Title")?>: </td>
|
||||
<td><input type="text" name="title" size="50" value="<?=htmlspecialchars($projectinfo->title)?>" /><?=REQUIREDFIELD?>
|
||||
<td><input type="text" name="title" size="50" value="<?=htmlspecialchars($projectinfo->title,null,"ISO8859-1")?>" /><?=REQUIREDFIELD?>
|
||||
<?
|
||||
if($config['participant_project_title_charmax'])
|
||||
echo i18n("(Max %1 characters)",array($config['participant_project_title_charmax']));
|
||||
@ -212,8 +248,32 @@ function countwords()
|
||||
</td>
|
||||
</tr><tr>
|
||||
<td><?=i18n("Project Sort")?>: </td>
|
||||
<td><input type="text" name="projectsort" size="10" value="<?=$projectinfo->projectsort?>" /></td>
|
||||
</tr><tr>
|
||||
<td><input type="text" name="projectsort" size="10" value="<?=$projectinfo->projectsort?>" /></td></tr>
|
||||
|
||||
<?
|
||||
if($config['project_type'] == 'yes'){
|
||||
$q=mysql_query("SELECT * FROM projecttypes ORDER BY type");
|
||||
echo "<tr><td>".i18n("Project Type").": </td><td>";
|
||||
echo "<select name=\"projecttype\">\n";
|
||||
echo "<option value=\"\">".i18n("Select a project type")."</option>\n";
|
||||
//FIXME: need to fix the loading glitch
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
if($r->type == $projectinfo->projecttype)
|
||||
{
|
||||
$sel="selected=\"selected\"";
|
||||
}
|
||||
else
|
||||
{
|
||||
$sel="";
|
||||
}
|
||||
echo "<option $sel value=\"$r->type\">".htmlspecialchars(i18n($r->type),null,"ISO8859-1")."</option>\n";
|
||||
|
||||
}
|
||||
echo "</select>".REQUIREDFIELD."</td></tr>";
|
||||
}
|
||||
?>
|
||||
<tr>
|
||||
<td><?=i18n("Age Category")?>: </td>
|
||||
<td><?=i18n($agecategories[$projectcategories_id]['category'])?> (<?=i18n("Grades %1-%2",array($agecategories[$projectcategories_id]['mingrade'],$agecategories[$projectcategories_id]['maxgrade']))?>)</td>
|
||||
</tr><tr>
|
||||
@ -222,17 +282,17 @@ function countwords()
|
||||
<?
|
||||
//###### Feature Specific - filtering divisions by category
|
||||
if($config['filterdivisionbycategory']=="yes"){
|
||||
$q=mysql_query("SELECT projectdivisions.* FROM projectdivisions,projectcategoriesdivisions_link WHERE projectdivisions.id=projectdivisions_id AND projectcategories_id=".$projectcategories_id." AND projectdivisions.conferences_id='".$conference['id']."' AND projectcategoriesdivisions_link.conferences_id='".$conference['id']."' ORDER BY division");
|
||||
$q=mysql_query("SELECT projectdivisions.* FROM projectdivisions,projectcategoriesdivisions_link WHERE projectdivisions.id=projectdivisions_id AND projectcategories_id=".$projectcategories_id." AND projectdivisions.year='".$config['FAIRYEAR']."' AND projectcategoriesdivisions_link.year='".$config['FAIRYEAR']."' ORDER BY division");
|
||||
echo mysql_error();
|
||||
//###
|
||||
} else
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE conferences_id='".$conference['id']."' ORDER BY division");
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE year='".$config['FAIRYEAR']."' ORDER BY division");
|
||||
|
||||
echo "<select name=\"projectdivisions_id\">";
|
||||
echo "<option value=\"\">".i18n("Select a division")."</option>\n";
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
if($r->id == $projectinfo->projectdivisions_id) $sel="selected=\"selected\""; else $sel="";
|
||||
echo "<option $sel value=\"$r->id\">".htmlspecialchars(i18n($r->division))."</option>\n";
|
||||
echo "<option $sel value=\"$r->id\">".htmlspecialchars(i18n($r->division),null,"ISO8859-1")."</option>\n";
|
||||
}
|
||||
echo "</select>".REQUIREDFIELD;
|
||||
|
||||
@ -311,9 +371,36 @@ function countwords()
|
||||
|
||||
echo "</table>";
|
||||
|
||||
|
||||
if($config['ethics_questions']=="yes")
|
||||
// If we have set ethics questions to yes then ask the ethics questions!
|
||||
{
|
||||
echo "<tr><td>".i18n("Ethics Questions").":</td><td>";
|
||||
echo "<table>";
|
||||
echo "<tr>";
|
||||
echo " <td>".i18n("My project involves human participants").REQUIREDFIELD."</td>";
|
||||
if($projectinfo->human_participants=="yes") $check="checked=\"checked\""; else $check="";
|
||||
echo " <td><input $check type=\"radio\" name=\"human_participants\" value=\"yes\" />Yes</td>";
|
||||
echo " <td width=\"20\"> </td>";
|
||||
if($projectinfo->human_participants=="no") $check="checked=\"checked\""; else $check="";
|
||||
echo " <td><input $check type=\"radio\" name=\"human_participants\" value=\"no\" />No</td>";
|
||||
echo "</tr>";
|
||||
|
||||
|
||||
echo "<tr>";
|
||||
echo " <td>".i18n("My project involves animals").REQUIREDFIELD."</td>";
|
||||
if($projectinfo->animal_participants=="yes") $check="checked=\"checked\""; else $check="";
|
||||
echo " <td><input $check type=\"radio\" name=\"animal_participants\" value=\"yes\" />Yes</td>";
|
||||
echo " <td width=\"20\"> </td>";
|
||||
if($projectinfo->animal_participants=="no") $check="checked=\"checked\""; else $check="";
|
||||
echo " <td><input $check type=\"radio\" name=\"animal_participants\" value=\"no\" />No</td>";
|
||||
echo "</tr>";
|
||||
echo "</table>";
|
||||
|
||||
}
|
||||
echo "</td></tr>";
|
||||
|
||||
echo "<tr><td>".i18n("Summary").": </td><td><textarea onchange='countwords()' onkeypress='countwords()' cols=\"60\" rows=\"12\" id=\"summary\" name=\"summary\">".htmlspecialchars($projectinfo->summary)."</textarea>".REQUIREDFIELD."<br />";
|
||||
echo "<tr><td>".i18n("Summary").": </td><td><textarea onchange='countwords()' onkeypress='countwords()' cols=\"60\" rows=\"12\" id=\"summary\" name=\"summary\">".htmlspecialchars($projectinfo->summary,null,"ISO8859-1")."</textarea>".REQUIREDFIELD."<br />";
|
||||
|
||||
$summarywords=preg_split("/[\s,]+/",$projectinfo->summary);
|
||||
$summarywordcount=count($summarywords);
|
||||
@ -326,6 +413,8 @@ function countwords()
|
||||
echo i18n("%1 words maximum",array($config['participant_project_summary_wordmax']));
|
||||
echo "</div>";
|
||||
|
||||
echo"<tr><td>".i18n("Feedback").": </td><td><textarea cols=\"60\" rows=\"4\" id=\"feedback\" name=\"feedback\">".htmlspecialchars($projectinfo->feedback,null,"ISO8859-1")."</textarea><br />";
|
||||
|
||||
?>
|
||||
</td></tr>
|
||||
</table>
|
||||
|
@ -25,7 +25,7 @@
|
||||
require("../tableeditor.class.php");
|
||||
require_once("../user.inc.php");
|
||||
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
send_header("Registration Fee Items Manager",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php'),
|
||||
@ -38,7 +38,7 @@
|
||||
'cost' => 'Cost',
|
||||
'per' => 'Cost Per',
|
||||
), null,
|
||||
array('conference' => $conference['name'])
|
||||
array('year' => $config['FAIRYEAR'])
|
||||
);
|
||||
|
||||
$editor->setPrimaryKey("id");
|
||||
@ -48,7 +48,7 @@
|
||||
array('key' => 'project', 'val' => "Project")
|
||||
) );
|
||||
$editor->setFieldInputType("per", 'select');
|
||||
$editor->filterList('conference',$conference['name']);
|
||||
$editor->filterList('year',$config['FAIRYEAR']);
|
||||
|
||||
$editor->execute();
|
||||
|
||||
|
@ -23,15 +23,16 @@
|
||||
?>
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
include"../config/signaturepage_or_permissionform.php";
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
send_header("Participant Registration",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php'),
|
||||
"participant_registration"
|
||||
);
|
||||
echo "<br />";
|
||||
echo "<a href=\"registration_receivedforms.php\">".i18n("Input Received Signature Forms")."</a> <br />";
|
||||
echo "<a href=\"registration_receivedforms.php\">".i18n("Input Received $plural_participationform")."</a> <br />";
|
||||
echo "<a href=\"registration_list.php\">".i18n("Registration List and Student/Project Editor")."</a> <br />";
|
||||
echo "<a href=\"registration_stats.php\">".i18n("Registration Statistics")."</a> <br />";
|
||||
echo "<a href=\"registration_webconsent.php\">".i18n("Website Consent")."</a> <br />";
|
||||
|
@ -20,31 +20,39 @@
|
||||
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
// This file was modified Jan of 2014 by Richard Sin
|
||||
// Flagging has been added to monitor projects with concern.
|
||||
|
||||
?>
|
||||
<?
|
||||
require_once('../common.inc.php');
|
||||
require_once('../user.inc.php');
|
||||
|
||||
$auth_type = user_auth_required(array(), array('fair', 'admin'));
|
||||
$auth_type = user_auth_required(array('fair','committee'), 'admin');
|
||||
|
||||
//require_once('../register_participants.inc.php');
|
||||
|
||||
if($_GET['conference_id']) $conference_id=intval($_GET['conference_id']);
|
||||
else $conference_id=$conference['id'];
|
||||
if($_GET['year']) $year=$_GET['year'];
|
||||
else $year=$config['FAIRYEAR'];
|
||||
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE conferences_id='{$conference['id']}' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q))
|
||||
$q = $pdo->prepare("SELECT * FROM projectcategories WHERE year='$year' ORDER BY id");
|
||||
$q->execute();
|
||||
|
||||
while($r=$q->fetch(PDO::FETCH_OBJ))
|
||||
$cats[$r->id]=$r->category;
|
||||
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE conferences_id='{$conference['id']}' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q))
|
||||
$q = $pdo->prepare("SELECT * FROM projectdivisions WHERE year='$year' ORDER BY id");
|
||||
$q->execute();
|
||||
|
||||
while($q->fetch(PDO::FETCH_OBJ))
|
||||
$divs[$r->id]=$r->division;
|
||||
|
||||
$action=$_GET['action'];
|
||||
switch($action) {
|
||||
case 'load_row':
|
||||
$id = intval($_GET['id']);
|
||||
$q = list_query($conference_id, '', $id);
|
||||
$q = list_query($year, '', $id);
|
||||
$r = mysql_fetch_object($q);
|
||||
print_row($r);
|
||||
exit;
|
||||
@ -56,20 +64,20 @@ case 'delete':
|
||||
$p = mysql_fetch_assoc($q);
|
||||
mysql_query("DELETE FROM winners WHERE projects_id='{$p['id']}'");
|
||||
}
|
||||
mysql_query("DELETE FROM registrations WHERE id='$regid' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM users WHERE registrations_id='$regid' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM projects WHERE registrations_id='$regid' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM safety WHERE registrations_id='$regid' AND conferences_id='".$conference['id']."'");
|
||||
// mysql_query("DELETE FROM questions_answers WHERE registrations_id='$regid' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM mentors WHERE registrations_id='$regid' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM emergencycontact WHERE registrations_id='$regid' AND conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM registrations WHERE id='$regid' AND year='".$config['FAIRYEAR']."'");
|
||||
mysql_query("DELETE FROM students WHERE registrations_id='$regid' AND year='".$config['FAIRYEAR']."'");
|
||||
mysql_query("DELETE FROM projects WHERE registrations_id='$regid' AND year='".$config['FAIRYEAR']."'");
|
||||
mysql_query("DELETE FROM safety WHERE registrations_id='$regid' AND year='".$config['FAIRYEAR']."'");
|
||||
mysql_query("DELETE FROM questions_answers WHERE registrations_id='$regid' AND year='".$config['FAIRYEAR']."'");
|
||||
mysql_query("DELETE FROM mentors WHERE registrations_id='$regid' AND year='".$config['FAIRYEAR']."'");
|
||||
mysql_query("DELETE FROM emergencycontact WHERE registrations_id='$regid' AND year='".$config['FAIRYEAR']."'");
|
||||
happy_("Registration and all related data successfully deleted");
|
||||
exit;
|
||||
}
|
||||
|
||||
if($auth_type == 'committee') {
|
||||
send_header("Registration Management",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php',
|
||||
'Participant Registration' => 'admin/registration.php')
|
||||
);
|
||||
@ -300,20 +308,19 @@ $(document).ready(function() {
|
||||
selected: -1
|
||||
});
|
||||
|
||||
/*
|
||||
$("#newproject").click(function() {
|
||||
popup_editor(-1);
|
||||
}
|
||||
);
|
||||
*/
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
<br />
|
||||
<table style="width: 500px;">
|
||||
<table width="100%">
|
||||
<tr><td>
|
||||
<form name="statuschangerform" method="get" action="registration_list.php">
|
||||
<?=i18n("Choose Status")?>:
|
||||
<form name="statuschangerform" method="get" action="registration_list.php">
|
||||
<select name="showstatus" onchange="document.forms.statuschangerform.submit()">
|
||||
|
||||
<?
|
||||
@ -332,9 +339,7 @@ $(document).ready(function() {
|
||||
}
|
||||
?>
|
||||
</select></form></td>
|
||||
<?
|
||||
// echo <td align=\"right\"><button id=\"newproject\">".i18n("Create New Project")."</button></td>\n";
|
||||
?>
|
||||
<td align="right"><button id="newproject"><?=i18n("Create New Project")?></button></td>
|
||||
</tr></table>
|
||||
<?
|
||||
|
||||
@ -350,28 +355,29 @@ if($showstatus) {
|
||||
}
|
||||
else $wherestatus="";
|
||||
|
||||
$q = list_query($conference_id, $wherestatus, false);
|
||||
$q = list_query($year, $wherestatus, false);
|
||||
|
||||
echo "<table id=\"registration_list\" class=\"tableview\">";
|
||||
echo "<thead><tr>";
|
||||
if($showstatus) $stat="&showstatus=".$showstatus;
|
||||
echo "<th>".i18n("Status")."</th>";
|
||||
echo "<th>".i18n("Email Address")."</th>";
|
||||
echo "<th>".i18n("Reg Num")."</th>";
|
||||
echo "<th>".i18n("Proj Num")."</th>";
|
||||
echo "<th>".i18n("Project Title")."</th>";
|
||||
echo "<th>".i18n("Age Category")."</th>";
|
||||
echo "<th>".i18n("Division")."</th>";
|
||||
echo "<th>".i18n("Participant Details")."</th>";
|
||||
echo "<th>".i18n("School(s)")."</th>";
|
||||
echo "<th>".i18n("Student(s)")."</th>";
|
||||
echo "<th>".i18n("Flagged")."</th>";
|
||||
echo "<th>".i18n("Action")."</th>";
|
||||
echo "</tr></thead>";
|
||||
echo "<tbody>";
|
||||
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
echo "<tr id=\"row_{$r->reg_id}\">";
|
||||
print_row($r);
|
||||
echo "</tr>";
|
||||
}
|
||||
echo "</tbody>";
|
||||
echo "</table>";
|
||||
|
||||
|
||||
@ -379,8 +385,8 @@ echo "<br/><br/>The statistics have moved here: <a href=\"registration_stats.php
|
||||
|
||||
send_footer();
|
||||
|
||||
/* Now some helper fucntions we call more than once */
|
||||
function list_query($conference_id, $wherestatus, $reg_id)
|
||||
/* Now some helper functions we call more than once */
|
||||
function list_query($year, $wherestatus, $reg_id)
|
||||
{
|
||||
global $auth_type;
|
||||
|
||||
@ -396,16 +402,19 @@ function list_query($conference_id, $wherestatus, $reg_id)
|
||||
$q=mysql_query("SELECT registrations.id AS reg_id,
|
||||
registrations.num AS reg_num,
|
||||
registrations.status,
|
||||
registrations.email,
|
||||
projects.title,
|
||||
projects.projectnumber,
|
||||
projects.projectcategories_id,
|
||||
projects.projectdivisions_id
|
||||
projects.projectdivisions_id,
|
||||
projects.feedback,
|
||||
projects.flagged
|
||||
FROM
|
||||
registrations
|
||||
left outer join projects on projects.registrations_id=registrations.id
|
||||
WHERE
|
||||
1
|
||||
AND registrations.conferences_id='$conference_id'
|
||||
AND registrations.year='$year'
|
||||
$wherestatus
|
||||
$reg $fair
|
||||
ORDER BY
|
||||
@ -419,7 +428,7 @@ function list_query($conference_id, $wherestatus, $reg_id)
|
||||
|
||||
function print_row($r)
|
||||
{
|
||||
global $cats, $divs, $config, $conference_id, $conference;
|
||||
global $cats, $divs, $config, $year;
|
||||
switch($r->status) {
|
||||
case "new": $status_text="New"; break;
|
||||
case "open": $status_text="Open"; break;
|
||||
@ -433,7 +442,7 @@ function print_row($r)
|
||||
$pcl = "style=\"cursor:pointer;\" onclick=\"popup_editor('{$r->reg_id}','project');\"";
|
||||
|
||||
echo "<td $scl>{$status_text}</td>";
|
||||
// echo "<td $scl>{$r->email}</td>";
|
||||
echo "<td $scl>{$r->email}</td>";
|
||||
echo "<td $scl>{$r->reg_num}</td>";
|
||||
$pn = str_replace(' ', ' ', $r->projectnumber);
|
||||
echo "<td $scl>$pn</td>";
|
||||
@ -442,66 +451,57 @@ function print_row($r)
|
||||
echo "<td $scl>".i18n($cats[$r->projectcategories_id])."</td>";
|
||||
echo "<td $scl>".i18n($divs[$r->projectdivisions_id])."</td>";
|
||||
|
||||
echo "<td>";
|
||||
|
||||
$sq=mysql_query("SELECT users.firstname,
|
||||
users.lastname,
|
||||
users.id,
|
||||
$sq=mysql_query("SELECT students.firstname,
|
||||
students.lastname,
|
||||
students.id,
|
||||
schools.school,
|
||||
schools.board,
|
||||
schools.id AS schools_id,
|
||||
accounts.username,
|
||||
accounts.email,
|
||||
accounts.pendingemail
|
||||
schools.id AS schools_id
|
||||
FROM
|
||||
users
|
||||
JOIN accounts ON users.accounts_id=accounts.id
|
||||
LEFT JOIN schools ON users.schools_id=schools.id
|
||||
students,schools
|
||||
WHERE
|
||||
users.registrations_id='$r->reg_id'
|
||||
students.registrations_id='$r->reg_id'
|
||||
AND
|
||||
students.schools_id=schools.id
|
||||
");
|
||||
echo mysql_error();
|
||||
|
||||
$studnum=1;
|
||||
$schools="";
|
||||
$students="";
|
||||
$scl = "style=\"cursor:pointer;\" onclick=\"popup_editor('{$r->reg_id}','');\"";
|
||||
//if theres more than 1, we should show some headings between the tables
|
||||
if(mysql_num_rows($sq)>1) $showheadings=true;
|
||||
|
||||
while($studentinfo=mysql_fetch_object($sq)) {
|
||||
if($studentinfo->email) $e=$studentinfo->email;
|
||||
else if($studentinfo->pendingemail) $e=$studentinfo->pendingemail;
|
||||
else $e="";
|
||||
if($showheadings)
|
||||
echo "<b>Participant #$studnum</b><br />";
|
||||
|
||||
echo "<table style=\"cursor:pointer; border-collapse: collapse;\" onclick=\"popup_editor('{$r->reg_id}','');\">";
|
||||
echo "<tr><th>Name</th><td>$studentinfo->firstname $studentinfo->lastname</td></tr>\n";
|
||||
echo "<tr><th>Username</th><td>$studentinfo->username</td></tr>\n";
|
||||
if($e && $studentinfo->username!=$e) {
|
||||
echo "<tr><th>Email</th><td>$e</td></tr>\n";
|
||||
}
|
||||
echo "<tr><th>School</th><td>$studentinfo->school</td></tr>\n";
|
||||
echo "</table>\n";
|
||||
$studnum++;
|
||||
while($studentinfo=mysql_fetch_object($sq))
|
||||
{
|
||||
$students.="$studentinfo->firstname $studentinfo->lastname<br />";
|
||||
$schools.="$studentinfo->school <br />";
|
||||
}
|
||||
echo "</td>";
|
||||
|
||||
echo "<td $scl>$schools</td>";
|
||||
echo "<td $scl>$students</td>";
|
||||
|
||||
echo "<td align=\"center\" >";
|
||||
if($conference_id==$conference['id']) {
|
||||
if($r->flagged == false) {
|
||||
echo "<a title=\"".i18n("Not flagged")."\" href=\"#\" onClick=\"popup_editor('{$r->reg_id}','project');\" >";
|
||||
echo "<img src=\"".$config['SFIABDIRECTORY']."/images/16/ok.".$config['icon_extension']."\" border=0>";
|
||||
echo "</a>";
|
||||
}
|
||||
else {
|
||||
echo "<a title=\"".i18n("Flagged")."\" href=\"#\" onClick=\"popup_editor('{$r->reg_id}','project');\" >";
|
||||
echo "<img src=\"".$config['SFIABDIRECTORY']."/images/16/flagged.".$config['icon_extension']."\" border=0>";
|
||||
echo "</a>";
|
||||
}
|
||||
|
||||
echo "<td align=\"center\" >";
|
||||
if($year==$config['FAIRYEAR']) {
|
||||
echo "<a title=\"".i18n("Delete this registration")."\" href=\"#\" onClick=\"delete_registration({$r->reg_id});return false\" >";
|
||||
echo "<img src=\"".$config['SFIABDIRECTORY']."/images/16/button_cancel.".$config['icon_extension']."\" border=0>";
|
||||
echo "</a>";
|
||||
/*
|
||||
echo "<form target=\"_blank\" method=\"post\" action=\"../register_participants.php\">";
|
||||
echo "<input type=\"hidden\" name=\"action\" value=\"continue\">";
|
||||
echo "<input type=\"hidden\" name=\"email\" value=\"$r->email\">";
|
||||
echo "<input type=\"hidden\" name=\"regnum\" value=\"$r->reg_num\">";
|
||||
echo "<input type=\"submit\" value=\"".i18n("Login")."\">";
|
||||
echo "</form>";
|
||||
*/
|
||||
|
||||
echo "<form target=\"_blank\" method=\"post\" action=\"../register_participants.php\">";
|
||||
echo "<input type=\"hidden\" name=\"action\" value=\"continue\">";
|
||||
echo "<input type=\"hidden\" name=\"email\" value=\"$r->email\">";
|
||||
echo "<input type=\"hidden\" name=\"regnum\" value=\"$r->reg_num\">";
|
||||
echo "<input type=\"submit\" value=\"".i18n("Login")."\">";
|
||||
echo "</form>";
|
||||
|
||||
|
||||
}
|
||||
|
@ -20,14 +20,19 @@
|
||||
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
// This file was modified March of 2015 by Sebastian Ruan
|
||||
// Receive all button was added
|
||||
|
||||
?>
|
||||
<?
|
||||
require_once("../common.inc.php");
|
||||
require("../common.inc.php");
|
||||
include "../config/signaturepage_or_permissionform.php";
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
require_once("../register_participants.inc.php");
|
||||
user_auth_required('committee', 'admin');
|
||||
require("../register_participants.inc.php");
|
||||
|
||||
send_header("Input Received Signature Forms",
|
||||
send_header("Input Received $plural_participationform",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php',
|
||||
'Participant Registration' => 'admin/registration.php')
|
||||
@ -37,7 +42,7 @@
|
||||
$showformatbottom=true;
|
||||
if($_POST['action']=="received" && $_POST['registration_number'])
|
||||
{
|
||||
$q=mysql_query("SELECT * FROM registrations WHERE num='".$_POST['registration_number']."' AND conferences_id='".$conference['id']."'");
|
||||
$q=mysql_query("SELECT * FROM registrations WHERE num='".$_POST['registration_number']."' AND year='".$config['FAIRYEAR']."'");
|
||||
if(mysql_num_rows($q)==1)
|
||||
{
|
||||
$r=mysql_fetch_object($q);
|
||||
@ -45,13 +50,14 @@ $showformatbottom=true;
|
||||
$reg_num=$r->num;
|
||||
$reg_status=$r->status;
|
||||
|
||||
if($r->status=='new') {
|
||||
if($r->status=='new')
|
||||
{
|
||||
echo error(i18n("Invalid Registration Status (%1 is New). Cannot receive an empty form.",array($_POST['registration_number'])));
|
||||
}
|
||||
else
|
||||
{
|
||||
//make sure all of the statuses are correct
|
||||
$statusstudent=studentsStatus($reg_id);
|
||||
$statusstudent=studentStatus($reg_id);
|
||||
$statusemergencycontact=emergencycontactStatus($reg_id);
|
||||
$statusproject=projectStatus($reg_id);
|
||||
if($config['participant_mentor']=="yes")
|
||||
@ -77,10 +83,14 @@ $showformatbottom=true;
|
||||
projects,projectcategories,projectdivisions
|
||||
WHERE
|
||||
projects.registrations_id='$reg_id'
|
||||
AND projects.projectcategories_id=projectcategories.id
|
||||
AND projects.projectdivisions_id=projectdivisions.id
|
||||
AND projectcategories.conferences_id=projects.conferences_id
|
||||
AND projectdivisions.conferences_id=projects.conferences_id
|
||||
AND
|
||||
projects.projectcategories_id=projectcategories.id
|
||||
AND
|
||||
projects.projectdivisions_id=projectdivisions.id
|
||||
AND
|
||||
projectcategories.year=projects.year
|
||||
AND
|
||||
projectdivisions.year=projects.year
|
||||
");
|
||||
|
||||
echo mysql_Error();
|
||||
@ -99,15 +109,15 @@ echo mysql_Error();
|
||||
echo "<tr><td><b>".i18n("Project Title")."</b></td><td>$projectinfo->title</td></tr>";
|
||||
echo "<tr><td><b>".i18n("Category / Division")."</b></td><td>$projectinfo->category / $projectinfo->division</td></tr>";
|
||||
|
||||
$q=mysql_query("SELECT users.firstname,
|
||||
users.lastname,
|
||||
$q=mysql_query("SELECT students.firstname,
|
||||
students.lastname,
|
||||
schools.school
|
||||
FROM
|
||||
users,schools
|
||||
students,schools
|
||||
WHERE
|
||||
users.registrations_id='$reg_id'
|
||||
students.registrations_id='$reg_id'
|
||||
AND
|
||||
users.schools_id=schools.id
|
||||
students.schools_id=schools.id
|
||||
");
|
||||
|
||||
$studnum=1;
|
||||
@ -124,7 +134,8 @@ echo mysql_Error();
|
||||
echo "</table>\n";
|
||||
echo "<br />";
|
||||
|
||||
if($r->status!='complete') {
|
||||
if($r->status!='complete')
|
||||
{
|
||||
echo "<table style=\"margin-left: 30px;\">";
|
||||
echo "<tr><td colspan=\"3\">";
|
||||
echo i18n("Is this the correct form to register?");
|
||||
@ -138,7 +149,8 @@ echo mysql_Error();
|
||||
echo "<input type=submit value=\"".i18n("No, this is the wrong form")."\" style=\"width: 400px; height: 40px; margin: 10px;\"/>";
|
||||
echo "</form>";
|
||||
|
||||
if($config['regfee']>0) {
|
||||
if($config['regfee']>0)
|
||||
{
|
||||
|
||||
echo "<form method=\"post\" action=\"registration_receivedforms.php\">";
|
||||
echo "<input type=\"hidden\" name=\"registration_number\" value=\"$reg_num\" />";
|
||||
@ -152,7 +164,8 @@ echo mysql_Error();
|
||||
echo "<input type=submit value=\"".i18n("Yes, right form without registration fee")."\" style=\"width: 400px; height: 40px; margin: 10px;\"/>";
|
||||
echo "</form>";
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
echo "<form method=\"post\" action=\"registration_receivedforms.php\">";
|
||||
echo "<input type=\"hidden\" name=\"registration_number\" value=\"$reg_num\" />";
|
||||
echo "<input type=\"hidden\" name=\"action\" value=\"receivedyes\" />";
|
||||
@ -168,7 +181,8 @@ echo mysql_Error();
|
||||
echo "</table>";
|
||||
$showformatbottom=false;
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
echo i18n("This form has already been received. Registration is complete");
|
||||
echo "<br />";
|
||||
echo "<a href=\"registration_receivedforms.php?action=unregister®istration_number=$reg_num\">".i18n("Click here to unregister this project")."</a>";
|
||||
@ -178,16 +192,9 @@ echo mysql_Error();
|
||||
|
||||
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
echo error(i18n("All registration sections are not complete. Cannot register incomplete form"));
|
||||
$reg=getRegistration($reg_id);
|
||||
echo "<table class=\"tableview\">";
|
||||
echo "<b>Registration Number: {$reg['registration_number']}</b><br />\n";
|
||||
foreach($reg['status'] AS $k=>$v) {
|
||||
echo "<tr><th>$k</td><td>".outputStatus($v)."</td></tr>\n";
|
||||
}
|
||||
echo "</table>\n";
|
||||
echo "<br /><br />\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -206,11 +213,11 @@ echo mysql_Error();
|
||||
FROM projects, registrations
|
||||
WHERE projects.registrations_id = registrations.id
|
||||
AND num='$regnum'
|
||||
AND registrations.conferences_id='{$conference['id']}'");
|
||||
AND registrations.year='{$config['FAIRYEAR']}'");
|
||||
$checkNumResults=mysql_fetch_object($checkNumQuery);
|
||||
$projectnum=$checkNumResults->projectnumber;
|
||||
|
||||
$q=mysql_query("SELECT id FROM registrations WHERE num='$regnum' AND conferences_id='{$conference['id']}'");
|
||||
$q=mysql_query("SELECT id FROM registrations WHERE num='$regnum' AND year='{$config['FAIRYEAR']}'");
|
||||
$r=mysql_fetch_object($q);
|
||||
$reg_id = $r->id;
|
||||
|
||||
@ -219,7 +226,7 @@ echo mysql_Error();
|
||||
list($projectnumber,$ps,$pns,$pss) = generateProjectNumber($reg_id);
|
||||
mysql_query("UPDATE projects SET projectnumber='$projectnumber',
|
||||
projectsort='$ps',projectnumber_seq='$pns',projectsort_seq='$pss'
|
||||
WHERE registrations_id='$reg_id' AND conferences_id='{$conference['id']}'");
|
||||
WHERE registrations_id='$reg_id' AND year='{$config['FAIRYEAR']}'");
|
||||
echo happy(i18n("Assigned Project Number: %1",array($projectnumber)));
|
||||
}
|
||||
else
|
||||
@ -228,22 +235,24 @@ echo mysql_Error();
|
||||
//get all students with this registration number
|
||||
$recipients=getEmailRecipientsForRegistration($reg_id);
|
||||
|
||||
if($_POST['action']=="receivedyes") {
|
||||
if($_POST['action']=="receivedyes")
|
||||
{
|
||||
//actually set it to 'complete'
|
||||
mysql_query("UPDATE registrations SET status='complete' WHERE num='$regnum' AND conferences_id='{$conference['id']}'");
|
||||
mysql_query("UPDATE registrations SET status='complete' WHERE num='$regnum' AND year='{$config['FAIRYEAR']}'");
|
||||
|
||||
foreach($recipients AS $recip) {
|
||||
$to=$recip['to'];
|
||||
$subsub=array();
|
||||
$subbod=array(
|
||||
"TO"=>$recip['to'],
|
||||
"EMAIL"=>$recip['email'],
|
||||
"FIRSTNAME"=>$recip['firstname'],
|
||||
"LASTNAME"=>$recip['lastname'],
|
||||
"USERNAME"=>$recip['username'],
|
||||
"NAME"=>$recip['firstname']." ".$recip['lastname'],
|
||||
"REGNUM"=>$regnum,
|
||||
"PROJECTNUMBER"=>$projectnumber,
|
||||
);
|
||||
$res=email_send("register_participants_received",$recip['email'],$subsub,$subbod);
|
||||
email_send("register_participants_received",$to,$subsub,$subbod);
|
||||
}
|
||||
|
||||
echo happy(i18n("Registration of form %1 successfully completed",array($regnum)));
|
||||
@ -251,43 +260,47 @@ echo mysql_Error();
|
||||
else if($_POST['action']=="receivedyesnocash")
|
||||
{
|
||||
//actually set it to 'paymentpending'
|
||||
mysql_query("UPDATE registrations SET status='paymentpending' WHERE num='$regnum' AND conferences_id='{$conference['id']}'");
|
||||
mysql_query("UPDATE registrations SET status='paymentpending' WHERE num='$regnum' AND year='{$config['FAIRYEAR']}'");
|
||||
|
||||
foreach($recipients AS $recip) {
|
||||
$to=$recip['to'];
|
||||
$subsub=array();
|
||||
$subbod=array(
|
||||
"TO"=>$recip['to'],
|
||||
"EMAIL"=>$recip['email'],
|
||||
"FIRSTNAME"=>$recip['firstname'],
|
||||
"LASTNAME"=>$recip['lastname'],
|
||||
"USERNAME"=>$recip['username'],
|
||||
"NAME"=>$recip['firstname']." ".$recip['lastname'],
|
||||
"REGNUM"=>$regnum,
|
||||
"PROJECTNUMBER"=>$projectnumber,
|
||||
);
|
||||
|
||||
email_send("register_participants_paymentpending",$recip['email'],$subsub,$subbod);
|
||||
email_send("register_participants_paymentpending",$to,$subsub,$subbod);
|
||||
}
|
||||
echo happy(i18n("Registration of form %1 marked as payment pending",array($regnum)));
|
||||
}
|
||||
}
|
||||
else if($_POST['action']=="receivedno" && $_POST['registration_number']) {
|
||||
else if($_POST['action']=="receivedno" && $_POST['registration_number'])
|
||||
{
|
||||
echo notice(i18n("Registration of form %1 cancelled",array($_POST['registration_number'])));
|
||||
|
||||
}
|
||||
else if($_GET['action']=="unregister" && $_GET['registration_number']) {
|
||||
$reg_num=intval(trim($_GET['registration_number']));
|
||||
$q=mysql_query("SELECT registrations.id AS reg_id, projects.id AS proj_id FROM projects,registrations WHERE projects.registrations_id=registrations.id AND registrations.conferences_id='{$conference['id']}' AND registrations.num='$reg_num'");
|
||||
$q=mysql_query("SELECT registrations.id AS reg_id, projects.id AS proj_id FROM projects,registrations WHERE projects.registrations_id=registrations.id AND registrations.year='{$config['FAIRYEAR']}' AND registrations.num='$reg_num'");
|
||||
$r=mysql_fetch_object($q);
|
||||
mysql_query("UPDATE projects SET projectnumber=null, projectsort=null, projectnumber_seq=0, projectsort_seq=0 WHERE id='$r->proj_id' AND conferences_id='{$conference['id']}'");
|
||||
mysql_query("UPDATE registrations SET status='open' WHERE id='$r->reg_id' AND conferences_id='{$conference['id']}'");
|
||||
mysql_query("UPDATE projects SET projectnumber=null, projectsort=null, projectnumber_seq=0, projectsort_seq=0 WHERE id='$r->proj_id' AND year='{$config['FAIRYEAR']}'");
|
||||
mysql_query("UPDATE registrations SET status='open' WHERE id='$r->reg_id' AND year='{$config['FAIRYEAR']}'");
|
||||
echo happy(i18n("Successfully unregistered project"));
|
||||
}
|
||||
|
||||
|
||||
if($showformatbottom) {
|
||||
if($showformatbottom)
|
||||
{echo "<table>";
|
||||
echo "<tr><td>";
|
||||
echo "<form id=\"inputform\" method=\"post\" action=\"registration_receivedforms.php\">";
|
||||
echo "<input type=\"hidden\" name=\"action\" value=\"received\" />";
|
||||
echo i18n("Enter the registration number from the signature form: ")."<br />";
|
||||
echo i18n("Enter the registration number from the $signatureformpermissionform : ")."<br />";
|
||||
echo "<input id=\"registration_number\" type=\"text\" size=\"15\" name=\"registration_number\" />";
|
||||
echo "<input type=\"submit\" value=\"".i18n("Lookup Registration Number")."\" />";
|
||||
echo "</form>";
|
||||
@ -296,7 +309,154 @@ echo mysql_Error();
|
||||
document.forms.inputform.registration_number.focus();
|
||||
</script>
|
||||
<?
|
||||
|
||||
echo "<br/><br/>";
|
||||
echo "</td></tr><tr><td>";
|
||||
echo "<font size=\"2\" color=\"red\">This button does not keep track of payments</font>";
|
||||
echo "</td></tr><tr><td>";
|
||||
echo "<form method=\"post\" action=\"registration_receivedforms.php\">";
|
||||
echo "<input type=\"hidden\" name=\"action\" value=\"recieve_all\" />";
|
||||
echo "<input type=\"submit\" value=\"".i18n("Receive All")."\" onclick=\"return confirmClick('Are you sure you wish to mark all students as has having their $signatureformpermissionform received?')\" />";
|
||||
echo "</form>";
|
||||
echo "</tr></td>";
|
||||
echo "</table>";
|
||||
echo "<br>";
|
||||
echo i18n(" <lh>'Receive All' notes:</lh> <ul><li>The button will mark all open-status students that have completed registration as having their $signatureformpermissionform received.
|
||||
<li> Students with above status will be emailed a \"$signatureformpermissionform received\" confirmation.
|
||||
<li> Project numbers will be assigned to these students' projects.
|
||||
</ul>");
|
||||
}
|
||||
|
||||
send_footer();
|
||||
?>
|
||||
|
||||
if ($_POST['action'] == 'recieve_all')
|
||||
{
|
||||
// Grab all projects that don't have project numbers. Status should therefor be open or new but not complete
|
||||
$query_noprojectnumber = mysql_query("SELECT * FROM projects WHERE projectnumber IS NULL AND year =".$config['FAIRYEAR']."");
|
||||
// Define arrays to append to later
|
||||
$completed_students = array();
|
||||
$incomplete_students = array();
|
||||
$newstatus_students = array();
|
||||
|
||||
// loop through each project that doesn't have a project number
|
||||
while($studentproject=mysql_fetch_assoc($query_noprojectnumber))
|
||||
{
|
||||
// Grab registration information about the current project
|
||||
$q=mysql_query("SELECT * FROM registrations WHERE id='".$studentproject['registrations_id']."' AND year='".$config['FAIRYEAR']."'");
|
||||
|
||||
$r=mysql_fetch_object($q);
|
||||
$reg_id=$r->id;
|
||||
$reg_num=$r->num;
|
||||
$reg_status=$r->status;
|
||||
|
||||
// student has completed some or all of the registration process for their project. Let's find out which one is true
|
||||
if ($r->status!='new')
|
||||
{
|
||||
//make sure all of the statuses are correct
|
||||
$statusstudent=studentStatus($reg_id);
|
||||
$statusemergencycontact=emergencycontactStatus($reg_id);
|
||||
$statusproject=projectStatus($reg_id);
|
||||
if($config['participant_mentor']=="yes")
|
||||
$statusmentor=mentorStatus($reg_id);
|
||||
else
|
||||
$statusmentor="complete";
|
||||
$statussafety=safetyStatus($reg_id);
|
||||
$statusnamecheck=namecheckStatus($reg_id);
|
||||
|
||||
if(
|
||||
$statusstudent == "complete" &&
|
||||
$statusemergencycontact == "complete" &&
|
||||
//S$statusproject == "complete" &&
|
||||
$statusmentor == "complete" &&
|
||||
$statussafety == "complete" &&
|
||||
$statusnamecheck == "complete" &&
|
||||
$r->status!='complete'
|
||||
//above: project status must not be complete. If it is complete signature page/permission form has already been received.
|
||||
) {
|
||||
|
||||
// Generate project number and update it in data base
|
||||
list($projectnumber,$ps,$pns,$pss) = generateProjectNumber($reg_id);
|
||||
mysql_query("UPDATE projects SET projectnumber='$projectnumber',
|
||||
projectsort='$ps',projectnumber_seq='$pns',projectsort_seq='$pss'
|
||||
WHERE registrations_id='$reg_id' AND year='{$config['FAIRYEAR']}'");
|
||||
|
||||
//email stuff
|
||||
//get all students with this registration number
|
||||
//$recipients=getEmailRecipientsForRegistration($reg_id);
|
||||
|
||||
//Set status to 'complete'
|
||||
mysql_query("UPDATE registrations SET status='complete' WHERE num='$reg_num' AND year='{$config['FAIRYEAR']}'");
|
||||
|
||||
/*foreach($recipients AS $recip) {
|
||||
$to=$recip['to'];
|
||||
$subsub=array();
|
||||
$subbod=array(
|
||||
"TO"=>$recip['to'],
|
||||
"EMAIL"=>$recip['email'],
|
||||
"FIRSTNAME"=>$recip['firstname'],
|
||||
"LASTNAME"=>$recip['lastname'],
|
||||
"NAME"=>$recip['firstname']." ".$recip['lastname'],
|
||||
"REGNUM"=>$regnum,
|
||||
"PROJECTNUMBER"=>$projectnumber,
|
||||
);
|
||||
email_send("register_participants_received",$to,$subsub,$subbod);
|
||||
}*/
|
||||
|
||||
// End email stuff
|
||||
//add cuurent registration number to completed_students array
|
||||
$completed_students[] = $reg_num;
|
||||
|
||||
}else{
|
||||
// or add current registration number to incomplete_student array
|
||||
$incomplete_students[] = $reg_num;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
//New status automatically means student has not completed the registration process for their project. So execute below:
|
||||
else{
|
||||
// or add current registration number to newstatus_students array
|
||||
$newstatus_students[] = $reg_num;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
// Find how many project numbers were assigned/how many projects have complete status (ie signature page/permission form is considered received)
|
||||
$total_completed = count($completed_students);
|
||||
|
||||
// since incomplete_students and newstatus_students both did not get project numbers and are not considered as having signature page/permission form received
|
||||
// combine them
|
||||
$total_incomplete = array_merge($incomplete_students, $newstatus_students);
|
||||
|
||||
echo "<br><br>";
|
||||
echo "<table>";
|
||||
echo "<tr><td>".i18n("$total_completed student(s) registered as $non_capital_participationform received.")."</td></tr>";
|
||||
|
||||
//display below only if there are registration numbers that don't have project numbers and the students have not completed the registration process
|
||||
if (count($total_incomplete) > 0) {
|
||||
echo "<tr><td>".i18n("Registration numbers which are NOT marked as having their $non_capital_participationform received are shown below:")."</td></tr>";
|
||||
echo "<tr><td> </td></tr>";
|
||||
$string = "";
|
||||
echo "<tr><td>";
|
||||
|
||||
//create a string that contains all incomplete registration numbers
|
||||
foreach ($total_incomplete as $regnum){
|
||||
$string = $string.i18n($regnum);
|
||||
$string = $string.", ";
|
||||
}
|
||||
|
||||
// delete the comma at the end of the string
|
||||
$string = substr($string, 0, strlen($string)-2);
|
||||
echo $string;
|
||||
echo "</td></tr>";
|
||||
echo "<tr><td> </td></tr>";
|
||||
echo "<tr><td>";
|
||||
echo i18n("The above registration numbers correspond to projects in which the registration process has not been completed by the student.");
|
||||
echo "</td></tr>";
|
||||
}
|
||||
echo "</table>";
|
||||
echo happy_(i18n("Received all permision forms for complete students"));
|
||||
}
|
||||
|
||||
send_footer();
|
||||
|
||||
?>
|
@ -22,13 +22,13 @@
|
||||
*/
|
||||
?>
|
||||
<?
|
||||
require_once("../common.inc.php");
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
require_once("../register_participants.inc.php");
|
||||
user_auth_required('committee', 'admin');
|
||||
require("../register_participants.inc.php");
|
||||
|
||||
if($_GET['conferences_id']) $conferences_id=$_GET['conferences_id'];
|
||||
else $conferences_id=$conference['id'];
|
||||
if($_GET['year']) $year=$_GET['year'];
|
||||
else $year=$config['FAIRYEAR'];
|
||||
|
||||
send_header("Registration Statistics",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
@ -61,11 +61,11 @@
|
||||
echo "</select>";
|
||||
echo "</form>";
|
||||
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE conferences_id='$conferences_id' ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE year='$year' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q))
|
||||
$cats[$r->id]=$r->category;
|
||||
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE conferences_id='$conferences_id' ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE year='$year' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q))
|
||||
$divs[$r->id]=$r->division;
|
||||
|
||||
@ -104,7 +104,7 @@ else $wherestatus="";
|
||||
left outer join projects on projects.registrations_id=registrations.id
|
||||
WHERE
|
||||
1
|
||||
AND registrations.conferences_id='$conferences_id'
|
||||
AND registrations.year='$year'
|
||||
$wherestatus
|
||||
ORDER BY
|
||||
$ORDERBY
|
||||
@ -142,18 +142,18 @@ else $wherestatus="";
|
||||
$status_text=i18n($status_text);
|
||||
|
||||
|
||||
$sq=mysql_query("SELECT users.firstname,
|
||||
users.lastname,
|
||||
users.id,
|
||||
$sq=mysql_query("SELECT students.firstname,
|
||||
students.lastname,
|
||||
students.id,
|
||||
schools.school,
|
||||
schools.board,
|
||||
schools.id AS schools_id
|
||||
FROM
|
||||
users,schools
|
||||
students,schools
|
||||
WHERE
|
||||
users.registrations_id='$r->reg_id'
|
||||
students.registrations_id='$r->reg_id'
|
||||
AND
|
||||
users.schools_id=schools.id
|
||||
students.schools_id=schools.id
|
||||
");
|
||||
echo mysql_error();
|
||||
|
||||
@ -183,7 +183,6 @@ else $wherestatus="";
|
||||
}
|
||||
echo "<th>".i18n("Total")."<br /><nobr>".i18n("Stud | Proj")."</th>";
|
||||
echo "</tr></thead>";
|
||||
echo "<tbody>";
|
||||
foreach($divs AS $d=>$dn) {
|
||||
echo "<tr><td>$dn</td>";
|
||||
$tstud=0;
|
||||
@ -226,7 +225,7 @@ else $wherestatus="";
|
||||
echo ($tproj);
|
||||
echo "</b></td>";
|
||||
echo "</tr>";
|
||||
echo "</tbody>";
|
||||
|
||||
echo "</table>";
|
||||
echo "</td></tr>";
|
||||
|
||||
@ -240,10 +239,10 @@ else $wherestatus="";
|
||||
}
|
||||
echo "<th>".i18n("Total")."<br /><nobr>".i18n("Stud | Proj")."</nobr></th>";
|
||||
echo "</tr></thead>";
|
||||
echo "<tbody>";
|
||||
|
||||
asort($schools_names);
|
||||
foreach($schools_names AS $id=>$sn) {
|
||||
foreach($schools_names AS $id=>$sn)
|
||||
{
|
||||
echo "<tr><td>$sn</td>";
|
||||
$tstud=0;
|
||||
$tproj=0;
|
||||
@ -259,7 +258,6 @@ else $wherestatus="";
|
||||
echo ($tproj?$tproj:0)."</b></td>";
|
||||
echo "</tr>";
|
||||
}
|
||||
echo "</tbody>";
|
||||
echo "</table>";
|
||||
echo i18n("%1 schools total",array(count($schools_names)));
|
||||
|
||||
@ -268,7 +266,7 @@ else $wherestatus="";
|
||||
echo "<tr><td colspan=\"2\"><h3>{$status_str[$showstatus]} - ".i18n("Projects per age category / division / language")."</h3></td></tr>";
|
||||
echo "<tr><td colspan=\"2\">";
|
||||
echo "<table class=\"tableview\" width=\"100%\">";
|
||||
echo "<thead><tr><th rowspan='2' width=\"50%\"></th>";
|
||||
echo "<thead><tr><td rowspan='2' width=\"50%\"></td>";
|
||||
foreach($cats AS $c=>$cn) {
|
||||
echo "<th colspan='".count($languages)."'>$cn</th>";
|
||||
}
|
||||
@ -285,11 +283,11 @@ else $wherestatus="";
|
||||
echo "<th>$l</th>";
|
||||
}
|
||||
echo "</tr></thead>";
|
||||
echo "<tbody>";
|
||||
foreach($divs AS $d=>$dn) {
|
||||
echo "<tr><td>$dn</td>";
|
||||
$tproj=array();
|
||||
foreach($cats AS $c=>$cn) {
|
||||
foreach($cats AS $c=>$cn)
|
||||
{
|
||||
foreach($languages AS $l=>$ln) {
|
||||
echo "<td align=\"center\">";
|
||||
echo ($stats_projects_lang[$c][$d][$l]?$stats_projects_lang[$c][$d][$l]:0);
|
||||
@ -323,7 +321,7 @@ else $wherestatus="";
|
||||
}
|
||||
echo "</tr>";
|
||||
|
||||
echo "</tbody>";
|
||||
|
||||
echo "</table>";
|
||||
|
||||
echo "</td></tr>";
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
send_header("Web Consent",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
@ -34,15 +34,18 @@
|
||||
|
||||
echo "<br />";
|
||||
|
||||
if(is_array($_POST['changed'])) {
|
||||
if(is_array($_POST['changed']))
|
||||
{
|
||||
$numchanged=0;
|
||||
foreach($_POST['changed'] AS $id=>$val) {
|
||||
if($val==1) {
|
||||
foreach($_POST['changed'] AS $id=>$val)
|
||||
{
|
||||
if($val==1)
|
||||
{
|
||||
$numchanged++;
|
||||
$webfirst=$_POST['webfirst'][$id]=="yes"?"yes":"no";
|
||||
$weblast=$_POST['weblast'][$id]=="yes"?"yes":"no";
|
||||
$webphoto=$_POST['webphoto'][$id]=="yes"?"yes":"no";
|
||||
mysql_query("UPDATE users SET
|
||||
mysql_query("UPDATE students SET
|
||||
webfirst='$webfirst',
|
||||
weblast='$weblast',
|
||||
webphoto='$webphoto'
|
||||
@ -68,24 +71,24 @@
|
||||
|
||||
<?
|
||||
|
||||
$sq=mysql_query("SELECT users.firstname,
|
||||
users.lastname,
|
||||
users.id,
|
||||
$sq=mysql_query("SELECT students.firstname,
|
||||
students.lastname,
|
||||
students.id,
|
||||
projects.projectnumber,
|
||||
users.webfirst,
|
||||
users.weblast,
|
||||
users.webphoto
|
||||
students.webfirst,
|
||||
students.weblast,
|
||||
students.webphoto
|
||||
FROM
|
||||
users,
|
||||
students,
|
||||
registrations,
|
||||
projects
|
||||
WHERE
|
||||
users.registrations_id=registrations.id
|
||||
students.registrations_id=registrations.id
|
||||
AND ( registrations.status = 'complete' OR registrations.status='paymentpending' )
|
||||
AND projects.registrations_id=registrations.id
|
||||
AND registrations.conferences_id='".$conference['id']."'
|
||||
AND projects.conferences_id='".$conference['id']."'
|
||||
AND users.conferences_id='".$conference['id']."'
|
||||
AND registrations.year='".$config['FAIRYEAR']."'
|
||||
AND projects.year='".$config['FAIRYEAR']."'
|
||||
AND students.year='".$config['FAIRYEAR']."'
|
||||
ORDER BY projectnumber
|
||||
");
|
||||
echo mysql_error();
|
||||
@ -99,7 +102,6 @@
|
||||
echo " <th>".i18n("Last")."</th>";
|
||||
echo " <th>".i18n("Photo")."</th>";
|
||||
echo "</tr></thead>";
|
||||
echo "<tbody>";
|
||||
while($r=mysql_fetch_object($sq))
|
||||
{
|
||||
echo "<tr>";
|
||||
@ -113,7 +115,6 @@
|
||||
echo "<td><input $ch type=\"checkbox\" name=\"webphoto[$r->id]\" value=\"yes\" onchange=\"changed($r->id)\"></td>";
|
||||
echo "</tr>";
|
||||
}
|
||||
echo "</tbody>";
|
||||
echo "</table>";
|
||||
echo "<input type=\"submit\" value=\"".i18n("Save Changes")."\">";
|
||||
echo "</form>";
|
||||
|
@ -21,11 +21,14 @@
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
require_once("reports_students.inc.php"); /* $report_students_fields */
|
||||
require_once("reports_judges.inc.php"); /* $report_students_fields */
|
||||
require_once("reports_awards.inc.php"); /* $report_students_fields */
|
||||
require_once("reports_committees.inc.php"); /* $report_students_fields */
|
||||
require_once("reports_volunteers.inc.php"); /* $report_volunteers_fields */
|
||||
// This file was modified Jan of 2014 by Richard Sin
|
||||
// A glitch that prints out both english and french columns has been modified.
|
||||
|
||||
require_once("reports_students.inc.php"); /* $report_students_fields */
|
||||
require_once("reports_judges.inc.php"); /* $report_students_fields */
|
||||
require_once("reports_awards.inc.php"); /* $report_students_fields */
|
||||
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("reports_fairs.inc.php");
|
||||
@ -49,7 +52,7 @@
|
||||
|
||||
$report_options = array();
|
||||
$report_options['type'] = array('desc' => 'Report Format',
|
||||
'values' => array('pdf' => 'PDF', 'label'=>'Label', 'csv'=>'CSV (for Excel)', 'text'=>'Coming Soon: Text (Plain text in columns)', 'html'=>'Coming Soon: HTML (Browser Renderable)' )
|
||||
'values' => array('pdf'=>'PDF', 'csv'=>'CSV', 'label'=>'Label', 'tcpdf_label'=>'TCPDF Label (experimental)')
|
||||
);
|
||||
$report_options['group_new_page'] = array('desc' => 'Start each new grouping on a new page',
|
||||
'values' => array('no'=>'No', 'yes'=>'Yes')
|
||||
@ -66,6 +69,12 @@
|
||||
$report_options['field_box'] = array('desc' => 'Draw a box around each text field on the label',
|
||||
'values' => array('no'=>'No', 'yes'=>'Yes')
|
||||
);
|
||||
$report_options['label_fairname'] = array('desc' => 'Print the fair name at the top of each label',
|
||||
'values' => array('no'=>'No', 'yes'=>'Yes')
|
||||
);
|
||||
$report_options['label_logo'] = array('desc' => 'Print the fair logo at the top of each label',
|
||||
'values' => array('no'=>'No', 'yes'=>'Yes')
|
||||
);
|
||||
$report_options['default_font_size'] = array('desc' => 'Default font size to use in the report',
|
||||
'values' => array(
|
||||
'10'=>'10',
|
||||
@ -90,138 +99,175 @@ LRP 180 99765 5967 4 1 3/4 x 1/2 80 */
|
||||
|
||||
|
||||
/* FIXME: put these in a databse */
|
||||
/* All dimensions are in millimeters */
|
||||
$report_stock = array();
|
||||
|
||||
$report_stock['fullpage'] = array('name' => 'Letter 8.5 x 11 (3/4" margin)',
|
||||
'page_width' => 8.5,
|
||||
'page_height' => 11,
|
||||
'label_width' => 7,
|
||||
'x_spacing' => 0,
|
||||
'cols' => 1,
|
||||
'label_height' => 9.5,
|
||||
'y_spacing' => 0,
|
||||
'rows' => 1,
|
||||
'page_format' => 'LETTER',
|
||||
'page_orientation' => 'P',
|
||||
'label_width' => 177.8,
|
||||
'label_height' => 241.3,
|
||||
'x_spacing' => 0,
|
||||
'y_spacing' => 0,
|
||||
'cols' => 1,
|
||||
'rows' => 1,
|
||||
);
|
||||
|
||||
$report_stock['fullpage_landscape'] = array('name' => 'Letter 8.5 x 11 Landscape (3/4" margin)',
|
||||
'page_width' => 11,
|
||||
'page_height' => 8.5,
|
||||
'label_width' => 9.5,
|
||||
'x_spacing' => 0,
|
||||
'cols' => 1,
|
||||
'label_height' => 7,
|
||||
'y_spacing' => 0,
|
||||
'rows' => 1,
|
||||
'page_format' => 'LETTER',
|
||||
'page_orientation' => 'L',
|
||||
'label_width' => 241.3,
|
||||
'label_height' => 177.8,
|
||||
'x_spacing' => 0,
|
||||
'y_spacing' => 0,
|
||||
'cols' => 1,
|
||||
'rows' => 1,
|
||||
);
|
||||
|
||||
$report_stock['fullpage_full'] = array('name' => 'Letter 8.5 x 11 (no margin)',
|
||||
'page_width' => 8.5,
|
||||
'page_height' => 11,
|
||||
'label_width' => 8.5,
|
||||
'x_spacing' => 0,
|
||||
'cols' => 1,
|
||||
'label_height' => 11,
|
||||
'y_spacing' => 0,
|
||||
'rows' => 1,
|
||||
'page_format' => 'LETTER',
|
||||
'page_orientation' => 'P',
|
||||
'label_width' => 215.9,
|
||||
'label_height' => 279.4,
|
||||
'x_spacing' => 0,
|
||||
'y_spacing' => 0,
|
||||
'cols' => 1,
|
||||
'rows' => 1,
|
||||
);
|
||||
|
||||
$report_stock['fullpage_landscape_full'] = array('name' => 'Letter 8.5 x 11 Landscape (no margin)',
|
||||
'page_width' => 11,
|
||||
'page_height' => 8.5,
|
||||
'label_width' => 11,
|
||||
'x_spacing' => 0,
|
||||
'cols' => 1,
|
||||
'label_height' => 8.5,
|
||||
'y_spacing' => 0,
|
||||
'rows' => 1,
|
||||
'page_format' => 'LETTER',
|
||||
'page_orientation' => 'L',
|
||||
'label_width' => 279.4,
|
||||
'label_height' => 215.9,
|
||||
'x_spacing' => 0,
|
||||
'y_spacing' => 0,
|
||||
'cols' => 1,
|
||||
'rows' => 1,
|
||||
);
|
||||
|
||||
$report_stock['5161'] = array('name' => 'Avery 5161/5261/5961/8161, G&T 99189 (1"x4")',
|
||||
'page_width' => 8.5,
|
||||
'page_height' => 11,
|
||||
'label_width' => 4,
|
||||
'x_spacing' => 0.15,
|
||||
'cols' => 2,
|
||||
'label_height' => 1,
|
||||
'y_spacing' => 0.00,
|
||||
'y_padding' => 0.05,
|
||||
'rows' => 10,
|
||||
'page_format' => 'LETTER',
|
||||
'page_orientation' => 'P',
|
||||
'label_width' => 101.6,
|
||||
'label_height' => 25.4,
|
||||
'x_spacing' => 3.81,
|
||||
'y_spacing' => 0.00,
|
||||
'cols' => 2,
|
||||
'rows' => 10,
|
||||
);
|
||||
|
||||
$report_stock['5162'] = array('name' => 'Avery 5162/5262/5962/8162/8462, G&T 99190 (1 1/3"x4")',
|
||||
'page_width' => 8.5,
|
||||
'page_height' => 11,
|
||||
'label_width' => 3.99,
|
||||
'x_spacing' => 0.187,
|
||||
'cols' => 2,
|
||||
'label_height' => 1.326,
|
||||
'y_spacing' => 0.00,
|
||||
'y_padding' => 0.30,
|
||||
'rows' => 7,
|
||||
'page_format' => 'LETTER',
|
||||
'page_orientation' => 'P',
|
||||
'label_width' => 101.35,
|
||||
'label_height' => 33.6804,
|
||||
'x_spacing' => 4.7498,
|
||||
'y_spacing' => 0.00,
|
||||
'cols' => 2,
|
||||
'rows' => 7,
|
||||
);
|
||||
$report_stock['5163'] = array('name' => 'Avery 5163/5263/5963/8163/8463, G&T 99181 (2"x4")',
|
||||
'page_width' => 8.5,
|
||||
'page_height' => 11,
|
||||
'label_width' => 4,
|
||||
'x_spacing' => 0.1719,
|
||||
'cols' => 2,
|
||||
'label_height' => 2,
|
||||
'y_spacing' => 0.00,
|
||||
'rows' => 5,
|
||||
'page_format' => 'LETTER',
|
||||
'page_orientation' => 'P',
|
||||
'label_width' => 101.6,
|
||||
'label_height' => 50.8,
|
||||
'x_spacing' => 4.3663,
|
||||
'y_spacing' => 0.00,
|
||||
'cols' => 2,
|
||||
'rows' => 5,
|
||||
);
|
||||
|
||||
/* This is combined with 5161
|
||||
$report_stock['5961'] = array('name' => 'Avery 5961, G&T 99189 (1"x4")',
|
||||
'page_width' => 8.5,
|
||||
'page_height' => 11,
|
||||
'label_width' => 4,
|
||||
'x_spacing' => 0.08,
|
||||
'cols' => 2,
|
||||
'label_height' => 1,
|
||||
'y_spacing' => 0.08,
|
||||
'rows' => 10,
|
||||
);
|
||||
*/
|
||||
|
||||
$report_stock['5164'] = array('name' => 'Avery 5164/5264/5964/8164, G&T 99763 (4"x3 1/3")',
|
||||
'page_width' => 8.5,
|
||||
'page_height' => 11,
|
||||
'label_width' => 4,
|
||||
'x_spacing' => 3/16,
|
||||
'cols' => 2,
|
||||
'label_height' => 3 + 1/3,
|
||||
'y_spacing' => 0,
|
||||
'rows' => 3,
|
||||
'page_format' => 'LETTER', /* tcpdf format */
|
||||
'page_orientation' => 'P', /* tcpdf orientation */
|
||||
'label_width' => 101.6,
|
||||
'label_height' => 84.6667,
|
||||
'x_spacing' => 4.7625,
|
||||
'y_spacing' => 0,
|
||||
'cols' => 2,
|
||||
'rows' => 3,
|
||||
|
||||
);
|
||||
$report_stock['nametag'] = array('name' => 'Cards 4"x3"',
|
||||
'page_width' => 8.5,
|
||||
'page_height' => 11,
|
||||
'label_width' => 4,
|
||||
'x_spacing' => 0,
|
||||
'cols' => 2,
|
||||
'label_height' => 3,
|
||||
'y_spacing' => 0,
|
||||
'rows' => 3,
|
||||
'page_format' => 'LETTER',
|
||||
'page_orientation' => 'P',
|
||||
'label_width' => 101.6,
|
||||
'label_height' => 76.2,
|
||||
'x_spacing' => 0,
|
||||
'y_spacing' => 0,
|
||||
'cols' => 2,
|
||||
'rows' => 3,
|
||||
);
|
||||
|
||||
$report_stock['letter_4up'] = array('name' => 'Fullpage, 4up',
|
||||
'page_width' => 8.5,
|
||||
'page_height' => 11,
|
||||
'label_width' => 4,
|
||||
'x_spacing' => 0.25,
|
||||
'cols' => 2,
|
||||
'label_height' => 5,
|
||||
'y_spacing' => 0.25,
|
||||
'rows' => 2,
|
||||
'page_format' => 'LETTER',
|
||||
'page_orientation' => 'P',
|
||||
'label_width' => 101.6,
|
||||
'label_height' => 127.0,
|
||||
'x_spacing' => 0.25,
|
||||
'y_spacing' => 0.25,
|
||||
'cols' => 2,
|
||||
'rows' => 2,
|
||||
);
|
||||
|
||||
$report_stock['ledger'] = array('name' => 'Ledger/Tabloid 11 x 17',
|
||||
'page_format' => 'TABLOID',
|
||||
'page_orientation' => 'P',
|
||||
'label_width' => 279.4,
|
||||
'label_height' => 431.8,
|
||||
'page_width' => 11,
|
||||
'page_height' => 17,
|
||||
'label_width' => 11,
|
||||
'x_spacing' => 0,
|
||||
'y_spacing' => 0,
|
||||
'cols' => 1,
|
||||
'label_height' => 17,
|
||||
'y_spacing' => 0,
|
||||
'rows' => 1,
|
||||
'page_format' => 'LETTER',
|
||||
'page_orientation' => 'P',
|
||||
);
|
||||
|
||||
$report_stock['ledger_landscape'] = array('name' => 'Ledger/Tabloid 11 x 17 Landscape',
|
||||
'page_format' => 'TABLOID',
|
||||
'page_orientation' => 'L',
|
||||
'label_width' => 431.8,
|
||||
'label_height' => 279.4,
|
||||
'page_width' => 17,
|
||||
'page_height' => 11,
|
||||
'label_width' => 17,
|
||||
'x_spacing' => 0,
|
||||
'y_spacing' => 0,
|
||||
'cols' => 1,
|
||||
'label_height' => 11,
|
||||
'y_spacing' => 0,
|
||||
'rows' => 1,
|
||||
'page_format' => 'LETTER',
|
||||
'page_orientation' => 'P',
|
||||
);
|
||||
|
||||
|
||||
@ -310,13 +356,16 @@ foreach($report_stock as $n=>$v) {
|
||||
$x = 0;
|
||||
foreach($report[$type] as $k=>$v) {
|
||||
if($type == 'option') {
|
||||
/* field, value, x, y, w, h, align, valign, fn, fs, fsize, overflow */
|
||||
$vals = "'$k','$v','0','0','0','0','','','','','0','truncate'";
|
||||
/* field, value, x, y, w, h, lines, face, align, valign, fn, fs, fsize, overflow */
|
||||
$vals = "'".mysql_real_escape_string($k)."','".mysql_real_escape_string($v)."','0','0','0','0','0','','','','','','0','truncate'";
|
||||
} else {
|
||||
if($v['lines'] == 0) $v['lines'] =1;
|
||||
$fs = is_array($v['fontstyle']) ? implode(',',$v['fontstyle']) : '';
|
||||
$vals = "'{$v['field']}','{$v['value']}',
|
||||
'{$v['x']}','{$v['y']}','{$v['w']}','{$v['h']}',
|
||||
'{$v['align']}','{$v['valign']}',
|
||||
$opts = "{$v['align']} {$v['valign']}";
|
||||
$vals = "'{$v['field']}','".mysql_real_escape_string($v['value'])."',
|
||||
'{$v['x']}','{$v['y']}','{$v['w']}',
|
||||
'{$v['h']}','{$v['lines']}','{$v['face']}',
|
||||
'$opts','{$v['valign']}',
|
||||
'{$v['fontname']}','$fs','{$v['fontsize']}',
|
||||
'{$v['on_overflow']}'";
|
||||
}
|
||||
@ -327,7 +376,7 @@ foreach($report_stock as $n=>$v) {
|
||||
|
||||
mysql_query("INSERT INTO reports_items(`reports_id`,`type`,`ord`,
|
||||
`field`,`value`,`x`, `y`, `w`, `h`,
|
||||
`align`,`valign`,
|
||||
`lines`, `face`, `align`,`valign`,
|
||||
`fontname`,`fontstyle`,`fontsize`,`on_overflow`)
|
||||
VALUES $q;");
|
||||
|
||||
@ -373,7 +422,7 @@ foreach($report_stock as $n=>$v) {
|
||||
ORDER BY `ord`");
|
||||
print(mysql_error());
|
||||
|
||||
if(mysql_num_rows($q) == 0) return $ret;
|
||||
if(mysql_num_rows($q) == 0) return $report;
|
||||
|
||||
while($a = mysql_fetch_assoc($q)) {
|
||||
$f = $a['field'];
|
||||
@ -383,22 +432,33 @@ foreach($report_stock as $n=>$v) {
|
||||
/* We dont' care about order, just construct
|
||||
* ['option'][name] = value; */
|
||||
if(!in_array($f, $allow_options)) {
|
||||
print("Type[$type] Field[$f] not allowed.\n");
|
||||
// print("Type[$type] Field[$f] not allowed.\n");
|
||||
continue;
|
||||
}
|
||||
$report['option'][$f] = $a['value'];
|
||||
break;
|
||||
default:
|
||||
if(!in_array($f, $allow_fields)) {
|
||||
print("Type[$type] Field[$f] not allowed.\n");
|
||||
// print("Type[$type] Field[$f] not allowed.\n");
|
||||
continue;
|
||||
}
|
||||
/* Pull out all the data */
|
||||
$val = array();
|
||||
$col_fields = array('field', 'x', 'y', 'w', 'h', 'align', 'valign', 'value', 'fontname','fontsize','on_overflow');
|
||||
$col_fields = array('field', 'x', 'y', 'w', 'h', 'lines', 'face', 'align', 'valign', 'value', 'fontname','fontsize','on_overflow');
|
||||
foreach($col_fields as $lf) $val[$lf] = $a[$lf];
|
||||
|
||||
$val['fontstyle'] = explode(',', $a['fontstyle']);
|
||||
/* valign, fontname, fontsize,fontstyle are unused, except in tcpdf reports
|
||||
(i.e. nothign has changed, only adding on */
|
||||
|
||||
if($val['lines'] == 0) $val['lines'] = 1;
|
||||
$opts = explode(" ", $val['align']);
|
||||
$align_opts = array ('left', 'right', 'center');
|
||||
$valign_opts = array ('vtop', 'vbottom', 'vcenter');
|
||||
$style_opts = array ('bold');
|
||||
foreach($opts as $o) {
|
||||
if(in_array($o, $align_opts)) $val['align'] = $o;
|
||||
if(in_array($o, $valign_opts)) $val['valign'] = $o;
|
||||
if(in_array($o, $valign_opts)) $val['face'] = $o;
|
||||
}
|
||||
|
||||
$report[$t][$a['ord']] = $val;
|
||||
break;
|
||||
@ -492,14 +552,19 @@ foreach($report_stock as $n=>$v) {
|
||||
|
||||
function report_gen($report)
|
||||
{
|
||||
global $config, $report_students_fields, $report_judges_fields, $report_awards_fields, $report_schools_fields;
|
||||
foreach($report['col'] as $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, $report_fairs_fields;
|
||||
global $report_fundraisings_fields;
|
||||
global $filter_ops;
|
||||
global $conference;
|
||||
|
||||
//print_r($report);
|
||||
//foreach($report as $k=>$v){
|
||||
//print_r($k.' ~ >');
|
||||
//print_r($v);
|
||||
//print_r('<br> <br>');
|
||||
//}
|
||||
$fieldvar = "report_{$report['type']}s_fields";
|
||||
$fields = $$fieldvar;
|
||||
|
||||
@ -507,7 +572,9 @@ foreach($report_stock as $n=>$v) {
|
||||
$fieldname = array();
|
||||
$thead = array();
|
||||
|
||||
$table['col']=array();
|
||||
$table['header']=array();
|
||||
$table['widths']=array();
|
||||
$table['dataalign']=array();
|
||||
$table['option']=array();
|
||||
$table['total']=0;
|
||||
|
||||
@ -524,40 +591,53 @@ foreach($report_stock as $n=>$v) {
|
||||
$rep=new lcsv(i18n($report['name']));
|
||||
$gen_mode = 'table';
|
||||
break;
|
||||
|
||||
case 'label':
|
||||
/* Label */
|
||||
$label_stock = $report_stock[$report['option']['stock']];
|
||||
$rep=new lpdf( i18n($config['fairname']),
|
||||
i18n($report['name']),
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/logo.gif");
|
||||
$rep->setPageStyle("labels");
|
||||
$rep->newPage($label_stock['page_width'], $label_stock['page_height']);
|
||||
$rep->setFontSize(11);
|
||||
$rep->setLabelDimensions($label_stock['label_width'], $label_stock['label_height'],
|
||||
$label_stock['x_spacing'], $label_stock['y_spacing'],11,$label_stock['y_padding']);
|
||||
$gen_mode = 'label';
|
||||
break;
|
||||
case 'pdf': case '':
|
||||
/* FIXME: handle landscape pages in here */
|
||||
$label_stock = $report_stock[$report['option']['stock']];
|
||||
$rep=new lpdf( i18n($config['fairname']),
|
||||
i18n($report['name']),
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/logo.gif");
|
||||
$rep->newPage($label_stock['page_width'], $label_stock['page_height']);
|
||||
if($report['option']['default_font_size']) {
|
||||
$rep->setDefaultFontSize($report['option']['default_font_size']);
|
||||
$rep->setFontSize($report['option']['default_font_size']);
|
||||
}
|
||||
else {
|
||||
$rep->setDefaultFontSize(11);
|
||||
$rep->setFontSize(11);
|
||||
}
|
||||
|
||||
$gen_mode = 'table';
|
||||
if($report['option']['allow_multiline'] == 'yes')
|
||||
$table['option']['allow_multiline'] = true;
|
||||
break;
|
||||
case 'tcpdf_label':
|
||||
$label_stock = $report_stock[$report['option']['stock']];
|
||||
$show_box = ($report['option']['label_box'] == 'yes') ? true : false;
|
||||
$show_fair = ($report['option']['label_fairname'] == 'yes') ? true : false;
|
||||
$show_logo = ($report['option']['label_logo'] == 'yes') ? true : false;
|
||||
|
||||
$rep=new pdf($report['name'], $label_stock['page_format'], $label_stock['page_orientation']);
|
||||
$rep->setup_for_labels($show_box, $show_fair, $show_logo,
|
||||
$label_stock['label_width'], $label_stock['label_height'],
|
||||
$label_stock['x_spacing'], $label_stock['y_spacing'],
|
||||
$label_stock['label_width'] * 25.4, $label_stock['label_height'] * 25.4,
|
||||
$label_stock['x_spacing'] * 25.4, $label_stock['y_spacing'] * 25.4,
|
||||
$label_stock['rows'], $label_stock['cols']);
|
||||
$gen_mode = 'label';
|
||||
$gen_mode = 'tcpdf_label';
|
||||
break;
|
||||
|
||||
case 'pdf': case '':
|
||||
$label_stock = $report_stock[$report['option']['stock']];
|
||||
if($report['option']['allow_multiline'] == 'yes')
|
||||
$on_overflow = 'nothing';
|
||||
else
|
||||
$on_overflow = '...';
|
||||
|
||||
$rep=new pdf($report['name'], $label_stock['page_format'], $label_stock['page_orientation']);
|
||||
$rep->setup_for_tables($show_box, $show_fair, $show_logo,
|
||||
$label_stock['label_width'], $label_stock['label_height'],
|
||||
$label_stock['x_spacing'], $label_stock['y_spacing'],
|
||||
$label_stock['rows'], $label_stock['cols']);
|
||||
$gen_mode = 'table';
|
||||
break;
|
||||
|
||||
|
||||
|
||||
case 'text':
|
||||
echo "Not implemented [{$report['option']['type']}]";
|
||||
exit;
|
||||
|
||||
default:
|
||||
echo "Invalid type [{$report['option']['type']}]";
|
||||
exit;
|
||||
@ -572,51 +652,51 @@ foreach($report_stock as $n=>$v) {
|
||||
|
||||
$total_width = 0;
|
||||
$scale_width = 0;
|
||||
$temp=array();
|
||||
$count=0;
|
||||
foreach($report['col'] as $o=>$d) {
|
||||
if($config['default_language']!='fr'){
|
||||
if(strpos($d['field'],'fr_')!='fr_'){
|
||||
$temp[$count]=$d;
|
||||
$count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
$report['col']=$temp;
|
||||
/* Add up the column widths, and figure out which
|
||||
* ones are scalable, just in case */
|
||||
foreach($report['col'] as $o=>$d) {
|
||||
$f = $d['field'];
|
||||
if($d['w'] != 0) {
|
||||
/* Always 0 on old reports, so we never get in here */
|
||||
$total_width += $d['w'];
|
||||
/* For the rest of the computation, this field is
|
||||
* not scalable */
|
||||
/* FIXME! */
|
||||
} else {
|
||||
$total_width += $fields[$f]['width'];
|
||||
if($fields[$f]['scalable'] == true)
|
||||
$scale_width += $fields[$f]['width'];
|
||||
}
|
||||
$total_width += $fields[$f]['width'];
|
||||
if($fields[$f]['scalable'] == true)
|
||||
$scale_width += $fields[$f]['width'];
|
||||
}
|
||||
|
||||
/* Determine the scale factor (use the label width so
|
||||
* we can enforce margins) */
|
||||
|
||||
if($report['option']['fit_columns'] == 'yes') { // && $total_width > $label_stock['label_width']) {
|
||||
$static_width = $total_width - $scale_width;
|
||||
if($scale_width)
|
||||
$scale_factor = ($label_stock['label_width'] - $static_width) / $scale_width;
|
||||
else
|
||||
$scale_factor = 1.0;
|
||||
if($scale_width){
|
||||
if ($label_stock['label_width'] - $static_width > 0) {
|
||||
$scale_factor = ($label_stock['label_width'] - $static_width) / $scale_width;
|
||||
} else {
|
||||
$scale_factor = $label_stock['label_width']/$total_width;
|
||||
}
|
||||
} else {
|
||||
$scale_factor = 1.0;
|
||||
}
|
||||
} else {
|
||||
$scale_factor = 1.0;
|
||||
$scale_factor = 1.0;
|
||||
}
|
||||
|
||||
|
||||
/* Select columns to display */
|
||||
foreach($report['col'] as $o=>$d) {
|
||||
$f = $d['field'];
|
||||
|
||||
/* If width is specificed, use that, else compute based on default field width */
|
||||
if($d['w'] == 0)
|
||||
$width = $fields[$f]['width'] * (($fields[$f]['scalable'] == true) ? $scale_factor : 1.0);
|
||||
else
|
||||
$width = $d['w'];
|
||||
$col = array( 'header' => i18n($fields[$f]['header']),
|
||||
'width' => $width,
|
||||
'align' => 'left',
|
||||
'on_overflow' => $on_overflow);
|
||||
$table['col'][] = $col;
|
||||
|
||||
$table['header'][] = i18n($fields[$f]['header']);
|
||||
$sf = ($fields[$f]['scalable'] == true) ? $scale_factor : 1.0;
|
||||
$table['widths'][] = $fields[$f]['width'] * $sf;
|
||||
$table['dataalign'][] = 'left';
|
||||
$sel[] = "{$fields[$f]['table']} AS C$x";
|
||||
$fieldname[$f] = "C$x";
|
||||
/* We want to add these to group by, but AFTER all the other group bys */
|
||||
@ -638,7 +718,7 @@ foreach($report_stock as $n=>$v) {
|
||||
$fieldname[$f] = "G$o";
|
||||
}
|
||||
|
||||
if(isset($fields[$f]['able_sort']))
|
||||
if(isset($fields[$f]['table_sort']))
|
||||
$order[] = $fields[$f]['table_sort'];
|
||||
else
|
||||
$order[] = $fieldname[$f];
|
||||
@ -649,6 +729,7 @@ foreach($report_stock as $n=>$v) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* If no sort order is specified, make the first field the order */
|
||||
if(count($report['sort']) == 0)
|
||||
$report['sort'] = array(0 => array('field' => $report['col'][0]['field']));
|
||||
@ -692,8 +773,8 @@ foreach($report_stock as $n=>$v) {
|
||||
$order = implode(",", $order);
|
||||
|
||||
|
||||
if(!isset($report['conferences_id'])){
|
||||
$report['conferences_id'] = $conference['id'];
|
||||
if(!isset($report['year'])) {
|
||||
$report['year'] = $config['FAIRYEAR'];
|
||||
}
|
||||
|
||||
$group_by = array_merge($group_by, $post_group_by);
|
||||
@ -712,10 +793,11 @@ foreach($report_stock as $n=>$v) {
|
||||
|
||||
$q = "SELECT $sel $q $filter_query $group_query ORDER BY $order";
|
||||
$r = mysql_query($q);
|
||||
|
||||
|
||||
// print_r($report);
|
||||
// print_r($report['filter']);
|
||||
// echo "$q";
|
||||
|
||||
|
||||
if($r == false) {
|
||||
echo "The report database query has failed. This is
|
||||
@ -736,9 +818,8 @@ foreach($report_stock as $n=>$v) {
|
||||
$last_group_data = array();
|
||||
|
||||
// echo "<pre>";print_r($rep);
|
||||
|
||||
while($i = mysql_fetch_assoc($r)) {
|
||||
|
||||
|
||||
if($n_groups > 0) {
|
||||
$group_change = false;
|
||||
/* See if any of the "group" fields have changed */
|
||||
@ -758,48 +839,78 @@ foreach($report_stock as $n=>$v) {
|
||||
|
||||
if($group_change) {
|
||||
/* Dump the last table */
|
||||
|
||||
if(count($table['data'])) {
|
||||
// print_r($table);
|
||||
$rep->addTable($table);
|
||||
$rep->addTable($table); //table is the content
|
||||
$rep->nextLine();
|
||||
$table['data'] = array();
|
||||
$table['total'] = 0;
|
||||
/* Start a new page AFTER a table is
|
||||
* dumped, so the first page doesn't
|
||||
* end up blank */
|
||||
if($report['option']['group_new_page'] == 'yes') {
|
||||
$rep->addpage();
|
||||
$rep->newPage();
|
||||
} else {
|
||||
$rep->hr();
|
||||
$rep->vspace(-0.1);
|
||||
}
|
||||
}
|
||||
|
||||
/* Construct a new header */
|
||||
$h = implode(" -- ", $last_group_data);
|
||||
$rep->heading($h);
|
||||
$rep->nextLine();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$data = array();
|
||||
if($gen_mode == 'label') {
|
||||
$show_box = ($report['option']['label_box'] == 'yes') ? true : false;
|
||||
$show_fair = ($report['option']['label_fairname'] == 'yes') ? true : false;
|
||||
$show_logo = ($report['option']['label_logo'] == 'yes') ? true : false;
|
||||
$rep->newLabel($show_box, $show_fair, $show_logo);
|
||||
} else if($gen_mode == 'tcpdf_label') {
|
||||
$rep->label_new();
|
||||
}
|
||||
|
||||
foreach($report['col'] as $o=>$d) {
|
||||
foreach($report['col'] as $o=>$d) { //fill in one page
|
||||
$f = $d['field'];
|
||||
|
||||
if(is_array($fields[$f]['value_map'])) {
|
||||
$v = $fields[$f]['value_map'][$i["C$o"]];
|
||||
} else if(is_callable($fields[$f]['exec_function'])) {
|
||||
$v = call_user_func_array($fields[$f]['exec_function'], array($report, $f, $i["C$o"]));
|
||||
// } else if(isset($fields[$f]['exec_code'])) {
|
||||
// Somethign like this, how do we pass $i["C$o"] in?
|
||||
// $v = exec($fields[$f]['exec_code']);
|
||||
} else {
|
||||
$v = $i["C$o"];
|
||||
}
|
||||
|
||||
if($gen_mode == 'table') {
|
||||
$data[] = $v;
|
||||
} else if($gen_mode == 'label') {
|
||||
$opt = array();
|
||||
if($d['face'] == 'bold') $opt[] = 'bold';
|
||||
$opt[] = $d['align'];
|
||||
$opt[] = $d['valign'];
|
||||
if($report['option']['field_box'] == 'yes')
|
||||
$opt[] = 'field_box';
|
||||
|
||||
//the page content is filled
|
||||
/* Special column, draw a box */
|
||||
if($f == 'static_box') {
|
||||
$rep->addLabelBox($d['x'], $d['y'], $d['w'],
|
||||
$d['h']);
|
||||
} else {
|
||||
/* Special column, override result with static text */
|
||||
if($f == 'static_text') $v = $d['value'];
|
||||
|
||||
$lh = ($d['lines'] == 0) ? 0 : $d['h']/$d['lines'];
|
||||
$rep->addLabelText2($d['x'], $d['y'], $d['w'],
|
||||
$d['h'], $lh,
|
||||
$v, $opt);
|
||||
}
|
||||
} else if($gen_mode == 'tcpdf_label') {
|
||||
/* Setup additional options */
|
||||
$show_box = ($report['option']['field_box'] == 'yes') ? true : false;
|
||||
|
||||
@ -809,7 +920,7 @@ foreach($report_stock as $n=>$v) {
|
||||
case 'static_box':
|
||||
$rep->label_rect($d['x'], $d['y'], $d['w'], $d['h']);
|
||||
break;
|
||||
case 'conference_logo':
|
||||
case 'fair_logo':
|
||||
$rep->label_fair_logo($d['x'], $d['y'], $d['w'], $d['h'], $show_box);
|
||||
break;
|
||||
case "projectbarcode":
|
||||
@ -819,8 +930,8 @@ foreach($report_stock as $n=>$v) {
|
||||
'hpadding' => 'auto',
|
||||
'fgcolor' => array(0,0,0),
|
||||
'bgcolor' => false, //array(255,255,255)
|
||||
'module_width' => 3, // width of a single module in points
|
||||
'module_height' => 3 // height of a single module in points
|
||||
'module_width' => 2, // width of a single module in points
|
||||
'module_height' => 2 // height of a single module in points
|
||||
);
|
||||
$rep->label_barcode($v, 'QRCODE,H', $d['x'], $d['y'], $d['w'], $d['h'], $style, 'N');
|
||||
break;
|
||||
@ -829,6 +940,8 @@ foreach($report_stock as $n=>$v) {
|
||||
if($f == 'static_text')
|
||||
$v = $d['value'];
|
||||
|
||||
$v = iconv("ISO-8859-1","UTF-8",$v);
|
||||
|
||||
$rep->label_text($d['x'], $d['y'], $d['w'], $d['h'],
|
||||
$v, $show_box, $d['align'], $d['valign'],
|
||||
$d['fontname'],$d['fontstyle'],$d['fontsize'],
|
||||
@ -837,7 +950,39 @@ foreach($report_stock as $n=>$v) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
if($f == 'static_box') {
|
||||
$rep->label_rect($d['x'], $d['y'], $d['w'], $d['h']);
|
||||
} else {
|
||||
if($f == 'static_text') $v = $d['value'];
|
||||
|
||||
$v = iconv("ISO-8859-1//TRANSLIT", "UTF-8", $v);
|
||||
if($f=="projectbarcode") {
|
||||
$style = array(
|
||||
'border' => 2,
|
||||
'vpadding' => 'auto',
|
||||
'hpadding' => 'auto',
|
||||
'fgcolor' => array(0,0,0),
|
||||
'bgcolor' => false, //array(255,255,255)
|
||||
'module_width' => 2, // width of a single module in points
|
||||
'module_height' => 2 // height of a single module in points
|
||||
);
|
||||
$rep->label_barcode($v, 'QRCODE,H', $d['x'], $d['y'], $d['w'], $d['h'], $style, 'N');
|
||||
}
|
||||
else {
|
||||
$rep->label_text($d['x'], $d['y'], $d['w'], $d['h'],
|
||||
$v, $show_box, $d['align'], $d['valign'],
|
||||
$d['fontname'],$d['fontstyle'],$d['fontsize'],
|
||||
$d['on_overflow']);
|
||||
}
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
//}
|
||||
|
||||
if($fields[$f]['total'] == true)
|
||||
$table['total'] += $v;
|
||||
|
@ -36,7 +36,7 @@ switch($_GET['action']) {
|
||||
case 'remove_report':
|
||||
$id = intval($_GET['id']);
|
||||
mysql_query("DELETE FROM reports_committee WHERE
|
||||
users_id='{$_SESSION['accounts_id']}' AND id='$id'");
|
||||
users_id='{$_SESSION['users_uid']}' AND id='$id'");
|
||||
happy_('Report successfully removed');
|
||||
exit;
|
||||
case 'reload':
|
||||
@ -67,7 +67,7 @@ case 'load_report':
|
||||
|
||||
/* Load available categories */
|
||||
$q = mysql_query("SELECT DISTINCT category FROM reports_committee
|
||||
WHERE users_id='{$_SESSION['accounts_id']}'
|
||||
WHERE users_id='{$_SESSION['users_uid']}'
|
||||
ORDER BY category");
|
||||
while($i = mysql_fetch_object($q))
|
||||
$ret['cat'][] = $i->category;
|
||||
@ -82,7 +82,7 @@ case 'save':
|
||||
if($id == -1) {
|
||||
/* New entry */
|
||||
mysql_query("INSERT INTO `reports_committee` (`users_id`,`reports_id`)
|
||||
VALUES('{$_SESSION['accounts_id']}','$reports_id');");
|
||||
VALUES('{$_SESSION['users_uid']}','$reports_id');");
|
||||
echo mysql_error();
|
||||
$id = mysql_insert_id();
|
||||
}
|
||||
@ -240,7 +240,7 @@ $(document).ready(function() {
|
||||
$q = mysql_query("SELECT reports_committee.*,reports.name
|
||||
FROM reports_committee
|
||||
LEFT JOIN reports ON reports.id=reports_committee.reports_id
|
||||
WHERE users_id='{$_SESSION['accounts_id']}'
|
||||
WHERE users_id='{$_SESSION['users_uid']}'
|
||||
ORDER BY category,id");
|
||||
echo mysql_error();
|
||||
if(mysql_num_rows($q) == 0) {
|
||||
@ -283,6 +283,18 @@ $(document).ready(function() {
|
||||
</td>
|
||||
</tr>
|
||||
<?
|
||||
/*
|
||||
|
||||
if($i->reports_id > 0) {
|
||||
echo '<tr><td width=\"20px\"></td><td>';
|
||||
echo '<span style=\"font-size: 0.75em;\">';
|
||||
echo i18n('Format').": {$i->format}, ";
|
||||
echo i18n('Paper').": {$report_stock[$i->stock]['name']}, ";
|
||||
echo i18n('Year').": {$config['FAIRYEAR']}";
|
||||
echo '</span>';
|
||||
echo '</td></tr>';
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
echo "</table>";
|
||||
|
@ -1,21 +1,12 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require("../lpdf.php");
|
||||
require("../lcsv.php");
|
||||
|
||||
if($_GET['foryear']){
|
||||
// backwards compatability
|
||||
$r = mysql_fetch_assoc(mysql_query("SELECT id FROM conferences WHERE year = " . $_GET['foryear']));
|
||||
if(is_array($r)){
|
||||
$forconference = $r['id'];
|
||||
}else{
|
||||
$forconference = $conference['id'];
|
||||
}
|
||||
}
|
||||
if($_GET['conference']) $forconference=$_GET['conference'];
|
||||
else $forconference=$conference['id'];
|
||||
if($_GET['year']) $foryear=$_GET['year'];
|
||||
else $foryear=$config['FAIRYEAR'];
|
||||
|
||||
if($_GET['awardtype']=="All") $awardtype="";
|
||||
else if($_GET['awardtype']) $awardtype=" AND award_types.type='".mysql_escape_string($_GET['awardtype'])."'";
|
||||
@ -33,7 +24,11 @@
|
||||
if(is_array($_GET['show_category'])) {
|
||||
$show_category = array();
|
||||
foreach($_GET['show_category'] as $id=>$val) {
|
||||
$show_category[] = "award_awards_projectcategories.projectcategories_id='$id'";
|
||||
$show_category[] = "projects.projectcategories_id='$id'";
|
||||
}
|
||||
if($show_unawarded_prizes=="yes")
|
||||
{
|
||||
$show_category[] = "projects.projectcategories_id IS NULL";
|
||||
}
|
||||
$and_categories = join(' OR ', $show_category);
|
||||
} else {
|
||||
@ -51,7 +46,7 @@ if(!$scriptformat) $scriptformat="default";
|
||||
if($type=="pdf") {
|
||||
$rep=new lpdf( i18n($config['fairname']),
|
||||
i18n("Awards Ceremony Script"),
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/{$conference['id']}-logo-200.gif"
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/logo-200.gif"
|
||||
);
|
||||
|
||||
$rep->newPage();
|
||||
@ -73,18 +68,14 @@ if(!$scriptformat) $scriptformat="default";
|
||||
FROM
|
||||
award_awards,
|
||||
award_types,
|
||||
sponsors,
|
||||
award_awards_projectcategories
|
||||
sponsors
|
||||
WHERE
|
||||
award_awards.conferences_id='$forconference'
|
||||
AND award_types.conferences_id='$forconference'
|
||||
award_awards.year='$foryear'
|
||||
AND award_types.year='$foryear'
|
||||
AND award_awards.award_types_id=award_types.id
|
||||
AND award_awards.sponsors_id=sponsors.id
|
||||
AND award_awards.id=award_awards_projectcategories.award_awards_id
|
||||
AND award_awards.excludefromac='0'
|
||||
AND ($and_categories)
|
||||
$awardtype
|
||||
GROUP BY award_awards.id
|
||||
ORDER BY awards_order");
|
||||
|
||||
echo mysql_error();
|
||||
@ -114,8 +105,9 @@ if(!$scriptformat) $scriptformat="default";
|
||||
LEFT JOIN projects ON projects.id=winners.projects_id
|
||||
WHERE
|
||||
award_awards_id='{$r->id}'
|
||||
AND award_prizes.conferences_id='$forconference'
|
||||
AND award_prizes.year='$foryear'
|
||||
AND award_prizes.excludefromac='0'
|
||||
AND ($and_categories)
|
||||
ORDER BY
|
||||
`order`,
|
||||
projects.projectnumber");
|
||||
@ -237,17 +229,17 @@ if(!$scriptformat) $scriptformat="default";
|
||||
if($scriptformat=="default")
|
||||
$rep->addText( " ($pr->projectnumber) $pr->title");
|
||||
|
||||
$sq=mysql_query("SELECT users.firstname,
|
||||
users.lastname,
|
||||
users.pronunciation,
|
||||
users.schools_id,
|
||||
$sq=mysql_query("SELECT students.firstname,
|
||||
students.lastname,
|
||||
students.pronunciation,
|
||||
students.schools_id,
|
||||
schools.school
|
||||
FROM
|
||||
users,
|
||||
students,
|
||||
schools
|
||||
WHERE
|
||||
users.registrations_id='$pr->reg_id'
|
||||
AND users.schools_id=schools.id
|
||||
students.registrations_id='$pr->reg_id'
|
||||
AND students.schools_id=schools.id
|
||||
");
|
||||
|
||||
$students=" Students: ";
|
||||
@ -258,9 +250,9 @@ if(!$scriptformat) $scriptformat="default";
|
||||
if($studnum>0) $students.=", ";
|
||||
$students.="$studentinfo->firstname $studentinfo->lastname";
|
||||
|
||||
if($studentinfo->pronunciation) {
|
||||
$students .= " (Pronounced \"{$studentinfo->pronunciation}\")";
|
||||
}
|
||||
if($studnum>0) $pronounce .= ", ";
|
||||
$pronounce .= "\"{$studentinfo->pronunciation}\"";
|
||||
$rawpronounce .= "{$studentinfo->pronunciation}";
|
||||
|
||||
$student_winner[$studnum] = "$studentinfo->firstname $studentinfo->lastname";
|
||||
$student_win_pronunc[$studnum] = "$studentinfo->pronunciation";
|
||||
@ -270,6 +262,8 @@ if(!$scriptformat) $scriptformat="default";
|
||||
|
||||
if($scriptformat=="default") {
|
||||
$rep->addText($students);
|
||||
if(trim($rawpronounce) != "" && $show_pronunciation == TRUE)
|
||||
$rep->addText(" Pronunciation: $pronounce");
|
||||
$rep->addText(" School: {$student_school[0]}");
|
||||
}
|
||||
if($scriptformat=="formatted") {
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require_once('../common.inc.php');
|
||||
require_once('../user.inc.php');
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
require_once('../tcpdf/tcpdf_sfiab_config.php');
|
||||
require_once('../tcpdf/tcpdf.php');
|
||||
|
@ -20,104 +20,127 @@
|
||||
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
function report_awards_fr($report, $field, $text) {
|
||||
return i18n($text,array(),array(),"fr");
|
||||
}
|
||||
|
||||
function report_cash_words($report, $field, $text) {
|
||||
return wordify($text, true);
|
||||
}
|
||||
|
||||
$report_awards_fields = array(
|
||||
'name' => array(
|
||||
'start_option_group' => 'Award Information',
|
||||
'name' => 'Award -- Name',
|
||||
'header' => 'Award Name',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'width' => 3.0,
|
||||
'table' => 'award_awards.name' ),
|
||||
|
||||
'name_fr' => array(
|
||||
'name' => 'Award -- Name (French)',
|
||||
'header' => 'Award Name',
|
||||
'width' => 3.0,
|
||||
'table' => 'award_awards.name',
|
||||
'exec_function' => 'report_awards_fr' ),
|
||||
|
||||
'criteria' => array(
|
||||
'name' => 'Award -- Criteria',
|
||||
'header' => 'Award Criteria',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'width' => 3.0,
|
||||
'table' => 'award_awards.criteria' ),
|
||||
|
||||
'criteria_fr' => array(
|
||||
'name' => 'Award -- Criteria (French)',
|
||||
'header' => 'Award Criteria',
|
||||
'width' => 3.0,
|
||||
'table' => 'award_awards.criteria',
|
||||
'exec_function' => 'report_awards_fr' ),
|
||||
|
||||
'presenter' => array(
|
||||
'name' => 'Award -- Presenter',
|
||||
'header' => 'Award Presenter',
|
||||
'width' => 38.1 /*mm*/,
|
||||
'width' => 1.5,
|
||||
'table' => 'award_awards.presenter' ),
|
||||
|
||||
'order' => array(
|
||||
'name' => 'Award -- Order',
|
||||
'header' => 'Award Order',
|
||||
'width' => 12.7 /*mm*/,
|
||||
'width' => 0.5,
|
||||
'table' => 'award_awards.order' ),
|
||||
|
||||
'cwsfaward' => array(
|
||||
'name' => 'Award -- CWSF Award',
|
||||
'header' => 'CWSF',
|
||||
'width' => 12.7 /*mm*/,
|
||||
'width' => 0.5,
|
||||
'table' => 'award_awards.cwsfaward',
|
||||
'value_map' => array ('0' => 'No', '1' => 'Yes')),
|
||||
|
||||
'type' => array(
|
||||
'name' => 'Award -- Type',
|
||||
'header' => 'Award Type',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1.0,
|
||||
'table' => 'award_types.type' ),
|
||||
|
||||
'empty_winner_box' => array(
|
||||
'name' => 'Award -- Empty Winner Box (for hand entry on printed reports)',
|
||||
'header' => 'Winner',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1.0,
|
||||
'table' => "CONCAT('')" ),
|
||||
|
||||
'sponsor_organization' => array(
|
||||
'start_option_group' => 'Sponsor Information',
|
||||
'name' => 'Sponsor -- Organization',
|
||||
'header' => 'Sponsor Organization',
|
||||
'width' => 50.8 /*mm*/,
|
||||
'width' => 2.0,
|
||||
'table' => 'sponsors.organization' ),
|
||||
|
||||
'sponsor_phone' => array(
|
||||
'name' => 'Sponsor -- Phone',
|
||||
'header' => 'Sp. Phone',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'sponsors.phone' ),
|
||||
|
||||
'sponsor_fax' => array(
|
||||
'name' => 'Sponsor -- Fax',
|
||||
'header' => 'Sp. Fax',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'sponsors.fax' ),
|
||||
|
||||
'sponsor_address' => array(
|
||||
'name' => 'Sponsor -- Street Address',
|
||||
'header' => 'Sponsor Address',
|
||||
'width' => 50.8 /*mm*/,
|
||||
'width' => 2.0,
|
||||
'table' => 'sponsors.address'),
|
||||
|
||||
'sponsor_city' => array(
|
||||
'name' => 'Sponsor -- City',
|
||||
'header' => 'Sp. City',
|
||||
'width' => 38.1 /*mm*/,
|
||||
'width' => 1.5,
|
||||
'table' => 'sponsors.city' ),
|
||||
|
||||
'sponsor_province' => array(
|
||||
'name' => 'Sponsor -- '.$config['provincestate'],
|
||||
'header' => 'Sp. '.$config['provincestate'],
|
||||
'width' => 19.05 /*mm*/,
|
||||
'width' => 0.75,
|
||||
'table' => 'sponsors.province_code' ),
|
||||
|
||||
'sponsor_postal' => array(
|
||||
'name' => 'Sponsor -- '.$config['postalzip'],
|
||||
'header' => 'Sp. '.$config['postalzip'],
|
||||
'width' => 19.05 /*mm*/,
|
||||
'width' => 0.75,
|
||||
'table' => 'sponsors.postalcode' ),
|
||||
|
||||
'sponsor_notes' => array(
|
||||
'name' => 'Sponsor -- Notes',
|
||||
'header' => 'Sponsor Notes',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'width' => 3,
|
||||
'table' => 'sponsors.notes' ),
|
||||
|
||||
'sponsorship_status' => array(
|
||||
'name' => 'Sponsorship -- Status',
|
||||
'header' => 'Sp. Status',
|
||||
'width' => 12.7 /*mm*/,
|
||||
'width' => .5,
|
||||
'table' => 'sponsorships.status',
|
||||
'value_map' => array ('pending' => 'Pending', 'confirmed' => 'Confirmed'), "received"=>"Received"),
|
||||
|
||||
@ -125,134 +148,134 @@ $report_awards_fields = array(
|
||||
'start_option_group' => 'Sponsor Primary Contact',
|
||||
'name' => 'Primary Contact -- Salutation',
|
||||
'header' => 'Cnct. Salutation',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1.0,
|
||||
'table' => 'PRIMARYCONTACTUSER.salutation' ),
|
||||
|
||||
'pcontact_last_name' => array(
|
||||
'name' => 'Primary Contact -- Last Name',
|
||||
'header' => 'Cnct. Last Name',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1.0,
|
||||
'table' => 'PRIMARYCONTACTUSER.lastname' ),
|
||||
|
||||
'pcontact_first_name' => array(
|
||||
'name' => 'Primary Contact -- First Name',
|
||||
'header' => 'Cnct. First Name',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1.0,
|
||||
'table' => 'PRIMARYCONTACTUSER.firstname' ),
|
||||
|
||||
'pcontact_name' => array(
|
||||
'name' => 'Primary Contact -- Full Name (last, first)',
|
||||
'header' => 'Contact Name',
|
||||
'width' => 44.45 /*mm*/,
|
||||
'width' => 1.75,
|
||||
'table' => "CONCAT(PRIMARYCONTACTUSER.lastname, ', ', PRIMARYCONTACTUSER.firstname)",
|
||||
'table_sort'=> 'PRIMARYCONTACTUSER.lastname' ),
|
||||
|
||||
'pcontact_namefl' => array(
|
||||
'name' => 'Primary Contact -- Full Name (salutation first last)',
|
||||
'header' => 'Contact Name',
|
||||
'width' => 44.45 /*mm*/,
|
||||
'width' => 1.75,
|
||||
'table' => "CONCAT(PRIMARYCONTACTUSER.salutation, ' ', PRIMARYCONTACTUSER.firstname, ' ', PRIMARYCONTACTUSER.lastname)",
|
||||
'table_sort'=> 'PRIMARYCONTACTUSER.lastname' ),
|
||||
|
||||
'pcontact_position' => array(
|
||||
'name' => 'Primary Contact -- Position',
|
||||
'header' => 'Cnct. Position',
|
||||
'width' => 31.75 /*mm*/,
|
||||
'width' => 1.25,
|
||||
'table' => 'PRIMARYCONTACT.position'),
|
||||
|
||||
'pcontact_email' => array(
|
||||
'name' => 'Primary Contact -- Email',
|
||||
'header' => 'Cnct. Email',
|
||||
'width' => 50.8 /*mm*/,
|
||||
'width' => 2.0,
|
||||
'table' => 'PRIMARYCONTACTUSER.email'),
|
||||
|
||||
'pcontact_hphone' => array(
|
||||
'name' => 'Primary Contact -- Home Phone',
|
||||
'header' => 'Cnct. Home',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'PRIMARYCONTACTUSER.phonehome' ),
|
||||
|
||||
'pcontact_wphone' => array(
|
||||
'name' => 'Primary Contact -- Work Phone',
|
||||
'header' => 'Cnct. Work',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'PRIMARYCONTACTUSER.phonework' ),
|
||||
|
||||
'pcontact_cphone' => array(
|
||||
'name' => 'Primary Contact -- Cell Phone',
|
||||
'header' => 'Cnct. Cell',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'PRIMARYCONTACTUSER.phonecell' ),
|
||||
|
||||
'pcontact_fax' => array(
|
||||
'name' => 'Primary Contact -- Fax',
|
||||
'header' => 'Cnct. Fax',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'PRIMARYCONTACTUSER.fax' ),
|
||||
|
||||
'pcontact_notes' => array(
|
||||
'name' => 'Primary Contact -- Notes',
|
||||
'header' => 'Contact Notes',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'width' => 3,
|
||||
'table' => 'PRIMARYCONTACT.notes' ),
|
||||
|
||||
'pcontact_address' => array(
|
||||
'name' => 'Primary Contact Address -- Street',
|
||||
'header' => 'Address',
|
||||
'width' => 50.8 /*mm*/,
|
||||
'width' => 2.0,
|
||||
'table' => "CONCAT(PRIMARYCONTACTUSER.address, ' ', PRIMARYCONTACTUSER.address2)"),
|
||||
|
||||
'pcontact_city' => array(
|
||||
'name' => 'Primary Contact Address -- City',
|
||||
'header' => 'City',
|
||||
'width' => 38.1 /*mm*/,
|
||||
'width' => 1.5,
|
||||
'table' => 'PRIMARYCONTACTUSER.city'),
|
||||
|
||||
'pcontact_province' => array(
|
||||
'name' => 'Primary Contact Address -- '.$config['provincestate'],
|
||||
'header' => $config['provincestate'],
|
||||
'width' => 19.05 /*mm*/,
|
||||
'width' => 0.75,
|
||||
'table' => 'PRIMARYCONTACTUSER.province'),
|
||||
|
||||
'pcontact_postal' => array(
|
||||
'name' => 'Primary Contact Address -- '.$config['postalzip'],
|
||||
'header' => $config['postalzip'],
|
||||
'width' => 19.05 /*mm*/,
|
||||
'width' => 0.75,
|
||||
'table' => 'PRIMARYCONTACTUSER.postalcode' ),
|
||||
|
||||
'pcontact_city_prov' => array(
|
||||
'name' => 'Primary Contact Address -- City, '.$config['provincestate'].' (for mailing)',
|
||||
'header' => 'City',
|
||||
'width' => 38.1 /*mm*/,
|
||||
'table' => "CONCAT(PRIMARYCONTACTUSER.city, ', ', PRIMARYCONTACTUSER.province)"),
|
||||
'name' => 'Primary Contact Address -- City, '.$config['provincestate'].' (for mailing)',
|
||||
'header' => 'City',
|
||||
'width' => 1.5,
|
||||
'table' => "CONCAT(PRIMARYCONTACTUSER.city, ', ', PRIMARYCONTACTUSER.province)"),
|
||||
|
||||
'judgeteamname' => array(
|
||||
'start_option_group' => 'Judging Team',
|
||||
'components' => array('judgingteam'),
|
||||
'name' => 'Judging Team -- Name',
|
||||
'header' => 'Judging Team',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'width' => 3.0,
|
||||
'table' => 'judges_teams.name'),
|
||||
|
||||
'judgeteamnum' => array(
|
||||
'components' => array('judgingteam'),
|
||||
'name' => 'Judging Team -- Number',
|
||||
'header' => 'Team',
|
||||
'width' => 12.7 /*mm*/,
|
||||
'width' => 0.5,
|
||||
'table' => 'judges_teams.num'),
|
||||
|
||||
'judgeteammembers_name' => array(
|
||||
'components' => array('judgingteam', 'judgingteammembers'),
|
||||
'name' => 'Judging Team -- Judge Name',
|
||||
'header' => 'Judge Name',
|
||||
'width' => 38.1 /*mm*/,
|
||||
'width' => 1.5,
|
||||
'table' => "CONCAT(judges.firstname, ' ', judges.lastname)"),
|
||||
|
||||
'judgeteammembers' => array(
|
||||
'components' => array('judgingteam', 'judgingteammembers'),
|
||||
'name' => 'Judging Team -- Members (REQUIRES MySQL 5.0)',
|
||||
'header' => 'Team Members',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'width' => 3.0,
|
||||
'table' => "GROUP_CONCAT(judges.firstname, ' ', judges.lastname ORDER BY judges.lastname SEPARATOR ', ')",
|
||||
'group_by' => array('award_awards.id', 'judges_teams.num') ),
|
||||
|
||||
@ -260,28 +283,37 @@ $report_awards_fields = array(
|
||||
'start_option_group' => 'Prize Info (Duplicates award data for each prize, omits awards with no prizes)',
|
||||
'name' => 'Prize -- Name',
|
||||
'header' => 'Prize Name',
|
||||
'width' => 50.8 /*mm*/,
|
||||
'width' => 2,
|
||||
'table' => 'award_prizes.prize',
|
||||
'components' => array('prizes')),
|
||||
|
||||
'prize_cash' => array(
|
||||
'name' => 'Prize -- Cash Amount',
|
||||
'header' => 'Cash',
|
||||
'width' => 12.7 /*mm*/,
|
||||
'width' => 0.5,
|
||||
'table' => 'award_prizes.cash',
|
||||
'components' => array('prizes')),
|
||||
|
||||
'prize_cash_words' => array(
|
||||
'name' => 'Prize -- Cash Amount In Words',
|
||||
'header' => 'Cash',
|
||||
'width' => 0.5,
|
||||
'table' => 'award_prizes.cash',
|
||||
'components' => array('prizes'),
|
||||
'exec_function' => 'report_cash_words'
|
||||
),
|
||||
|
||||
'prize_scholarship' => array(
|
||||
'name' => 'Prize -- Scholarship Amount',
|
||||
'header' => 'Scholarship',
|
||||
'width' => 19.05 /*mm*/,
|
||||
'width' => 0.75,
|
||||
'table' => 'award_prizes.scholarship',
|
||||
'components' => array('prizes')),
|
||||
|
||||
'prize_value' => array(
|
||||
'name' => 'Prize -- Value Amount',
|
||||
'header' => 'Value',
|
||||
'width' => 12.7 /*mm*/,
|
||||
'width' => 0.5,
|
||||
'table' => 'award_prizes.value',
|
||||
'components' => array('prizes')),
|
||||
|
||||
@ -289,7 +321,7 @@ $report_awards_fields = array(
|
||||
'prize_fullname' => array(
|
||||
'name' => 'Prize -- Name, Category, Division',
|
||||
'header' => 'Prize Name',
|
||||
'width' => 101.6 /*mm,
|
||||
'width' => 4,
|
||||
'table' => "CONCAT(award_prizes.prize,' in ',projectcategories.category,' ', projectdivisions.division)",
|
||||
'table_sort' => 'award_prizes.order',
|
||||
'components' => array('prizes')),
|
||||
@ -297,7 +329,7 @@ $report_awards_fields = array(
|
||||
'prize_trophy_any' => array(
|
||||
'name' => 'Prize -- Trophy (\'Yes\' if the award has a trophy)',
|
||||
'header' => 'Trophy',
|
||||
'width' => 12.7 /*mm*/,
|
||||
'width' => 0.5,
|
||||
'table' => "IF ( award_prizes.trophystudentkeeper=1
|
||||
OR award_prizes.trophystudentreturn=1
|
||||
OR award_prizes.trophyschoolkeeper=1
|
||||
@ -307,7 +339,7 @@ $report_awards_fields = array(
|
||||
'prize_trophy_return' => array(
|
||||
'name' => 'Prize -- Annual Trophy (\'Yes\' if the award has a school or student trophy that isn\'t a keeper)',
|
||||
'header' => 'Trophy',
|
||||
'width' => 12.7 /*mm*/,
|
||||
'width' => 0.5,
|
||||
'table' => "IF ( award_prizes.trophystudentreturn=1
|
||||
OR award_prizes.trophyschoolreturn=1, 'Yes', 'No')",
|
||||
'components' => array('prizes')),
|
||||
@ -315,21 +347,21 @@ $report_awards_fields = array(
|
||||
'prize_trophy_return_student' => array(
|
||||
'name' => 'Prize -- Annual Student Trophy (\'Yes\' if the award has astudent trophy that isn\'t a keeper)',
|
||||
'header' => 'Ind.',
|
||||
'width' => 12.7 /*mm*/,
|
||||
'width' => 0.5,
|
||||
'table' => "IF ( award_prizes.trophystudentreturn=1, 'Yes', 'No')",
|
||||
'components' => array('prizes')),
|
||||
|
||||
'prize_trophy_return_school' => array(
|
||||
'name' => 'Prize -- Annual School Trophy (\'Yes\' if the award has a school trophy that isn\'t a keeper)',
|
||||
'header' => 'Sch.',
|
||||
'width' => 12.7 /*mm*/,
|
||||
'width' => 0.5,
|
||||
'table' => "IF ( award_prizes.trophyschoolreturn=1, 'Yes', 'No')",
|
||||
'components' => array('prizes')),
|
||||
|
||||
'prize_all' => array(
|
||||
'name' => 'Prize -- Lists all prize data (name, cash, scholarship, value, trophies)',
|
||||
'header' => 'Prize',
|
||||
'width' => 50.8 /*mm*/,
|
||||
'width' => 2,
|
||||
'table' => "CONCAT(
|
||||
IF(award_prizes.prize != '', CONCAT(award_prizes.prize,'\n', ''),''),
|
||||
IF(award_prizes.cash != '', CONCAT('$',award_prizes.cash,'\n'), ''),
|
||||
@ -342,19 +374,6 @@ $report_awards_fields = array(
|
||||
)",
|
||||
'components' => array('prizes')),
|
||||
|
||||
/* The label system depends on each report type having conference_name and conference_logo */
|
||||
'conference_name' => array(
|
||||
'start_option_group' => 'Conference Information',
|
||||
'name' => 'Conference -- Name',
|
||||
'header' => 'Conference Name',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'table' => "'".mysql_escape_string($conference['name'])."'"),
|
||||
|
||||
'conference_logo' => array(
|
||||
'name' => 'Conference -- Logo (for Labels only)',
|
||||
'header' => '',
|
||||
'width' => 1 /*mm*/,
|
||||
'table' => "CONCAT(' ')"),
|
||||
|
||||
);
|
||||
|
||||
@ -363,15 +382,15 @@ $report_awards_fields = array(
|
||||
global $config, $report_awards_fields;
|
||||
|
||||
$fields = $report_awards_fields;
|
||||
$conferenceId = $report['conference_id'];
|
||||
$year = $report['year'];
|
||||
|
||||
$judges_join = '';
|
||||
$judges_where = '';
|
||||
if(in_array('judgingteam', $components)) {
|
||||
$judges_join = 'LEFT JOIN judges_teams_awards_link ON judges_teams_awards_link.award_awards_id=award_awards.id
|
||||
LEFT JOIN judges_teams ON judges_teams.id=judges_teams_awards_link.judges_teams_id';
|
||||
$judges_where = "AND judges_teams_awards_link.conferences_id='$conferenceId'
|
||||
AND judges_teams.conferences_id='$conferenceId'";
|
||||
$judges_where = "AND judges_teams_awards_link.year='$year'
|
||||
AND judges_teams.year='$year'";
|
||||
}
|
||||
|
||||
$judges_members_join = '';
|
||||
@ -380,14 +399,14 @@ $report_awards_fields = array(
|
||||
$judges_members_join = 'LEFT JOIN judges_teams_link ON judges_teams_link.judges_teams_id=judges_teams.id
|
||||
LEFT JOIN judges ON judges.id=judges_teams_link.judges_id';
|
||||
|
||||
$judges_members_where = "AND judges_teams_link.conferences_id='$conferenceId'";
|
||||
$judges_members_where = "AND judges_teams_link.year='$year'";
|
||||
}
|
||||
|
||||
$prizes_join = '';
|
||||
if(in_array('prizes', $components)) {
|
||||
$prizes_join = 'LEFT JOIN award_prizes ON award_prizes.award_awards_id=award_awards.id';
|
||||
/* Don't need a where filter, the prize is attached by unique ID to an award
|
||||
* that is already from the correct conference. */
|
||||
* that is already from the correct year. */
|
||||
}
|
||||
|
||||
|
||||
@ -404,12 +423,13 @@ $report_awards_fields = array(
|
||||
$judges_members_join
|
||||
$prizes_join
|
||||
WHERE
|
||||
award_awards.conferences_id='$conferenceId'
|
||||
AND award_types.conferences_id='$conferenceId'
|
||||
award_awards.year='$year'
|
||||
AND award_types.year='$year'
|
||||
$judges_where
|
||||
$judges_members_where
|
||||
";
|
||||
|
||||
return $q;
|
||||
}
|
||||
|
||||
?>
|
||||
|
@ -25,9 +25,9 @@
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
require_once('reports.inc.php');
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
send_header("Award Ceremony Scripts",
|
||||
array('Main' => 'user_main.php',
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php'),
|
||||
"print_awards_ceremony_scripts"
|
||||
);
|
||||
@ -38,12 +38,7 @@
|
||||
echo "<tr><td><b>".i18n("Year").":</b></td><td>";
|
||||
|
||||
//get the year information, use fairname since it should be there for all years[right?]
|
||||
/* Find our conference oid */
|
||||
$q = mysql_query("SELECT oid FROM conferences WHERE id='{$_SESSION['conferences_id']}'");
|
||||
$c = mysql_fetch_assoc($q);
|
||||
$conferences_oid = $c['oid'];
|
||||
|
||||
$results = mysql_query("SELECT year FROM conferences WHERE oid='$conferences_oid' AND year > 0 ORDER BY year DESC");
|
||||
$results = mysql_query("SELECT year FROM config WHERE var='fairname' AND year > 0 ORDER BY year DESC");
|
||||
|
||||
echo "<select name=\"year\" size=1>";
|
||||
while($r=mysql_fetch_object($results)) {
|
||||
@ -65,7 +60,7 @@
|
||||
echo "<tr>";
|
||||
//list award subsets to output
|
||||
echo "<td><b>".i18n("Award Type").":</b></td> <td> <select name=\"awardtype\" size=1>";
|
||||
$results = mysql_query("SELECT type FROM award_types WHERE conferences_id=".$conference['id']." ORDER BY type");
|
||||
$results = mysql_query("SELECT type FROM award_types WHERE year=".$config['FAIRYEAR']." ORDER BY type");
|
||||
echo "<option value=\"All\">".i18n("All")."</option>";
|
||||
while($r=mysql_fetch_object($results)) {
|
||||
echo "<option value=\"$r->type\">".i18n("$r->type")."</option>";
|
||||
@ -97,7 +92,7 @@
|
||||
|
||||
echo "<tr><td><b>".i18n("Include the following age categories").":</b></td>";
|
||||
echo "<td>";
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE conferences_id='{$conference['id']}' ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE year='{$config['FAIRYEAR']}' ORDER BY id");
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
echo "<input name=\"show_category[{$r->id}]\" type=\"checkbox\" checked=\"checked\" />";
|
||||
echo "".i18n($r->category)."<br />";
|
||||
|
@ -23,117 +23,115 @@
|
||||
|
||||
$report_committees_fields = array(
|
||||
'name' => array(
|
||||
'start_option_group' => 'Committee Member Name',
|
||||
'name' => 'Committee Member -- Full Name ',
|
||||
'header' => 'Name',
|
||||
'width' => 44.45 /*mm*/,
|
||||
'width' => 1.75,
|
||||
'table' => "CONCAT(users.firstname, ' ', users.lastname)",
|
||||
'table_sort' => 'users.lastname'),
|
||||
|
||||
'last_name' => array(
|
||||
'name' => 'Committee Member -- Last Name',
|
||||
'header' => 'Last Name',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1.0,
|
||||
'table' => 'users.lastname' ),
|
||||
|
||||
'first_name' => array(
|
||||
'name' => 'Committee Member -- First Name',
|
||||
'header' => 'First Name',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1.0,
|
||||
'table' => 'users.firstname' ),
|
||||
|
||||
'email' => array(
|
||||
'start_option_group' => 'Committee Member Contact Information',
|
||||
'name' => 'Committee Member -- Email',
|
||||
'header' => 'Email',
|
||||
'width' => 50.8 /*mm*/,
|
||||
'table' => 'accounts.email'),
|
||||
'width' => 2.0,
|
||||
'table' => 'users.email'),
|
||||
|
||||
'phone_home' => array(
|
||||
'name' => 'Committee Member -- Phone (Home)',
|
||||
'header' => 'Phone(Home)',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'users.phonehome'),
|
||||
|
||||
'phone_work' => array(
|
||||
'name' => 'Committee Member -- Phone (Work)',
|
||||
'header' => 'Phone(Work)',
|
||||
'width' => 31.75 /*mm*/,
|
||||
'width' => 1.25,
|
||||
'table' => 'users.phonework'),
|
||||
|
||||
'phone_cel' => array(
|
||||
'name' => 'Committee Member -- Phone (Cell)',
|
||||
'header' => 'Phone(Cell)',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'name' => 'Committee Member -- Phone (Cel)',
|
||||
'header' => 'Phone(Cel)',
|
||||
'width' => 1,
|
||||
'table' => 'users.phonecell'),
|
||||
|
||||
'address' => array(
|
||||
'name' => 'Committee Member -- Address Street',
|
||||
'header' => 'Address',
|
||||
'width' => 50.8 /*mm*/,
|
||||
'width' => 2.0,
|
||||
'table' => "CONCAT(users.address, ' ', users.address2)"),
|
||||
|
||||
'city' => array(
|
||||
'name' => 'Committee Member -- Address City',
|
||||
'header' => 'City',
|
||||
'width' => 38.1 /*mm*/,
|
||||
'width' => 1.5,
|
||||
'table' => 'users.city' ),
|
||||
|
||||
'province' => array(
|
||||
'name' => 'Committee Member -- Address '.$config['provincestate'],
|
||||
'header' => $config['provincestate'],
|
||||
'width' => 19.05 /*mm*/,
|
||||
'width' => 0.75,
|
||||
'table' => 'users.province' ),
|
||||
|
||||
'postal' => array(
|
||||
'name' => 'Committee Member -- Address '.$config['postalzip'],
|
||||
'header' => $config['postalzip'],
|
||||
'width' => 19.05 /*mm*/,
|
||||
'width' => 0.75,
|
||||
'table' => 'users.postalcode' ),
|
||||
|
||||
'organization' => array(
|
||||
'start_option_group' => 'Committee Member Misc.',
|
||||
'name' => 'Committee Member -- Organization',
|
||||
'header' => 'Organization',
|
||||
'width' => 50.8 /*mm*/,
|
||||
'width' => 2,
|
||||
'table' => 'users.organization'),
|
||||
|
||||
'committee' => array(
|
||||
'name' => 'Committee Member -- Committee Name',
|
||||
'header' => 'Committee',
|
||||
'width' => 2,
|
||||
'table' => 'committees.name'),
|
||||
|
||||
'title' => array(
|
||||
'name' => 'Committee Member -- Title on Committee',
|
||||
'header' => 'Title',
|
||||
'width' => 2,
|
||||
'table' => 'committees_link.title'),
|
||||
|
||||
'committeetitle' => array(
|
||||
'name' => 'Committee Member -- Committee and Title',
|
||||
'header' => 'Committee and Title',
|
||||
'width' => 2,
|
||||
'table' => "CONCAT(committees.name, ' - ', committees_link.title)"),
|
||||
|
||||
'firstaid' => array(
|
||||
'name' => 'Committee Member -- First Aid Training',
|
||||
'header' => 'F.Aid',
|
||||
'width' => 12.7 /*mm*/,
|
||||
'width' => 0.5,
|
||||
'table' => 'users.firstaid',
|
||||
'value_map' =>array ('no' => 'no', 'yes' => 'YES')),
|
||||
|
||||
'cpr' => array(
|
||||
'name' => 'Committee Member -- CPR Training',
|
||||
'header' => 'CPR',
|
||||
'width' => 12.7 /*mm*/,
|
||||
'width' => 0.5,
|
||||
'table' => 'users.cpr',
|
||||
'value_map' =>array ('no' => 'no', 'yes' => 'YES')),
|
||||
|
||||
|
||||
/* The label system depends on each report type having conference_name and conference_logo */
|
||||
'conference_name' => array(
|
||||
'start_option_group' => 'Conference Information',
|
||||
'name' => 'Conference -- Name',
|
||||
'header' => 'Conference Name',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'table' => "'".mysql_escape_string($conference['name'])."'"),
|
||||
|
||||
'conference_logo' => array(
|
||||
'name' => 'Conference -- Logo (for Labels only)',
|
||||
'header' => '',
|
||||
'width' => 1 /*mm*/,
|
||||
'table' => "CONCAT(' ')"),
|
||||
|
||||
'static_text' => array(
|
||||
'start_option_group' => 'Special Fields',
|
||||
'name' => 'Static Text (useful for labels)',
|
||||
'header' => '',
|
||||
'width' => 2.54 /*mm*/,
|
||||
'width' => 0.1,
|
||||
'table' => "CONCAT(' ')"),
|
||||
|
||||
);
|
||||
|
||||
function report_committees_fromwhere($report, $components)
|
||||
@ -141,10 +139,9 @@ $report_committees_fields = array(
|
||||
global $config, $report_committees_fields;
|
||||
|
||||
$fields = $report_committees_fields;
|
||||
/*
|
||||
// if this gets unremarked for future use, then the year references will need to be updated to use conferences instead
|
||||
$year = $report['year'];
|
||||
|
||||
/*
|
||||
$teams_from = '';
|
||||
$teams_where = '';
|
||||
if(in_array('teams', $components)) {
|
||||
@ -155,11 +152,17 @@ $report_committees_fields = array(
|
||||
AND committees_teams.year='$year'";
|
||||
}
|
||||
*/
|
||||
$q = " FROM users
|
||||
LEFT JOIN user_roles on user_roles.users_id=users.id
|
||||
LEFT JOIN accounts ON accounts.id=users.accounts_id
|
||||
$q = " FROM
|
||||
committees_link
|
||||
JOIN committees ON committees_link.committees_id=committees.id
|
||||
JOIN users
|
||||
ON committees_link.users_uid=users.uid
|
||||
LEFT OUTER JOIN users u2
|
||||
ON u2.uid=users.uid
|
||||
AND u2.year>users.year
|
||||
WHERE
|
||||
user_role.type='committee'
|
||||
users.types LIKE '%committee%'
|
||||
AND u2.uid IS NULL
|
||||
";
|
||||
|
||||
return $q;
|
||||
|
@ -22,9 +22,10 @@
|
||||
*/
|
||||
?>
|
||||
<?
|
||||
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
require_once('reports_students.inc.php');
|
||||
require_once('reports_judges.inc.php');
|
||||
@ -38,8 +39,9 @@
|
||||
require_once('reports.inc.php');
|
||||
require_once('../tcpdf.inc.php');
|
||||
|
||||
|
||||
$fields = array();
|
||||
$locs = array('X' => 'x', 'Y' => 'y', 'W' => 'w', 'H' => 'h');
|
||||
$locs = array('X' => 'x', 'Y' => 'y', 'W' => 'w', 'H' => 'h', 'Lines' => 'lines');
|
||||
|
||||
function field_selector($name, $id, $selected)
|
||||
{
|
||||
@ -53,6 +55,10 @@
|
||||
if($in_optgroup) echo '</optgroup>';
|
||||
echo '<optgroup label="'.i18n($f['start_option_group']).'">';
|
||||
}
|
||||
if($f['name']=='Project -- Type'){ //filter out if the configuration setting does not allow for the project type
|
||||
global $config;
|
||||
if($config['project_type']=='no') continue;
|
||||
}
|
||||
$sel = ($selected == $k) ? 'selected=\"selected\"': '' ;
|
||||
echo "<option value=\"$k\" $sel >{$f['name']}</option>";
|
||||
}
|
||||
@ -64,7 +70,7 @@
|
||||
{
|
||||
echo "<select name=\"$name\" $onchange >";
|
||||
foreach($a as $v=>$val) {
|
||||
$sel = ($selected == $v) ? 'selected=\"selected\"' : '';
|
||||
$sel = ($selected == $v) ? 'selected=selected' : '';
|
||||
echo "<option value=\"$v\" $sel>$val</option>";
|
||||
}
|
||||
echo '</select>';
|
||||
@ -175,7 +181,7 @@
|
||||
}
|
||||
|
||||
|
||||
send_header("Report Management",
|
||||
send_header("Reports Editor",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php'),
|
||||
"report_management"
|
||||
@ -203,7 +209,53 @@ function initCanvas(w,h,lw,lh) {
|
||||
labelHeight=lh;
|
||||
}
|
||||
|
||||
function createData(x,y,w,h,align,valign,fontname,fontstyle,fontsize,value) {
|
||||
function createData(x,y,w,h,l,face,align,valign,value) {
|
||||
var canvas=document.getElementById('layoutcanvas');
|
||||
var newdiv=document.createElement('div');
|
||||
if(valign=="vcenter") verticalAlign="middle";
|
||||
else if(valign=="vtop") verticalAlign="top";
|
||||
else if(valign=="vbottom") verticalAlign="bottom";
|
||||
else verticalAlign="top";
|
||||
// alert(verticalAlign);
|
||||
|
||||
//convert x,y,w,h from % to absolute
|
||||
|
||||
var dx=Math.round(x*canvasWidth/100);
|
||||
var dy=Math.round(y*canvasHeight/100);
|
||||
var dw=Math.round(w*canvasWidth/100);
|
||||
var dh=Math.round(h*canvasHeight/100);
|
||||
// alert(dx+','+dy+','+dw+','+dh);
|
||||
|
||||
var fontheight=Math.round(dh/l);
|
||||
|
||||
newdiv.setAttribute('id','o_'+canvasObjectIndex);
|
||||
newdiv.style.display="table-cell";
|
||||
newdiv.style.position="absolute";
|
||||
newdiv.style.width=dw+"px";
|
||||
newdiv.style.height=dh+"px";
|
||||
newdiv.style.left=dx+"px";
|
||||
newdiv.style.top=dy+"px";
|
||||
newdiv.style.textAlign=align;
|
||||
newdiv.style.verticalAlign=verticalAlign;
|
||||
newdiv.style.padding="0 0 0 0";
|
||||
newdiv.style.margin="0 0 0 0";
|
||||
// newdiv.style.vertical-align=valign;
|
||||
newdiv.style.border="1px solid blue";
|
||||
newdiv.style.fontSize=fontheight+"px";
|
||||
newdiv.style.lineHeight=fontheight+"px";
|
||||
newdiv.style.fontFamily="Verdana";
|
||||
newdiv.style.fontSizeAdjust=0.65;
|
||||
|
||||
var maxlength=Math.floor(dw/(fontheight*0.7))*l;
|
||||
if(value.length>maxlength) value=value.substring(0,maxlength);
|
||||
newdiv.innerHTML=value; //"Maple Test xxxx"; //value;
|
||||
|
||||
canvas.appendChild(newdiv);
|
||||
|
||||
canvasObjectIndex++;
|
||||
}
|
||||
|
||||
function createDataTCPDF(x,y,w,h,align,valign,fontname,fontstyle,fontsize,value) {
|
||||
|
||||
var canvas=document.getElementById('layoutcanvas');
|
||||
var newdiv=document.createElement('div');
|
||||
@ -287,7 +339,7 @@ function createData(x,y,w,h,align,valign,fontname,fontstyle,fontsize,value) {
|
||||
/* Do the options */
|
||||
$x = 0;
|
||||
foreach($report['option'] as $k=>$v) {
|
||||
echo "\n\t('', LAST_INSERT_ID(), 'option', $x, '$k', '$v', 0, 0, 0, 0, 0, '', ''),";
|
||||
echo "\n\t('', LAST_INSERT_ID(), 'option', $x, '$k', '".mysql_real_escape_string($v)."', 0, 0, 0, 0, 0, '', ''),";
|
||||
$x++;
|
||||
}
|
||||
/* Do the fields */
|
||||
@ -405,10 +457,10 @@ function createData(x,y,w,h,align,valign,fontname,fontstyle,fontsize,value) {
|
||||
echo "</table>\n";
|
||||
|
||||
$doCanvasSample = false;
|
||||
$doCanvasSampletcpdf = false;
|
||||
$l_w=$report_stock[$report['option']['stock']]['label_width'];
|
||||
$l_h=$report_stock[$report['option']['stock']]['label_height'];
|
||||
|
||||
if($l_w && $l_h && $report['option']['type']=='label') {
|
||||
if($l_w && $l_h && $report['option']['type']=="label") {
|
||||
echo "<h4>Label Data Locations</h4>";
|
||||
|
||||
$doCanvasSample=true;
|
||||
@ -420,10 +472,26 @@ $doCanvasSample = false;
|
||||
echo "<script type=\"text/javascript\">initCanvas($canvaswidth,$canvasheight,$l_w,$l_h)</script>\n";
|
||||
}
|
||||
|
||||
if($l_w && $l_h && $report['option']['type']=="tcpdf_label") {
|
||||
echo "<h4>Label Data Locations - TCPDF</h4>";
|
||||
|
||||
$l_w *= 25.4;
|
||||
$l_h *= 25.4;
|
||||
$doCanvasSampletcpdf=true;
|
||||
$ratio=$l_h/$l_w;
|
||||
$canvaswidth=600;
|
||||
$canvasheight=round($canvaswidth*$ratio);
|
||||
echo "<div id=\"layoutcanvas\" style=\"border: 1px solid red; position: relative; width: {$canvaswidth}px; height: {$canvasheight}px;\">";
|
||||
echo "</div>\n";
|
||||
echo "<script type=\"text/javascript\">initCanvas($canvaswidth,$canvasheight,$l_w,$l_h)</script>\n";
|
||||
}
|
||||
|
||||
|
||||
echo "<table>";
|
||||
$x=0;
|
||||
|
||||
|
||||
if($report['option']['type'] == 'label') {
|
||||
if($report['option']['type'] == 'label' || $report['option']['type'] == 'tcpdf_label') {
|
||||
$fontlist = array('' => 'Default');
|
||||
$fl = PDF::getFontList();
|
||||
foreach($fl as $f) $fontlist[$f] = $f;
|
||||
@ -431,27 +499,38 @@ $doCanvasSample = false;
|
||||
|
||||
foreach($report['col'] as $o=>$d) {
|
||||
$f = $d['field'];
|
||||
echo "<b>{$fields[$d['field']]['name']}: </b><br/>";
|
||||
echo "<tr><td align=\"right\">Loc ".($o+1).": </td>";
|
||||
echo "<td>";
|
||||
$script="";
|
||||
foreach($locs as $k=>$v) {
|
||||
echo "$k=<input type=\"text\" size=\"5\" name=\"col[$x][$v]\" value=\"{$d[$v]}\">";
|
||||
if($k=='Lines' && $report['option']['type'] != 'label') continue;
|
||||
echo "$k=<input type=\"text\" size=\"3\" name=\"col[$x][$v]\" value=\"{$d[$v]}\">";
|
||||
$script.="{$d[$v]},";
|
||||
}
|
||||
|
||||
if($report['option']['type'] == 'label') {
|
||||
echo 'Face=';
|
||||
selector("col[$x][face]", array('' => '', 'bold' => 'Bold'), $d['face']);
|
||||
}
|
||||
echo 'Align';
|
||||
selector("col[$x][align]", array('center' => 'Center', 'left' => 'Left', 'right' => 'Right'),
|
||||
$d['align']);
|
||||
echo 'vAlign';
|
||||
selector("col[$x][valign]", array('middle' => 'Middle', 'top' => 'Top', 'bottom' => 'Bottom'),
|
||||
$d['valign']);
|
||||
echo '<br/>';
|
||||
echo 'Font=';
|
||||
selector("col[$x][fontname]", $fontlist, $d['fontname']);
|
||||
selector("col[$x][fontstyle]", array('' => '', 'bold' => 'Bold'), $d['fontstyle']);
|
||||
echo "<input type=\"text\" size=\"3\" name=\"col[$x][fontsize]\" value=\"{$d['fontsize']}\">";
|
||||
echo 'pt ';
|
||||
echo 'OnOverflow=';
|
||||
selector("col[$x][on_overflow]", array('nothing'=>'Nothing (overflow the box)', 'truncate'=>'Truncate','...'=>'Truncate and add ellipses (...)', 'scale'=>'Scale'), $d['on_overflow']);
|
||||
if($report['option']['type'] == 'label') {
|
||||
selector("col[$x][valign]", array('vcenter' => 'Center', 'vtop' => 'Top', 'vbottom' => 'Bottom'),
|
||||
$d['valign']);
|
||||
} else {
|
||||
selector("col[$x][valign]", array('middle' => 'Middle', 'top' => 'Top', 'bottom' => 'Bottom'),
|
||||
$d['valign']);
|
||||
|
||||
echo 'Font=';
|
||||
selector("col[$x][fontname]", $fontlist, $d['fontname']);
|
||||
selector("col[$x][fontstyle]", array('' => '', 'bold' => 'Bold'), $d['fontstyle']);
|
||||
echo "<input type=\"text\" size=\"3\" name=\"col[$x][fontsize]\" value=\"{$d['fontsize']}\">";
|
||||
echo 'pt ';
|
||||
echo 'OnOverflow=';
|
||||
selector("col[$x][on_overflow]", array('tuncate'=>'Truncate','...'=>'Add ...', 'scale'=>'Scale'), $d['on_overflow']);
|
||||
}
|
||||
|
||||
if($f == 'static_text') {
|
||||
echo "<br />Text=<input type=\"text\" size=\"40\" name=\"col[$x][value]\" value=\"{$d['value']}\">";
|
||||
@ -459,45 +538,56 @@ $doCanvasSample = false;
|
||||
echo "<input type=\"hidden\" name=\"col[$x][value]\" value=\"\">";
|
||||
}
|
||||
if($doCanvasSample)
|
||||
echo "<script type=\"text/javascript\">createData({$script}'{$d['align']}','{$d['valign']}','{$d['fontname']}','{$d['fontstyle']}','{$d['fontsize']}','{$canvasLabels[$x]}')</script>\n";
|
||||
echo "<script type=\"text/javascript\">createData({$script}'{$d['face']}','{$d['align']}','{$d['valign']}','{$canvasLabels[$x]}')</script>\n";
|
||||
if($doCanvasSampletcpdf)
|
||||
echo "<script type=\"text/javascript\">createDataTCPDF({$script}'{$d['align']}','{$d['valign']}','{$d['fontname']}','{$d['fontstyle']}','{$d['fontsize']}','{$canvasLabels[$x]}')</script>\n";
|
||||
|
||||
$x++;
|
||||
echo '<br/><br/>';
|
||||
}
|
||||
for(;$x<$n_columns;$x++) {
|
||||
echo "<b>New Column ".($x+1).": </b><br/> ";
|
||||
echo "<tr><td align=\"right\">Loc ".($x+1).": </td>";
|
||||
echo "<td>";
|
||||
foreach($locs as $k=>$v) {
|
||||
echo "$k=<input type=\"text\" size=\"5\" name=\"col[$x][$v]\" value=\"0\">";
|
||||
if($k=='Lines' && $report['option']['type'] != 'label') continue;
|
||||
echo "$k=<input type=\"text\" size=\"3\" name=\"col[$x][$v]\" value=\"0\">";
|
||||
}
|
||||
if($report['option']['type'] == 'label') {
|
||||
echo 'Face=';
|
||||
selector("col[$x][face]", array('' => '', 'bold' => 'Bold'), '');
|
||||
}
|
||||
|
||||
echo 'Align';
|
||||
selector("col[$x][align]", array('center' => 'Center', 'left' => 'Left', 'right' => 'Right'),
|
||||
'center');
|
||||
echo 'vAlign';
|
||||
selector("col[$x][valign]", array('middle' => 'Middle', 'top' => 'Top', 'bottom' => 'Bottom'), 'middle');
|
||||
if($report['option']['type'] == 'label') {
|
||||
selector("col[$x][valign]", array('vcenter' => 'Center', 'vtop' => 'Top', 'vbottom' => 'Bottom'),
|
||||
'top');
|
||||
} else {
|
||||
selector("col[$x][valign]", array('middle' => 'Middle', 'top' => 'Top', 'bottom' => 'Bottom'), 'middle');
|
||||
|
||||
echo '<br/>';
|
||||
echo 'Font=';
|
||||
selector("col[$x][fontname]", $fontlist, '');
|
||||
selector("col[$x][fontstyle]", array('' => '', 'bold' => 'Bold'), '');
|
||||
echo "<input type=\"text\" size=\"3\" name=\"col[$x][fontsize]\" value=\"\">";
|
||||
echo 'pt ';
|
||||
echo 'OnOverflow=';
|
||||
selector("col[$x][on_overflow]", array('nothing'=>'Nothing (overflow the box)', 'truncate'=>'Truncate','...'=>'Truncate and add ellipses (...)', 'scale'=>'Scale'),'truncate');
|
||||
|
||||
echo 'Font=';
|
||||
selector("col[$x][fontname]", $fontlist, '');
|
||||
selector("col[$x][fontstyle]", array('' => '', 'bold' => 'Bold'), '');
|
||||
echo "<input type=\"text\" size=\"3\" name=\"col[$x][fontsize]\" value=\"\">";
|
||||
echo 'pt ';
|
||||
echo 'OnOverflow=';
|
||||
selector("col[$x][on_overflow]", array('Truncate'=>'truncate','Add ...'=>'...', 'Scale'=>'scale'),'');
|
||||
}
|
||||
echo "<input type=\"hidden\" name=\"col[$x][value]\" value=\"\">";
|
||||
echo "<br/><br/>";
|
||||
echo "</td></tr>";
|
||||
}
|
||||
}
|
||||
echo "</table>\n";
|
||||
echo "<h4>Grouping</h4>";
|
||||
for($x=0;$x<2;$x++) {
|
||||
for($x=0;$x<3;$x++) {
|
||||
echo "Group By".($x + 1).": ";
|
||||
$f = $report['group'][$x]['field'];
|
||||
field_selector("group[$x]", "group$x", $f);
|
||||
echo "<br />";
|
||||
}
|
||||
echo "<h4>Sorting</h4>";
|
||||
for($x=0;$x<3;$x++) {
|
||||
for($x=0;$x<5;$x++) {
|
||||
echo "Sort By".($x + 1).": ";
|
||||
$f = $report['sort'][$x]['field'];
|
||||
field_selector("sort[$x]", "sort$x",$f);
|
||||
|
@ -20,396 +20,379 @@
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
$parts = explode('-', $config['dates']['fairdate']);
|
||||
$fairYear = $parts[0];
|
||||
$report_fairs_fields = array(
|
||||
|
||||
'fairinfo_name' => array(
|
||||
'start_option_group' => 'Fair Information',
|
||||
'fair_name' => array(
|
||||
'name' => 'Fair -- Fair Name',
|
||||
'header' => 'Name',
|
||||
'width' => 38.1 /*mm*/,
|
||||
'width' => 1.5,
|
||||
'table' => 'fairs.name'),
|
||||
|
||||
'fairstats_year' => array (
|
||||
'start_option_group' => 'Fair Statistics',
|
||||
'name' => 'Fair Stats -- Year',
|
||||
'header' => 'Year',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.year',
|
||||
'components' => array('fairs_stats')),
|
||||
|
||||
'fairstats_year' => array (
|
||||
'name' => 'Fair Stats -- Year',
|
||||
'header' => 'Year',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.year',
|
||||
'components' => array('fairs_stats')),
|
||||
|
||||
'fairstats_start_date' => array (
|
||||
'name' => 'Fair Stats -- Fair Start',
|
||||
'header' => 'Fair Start',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.start_date',
|
||||
'components' => array('fairs_stats')),
|
||||
|
||||
'fairstats_end_date' => array (
|
||||
'name' => 'Fair Stats -- Fair End',
|
||||
'header' => 'Fair End',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.end_date',
|
||||
'components' => array('fairs_stats')),
|
||||
|
||||
'fairstats_budget' => array (
|
||||
'name' => 'Fair Stats -- Budget',
|
||||
'header' => 'Budget',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.budget',
|
||||
'components' => array('fairs_stats')),
|
||||
|
||||
'fairstats_address' => array (
|
||||
'name' => 'Fair Stats -- Fair Location',
|
||||
'header' => 'Fair Location',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.address',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_ysf_affiliation_complete' => array (
|
||||
'name' => 'Fair Stats -- YSC Affilitation Complete',
|
||||
'header' => 'YSC Affilitation Complete',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.ysf_affiliation_complete',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_charity' => array (
|
||||
'name' => 'Fair Stats -- Charity Number/Info',
|
||||
'header' => 'Charity Number/Info',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.charity',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_scholarships' => array (
|
||||
'name' => 'Fair Stats -- Scholarship Info',
|
||||
'header' => 'Scholarship Info',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.scholarships',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_male_1' => array (
|
||||
'name' => 'Fair Stats -- Males Grade 1-3',
|
||||
'header' => 'Males Grade 1-3',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.male_1',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_male_4' => array (
|
||||
'name' => 'Fair Stats -- Males Grade 4-6',
|
||||
'header' => 'Males Grade 4-6',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.male_4',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_male_7' => array (
|
||||
'name' => 'Fair Stats -- Males Grade 7-8',
|
||||
'header' => 'Males Grade 7-8',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.male_7',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_male_9' => array (
|
||||
'name' => 'Fair Stats -- Males Grade 9-10',
|
||||
'header' => 'Males Grade 9-10',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.male_9',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_male_11' => array (
|
||||
'name' => 'Fair Stats -- Males Grade 11-12',
|
||||
'header' => 'Males Grade 11-12',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.male_11',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_female_1' => array (
|
||||
'name' => 'Fair Stats -- Females Grade 1-3',
|
||||
'header' => 'Females Grade 1-3',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.female_1',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_female_4' => array (
|
||||
'name' => 'Fair Stats -- Females Grade 4-6',
|
||||
'header' => 'Females Grade 4-6',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.female_4',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_female_7' => array (
|
||||
'name' => 'Fair Stats -- Females Grade 7-8',
|
||||
'header' => 'Females Grade 7-8',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.female_7',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_female_9' => array (
|
||||
'name' => 'Fair Stats -- Females Grade 9-10',
|
||||
'header' => 'Females Grade 9-10',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.female_9',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_female_11' => array (
|
||||
'name' => 'Fair Stats -- Females Grade 11-12',
|
||||
'header' => 'Females Grade 11-12',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.female_11',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_projects_1' => array (
|
||||
'name' => 'Fair Stats -- Projects Grade 1-3',
|
||||
'header' => 'Projects Grade 1-3',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.projects_1',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_projects_4' => array (
|
||||
'name' => 'Fair Stats -- Projects Grade 4-6',
|
||||
'header' => 'Projects Grade 4-6',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.projects_4',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_projects_7' => array (
|
||||
'name' => 'Fair Stats -- Projects Grade 7-8',
|
||||
'header' => 'Projects Grade 7-8',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.projects_7',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_projects_9' => array (
|
||||
'name' => 'Fair Stats -- Projects Grade 9-10',
|
||||
'header' => 'Projects Grade 9-10',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.projects_9',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_projects_11' => array (
|
||||
'name' => 'Fair Stats -- Projects Grade 11-12',
|
||||
'header' => 'Projects Grade 11-12',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.projects_11',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_firstnations' => array (
|
||||
'name' => 'Fair Stats -- First Nations Students',
|
||||
'header' => 'First Nations Students',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.firstnations',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_students_atrisk' => array (
|
||||
'name' => 'Fair Stats -- Inner City Students',
|
||||
'header' => 'Inner City Students',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.students_atrisk',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_schools_atrisk' => array (
|
||||
'name' => 'Fair Stats -- Inner City Schools',
|
||||
'header' => 'Inner City Schools',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.schools_atrisk',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_students_total' => array (
|
||||
'name' => 'Fair Stats -- Total Participants',
|
||||
'header' => 'Total Participants',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.students_total',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_schools_total' => array (
|
||||
'name' => 'Fair Stats -- Total Schools',
|
||||
'header' => 'Total Schools',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.schools_total',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_schools_active' => array (
|
||||
'name' => 'Fair Stats -- Active Schools',
|
||||
'header' => 'Active Schools',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.schools_active',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_students_public' => array (
|
||||
'name' => 'Fair Stats -- Participants from Public',
|
||||
'header' => 'Participants from Public',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.students_public',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_schools_public' => array (
|
||||
'name' => 'Fair Stats -- Public Schools',
|
||||
'header' => 'Public Schools',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.schools_public',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_students_private' => array (
|
||||
'name' => 'Fair Stats -- Participants from Independent',
|
||||
'header' => 'Participants from Independent',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.students_private',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_schools_private' => array (
|
||||
'name' => 'Fair Stats -- Independent Schools',
|
||||
'header' => 'Independent Schools',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.schools_private',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_schools_districts' => array (
|
||||
'name' => 'Fair Stats -- School Districts',
|
||||
'header' => 'School Districts',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.schools_districts',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_studentsvisiting' => array (
|
||||
'name' => 'Fair Stats -- Students Visiting',
|
||||
'header' => 'Students Visiting',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.studentsvisiting',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_publicvisiting' => array (
|
||||
'name' => 'Fair Stats -- Public Guests Visting',
|
||||
'header' => 'Public Guests Visting',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.publicvisiting',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_teacherssupporting' => array (
|
||||
'name' => 'Fair Stats -- Teachers Supporting Projects',
|
||||
'header' => 'Teachers Supporting Projects',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.teacherssupporting',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_increasedinterest' => array (
|
||||
'name' => 'Fair Stats -- Students Increased Interest in Science',
|
||||
'header' => 'Students Increased Interest in Science',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.increasedinterest',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_consideringcareer' => array (
|
||||
'name' => 'Fair Stats -- Students Considering Career in Science',
|
||||
'header' => 'Students Considering Career in Science',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.consideringcareer',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_committee_members' => array (
|
||||
'name' => 'Fair Stats -- Committee Members',
|
||||
'header' => 'Committee Members',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.committee_members',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_judges' => array (
|
||||
'name' => 'Fair Stats -- Judges',
|
||||
'header' => 'Judges',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.judges',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_next_chair_name' => array (
|
||||
'name' => 'Fair Stats -- Regional Chairperson Name',
|
||||
'header' => 'Regional Chairperson Name',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.next_chair_name',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_next_chair_email' => array (
|
||||
'name' => 'Fair Stats -- Email',
|
||||
'header' => 'Email',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.next_chair_email',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_next_chair_hphone' => array (
|
||||
'name' => 'Fair Stats -- Home Phone',
|
||||
'header' => 'Home Phone',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.next_chair_hphone',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_next_chair_bphone' => array (
|
||||
'name' => 'Fair Stats -- Business Phone',
|
||||
'header' => 'Business Phone',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.next_chair_bphone',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_next_chair_fax' => array (
|
||||
'name' => 'Fair Stats -- Fax',
|
||||
'header' => 'Fax',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.next_chair_fax',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_delegate1' => array (
|
||||
'name' => 'Fair Stats -- Delegate 1',
|
||||
'header' => 'Delegate 1',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.delegate1',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_delegate2' => array (
|
||||
'name' => 'Fair Stats -- Delegate 2',
|
||||
'header' => 'Delegate 2',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.delegate2',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_delegate3' => array (
|
||||
'name' => 'Fair Stats -- Delegate 3',
|
||||
'header' => 'Delegate 3',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.delegate3',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_delegate4' => array (
|
||||
'name' => 'Fair Stats -- Delegate 4',
|
||||
'header' => 'Delegate 4',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.delegate4',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_delegate1_email' => array (
|
||||
'name' => 'Fair Stats -- Delegate 1 Email',
|
||||
'header' => 'Delegate 1 Email',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.delegate1_email',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_delegate2_email' => array (
|
||||
'name' => 'Fair Stats -- Delegate 2 Email',
|
||||
'header' => 'Delegate 2 Email',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.delegate2_email',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_delegate3_email' => array (
|
||||
'name' => 'Fair Stats -- Delegate 3 Email',
|
||||
'header' => 'Delegate 3 Email',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.delegate3_email',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_delegate4_email' => array (
|
||||
'name' => 'Fair Stats -- Delegate 4 Email',
|
||||
'header' => 'Delegate 4 Email',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.delegate4_email',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_delegate1_size' => array (
|
||||
'name' => 'Fair Stats -- Delegate 1 Jacket Size',
|
||||
'header' => 'Delegate 1 Jacket Size',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.delegate1_size',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_delegate2_size' => array (
|
||||
'name' => 'Fair Stats -- Delegate 2 Jacket Size',
|
||||
'header' => 'Delegate 2 Jacket Size',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.delegate2_size',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_delegate3_size' => array (
|
||||
'name' => 'Fair Stats -- Delegate 3 Jacket Size',
|
||||
'header' => 'Delegate 3 Jacket Size',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.delegate3_size',
|
||||
'components' => array('fairs_stats')),
|
||||
'fairstats_delegate4_size' => array (
|
||||
'name' => 'Fair Stats -- Delegate 4 Jacket Size',
|
||||
'header' => 'Delegate 4 Jacket Size',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'fairs_stats.delegate4_size',
|
||||
'components' => array('fairs_stats')),
|
||||
|
||||
/* The label system depends on each report type having conference_name and conference_logo */
|
||||
'conference_name' => array(
|
||||
'start_option_group' => 'Local Conference Information',
|
||||
'name' => 'Conference -- Name',
|
||||
'header' => 'Conference Name',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'table' => "'".mysql_escape_string($conference['name'])."'"),
|
||||
|
||||
'conference_logo' => array(
|
||||
'name' => 'Conference -- Logo (for Labels only)',
|
||||
'header' => '',
|
||||
'width' => 1 /*mm*/,
|
||||
'table' => "CONCAT(' ')"),
|
||||
|
||||
'static_text' => array (
|
||||
'name' => 'Static Text (useful for labels)',
|
||||
'header' => '',
|
||||
'width' => 2.54 /*mm*/,
|
||||
'width' => 0.1,
|
||||
'table' => "CONCAT(' ')"),
|
||||
|
||||
);
|
||||
@ -419,19 +402,19 @@ $report_fairs_fields = array(
|
||||
global $config, $report_fairs_fields;
|
||||
|
||||
$fields = $report_fairs_fields;
|
||||
$conferences_id = $report['conferences_id'];
|
||||
$year = $report['year'];
|
||||
|
||||
if(in_array('fairs_stats', $components)) {
|
||||
$fs_from = 'LEFT JOIN fairs_stats ON fairs_stats.fairs_id=fairs.id';
|
||||
$fs_where = "fairs_stats.conferences_id='$conferences_id' AND";
|
||||
$fs_where = "fairs_stats.year='$year'";
|
||||
|
||||
}
|
||||
|
||||
$q = " FROM fairs
|
||||
$fs_from
|
||||
WHERE
|
||||
1 AND
|
||||
$fs_where
|
||||
1
|
||||
";
|
||||
|
||||
return $q;
|
||||
|
@ -24,12 +24,14 @@
|
||||
|
||||
/* Take the language array in users_fundraising, unserialize it, and join it
|
||||
* with a space */
|
||||
function report_fundraisings_languages(&$report, $field, $text)
|
||||
function report_fundraisings_languages($report, $field, $text)
|
||||
{
|
||||
$l = unserialize($text);
|
||||
return join(' ', $l);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Components: */
|
||||
/* Yes, fundraisings, the generator takes the report type (also the user.type in many cases) and
|
||||
* just adds an 's' to find the fields and the functions. */
|
||||
@ -38,21 +40,21 @@ $report_fundraisings_fields = array(
|
||||
'start_option_group' => 'Campaign ID',
|
||||
'name' => 'Fundraising Campaign numerical ID',
|
||||
'header' => 'ID',
|
||||
'width' => 6.35 /*mm*/,
|
||||
'width' => 0.25,
|
||||
'table' => "fundraising_campaigns.id"),
|
||||
|
||||
'salutation' => array(
|
||||
'start_option_group' => 'Contact Information',
|
||||
'name' => 'Contact -- Salutation (Mr., Mrs., etc.)',
|
||||
'header' => 'Sal',
|
||||
'width' => 12.7 /*mm*/,
|
||||
'width' => 0.5,
|
||||
'table' => "users.salutation",
|
||||
'components' => array('users') ),
|
||||
|
||||
'namefl' => array(
|
||||
'name' => 'Contact -- Full Name (first last)',
|
||||
'header' => 'Name',
|
||||
'width' => 44.45 /*mm*/,
|
||||
'width' => 1.75,
|
||||
'table' => "CONCAT(users.firstname, ' ', users.lastname)",
|
||||
'table_sort'=> 'users.lastname',
|
||||
'components' => array('users') ),
|
||||
@ -60,35 +62,35 @@ $report_fundraisings_fields = array(
|
||||
'email' => array(
|
||||
'name' => 'Contact -- Email',
|
||||
'header' => 'Email',
|
||||
'width' => 50.8 /*mm*/,
|
||||
'width' => 2.0,
|
||||
'table' => 'users.email',
|
||||
'components' => array('users') ),
|
||||
|
||||
'phone_home' => array(
|
||||
'name' => 'Contact -- Phone (Home)',
|
||||
'header' => 'Phone(Home)',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'users.phonehome',
|
||||
'components' => array('users') ),
|
||||
|
||||
'phone_work' => array(
|
||||
'name' => 'Contact -- Phone (Work)',
|
||||
'header' => 'Phone(Work)',
|
||||
'width' => 31.75 /*mm*/,
|
||||
'width' => 1.25,
|
||||
'table' => "users.phonework",
|
||||
'components' => array('users') ),
|
||||
|
||||
'organization' => array(
|
||||
'name' => 'Contact -- Organization',
|
||||
'header' => 'Organization',
|
||||
'width' => 50.8 /*mm*/,
|
||||
'width' => 2,
|
||||
'table' => 'users.organization',
|
||||
'components' => array('users') ),
|
||||
|
||||
'position' => array(
|
||||
'name' => 'Contact -- Position',
|
||||
'header' => 'Position',
|
||||
'width' => 50.8 /*mm*/,
|
||||
'width' => 2,
|
||||
'table' => 'users_sponsor.position',
|
||||
'components' => array('users') ),
|
||||
|
||||
@ -96,72 +98,58 @@ $report_fundraisings_fields = array(
|
||||
'start_option_group' => 'Contact Address',
|
||||
'name' => 'Contact Address -- Street',
|
||||
'header' => 'Address',
|
||||
'width' => 50.8 /*mm*/,
|
||||
'width' => 2.0,
|
||||
'table' => "CONCAT(users.address, ' ', users.address2)",
|
||||
'components' => array('users') ),
|
||||
|
||||
'city' => array(
|
||||
'name' => 'Contact Address -- City',
|
||||
'header' => 'City',
|
||||
'width' => 38.1 /*mm*/,
|
||||
'width' => 1.5,
|
||||
'table' => 'users.city',
|
||||
'components' => array('users') ),
|
||||
|
||||
'province' => array(
|
||||
'name' => 'Contact Address -- '.$config['provincestate'],
|
||||
'header' => $config['provincestate'],
|
||||
'width' => 19.05 /*mm*/,
|
||||
'header' => $config['provincestate'],
|
||||
'width' => 0.75,
|
||||
'table' => 'users.province',
|
||||
'components' => array('users') ),
|
||||
|
||||
'postal' => array(
|
||||
'name' => 'Contact Address -- '.$config['postalzip'],
|
||||
'header' => $config['postalzip'],
|
||||
'width' => 19.05 /*mm*/,
|
||||
'width' => 0.75,
|
||||
'table' => 'users.postalcode' ,
|
||||
'components' => array('users') ),
|
||||
|
||||
'city_prov' => array(
|
||||
'name' => 'Contact Address -- City, '.$config['provincestate'].' (for mailing)',
|
||||
'header' => 'City',
|
||||
'width' => 38.1 /*mm*/,
|
||||
'width' => 1.5,
|
||||
'table' => "CONCAT(users.city, ', ', users.province)",
|
||||
'components' => array('users') ),
|
||||
/* // FIXME - not sure what to do with these options, converting from years to conferences
|
||||
|
||||
'year' => array(
|
||||
'start_option_group' => 'Miscellaneous',
|
||||
'name' => 'Contact -- Year',
|
||||
'header' => 'Year',
|
||||
'width' => 12.7 //mm,
|
||||
'width' => 0.5,
|
||||
'table' => 'users.year',
|
||||
'components' => array('users') ),
|
||||
|
||||
'user_filter' => array(
|
||||
'name' => 'User Filter by MAX(year)',
|
||||
'header' => '',
|
||||
'width' => 2.54 //mm,
|
||||
'width' => 0.1,
|
||||
'table' => 'MAX(users.year)',
|
||||
'group_by' => array('users.accounts_id'),
|
||||
'group_by' => array('users.uid'),
|
||||
'components' => array('users') ),
|
||||
*/
|
||||
|
||||
'static_text' => array(
|
||||
'name' => 'Static Text (useful for labels)',
|
||||
'header' => '',
|
||||
'width' => 2.54 /*mm*/,
|
||||
'table' => "CONCAT(' ')"),
|
||||
|
||||
/* The label system depends on each report type having conference_name and conference_logo */
|
||||
'conference_name' => array(
|
||||
'start_option_group' => 'Conference Information',
|
||||
'name' => 'Conference -- Name',
|
||||
'header' => 'Conference Name',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'table' => "'".mysql_escape_string($conference['name'])."'"),
|
||||
|
||||
'conference_logo' => array(
|
||||
'name' => 'Conference -- Logo (for Labels only)',
|
||||
'header' => '',
|
||||
'width' => 1 /*mm*/,
|
||||
'width' => 0.1,
|
||||
'table' => "CONCAT(' ')"),
|
||||
|
||||
);
|
||||
@ -171,21 +159,16 @@ $report_fundraisings_fields = array(
|
||||
global $config, $report_fundraisings_fields;
|
||||
|
||||
$fields = $report_fundraisings_fields;
|
||||
// $conferences_id = $report['conferences_id'];
|
||||
$year = $report['year'];
|
||||
|
||||
if(in_array('users', $components)) {
|
||||
$users_from = 'LEFT JOIN fundraising_campaigns_users_link ON fundraising_campaigns.id=fundraising_campaigns_users_link.fundraising_campaigns_id
|
||||
LEFT JOIN users ON users.accounts_id=fundraising_campaigns_users_link.users_uid
|
||||
LEFT JOIN users ON users.uid=fundraising_campaigns_users_link.users_uid
|
||||
LEFT JOIN users_sponsor ON users_sponsor.users_id=users.id';
|
||||
$users_where = "users.deleted!='yes' AND";
|
||||
}
|
||||
|
||||
/*
|
||||
// this chunk of code was already remarked when updating the system to use conferences
|
||||
// instead of fair years. If it gets re-used however, then it will need to be updated
|
||||
// accordingly. Not sure as I write this comment how the fundraising years will link
|
||||
// to the conferences, rather than to the fair years that were previously used.
|
||||
|
||||
$teams_from = '';
|
||||
$teams_where = '';
|
||||
if(in_array('teams', $components)) {
|
||||
|
@ -22,33 +22,28 @@
|
||||
*/
|
||||
?>
|
||||
<?
|
||||
require_once("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
require_once('reports.inc.php');
|
||||
require_once("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('committee', 'admin');
|
||||
require_once('reports.inc.php');
|
||||
|
||||
|
||||
$id = intval($_GET['id']);
|
||||
$type = stripslashes($_GET['type']);
|
||||
$stock = stripslashes($_GET['stock']);
|
||||
$year = intval($_GET['year']);
|
||||
$include_incomplete_registrations = ($_GET['include_incomplete_registrations'] == 'yes') ? 'yes' : '';
|
||||
$show_options = array_key_exists('show_options', $_GET);
|
||||
if($year < 1000) $year = $config['FAIRYEAR'];
|
||||
|
||||
$id = intval($_GET['id']);
|
||||
$type = $_GET['type'];
|
||||
$stock = $_GET['stock'];
|
||||
if(array_key_exists('conferences_id', $_GET)){
|
||||
$conferences_id = intval($_GET['conferences_id']);
|
||||
$result = mysql_result(mysql_query("SELECT COUNT(*) FROM conferences WHERE id = $conferences_id"), 0);
|
||||
if($result != 1) $conferences_id = $conference['id'];
|
||||
}else{
|
||||
$conferences_id = $conference['id'];
|
||||
}
|
||||
$include_incomplete_registrations = ($_GET['include_incomplete_registrations'] == 'yes') ? 'yes' : '';
|
||||
$show_options = array_key_exists('show_options', $_GET);
|
||||
|
||||
/* If it's a system report, turn that into the actual report id */
|
||||
if(array_key_exists('sid', $_GET)) {
|
||||
$sid = intval($_GET['sid']);
|
||||
$q = mysql_query("SELECT id FROM reports WHERE system_report_id='$sid'");
|
||||
/* If it's a system report, turn that into the actual report id */
|
||||
if(array_key_exists('sid', $_GET)) {
|
||||
$sid = intval($_GET['sid']);
|
||||
$q = mysql_query("SELECT id FROM reports WHERE system_report_id='$sid'");
|
||||
$r = mysql_fetch_assoc($q);
|
||||
$id = $r['id'];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$report = report_load($id);
|
||||
/* Add a custom filter if specified */
|
||||
$filter_args = '';
|
||||
@ -60,7 +55,7 @@ if(is_array($_GET['filter'])) {
|
||||
}
|
||||
|
||||
switch($_GET['action']) {
|
||||
case 'dialog_gen':
|
||||
case 'dialog_gen':
|
||||
if($id < 0) {
|
||||
$u = "{$config['SFIABDIRECTORY']}/{$report_custom[-$id]['custom_url']}";
|
||||
?>
|
||||
@ -94,7 +89,7 @@ switch($_GET['action']) {
|
||||
<?
|
||||
/* See if the report is in this committee member's list */
|
||||
$q = mysql_query("SELECT * FROM reports_committee
|
||||
WHERE users_id='{$_SESSION['accounts_id']}'
|
||||
WHERE users_id='{$_SESSION['users_uid']}'
|
||||
AND reports_id='{$report['id']}'");
|
||||
if(mysql_num_rows($q) > 0) {
|
||||
$i = mysql_fetch_assoc($q);
|
||||
@ -114,12 +109,12 @@ switch($_GET['action']) {
|
||||
<?
|
||||
$format = $report['options']['type'];
|
||||
$stock = $report['options']['stock'];
|
||||
$conferences_id = $conference['id'];
|
||||
$year = $config['FAIRYEAR'];
|
||||
|
||||
/* Out of all the report optins, we really only want these ones */
|
||||
$option_keys = array('type','stock');
|
||||
foreach($report_options as $ok=>$o) {
|
||||
if(!in_array($ok, $option_keys)) continue;
|
||||
if(!in_array($ok, $option_keys)) continue;
|
||||
|
||||
echo "<tr><td class=\"label\"><b>{$o['desc']}</b>:</td>";
|
||||
echo "<td class=\"input\"><select name=\"$ok\" id=\"$ok\">";
|
||||
@ -129,16 +124,14 @@ switch($_GET['action']) {
|
||||
}
|
||||
echo "</select></td></tr>\n";
|
||||
}
|
||||
|
||||
// Find all conferences
|
||||
$q = mysql_query("SELECT conferences.name, conferences.id, dates.date FROM conferences JOIN dates on dates.conferences_id = conferences.id WHERE dates.name='fairdate' ORDER BY dates.date DESC");
|
||||
echo "<tr><td class=\"label\"><b>".i18n('Conference')."</b>:</td>";
|
||||
echo "<td class=\"input\"><select name=\"conferences_id\" id=\"conferences_id\">";
|
||||
while($row = mysql_fetch_assoc($q)){
|
||||
$parts = explode(' ', $row['date']);
|
||||
$date = $parts[0];
|
||||
$sel = ($row['id'] == $conferences_id) ? 'selected="selected"' : '';
|
||||
echo "<option value=\"{$row['id']}\" $sel>{$row['name']} ($date)</option>";
|
||||
/* Find all the years */
|
||||
$q = mysql_query("SELECT DISTINCT year FROM config WHERE year>1000 ORDER BY year DESC");
|
||||
echo "<tr><td class=\"label\"><b>".i18n('Year')."</b>:</td>";
|
||||
echo "<td class=\"input\"><select name=\"year\" id=\"year\">";
|
||||
while($i = mysql_fetch_assoc($q)) {
|
||||
$y = $i['year'];
|
||||
$sel = ($config['FAIRYEAR'] == $y) ? 'selected="selected"' : '';
|
||||
echo "<option value=\"$y\" $sel>$y</option>";
|
||||
}
|
||||
echo "</select></td></tr>\n";
|
||||
?>
|
||||
@ -187,95 +180,93 @@ switch($_GET['action']) {
|
||||
</script>
|
||||
<?
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if($show_options == false) {
|
||||
if($id && $conferences_id) {
|
||||
$report['conferences_id'] = $conferences_id;
|
||||
if($show_options == false) {
|
||||
if($id && $year) {
|
||||
$report['year'] = $year;
|
||||
if($type != '') $report['option']['type'] = $type;
|
||||
if($stock != '') $report['option']['stock'] = $stock;
|
||||
if($include_incomplete_registrations != '') $report['option']['include_incomplete_registrations'] = 'yes';
|
||||
report_gen($report);
|
||||
} else {
|
||||
exit;
|
||||
header("Location: reports.php");
|
||||
header("Location: reports.php");
|
||||
}
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
send_header('Report Options', array(
|
||||
'Committee Main' => 'committee_main.php',
|
||||
send_header('Report Options', array(
|
||||
'Committee Main' => 'committee_main.php',
|
||||
'My Reports' => 'admin/reports.php'));
|
||||
|
||||
echo '<form method=\"get\" action="reports_gen.php">';
|
||||
echo "<input type=\"hidden\" name=\"id\" value=\"$id\">";
|
||||
echo '<form method=\"get\" action="reports_gen.php">';
|
||||
echo "<input type=\"hidden\" name=\"id\" value=\"$id\">";
|
||||
|
||||
echo '<table class="tableedit">';
|
||||
echo "<tr><td><b>".i18n('Report Name')."</b>:</td>";
|
||||
echo "<td>{$report['name']}</td></tr>";
|
||||
echo "<tr><td><b>".i18n('Description')."</b>:</td>";
|
||||
echo "<td>{$report['desc']}</td></tr>";
|
||||
echo "<tr><td><b>".i18n('Created By')."</b>:</td>";
|
||||
echo "<td>{$report['creator']}</td></tr>";
|
||||
echo '<table class="tableedit">';
|
||||
echo "<tr><td><b>".i18n('Report Name')."</b>:</td>";
|
||||
echo "<td>{$report['name']}</td></tr>";
|
||||
echo "<tr><td><b>".i18n('Description')."</b>:</td>";
|
||||
echo "<td>{$report['desc']}</td></tr>";
|
||||
echo "<tr><td><b>".i18n('Created By')."</b>:</td>";
|
||||
echo "<td>{$report['creator']}</td></tr>";
|
||||
|
||||
echo '<tr><td colspan="2"><hr /></td></tr>';
|
||||
/* See if the report is in this committee member's list */
|
||||
$q = mysql_query("SELECT * FROM reports_committee
|
||||
WHERE users_id='{$_SESSION['accounts_id']}'
|
||||
echo '<tr><td colspan="2"><hr /></td></tr>';
|
||||
/* See if the report is in this committee member's list */
|
||||
$q = mysql_query("SELECT * FROM reports_committee
|
||||
WHERE users_id='{$_SESSION['users_uid']}'
|
||||
AND reports_id='{$report['id']}'");
|
||||
echo "<tr><td colspan=\"2\"><h3>".i18n('My Reports Info')."</h3></td></tr>";
|
||||
if(mysql_num_rows($q) > 0) {
|
||||
/* Yes, it is */
|
||||
echo "<tr><td colspan=\"2\"><h3>".i18n('My Reports Info')."</h3></td></tr>";
|
||||
if(mysql_num_rows($q) > 0) {
|
||||
/* Yes, it is */
|
||||
$i = mysql_fetch_object($q);
|
||||
echo "<tr><td><b>".i18n('Category')."</b>:</td>";
|
||||
echo "<td>{$i->category}</td></tr>";
|
||||
echo "<tr><td><b>".i18n('Comment')."</b>:</td>";
|
||||
echo "<td>{$i->comment}</td></tr>";
|
||||
} else {
|
||||
echo "<tr><td></td><td>".i18n('This report is NOT in your \'My Reports\' list.')."</td></tr>";
|
||||
}
|
||||
echo '<tr><td colspan="2"><hr /></td></tr>';
|
||||
echo "<tr><td colspan=\"2\"><h3>".i18n('Report Options')."</h3></td></tr>";
|
||||
} else {
|
||||
echo "<tr><td></td><td>".i18n('This report is NOT in your \'My Reports\' list.')."</td></tr>";
|
||||
}
|
||||
echo '<tr><td colspan="2"><hr /></td></tr>';
|
||||
echo "<tr><td colspan=\"2\"><h3>".i18n('Report Options')."</h3></td></tr>";
|
||||
|
||||
$format = $report['options']['type'];
|
||||
$stock = $report['options']['stock'];
|
||||
$conferences_id = $conference['id'];
|
||||
$format = $report['options']['type'];
|
||||
$stock = $report['options']['stock'];
|
||||
$year = $config['FAIRYEAR'];
|
||||
|
||||
/* Out of all the report optoins, we really only want these ones */
|
||||
$option_keys = array('type','stock');
|
||||
foreach($report_options as $ok=>$o) {
|
||||
if(!in_array($ok, $option_keys)) continue;
|
||||
echo "<tr><td><b>{$o['desc']}</b>:</td>";
|
||||
/* Out of all the report optoins, we really only want these ones */
|
||||
$option_keys = array('type','stock');
|
||||
foreach($report_options as $ok=>$o) {
|
||||
if(!in_array($ok, $option_keys)) continue;
|
||||
echo "<tr><td><b>{$o['desc']}</b>:</td>";
|
||||
echo "<td><select name=\"$ok\" id=\"$ok\">";
|
||||
foreach($o['values'] as $k=>$v) {
|
||||
$sel = ($report['option'][$ok] == $k) ? 'selected="selected"' : '';
|
||||
echo "<option value=\"$k\" $sel>$v</option>";
|
||||
}
|
||||
echo "</select></td></tr>";
|
||||
}
|
||||
}
|
||||
/* Find all the years */
|
||||
$q = mysql_query("SELECT DISTINCT year FROM config WHERE year>1000 ORDER BY year DESC");
|
||||
echo "<tr><td><b>".i18n('Year')."</b>:</td>";
|
||||
echo "<td><select name=\"year\" id=\"year\">";
|
||||
while($i = mysql_fetch_assoc($q)) {
|
||||
$y = $i['year'];
|
||||
$sel = ($config['FAIRYEAR'] == $y) ? 'selected="selected"' : '';
|
||||
echo "<option value=\"$y\" $sel>$y</option>";
|
||||
}
|
||||
echo "</select></td></tr>";
|
||||
|
||||
// Find all conferences
|
||||
$q = mysql_query("SELECT conferences.name, conferences.id, dates.date FROM conferences JOIN dates on dates.conferences_id = conferences.id WHERE dates.name='fairdate' ORDER BY dates.date DESC");
|
||||
echo "<tr><td class=\"label\"><b>".i18n('Conference')."</b>:</td>";
|
||||
echo "<td class=\"input\"><select name=\"conferences_id\" id=\"conferences_id\">";
|
||||
while($row = mysql_fetch_assoc($q)){
|
||||
$parts = explode(' ', $row['date']);
|
||||
$date = $parts[0];
|
||||
$sel = ($row['id'] == $conferences_id) ? 'selected="selected"' : '';
|
||||
echo "<option value=\"{$row['id']}\" $sel>{$row['name']} ($date)</option>";
|
||||
}
|
||||
echo "</select></td></tr>\n";
|
||||
echo "</table>";
|
||||
|
||||
echo "</table>";
|
||||
|
||||
echo '<br />';
|
||||
echo "<input type=\"submit\" value=\"".i18n('Generate Report')."\" />";
|
||||
echo '</form>';
|
||||
|
||||
send_footer();
|
||||
echo '<br />';
|
||||
echo "<input type=\"submit\" value=\"".i18n('Generate Report')."\" />";
|
||||
echo '</form>';
|
||||
|
||||
send_footer();
|
||||
|
||||
|
||||
|
||||
?>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require("../lpdf.php");
|
||||
require("../lcsv.php");
|
||||
require("../questions.inc.php");
|
||||
@ -36,7 +36,7 @@ if($type=="pdf")
|
||||
{
|
||||
$rep=new lpdf( i18n($config['fairname']),
|
||||
i18n("Judge List"),
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/{$conference['id']}-logo-200.gif"
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/logo-200.gif"
|
||||
);
|
||||
|
||||
$rep->newPage();
|
||||
@ -70,7 +70,7 @@ $table['header']=array(
|
||||
i18n("Expertise Other"));
|
||||
|
||||
/* Append headers for all the custom questions */
|
||||
$qs=questions_load_questions('judgereg', $conference['id']);
|
||||
$qs=questions_load_questions('judgereg', $config['FAIRYEAR']);
|
||||
$keys = array_keys($qs);
|
||||
foreach($keys as $qid) {
|
||||
$table['header'][] = i18n($qs[$qid]['db_heading']);
|
||||
@ -78,7 +78,7 @@ foreach($keys as $qid) {
|
||||
|
||||
|
||||
//grab the list of divisions, because the last fields of the table will be the sub-divisions
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE conferences_id='".$conference['id']."' ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projectcategories WHERE year='".$config['FAIRYEAR']."' ORDER BY id");
|
||||
$numcats=mysql_num_rows($q);
|
||||
$catheadings=array();
|
||||
while($r=mysql_fetch_object($q))
|
||||
@ -87,7 +87,7 @@ while($r=mysql_fetch_object($q))
|
||||
$catheadings[]="$r->category (out of 5)";
|
||||
}
|
||||
//grab the list of divisions, because the last fields of the table will be the sub-divisions
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE conferences_id='".$conference['id']."' ORDER BY id");
|
||||
$q=mysql_query("SELECT * FROM projectdivisions WHERE year='".$config['FAIRYEAR']."' ORDER BY id");
|
||||
$divheadings=array();
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
@ -99,21 +99,50 @@ while($r=mysql_fetch_object($q))
|
||||
//now append the arrays together
|
||||
$table['header']=array_merge($table['header'],array_merge($catheadings,$divheadings));
|
||||
|
||||
$times = array();
|
||||
$datetimeheadings=array();
|
||||
|
||||
/* Load the judging rounds */
|
||||
$q = mysql_query("SELECT date,starttime,endtime,name FROM judges_timeslots WHERE round_id='0' AND year='{$config['FAIRYEAR']}' ORDER BY starttime,type");
|
||||
$x = 0;
|
||||
while($r = mysql_fetch_object($q)) {
|
||||
$found = false;
|
||||
foreach($times as $xx => $t) {
|
||||
if($t['date'] == $r->date && $t['starttime'] == $r->starttime && $t['endtime'] == $r->endtime) {
|
||||
$times[$xx]['name'] .= ", {$r->name}";
|
||||
$found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!$found) {
|
||||
$times[$x] = array( 'date' => $r->date,
|
||||
'starttime' => $r->starttime,
|
||||
'endtime' => $r->endtime,
|
||||
'name' => $r->name);
|
||||
$datetimeheadings[]=$r->name;
|
||||
$x++;
|
||||
}
|
||||
}
|
||||
|
||||
$table['header']=array_merge($table['header'],$datetimeheadings);
|
||||
|
||||
|
||||
|
||||
//fill these in if we ever make this PDFable
|
||||
$table['widths']=array();
|
||||
$table['dataalign']=array();
|
||||
|
||||
$q=mysql_query("SELECT
|
||||
users.*
|
||||
users.*,
|
||||
users_judge.*
|
||||
FROM
|
||||
users
|
||||
JOIN user_roles ON user_roles.users_id = users.id
|
||||
JOIN roles ON roles.id = user_roles.roles_id
|
||||
WHERE
|
||||
roles.type = 'judge' AND
|
||||
JOIN users_judge ON users.id=users_judge.users_id
|
||||
WHERE
|
||||
users.deleted='no' AND
|
||||
users.conferences_id='".$conference['id']."'
|
||||
users.year='".$config['FAIRYEAR']."'
|
||||
AND users.types LIKE '%judge%'
|
||||
|
||||
ORDER BY
|
||||
lastname,
|
||||
firstname");
|
||||
@ -144,11 +173,32 @@ while($r=mysql_fetch_object($q)) {
|
||||
$languages=substr($languages,0,-1);
|
||||
|
||||
$qarray = array();
|
||||
$qans = questions_load_answers('judgereg', $r->id, $conference['id']);
|
||||
$qans = questions_load_answers('judgereg', $r->id, $config['FAIRYEAR']);
|
||||
$keys = array_keys($qans);
|
||||
foreach($keys as $qid) {
|
||||
$qarray[] = $qans[$qid];
|
||||
}
|
||||
|
||||
|
||||
$tq = mysql_query("SELECT * FROM judges_availability WHERE users_id=\"".$r->id."\" ORDER BY `start`");
|
||||
|
||||
$sel = array();
|
||||
$timedata=array();
|
||||
while($tr=mysql_fetch_object($tq)) {
|
||||
foreach($times as $x=>$t) {
|
||||
if($tr->start == $t['starttime'] && $tr->end == $t['endtime'] && $tr->date == $t['date']) {
|
||||
$sel[$x] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach($times as $x=>$t) {
|
||||
if($sel[$x]==true) {
|
||||
$timedata[]="yes";
|
||||
} else {
|
||||
$timedata[]="no";
|
||||
}
|
||||
}
|
||||
|
||||
$tmp=array(
|
||||
$r->id,
|
||||
@ -174,7 +224,7 @@ while($r=mysql_fetch_object($q)) {
|
||||
$tmp = array_merge($tmp, $qarray);
|
||||
|
||||
$extradata=array_merge($catdata,$divdata);
|
||||
$table['data'][]=array_merge($tmp,$extradata);
|
||||
$table['data'][]=array_merge(array_merge($tmp,$extradata),$timedata);
|
||||
}
|
||||
|
||||
$rep->addTable($table);
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require("../lpdf.php");
|
||||
require("../lcsv.php");
|
||||
require("judges.inc.php");
|
||||
@ -36,7 +36,7 @@
|
||||
|
||||
$rep=new lpdf( i18n($config['fairname']),
|
||||
i18n("Judging Team Project Assignments"),
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/{$conference['id']}-logo-200.gif"
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/logo-200.gif"
|
||||
);
|
||||
|
||||
$rep->newPage();
|
||||
@ -49,7 +49,7 @@
|
||||
|
||||
$teams=getJudgingTeams();
|
||||
|
||||
$q=mysql_query("SELECT DISTINCT(date) AS d FROM judges_timeslots WHERE conferences_id='".$conference['id']."'");
|
||||
$q=mysql_query("SELECT DISTINCT(date) AS d FROM judges_timeslots WHERE year='".$config['FAIRYEAR']."'");
|
||||
if(mysql_num_rows($q)>1)
|
||||
$show_date=true;
|
||||
else
|
||||
@ -60,7 +60,7 @@
|
||||
$table=array();
|
||||
$table['header']=array(i18n("Timeslot"),i18n("Proj #"),i18n("Project Title"));
|
||||
if($show_date)
|
||||
$table['widths']=array( 2.25, 0.75, 4.00);
|
||||
$table['widths']=array( 2.50, 0.75, 3.75);
|
||||
else
|
||||
$table['widths']=array( 1.5, 0.75, 4.75);
|
||||
|
||||
@ -91,7 +91,7 @@
|
||||
$rep->addText(i18n("Criteria").": ".$award['criteria']);
|
||||
|
||||
//get category eligibility
|
||||
$q=mysql_query("SELECT projectcategories.category FROM projectcategories, award_awards_projectcategories WHERE award_awards_projectcategories.projectcategories_id=projectcategories.id AND award_awards_projectcategories.award_awards_id='{$award['id']}' AND award_awards_projectcategories.conferences_id='{$conference['id']}' AND projectcategories.conferences_id='{$conference['id']}' ORDER BY category");
|
||||
$q=mysql_query("SELECT projectcategories.category FROM projectcategories, award_awards_projectcategories WHERE award_awards_projectcategories.projectcategories_id=projectcategories.id AND award_awards_projectcategories.award_awards_id='{$award['id']}' AND award_awards_projectcategories.year='{$config['FAIRYEAR']}' AND projectcategories.year='{$config['FAIRYEAR']}' ORDER BY category");
|
||||
echo mysql_error();
|
||||
$cats="";
|
||||
while($r=mysql_fetch_object($q))
|
||||
@ -103,7 +103,7 @@
|
||||
|
||||
|
||||
//get division eligibility
|
||||
$q=mysql_query("SELECT projectdivisions.division_shortform FROM projectdivisions, award_awards_projectdivisions WHERE award_awards_projectdivisions.projectdivisions_id=projectdivisions.id AND award_awards_projectdivisions.award_awards_id='{$award['id']}' AND award_awards_projectdivisions.conferences_id='{$conference['id']}' AND projectdivisions.conferences_id='{$conference['id']}' ORDER BY division_shortform");
|
||||
$q=mysql_query("SELECT projectdivisions.division_shortform FROM projectdivisions, award_awards_projectdivisions WHERE award_awards_projectdivisions.projectdivisions_id=projectdivisions.id AND award_awards_projectdivisions.award_awards_id='{$award['id']}' AND award_awards_projectdivisions.year='{$config['FAIRYEAR']}' AND projectdivisions.year='{$config['FAIRYEAR']}' ORDER BY division_shortform");
|
||||
echo mysql_error();
|
||||
$divs="";
|
||||
while($r=mysql_fetch_object($q))
|
||||
@ -140,7 +140,7 @@
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
if($show_date)
|
||||
$timeslot=$r->date." ";
|
||||
$timeslot=format_date($r->date)." ";
|
||||
else
|
||||
$timeslot="";
|
||||
$timeslot.=format_time($r->starttime)." - ".format_time($r->endtime);
|
||||
@ -156,7 +156,7 @@
|
||||
judges_teams_timeslots_projects_link.judges_timeslots_id='$r->id' AND
|
||||
judges_teams_timeslots_projects_link.judges_teams_id='".$team['id']."' AND
|
||||
judges_teams_timeslots_projects_link.projects_id=projects.id AND
|
||||
judges_teams_timeslots_projects_link.conferences_id='".$conference['id']."'
|
||||
judges_teams_timeslots_projects_link.year='".$config['FAIRYEAR']."'
|
||||
ORDER BY
|
||||
projectnumber
|
||||
");
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
send_header("Mailing Label Generator",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php',
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require("../lpdf.php");
|
||||
require("../lcsv.php");
|
||||
|
||||
@ -49,9 +49,9 @@ if($report)
|
||||
if($_GET['fontsize']) $fontsize=$_GET['fontsize'];
|
||||
if($_GET['toppadding']) $toppadding=$_GET['toppadding'];
|
||||
|
||||
$rep=new lpdf( i18n($conference['name']),
|
||||
$rep=new lpdf( i18n($config['fairname']),
|
||||
"$reportname Mailing Labels",
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/{$conference['id']}-logo-200.gif"
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/logo-200.gif"
|
||||
);
|
||||
|
||||
$rep->setPageStyle("labels");
|
||||
@ -68,6 +68,7 @@ if($report)
|
||||
case "schools":
|
||||
$q=mysql_query("SELECT
|
||||
schools.school AS name,
|
||||
schools.board AS board,
|
||||
schools.schoollang,
|
||||
schools.sciencehead AS co,
|
||||
schools.address AS address,
|
||||
@ -77,7 +78,7 @@ if($report)
|
||||
FROM
|
||||
schools
|
||||
WHERE
|
||||
conferences_id='{$conference['id']}'
|
||||
year='{$config['FAIRYEAR']}'
|
||||
ORDER BY
|
||||
school
|
||||
");
|
||||
@ -107,26 +108,25 @@ if($report)
|
||||
break;
|
||||
|
||||
case "judges":
|
||||
$q = mysql_query("
|
||||
SELECT
|
||||
CONCAT(users.firstname, ' ', users.lastname) AS name,
|
||||
IF(users.address2=\"\",
|
||||
users.address,
|
||||
CONCAT(users.address,' ',users.address2)
|
||||
) AS address,
|
||||
'' AS co,
|
||||
users.city AS city,
|
||||
users.province AS province,
|
||||
users.postalcode AS postalcode
|
||||
FROM users
|
||||
JOIN user_roles ON users.id = user_roles.users_id
|
||||
JOIN roles ON roles.id = user_roles.roles_id
|
||||
WHERE
|
||||
roles.type = 'judge'
|
||||
AND users.conferences_id='{$conference['id']}'
|
||||
ORDER BY
|
||||
firstname, lastname
|
||||
");
|
||||
$q=mysql_query("SELECT
|
||||
CONCAT(judges.firstname,' ',judges.lastname) AS name,
|
||||
IF(judges.address2=\"\",
|
||||
judges.address,
|
||||
CONCAT(judges.address,' ',judges.address2)
|
||||
) AS address,
|
||||
'' AS co,
|
||||
judges.city AS city,
|
||||
judges.province AS province,
|
||||
judges.postalcode AS postalcode
|
||||
FROM
|
||||
judges,
|
||||
judges_years
|
||||
WHERE
|
||||
judges_years.judges_id=judges.id
|
||||
AND judges_years.year='{$config['FAIRYEAR']}'
|
||||
ORDER BY
|
||||
lastname,firstname
|
||||
");
|
||||
break;
|
||||
|
||||
}
|
||||
@ -154,17 +154,23 @@ if($report)
|
||||
$coname=i18n("Science Department Head",array(),array(),$r->schoollang);
|
||||
|
||||
$co=i18n("C/O %1",array($coname),array("Name of person"),$r->schoollang);
|
||||
}
|
||||
else $co="C/O $r->co";
|
||||
|
||||
if($_GET['type']=="pdf")
|
||||
{
|
||||
$rep->newLabel();
|
||||
$rep->mailingLabel($r->name,$co,$r->address,$r->city,$r->province,$r->postalcode);
|
||||
|
||||
$name=$r->name;
|
||||
if($r->board)
|
||||
$name.=" [".$r->board."]";
|
||||
}
|
||||
else if($_GET['type']=="csv")
|
||||
{
|
||||
$table['data'][]=array($r->name,$co,$r->address,$r->city,$r->province,$r->postalcode);
|
||||
else {
|
||||
$co="C/O $r->co";
|
||||
$name=$r->name;
|
||||
}
|
||||
|
||||
if($_GET['type']=="pdf") {
|
||||
$rep->newLabel();
|
||||
$rep->mailingLabel($name,$co,$r->address,$r->city,$r->province,$r->postalcode);
|
||||
}
|
||||
else if($_GET['type']=="csv") {
|
||||
$table['data'][]=array($name,$co,$r->address,$r->city,$r->province,$r->postalcode);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -25,7 +25,7 @@
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
require_once('reports.inc.php');
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
send_header("Reports",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php')
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require("../lpdf.php");
|
||||
require("../lcsv.php");
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
$rep=new lpdf( i18n($config['fairname']),
|
||||
i18n("Program Awards"),
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/{$conference['id']}-logo-200.gif"
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/logo-200.gif"
|
||||
);
|
||||
|
||||
$rep->newPage();
|
||||
@ -34,8 +34,8 @@
|
||||
award_awards,
|
||||
award_types
|
||||
WHERE
|
||||
award_awards.conferences_id='".$conference['id']."'
|
||||
AND award_types.conferences_id='".$conference['id']."'
|
||||
award_awards.year='".$config['FAIRYEAR']."'
|
||||
AND award_types.year='".$config['FAIRYEAR']."'
|
||||
AND award_awards.award_types_id=award_types.id
|
||||
AND award_awards.excludefromac='0'
|
||||
AND (award_types.type='special' OR award_types.type='grand')
|
||||
@ -50,7 +50,7 @@
|
||||
$rep->heading(i18n($r->name));
|
||||
|
||||
//get teh age categories
|
||||
$acq=mysql_query("SELECT projectcategories.category FROM projectcategories, award_awards_projectcategories WHERE projectcategories.conferences_id='".$conference['id']."' AND award_awards_projectcategories.conferences_id='".$conference['id']."' AND award_awards_projectcategories.award_awards_id='$r->id' AND award_awards_projectcategories.projectcategories_id=projectcategories.id ORDER BY projectcategories.id");
|
||||
$acq=mysql_query("SELECT projectcategories.category FROM projectcategories, award_awards_projectcategories WHERE projectcategories.year='".$config['FAIRYEAR']."' AND award_awards_projectcategories.year='".$config['FAIRYEAR']."' AND award_awards_projectcategories.award_awards_id='$r->id' AND award_awards_projectcategories.projectcategories_id=projectcategories.id ORDER BY projectcategories.id");
|
||||
echo mysql_error();
|
||||
$cats="";
|
||||
while($acr=mysql_fetch_object($acq))
|
||||
@ -70,7 +70,7 @@
|
||||
award_prizes
|
||||
WHERE
|
||||
award_awards_id='$r->id'
|
||||
AND award_prizes.conferences_id='".$conference['id']."'
|
||||
AND award_prizes.year='".$config['FAIRYEAR']."'
|
||||
AND award_prizes.excludefromac='0'
|
||||
ORDER BY
|
||||
`order`");
|
||||
|
@ -24,18 +24,19 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require("../lpdf.php");
|
||||
require("../lcsv.php");
|
||||
require("judges.inc.php");
|
||||
|
||||
$type=$_GET['type'];
|
||||
|
||||
if($type=="pdf") {
|
||||
if($type=="pdf")
|
||||
{
|
||||
|
||||
$rep=new lpdf( i18n($config['fairname']),
|
||||
i18n("Project Details"),
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/{$conference['id']}-logo-200.gif"
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/logo-200.gif"
|
||||
);
|
||||
|
||||
$rep->newPage();
|
||||
@ -46,9 +47,6 @@
|
||||
$rep=new lcsv(i18n("Project Details"));
|
||||
}
|
||||
|
||||
// $regstatus=" AND ( registrations.status='complete' OR registrations.status='paymentpending' ) ";
|
||||
$regstatus="";
|
||||
|
||||
$projq=mysql_query("SELECT
|
||||
registrations.id AS reg_id,
|
||||
registrations.num AS reg_num,
|
||||
@ -71,10 +69,11 @@ $regstatus="";
|
||||
LEFT JOIN projectcategories ON projectcategories.id=projects.projectcategories_id
|
||||
|
||||
WHERE
|
||||
projects.conferences_id='".$conference['id']."'
|
||||
AND projectdivisions.conferences_id='".$conference['id']."'
|
||||
AND projectcategories.conferences_id='".$conference['id']."'
|
||||
$regstatus
|
||||
projects.year='".$config['FAIRYEAR']."'
|
||||
AND projectdivisions.year='".$config['FAIRYEAR']."'
|
||||
AND projectcategories.year='".$config['FAIRYEAR']."'
|
||||
AND ( registrations.status='complete'
|
||||
OR registrations.status='paymentpending' )
|
||||
ORDER BY
|
||||
projects.projectnumber
|
||||
");
|
||||
@ -86,12 +85,12 @@ $regstatus="";
|
||||
while($proj=mysql_fetch_object($projq))
|
||||
{
|
||||
$projectcount++;
|
||||
$sq=mysql_query("SELECT users.firstname,
|
||||
users.lastname
|
||||
$sq=mysql_query("SELECT students.firstname,
|
||||
students.lastname
|
||||
FROM
|
||||
users
|
||||
students
|
||||
WHERE
|
||||
users.registrations_id='$proj->reg_id'
|
||||
students.registrations_id='$proj->reg_id'
|
||||
");
|
||||
|
||||
$students="";
|
||||
@ -103,6 +102,7 @@ $regstatus="";
|
||||
$studnum++;
|
||||
}
|
||||
$rep->heading(i18n("Project Information"));
|
||||
$rep->nextline();
|
||||
|
||||
$table=array();
|
||||
// $table['header']=array(i18n("Timeslot"),i18n("Judging Team"));
|
||||
@ -121,43 +121,27 @@ $regstatus="";
|
||||
unset($table);
|
||||
|
||||
$q=mysql_query("SELECT * FROM mentors WHERE registrations_id='".$proj->reg_id."'");
|
||||
$rep->nextline();
|
||||
$rep->heading(i18n("Mentor Information"));
|
||||
if(mysql_num_rows($q)) {
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
$rep->addText(i18n("%1 %2 from %3",array($r->firstname,$r->lastname,$r->organization)));
|
||||
$rep->addText(i18n("Phone: %1 Email: %2",array($r->phone,$r->email)));
|
||||
}
|
||||
$rep->nextline();
|
||||
|
||||
if(mysql_num_rows($q))
|
||||
{
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
$rep->addText(i18n("%1 %2 from %3",array($r->firstname,$r->lastname,$r->organization)));
|
||||
$rep->addText(i18n("Phone: %1 Email: %2",array($r->phone,$r->email)));
|
||||
}
|
||||
else {
|
||||
}
|
||||
else
|
||||
{
|
||||
$rep->addText(i18n("No mentors"));
|
||||
}
|
||||
|
||||
|
||||
$rep->nextline();
|
||||
$rep->heading(i18n("Project Summary"));
|
||||
$rep->addText($proj->summary);
|
||||
|
||||
$q=mysql_query("SELECT safetyquestions.question,
|
||||
safety.answer
|
||||
FROM safetyquestions
|
||||
JOIN safety ON safetyquestions.id=safety.safetyquestions_id
|
||||
WHERE safety.registrations_id='".$proj->reg_id."'
|
||||
ORDER BY safetyquestions.ord");
|
||||
|
||||
$rep->nextline();
|
||||
$rep->heading(i18n("Safety Questions"));
|
||||
$table=array();
|
||||
// $table['header']=array(i18n("Timeslot"),i18n("Judging Team"));
|
||||
$table['widths']=array( 6.25, 0.5);
|
||||
$table['dataalign']=array("left","left");
|
||||
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
$table['data'][]=array(i18n($r->question),$r->answer);
|
||||
}
|
||||
$rep->addTable($table);
|
||||
unset($table);
|
||||
|
||||
$rep->addText($proj->summary);
|
||||
|
||||
if($projectcount!=$totalprojects)
|
||||
$rep->newPage();
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
require("../lpdf.php");
|
||||
require("../lcsv.php");
|
||||
require("judges.inc.php");
|
||||
@ -36,7 +36,7 @@
|
||||
|
||||
$rep=new lpdf( i18n($config['fairname']),
|
||||
i18n("Project Judging Team Assignments"),
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/{$conference['id']}-logo-200.gif"
|
||||
$_SERVER['DOCUMENT_ROOT'].$config['SFIABDIRECTORY']."/data/logo-200.gif"
|
||||
);
|
||||
|
||||
$rep->newPage();
|
||||
@ -49,7 +49,7 @@
|
||||
|
||||
$teams=getJudgingTeams();
|
||||
|
||||
$q=mysql_query("SELECT DISTINCT(date) AS d FROM judges_timeslots WHERE conferences_id='".$conference['id']."'");
|
||||
$q=mysql_query("SELECT DISTINCT(date) AS d FROM judges_timeslots WHERE year='".$config['FAIRYEAR']."'");
|
||||
if(mysql_num_rows($q)>1)
|
||||
$show_date=true;
|
||||
else
|
||||
@ -73,9 +73,9 @@
|
||||
LEFT JOIN projectcategories ON projectcategories.id=projects.projectcategories_id
|
||||
|
||||
WHERE
|
||||
projects.conferences_id='".$conference['id']."'
|
||||
AND projectdivisions.conferences_id='".$conference['id']."'
|
||||
AND projectcategories.conferences_id='".$conference['id']."'
|
||||
projects.year='".$config['FAIRYEAR']."'
|
||||
AND projectdivisions.year='".$config['FAIRYEAR']."'
|
||||
AND projectcategories.year='".$config['FAIRYEAR']."'
|
||||
AND ( registrations.status='complete'
|
||||
OR registrations.status='paymentpending' )
|
||||
ORDER BY
|
||||
@ -110,7 +110,7 @@
|
||||
$table=array();
|
||||
$table['header']=array(i18n("Timeslot"),i18n("Judging Team"));
|
||||
if($show_date)
|
||||
$table['widths']=array( 2.25, 4.75);
|
||||
$table['widths']=array( 2.50, 4.50);
|
||||
else
|
||||
$table['widths']=array( 1.5, 5.50);
|
||||
|
||||
@ -128,7 +128,7 @@
|
||||
LEFT JOIN judges_teams ON judges_teams_timeslots_projects_link.judges_teams_id=judges_teams.id
|
||||
WHERE
|
||||
judges_teams_timeslots_projects_link.projects_id='$proj->id'
|
||||
AND judges_teams_timeslots_projects_link.conferences_id='".$conference['id']."'
|
||||
AND judges_teams_timeslots_projects_link.year='".$config['FAIRYEAR']."'
|
||||
ORDER BY
|
||||
date,starttime
|
||||
");
|
||||
|
@ -22,36 +22,40 @@
|
||||
*/
|
||||
|
||||
|
||||
function reports_schools_principal(&$report, $field, $text)
|
||||
function reports_schools_principal($report, $field, $text)
|
||||
{
|
||||
$year = $report['year'];
|
||||
if($text > 0) { /* text is the uid */
|
||||
$u = user_load($text);
|
||||
$u = user_load_by_uid_year($text, $year);
|
||||
return $u['name'];
|
||||
}
|
||||
return '';
|
||||
}
|
||||
function reports_schools_sciencehead(&$report, $field, $text)
|
||||
function reports_schools_sciencehead($report, $field, $text)
|
||||
{
|
||||
$year = $report['year'];
|
||||
if($text > 0) { /* text is the uid */
|
||||
$u = user_load($text);
|
||||
return $u['name'];
|
||||
$u = user_load_by_uid_year($text, $year);
|
||||
return i18n("%1 or Science Department Head",array($u['name']));
|
||||
}
|
||||
return '';
|
||||
return i18n("Science Department Head");
|
||||
}
|
||||
|
||||
function reports_schools_shphone(&$report, $field, $text)
|
||||
function reports_schools_shphone($report, $field, $text)
|
||||
{
|
||||
$year = $report['year'];
|
||||
if($text > 0) { /* text is the uid */
|
||||
$u = user_load($text);
|
||||
$u = user_load_by_uid_year($text, $year);
|
||||
return $u['phonework'];
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
function reports_schools_shemail(&$report, $field, $text)
|
||||
function reports_schools_shemail($report, $field, $text)
|
||||
{
|
||||
$year = $report['year'];
|
||||
if($text > 0) { /* text is the uid */
|
||||
$u = user_load($text);
|
||||
$u = user_load_by_uid_year($text, $year);
|
||||
return $u['email'];
|
||||
}
|
||||
return '';
|
||||
@ -59,159 +63,141 @@ function reports_schools_shemail(&$report, $field, $text)
|
||||
|
||||
$report_schools_fields = array(
|
||||
'school' => array(
|
||||
'start_option_group' => 'School Information',
|
||||
'name' => 'School -- Name',
|
||||
'header' => 'School Name',
|
||||
'width' => 57.15 /*mm*/,
|
||||
'width' => 2.25,
|
||||
'table' => 'schools.school' ),
|
||||
|
||||
'schooladdr' => array(
|
||||
'name' => 'School -- Full Address',
|
||||
'header' => 'School Address',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'width' => 3.0,
|
||||
'table' => "CONCAT(schools.address, ', ', schools.city, ', ', schools.province_code, ', ', schools.postalcode)" ),
|
||||
|
||||
'school_phone' => array(
|
||||
'name' => 'School -- Phone',
|
||||
'header' => 'School Phone',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'schools.phone' ),
|
||||
|
||||
'school_fax' => array(
|
||||
'name' => 'School -- Fax',
|
||||
'header' => 'School Fax',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'schools.fax' ),
|
||||
|
||||
'school_email' => array(
|
||||
'name' => 'School -- Email',
|
||||
'header' => 'School Email',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'schools.schoolemail' ),
|
||||
|
||||
'school_address' => array(
|
||||
'name' => 'School Address -- Street Address',
|
||||
'header' => 'Address',
|
||||
'width' => 50.8 /*mm*/,
|
||||
'width' => 2.0,
|
||||
'table' => 'schools.address'),
|
||||
|
||||
'school_city' => array(
|
||||
'name' => 'School Address -- City',
|
||||
'header' => 'City',
|
||||
'width' => 38.1 /*mm*/,
|
||||
'width' => 1.5,
|
||||
'table' => 'schools.city' ),
|
||||
|
||||
'school_province' => array(
|
||||
'name' => 'School Address -- '.$config['provincestate'],
|
||||
'header' => $config['provincestate'],
|
||||
'width' => 19.05 /*mm*/,
|
||||
'width' => 0.75,
|
||||
'table' => 'schools.province_code' ),
|
||||
|
||||
'school_city_prov' => array(
|
||||
'name' => 'School Address -- City, '.$config['provincestate'].' (for mailing)',
|
||||
'header' => 'City',
|
||||
'width' => 38.1 /*mm*/,
|
||||
'width' => 1.5,
|
||||
'table' => "CONCAT(schools.city, ', ', schools.province_code)" ),
|
||||
|
||||
'school_postal' => array(
|
||||
'name' => 'School Address -- '.$config['postalzip'],
|
||||
'header' => $config['postalzip'],
|
||||
'width' => 19.05 /*mm*/,
|
||||
'width' => 0.75,
|
||||
'table' => 'schools.postalcode' ),
|
||||
|
||||
'school_lang' => array(
|
||||
'name' => 'School -- Language Code',
|
||||
'header' => 'Lang',
|
||||
'width' => 12.7 /*mm*/,
|
||||
'width' => 0.5,
|
||||
'table' => 'schools.schoollang' ),
|
||||
|
||||
'school_level' => array(
|
||||
'name' => 'School -- Grade Levels',
|
||||
'header' => 'Level',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1.0,
|
||||
'table' => 'schools.schoollevel' ),
|
||||
|
||||
'school_board' => array(
|
||||
'name' => 'School -- Board',
|
||||
'header' => 'Board',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1.0,
|
||||
'table' => 'schools.board' ),
|
||||
|
||||
'school_district' => array(
|
||||
'name' => 'School -- District',
|
||||
'header' => 'District',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1.0,
|
||||
'table' => 'schools.district' ),
|
||||
|
||||
'school_principal' => array(
|
||||
'name' => 'School -- Principal',
|
||||
'header' => 'Principal',
|
||||
'width' => 31.75 /*mm*/,
|
||||
'width' => 1.25,
|
||||
'table' => 'schools.principal_uid',
|
||||
'exec_function' => 'reports_schools_principal'),
|
||||
|
||||
'school_sh' => array(
|
||||
'name' => 'School -- Science Head',
|
||||
'header' => 'Science Head',
|
||||
'width' => 31.75 /*mm*/,
|
||||
'width' => 1.25,
|
||||
'table' => 'schools.sciencehead_uid',
|
||||
'exec_function' => 'reports_schools_sciencehead'),
|
||||
|
||||
'school_shphone' => array(
|
||||
'name' => 'School -- Science Head Phone',
|
||||
'header' => 'Science Hd Phone',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1,
|
||||
'table' => 'schools.sciencehead_uid',
|
||||
'exec_function' => 'reports_schools_shphone'),
|
||||
|
||||
'school_shemail' => array(
|
||||
'name' => 'School -- Science Head Email',
|
||||
'header' => 'Science Head Email',
|
||||
'width' => 38.1 /*mm*/,
|
||||
'width' => 1.5,
|
||||
'table' => 'schools.sciencehead_uid',
|
||||
'exec_function' => 'reports_schools_shemail'),
|
||||
|
||||
'school_accesscode' => array(
|
||||
'start_option_group' => 'Access Codes',
|
||||
'name' => 'School -- Access Code',
|
||||
'header' => 'Access Code',
|
||||
'width' => 27.94 /*mm*/,
|
||||
'width' => 1.1,
|
||||
'table' => 'schools.accesscode' ),
|
||||
|
||||
'school_registration_password' => array(
|
||||
'name' => 'School -- Registration Password',
|
||||
'header' => 'Reg Pass',
|
||||
'width' => 19.05 /*mm*/,
|
||||
'width' => 0.75,
|
||||
'table' => 'schools.registration_password' ),
|
||||
|
||||
'school_project_limit' => array(
|
||||
'start_option_group' => 'Project Limits',
|
||||
'name' => 'School -- Project Limit',
|
||||
'header' => 'Limit',
|
||||
'width' => 19.05 /*mm*/,
|
||||
'width' => 0.75,
|
||||
'table' => 'schools.projectlimit' ),
|
||||
|
||||
'school_project_limit_per' => array(
|
||||
'name' => 'School -- Project Limit Per',
|
||||
'header' => 'Limit Per',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1.0,
|
||||
'table' => 'schools.projectlimitper' ),
|
||||
|
||||
/* The label system depends on each report type having conference_name and conference_logo */
|
||||
'conference_name' => array(
|
||||
'start_option_group' => 'Conference Information',
|
||||
'name' => 'Conference -- Name',
|
||||
'header' => 'Conference Name',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'table' => "'".mysql_escape_string($conference['name'])."'"),
|
||||
|
||||
'conference_logo' => array(
|
||||
'name' => 'Conference -- Logo (for Labels only)',
|
||||
'header' => '',
|
||||
'width' => 1 /*mm*/,
|
||||
'table' => "CONCAT(' ')"),
|
||||
|
||||
|
||||
);
|
||||
|
||||
function report_schools_fromwhere($report, $components)
|
||||
@ -219,12 +205,12 @@ $report_schools_fields = array(
|
||||
global $config, $report_schools_fields;
|
||||
|
||||
$fields = $report_schools_fields;
|
||||
$conferences_id = $report['conferences_id'];
|
||||
$year = $report['year'];
|
||||
|
||||
$q = " FROM
|
||||
schools
|
||||
WHERE
|
||||
schools.conferences_id='$conferences_id'
|
||||
schools.year='$year'
|
||||
";
|
||||
|
||||
return $q;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -23,75 +23,59 @@
|
||||
|
||||
$report_tours_fields = array(
|
||||
'tour_name' => array(
|
||||
'start_option_group' => 'Tour Information',
|
||||
'name' => 'Tour -- Name',
|
||||
'header' => 'Tour Name',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'width' => 3,
|
||||
'table' => 'tours.name' ),
|
||||
|
||||
'tour_num' => array(
|
||||
'name' => 'Tour -- Number',
|
||||
'header' => 'Num',
|
||||
'width' => 19.05 /*mm*/,
|
||||
'width' => 0.75,
|
||||
'table' => 'tours.num' ),
|
||||
|
||||
'tour_desc' => array(
|
||||
'name' => 'Tour -- Description',
|
||||
'header' => 'Tour Description',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'width' => 3.0,
|
||||
'table' => 'tours.description'),
|
||||
|
||||
'tour_capacity' => array(
|
||||
'name' => 'Tour -- Capacity',
|
||||
'header' => 'Cap',
|
||||
'width' => 10.16 /*mm*/,
|
||||
'width' => 0.4,
|
||||
'table' => 'tours.capacity' ),
|
||||
|
||||
'tour_mingrade' => array(
|
||||
'name' => 'Tour -- Minimum Grade',
|
||||
'header' => 'Min Gr.',
|
||||
'width' => 10.16 /*mm*/,
|
||||
'width' => 0.4,
|
||||
'table' => 'tours.grade_min' ),
|
||||
|
||||
'tour_maxgrade' => array(
|
||||
'name' => 'Tour -- Maximum Grade',
|
||||
'header' => 'Max Gr.',
|
||||
'width' => 10.16 /*mm*/,
|
||||
'width' => 0.4,
|
||||
'table' => 'tours.grade_max' ),
|
||||
|
||||
'tour_location' => array(
|
||||
'name' => 'Tour -- Location',
|
||||
'header' => 'Tour Location',
|
||||
'width' => 50.8 /*mm*/,
|
||||
'width' => 2.0,
|
||||
'table' => 'tours.location'),
|
||||
|
||||
'tour_contact' => array(
|
||||
'name' => 'Tour -- Contact',
|
||||
'header' => 'Contact',
|
||||
'width' => 38.1 /*mm*/,
|
||||
'width' => 1.5,
|
||||
'table' => 'tours.contact' ),
|
||||
|
||||
'tour_id' => array(
|
||||
'name' => 'Tour -- Database ID',
|
||||
'header' => '#',
|
||||
'width' => 10.16 /*mm*/,
|
||||
'width' => 0.4,
|
||||
'table' => 'tours.id' ),
|
||||
|
||||
/* The label system depends on each report type having conference_name and conference_logo */
|
||||
'conference_name' => array(
|
||||
'start_option_group' => 'Conference Information',
|
||||
'name' => 'Conference -- Name',
|
||||
'header' => 'Conference Name',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'table' => "'".mysql_real_escape_string($conference['name'])."'"),
|
||||
|
||||
'conference_logo' => array(
|
||||
'name' => 'Conference -- Logo (for Labels only)',
|
||||
'header' => '',
|
||||
'width' => 1 /*mm*/,
|
||||
'table' => "CONCAT(' ')"),
|
||||
|
||||
|
||||
);
|
||||
|
||||
function report_tours_fromwhere($report, $components)
|
||||
@ -99,12 +83,12 @@ $report_tours_fields = array(
|
||||
global $config, $report_tours_fields;
|
||||
|
||||
$fields = $report_tours_fields;
|
||||
$conferences_id = $report['conferences_id'];
|
||||
$year = $report['year'];
|
||||
|
||||
$q = " FROM
|
||||
tours
|
||||
WHERE
|
||||
tours.conferences_id='$conferences_id'
|
||||
tours.year='$year'
|
||||
";
|
||||
|
||||
return $q;
|
||||
|
@ -24,114 +24,114 @@
|
||||
$report_volunteers_fields = array(
|
||||
|
||||
'last_name' => array(
|
||||
'start_option_group' => 'Volunteer Name Information',
|
||||
'name' => 'Volunteer -- Last Name',
|
||||
'header' => 'Last Name',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1.0,
|
||||
'table' => 'users.lastname' ),
|
||||
|
||||
'first_name' => array(
|
||||
'name' => 'Volunteer -- First Name',
|
||||
'header' => 'First Name',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1.0,
|
||||
'table' => 'users.firstname' ),
|
||||
|
||||
'name' => array(
|
||||
'name' => 'Volunteer -- Full Name (last, first)',
|
||||
'header' => 'Name',
|
||||
'width' => 44.45 /*mm*/,
|
||||
'width' => 1.75,
|
||||
'table' => "CONCAT(users.lastname, ', ', users.firstname)",
|
||||
'table_sort'=> 'users.lastname' ),
|
||||
|
||||
'namefl' => array(
|
||||
'name' => 'Volunteer -- Full Name (first last)',
|
||||
'header' => 'Name',
|
||||
'width' => 44.45 /*mm*/,
|
||||
'width' => 1.75,
|
||||
'table' => "CONCAT(users.firstname, ' ', users.lastname)",
|
||||
'table_sort'=> 'users.lastname' ),
|
||||
|
||||
'email' => array(
|
||||
'start_option_group' => 'Volunteer Contact Information',
|
||||
'name' => 'Volunteer -- Email',
|
||||
'header' => 'Email',
|
||||
'width' => 44.45 /*mm*/,
|
||||
'table' => 'accounts.email'),
|
||||
'width' => 1.75,
|
||||
'table' => 'users.email'),
|
||||
|
||||
'phone' => array(
|
||||
'name' => 'Volunteer -- Phone',
|
||||
'header' => 'Phone',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1.0,
|
||||
'table' => 'users.phonehome'),
|
||||
|
||||
'cell' => array(
|
||||
'name' => 'Volunteer -- Cell',
|
||||
'header' => 'Cell',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1.0,
|
||||
'table' => 'users.phonecell'),
|
||||
|
||||
'organization' => array(
|
||||
'name' => 'Volunteer -- Phone',
|
||||
'header' => 'Organziation',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'width' => 1.0,
|
||||
'table' => 'users.organization'),
|
||||
|
||||
'firstaid' => array(
|
||||
'start_option_group' => 'Volunteer Miscellaneous',
|
||||
'name' => 'Volunteer -- First Aid Training',
|
||||
'header' => 'F.Aid',
|
||||
'width' => 12.7 /*mm*/,
|
||||
'width' => 0.5,
|
||||
'table' => 'users.firstaid',
|
||||
'value_map' =>array ('no' => 'no', 'yes' => 'YES')),
|
||||
|
||||
'cpr' => array(
|
||||
'name' => 'Volunteer -- CPR Training',
|
||||
'header' => 'CPR',
|
||||
'width' => 12.7 /*mm*/,
|
||||
'width' => 0.5,
|
||||
'table' => 'users.cpr',
|
||||
'value_map' =>array ('no' => 'no', 'yes' => 'YES')),
|
||||
|
||||
'complete' => array(
|
||||
'name' => 'Volunteer -- Registration Complete',
|
||||
'header' => 'Cmpl',
|
||||
'width' => 10.16 /*mm*/,
|
||||
'table' => 'user_roles.complete',
|
||||
'value_map' => array ('no' => 'No', 'yes' => 'Yes')),
|
||||
'width' => 0.4,
|
||||
'table' => 'users_volunteer.volunteer_complete',
|
||||
'value_map' => array ('no' => 'No', 'yes' => 'Yes'),
|
||||
'components' => array('users_volunteer')),
|
||||
|
||||
'position_name' => array (
|
||||
'name' => 'Volunteer Position -- Name',
|
||||
'header' => 'Position',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'width' => 3,
|
||||
'table' => 'volunteer_positions.name',
|
||||
'components' => array('signup')),
|
||||
|
||||
/* The label system depends on each report type having conference_name and conference_logo */
|
||||
'conference_name' => array(
|
||||
'start_option_group' => 'Conference Information',
|
||||
'name' => 'Conference -- Name',
|
||||
'header' => 'Conference Name',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'table' => "'".mysql_real_escape_string($conference['name'])."'"),
|
||||
'fair_year' => array (
|
||||
'name' => 'Fair -- Year',
|
||||
'header' => 'Year',
|
||||
'width' => 0.5,
|
||||
'table' => "{$config['FAIRYEAR']}"),
|
||||
|
||||
'conference_logo' => array(
|
||||
'name' => 'Conference -- Logo (for Labels only)',
|
||||
'header' => '',
|
||||
'width' => 1 /*mm*/,
|
||||
'table' => "CONCAT(' ')"),
|
||||
'fair_name' => array (
|
||||
'name' => 'Fair -- Name',
|
||||
'header' => 'Fair Name',
|
||||
'width' => 3,
|
||||
'table' => "'".mysql_escape_string($config['fairname'])."'"),
|
||||
|
||||
'static_text' => array (
|
||||
'start_option_group' => 'Special Fields',
|
||||
'name' => 'Static Text (useful for labels)',
|
||||
'header' => '',
|
||||
'width' => 2.54 /*mm*/,
|
||||
'width' => 0.1,
|
||||
'table' => "CONCAT(' ')"),
|
||||
|
||||
);
|
||||
|
||||
function report_volunteers_fromwhere($report, $components)
|
||||
{
|
||||
global $config;
|
||||
global $config, $report_volutneers_fields;
|
||||
|
||||
$conferences_id = $report['conferences_id'];
|
||||
$fields = $report_volutneers_fields;
|
||||
$year = $report['year'];
|
||||
|
||||
if(in_array('users_volunteer', $components)) {
|
||||
$uv_from = 'LEFT JOIN users_volunteer ON users_volunteer.users_id=users.id';
|
||||
}
|
||||
|
||||
$signup_join = '';
|
||||
$signup_where = '';
|
||||
@ -141,17 +141,16 @@ $report_volunteers_fields = array(
|
||||
ON (users.id=volunteer_positions_signup.users_id)
|
||||
LEFT JOIN volunteer_positions
|
||||
ON (volunteer_positions_signup.volunteer_positions_id=volunteer_positions.id)";
|
||||
$signup_where = "AND (volunteer_positions_signup.conferences_id = '$conferences_id' OR volunteer_positions_signup.conferences_id IS NULL)";
|
||||
$signup_where = "AND (volunteer_positions_signup.year = '$year' OR volunteer_positions_signup.year IS NULL)";
|
||||
}
|
||||
|
||||
$q = " FROM users
|
||||
LEFT JOIN user_roles on user_roles.users_id=users.id
|
||||
LEFT JOIN accounts ON accounts.id=users.accounts_id
|
||||
$q = " FROM
|
||||
users
|
||||
$signup_join
|
||||
$uv_from
|
||||
WHEE
|
||||
user_roles.type='volunteer'
|
||||
AND users.conferences_id='$conferences_id'
|
||||
WHERE
|
||||
users.types LIKE '%volunteer%'
|
||||
AND users.year='$year'
|
||||
$signup_where
|
||||
";
|
||||
|
||||
|
@ -1,429 +0,0 @@
|
||||
<?
|
||||
/*
|
||||
This file is part of the 'Science Fair In A Box' project
|
||||
SFIAB Website: http://www.sfiab.ca
|
||||
|
||||
Copyright (C) 2010 Youth Science Ontario <info@scitechontario.org>
|
||||
Copyright (C) 2010 James Grant <james@lightbox.org>
|
||||
|
||||
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");
|
||||
require_once("../schedule.inc.php");
|
||||
|
||||
user_auth_required('admin');
|
||||
|
||||
if($_GET['action']=="loadschedule") {
|
||||
$date=$_POST['date'];
|
||||
$starthour=$_POST['starthour'];
|
||||
$endhour=$_POST['endhour'];
|
||||
|
||||
//do some sanity checks
|
||||
if($starthour<0 || $starthour>24) $starthour=8;
|
||||
if($endhour<$starthour)
|
||||
$endhour=$starthour+10;
|
||||
if($endhour<0 || $endhour>24) $endhour=15;
|
||||
|
||||
//minute increment
|
||||
$increment=15;
|
||||
|
||||
if(!eregi("[0-9]{4}-[0-9]{2}-[0-9]{2}",$date)) {
|
||||
echo "Invalid date";
|
||||
exit;
|
||||
}
|
||||
echo "<h3>".i18n("Schedule for %1",array(format_date($date)))."</h3>";
|
||||
$q=mysql_query("SELECT * FROM locations WHERE conferences_id='{$conference['id']}' ORDER BY name");
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
$locations[$r->id]=$r->name;
|
||||
}
|
||||
if(!count($locations)) {
|
||||
echo error(i18n("There are no locations defined. Please set up your locations first"));
|
||||
echo "<a href=\"locations.php\">".i18n("Location Editor")."</a>\n";
|
||||
exit;
|
||||
}
|
||||
|
||||
echo "<table class=\"schedule\" id=\"schedule\">\n";
|
||||
echo "<tr>";
|
||||
echo "<th style=\"width: 50px;\"> </th>";
|
||||
foreach($locations AS $id=>$name) {
|
||||
echo " <th>$name</th>\n";
|
||||
}
|
||||
for($h=$starthour;$h<$endhour;$h++) {
|
||||
for($m=0;$m<60;$m+=$increment) {
|
||||
echo "<tr>";
|
||||
echo " <td class=\"scheduletime\">";
|
||||
if($m==0) {
|
||||
echo format_time("$h:$m");
|
||||
}
|
||||
echo "</td>";
|
||||
foreach($locations AS $id=>$name) {
|
||||
echo "<td id=\"{$h}_{$m}_{$id}\" onclick=\"clickTableCell(this)\"><div>";
|
||||
echo "</div></td>";
|
||||
}
|
||||
echo "</tr>";
|
||||
}
|
||||
}
|
||||
echo "</table>\n";
|
||||
|
||||
$js="var eventdivs=new Array();\n";
|
||||
|
||||
//now make all our DIV's for the events that are scheduled in the database
|
||||
$x=0;
|
||||
//they will be moved by javascript after the fact
|
||||
$q=mysql_query("SELECT schedule.*, events.name, events.eventtype FROM schedule JOIN events ON schedule.events_id=events.id WHERE schedule.conferences_id='{$conference['id']}' AND date='{$date}'");
|
||||
echo mysql_error();
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
echo "<div class=\"scheduleevent scheduleevent_{$r->eventtype}\" id=\"event_{$r->id}\" onclick=\"editEvent($r->id)\">";
|
||||
echo "<div style=\"width: 99%; text-align: right;\"><a href=\"#\" onclick=\"return deleteEvent(event,$r->id)\"><img style=\"border: 0px;\" src=\"".$config['SFIABDIRECTORY']."/images/16/button_cancel.{$config['icon_extension']}\"></a></div>\n";
|
||||
echo "<span class=\"scheduleevent_title\">";
|
||||
echo $r->title;
|
||||
echo "</span>";
|
||||
echo "<br />";
|
||||
$starttime=strtotime($r->hour.":".$r->minute);
|
||||
$endtime=$starttime+$r->duration*60;
|
||||
echo format_time($starttime);
|
||||
echo " to ";
|
||||
echo format_time($endtime);
|
||||
echo "<br />";
|
||||
|
||||
if($r->eventtype=="scienceolympic") {
|
||||
|
||||
$regteams=getNumRegistrations($r->id);
|
||||
$minteams=$r->sominteams;
|
||||
$maxteams=$r->somaxteams;
|
||||
if($regteams<$minteams || $regteams >$maxteams)
|
||||
$cl="class=\"error\"";
|
||||
else $cl="";
|
||||
echo "<span $cl>";
|
||||
echo i18n("Teams")." : ";
|
||||
echo i18n("%1 of %2-%3",array($regteams,$minteams,$maxteams));
|
||||
echo "</span>";
|
||||
echo "<br />";
|
||||
|
||||
$regjudges=getNumJudges($r->id);
|
||||
$minjudges=$r->sominjudges;
|
||||
$maxjudges=$r->somaxjudges;
|
||||
if($regjudges<$minjudges || $regjudges >$maxjudges)
|
||||
$cl="class=\"error\"";
|
||||
else $cl="";
|
||||
echo "<span $cl>";
|
||||
echo i18n("Judges")." : ";
|
||||
echo i18n("%1 of %2-%3",array($regjudges,$minjudges,$maxjudges));
|
||||
echo "</span>";
|
||||
echo "<br />";
|
||||
|
||||
$regvolunteers=getNumVolunteers($r->id);
|
||||
$minvolunteers=$r->sominvolunteers;
|
||||
$maxvolunteers=$r->somaxvolunteers;
|
||||
if($regvolunteers<$minvolunteers || $regvolunteers>$maxvolunteers)
|
||||
$cl="class=\"error\"";
|
||||
else $cl="";
|
||||
echo "<span $cl>";
|
||||
echo i18n("Volunteers")." : ";
|
||||
echo i18n("%1 of %2-%3",array($regvolunteers,$minvolunteers,$maxvolunteers));
|
||||
echo "</span>";
|
||||
}
|
||||
|
||||
echo "</div>";
|
||||
$js.="eventdivs[$r->id]={hour:$r->hour,minute:$r->minute,location:$r->locations_id,duration:$r->duration};\n";
|
||||
$x++;
|
||||
}
|
||||
$js.="\n\nvar eventdefaults=new Array();\n";
|
||||
$q=mysql_query("SELECT events.* FROM events WHERE conferences_id='{$conference['id']}'");
|
||||
while($r=mysql_fetch_array($q)) {
|
||||
$js.="eventdefaults[{$r['id']}]=".json_encode($r)."\n";
|
||||
}
|
||||
|
||||
echo "<script type=\"text/javascript\">\n";
|
||||
echo $js;
|
||||
echo "</script>";
|
||||
}
|
||||
else if($_GET['action']=="loadevent") {
|
||||
$id=intval($_GET['id']);
|
||||
$q=mysql_query("SELECT schedule.*, events.name, events.eventtype FROM schedule, events WHERE schedule.id='$id' AND schedule.conferences_id='{$conference['id']}' AND schedule.events_id=events.id");
|
||||
echo mysql_error();
|
||||
if($r=mysql_fetch_assoc($q)) {
|
||||
$r['idtype']=$r['events_id'].":".$r['eventtype'];
|
||||
$teams=array();
|
||||
$teamq=mysql_query("SELECT so_teams.id,
|
||||
so_teams.name AS teamname,
|
||||
schools.school AS schoolname
|
||||
FROM
|
||||
so_teams
|
||||
JOIN schedule_registrations ON so_teams.id=schedule_registrations.so_teams_id
|
||||
JOIN schools ON so_teams.schools_id=schools.id
|
||||
WHERE
|
||||
schedule_registrations.conferences_id='{$conference['id']}'
|
||||
AND so_teams.conferences_id='{$conference['id']}'
|
||||
AND schedule_registrations.schedule_id='$id'");
|
||||
echo mysql_error();
|
||||
while($teamr=mysql_fetch_assoc($teamq)) {
|
||||
$teams[]=$teamr;
|
||||
}
|
||||
$r['teams']=$teams;
|
||||
echo json_encode($r);
|
||||
}
|
||||
else
|
||||
echo json_encode(array("id"=>0));
|
||||
exit;
|
||||
}
|
||||
else if($_GET['action']=="saveevent") {
|
||||
$id=intval($_POST['id']);
|
||||
list($event_id,$event_type)=explode(":",$_POST['event_id']);
|
||||
if($event_id>0) {
|
||||
if(!$id) {
|
||||
mysql_query("INSERT INTO schedule (conferences_id) VALUES ('{$conference['id']}')");
|
||||
$id=mysql_insert_id();
|
||||
}
|
||||
mysql_query("UPDATE schedule SET
|
||||
title='".mysql_real_escape_string($_POST['title'])."',
|
||||
date='".mysql_real_escape_string($_POST['date'])."',
|
||||
hour='".mysql_real_escape_string($_POST['hour'])."',
|
||||
minute='".mysql_real_escape_string($_POST['minute'])."',
|
||||
duration='".mysql_real_escape_string($_POST['duration'])."',
|
||||
events_id='$event_id',
|
||||
locations_id='".mysql_real_escape_string($_POST['location_id'])."',
|
||||
sominteams='".mysql_real_escape_string($_POST['sominteams'])."',
|
||||
somaxteams='".mysql_real_escape_string($_POST['somaxteams'])."',
|
||||
sominjudges='".mysql_real_escape_string($_POST['sominjudges'])."',
|
||||
somaxjudges='".mysql_real_escape_string($_POST['somaxjudges'])."',
|
||||
sominvolunteers='".mysql_real_escape_string($_POST['sominvolunteers'])."',
|
||||
somaxvolunteers='".mysql_real_escape_string($_POST['somaxvolunteers'])."',
|
||||
sominteamsize='".mysql_real_escape_string($_POST['sominteamsize'])."',
|
||||
somaxteamsize='".mysql_real_escape_string($_POST['somaxteamsize'])."'
|
||||
WHERE id='$id' AND conferences_id='{$conference['id']}'");
|
||||
echo mysql_error();
|
||||
happy_("Event successfully saved");
|
||||
} else {
|
||||
error_("Error saving event - You must select an event");
|
||||
}
|
||||
exit;
|
||||
}
|
||||
else if($_GET['action']=="deleteevent") {
|
||||
$id=intval($_POST['id']);
|
||||
$q=mysql_query("SELECT * FROM schedule_registrations WHERE schedule_id='{$id}' AND conferences_id='{$conference['id']}'");
|
||||
if(mysql_num_rows($q)) {
|
||||
error_("Cannot remove an event that has teams registered for it. Remove the teams first");
|
||||
}
|
||||
else {
|
||||
mysql_query("DELETE FROM schedule WHERE conferences_id='{$conference['id']}' AND id='{$id}'");
|
||||
happy_("Event successfully removed from the schedule");
|
||||
}
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
|
||||
send_header("Schedule Management",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php',
|
||||
'Events & Scheduling' => 'admin/eventsscheduling.php'),
|
||||
"events_scheduling" );
|
||||
echo "<br />";
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$(".date").datepicker({ dateFormat: 'yy-mm-dd' });
|
||||
changeDate();
|
||||
|
||||
/* Setup the editor dialog */
|
||||
$("#event_editor_dialog").dialog({
|
||||
bgiframe: true, autoOpen: false,
|
||||
modal: true, resizable: false,
|
||||
draggable: false,
|
||||
buttons: {
|
||||
"<?=i18n('Cancel')?>": function() {
|
||||
$(this).dialog("close");
|
||||
},
|
||||
"<?=i18n('Save')?>": function() {
|
||||
saveEvent();
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
});
|
||||
$(window).resize(function() {
|
||||
placeEvents();
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
function changeDate() {
|
||||
$("#schedulediv").load("schedule.php?action=loadschedule",{date:$("#date").val(),starthour:$("#starthour").val(),endhour:$("#endhour").val()},function() {
|
||||
placeEvents();
|
||||
});
|
||||
}
|
||||
|
||||
function clickTableCell(t) {
|
||||
var p=$("#"+t.id).offset();
|
||||
editEvent(null,t.id);
|
||||
|
||||
|
||||
}
|
||||
|
||||
function placeEvents() {
|
||||
$('.scheduleevent').each(function(idx,item) {
|
||||
var eventid=item.id.substr(6);
|
||||
var eventobj=eventdivs[eventid];
|
||||
|
||||
var tablecellid=eventobj.hour+'_'+eventobj.minute+'_'+eventobj.location;
|
||||
|
||||
if($("#"+tablecellid).length) {
|
||||
var eheight=((eventobj.duration/15)*<?=$ROWHEIGHT?>)-<? echo $BORDERSIZE*2; ?>;
|
||||
var ewidth=$("#"+tablecellid).width()-<? echo $BORDERSIZE*2; ?>;
|
||||
var p=$("#"+tablecellid).offset();
|
||||
$("#"+item.id).css(p);
|
||||
$("#"+item.id).show();
|
||||
$("#"+item.id).height(eheight);
|
||||
$("#"+item.id).width(ewidth);
|
||||
}
|
||||
else {
|
||||
$("#"+item.id).hide();
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function editEvent(id,cell) {
|
||||
if(id) {
|
||||
var eventobj=eventdivs[id];
|
||||
$("#event_editor_dialog").dialog('option','title','Edit Event');
|
||||
|
||||
$.getJSON("schedule.php?action=loadevent&id="+id,function(json) {
|
||||
$("#edit_event").val(json.idtype);
|
||||
event_change();
|
||||
|
||||
//general tab
|
||||
$("#edit_schedule_id").val(json.id);
|
||||
$("#edit_title").val(json.title);
|
||||
$("#edit_date").val(json.date);
|
||||
$("#edit_hour").val(json.hour);
|
||||
$("#edit_minute").val(json.minute);
|
||||
$("#edit_duration").val(json.duration);
|
||||
$("#edit_location").val(json.locations_id);
|
||||
|
||||
//we do this here to set the tabs properly, becuase it also sets the defaults, then we'll override the defaults wth
|
||||
//teh real values below
|
||||
|
||||
if(json.eventtype=="scienceolympic") {
|
||||
//science olympics tab
|
||||
$("#edit_sominteams").val(json.sominteams);
|
||||
$("#edit_somaxteams").val(json.somaxteams);
|
||||
|
||||
$("#edit_sominjudges").val(json.sominjudges);
|
||||
$("#edit_somaxjudges").val(json.somaxjudges);
|
||||
|
||||
$("#edit_sominvolunteers").val(json.sominvolunteers);
|
||||
$("#edit_somaxvolunteers").val(json.somaxvolunteers);
|
||||
|
||||
$("#edit_sominteamsize").val(json.sominteamsize);
|
||||
$("#edit_somaxteamsize").val(json.somaxteamsize);
|
||||
|
||||
var s='<table class="summarytable"><tr><th><?=i18n("Team Name")?></th><th><?=i18n("School Name")?></th></tr>';
|
||||
|
||||
for(var i=0;i<json.teams.length;i++) {
|
||||
var t=json.teams[i];
|
||||
s+='<tr><td>'+t.teamname+'</td><td>'+t.schoolname+'</td></tr>';
|
||||
}
|
||||
s+='</table>';
|
||||
$("#event_editor_tab_scienceolympics_registeredteams").html(s);
|
||||
}
|
||||
|
||||
$("#schedule_tabs").tabs('select',0);
|
||||
});
|
||||
}
|
||||
else {
|
||||
$("#event_editor_dialog").dialog('option','title','Create Event');
|
||||
var a=cell.split("_");
|
||||
$("#edit_event").val("");
|
||||
event_change();
|
||||
$("#edit_schedule_id").val(0);
|
||||
$("#edit_title").val("");
|
||||
$("#edit_date").val($("#date").val());
|
||||
$("#edit_hour").val(a[0]);
|
||||
$("#edit_minute").val(a[1]);
|
||||
$("#edit_duration").val(60);
|
||||
$("#edit_location").val(a[2]);
|
||||
|
||||
//science olympics tab
|
||||
$("#edit_somaxteams").val("");
|
||||
$("#edit_sominteams").val("");
|
||||
|
||||
$("#edit_somaxjudges").val("");
|
||||
$("#edit_sominjudges").val("");
|
||||
|
||||
$("#edit_somaxvolunteers").val("");
|
||||
$("#edit_sominvolunteers").val("");
|
||||
|
||||
$("#edit_sominteamsize").val("");
|
||||
$("#edit_somaxteamsize").val("");
|
||||
|
||||
$("#schedule_tabs").tabs('select',0);
|
||||
|
||||
$("#event_editor_tab_scienceolympics_registeredteams").html("");
|
||||
|
||||
}
|
||||
$("#event_editor_dialog").dialog('option','width',600);
|
||||
$("#event_editor_dialog").dialog('option','height',400);
|
||||
$("#event_editor_dialog").dialog('open');
|
||||
|
||||
}
|
||||
|
||||
function saveEvent() {
|
||||
var o=$("#edit_event_form").serializeArray();
|
||||
//alert(o);
|
||||
$("#debug").load("schedule.php?action=saveevent",o,function() {
|
||||
changeDate();
|
||||
});
|
||||
}
|
||||
function deleteEvent(event,id) {
|
||||
event.stopPropagation();
|
||||
|
||||
if(confirmClick('Are you sure you want to remove this event from the schedule?')) {
|
||||
$("#debug").load('schedule.php?action=deleteevent',{id:id},function() {
|
||||
changeDate();
|
||||
});
|
||||
}
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
|
||||
<?
|
||||
if(!$editdate) {
|
||||
list($editdate,$bla)=explode(" ",$config['dates']['fairdate']);
|
||||
}
|
||||
?>
|
||||
<form method="post">
|
||||
<? echo i18n("Schedule date"); ?>
|
||||
<input id="date" class="date" type="text" name="date" value="<?=$editdate?>" size="15" onchange="changeDate()">
|
||||
<? echo i18n("Start hour")." ";
|
||||
emit_hour_selector("starthour",8,"id=\"starthour\" onchange=\"changeDate()\"");
|
||||
echo i18n("End hour")." ";
|
||||
emit_hour_selector("endhour",15,"id=\"endhour\" onchange=\"changeDate()\"");
|
||||
?>
|
||||
</form>
|
||||
<hr />
|
||||
<div id="schedulediv">
|
||||
</div>
|
||||
<div id="event_editor_dialog">
|
||||
<? include "schedule_edit_dialog.php"; ?>
|
||||
</div>
|
||||
<?
|
||||
|
||||
send_footer();
|
||||
|
||||
}
|
||||
?>
|
@ -1,209 +0,0 @@
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$("#schedule_tabs").tabs({
|
||||
show: function(event, ui) {
|
||||
switch(ui.panel.id) {
|
||||
case 'schedule_tab_general':
|
||||
update_tab_general();
|
||||
break;
|
||||
case 'schedule_tab_scienceolympics':
|
||||
update_tab_scienceolympics();
|
||||
break;
|
||||
}
|
||||
},
|
||||
selected: 0
|
||||
});
|
||||
event_change();
|
||||
});
|
||||
|
||||
function update_tab_general() {
|
||||
}
|
||||
|
||||
function update_tab_scienceolympics() {
|
||||
}
|
||||
|
||||
function event_change() {
|
||||
var ea=$("#edit_event").val().split(":");
|
||||
//if its not set, we must be on "choose" still, so disable the other tabs until they choose something
|
||||
//then get the heck out of here
|
||||
if(!ea[1]) {
|
||||
$("#schedule_tabs").tabs("option","disabled",[1,2,3]);
|
||||
return;
|
||||
}
|
||||
//ea[1] is the type
|
||||
switch(ea[1]) {
|
||||
case "":
|
||||
case "general":
|
||||
$("#schedule_tabs").tabs("option","disabled",[1,2,3]);
|
||||
break;
|
||||
case "scienceolympic":
|
||||
$("#schedule_tabs").tabs("option","disabled",[2,3]);
|
||||
break;
|
||||
case "sciencefairjudging":
|
||||
$("#schedule_tabs").tabs("option","disabled",[1,3]);
|
||||
break;
|
||||
case "tour":
|
||||
$("#schedule_tabs").tabs("option","disabled",[1,2]);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
if($("#edit_title").val().length) {
|
||||
//umm if it already exists, dont change it
|
||||
//no, screw it, change it anyways
|
||||
}
|
||||
else
|
||||
{
|
||||
*/
|
||||
if($("#edit_event").val())
|
||||
$("#edit_title").val($("#edit_event option:selected").text());
|
||||
//}
|
||||
var ed=eventdefaults[ea[0]];
|
||||
$("#edit_sominteams").val(ed.default_min_teams);
|
||||
$("#edit_somaxteams").val(ed.default_max_teams);
|
||||
|
||||
$("#edit_sominjudges").val(ed.default_min_judges);
|
||||
$("#edit_somaxjudges").val(ed.default_max_judges);
|
||||
|
||||
$("#edit_sominvolunteers").val(ed.default_min_volunteers);
|
||||
$("#edit_somaxvolunteers").val(ed.default_max_volunteers);
|
||||
|
||||
$("#edit_somaxteamsize").val(ed.default_max_team_size);
|
||||
$("#edit_sominteamsize").val(ed.default_min_team_size);
|
||||
}
|
||||
|
||||
</script>
|
||||
<div id="schedule_tabs">
|
||||
<ul>
|
||||
<li><a href="#schedule_tab_general"><span><?=i18n('General')?></span></a></li>
|
||||
<li><a href="#schedule_tab_scienceolympics"><span><?=i18n('Science Olympics')?></span></a></li>
|
||||
<li><a href="#schedule_tab_sciencefairjudging"><span><?=i18n('Science Fair Judging')?></span></a></li>
|
||||
<li><a href="#schedule_tab_tour"><span><?=i18n('Tour')?></span></a></li>
|
||||
</ul>
|
||||
<form method="post" id="edit_event_form">
|
||||
<div id="schedule_tab_general">
|
||||
|
||||
<?
|
||||
|
||||
|
||||
|
||||
echo "<input type=\"hidden\" name=\"id\" id=\"edit_schedule_id\">";
|
||||
echo "<table style=\"width: 95%;\">";
|
||||
echo "<tr><td>";
|
||||
echo i18n("Event").": ";
|
||||
echo "</td><td>";
|
||||
echo "<select name=\"event_id\" id=\"edit_event\" onchange=\"event_change()\">";
|
||||
echo "<option value=\"\">".i18n("Choose")."</option>\n";
|
||||
$q=mysql_query("SELECT * FROM events WHERE conferences_id='{$conference['id']}' ORDER BY name");
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
echo "<option value=\"$r->id:$r->eventtype\">$r->name</option>\n";
|
||||
}
|
||||
echo "</select>\n";
|
||||
echo "</td><td>";
|
||||
echo i18n("Location").": ";
|
||||
echo "</td><td>";
|
||||
echo "<select name=\"location_id\" id=\"edit_location\">";
|
||||
echo "<option value=\"\">".i18n("Choose")."</option>\n";
|
||||
$q=mysql_query("SELECT * FROM locations WHERE conferences_id='{$conference['id']}' ORDER BY name");
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
echo "<option value=\"$r->id\">$r->name</option>\n";
|
||||
}
|
||||
echo "</select>\n";
|
||||
echo "</td></tr>\n";
|
||||
|
||||
|
||||
echo "<tr><td>";
|
||||
echo i18n("Title").": ";
|
||||
echo "</td><td>";
|
||||
echo "<input id=\"edit_title\" type=\"text\" name=\"title\" size=\"20\">";
|
||||
|
||||
echo "</td><td>";
|
||||
|
||||
echo i18n("Date").": ";
|
||||
echo "</td><td>";
|
||||
echo "<input id=\"edit_date\" type=\"text\" name=\"date\" class=\"date\" size=\"12\">";
|
||||
echo "</td><td>";
|
||||
echo "</td><td>";
|
||||
echo "</td></tr>\n";
|
||||
|
||||
echo "<tr><td>";
|
||||
|
||||
echo i18n("Start at").": ";
|
||||
echo "</td><td>";
|
||||
emit_hour_selector('hour',"","id=\"edit_hour\"");
|
||||
echo ":";
|
||||
emit_minute_selector('minute',"","id=\"edit_minute\"",15);
|
||||
|
||||
|
||||
echo "</td><td>";
|
||||
|
||||
echo i18n("Duration").": ";
|
||||
echo "</td><td>";
|
||||
echo "<input id=\"edit_duration\" type=\"text\" name=\"duration\" size=\"4\">";
|
||||
echo "minutes";
|
||||
echo "</td></tr>\n";
|
||||
echo "</table>";
|
||||
|
||||
?>
|
||||
|
||||
</div>
|
||||
<div id="schedule_tab_scienceolympics">
|
||||
<table>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th><?=i18n("Minimum")?></th>
|
||||
<th><?=i18n("Maximum")?></th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><?=i18n("Number of Teams")?></td>
|
||||
<td><input type="text" name="sominteams" id="edit_sominteams" size="4"></td>
|
||||
<td><input type="text" name="somaxteams" id="edit_somaxteams" size="4"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><?=i18n("Team Member Size")?></td>
|
||||
<td><input type="text" name="sominteamsize" id="edit_sominteamsize" size="4"></td>
|
||||
<td><input type="text" name="somaxteamsize" id="edit_somaxteamsize" size="4"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><?=i18n("Number of Judges")?></td>
|
||||
<td><input type="text" name="sominjudges" id="edit_sominjudges" size="4"></td>
|
||||
<td><input type="text" name="somaxjudges" id="edit_somaxjudges" size="4"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><?=i18n("Number of Volunteers")?></td>
|
||||
<td><input type="text" name="sominvolunteers" id="edit_sominvolunteers" size="4"></td>
|
||||
<td><input type="text" name="somaxvolunteers" id="edit_somaxvolunteers" size="4"></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
<?
|
||||
|
||||
echo "<h4>".i18n("Judges")."</h4>";
|
||||
echo "<table style=\"width: 95%;\">";
|
||||
echo "<tr>";
|
||||
echo "<td>";
|
||||
echo "</td><td>";
|
||||
echo "FIXME: show list of registered judges to choose from";
|
||||
echo "</td></tr>";
|
||||
echo "</table>";
|
||||
|
||||
echo "<h4>".i18n("Registered Teams")."</h4>";
|
||||
echo "<div id=\"event_editor_tab_scienceolympics_registeredteams\"></div>";
|
||||
echo "</div>\n";
|
||||
|
||||
|
||||
?>
|
||||
</div>
|
||||
<div id="schedule_tab_sciencefairjudging">
|
||||
</div>
|
||||
<div id="schedule_tab_tour">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
@ -24,140 +24,14 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
|
||||
function output_user_summary($userid) {
|
||||
$user = user_load($userid);
|
||||
$account = account_load($user['accounts_id']);
|
||||
if(!$user || !$account) {
|
||||
echo "Invalid User ID ($userid)";
|
||||
return;
|
||||
}
|
||||
echo i18n("Account").": ";
|
||||
if($account['username']==$account['email']) {
|
||||
echo $account['username'];
|
||||
} else {
|
||||
echo $account['username'];
|
||||
if($account['email']) echo " / ".$account['email'];
|
||||
}
|
||||
echo "<br />";
|
||||
echo i18n("Name").": ";
|
||||
echo $user['firstname']." ".$user['lastname']."<br />";
|
||||
if($user['phonework'] || $user['phonehome'] || $user['phonecell']) {
|
||||
echo i18n("Phone").": ";
|
||||
if($user['phonework']) echo "(W)".$user['phonework']." ";
|
||||
if($user['phonehome']) echo "(H)".$user['phonehome']." ";
|
||||
if($user['phonecell']) echo "(C)".$user['phonecell']." ";
|
||||
echo "<br />";
|
||||
}
|
||||
}
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
|
||||
if($_POST['action']=="removeuser") {
|
||||
$schoolid=intval($_POST['schoolid']);
|
||||
if($_POST['role']=="principal") {
|
||||
$f="principal_uid";
|
||||
} else if($_POST['role']=="teacher") {
|
||||
$f="sciencehead_uid";
|
||||
}
|
||||
if($f) {
|
||||
mysql_query("UPDATE schools SET $f=NULL WHERE id='$schoolid'");
|
||||
}
|
||||
echo "ok";
|
||||
exit;
|
||||
}
|
||||
else if($_POST['action']=="adduser") {
|
||||
/* we have the following to work with:
|
||||
accounts_id, conferenceid, field, role, username, users_id
|
||||
*/
|
||||
|
||||
//if accounts_id is 0, it means its a new user
|
||||
$accounts_id=intval($_POST['accounts_id']);
|
||||
$conferenceid=intval($_POST['conferenceid']);
|
||||
$schoolid=intval($_POST['schoolid']);
|
||||
|
||||
if($accounts_id==0) {
|
||||
$a=account_create($_POST['username']);
|
||||
if(isEmailAddress($_POST['username']))
|
||||
account_set_email($a['id'],$_POST['username']);
|
||||
//and load it again, just so we have the most up-to-date
|
||||
$a=account_load($a['id']);
|
||||
}
|
||||
else
|
||||
$a=account_load($accounts_id);
|
||||
|
||||
//now lets add the role -- this fails gracefully if they already have the role, or if its added, in both cases it returns 'ok'
|
||||
$ret=account_add_role($a['id'],$_POST['role'],$conferenceid);
|
||||
|
||||
//we still need the user id
|
||||
$u=user_load_by_accounts_id($a['id']);
|
||||
|
||||
if($ret=='ok' && $u['id']) {
|
||||
mysql_query("UPDATE schools SET `".mysql_real_escape_string($_POST['field'])."`='{$u['id']}' WHERE id='$schoolid'");
|
||||
echo mysql_error();
|
||||
//and update the users schools_id, yes, maybe we should use the user object and user_save() but the single query here is easier and probably waaaaaay faster
|
||||
mysql_query("UPDATE users SET schools_id='$schoolid' WHERE id='{$u['id']}'");
|
||||
echo mysql_error();
|
||||
echo "ok";
|
||||
}
|
||||
else {
|
||||
echo "error\n";
|
||||
echo "ret=$ret\n";
|
||||
echo "u="; print_r($u);
|
||||
//error ?
|
||||
}
|
||||
exit;
|
||||
}
|
||||
|
||||
if($_GET['action']=='loaduser') {
|
||||
$schoolid=intval($_GET['schoolid']);
|
||||
$role=$_GET['role'];
|
||||
|
||||
if($role=="principal") {
|
||||
$f="principal_uid";
|
||||
} else if($role=="teacher") {
|
||||
$f="sciencehead_uid";
|
||||
}
|
||||
$q=mysql_query("SELECT $f AS userid FROM schools WHERE id='$schoolid'");
|
||||
$r=mysql_fetch_object($q);
|
||||
|
||||
if($r->userid > 0) {
|
||||
//we already have one, so just display teh details, with the option to remove or edit
|
||||
echo "<td align=\"right\">";
|
||||
echo "<a onclick=\"return openeditor($r->userid); return false;\" href=\"#\"><img border=\"0\" src=\"".$config['SFIABDIRECTORY']."/images/16/edit.".$config['icon_extension']."\"></a>";
|
||||
echo " ";
|
||||
echo "<a onclick=\"return removeUserFromSchool('$role',$schoolid)\"
|
||||
href=\"#\"><img border=0 src=\"".$config['SFIABDIRECTORY']."/images/16/button_cancel.".$config['icon_extension']."\"></a>";
|
||||
echo "</td><td>";
|
||||
output_user_summary($r->userid);
|
||||
echo "</td>";
|
||||
|
||||
echo "</tr>";
|
||||
}
|
||||
else {
|
||||
echo "<td align=\"right\">".i18n("Email/username")." </td>";
|
||||
echo "<td>";
|
||||
emit_user_selector($f,$conference['id'],$role);
|
||||
echo "</td>";
|
||||
}
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function emit_user_selector($name,$conferenceid,$role,$allowcreate=true) {
|
||||
echo "<!--begin emit_user_selector ($name,$conferenceid,$role,$allowcreate)-->\n";
|
||||
echo "<input type=\"hidden\" id=\"{$name}_role\" name=\"{$name}_role\" value=\"$role\">";
|
||||
echo "<input type=\"hidden\" id=\"{$name}_conferenceid\" name=\"{$name}_conferenceid\" value=\"$conferenceid\">";
|
||||
echo "<input type=\"text\" class=\"user_select_autocomplete\" size=\"45\" id=\"{$name}\" name=\"{$name}\">";
|
||||
echo "<!--end emit_user_selector-->\n";
|
||||
}
|
||||
|
||||
|
||||
if($_POST['save']=="edit" || $_POST['save']=="add") {
|
||||
if($_POST['save']=="add") {
|
||||
$q=mysql_query("INSERT INTO schools (conferences_id) VALUES ('".$conference['id']."')");
|
||||
if($_POST['save']=="edit" || $_POST['save']=="add")
|
||||
{
|
||||
if($_POST['save']=="add")
|
||||
{
|
||||
$q=mysql_query("INSERT INTO schools (year) VALUES ('".$config['FAIRYEAR']."')");
|
||||
$id=mysql_insert_id();
|
||||
}
|
||||
else
|
||||
@ -165,6 +39,86 @@ function emit_user_selector($name,$conferenceid,$role,$allowcreate=true) {
|
||||
|
||||
$atrisk = $_POST['atrisk'] == 'yes' ? 'yes' : 'no';
|
||||
|
||||
/*
|
||||
"sciencehead='".mysql_escape_string(stripslashes($_POST['sciencehead']))."', ".
|
||||
"scienceheadphone='".mysql_escape_string(stripslashes($_POST['scienceheadphone']))."', ".
|
||||
"scienceheademail='".mysql_escape_string(stripslashes($_POST['scienceheademail']))."', ".
|
||||
"principal='".mysql_escape_string(stripslashes($_POST['principal']))."', ".
|
||||
*/
|
||||
|
||||
/* Get the uids for principal/science head */
|
||||
$q = mysql_query("SELECT principal_uid,sciencehead_uid FROM schools WHERE id='$id'");
|
||||
$i = mysql_fetch_assoc($q);
|
||||
|
||||
$principal_update = '';
|
||||
$sciencehead_update = '';
|
||||
list($first, $last) = split(' ', $_POST['principal'], 2);
|
||||
/* Load existing entry if it exists, else make an entry if
|
||||
* there is data, else, do nothing */
|
||||
if($i['principal_uid'] > 0)
|
||||
$pl = user_load_by_uid($i['principal_uid']);
|
||||
else if($first != '' && $last != '') {
|
||||
$pl = user_create('principal', "*$first$last".user_generate_password());
|
||||
$principal_update = "principal_uid='{$pl['uid']}',";
|
||||
} else
|
||||
$pl = false;
|
||||
|
||||
$em = $_POST['principalemail'];
|
||||
|
||||
/* If we loaded or created an entry, either
|
||||
* update and save, or purge it */
|
||||
if(is_array($pl)) {
|
||||
if($first == '' && $last == '') {
|
||||
user_purge($pl, 'principal');
|
||||
$principal_update = 'principal_uid=NULL,';
|
||||
} else {
|
||||
$pl['firstname'] = $first;
|
||||
$pl['lastname'] = $last;
|
||||
$pl['email'] = $em;
|
||||
user_save($pl);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Get info about science head */
|
||||
list($first, $last) = split(' ', $_POST['sciencehead'], 2);
|
||||
$em = $_POST['scienceheademail'];
|
||||
if($em == '' && ($first != '' || $last != '')) $em = "*$first$last".user_generate_password();
|
||||
/* Load existing record, or create new if there's something
|
||||
* to insert */
|
||||
$sh = false;
|
||||
if($i['sciencehead_uid'] > 0) {
|
||||
$sh = user_load_by_uid($i['sciencehead_uid']);
|
||||
/* It's possile for sh to be false now, happens when the user is
|
||||
* deleted outside the school editor, this condition needs to be
|
||||
* fixed. If we let it go, the saving the teacher info will
|
||||
* silently fail. So let's just create a new teacher */
|
||||
|
||||
if(is_array($sh) && ($em != $sh['email'] || $em=='')) {
|
||||
/* If the emails don't match we have no way of knowing if we're creating a different
|
||||
* user, or doing a correction, assume it's a different user */
|
||||
user_purge($sh, 'teacher');
|
||||
$sh = false;
|
||||
}
|
||||
}
|
||||
|
||||
/* If there was no teacher loaded, or if we just purged it, create a new one
|
||||
* if there's an email address */
|
||||
if($sh == false && $em != '') {
|
||||
$sh = user_create('teacher', $em);
|
||||
$sciencehead_update = "sciencehead_uid='{$sh['uid']}',";
|
||||
}
|
||||
|
||||
/* If we have a record update it */
|
||||
if(is_array($sh)) {
|
||||
$sh['firstname'] = $first;
|
||||
$sh['lastname'] = $last;
|
||||
$sh['phonework'] = $_POST['scienceheadphone'];
|
||||
$sh['email'] = $em;
|
||||
$sh['username'] = $em;
|
||||
user_save($sh);
|
||||
}
|
||||
|
||||
$exec="UPDATE schools SET ".
|
||||
"school='".mysql_escape_string(stripslashes($_POST['school']))."', ".
|
||||
"schoollang='".mysql_escape_string(stripslashes($_POST['schoollang']))."', ".
|
||||
@ -184,6 +138,7 @@ function emit_user_selector($name,$conferenceid,$role,$allowcreate=true) {
|
||||
"projectlimit='".mysql_escape_string(stripslashes($_POST['projectlimit']))."', ".
|
||||
"projectlimitper='".mysql_escape_string(stripslashes($_POST['projectlimitper']))."', ".
|
||||
"accesscode='".mysql_escape_string(stripslashes($_POST['accesscode']))."', ".
|
||||
$sciencehead_update.$principal_update.
|
||||
"atrisk='$atrisk' ".
|
||||
"WHERE id='$id'";
|
||||
mysql_query($exec);
|
||||
@ -194,148 +149,44 @@ function emit_user_selector($name,$conferenceid,$role,$allowcreate=true) {
|
||||
else
|
||||
$notice = 'saved';
|
||||
}
|
||||
else if($_POST['action'] == "save_participation") {
|
||||
// update the schools' participation in fairs an olympics to reflect the settings submitted
|
||||
$olympicSet = array();
|
||||
$fairSet = array();
|
||||
foreach($_POST as $idx => $value){
|
||||
if(preg_match('/_olympics$/', $idx)){
|
||||
$parts = explode('_', $idx);
|
||||
$olympicSet[] = $parts[0];
|
||||
}else if(preg_match('/_fairs$/', $idx)){
|
||||
$parts = explode('_', $idx);
|
||||
$fairSet[] = $parts[0];
|
||||
}
|
||||
}
|
||||
$fairString = '(' . implode(',', $fairSet) . ')';
|
||||
$olympicString = '(' . implode(',', $olympicSet) . ')';
|
||||
mysql_query("UPDATE schools SET include_fairs = TRUE WHERE id IN $fairString");
|
||||
mysql_query("UPDATE schools SET include_fairs = FALSE WHERE id NOT IN $fairString");
|
||||
mysql_query("UPDATE schools SET include_olympics = TRUE WHERE id IN $olympicString");
|
||||
mysql_query("UPDATE schools SET include_olympics = FALSE WHERE id NOT IN $olympicString");
|
||||
}
|
||||
else if($_POST['action']=="copy") {
|
||||
$oldConfId=intval($_POST['copyconference']);
|
||||
$newConfId=intval($conference['id']);
|
||||
if($oldConfId && $newConfId) {
|
||||
|
||||
$q=mysql_query("SELECT * FROM schools WHERE conferences_id=$oldConfId");
|
||||
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
//FIXME: we need to roll the userid's to new ones for the new conference, if we use the same ones its not gonna work
|
||||
//nobody should be copying for now, so we should be safe for a few months
|
||||
//2011-02-22
|
||||
$puid = ($r->principal_uid == null) ? 'NULL' : ("'".intval($r->principal_uid)."'");
|
||||
$shuid = ($r->sciencehead_uid == null) ? 'NULL' : ("'".intval($r->sciencehead_uid)."'");
|
||||
|
||||
mysql_query("INSERT INTO schools (school,schoollang,schoollevel,board,district,phone,fax,address,city,province_code,postalcode,principal_uid,schoolemail,sciencehead_uid,accesscode,lastlogin,junior,intermediate,senior,registration_password,projectlimit,projectlimitper,conferences_id) VALUES (
|
||||
'".mysql_real_escape_string($r->school)."',
|
||||
'".mysql_real_escape_string($r->schoollang)."',
|
||||
'".mysql_real_escape_string($r->schoollevel)."',
|
||||
'".mysql_real_escape_string($r->board)."',
|
||||
'".mysql_real_escape_string($r->district)."',
|
||||
'".mysql_real_escape_string($r->phone)."',
|
||||
'".mysql_real_escape_string($r->fax)."',
|
||||
'".mysql_real_escape_string($r->address)."',
|
||||
'".mysql_real_escape_string($r->city)."',
|
||||
'".mysql_real_escape_string($r->province_code)."',
|
||||
'".mysql_real_escape_string($r->postalcode)."',$puid,
|
||||
'".mysql_real_escape_string($r->schoolemail)."',$shuid,
|
||||
'".mysql_real_escape_string($r->accesscode)."',
|
||||
NULL,
|
||||
'".mysql_real_escape_string($r->junior)."',
|
||||
'".mysql_real_escape_string($r->intermediate)."',
|
||||
'".mysql_real_escape_string($r->senior)."',
|
||||
'".mysql_real_escape_string($r->registration_password)."',
|
||||
'".mysql_real_escape_string($r->projectlimit)."',
|
||||
'".mysql_real_escape_string($r->projectlimitper)."',
|
||||
'".mysql_real_escape_string($newConfId)."')");
|
||||
}
|
||||
$notice="copied";
|
||||
}
|
||||
}
|
||||
|
||||
if($_GET['action']=="delete" && $_GET['delete']) {
|
||||
if($_GET['action']=="delete" && $_GET['delete'])
|
||||
{
|
||||
mysql_query("DELETE FROM schools WHERE id='".$_GET['delete']."'");
|
||||
$notice = 'deleted';
|
||||
}
|
||||
|
||||
if($_GET['action']=="clearaccesscodes") {
|
||||
mysql_query("UPDATE schools SET accesscode=NULL WHERE conferences_id='{$conference['id']}'");
|
||||
if($_GET['action']=="clearaccesscodes")
|
||||
{
|
||||
mysql_query("UPDATE schools SET accesscode=NULL WHERE year='{$config['FAIRYEAR']}'");
|
||||
$notice = 'clearaccess';
|
||||
}
|
||||
|
||||
if($_GET['action']=="makeaccesscodes") {
|
||||
$q=mysql_query("SELECT id FROM schools WHERE conferences_id='{$conference['id']}' AND (accesscode IS NULL OR accesscode='')");
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
if($_GET['action']=="makeaccesscodes")
|
||||
{
|
||||
$q=mysql_query("SELECT id FROM schools WHERE year='{$config['FAIRYEAR']}' AND (accesscode IS NULL OR accesscode='')");
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
$ac=generatePassword(5);
|
||||
mysql_query("UPDATE schools SET accesscode='$ac' WHERE id='$r->id' AND conferences_id='{$conference['id']}'");
|
||||
mysql_query("UPDATE schools SET accesscode='$ac' WHERE id='$r->id' AND year='{$config['FAIRYEAR']}'");
|
||||
|
||||
}
|
||||
$notice = 'makeaccess';
|
||||
}
|
||||
|
||||
if($_GET['action']=="edit" || $_GET['action']=="add") {
|
||||
send_header(($_GET['action']=='edit') ? "Edit School" : "Add New School",
|
||||
if($_GET['action']=="edit" || $_GET['action']=="add")
|
||||
{
|
||||
|
||||
send_header(($_GET['action']=='edit') ? "Edit School" : "Add New School",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php',
|
||||
'School Management' => 'admin/schools.php'),
|
||||
"schools_management"
|
||||
);
|
||||
$schoolid=intval($_GET['edit']);
|
||||
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
function removeUserFromSchool(role,schoolid) {
|
||||
if(!confirmClick('Are you sure you want to remove this '+role+' from the school?'))
|
||||
return false;
|
||||
else {
|
||||
$.post('schools.php',{action: 'removeuser', role: role, schoolid: schoolid},function() { updateUser(role,schoolid); });
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
var global_schoolid;
|
||||
|
||||
function updateUser(role,schoolid) {
|
||||
global_schoolid=schoolid;
|
||||
|
||||
$("#"+role+"_row").load('schools.php?action=loaduser&role='+role+'&schoolid='+schoolid,null,function() {
|
||||
$(".user_select_autocomplete").autocomplete({
|
||||
source: "user_select_autocomplete.php",
|
||||
select: function(event,ui) {
|
||||
var accounts_id=ui.item.accounts_id;
|
||||
var users_id=ui.item.users_id;
|
||||
var username=$(this).val();
|
||||
var field=$(this).attr("name");
|
||||
var conferenceid=$("#"+field+'_conferenceid').val();
|
||||
var role=$("#"+field+'_role').val();
|
||||
|
||||
var options={action: 'adduser', accounts_id: accounts_id, users_id: users_id, username: username, field: field, conferenceid: conferenceid, schoolid: global_schoolid, role: role };
|
||||
|
||||
$.post("schools.php",options,function() {
|
||||
updateUser(role,global_schoolid);
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
updateUser('principal',<?=$schoolid?>);
|
||||
updateUser('teacher',<?=$schoolid?>);
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<?
|
||||
|
||||
|
||||
if($_GET['action']=="edit") {
|
||||
if($_GET['action']=="edit")
|
||||
{
|
||||
$buttontext="Save School";
|
||||
$q=mysql_query("SELECT * FROM schools WHERE id='$schoolid'");
|
||||
$q=mysql_query("SELECT * FROM schools WHERE id='".$_GET['edit']."'");
|
||||
$r=mysql_fetch_object($q);
|
||||
}
|
||||
else if($_GET['action']=="add")
|
||||
@ -348,7 +199,7 @@ $(document).ready(function() {
|
||||
echo "<input type=\"hidden\" name=\"save\" value=\"".$_GET['action']."\">\n";
|
||||
|
||||
if($_GET['action']=="edit")
|
||||
echo "<input type=\"hidden\" name=\"id\" value=\"".$schoolid."\">\n";
|
||||
echo "<input type=\"hidden\" name=\"id\" value=\"".$_GET['edit']."\">\n";
|
||||
|
||||
echo "<table>\n";
|
||||
echo "<tr><td>".i18n("School Name")."</td><td><input type=\"text\" name=\"school\" value=\"".htmlspecialchars($r->school)."\" size=\"60\" maxlength=\"64\" /></td></tr>\n";
|
||||
@ -385,25 +236,36 @@ $(document).ready(function() {
|
||||
echo "<tr><td>".i18n("Phone")."</td><td><input type=\"text\" name=\"phone\" value=\"".htmlspecialchars($r->phone)."\" size=\"16\" maxlength=\"16\" /></td></tr>\n";
|
||||
echo "<tr><td>".i18n("Fax")."</td><td><input type=\"text\" name=\"fax\" value=\"".htmlspecialchars($r->fax)."\" size=\"16\" maxlength=\"16\" /></td></tr>\n";
|
||||
|
||||
if($r->principal_uid > 0)
|
||||
$pl = user_load_by_uid($r->principal_uid);
|
||||
else
|
||||
$pl = array();
|
||||
/* Don't show autogenerated emails */
|
||||
$e = $pl['email'][0] == '*' ? '' : $pl['email'];
|
||||
echo "<tr><td>".i18n("Principal")."</td><td><input type=\"text\" name=\"principal\" value=\"".htmlspecialchars($pl['name'])."\" size=\"60\" maxlength=\"64\" /></td></tr>\n";
|
||||
echo "<tr><td>".i18n("Principal Email")."</td><td><input type=\"text\" name=\"principalemail\" value=\"".htmlspecialchars($e)."\" size=\"60\" maxlength=\"128\" /></td></tr>\n";
|
||||
|
||||
echo "<tr><td>".i18n("School Email")."</td><td><input type=\"text\" name=\"schoolemail\" value=\"".htmlspecialchars($r->schoolemail)."\" size=\"60\" maxlength=\"128\" /></td></tr>\n";
|
||||
echo "<tr><td>".i18n("Access Code")."</td><td><input type=\"text\" name=\"accesscode\" value=\"".htmlspecialchars($r->accesscode)."\" size=\"32\" maxlength=\"32\" /></td></tr>\n";
|
||||
|
||||
echo "<tr><td colspan=2><br /><b>".i18n("Principal")."</b></td></tr>";
|
||||
echo "<tr id=\"principal_row\">";
|
||||
//this gets filled in by javascript/jquery
|
||||
echo "</tr>";
|
||||
|
||||
echo "<tr><td colspan=2><br /><b>".i18n("Science head/teacher or science fair contact at school")."</b></td></tr>";
|
||||
echo "<tr id=\"teacher_row\">";
|
||||
//this gets filled in by javascript/jquery
|
||||
echo "</tr>";
|
||||
if($r->sciencehead_uid > 0)
|
||||
$sh = user_load_by_uid($r->sciencehead_uid);
|
||||
else
|
||||
$sh = array();
|
||||
/* Don't show autogenerated emails */
|
||||
$e = $sh['email'][0] == '*' ? '' : $sh['email'];
|
||||
echo "<tr><td>".i18n("Email")."</td><td><input type=\"text\" name=\"scienceheademail\" value=\"".htmlspecialchars($e)."\" size=\"60\" maxlength=\"128\" /></td></tr>\n";
|
||||
echo "<tr><td>".i18n("Name")."</td><td><input type=\"text\" name=\"sciencehead\" value=\"".htmlspecialchars($sh['name'])."\" size=\"60\" maxlength=\"64\" /></td></tr>\n";
|
||||
echo "<tr><td>".i18n("Phone")."</td><td><input type=\"text\" name=\"scienceheadphone\" value=\"".htmlspecialchars($sh['phonework'])."\" size=\"16\" maxlength=\"16\" /></td></tr>\n";
|
||||
|
||||
if($config['participant_registration_type']=="schoolpassword") {
|
||||
if($config['participant_registration_type']=="schoolpassword")
|
||||
{
|
||||
echo "<tr><td colspan=2><br /><b>".i18n("Participant Registration Password")."</b></td></tr>";
|
||||
echo "<tr><td>".i18n("Password")."</td><td><input type=\"text\" name=\"registration_password\" value=\"".htmlspecialchars($r->registration_password)."\" size=\"32\" maxlength=\"32\" /></td></tr>\n";
|
||||
}
|
||||
echo "<tr><td colspan=2><br /><b>".i18n("Participant Registration Limits")."</b></td></tr>";
|
||||
if($config['participant_registration_type']=="invite") {
|
||||
if($config['participant_registration_type']=="invite")
|
||||
{
|
||||
echo "<tr><td colspan=2>".i18n("Set to 0 to have no registration limit")."</td></tr>";
|
||||
echo "<tr><td colspan=2>".i18n("Maximum of")." ";
|
||||
echo "<input type=\"text\" name=\"projectlimit\" value=\"".htmlspecialchars($r->projectlimit)."\" size=\"4\" maxlength=\"4\" />";
|
||||
@ -437,71 +299,8 @@ $(document).ready(function() {
|
||||
|
||||
|
||||
}
|
||||
else if($_GET['action'] == 'participation')
|
||||
else
|
||||
{
|
||||
send_header(
|
||||
"Conference Participation",
|
||||
array(
|
||||
'Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php',
|
||||
'School Management' => 'admin/schools.php'
|
||||
),
|
||||
"participation"
|
||||
);
|
||||
|
||||
echo "<form method=\"post\" action=\"schools.php\">\n";
|
||||
echo "<table class=\"tableview\">";
|
||||
echo "<thead><tr>";
|
||||
echo " <th>".i18n("School")."</th>";
|
||||
echo " <th>".i18n("Participation")."</th>";
|
||||
echo "</tr></thead>\n";
|
||||
|
||||
$query = mysql_query("SELECT id, school, include_fairs, include_olympics FROM schools WHERE conferences_id='".$conference['id']."' ORDER BY school");
|
||||
while($record = mysql_fetch_array($query)){
|
||||
echo "<tr><td>" . $record['school'] . "</td>";
|
||||
echo "<td><label style=\"margin-right: 2em\">";
|
||||
echo '<input type="checkbox" name="' . $record['id'] . '_fairs' . '"';
|
||||
if($record['include_fairs'] == true) echo " CHECKED";
|
||||
echo "> " . i18n("fairs") . "</label>";
|
||||
|
||||
echo "<label>";
|
||||
echo '<input type="checkbox" name="' . $record['id'] . '_olympics' . '"';
|
||||
if($record['include_olympics'] == true) echo " CHECKED";
|
||||
echo "> " . i18n("olympics") . "</label>";
|
||||
echo "</td></tr>";
|
||||
}
|
||||
echo "<tr><td colspan=\"2\" align=\"center\"><input type=\"submit\" value=\"" . i18n('Save') . "\" /></td></tr>\n";
|
||||
echo "</table>\n";
|
||||
echo '<input type="hidden" name="action" value="save_participation"></input>' . "\n";
|
||||
echo "</form>\n";
|
||||
|
||||
}
|
||||
else if($_GET['action']=="copy") {
|
||||
send_header("School Management",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php'),
|
||||
"schools_management"
|
||||
);
|
||||
echo "<form method=\"post\" action=\"schools.php\">";
|
||||
echo "<input type=\"hidden\" name=\"action\" value=\"copy\">\n";
|
||||
echo i18n("Choose a conference to copy schools from");
|
||||
echo "<br />";
|
||||
$q=mysql_query("SELECT * FROM conferences WHERE id!='{$conference['id']}' ORDER BY id DESC");
|
||||
echo mysql_error();
|
||||
echo "<select name=\"copyconference\">";
|
||||
echo "<option value=\"\">".i18n("Choose a Conference")."</option>\n";
|
||||
while($r=mysql_fetch_object($q)) {
|
||||
$numq=mysql_query("SELECT COUNT(*) AS c FROM schools WHERE conferences_id='{$r->id}'");
|
||||
$numr=mysql_fetch_object($numq);
|
||||
echo "<option value=\"{$r->id}\">{$r->name} ($numr->c schools)</option>\n";
|
||||
}
|
||||
echo "</select>\n";
|
||||
echo "<input type=\"submit\" value=\"".i18n("Copy Schools")."\">";
|
||||
echo "</form>\n";
|
||||
|
||||
}
|
||||
|
||||
else {
|
||||
send_header("School Management",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php'),
|
||||
@ -510,82 +309,57 @@ $(document).ready(function() {
|
||||
|
||||
switch($notice) {
|
||||
case 'added':
|
||||
echo happy(i18n("School successfully added"));
|
||||
echo happy("School successfully added");
|
||||
break;
|
||||
case 'saved':
|
||||
echo happy(i18n("Successfully saved changes to school"));
|
||||
echo happy("Successfully saved changes to school");
|
||||
break;
|
||||
case 'deleted':
|
||||
echo happy(i18n("School successfully deleted"));
|
||||
echo happy("School successfully deleted");
|
||||
break;
|
||||
case 'clearaccess':
|
||||
echo happy(i18n("Access Codes successfully cleared from all schools"));
|
||||
echo happy("Access Codes successfully cleared from all schools");
|
||||
break;
|
||||
case 'makeaccess':
|
||||
echo happy(i18n("Access Codes successfully set for schools that didn't have one"));
|
||||
break;
|
||||
case 'copied':
|
||||
echo happy(i18n("Schools successfully copied from other conference"));
|
||||
echo happy("Access Codes successfully set for schools that didn't have one");
|
||||
break;
|
||||
}
|
||||
|
||||
echo "<br />";
|
||||
echo "<a href=\"schools.php?action=add\">".i18n("Add new school")."</a>\n";
|
||||
echo "<br />";
|
||||
echo "<a href=\"schools.php?action=copy\">".i18n("Copy schools from a difference conference")."</a>\n";
|
||||
echo "<br />";
|
||||
echo "<a href=\"schoolsimport.php?action=add\">".i18n("Import schools from CSV")."</a>\n";
|
||||
echo "<br />";
|
||||
echo "<a href=\"schools.php?action=makeaccesscodes\">".i18n("Create Access Code for any school without one")."</a>\n";
|
||||
echo "<br />";
|
||||
echo "<a onclick=\"return confirmClick('".i18n("Are you sure you want to remove all access codes from all schools?")."')\" href=\"schools.php?action=clearaccesscodes\">".i18n("Remove Access Codes from all schools")."</a>\n";
|
||||
echo "<br />";
|
||||
// we only need to see this option if we are managing both types of conferences
|
||||
$q = mysql_fetch_array(mysql_query('SELECT COUNT(DISTINCT(`type`)) as taly FROM conferences'));
|
||||
if($q['tally'] > 1){
|
||||
echo "<a href=\"schools.php?action=participation\">".i18n("Set SFIAB/SOIAB participation")."</a>\n";
|
||||
echo "<br />";
|
||||
}
|
||||
echo "<table class=\"tableview\">";
|
||||
echo "<thead><tr>";
|
||||
echo " <th>".i18n("School")."</th>";
|
||||
echo " <th>".i18n("Address")."</th>";
|
||||
echo " <th>".i18n("Phone")."</th>";
|
||||
echo " <th>".i18n("Science Head")."</th>";
|
||||
echo " <th>".i18n("Science Head Email")."</th>";
|
||||
echo " <th>".i18n("Contact")."</th>";
|
||||
if($config['participant_registration_type']=="schoolpassword")
|
||||
echo " <th>".i18n("Reg Pass")."</th>";
|
||||
echo " <th>".i18n("Access Code")."</th>";
|
||||
echo " <th>".i18n("Action")."</th>";
|
||||
echo "</tr></thead>\n";
|
||||
|
||||
$q=mysql_query("SELECT * FROM schools WHERE conferences_id='".$conference['id']."' ORDER BY school");
|
||||
$q=mysql_query("SELECT * FROM schools WHERE year='".$config['FAIRYEAR']."' ORDER BY school");
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
echo "<tr>\n";
|
||||
echo " <td>$r->school</td>\n";
|
||||
echo " <td>$r->address, $r->city, $r->postalcode</td>\n";
|
||||
echo " <td>$r->phone</td>\n";
|
||||
$sciencehead = '';
|
||||
$scienceheademail = '';
|
||||
if($r->sciencehead_uid > 0) {
|
||||
$sh = user_load($r->sciencehead_uid);
|
||||
$sciencehead = $sh['name'];
|
||||
if(!$sciencehead) $sciencehead="<i>no name set</i>";
|
||||
// print_r($sh);
|
||||
$sha=account_load($sh['accounts_id']);
|
||||
if($sha['email']) {
|
||||
$scienceheademail=$sha['email'];
|
||||
$pending="";
|
||||
}
|
||||
else {
|
||||
$scienceheademail=$sha['pendingemail'];
|
||||
$pending="(unconfirmed)";
|
||||
}
|
||||
|
||||
$sciencehead = '';
|
||||
if($r->sciencehead_uid > 0) {
|
||||
$sh = user_load_by_uid($r->sciencehead_uid);
|
||||
$sciencehead = $sh['name'];
|
||||
}
|
||||
echo " <td>$sciencehead</td>\n";
|
||||
echo " <td><a href=\"mailto:$scienceheademail\">$scienceheademail</a> $pending</td>\n";
|
||||
if($config['participant_registration_type']=="schoolpassword")
|
||||
echo " <td>$r->registration_password</td>\n";
|
||||
echo " <td>$r->accesscode</td>\n";
|
||||
|
@ -26,7 +26,7 @@
|
||||
require_once("../user.inc.php");
|
||||
require("../csvimport.inc.php");
|
||||
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
send_header("Schools Import",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
@ -49,13 +49,44 @@
|
||||
if($_POST['emptycurrent']==1)
|
||||
{
|
||||
echo happy(i18n("Old school data erased"));
|
||||
mysql_query("DELETE FROM schools WHERE conferences_id='".$conference['id']."'");
|
||||
mysql_query("DELETE FROM schools WHERE year='".$config['FAIRYEAR']."'");
|
||||
}
|
||||
|
||||
$loaded=0;
|
||||
foreach($CSVP->data AS $row)
|
||||
{
|
||||
mysql_query("INSERT INTO schools (school,schoollang,schoollevel,board,district,phone,fax,address,city,province_code,postalcode,principal,schoolemail,sciencehead,scienceheademail,scienceheadphone,accesscode,registration_password,projectlimit,projectlimitper,conferences_id) VALUES (
|
||||
for($n = 0; $n < count($row); $n++){
|
||||
$row[$n] = trim($row[$n]);
|
||||
}
|
||||
|
||||
$email = $row[16];
|
||||
if($email != ''){
|
||||
$scienceHead = user_load_by_email($email);
|
||||
if(!$scienceHead){
|
||||
$scienceHead = user_create('teacher', $email);
|
||||
$scienceHead['email'] = $email;
|
||||
}
|
||||
list($first, $last) = explode(' ', $row[15], 2);
|
||||
$scienceHead['firstname'] = $first;
|
||||
$scienceHead['lastname'] = $last;
|
||||
$scienceHead['phonework'] = $row[17];
|
||||
user_save($scienceHead);
|
||||
}
|
||||
|
||||
$email = $row[12];
|
||||
if($email != ''){
|
||||
$principal = user_load_by_email($email);
|
||||
if(!$principal){
|
||||
$principal = user_create('principal', $email);
|
||||
$principal['email'] = $email;
|
||||
}
|
||||
list($first, $last) = explode(' ', $row[11], 2);
|
||||
$principal['firstname'] = $first;
|
||||
$principal['lastname'] = $last;
|
||||
$principal['phonework'] = $row[13];
|
||||
user_save($principal);
|
||||
}
|
||||
mysql_query("INSERT INTO schools (school,schoollang,schoollevel,board,district,phone,fax,address,city,province_code,postalcode,schoolemail,accesscode,registration_password,projectlimit,projectlimitper,year,principal_uid,sciencehead_uid) VALUES (
|
||||
'".mysql_escape_string(stripslashes($row[0]))."',
|
||||
'".mysql_escape_string(stripslashes($row[1]))."',
|
||||
'".mysql_escape_string(stripslashes($row[2]))."',
|
||||
@ -67,16 +98,14 @@
|
||||
'".mysql_escape_string(stripslashes($row[8]))."',
|
||||
'".mysql_escape_string(stripslashes($row[9]))."',
|
||||
'".mysql_escape_string(stripslashes($row[10]))."',
|
||||
'".mysql_escape_string(stripslashes($row[11]))."',
|
||||
'".mysql_escape_string(stripslashes($row[12]))."',
|
||||
'".mysql_escape_string(stripslashes($row[13]))."',
|
||||
'".mysql_escape_string(stripslashes($row[14]))."',
|
||||
'".mysql_escape_string(stripslashes($row[15]))."',
|
||||
'".mysql_escape_string(stripslashes($row[16]))."',
|
||||
'".mysql_escape_string(stripslashes($row[17]))."',
|
||||
'".mysql_escape_string(stripslashes($row[18]))."',
|
||||
'".mysql_escape_string(stripslashes($row[19]))."',
|
||||
'".$conference['id']."')");
|
||||
'".mysql_escape_string(stripslashes($row[20]))."',
|
||||
'".mysql_escape_string(stripslashes($row[21]))."',
|
||||
'".$config['FAIRYEAR']."',
|
||||
'".$principal['uid']."',
|
||||
'".$scienceHead['uid']."')");
|
||||
if(!mysql_Error())
|
||||
$loaded++;
|
||||
else
|
||||
@ -104,7 +133,7 @@
|
||||
echo i18n("Choose the CSV file containing the school information. The COLUMNS of the file must contain the following information, in this exact order, separated by comma's (,) with fields optionally enclosed by quotes (\"):");
|
||||
echo "<br />";
|
||||
echo "<br />";
|
||||
echo i18n("School Name, School Lang, School Level, Board, District, Phone, Fax, Address, City, %1, %2, Principal, School Email, Science Head, Science Head Email, Science Head Phone, Access Code, Registration Password, Project Limit, Project Limit Per(total or agecategory)",array(i18n($config['provincestate']),i18n($config['postalzip'])));
|
||||
echo i18n("School Name, School Lang, School Level, Board, District, Phone, Fax, Address, City, %1, %2, Principal, Principal Email, Principal Phone, School Email, Science Head, Science Head Email, Science Head Phone, Access Code, Registration Password, Project Limit, Project Limit Per(total or agecategory)",array(i18n($config['provincestate']),i18n($config['postalzip'])));
|
||||
|
||||
echo "<br />";
|
||||
echo "<br />";
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
send_header("Science Fair Management",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
include "../common.inc.php";
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
foreach($config['languages'] AS $l=>$ln) {
|
||||
if($l==$config['default_language']) continue;
|
||||
|
||||
@ -34,9 +34,9 @@ foreach($config['languages'] AS $l=>$ln) {
|
||||
if($_POST['translate_'.$l]) {
|
||||
$q=mysql_query("SELECT * FROM translations WHERE lang='$l' AND strmd5='$m'");
|
||||
if(mysql_num_rows($q))
|
||||
mysql_query("UPDATE translations SET val='".mysql_real_escape_string(stripslashes($_POST['translate_'.$l]))."' WHERE lang='$l' AND strmd5='$m'");
|
||||
mysql_query("UPDATE translations SET val='".mysql_real_escape_string(iconv("UTF-8","ISO-8859-1",stripslashes($_POST['translate_'.$l])))."' WHERE lang='$l' AND strmd5='$m'");
|
||||
else
|
||||
mysql_query("INSERT INTO translations (lang,strmd5,str,val) VALUES ('$l','$m','".mysql_real_escape_string(stripslashes($_POST['translate_str_hidden']))."','".mysql_escape_string(stripslashes($_POST['translate_'.$l]))."')");
|
||||
mysql_query("INSERT INTO translations (lang,strmd5,str,val) VALUES ('$l','$m','".mysql_real_escape_string(iconv("UTF-8","ISO-8859-1",stripslashes($_POST['translate_str_hidden'])))."','".mysql_escape_string(iconv("UTF-8","ISO-8859-1",stripslashes($_POST['translate_'.$l])))."')");
|
||||
}
|
||||
else {
|
||||
mysql_query("DELETE FROM translations WHERE lang='$l' AND strmd5='$m'");
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
send_header("Donor Contacts",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
@ -79,7 +79,7 @@
|
||||
users_sponsor.users_id=users.id
|
||||
AND sponsors_id='$sponsors_id'
|
||||
AND `primary`='yes'
|
||||
AND conferences_id='".$conference['id']."'
|
||||
AND year='".$config['FAIRYEAR']."'
|
||||
AND users_id!='$id'");
|
||||
if(mysql_num_rows($q) == 0) {
|
||||
/* This must be the primary */
|
||||
@ -172,7 +172,7 @@
|
||||
echo "<br />";
|
||||
|
||||
$q=mysql_query("SELECT * FROM users LEFT JOIN users_sponsor ON users_sponsor.users_id=users.id
|
||||
WHERE conferences_id='".$conference['id']."'
|
||||
WHERE year='".$config['FAIRYEAR']."'
|
||||
AND sponsors_id='$sponsors_id'
|
||||
AND deleted='no'
|
||||
ORDER BY lastname,firstname");
|
||||
@ -199,7 +199,7 @@
|
||||
echo "$r->firstname $r->lastname</td>\n";
|
||||
echo " <td>";
|
||||
if($r->email) {
|
||||
list($eb,$ea)=explode("@",$r->email);
|
||||
list($eb,$ea)=split("@",$r->email);
|
||||
echo "<script language=\"javascript\" type=\"text/javascript\">em('$eb','$ea')</script>";
|
||||
}
|
||||
else
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require_once('../common.inc.php');
|
||||
require_once('../user.inc.php');
|
||||
$auth_type = user_auth_required(array(), array('fair','admin'));
|
||||
$auth_type = user_auth_required(array('fair','committee'), 'admin');
|
||||
|
||||
$registrations_id = intval($_GET['id']);
|
||||
$action = $_GET['action'];
|
||||
@ -40,7 +40,7 @@ if($auth_type == 'fair') {
|
||||
the master copy of the fairs_id in the project */
|
||||
$q=mysql_query("SELECT * FROM projects WHERE
|
||||
registrations_id='$registrations_id'
|
||||
AND conferences_id='{$conference['id']}'
|
||||
AND year='{$config['FAIRYEAR']}'
|
||||
AND fairs_id=$fairs_id");
|
||||
if(mysql_num_rows($q) != 1) {
|
||||
echo "permission denied.";
|
||||
@ -79,10 +79,10 @@ case 'student_remove':
|
||||
mysql_query("DELETE FROM students WHERE id='$remove_id' AND registrations_id='$registrations_id'");
|
||||
|
||||
//now see if they have an emergency contact that also needs to be removed
|
||||
$q=mysql_query("SELECT id FROM emergencycontact WHERE students_id='$remove_id' AND registrations_id='$registrations_id' AND conferences_id='{$conference['id']}'");
|
||||
$q=mysql_query("SELECT id FROM emergencycontact WHERE students_id='$remove_id' AND registrations_id='$registrations_id' AND year='{$config['FAIRYEAR']}'");
|
||||
//no need to error message if this doesnt exist
|
||||
if(mysql_num_rows($q)==1)
|
||||
mysql_query("DELETE FROM emergencycontact WHERE students_id='$remove_id' AND registrations_id='$registrations_id' AND conferences_id='{$conference['id']}'");
|
||||
mysql_query("DELETE FROM emergencycontact WHERE students_id='$remove_id' AND registrations_id='$registrations_id' AND year='{$config['FAIRYEAR']}'");
|
||||
|
||||
happy_("Student successfully removed");
|
||||
exit;
|
||||
@ -98,14 +98,14 @@ exit;
|
||||
//now do any data saves
|
||||
function students_save()
|
||||
{
|
||||
global $registrations_id, $config, $conference;
|
||||
global $registrations_id, $config;
|
||||
|
||||
$x=1;
|
||||
while($_POST["num"][$x]) {
|
||||
if($_POST['id'][$x]==0) {
|
||||
//if they use schoolpassword or singlepassword, then we need to set the school based on the school stored in the registration record. for anything else they can school the school on their own.
|
||||
if($config['participant_registration_type']=="schoolpassword" || $config['participant_registration_type']=="invite") {
|
||||
$q=mysql_query("SELECT schools_id FROM registrations WHERE id='$registrations_id' AND conferences_id='{$conference['id']}'");
|
||||
$q=mysql_query("SELECT schools_id FROM registrations WHERE id='$registrations_id' AND YEAR='{$config['FAIRYEAR']}'");
|
||||
$r=mysql_fetch_object($q);
|
||||
$schools_id=$r->schools_id;
|
||||
$schoolvalue="'$schools_id', ";
|
||||
@ -113,30 +113,27 @@ function students_save()
|
||||
$schoolvalue="'".mysql_escape_string(stripslashes($_POST['schools_id'][$x]))."', ";
|
||||
}
|
||||
//INSERT new record
|
||||
//FIXME: we don't do this yet, rather, we need to check if the account exists, add it if not, then account_add_role()
|
||||
/*
|
||||
$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,phonehome,birthdate,grade,schools_id,tshirt,medicalalert,foodreq,teachername,teacheremail,conferences_id) VALUES (".
|
||||
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 (".
|
||||
"'".$registrations_id."', ".
|
||||
"'".mysql_escape_string(stripslashes($_POST['firstname'][$x]))."', ".
|
||||
"'".mysql_escape_string(stripslashes($_POST['lastname'][$x]))."', ".
|
||||
"'".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",stripslashes($_POST['firstname'][$x])))."', ".
|
||||
"'".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",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(iconv("UTF-8","ISO-8859-1//TRANSLIT",stripslashes($_POST['email'][$x])))."', ".
|
||||
"'".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",stripslashes($_POST['address'][$x])))."', ".
|
||||
"'".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",stripslashes($_POST['city'][$x])))."', ".
|
||||
"'".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",stripslashes($_POST['province'][$x])))."', ".
|
||||
"'".mysql_escape_string(stripslashes($_POST['postalcode'][$x]))."', ".
|
||||
"'".mysql_escape_string(stripslashes($_POST['phonehome'][$x]))."', ".
|
||||
"'".mysql_escape_string(stripslashes($_POST['phone'][$x]))."', ".
|
||||
"'$dob', ".
|
||||
"'".mysql_escape_string(stripslashes($_POST['grade'][$x]))."', ".
|
||||
$schoolvalue.
|
||||
"'".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]))."', ".
|
||||
"'".$conference['id']."')");
|
||||
*/
|
||||
"'".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",stripslashes($_POST['teachername'][$x])))."', ".
|
||||
"'".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",stripslashes($_POST['teacheremail'][$x])))."', ".
|
||||
"'".$config['FAIRYEAR']."')");
|
||||
|
||||
happy_("%1 %2 successfully added",array($_POST['firstname'][$x],$_POST['lastname'][$x]));
|
||||
|
||||
@ -153,29 +150,26 @@ function students_save()
|
||||
|
||||
//UPDATE existing record
|
||||
$dob=$_POST['year'][$x]."-".$_POST['month'][$x]."-".$_POST['day'][$x];
|
||||
mysql_query("UPDATE users SET ".
|
||||
"firstname='".mysql_escape_string(stripslashes($_POST['firstname'][$x]))."', ".
|
||||
"lastname='".mysql_escape_string(stripslashes($_POST['lastname'][$x]))."', ".
|
||||
mysql_query("UPDATE students SET ".
|
||||
"firstname='".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",stripslashes($_POST['firstname'][$x])))."', ".
|
||||
"lastname='".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",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]))."', ".
|
||||
"email='".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",stripslashes($_POST['email'][$x])))."', ".
|
||||
"address='".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",stripslashes($_POST['address'][$x])))."', ".
|
||||
"city='".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",stripslashes($_POST['city'][$x])))."', ".
|
||||
"province='".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",stripslashes($_POST['province'][$x])))."', ".
|
||||
"postalcode='".mysql_escape_string(stripslashes($_POST['postalcode'][$x]))."', ".
|
||||
"phonehome='".mysql_escape_string(stripslashes($_POST['phonehome'][$x]))."', ".
|
||||
"birthdate='$dob', ".
|
||||
"phone='".mysql_escape_string(stripslashes($_POST['phone'][$x]))."', ".
|
||||
"dateofbirth='$dob', ".
|
||||
"grade='".mysql_escape_string(stripslashes($_POST['grade'][$x]))."', ".
|
||||
$schoolquery.
|
||||
"medicalalert='".mysql_escape_string(stripslashes($_POST['medicalalert'][$x]))."', ".
|
||||
"foodreq='".mysql_escape_string(stripslashes($_POST['foodreq'][$x]))."', ".
|
||||
"medicalalert='".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",stripslashes($_POST['medicalalert'][$x])))."', ".
|
||||
"foodreq='".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",stripslashes($_POST['foodreq'][$x])))."', ".
|
||||
"teachername='".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",stripslashes($_POST['teachername'][$x])))."', ".
|
||||
"teacheremail='".mysql_escape_string(iconv("UTF-8","ISO-8859-1//TRANSLIT",stripslashes($_POST['teacheremail'][$x])))."', ".
|
||||
"tshirt='".mysql_escape_string(stripslashes($_POST['tshirt'][$x]))."' ".
|
||||
"WHERE id='".$_POST['id'][$x]."'");
|
||||
if(mysql_error()) {
|
||||
error_("error: %1",array(mysql_error()));
|
||||
}
|
||||
else {
|
||||
happy_("%1 %2 successfully updated",array($_POST['firstname'][$x],$_POST['lastname'][$x]));
|
||||
}
|
||||
happy_("%1 %2 successfully updated",array(iconv("UTF-8","ISO-8859-1//TRANSLIT",$_POST['firstname'][$x]),iconv("UTF-8","ISO-8859-1//TRANSLIT",$_POST['lastname'][$x])));
|
||||
}
|
||||
$x++;
|
||||
}
|
||||
@ -184,12 +178,12 @@ function students_save()
|
||||
|
||||
function students_load()
|
||||
{
|
||||
global $registrations_id, $config, $conference;
|
||||
global $registrations_id, $config;
|
||||
|
||||
//now query and display
|
||||
$q=mysql_query("SELECT * FROM users WHERE
|
||||
$q=mysql_query("SELECT * FROM students WHERE
|
||||
registrations_id='$registrations_id'
|
||||
AND conferences_id='{$conference['id']}'");
|
||||
AND year='{$config['FAIRYEAR']}'");
|
||||
echo mysql_error();
|
||||
|
||||
$numfound=mysql_num_rows($q);
|
||||
@ -198,13 +192,12 @@ function students_load()
|
||||
if($numtoshow == 0) $numtoshow=$numfound;
|
||||
|
||||
|
||||
/*
|
||||
echo "<form>";
|
||||
echo i18n("Number of students that worked on the project: ");
|
||||
echo "<select id=\"students_num\">\n";
|
||||
for($x=$config['minstudentsperproject'];$x<=$config['maxstudentsperproject'];$x++) {
|
||||
// Don't let them go back to fewer student by selection,
|
||||
// force them to delete one
|
||||
/* Don't let them go back to fewer student by selection,
|
||||
* force them to delete one */
|
||||
if($x<$numfound) continue;
|
||||
|
||||
$sel = ($numtoshow==$x) ? 'selected="selected"' : '';
|
||||
@ -212,7 +205,6 @@ function students_load()
|
||||
}
|
||||
echo "</select>";
|
||||
echo "</form>";
|
||||
*/
|
||||
|
||||
echo "<form id=\"students_form\" >";
|
||||
for($x=1;$x<=$numtoshow;$x++) {
|
||||
@ -233,7 +225,7 @@ function students_load()
|
||||
echo " <td>".i18n("Last Name")."</td><td><input type=\"text\" name=\"lastname[$x]\" value=\"$studentinfo->lastname\" />".REQUIREDFIELD."</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
// if($config['participant_student_personal']=="yes") {
|
||||
if($config['participant_student_personal']=="yes") {
|
||||
echo "<tr>\n";
|
||||
echo " <td>".i18n("Gender")."</td><td>";
|
||||
echo "<select name=\"sex[$x]\">";
|
||||
@ -243,27 +235,26 @@ function students_load()
|
||||
if($studentinfo->sex=="female") $sel="selected=\"selected\""; else $sel="";
|
||||
echo "<option $sel value=\"female\">".i18n("Female")."</option>\n";
|
||||
echo "</select>".REQUIREDFIELD;
|
||||
// }
|
||||
}
|
||||
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\" />".REQUIREDFIELD."</td>\n";
|
||||
*/
|
||||
echo " <td>".i18n("Email Address")."</td><td><input size=\"30\" type=\"text\" name=\"email[$x]\" value=\"$studentinfo->email\" />".REQUIREDFIELD."</td>\n";
|
||||
|
||||
// if($config['participant_student_personal']=="yes") {
|
||||
if($config['participant_student_personal']=="yes") {
|
||||
echo " <td>".i18n("City")."</td><td><input type=\"text\" name=\"city[$x]\" value=\"$studentinfo->city\" />".REQUIREDFIELD."</td>\n";
|
||||
/* }
|
||||
else {
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<td></td>";
|
||||
}
|
||||
*/
|
||||
|
||||
echo "</tr>\n";
|
||||
|
||||
// if($config['participant_student_personal']=="yes") {
|
||||
if($config['participant_student_personal']=="yes")
|
||||
{
|
||||
echo "<tr>\n";
|
||||
echo " <td>".i18n("Address")."</td><td><input type=\"text\" name=\"address[$x]\" value=\"$studentinfo->address\" />".REQUIREDFIELD."</td>\n";
|
||||
echo " <td>".i18n($config['provincestate'])."</td><td>";
|
||||
@ -272,12 +263,12 @@ function students_load()
|
||||
echo "</tr>\n";
|
||||
echo "<tr>\n";
|
||||
echo " <td>".i18n($config['postalzip'])."</td><td><input type=\"text\" name=\"postalcode[$x]\" value=\"$studentinfo->postalcode\" />".REQUIREDFIELD."</td>\n";
|
||||
echo " <td>".i18n("Phone")."</td><td><input type=\"text\" name=\"phonehome[$x]\" value=\"$studentinfo->phonehome\" />".REQUIREDFIELD."</td>\n";
|
||||
echo " <td>".i18n("Phone")."</td><td><input type=\"text\" name=\"phone[$x]\" value=\"$studentinfo->phone\" />".REQUIREDFIELD."</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
echo "<tr>\n";
|
||||
echo " <td>".i18n("Date of Birth")."</td><td>\n";
|
||||
list($year,$month,$day)=explode("-",$studentinfo->birthdate);
|
||||
list($year,$month,$day)=split("-",$studentinfo->dateofbirth);
|
||||
echo "<table><tr><td>";
|
||||
emit_day_selector("day[$x]",$day);
|
||||
echo "</td><td>\n";
|
||||
@ -287,16 +278,14 @@ function students_load()
|
||||
//the year selector should be based on the min/max grades possible
|
||||
//assume min age of 3 for grade=0 (kindergarden)
|
||||
//assume max age of 18 for grade=12
|
||||
$minyearselect = $conference['year'] - 6 - $config['maxgrade'];
|
||||
$maxyearselect = $conference['year'] - 3 - $config['mingrade'];
|
||||
$minyearselect=$config['FAIRYEAR'] - 6 - $config['maxgrade'];
|
||||
$maxyearselect=$config['FAIRYEAR'] - 3 - $config['mingrade'];
|
||||
emit_year_selector("year[$x]",$year,$minyearselect,$maxyearselect);
|
||||
echo "</td><td>".REQUIREDFIELD."</td></tr></table>\n";
|
||||
echo "</td>\n";
|
||||
/*
|
||||
}
|
||||
else
|
||||
echo "<tr>";
|
||||
*/
|
||||
|
||||
echo " <td>".i18n("Grade")."</td><td colspan=\"3\">\n";
|
||||
|
||||
@ -335,46 +324,53 @@ function students_load()
|
||||
echo "</tr>";
|
||||
}
|
||||
|
||||
// if($config['participant_student_personal']=="yes") {
|
||||
if($config['participant_student_personal']=="yes")
|
||||
{
|
||||
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") {
|
||||
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 colspan=\"3\">";
|
||||
$schoolq=mysql_query("SELECT id,school FROM schools WHERE conferences_id='".$conference['id']."' AND id='$studentinfo->schools_id'");
|
||||
$validschool=mysql_fetch_object($schoolq);
|
||||
//you know what, fuck it, in this editor we should always be able to chagne the school
|
||||
|
||||
$schoolq=mysql_query("SELECT id,school,city FROM schools WHERE conferences_id='".$conference['id']."' ORDER by city,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->city).' - '.htmlspecialchars($r->school)."</option>\n";
|
||||
|
||||
if( $config['participant_registration_type']=="open" || $config['participant_registration_type']=="singlepassword" || $config['participant_registration_type']=="openorinvite" || ($studentinfo && !$studentinfo->schools_id) )
|
||||
{
|
||||
$schoolq=mysql_query("SELECT id,school,city FROM schools WHERE year='".$config['FAIRYEAR']."' ORDER by city,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->city).' - '.htmlspecialchars($r->school)."</option>\n";
|
||||
|
||||
}
|
||||
echo "</select>".REQUIREDFIELD;
|
||||
}
|
||||
echo "</select>".REQUIREDFIELD;
|
||||
else
|
||||
{
|
||||
$schoolq=mysql_query("SELECT id,school FROM schools WHERE year='".$config['FAIRYEAR']."' AND id='$studentinfo->schools_id'");
|
||||
$r=mysql_fetch_object($schoolq);
|
||||
echo $r->school;
|
||||
}
|
||||
|
||||
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";
|
||||
*/
|
||||
|
||||
|
||||
|
||||
@ -410,7 +406,7 @@ function students_load()
|
||||
|
||||
function registration_load()
|
||||
{
|
||||
global $registrations_id, $config, $auth_type, $conference;
|
||||
global $registrations_id, $config, $auth_type;
|
||||
|
||||
/* Load reg data */
|
||||
if($registrations_id == -1) {
|
||||
@ -418,7 +414,7 @@ function registration_load()
|
||||
/* Find a reg num */
|
||||
do {
|
||||
$regnum=rand(100000,999999);
|
||||
$q=mysql_query("SELECT * FROM registrations WHERE num='$regnum' AND conferences_id={$conference['id']}");
|
||||
$q=mysql_query("SELECT * FROM registrations WHERE num='$regnum' AND year={$config['FAIRYEAR']}");
|
||||
} while(mysql_num_rows($q)>0);
|
||||
|
||||
$r['num'] = $regnum;
|
||||
@ -456,8 +452,10 @@ function registration_load()
|
||||
<tr>
|
||||
<td><?=i18n("Registration Number")?>:</td>
|
||||
<td><input type="text" name="registration_num" value="<?=$r['num']?>"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
</tr><tr>
|
||||
<td><?=i18n("Registration Email")?>:</td>
|
||||
<td><input type="text" name="registration_email" value="<?=$r['email']?>"></td>
|
||||
</tr><tr>
|
||||
<td><?=i18n("Status")?>:</td>
|
||||
<td><select name="registration_status">
|
||||
<? foreach($status as $k=>$v) {
|
||||
@ -500,31 +498,30 @@ else {
|
||||
|
||||
function registration_save()
|
||||
{
|
||||
global $registrations_id, $config, $auth_type, $conference;
|
||||
global $registrations_id, $config, $auth_type;
|
||||
$registration_num = intval($_POST['registration_num']);
|
||||
$registration_status = mysql_real_escape_string(stripslashes($_POST['registration_status']));
|
||||
$registration_email = mysql_real_escape_string(stripslashes($_POST['registration_email']));
|
||||
$fairs_id = intval($_POST['registration_fair']);
|
||||
|
||||
if($registrations_id == -1) {
|
||||
mysql_query("INSERT INTO registrations (start,schools_id,conferences_id) VALUES (
|
||||
NOW(), NULL, '{$conference['id']}')");
|
||||
mysql_query("INSERT INTO registrations (start,schools_id,year) VALUES (
|
||||
NOW(), NULL, '{$config['FAIRYEAR']}')");
|
||||
$registrations_id = mysql_insert_id();
|
||||
|
||||
/* Create one student and a project */
|
||||
/*
|
||||
mysql_query("INSERT INTO students (registrations_id,email,conferences_id) VALUES (
|
||||
$registrations_id, '$registration_email', '{$conference['id']}')");
|
||||
*/
|
||||
mysql_query("INSERT INTO projects (registrations_id,conferences_id) VALUES (
|
||||
$registrations_id, '{$conference['id']}')");
|
||||
mysql_query("INSERT INTO students (registrations_id,email,year) VALUES (
|
||||
$registrations_id, '$registration_email', '{$config['FAIRYEAR']}')");
|
||||
mysql_query("INSERT INTO projects (registrations_id,year) VALUES (
|
||||
$registrations_id, '{$config['FAIRYEAR']}')");
|
||||
happy_('Created student and project record');
|
||||
}
|
||||
|
||||
/* Update registration */
|
||||
mysql_query("UPDATE registrations SET
|
||||
num='$registration_num',
|
||||
status='$registration_status'
|
||||
status='$registration_status',
|
||||
email='$registration_email'
|
||||
WHERE
|
||||
id='$registrations_id'");
|
||||
echo mysql_error();
|
||||
@ -537,7 +534,7 @@ function registration_save()
|
||||
WHERE
|
||||
registrations_id='$registrations_id'");
|
||||
echo mysql_error();
|
||||
happy_('Registration Information Saved');
|
||||
happy_('Information Saved');
|
||||
echo "<script language=\"javascript\" type=\"text/javascript\">";
|
||||
echo "registrations_id=$registrations_id;";
|
||||
echo "</script>";
|
||||
|
@ -24,7 +24,7 @@
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
user_auth_required('admin');
|
||||
user_auth_required('committee', 'admin');
|
||||
|
||||
send_header("Tours",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user