From 8e490af8f2d763a5da1d21f18a968bc794a354fb Mon Sep 17 00:00:00 2001 From: Roger Feese <rfeese@unl.edu> Date: Thu, 24 Aug 2017 14:21:15 -0500 Subject: [PATCH] Check for existence of course before importing enrollment or staff assignment. --- include/functions.inc.php | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/include/functions.inc.php b/include/functions.inc.php index e66d1cb..e2bc61d 100644 --- a/include/functions.inc.php +++ b/include/functions.inc.php @@ -776,12 +776,14 @@ function load_enrol($db, $filesBaseDir) ); $findPeople = "SELECT nuid FROM people WHERE nuid = ?"; - $findEnrol = "SELECT enrollment_id FROM enrollments WHERE course_id = ? AND nuid = ?"; + $findEnrol = "SELECT enrollment_id FROM enrollments WHERE course_id = ? AND nuid = ?"; + $findCourse = "SELECT course_id FROM courses WHERE course_id = ?"; $existingPerson = $db->GetOne($findPeople, array($nuid)); - $existingEnrol = $db->GetOne($findEnrol, array($courseId, $nuid)); + $existingEnrol = $db->GetOne($findEnrol, array($courseId, $nuid)); + $existingCourse = $db->GetOne($findCourse, array($courseId)); - if ($lineItems[2] != 'W') { + if ($existingCourse && $lineItems[2] != 'W') { if ( !$existingPerson) { import_person_from_ldap($nuid); @@ -832,23 +834,28 @@ function load_staff($db, $filesBaseDir) ); $findPeople = "SELECT nuid FROM people WHERE nuid = ?"; - $findStaff = "SELECT assignment_id FROM staff_assignments WHERE course_id = ? AND nuid = ?"; + $findStaff = "SELECT assignment_id FROM staff_assignments WHERE course_id = ? AND nuid = ?"; + $findCourse = "SELECT course_id FROM courses WHERE course_id = ?"; $existingPerson = $db->GetOne($findPeople, array($nuid)); - $existingStaff = $db->GetOne($findStaff, array($courseId, $nuid)); + $existingStaff = $db->GetOne($findStaff, array($courseId, $nuid)); + $existingCourse = $db->GetOne($findCourse, array($courseId)); - if ( !$existingPerson ) + if ( $existingCourse ) { - import_person_from_ldap($nuid); - } + if ( !$existingPerson ) + { + import_person_from_ldap($nuid); + } - if ($existingStaff) - { - auto_update($db, 'staff_assignments', $staffData, 'assignment_id', $existingStaff['assignment_id']); - } - else if ($existingPerson) - { - auto_insert($db, 'staff_assignments', $staffData); + if ($existingStaff) + { + auto_update($db, 'staff_assignments', $staffData, 'assignment_id', $existingStaff['assignment_id']); + } + else if ($existingPerson) + { + auto_insert($db, 'staff_assignments', $staffData); + } } } fclose($handle); -- GitLab