. */ include("../../oms/include/include-sub.php"); require_once(FILESYSTEMROOTPATH."/oms/include/classes/ImportLayout.php"); require_once(FILESYSTEMROOTPATH."include/classes/CharSet.php"); require_once(FILESYSTEMROOTPATH."include/classes/Validator.php"); $layout = new ImportLayout(Access::ANONYMOUS, "./"); $layout->init(); $layout->echoln("

Event Applications import

"); $error = false; // Download data from intranet $intranetdata = array(); $query = "SELECT e.`from_date`, me.`member_event_id` , me.`member_id` , me.`event_id` , me.`application_status` , me.`passport_number` , me.`passport_valid` , me.`nationality` , me.`place_of_birth` , me.`remarks` FROM `member_events` me INNER JOIN `events` e ON e.`event_id`=me.`event_id` "; if( $sql_intranet->query($query) AND $sql_intranet->getnumrows()>0 ) { while( $row = $sql_intranet->fetchAssoc() ) { $curitem = $row['member_event_id']; $intranetdata[$curitem]['eventId'] = $row['event_id']; $intranetdata[$curitem]['uid'] = $row['member_id']; if( strlen($row['passport_number'])>0 ) { $intranetdata[$curitem]['passportNumber'] = $row['passport_number']; $intranetdata[$curitem]['visa'] = 1; } if( strlen($row['passport_valid'])>0 ) { $intranetdata[$curitem]['passportValidTo'] = $row['passport_valid']; $intranetdata[$curitem]['visa'] = 1; } if( strlen($row['nationality'])>0 ) { $intranetdata[$curitem]['nationality'] = $row['nationality']; $intranetdata[$curitem]['visa'] = 1; } if( strlen($row['place_of_birth'])>0 ) { $intranetdata[$curitem]['placeOfBirth'] = $row['place_of_birth']; $intranetdata[$curitem]['visa'] = 1; } if( strlen($row['remarks'])>0 ) $intranetdata[$curitem]['motivation'] = $row['remarks']; if( $row['application_status'] == "Pending" AND $row['from_date']<=date("Y-m-d") ) { $intranetdata[$curitem]['applicationStatus'] = 5; }else if( $row['application_status'] == "Pending" ) { $intranetdata[$curitem]['applicationStatus'] = 2; }else if( $row['application_status'] == "Accepted" AND $row['from_date']<=date("Y-m-d") ) { $intranetdata[$curitem]['applicationStatus'] = 7; }else if( $row['application_status'] == "Accepted" ) { $intranetdata[$curitem]['applicationStatus'] = 3; }else if( $row['application_status'] == "Waiting" AND $row['from_date']<=date("Y-m-d") ) { $intranetdata[$curitem]['applicationStatus'] = 5; }else if( $row['application_status'] == "Waiting" ) { $intranetdata[$curitem]['applicationStatus'] = 4; }else if( $row['application_status'] == "Rejected" ) { $intranetdata[$curitem]['applicationStatus'] = 5; }else{ $layout->echoln("
ERROR: Invalid application_status for ".$row['member_event_id'].": ".$row['application_status']); } $intranetdata[$curitem]['id'] = $row['member_event_id']; } }else { $layout->echoln("
ERROR: Failed loading ".$types[$k]." data from Intranet."); $error = true; } $layout->echoln("
INFO: Loaded data from intranet: ".count($intranetdata)." out of ".$sql_intranet->getnumrows()." event applications."); //time to insert the data to the database! if( !$error ) { if ( ! $sql_events->query("TRUNCATE TABLE events.applications")) { $layout->echoln("
TRUNCATE ERROR: ".$sql_events->getErrorMsg()."."); exit; } foreach ($intranetdata AS $k => $event) { $query = "INSERT INTO events.applications SET "; foreach ($event AS $key => $value){ $value=str_replace("'", "\'", $value); $query .= "`".$key."` = '".$value."', "; } $query=substr($query, 0, -2); if ($sql_events->query($query)) $w++; else { $layout->echoln("
INSERT ERROR: ".$sql_events->getErrorMsg()."."); $layout->echoln("
".$query); } } $layout->echoln("
INFO: Inserted to OMS: ".$w." event applications."); }else { $layout->echoln("
ERROR: blocking error found, not synchronising."); } $layout->echoln("
"); $layout->echoln("
NOTICE: On table events.applications, the field `uid` still has intranet member_ids and not UIDs, which need to be converted!"); $layout->echoln("
NOTICE: Run the events cron!"); $layout->echoln("

Finished"); $layout->page_footer(); ?>