forked from science-ation/science-ation
145 lines
4.5 KiB
PHP
145 lines
4.5 KiB
PHP
<?php
|
|
require_once('awards.inc.php');
|
|
|
|
$awards_map = array();
|
|
$prizes_map = array();
|
|
|
|
function conv_awards($mysqli, $old_prefix, $year)
|
|
{
|
|
global $sponsors_map, $awards_map, $prizes_map;
|
|
|
|
print("Convert Awards for $year...\n");
|
|
|
|
/* Delete existing old awards and prizes for the year */
|
|
$mysqli->query("DELETE FROM award_prizes WHERE award_id IN ( SELECT id FROM awards WHERE year='$year' )");
|
|
$mysqli->query("DELETE FROM awards WHERE year='$year'");
|
|
|
|
$awards = array();
|
|
|
|
/* Load the old awards, and save to a new award array */
|
|
$q = $mysqli->query("SELECT * FROM {$old_prefix}award_awards WHERE year='$year'");
|
|
while($a = $q->fetch_assoc()) {
|
|
$a['prizes'] = array();
|
|
$aid = $a['id'];
|
|
$q1 = $mysqli->query("SELECT * FROM {$old_prefix}award_prizes WHERE award_awards_id='$aid'");
|
|
while($p = $q1->fetch_assoc()) {
|
|
$a['prizes'][] = $p;
|
|
}
|
|
$a['categories'] = array();
|
|
$q1 = $mysqli->query("SELECT * FROM {$old_prefix}award_awards_projectcategories WHERE award_awards_id='$aid'");
|
|
while($c =$q1->fetch_assoc()) {
|
|
$a['categories'][] = $c['projectcategories_id'];
|
|
}
|
|
$awards[] = $a;
|
|
}
|
|
|
|
$award_types = array('divisional','special','grand','other');
|
|
/* Load award types and try to map to the static types */
|
|
$q = $mysqli->query("SELECT * FROM {$old_prefix}award_types WHERE year='$year'");
|
|
while($t = $q->fetch_assoc()) {
|
|
$n = strtolower($t['type']);
|
|
$type_map[(int)$t['id']] = 'other';
|
|
foreach($award_types as $new_t) {
|
|
if(strstr($n, $new_t) !== false) {
|
|
$type_map[(int)$t['id']] = $new_t;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* Insert awards into db */
|
|
foreach($awards as $old_a) {
|
|
|
|
$aid = award_create($mysqli, $year);
|
|
$a = award_load($mysqli, $aid);
|
|
|
|
$a['name'] = $old_a['name'];
|
|
// print($a['name'] . "\n");
|
|
|
|
$a['s_desc'] = $old_a['description'];
|
|
$a['j_desc'] = $old_a['criteria'];
|
|
$a['presenter'] = $old_a['presenter'];
|
|
$a['notes'] = '';
|
|
$a['include_in_script'] = ($old_a['excludefromac'] == 1) ? 0 : 1;
|
|
$a['self_nominate'] = ($old_a['self_nominate'] == 'yes') ? 1 : 0;
|
|
$a['schedule_judges'] = ($old_a['schedule_judges'] == 'yes') ? 1 : 0;
|
|
$a['sponsor_uid'] = get_or_create_sponsor_uid_for_year($mysqli, (int)$old_a['sponsors_id'], $year);
|
|
|
|
/* Category IDs are the same, no need to map them */
|
|
$a['categories'] = $old_a['categories'];
|
|
$a['order'] = $old_a['order'];
|
|
$a['type'] = $type_map[(int)$old_a['award_types_id']];
|
|
|
|
foreach($old_a['prizes'] as &$old_p) {
|
|
$pid = prize_create($mysqli, $a);
|
|
$a['prizes'][$pid] = prize_load($mysqli, $pid);
|
|
$p = &$a['prizes'][$pid];
|
|
|
|
$p['name'] = $old_p['prize'];
|
|
// print(" ".$p['name'] . "\n");
|
|
$p['cash'] = $old_p['cash'];
|
|
$p['scholarship'] = $old_p['scholarship'];
|
|
$p['value'] = $old_p['value'];
|
|
$p['trophies'] = array();
|
|
if($old_p['trophystudentkeeper'] == 1) $p['trophies'] [] = 'keeper';
|
|
if($old_p['trophystudentreturn'] == 1) $p['trophies'] [] = 'return';
|
|
if($old_p['trophyschoolkeeper'] == 1) $p['trophies'] [] = 'school_keeper';
|
|
if($old_p['trophyschoolreturn'] == 1) $p['trophies'] [] = 'school_return';
|
|
$p['order'] = (int)$old_p['order'];
|
|
$p['number'] = (int)$old_p['number'];
|
|
if($p['number'] == 0) $p['number'] = 1;
|
|
|
|
// print_r($old_p);
|
|
if($old_p['excludefromac'] == 0) $a['include_in_script'] = 1;
|
|
|
|
$prizes_map[(int)$old_p['id']] = $pid;
|
|
}
|
|
|
|
award_save($mysqli, $a);
|
|
|
|
$awards_map[(int)$old_a['id']] = $aid;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function conv_winners($mysqli, $old_prefix, $year)
|
|
{
|
|
global $prizes_map, $projects_map, $fairs_map;
|
|
|
|
print("Convert Winners for $year...\n");
|
|
|
|
// print_r($prizes_map);
|
|
|
|
/* Delete existing old awards and prizes for the year */
|
|
$mysqli->query("DELETE FROM winners WHERE year='$year'");
|
|
|
|
/* Load the old awards, and save to a new award array */
|
|
$q = $mysqli->query("SELECT * FROM {$old_prefix}winners WHERE year='$year'");
|
|
while($w = $q->fetch_assoc()) {
|
|
$prize_id = (int)$w['awards_prizes_id'];
|
|
if(!array_key_exists($prize_id, $prizes_map)) {
|
|
$q1 = $mysqli->query("SELECT * FROM {$old_prefix}award_prizes WHERE id=$prize_id");
|
|
if($q1->num_rows == 0) {
|
|
print(" Old Prize ID $prize_id doesn't exist, but is awarded. Skipping.\n");
|
|
continue;
|
|
}
|
|
$r1 = $q1->fetch_assoc();
|
|
print(" Old Prize ID $prize_id doesn't exist in map, but is awarded, and exists: \n");
|
|
print_r($r1);
|
|
exit();
|
|
}
|
|
$prize_id = $prizes_map[(int)$w['awards_prizes_id']];
|
|
|
|
|
|
$pid = $projects_map[(int)$w['projects_id']];
|
|
$fair_id = (int)$w['fairs_id'];
|
|
|
|
$mysqli->query("INSERT INTO winners (`award_prize_id`,`pid`,`year`,`fair_id`)
|
|
VALUES('$prize_id','$pid','$year','$fair_id')");
|
|
|
|
}
|
|
}
|
|
|
|
|
|
?>
|