| 1 | #!/usr/bin/php5 |
| 2 | <?php |
| 3 | require_once 'connect.db.inc.php'; |
| 4 | |
| 5 | $globals->debug = 0; //do not store backtraces |
| 6 | |
| 7 | XDB::execute('INSERT INTO `profile_job_term_enum` (`name`, `full_name`) VALUES ("Secteurs d\'activité", "Secteurs d\'activité")'); |
| 8 | $root_sector_id = XDB::insertId(); |
| 9 | XDB::execute('INSERT INTO `profile_job_term_relation` VALUES (0, {?}, "narrower", "original"), ({?}, {?}, "narrower", "computed")', |
| 10 | $root_sector_id, $root_sector_id, $root_sector_id); |
| 11 | |
| 12 | // loops through sectors |
| 13 | $sectors = XDB::iterator('SELECT `id`, `name` FROM `profile_job_sector_enum`'); |
| 14 | while ($oldsector = $sectors->next()) { |
| 15 | // adds sector as term |
| 16 | XDB::execute('INSERT INTO `profile_job_term_enum` (`name`, `full_name`) VALUES ( {?}, {?} )', $oldsector['name'], $oldsector['name'].' (secteur)'); |
| 17 | $sector_id = XDB::insertId(); |
| 18 | // links to root for sectors |
| 19 | XDB::execute('INSERT INTO `profile_job_term_relation` VALUES ({?}, {?}, "narrower", "original"), ({?}, {?}, "narrower", "computed")', |
| 20 | $root_sector_id, $sector_id, $sector_id, $sector_id); |
| 21 | // adds sector term to linked jobs and linked mentorships |
| 22 | XDB::execute('INSERT INTO `profile_job_term` |
| 23 | SELECT `pid`, `id`, {?}, "original" |
| 24 | FROM `profile_job` |
| 25 | WHERE `sectorid` = {?} AND `subsectorid` = 0', |
| 26 | $sector_id, $oldsector['id']); |
| 27 | XDB::execute('INSERT INTO `profile_mentor_term` |
| 28 | SELECT `pid`, {?} |
| 29 | FROM `profile_mentor_sector` |
| 30 | WHERE `sectorid` = {?} AND `subsectorid` = 0', |
| 31 | $sector_id, $oldsector['id']); |
| 32 | // loops through subsectors |
| 33 | $subsectors = XDB::iterator('SELECT `id`, `name` FROM `profile_job_subsector_enum` WHERE sectorid = {?}', $oldsector['id']); |
| 34 | while ($oldsubsector = $subsectors->next()) { |
| 35 | if ($oldsubsector['name'] == $oldsector['name']) { |
| 36 | // adds sector term to jobs and mentorships linked to subsector with same name as sector |
| 37 | XDB::execute('INSERT INTO `profile_job_term` |
| 38 | SELECT `pid`, `id`, {?}, "original" |
| 39 | FROM `profile_job` |
| 40 | WHERE `sectorid` = {?} AND `subsectorid` = {?}', |
| 41 | $sector_id, $oldsector['id'], $oldsubsector['id']); |
| 42 | XDB::execute('INSERT INTO `profile_mentor_term` |
| 43 | SELECT `pid`, {?} |
| 44 | FROM `profile_mentor_sector` |
| 45 | WHERE `sectorid` = {?} AND `subsectorid` = {?}', |
| 46 | $sector_id, $oldsector['id'], $oldsubsector['id']); |
| 47 | continue; |
| 48 | } |
| 49 | // adds subsector as term |
| 50 | XDB::execute('INSERT INTO `profile_job_term_enum` (`name`, `full_name`) VALUES ( {?}, {?} )', $oldsubsector['name'], $oldsubsector['name'].' (secteur)'); |
| 51 | $subsector_id = XDB::insertId(); |
| 52 | // links to root for sectors and to sector |
| 53 | XDB::execute('INSERT INTO `profile_job_term_relation` VALUES ({?}, {?}, "narrower", "computed"), ({?}, {?}, "narrower", "original"), ({?}, {?}, "narrower", "computed")', |
| 54 | $root_sector_id, $subsector_id, $sector_id, $subsector_id, $subsector_id, $subsector_id); |
| 55 | // adds subsector term to linked jobs and mentorships |
| 56 | XDB::execute('INSERT INTO `profile_job_term` |
| 57 | SELECT `pid`, `id`, {?}, "original" |
| 58 | FROM `profile_job` |
| 59 | WHERE `sectorid` = {?} AND `subsectorid` = {?}', |
| 60 | $subsector_id, $oldsector['id'], $oldsubsector['id']); |
| 61 | XDB::execute('INSERT INTO `profile_mentor_term` |
| 62 | SELECT `pid`, {?} |
| 63 | FROM `profile_mentor_sector` |
| 64 | WHERE `sectorid` = {?} AND `subsectorid` = {?}', |
| 65 | $subsector_id, $oldsector['id'], $oldsubsector['id']); |
| 66 | } |
| 67 | } |
| 68 | |
| 69 | /* vim:set et sw=4 sts=4 ts=4: */ |
| 70 | ?> |