forked from science-ation/science-ation
Overhaul the winners entry (add ajax, mutliple fair support, fairs
loggin in and entering their own winners)
This commit is contained in:
parent
7d611e531f
commit
505e1a8c91
@ -22,365 +22,565 @@
|
||||
*/
|
||||
?>
|
||||
<?
|
||||
require("../common.inc.php");
|
||||
require_once("../user.inc.php");
|
||||
require("../projects.inc.php");
|
||||
user_auth_required('committee', 'admin');
|
||||
require_once('../common.inc.php');
|
||||
require_once('../user.inc.php');
|
||||
require_once('../projects.inc.php');
|
||||
$auth_type = user_auth_required(array('fair','committee'), 'admin');
|
||||
|
||||
$award_awards_id = intval($_GET['award_awards_id']);
|
||||
$action = $_GET['action'];
|
||||
|
||||
if($_GET['sponsors_id']) $sponsors_id=$_GET['sponsors_id'];
|
||||
else if($_POST['sponsors_id']) $sponsors_id=$_POST['sponsors_id'];
|
||||
|
||||
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['edit']) $edit=intval($_GET['edit']);
|
||||
if($_POST['edit']) $edit=intval($_POST['edit']);
|
||||
|
||||
if($_GET['action']) $action=$_GET['action'];
|
||||
if($_POST['action']) $action=$_POST['action'];
|
||||
|
||||
if($action=="addwinner")
|
||||
{
|
||||
if($_POST['winner'])
|
||||
{
|
||||
//first check how many we are allowed to have
|
||||
$q=mysql_query("SELECT number FROM award_prizes WHERE id='".$_POST['prize_id']."'");
|
||||
echo mysql_Error();
|
||||
$r=mysql_fetch_object($q);
|
||||
$number=$r->number;
|
||||
|
||||
$q=mysql_query("SELECT COUNT(*) AS count FROM winners WHERE awards_prizes_id='".$_POST['prize_id']."'");
|
||||
echo mysql_Error();
|
||||
$r=mysql_fetch_object($q);
|
||||
$count=$r->count;
|
||||
|
||||
if($count<$number)
|
||||
{
|
||||
mysql_query("INSERT INTO winners (awards_prizes_id,projects_id,year) VALUES ('".$_POST['prize_id']."','".$_POST['winner']."','".$config['FAIRYEAR']."')");
|
||||
$notice = 'added';
|
||||
}
|
||||
else
|
||||
{
|
||||
$notice = 'nomore';
|
||||
$notice_data = array($number);
|
||||
}
|
||||
}
|
||||
$action="edit";
|
||||
/* Load fairs */
|
||||
$fairs = array();
|
||||
$q = mysql_query("SELECT * FROM fairs WHERE type='feeder' ORDER BY name");
|
||||
while(($f = mysql_fetch_assoc($q))) {
|
||||
$fairs[$f['id']] = $f;
|
||||
}
|
||||
|
||||
if($action=="delete")
|
||||
{
|
||||
if($_GET['prize_id'] && $_GET['project_id'])
|
||||
{
|
||||
mysql_query("DELETE FROM winners WHERE awards_prizes_id='".$_GET['prize_id']."' AND projects_id='".$_GET['project_id']."'");
|
||||
$notice = 'removed';
|
||||
|
||||
switch($action) {
|
||||
case 'addwinner':
|
||||
$prize_id = intval($_GET['prize_id']);
|
||||
$projects_id = intval($_GET['projects_id']);
|
||||
|
||||
if(!$prize_id || !$projects_id) {
|
||||
error_("Illegal Assignment");
|
||||
exit;
|
||||
}
|
||||
$action="edit";
|
||||
}
|
||||
|
||||
//first check how many we are allowed to have
|
||||
$q=mysql_query("SELECT number FROM award_prizes WHERE id='$prize_id'");
|
||||
echo mysql_error();
|
||||
$r=mysql_fetch_assoc($q);
|
||||
$number=$r['number'];
|
||||
|
||||
if($action=="edit" && $edit)
|
||||
{
|
||||
send_header("Choose Projects",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php',
|
||||
'Enter Winning Projects' => 'admin/winners.php'),
|
||||
"enter_winning_projects"
|
||||
);
|
||||
/* Get the award info */
|
||||
$q = mysql_query("SELECT * FROM award_awards WHERE id='$award_awards_id'");
|
||||
echo mysql_error();
|
||||
$a=mysql_fetch_assoc($q);
|
||||
|
||||
switch($notice) {
|
||||
case 'removed':
|
||||
echo happy(i18n("Winning project removed"));
|
||||
break;
|
||||
case 'nomore':
|
||||
echo error(i18n("This prize cannot accept any more winners. Maximum: %1",$notice_data));
|
||||
break;
|
||||
case 'added':
|
||||
echo happy(i18n("Winning project added"));
|
||||
break;
|
||||
/* Get the project */
|
||||
$q = mysql_query("SELECT fairs_id FROM projects WHERE id='$projects_id'");
|
||||
echo mysql_error();
|
||||
$p=mysql_fetch_assoc($q);
|
||||
$fairs_id = $p['fairs_id'];
|
||||
|
||||
/* Quick sanity check don't let a fair user do an assignment for someone not
|
||||
* in their fair */
|
||||
if($auth_type == 'fair' && $fairs_id != $_SESSION['fairs_id']) {
|
||||
error_("Illegal Assignemnt");
|
||||
exit;
|
||||
}
|
||||
|
||||
if($a['per_fair'] == 'yes') {
|
||||
/* Count is the number of this fair already assigned */
|
||||
$q=mysql_query("SELECT COUNT(*) AS count FROM winners
|
||||
LEFT JOIN projects ON winners.projects_id=projects.id
|
||||
WHERE
|
||||
projects.fairs_id='$fairs_id'
|
||||
awards_prizes_id='$prize_id'");
|
||||
echo mysql_error();
|
||||
$r=mysql_fetch_assoc($q);
|
||||
$count=$r['count'];
|
||||
} else {
|
||||
/* Count is the total number assigned */
|
||||
$q=mysql_query("SELECT COUNT(*) AS count FROM winners WHERE awards_prizes_id='$prize_id'");
|
||||
echo mysql_error();
|
||||
$r=mysql_fetch_assoc($q);
|
||||
$count=$r['count'];
|
||||
}
|
||||
|
||||
if($count<$number) {
|
||||
mysql_query("INSERT INTO winners (awards_prizes_id,projects_id,year) VALUES ('$prize_id','$projects_id','{$config['FAIRYEAR']}')");
|
||||
happy_("Winning project added");
|
||||
} else {
|
||||
error_("This prize cannot accept any more winners. Maximum: %1",$number);
|
||||
}
|
||||
|
||||
exit;
|
||||
|
||||
case 'deletewinner':
|
||||
$prize_id = intval($_GET['prize_id']);
|
||||
$projects_id = intval($_GET['projects_id']);
|
||||
|
||||
if($prize_id && $projects_id) {
|
||||
mysql_query("DELETE FROM winners WHERE awards_prizes_id='$prize_id' AND projects_id='$projects_id'");
|
||||
happy_("Winning project removed");
|
||||
}
|
||||
exit;
|
||||
case 'award_load':
|
||||
$fairs_id = intval($_GET['fairs_id']);
|
||||
/* Load the award */
|
||||
$q=mysql_query("SELECT
|
||||
award_awards.id,
|
||||
award_awards.name,
|
||||
award_awards.criteria,
|
||||
award_awards.order AS awards_order,
|
||||
award_awards.per_fair,
|
||||
award_types.type
|
||||
FROM
|
||||
award_awards,
|
||||
award_awards ,
|
||||
award_types
|
||||
WHERE
|
||||
award_awards.year='".$config['FAIRYEAR']."'
|
||||
award_awards.year='{$config['FAIRYEAR']}'
|
||||
AND award_awards.award_types_id=award_types.id
|
||||
AND award_awards.id='$edit'
|
||||
AND award_types.year=award_awards.year
|
||||
AND award_awards.id='$award_awards_id'
|
||||
");
|
||||
|
||||
echo mysql_error();
|
||||
|
||||
if($r=mysql_fetch_object($q))
|
||||
{
|
||||
|
||||
echo "<br />";
|
||||
//get the projets that are eligible for the award, given the award ID ($r->id)
|
||||
if($r->type=="Special" && !$_GET['eligible'])
|
||||
{
|
||||
$projects=getProjectsNominatedForSpecialAward($r->id);
|
||||
}
|
||||
else
|
||||
$projects=getProjectsEligibleForAward($r->id);
|
||||
|
||||
$winq=mysql_query("SELECT
|
||||
winners.projects_id
|
||||
FROM
|
||||
winners,award_prizes,award_awards
|
||||
WHERE
|
||||
award_awards.id='$r->id'
|
||||
AND award_prizes.award_awards_id=award_awards.id
|
||||
AND winners.awards_prizes_id=award_prizes.id
|
||||
ORDER BY
|
||||
projects_id
|
||||
");
|
||||
echo mysql_error();
|
||||
$alreadywinners=array();
|
||||
while($winr=mysql_fetch_object($winq))
|
||||
{
|
||||
$alreadywinners[]=$winr->projects_id;
|
||||
}
|
||||
//print_r($alreadywinners);
|
||||
/*
|
||||
echo "projects:";
|
||||
echo nl2br(print_r($projects,true));
|
||||
echo "<br />";
|
||||
*/
|
||||
|
||||
// echo "<img border=\"0\" src=\"".$config['SFIABDIRECTORY']."/images/16/edit.".$config['icon_extension']."\">";
|
||||
echo "<b>{$r->type} - {$r->name}</b><br />";
|
||||
echo "{$r->criteria}<br />";
|
||||
|
||||
$pq=mysql_query("SELECT
|
||||
award_prizes.prize,
|
||||
award_prizes.number,
|
||||
award_prizes.id,
|
||||
award_prizes.cash,
|
||||
award_prizes.scholarship,
|
||||
winners.projects_id,
|
||||
projects.projectnumber,
|
||||
projects.title
|
||||
FROM
|
||||
award_prizes
|
||||
LEFT JOIN winners ON winners.awards_prizes_id=award_prizes.id
|
||||
LEFT JOIN projects ON projects.id=winners.projects_id
|
||||
WHERE
|
||||
award_awards_id='$r->id'
|
||||
AND award_prizes.year='".$config['FAIRYEAR']."'
|
||||
ORDER BY
|
||||
`order`");
|
||||
echo mysql_error();
|
||||
$prevprizeid=-1;
|
||||
while($pr=mysql_fetch_object($pq))
|
||||
{
|
||||
if($prevprizeid!=$pr->id)
|
||||
{
|
||||
echo "<hr>";
|
||||
echo " ";
|
||||
echo " ";
|
||||
echo "<b>";
|
||||
echo "$pr->prize";
|
||||
if($pr->cash || $pr->scholarship)
|
||||
{
|
||||
echo " (";
|
||||
if($pr->cash && $pr->scholarship)
|
||||
echo "\$$pr->cash cash / \$$pr->scholarship scholarship";
|
||||
else if($pr->cash)
|
||||
echo "\$$pr->cash cash";
|
||||
else if($pr->scholarship)
|
||||
echo "\$$pr->scholarship scholarship";
|
||||
echo ")";
|
||||
|
||||
}
|
||||
|
||||
$cq=mysql_query("SELECT COUNT(*) AS count FROM winners WHERE awards_prizes_id='$pr->id'");
|
||||
echo mysql_Error();
|
||||
$cr=mysql_fetch_object($cq);
|
||||
$count=$cr->count;
|
||||
|
||||
if($count<$pr->number) $color="red"; else $color="green";
|
||||
echo " <font color=\"$color\">[".$count."/".$pr->number."]</font>";
|
||||
echo "</b>";
|
||||
$prevprizeid=$pr->id;
|
||||
|
||||
if($count<$pr->number)
|
||||
{
|
||||
echo "<form method=\"post\" action=\"winners.php\">";
|
||||
echo "<input type=\"hidden\" name=\"action\" value=\"addwinner\">";
|
||||
echo "<input type=\"hidden\" name=\"prize_id\" value=\"$pr->id\">";
|
||||
echo "<input type=\"hidden\" name=\"edit\" value=\"$edit\">";
|
||||
echo "<select name=\"winner\">";
|
||||
echo "<option value=\"\">".i18n("Choose a project")."</option>\n";
|
||||
foreach($projects AS $proj)
|
||||
{
|
||||
if(!in_array($proj['id'],$alreadywinners))
|
||||
echo "<option value=\"".$proj['id']."\">(".$proj['projectnumber'].") ".$proj['title']."</option>";
|
||||
}
|
||||
echo "</select>";
|
||||
echo "<input type=\"submit\" value=\"".i18n("Add")."\">";
|
||||
echo "</form>";
|
||||
echo "<a href=\"winners.php?action=$action&edit=$edit&eligible=true\">Show All Eligible</a>";
|
||||
echo "<br />";
|
||||
}
|
||||
else
|
||||
echo "<br />";
|
||||
|
||||
}
|
||||
|
||||
if($pr->projectnumber)
|
||||
{
|
||||
echo " ";
|
||||
echo " ";
|
||||
echo " ";
|
||||
echo " ";
|
||||
echo "<a onclick=\"return confirmClick('Are you sure you want to remove this project from this prize?')\" href=\"winners.php?action=delete&edit=$edit&prize_id=$pr->id&project_id=$pr->projects_id\"><img border=0 src=\"".$config['SFIABDIRECTORY']."/images/16/button_cancel.".$config['icon_extension']."\"></a>";
|
||||
echo " ($pr->projectnumber) $pr->title";
|
||||
echo "<br />";
|
||||
}
|
||||
}
|
||||
|
||||
if(mysql_num_rows($q) != 1) {
|
||||
echo i18n("Invalid award to load $award_awards_id");
|
||||
exit;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
send_header("Enter Winning Projects",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php'),
|
||||
"enter_winning_projects"
|
||||
);
|
||||
$r=mysql_fetch_assoc($q);
|
||||
print_award($r, $fairs_id);
|
||||
exit;
|
||||
|
||||
switch($notice) {
|
||||
case 'removed':
|
||||
echo happy(i18n("Winning project removed"));
|
||||
break;
|
||||
case 'nomore':
|
||||
echo error(i18n("This prize cannot accept any more winners. Maximum: %1",$notice_data));
|
||||
break;
|
||||
case 'added':
|
||||
echo happy(i18n("Winning project added"));
|
||||
break;
|
||||
}
|
||||
case 'edit_load':
|
||||
$fairs_id = intval($_GET['fairs_id']);
|
||||
|
||||
/* Force the fair user to only edit their fair */
|
||||
// if($auth_type == 'fair') $fairs_id = $_SESSION['fairs_id'];
|
||||
|
||||
/* Load the award */
|
||||
$q=mysql_query("SELECT
|
||||
award_awards.id,
|
||||
award_awards.name,
|
||||
award_awards.criteria,
|
||||
award_awards.order AS awards_order,
|
||||
award_types.type,
|
||||
sponsors.organization
|
||||
award_awards.per_fair,
|
||||
award_types.type
|
||||
FROM
|
||||
award_awards,
|
||||
award_types,
|
||||
sponsors
|
||||
award_awards ,
|
||||
award_types
|
||||
WHERE
|
||||
award_awards.year='".$config['FAIRYEAR']."'
|
||||
award_awards.year='{$config['FAIRYEAR']}'
|
||||
AND award_awards.award_types_id=award_types.id
|
||||
AND award_types.year='".$config['FAIRYEAR']."'
|
||||
AND award_awards.sponsors_id=sponsors.id
|
||||
ORDER BY awards_order");
|
||||
AND award_types.year=award_awards.year
|
||||
AND award_awards.id='$award_awards_id'
|
||||
");
|
||||
|
||||
echo mysql_error();
|
||||
|
||||
if(mysql_num_rows($q))
|
||||
{
|
||||
echo "<br />";
|
||||
echo i18n("Choose an award to assign winners");
|
||||
echo "<br />";
|
||||
echo "<br />";
|
||||
while($r=mysql_fetch_object($q))
|
||||
{
|
||||
echo "<a href=\"winners.php?action=edit&edit=$r->id\">";
|
||||
// echo "<img border=\"0\" src=\"".$config['SFIABDIRECTORY']."/images/16/edit.".$config['icon_extension']."\">";
|
||||
echo " $r->type - \n";
|
||||
echo " $r->name \n";
|
||||
echo "</a>";
|
||||
echo " <span style=\"font-size: 0.8em; font-style: italic;\">(".$r->organization.")</span><br />";
|
||||
if(mysql_num_rows($q) != 1) {
|
||||
echo i18n("Invalid award to edit $award_awards_id");
|
||||
exit;
|
||||
}
|
||||
|
||||
$pq=mysql_query("SELECT
|
||||
award_prizes.prize,
|
||||
award_prizes.number,
|
||||
award_prizes.id,
|
||||
award_prizes.cash,
|
||||
award_prizes.scholarship,
|
||||
winners.projects_id,
|
||||
projects.projectnumber,
|
||||
projects.title
|
||||
FROM
|
||||
award_prizes
|
||||
LEFT JOIN winners ON winners.awards_prizes_id=award_prizes.id
|
||||
LEFT JOIN projects ON projects.id=winners.projects_id
|
||||
WHERE
|
||||
award_awards_id='$r->id'
|
||||
AND award_prizes.year='".$config['FAIRYEAR']."'
|
||||
ORDER BY
|
||||
`order`");
|
||||
echo mysql_error();
|
||||
$prevprizeid=-1;
|
||||
while($pr=mysql_fetch_object($pq))
|
||||
{
|
||||
if($prevprizeid!=$pr->id)
|
||||
{
|
||||
echo " ";
|
||||
echo " ";
|
||||
echo "<b>";
|
||||
echo "$pr->prize";
|
||||
if($pr->cash || $pr->scholarship)
|
||||
{
|
||||
echo " (";
|
||||
if($pr->cash && $pr->scholarship)
|
||||
echo "\$$pr->cash cash / \$$pr->scholarship scholarship";
|
||||
else if($pr->cash)
|
||||
echo "\$$pr->cash cash";
|
||||
else if($pr->scholarship)
|
||||
echo "\$$pr->scholarship scholarship";
|
||||
echo ")";
|
||||
|
||||
}
|
||||
$cq=mysql_query("SELECT COUNT(*) AS count FROM winners WHERE awards_prizes_id='$pr->id'");
|
||||
echo mysql_Error();
|
||||
$cr=mysql_fetch_object($cq);
|
||||
$count=$cr->count;
|
||||
$r=mysql_fetch_assoc($q);
|
||||
|
||||
if($count<$pr->number) $color="red"; else $color="green";
|
||||
echo " <font color=\"$color\">[".$count."/".$pr->number."]</font>";
|
||||
echo "</b>";
|
||||
echo "<br />";
|
||||
$prevprizeid=$pr->id;
|
||||
}
|
||||
$editor_data = array();
|
||||
|
||||
if($pr->projectnumber)
|
||||
{
|
||||
echo " ";
|
||||
echo " ";
|
||||
echo " ";
|
||||
echo " ";
|
||||
echo "($pr->projectnumber) $pr->title";
|
||||
echo "<br />";
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
echo " ";
|
||||
echo " ";
|
||||
echo " ";
|
||||
echo " ";
|
||||
echo "<font color=\"red\">No winner(s) specified</font>";
|
||||
*/
|
||||
}
|
||||
}
|
||||
echo "<br />";
|
||||
/* Load projects */
|
||||
if($r['type'] == 'Special') {
|
||||
$editor_data['projects_nominated'] = getProjectsNominatedForSpecialAward($r['id']);
|
||||
$editor_data['disable_nominated'] = false;
|
||||
} else {
|
||||
$editor_data['projects_nominated'] = array();
|
||||
$editor_data['disable_nominated'] = true;
|
||||
}
|
||||
$editor_data['projects_eligible'] = getProjectsEligibleForAward($r['id']);
|
||||
|
||||
/* Print the award header */
|
||||
echo "<br />";
|
||||
if($fairs_id) echo "<h4>Winners from $fairs_id:{$fairs[$fairs_id]['name']}</h4>";
|
||||
echo "<b>{$r['type']} - {$r['name']}</b><br />";
|
||||
echo "{$r['criteria']}<br />";
|
||||
|
||||
/* Print the award with editor */
|
||||
print_award($r, $fairs_id, true, $editor_data);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
if($auth_type == 'fair') {
|
||||
send_header("Enter Winning Projects",
|
||||
array('Science Fair Main' => 'fair_main.php'),
|
||||
"enter_winning_projects"
|
||||
);
|
||||
} else {
|
||||
send_header("Enter Winning Projects",
|
||||
array('Committee Main' => 'committee_main.php',
|
||||
'Administration' => 'admin/index.php'),
|
||||
"enter_winning_projects"
|
||||
);
|
||||
}
|
||||
|
||||
?>
|
||||
<div id="winner_editor" title="Edit Winners" style="display: none">
|
||||
<div id="winner_content"></div>
|
||||
</div>
|
||||
|
||||
<script language="javascript" type="text/javascript">
|
||||
|
||||
var award_awards_id = 0;
|
||||
var fairs_id = 0;
|
||||
|
||||
function update_winner_content()
|
||||
{
|
||||
$("#winner_content").load("<?=$_SERVER['PHP_SELF']?>?action=edit_load&award_awards_id="+award_awards_id+"&fairs_id="+fairs_id,{},
|
||||
function(responseText, textStatus, XMLHttpRequest) {
|
||||
/* Attach to save button */
|
||||
$("#project_save").click(function() {
|
||||
var id = award_awards_id;
|
||||
$("#debug").load("project_editor.php?action=save&award_awards_id="+id, $("#project_form").serializeArray());
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
function popup_editor(id,fid)
|
||||
{
|
||||
var w = (document.documentElement.clientWidth * 0.9);
|
||||
var h = (document.documentElement.clientHeight * 0.9);
|
||||
|
||||
award_awards_id = id;
|
||||
fairs_id = fid;
|
||||
|
||||
/* Show the dialog */
|
||||
$('#winner_editor').dialog('option', 'width', w);
|
||||
$('#winner_editor').dialog('option', 'height', h);
|
||||
$("#winner_editor").dialog('open');
|
||||
|
||||
update_winner_content();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function delete_winner(prize_id, projects_id)
|
||||
{
|
||||
var conf = confirm("<?=i18n('Are you sure you want to remove this project from this prize?')?>");
|
||||
if(conf == false) return false;
|
||||
|
||||
$("#debug").load("<?=$_SERVER['PHP_SELF']?>?action=deletewinner&award_awards_id="+award_awards_id+"&prize_id="+prize_id+"&projects_id="+projects_id,{},
|
||||
function(responseText, textStatus, XMLHttpRequest) {
|
||||
update_winner_content();
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function add_winner(prize_id)
|
||||
{
|
||||
var projects_id;
|
||||
if($("#nom_"+prize_id).hasClass('text-link-selected')) {
|
||||
projects_id = $("#projects_select_"+prize_id+"_nom").val();
|
||||
} else {
|
||||
projects_id = $("#projects_select_"+prize_id+"_eli").val();
|
||||
}
|
||||
$("#debug").load("<?=$_SERVER['PHP_SELF']?>?action=addwinner&award_awards_id="+award_awards_id+"&prize_id="+prize_id+"&projects_id="+projects_id,{},
|
||||
function(responseText, textStatus, XMLHttpRequest) {
|
||||
update_winner_content();
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function unlist_winner(projects_id)
|
||||
{
|
||||
$(".projects_select option[value='"+projects_id+"']").remove();
|
||||
}
|
||||
|
||||
function set_nom(prize_id)
|
||||
{
|
||||
/* Don't try anything if this is already selected */
|
||||
if($("#nom_"+prize_id).hasClass('text-link-selected')) return false;
|
||||
/* If nominated link is disabled, set all-eligible instead */
|
||||
if($("#nom_"+prize_id).hasClass('text-link-disabled')) return set_eli(prize_id);
|
||||
|
||||
/* Populate List */
|
||||
$("#projects_select_"+prize_id+"_eli").css('display', 'none');
|
||||
$("#projects_select_"+prize_id+"_nom").css('display', 'inline');
|
||||
|
||||
/* This was brilliant, but we need to filter select boxes by fairs_id in some cases,
|
||||
* so keeping a master copy and duplicating it just didn't work :(
|
||||
* Actually, we can do this now, but the code works the other way, so i'm not going
|
||||
* to change it back. :p */
|
||||
/* $("#projects_select_"+prize_id).val('');
|
||||
$("#projects_select_"+prize_id).html('');
|
||||
$("#projects_nominated > option").clone().appendTo("#projects_select_"+prize_id); */
|
||||
|
||||
/* Swap selected styles */
|
||||
$("#nom_"+prize_id).addClass('text-link-selected');
|
||||
$("#eli_"+prize_id).removeClass('text-link-selected');
|
||||
}
|
||||
|
||||
function set_eli(prize_id)
|
||||
{
|
||||
/* Don't try anything if this is already selected */
|
||||
if($("#eli_"+prize_id).hasClass('text-link-selected')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Populate List */
|
||||
$("#projects_select_"+prize_id+"_eli").css('display', 'inline');
|
||||
$("#projects_select_"+prize_id+"_nom").css('display', 'none');
|
||||
|
||||
/* Swap selected styles */
|
||||
$("#nom_"+prize_id).removeClass('text-link-selected');
|
||||
$("#eli_"+prize_id).addClass('text-link-selected');
|
||||
}
|
||||
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
$("#winner_editor").dialog({
|
||||
bgiframe: true, autoOpen: false,
|
||||
modal: true, resizable: false,
|
||||
draggable: false,
|
||||
buttons: {
|
||||
/* "<?=i18n('Cancel')?>": function() {
|
||||
$(this).dialog("close");
|
||||
},
|
||||
"<?=i18n('Save')?>": function() {
|
||||
save_report();
|
||||
$(this).dialog("close"); */
|
||||
"<?=i18n('Close')?>": function() {
|
||||
// save_report();
|
||||
$(this).dialog("close");
|
||||
}
|
||||
},
|
||||
close: function() {
|
||||
/* Reload the row after the dialog close in case the info has changed */
|
||||
$("#winner_list_"+award_awards_id+"_"+fairs_id).load("<?=$_SERVER['PHP_SELF']?>?action=award_load&award_awards_id="+award_awards_id+"&fairs_id="+fairs_id);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
<?
|
||||
|
||||
|
||||
$fair_join = '';
|
||||
$fair_where = '';
|
||||
if($auth_type == 'fair') {
|
||||
/* Join to fairs_award_link, and only list awards that are set
|
||||
* as "upload winners" for this fair */
|
||||
$fair_join = 'LEFT JOIN fairs_awards_link ON fairs_awards_link.award_awards_id=award_awards.id';
|
||||
$fair_where = "AND fairs_awards_link.upload_winners='yes'
|
||||
AND fairs_awards_link.fairs_id='{$_SESSION['fairs_id']}'";
|
||||
}
|
||||
$q=mysql_query("SELECT
|
||||
award_awards.id,
|
||||
award_awards.name,
|
||||
award_awards.order AS awards_order,
|
||||
award_awards.per_fair,
|
||||
award_types.type,
|
||||
sponsors.organization
|
||||
FROM
|
||||
award_awards $fair_join,
|
||||
award_types,
|
||||
sponsors
|
||||
WHERE
|
||||
award_awards.year='{$config['FAIRYEAR']}'
|
||||
AND award_awards.award_types_id=award_types.id
|
||||
AND award_types.year='{$config['FAIRYEAR']}'
|
||||
AND award_awards.sponsors_id=sponsors.id
|
||||
$fair_where
|
||||
ORDER BY awards_order");
|
||||
|
||||
echo mysql_error();
|
||||
|
||||
if(mysql_num_rows($q) == 0) {
|
||||
echo i18n('No awards to display.');
|
||||
send_footer();
|
||||
exit;
|
||||
}
|
||||
|
||||
echo "<br />";
|
||||
echo i18n("Choose an award to assign winners");
|
||||
echo "<br />";
|
||||
echo "<br />";
|
||||
|
||||
$fairs_id = ($auth_type == 'fair') ? $_SESSION['fairs_id'] : 0;
|
||||
|
||||
while($r=mysql_fetch_assoc($q)) {
|
||||
if($r['per_fair'] == 'yes' && $auth_type != 'fair') {
|
||||
?> <?=$r['type']?> - <?=$r['name']?>
|
||||
<span style="font-size: 0.8em; font-style: italic;">(<?=$r['organization']?>)</span><br />
|
||||
<?
|
||||
foreach($fairs as $fid=>$f) {
|
||||
?> <a title="<?=i18n('Edit winners for this award')?>" href="#" onClick="popup_editor(<?=$r['id']?>,<?=$f['id']?>);return false;">
|
||||
<?=$f['name']?></a><br />
|
||||
<div id="winner_list_<?=$r['id']?>_<?=$fid?>">
|
||||
|
||||
<? print_award($r, $f['id']);
|
||||
echo "</div>";
|
||||
}
|
||||
} else {
|
||||
?> <a title="<?=i18n('Edit winners for this award')?>" href="#" onClick="popup_editor(<?=$r['id']?>,<?=$fairs_id?>);return false;">
|
||||
<?=$r['type']?> - <?=$r['name']?></a>
|
||||
<span style="font-size: 0.8em; font-style: italic;">(<?=$r['organization']?>)</span><br />
|
||||
<div id="winner_list_<?=$r['id']?>_<?=$fairs_id?>">
|
||||
<? print_award($r, $fairs_id);
|
||||
echo "</div>";
|
||||
}
|
||||
echo '<br />';
|
||||
}
|
||||
|
||||
|
||||
|
||||
function print_award(&$r, $fairs_id, $editor=false, $editor_data=array())
|
||||
{
|
||||
global $config, $auth_type;
|
||||
|
||||
// echo "fair=$fairs_id";
|
||||
|
||||
/* Setup the winner filter, we don't want to restrict this
|
||||
* to a specific fair for the 'fair' user */
|
||||
$fairs_where = '';
|
||||
if($r['per_fair'] == 'yes') {
|
||||
if($fairs_id == 0) {
|
||||
echo "blank fairs_id for per-fair award. bug.\n";
|
||||
exit;
|
||||
}
|
||||
/* For per-fair awards, filter the results */
|
||||
$fairs_where = "AND projects.fairs_id='$fairs_id'";
|
||||
}
|
||||
|
||||
/* Force the 'fair' user to only edit their own fair */
|
||||
if($auth_type == 'fair') $fairs_id = $_SESSION['fairs_id'];
|
||||
|
||||
|
||||
/* Load prizes for this award */
|
||||
$q=mysql_query("SELECT
|
||||
award_prizes.prize,
|
||||
award_prizes.number,
|
||||
award_prizes.id,
|
||||
award_prizes.cash,
|
||||
award_prizes.scholarship
|
||||
FROM
|
||||
award_prizes
|
||||
WHERE
|
||||
award_awards_id='{$r['id']}'
|
||||
AND award_prizes.year='{$config['FAIRYEAR']}'
|
||||
ORDER BY
|
||||
`order`");
|
||||
echo mysql_error();
|
||||
|
||||
while($pr=mysql_fetch_object($q)) {
|
||||
|
||||
if($editor == true) {
|
||||
echo '<br /><hr />';
|
||||
}
|
||||
|
||||
echo " <b>{$pr->prize}";
|
||||
if($pr->cash || $pr->scholarship) {
|
||||
echo " (";
|
||||
if($pr->cash && $pr->scholarship)
|
||||
echo "\${$pr->cash} cash / \${$pr->scholarship} scholarship";
|
||||
else if($pr->cash)
|
||||
echo "\${$pr->cash} cash";
|
||||
else if($pr->scholarship)
|
||||
echo "\${$pr->scholarship} scholarship";
|
||||
echo ")";
|
||||
}
|
||||
|
||||
/* Load winners for this prize */
|
||||
$cq=mysql_query("SELECT winners.projects_id,
|
||||
projects.projectnumber,
|
||||
projects.title,
|
||||
projects.fairs_id
|
||||
FROM
|
||||
winners
|
||||
LEFT JOIN projects ON projects.id=winners.projects_id
|
||||
WHERE
|
||||
winners.awards_prizes_id='{$pr->id}'
|
||||
$fairs_where ");
|
||||
echo mysql_error();
|
||||
$count = mysql_num_rows($cq);
|
||||
// echo "winners=$count";
|
||||
|
||||
/* Print count */
|
||||
$colour = ($count < $pr->number) ? 'red' : 'green';
|
||||
echo " <font color=\"$colour\">[$count/{$pr->number}]</font>";
|
||||
echo "</b>";
|
||||
echo "<br />";
|
||||
|
||||
|
||||
/* List current winners for this prize */
|
||||
$winners = array();
|
||||
while($w = mysql_fetch_assoc($cq)) {
|
||||
if($w['projectnumber']) {
|
||||
echo " ";
|
||||
if($editor == true) {
|
||||
/* Print the delete X before the project */
|
||||
if($auth_type == 'fair' && $w['fairs_id'] != $fairs_id) {
|
||||
/* show a blank so everything lines up */
|
||||
echo ' ';
|
||||
} else {
|
||||
echo "<a onclick=\"delete_winner({$pr->id},{$w['projects_id']});return false;\" href=\"#\" >";
|
||||
echo "<img style=\"vertical-align:middle\" border=0 src=\"{$config['SFIABDIRECTORY']}/images/16/button_cancel.{$config['icon_extension']}\"></a>";
|
||||
echo ' ';
|
||||
}
|
||||
$winners[] = $w['projects_id'];
|
||||
}
|
||||
echo "({$w['projectnumber']}) {$w['title']}";
|
||||
echo "<br />";
|
||||
} else {
|
||||
/* echo " ";
|
||||
echo "<font color=\"red\">No winner(s) specified</font>"; */
|
||||
}
|
||||
}
|
||||
|
||||
/* Unlist all the winners we just printed from ALL lists */
|
||||
if($editor == true) {
|
||||
echo "<script language=\"javascript\" type=\"text/javascript\">";
|
||||
foreach($winners as $w) echo "unlist_winner($w);";
|
||||
echo "</script>";
|
||||
}
|
||||
|
||||
/* Print the select box if we need it */
|
||||
if($editor == true && $count < $pr->number) {
|
||||
$n_nom = 0;
|
||||
$n_eli = 0;
|
||||
?>
|
||||
<br />
|
||||
<form id="winner_<?=$pr->id?>">
|
||||
|
||||
<select id="projects_select_<?=$pr->id?>_nom" class="projects_select" style="display:none">
|
||||
<option value=""><?=i18n('Choose a project')?></option>
|
||||
<? foreach($editor_data['projects_nominated'] as $p) {
|
||||
if($fairs_id != 0 && $p['fairs_id']!= $fairs_id) continue;
|
||||
echo "<option value=\"{$p['id']}\">({$p['projectnumber']}) {$p['title']}</option>";
|
||||
$n_nom++;
|
||||
}
|
||||
?> </select>
|
||||
<select id="projects_select_<?=$pr->id?>_eli" class="projects_select" style="display:none">
|
||||
<option value=""><?=i18n('Choose a project')?></option>
|
||||
<? foreach($editor_data['projects_eligible'] as $p) {
|
||||
if($fairs_id != 0 && $p['fairs_id']!= $fairs_id) continue;
|
||||
echo "<option value=\"{$p['id']}\">({$p['projectnumber']}) {$p['title']}</option>";
|
||||
$n_eli++;
|
||||
print_r($p);
|
||||
}
|
||||
?> </select>
|
||||
<button id="" onClick="add_winner(<?=$pr->id?>); return false;"><?=i18n('Add')?></button>
|
||||
<br />
|
||||
<?=i18n('List')?>:
|
||||
<?
|
||||
if($editor_data['disable_nominated'] == true) $n_nom = 'N/A';
|
||||
$nom = i18n('All Nominated')." ($n_nom)";
|
||||
$el = i18n('All Eligible')." ($n_eli)";
|
||||
|
||||
$cl = ($editor_data['disable_nominated'] == true) ? 'text-link-disabled' : '';
|
||||
?>
|
||||
<span id="nom_<?=$pr->id?>" class="text-link <?=$cl?>" onClick="set_nom(<?=$pr->id?>);return false;"><?=$nom?>
|
||||
</span> - <span id="eli_<?=$pr->id?>" class="text-link" onClick="set_eli(<?=$pr->id?>);return false;"><?=$el?></span>
|
||||
</form>
|
||||
|
||||
<script language="javascript" type="text/javascript">
|
||||
set_nom(<?=$pr->id?>);
|
||||
</script>
|
||||
<?
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
send_footer();
|
||||
send_footer();
|
||||
|
||||
?>
|
||||
|
@ -32,7 +32,8 @@ function getProjectsEligibleForAward($award_id)
|
||||
award_awards_projectdivisions.projectdivisions_id,
|
||||
projects.projectnumber,
|
||||
projects.title,
|
||||
projects.id AS projects_id
|
||||
projects.id AS projects_id,
|
||||
projects.fairs_id
|
||||
FROM
|
||||
award_awards,
|
||||
award_awards_projectcategories,
|
||||
@ -55,7 +56,8 @@ function getProjectsEligibleForAward($award_id)
|
||||
$projects[$prjr->projectnumber]=array(
|
||||
"id"=>$prjr->projects_id,
|
||||
"projectnumber"=>$prjr->projectnumber,
|
||||
"title"=>$prjr->title
|
||||
"title"=>$prjr->title,
|
||||
"fairs_id"=>$prjr->fairs_id
|
||||
);
|
||||
}
|
||||
return $projects;
|
||||
@ -143,7 +145,8 @@ function getSpecialAwardsNominatedForProject($projectid)
|
||||
award_awards.id,
|
||||
award_awards.name,
|
||||
award_awards.criteria,
|
||||
projects.id AS projects_id
|
||||
projects.id AS projects_id,
|
||||
projects.fairs_id
|
||||
FROM
|
||||
award_awards,
|
||||
project_specialawards_link,
|
||||
@ -163,7 +166,8 @@ function getSpecialAwardsNominatedForProject($projectid)
|
||||
$awards[$r->id]=array(
|
||||
"id"=>$r->id,
|
||||
"criteria"=>$r->criteria,
|
||||
"name"=>$r->name
|
||||
"name"=>$r->name,
|
||||
"fairs_id"=>$r->fairs_id
|
||||
);
|
||||
}
|
||||
return $awards;
|
||||
|
@ -418,3 +418,27 @@ div.ui-tabs ul.ui-tabs-nav {
|
||||
.ui-datepicker {
|
||||
z-index: 1003;
|
||||
}
|
||||
|
||||
.text-link {
|
||||
cursor: pointer;
|
||||
color: #5C6F90;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.text-link-selected {
|
||||
font-weight: bold;
|
||||
cursor: default;
|
||||
text-decoration: none;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.text-link-disabled {
|
||||
font-weight: none;
|
||||
cursor: default;
|
||||
text-decoration: none;
|
||||
color: #c0c0c0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -418,3 +418,27 @@ div.ui-tabs ul.ui-tabs-nav {
|
||||
.ui-datepicker {
|
||||
z-index: 1003;
|
||||
}
|
||||
|
||||
.text-link {
|
||||
cursor: pointer;
|
||||
color: #5C6F90;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.text-link-selected {
|
||||
font-weight: bold;
|
||||
cursor: default;
|
||||
text-decoration: none;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.text-link-disabled {
|
||||
font-weight: none;
|
||||
cursor: default;
|
||||
text-decoration: none;
|
||||
color: #c0c0c0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user