print_error('error:couldnotupdatenotice', 'webinar', $returnurl); } } else { $notice = new object(); if (!($notice->id = insert_record('webinar_notice', $todb))) { rollback_sql(); print_error('error:couldnotaddnotice', 'webinar', $returnurl); } } foreach ($customfields as $field) { $fieldname = "custom_{$field->shortname}"; if (empty($fromform->{$fieldname})) { $fromform->{$fieldname} = ''; // need to be able to clear fields } if (!webinar_save_customfield_value($field->id, $fromform->{$fieldname}, $notice->id, 'notice')) { rollback_sql(); print_error('error:couldnotsavecustomfield', 'webinar', $returnurl); } } commit_sql(); redirect($returnurl); } elseif ($notice != null) { // Edit mode // Set values for the form $toform = new object(); $toform->name = $notice->name; $toform->text = $notice->text; foreach ($customfields as $field) { $fieldname = "custom_{$field->shortname}"; $toform->{$fieldname} = webinar_get_customfield_value($field, $notice->id, 'notice');
$webinardetails = create_meeting($webinar, $fromform, $date, $presenter_details); $todb->scoid = $webinardetails->scoid; $todb->urlpath = $webinardetails->urlpath; if (!($sessionid = webinar_add_session($todb, $sessiondates))) { rollback_sql(); add_to_log($course->id, 'webinar', 'add session (FAILED)', 'sessions.php?f=' . $webinar->id, $webinar->id, $cm->id); print_error('error:couldnotaddsession', 'webinar', $returnurl); } } foreach ($customfields as $field) { $fieldname = "custom_{$field->shortname}"; if (!isset($fromform->{$fieldname})) { $fromform->{$fieldname} = ''; // need to be able to clear fields } if (!webinar_save_customfield_value($field->id, $fromform->{$fieldname}, $sessionid, 'session')) { rollback_sql(); print_error('error:couldnotsavecustomfield', 'webinar', $returnurl); } } // Retrieve record that was just inserted/updated if (!($session = webinar_get_session($sessionid))) { rollback_sql(); print_error('error:couldnotfindsession', 'webinar', $returnurl); } // Put the session in the site-wide calendar (needs customfields to be up to date) if (!webinar_add_session_to_site_calendar($session, $webinar)) { rollback_sql(); print_error('error:couldnotupdatecalendar', 'webinar', $returnurl); } if ($update) {