Beispiel #1
0
/**
 * 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);
        }
    }