Overhaul the winners entry (add ajax, mutliple fair support, fairs

loggin in and entering their own winners)
This commit is contained in:
dave 2010-01-27 20:24:19 +00:00
parent 7d611e531f
commit 505e1a8c91
4 changed files with 572 additions and 320 deletions

View File

@ -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 "&nbsp;";
echo "&nbsp;";
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 "&nbsp;";
echo "&nbsp;";
echo "&nbsp;";
echo "&nbsp;";
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 "&nbsp;";
echo "&nbsp;";
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 "&nbsp;";
echo "&nbsp;";
echo "&nbsp;";
echo "&nbsp;";
echo "($pr->projectnumber) $pr->title";
echo "<br />";
}
else
{
/*
echo "&nbsp;";
echo "&nbsp;";
echo "&nbsp;";
echo "&nbsp;";
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 "&nbsp;&nbsp;<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 "&nbsp;&nbsp;&nbsp;&nbsp;";
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 '&nbsp;&nbsp;&nbsp;&nbsp;';
} 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 '&nbsp;';
}
$winners[] = $w['projects_id'];
}
echo "({$w['projectnumber']}) {$w['title']}";
echo "<br />";
} else {
/* echo "&nbsp;&nbsp;&nbsp;&nbsp;";
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?>">
&nbsp;&nbsp;&nbsp;
<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 />&nbsp;&nbsp;&nbsp;
<?=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();
?>

View File

@ -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;

View File

@ -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;
}

View File

@ -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;
}