/** * Actually removes the record IF there are no records referencing this user. * If records do reference it, then only marks it inactive. */ function updateDatabase($myvalues) { $bHasReferences = UserInfo::userIsReferenced($this->m_nUID); $feedback = NULL; if ($bHasReferences) { $updated_dt = date("Y-m-d H:i", time()); $nUpdated = db_update('raptor_user_profile')->fields(array('accountactive_yn' => 0, 'updated_dt' => $updated_dt))->condition('uid', $this->m_nUID, '=')->execute(); if ($nUpdated !== 1) { error_log("Failed to edit user back to database!\n" . var_dump($myvalues)); die("Failed to edit user back to database!\n" . var_dump($myvalues)); } $feedback = 'Marked user as inactive instead of deleted because referenced by other records.'; } else { //Delete all the child records first. $num_deleted = db_delete('raptor_user_modality')->condition('uid', $this->m_nUID, '=')->execute(); $num_deleted = db_delete('raptor_user_anatomy')->condition('uid', $this->m_nUID, '=')->execute(); $num_deleted = db_delete('raptor_user_group_membership')->condition('uid', $this->m_nUID, '=')->execute(); //Now delete the profile. $num_deleted = db_delete('raptor_user_profile')->condition('uid', $this->m_nUID, '=')->execute(); if ($this->m_nUID == 1) { //Do NOT delete this drupal user or will be very unhappy! error_log('Removed user 1 from RAPTOR but left it alone in Drupal users table.'); $feedback = 'Removed user from RAPTOR system.'; } else { //Now delete the Drupal user. $num_deleted = db_delete('users')->condition('uid', $this->m_nUID, '=')->execute(); $feedback = 'Removed the ADMIN user from RAPTOR system.'; } } drupal_set_message($feedback); return 1; }