/** * Modify an entry in the facetoface_sessions table */ function facetoface_update_session($session, $sessiondates) { global $DB; $session->timemodified = time(); $session = cleanup_session_data($session); $transaction = $DB->start_delegated_transaction(); $DB->update_record('facetoface_sessions', $session); $DB->delete_records('facetoface_sessions_dates', array('sessionid' => $session->id)); if (empty($sessiondates)) { // Insert a dummy date record. $date = new stdClass(); $date->sessionid = $session->id; $date->timestart = 0; $date->timefinish = 0; $DB->insert_record('facetoface_sessions_dates', $date); } else { foreach ($sessiondates as $date) { $date->sessionid = $session->id; $DB->insert_record('facetoface_sessions_dates', $date); } } // Update any calendar entries. $session->sessiondates = $sessiondates; facetoface_update_calendar_entries($session); $transaction->allow_commit(); return facetoface_update_attendees($session); }
/** * Modify an entry in the facetoface_sessions table */ function facetoface_update_session($session, $sessiondates) { global $DB; $session->timemodified = time(); $session = cleanup_session_data($session); $DB->update_record('facetoface_sessions', $session); $DB->delete_records('facetoface_sessions_dates', array('sessionid' => $session->id)); if (empty($sessiondates)) { // Insert a dummy date record. $date = new stdClass(); $date->sessionid = $session->id; $date->timestart = 0; $date->timefinish = 0; $date->sessiontimezone = ''; $DB->insert_record('facetoface_sessions_dates', $date); } else { foreach ($sessiondates as $date) { $date->sessionid = $session->id; $date->id = $DB->insert_record('facetoface_sessions_dates', $date); } } return $session->id; }
function test_cleanup_session_data() { //define session object for test //valid values $sessionValid = new stdClass(); $sessionValid->duration = '1.5'; $sessionValid->capacity = '250'; $sessionValid->normalcost = '70'; $sessionValid->discountcost = '50'; //invalid values $sessionInvalid = new stdClass(); $sessionInvalid->duration = '0'; $sessionInvalid->capacity = '100999'; $sessionInvalid->normalcost = '-7'; $sessionInvalid->discountcost = 'b'; // Test - for valid values. $this->assertEquals(cleanup_session_data($sessionValid), $sessionValid); // Test - for invalid values. $this->assertEquals(cleanup_session_data($sessionInvalid), $sessionInvalid); $this->resetAfterTest(true); }