/** * Create a new entry in the facetoface_sessions table */ function facetoface_add_session($session, $sessiondates, $fromform) { global $USER, $DB, $CFG; //$face2face=$DB->get_record('facetoface',array('id'=>$session->facetoface)); //$actual_sessions=$face2face->actualsessions+1; //print_object($face2face);exit; $session->timecreated = time(); $session = cleanup_session_data($session); $wiziq=new stdClass(); if (empty($sessiondates)) { // Insert a dummy date record. $date = new stdClass(); $date->sessionid = $new_session; $date->timestart = 0; $date->timefinish = 0; $date->sessiontimezone = ''; //commented by niranjan for adding session in multiple dates // $DB->insert_record('facetoface_sessions_dates', $date); } else { foreach ($sessiondates as $date) { //Niranjan added this to add session in date loop $new_session= $DB->insert_record('facetoface_sessions', $session); $date->sessionid = $new_session; $wiziq->wiziq_datetime=$date->timestart; $wiziq->wiziq_timezone=$date->sessiontimezone; $wiziq->class_timezone=$date->sessiontimezone; $DB->insert_record('facetoface_sessions_dates', $date); if (!facetoface_save_session_room($new_session, $fromform)) { print_error('error:couldnotsaveroom', 'facetoface'); } /*If online session is enabled. */ if($session->onlinesession ==1){ require_once($CFG->dirroot.'/mod/wiziq/locallib.php'); require_once($CFG->dirroot . '/course/modlib.php'); $wiziq->name=$DB->get_field('facetoface','name',array('id'=>$session->facetoface)); $wiziq->modulename='wiziq'; $wiziq->course=1; $wiziq->duration=$session->duration; $wiziq->timezone=wiziq_timezone(); //$wiziq->wiziq_timezone='Asia/Kolkata'; // $wiziq->class_timezone = 'Asia/Kolkata'; $wiziq->timenow=time(); $wiziq->datetime=time(); $wiziq->recording=1; $wiziq->groupinid=0; $wiziq->module=$DB->get_field('modules','id',array('name'=>$wiziq->modulename));; $wiziq->section=1; $wiziq->batchid=$session->facetoface; $wiziq->sessionid=$new_session; $wiziq->visible=1; $courseid = $DB->get_record('course', array('id'=>$wiziq->course), '*', MUST_EXIST); add_moduleinfo($wiziq, $courseid, $mform = null); //$wiziq= wiziq_add_instance($wiziq, $mform = null); } /** * Add a record to the facetoface submissions table and sends out an * email confirmation * * @param class $session record from the facetoface_sessions table * @param class $facetoface record from the facetoface table * @param class $course record from the course table * @param string $discountcode code entered by the user * @param integer $notificationtype type of notifications to send to user * @see {{MDL_F2F_INVITE}} * @param integer $statuscode Status code to set * @param integer $userid user to signup * @param bool $notifyuser whether or not to send an email confirmation * * facetoface_user_signup($session, $facetoface, $course, $discountcode, $notificationtype, $statuscode, $userid = false, $notifyuser = true) { $users = facetoface_get_attendees($session->id); if ($users) { // No/deleted session dates if (empty($session->datetimeknown)) { // Convert any bookings to waitlists foreach ($users as $user) { if ($user->statuscode == MDL_F2F_STATUS_BOOKED) { if (!facetoface_user_signup($session, $facetoface, $course, $user->discountcode, $user->notificationtype, MDL_F2F_STATUS_WAITLISTED, $user->id)) { // rollback_sql(); return false; } } } $eventtype = $user->statuscode == MDL_F2F_STATUS_BOOKED ? 'booking' : 'session'; * @param bool $displayerrors whether or not to return an error page on errors*/ /*==========================Started by rajut for batch users are assigne as signup users (date:17-11-2015)==========*/ $assigned_users=$DB->get_records_sql("SELECT * FROM {local_batch_users} WHERE f2fid=$session->facetoface"); $assigned_course=$DB->get_records_sql("SELECT * FROM {local_batch_courses} WHERE batchid=$session->facetoface"); $newsession=$DB->get_record('facetoface_sessions',array('id'=>$new_session)); $face2face=$DB->get_record('facetoface',array('id'=>$session->facetoface)); //print_object($assigned_users); foreach($assigned_users as $assigned_user){ $course=$DB->get_record('course',array('id'=>$assigned_course->courseid)); $statuscode = MDL_F2F_STATUS_BOOKED; $notifytype = ((int)$notificationtype == MDL_F2F_NONE ? false : true); facetoface_user_signup($newsession,$face2face,$course,$discountcode, $notifytype,$statuscode,$assigned_user->userid, $notifyuser = false); } //* Strated by rajut no.of sessions avialble for batch update in fcae2fcae table when each session created o batch*// $total_sessions=$DB->get_field_sql("SELECT count(id) FROM {facetoface_sessions} where facetoface=$session->facetoface"); if($total_sessions){ $DB->execute('update {facetoface} SET totalsessions='.$total_sessions.' WHERE id='.$session->facetoface.''); } //print_object($face2face);exit; if($face2face){ $actual_sessions=$face2face->actualsessions+1; $DB->execute('update {facetoface} SET actualsessions='.$actual_sessions.' WHERE id='.$session->facetoface.''); } //* Ended by rajut no.of sessions avialble for batch update in fcae2fcae table when each session created o batch*// /*==========================ended by rajut for batch users are assigne as signup users (date:17-11-2015)==========*/ } /* End of the dates loop */ } /* End of the else loop */ return $new_session; }
$update = true; $todb->id = $session->id; $sessionid = $session->id; if (!facetoface_update_session($todb, $sessiondates)) { add_to_log($course->id, 'facetoface', 'update session (FAILED)', "sessions.php?s=$session->id", $facetoface->id, $cm->id); print_error('error:couldnotupdatesession', 'facetoface', $returnurl); } } else { if (!$sessionid = facetoface_add_session($todb, $sessiondates)) { add_to_log($course->id, 'facetoface', 'add session (FAILED)', 'sessions.php?f='.$facetoface->id, $facetoface->id, $cm->id); print_error('error:couldnotaddsession', 'facetoface', $returnurl); } } // Save session room info. if (!facetoface_save_session_room($sessionid, $fromform)) { add_to_log($course->id, 'facetoface', 'save room (FAILED)', 'room/manage.php', $facetoface->id, $cm->id); print_error('error:couldnotsaveroom', 'facetoface'); } foreach ($customfields as $field) { // Need to be able to clear fields. $fieldname = "custom_$field->shortname"; if (!isset($fromform->$fieldname)) { $fromform->$fieldname = ''; } if (!facetoface_save_customfield_value($field->id, $fromform->$fieldname, $sessionid, 'session')) { print_error('error:couldnotsavecustomfield', 'facetoface', $returnurl); } }