} } // Adding new attendees. // Check if we need to add anyone. $attendeestoadd = array_diff_key($attendees, $original); if (!empty($attendeestoadd) && has_capability('mod/facetoface:addattendees', $context)) { // Prepare params $params = array(); $params['suppressemail'] = $suppressemail; // Do not need the approval, change the status $params['approvalreqd'] = 0; // If it is a list of user, do not need to notify manager $params['ccmanager'] = 0; foreach ($attendeestoadd as $attendee) { $result = facetoface_user_import($course, $facetoface, $session, $attendee->id, $params); if ($result['result'] !== true) { $errors[] = $result; } else { $result['result'] = get_string('addedsuccessfully', 'facetoface'); $added[] = $result; } } } // Removing old attendees. // Check if we need to remove anyone. $attendeestoremove = array_diff_key($original, $attendees); if (!empty($attendeestoremove) && has_capability('mod/facetoface:removeattendees', $context)) { foreach ($attendeestoremove as $attendee) { $result = array();
$params = array(); $params['suppressemail'] = true; $params['ignoreconflicts'] = true; $params['bulkaddsource'] = $bulkaddsource; // Do not need the approval, change the status $params['approvalreqd'] = 0; // If it is a list of user, do not need to notify manager $params['ccmanager'] = 0; foreach ($data->f2f_conflict as $conflict => $val) { $conflict = clean_param($conflict, PARAM_NOTAGS); if (!$conflict) { continue; } $result = facetoface_user_import($course, $facetoface, $session, $conflict, $params); if ($result['result'] !== true) { $errors[] = $result; } else { $result['result'] = get_string('addedsuccessfully', 'facetoface'); $added[] = $result; } } } $_SESSION['f2f-bulk-results'][$session->id] = array($added, $errors); $result_message = facetoface_generate_bulk_result_notice(array($added, $errors)); $numattendees = facetoface_get_num_attendees($session->id); $overbooked = ($numattendees > $session->capacity); if ($overbooked) {
// If multiple sessions are allowed then just check against this session // Otherwise check against all sessions $multisessionid = ($facetoface->multiplesessions ? $session->id : null); if (!facetoface_session_has_capacity($session, $context) && (!$session->allowoverbook)) { print_error('sessionisfull', 'facetoface', $returnurl); } else if (facetoface_get_user_submissions($facetoface->id, $USER->id, MDL_F2F_STATUS_REQUESTED, MDL_F2F_STATUS_FULLY_ATTENDED, $multisessionid)) { print_error('alreadysignedup', 'facetoface', $returnurl); } else if (facetoface_manager_needed($facetoface) && empty($manager->email)) { print_error('error:manageremailaddressmissing', 'facetoface', $returnurl); } $params = array(); $params['discountcode'] = $fromform->discountcode; $params['notificationtype'] = $fromform->notificationtype; $result = facetoface_user_import($course, $facetoface, $session, $USER->id, $params); if ($result['result'] === true) { add_to_log($course->id, 'facetoface', 'signup', "signup.php?s=$session->id", $session->id, $cm->id); if (!empty($facetoface->approvalreqd)) { $message = get_string('bookingcompleted_approvalrequired', 'facetoface'); $cssclass = 'notifymessage'; } else { $message = get_string('bookingcompleted', 'facetoface'); $cssclass = 'notifysuccess'; } if ($session->datetimeknown && isset($facetoface->confirmationinstrmngr) && !empty($facetoface->confirmationstrmngr)) { $message .= html_writer::empty_tag('br') . html_writer::empty_tag('br') .
// Check for data if (!$addusers) { $errors[] = get_string('error:nodatasupplied', 'facetoface'); } else { $params = array(); $params['bulkaddsource'] = $bulkaddsource; $params['suppressemail'] = $suppressemail; // Do not need the approval, change the status $params['approvalreqd'] = 0; // If it is a list of user, do not need to notify manager $params['ccmanager'] = 0; // Load users foreach ($addusers as $adduser) { $result = facetoface_user_import($course, $facetoface, $session, $adduser, $params); if ($result['result'] !== true) { $errors[] = $result; } else { $result['result'] = get_string('addedsuccessfully', 'facetoface'); $added[] = $result; } } } // Record results in session for results dialog to access if (empty($_SESSION['f2f-bulk-results'])) { $_SESSION['f2f-bulk-results'] = array(); } $_SESSION['f2f-bulk-results'][$session->id] = array($added, $errors, $bulkaddsource);