libdir.'/blocklib.php'); require_once('lib.php'); require_once('tuis_tools.php'); $courseid = required_param('course', PARAM_INT); // Course id $mode = optional_param('mode', '', PARAM_ALPHA); // one or multiply or empty if (! $course = get_record('course', 'id', $courseid)) { error(get_string('courseidwrong','block_autoattend')); } require_login($course->id); if (!isteacher($course->id)) { error(get_string('notaccessstudent','block_autoattend')); } if (! $user = get_record("user", "id", $USER->id) ) { error(get_string('nosuchuser','block_autoattend')); } if ($course->category) { print_header("$course->shortname: ".get_string('autoattend','block_autoattend') .' ' . get_string('add_multi','block_autoattend'), $course->fullname, "id\">$course->shortname -> ". get_string('autoattend','block_autoattend'), "", "", true, " ", navmenu($course)); } else { print_header("$course->shortname: ".get_string('autoattend','block_autoattend'), $course->fullname, get_string('autoattend','block_autoattend'), "", "", true, " ", navmenu($course)); } $currenttab = 'add_multi'; include('tabs.php'); // add record if ($mode==='multiply') { $startday = required_param('startday', PARAM_INT); $startmonth = required_param('startmonth', PARAM_INT); $startyear = required_param('startyear', PARAM_INT); $endday = required_param('endday', PARAM_INT); $endmonth = required_param('endmonth', PARAM_INT); $endyear = required_param('endyear', PARAM_INT); $period = required_param('period', PARAM_INT); $sdays = optional_param('sdays', '', PARAM_ALPHA); $method = required_param('method', PARAM_ALPHA); $shour = required_param('shour', PARAM_INT); $smin = required_param('smin', PARAM_INT); $ehour = required_param('ehour', PARAM_INT); $emin = required_param('emin', PARAM_INT); $lmin = required_param('lmin', PARAM_INT); $attendkey = required_param('attendkey'); $allowip = required_param('allowip'); $randomkey = optional_param('randomkey',''); $denysameip = optional_param('denysameip',''); if (empty($denysameip)) $denysameip = '0'; $starttime = $shour*ONE_HOUR + $smin*ONE_MIN + $TIME_OFFSET; $endtime = $ehour*ONE_HOUR + $emin*ONE_MIN + $TIME_OFFSET; $latetime = ($lmin - 1)*MIN_INTVL*ONE_MIN; $startdate = mktime(0, 0, 0, $startmonth, $startday, $startyear); $enddate = mktime(0, 0, 0, $endmonth, $endday, $endyear); if (empty($sdays)) { //redirect('add_multi.php?course='.$course->id, get_string('sdaysmiss','block_autoattend'), 3); global $OMITTED_DAYS; $sdays = array(); $dinfo = getdate($startdate); $sdays['0'] = $OMITTED_DAYS["{$dinfo['wday']}"]; } //get no of days and times $days = (int) (floor(($enddate - $startdate) / ONE_DAY)) + 1; // +1 is to include enddate $times = $endtime - $starttime; if($days <= 0) { error(get_string('wrongdatesselected','block_autoattend'), "$CFG->wwwroot/blocks/autoattend/add_multi.php?course=$courseid"); } else if($times <= 0) { error(get_string('wrongtimesselected','block_autoattend'), "$CFG->wwwroot/blocks/autoattend/add_multi.php?course=$courseid"); } else { // Getting first day of week $sdate = $startdate; $dinfo = getdate($sdate); if ($CFG->calendar_startwday === 0) { //week start from sunday $startweek = mktime(0, 0, 0, $startmonth, $startday-$dinfo['wday'], $startyear); } else { $wday = $dinfo['wday']===0 ? 7 : $dinfo['wday']; $startweek = mktime(0, 0, 0, $startmonth, $startday-$wday+1, $startyear); } // Adding sessions while ($sdate <= $enddate) { if($sdate < $startweek + ONE_WEEK) { if(in_array(date('D',$sdate),$sdays)) { $count = count_records('autoattend_sessions', 'courseid', $course->id, 'sessdate', $sdate, 'starttime', $starttime); if ($count > 0) { //check whether this date is in our session days notify(strftime(get_string('strftimedmy', 'block_autoattend'), $sdate).': '. get_string('sessionexist','block_autoattend')); $sdate += ONE_DAY; continue; } $rec->courseid = $course->id; $rec->creator = $user->id; $rec->sessdate = $sdate; $rec->method = $method; $rec->starttime = $starttime; $rec->endtime = $endtime; $rec->latetime = $latetime; $rec->allowip = $allowip; $rec->description = ''; $rec->denysameip = $denysameip; if ($method=='S') { if (!$attendkey and $randomkey) { $rec->attendkey = tuis_randstr(5, true); } else { $rec->attendkey = $attendkey; } } else { $rec->attendkey = ""; } if (insert_record('autoattend_sessions', $rec)) { $loginfo = "=$sdate,$starttime,$method"; add_to_log($course->id,'autoattend','add multiply sessions','index.php?id='.$course->id,$loginfo); } else { error(get_string('erroringeneratingsessions','block_autoattend'), "$CFG->wwwroot/blocks/autoattend/add_multi.php?course=.$courseid"); } unset($rec); } $sdate += ONE_DAY; } else { $startweek += ONE_WEEK * $period; $sdate = $startweek; } } notice(get_string('sessionsgenerated','block_autoattend')); } } // 追加タブの表示 if(isteacher($course->id)) { ?>

:      
:
:
:
: 1,2,3,4,5,6,7,8), 'period', 1, false); echo ' '.get_string('week','block_autoattend');?>
:
:
: 0, 5,10,15,20,25,30,35,40,45,50,55,60, 65,70,75,80,85,90,95,100,105,110,115,120), 'lmin', 1, false); echo ' '.get_string('minute','block_autoattend');?>
:   
:
: