. /** * Temporary user management. * * @package mod_attendance * @copyright 2013 Davo Smith, Synergy Learning * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once(dirname(__FILE__).'/../../config.php'); global $CFG, $DB, $OUTPUT, $PAGE, $COURSE; require_once($CFG->dirroot.'/mod/attendance/locallib.php'); require_once($CFG->dirroot.'/mod/attendance/temp_form.php'); $id = required_param('id', PARAM_INT); $cm = get_coursemodule_from_id('attendance', $id, 0, false, MUST_EXIST); $course = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST); $att = $DB->get_record('attendance', array('id' => $cm->instance), '*', MUST_EXIST); $att = new mod_attendance_structure($att, $cm, $course); $PAGE->set_url($att->url_managetemp()); require_login($course, true, $cm); $context = context_module::instance($cm->id); require_capability('mod/attendance:managetemporaryusers', $context); $PAGE->set_title($course->shortname.": ".$att->name.' - '.get_string('tempusers', 'attendance')); $PAGE->set_heading($course->fullname); $PAGE->set_cacheable(true); $PAGE->navbar->add(get_string('tempusers', 'attendance')); $output = $PAGE->get_renderer('mod_attendance'); $tabs = new attendance_tabs($att, attendance_tabs::TAB_TEMPORARYUSERS); $formdata = (object)array( 'id' => $cm->id, ); $mform = new temp_form(); $mform->set_data($formdata); if ($data = $mform->get_data()) { // Create temp user in main user table. $user = new stdClass(); $user->auth = 'manual'; $user->confirmed = 1; $user->deleted = 1; $user->email = time().'@attendance.danmarsden.com'; $user->username = time().'@attendance.danmarsden.com'; $user->idnumber = 'tempghost'; $user->mnethostid = $CFG->mnet_localhost_id; $studentid = $DB->insert_record('user', $user); // Create the temporary user record. $newtempuser = new stdClass(); $newtempuser->fullname = $data->tname; $newtempuser->courseid = $COURSE->id; $newtempuser->email = $data->temail; $newtempuser->created = time(); $newtempuser->studentid = $studentid; $DB->insert_record('attendance_tempusers', $newtempuser); redirect($att->url_managetemp()); } // Output starts here. echo $output->header(); echo $output->heading(get_string('tempusers', 'attendance').' : '.format_string($course->fullname)); echo $output->render($tabs); $mform->display(); $tempusers = $DB->get_records('attendance_tempusers', array('courseid' => $course->id), 'fullname, email'); echo '
'; echo '

'.get_string('tempuserslist', 'attendance').'

'; if ($tempusers) { attendance_print_tempusers($tempusers, $att); } echo '
'; echo $output->footer($course); /** * Print list of users. * * @param stdClass $tempusers * @param mod_attendance_structure $att */ function attendance_print_tempusers($tempusers, mod_attendance_structure $att) { echo '

'; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; $even = false; // Used to colour rows. foreach ($tempusers as $tempuser) { if ($even) { echo ''; } else { echo ''; } $even = !$even; echo ''; echo ''; echo ''; $params = array('userid' => $tempuser->id); $editlink = html_writer::link($att->url_tempedit($params), get_string('edituser', 'attendance')); $deletelink = html_writer::link($att->url_tempdelete($params), get_string('deleteuser', 'attendance')); $mergelink = html_writer::link($att->url_tempmerge($params), get_string('mergeuser', 'attendance')); echo ''; echo ''; } echo '
'.get_string('tusername', 'attendance').''.get_string('tuseremail', 'attendance').''.get_string('tcreated', 'attendance').''.get_string('tactions', 'attendance').'
'.format_string($tempuser->fullname).''.format_string($tempuser->email).''.userdate($tempuser->created, get_string('strftimedatetime')).''.$editlink.' | '.$deletelink.' | '.$mergelink.'
'; }