$data->tabhead[] = get_string('studentid', 'attcontrol'); } if (isset($formdata->ident['uname'])) { $data->tabhead[] = get_string('username'); } $data->tabhead[] = get_string('lastname'); $data->tabhead[] = get_string('firstname'); if (count($reportdata->sessions) > 0) { foreach ($reportdata->sessions as $sess) { $text = userdate($sess->sessdate, get_string('strftimedmyhm', 'attcontrol')); $text .= ' '; $text .= $sess->groupid ? $reportdata->groups[$sess->groupid]->name : get_string('commonsession', 'attcontrol'); $data->tabhead[] = $text; } } else { print_error('sessionsnotfound', 'attcontrol', $att->url_manage()); } //Removed the grade information $emptystatuses = array(); foreach ($reportdata->statuses as $status) { $data->tabhead[] = $status->acronym; $emptystatuses[$status->id] = 0; } $i = 0; $data->table = array(); foreach ($reportdata->users as $user) { if (isset($formdata->ident['id'])) { $data->table[$i][] = $user->id; } if (isset($formdata->ident['uname'])) { $data->table[$i][] = $user->username;
if ($size == 1) { $sess = reset($sessions); $nottaken = !$sess->lasttaken && has_capability('mod/attcontrol:takeattcontrols', $PAGE->context); $canchange = $sess->lasttaken && has_capability('mod/attcontrol:changeattcontrols', $PAGE->context); if ($nottaken || $canchange) { redirect($att->url_take(array('sessionid' => $sess->id, 'grouptype' => $sess->groupid))); } } else { if ($size > 1) { $att->curdate = $today; // Temporarily set $view for single access to page from block. $att->view = ATT_VIEW_DAYS; } } } $PAGE->set_url($att->url_manage()); $PAGE->set_title($course->shortname . ": " . $att->name); $PAGE->set_heading($course->fullname); $PAGE->set_cacheable(true); $PAGE->set_button($OUTPUT->update_module_button($cm->id, 'attcontrol')); $PAGE->navbar->add($att->name); switch ($pageparams->action) { case att_manage_page_params::ACTION_CHANGE_PERPAGE: $att->set_attcontrol_perpage(optional_param('perpage', 10, PARAM_INT)); break; } $output = $PAGE->get_renderer('mod_attcontrol'); $tabs = new attcontrol_tabs($att, attcontrol_tabs::TAB_SESSIONS); $filtercontrols = new attcontrol_filter_controls($att); $sesstable = new attcontrol_manage_data($att); // Output starts here.
case att_sessions_page_params::ACTION_ADD: $url = $att->url_sessions(array('action' => att_sessions_page_params::ACTION_ADD)); $mform = new mod_attcontrol_add_form($url, $formparams); if ($formdata = $mform->get_data()) { $sessions = construct_sessions_data_for_add($formdata); $att->add_sessions($sessions); redirect($url, get_string('sessionsgenerated', 'attcontrol')); } break; case att_sessions_page_params::ACTION_UPDATE: $sessionid = required_param('sessionid', PARAM_INT); $url = $att->url_sessions(array('action' => att_sessions_page_params::ACTION_UPDATE, 'sessionid' => $sessionid)); $formparams['sessionid'] = $sessionid; $mform = new mod_attcontrol_update_form($url, $formparams); if ($mform->is_cancelled()) { redirect($att->url_manage()); } if ($formdata = $mform->get_data()) { $att->update_session_from_form_data($formdata, $sessionid); redirect($att->url_manage(), get_string('sessionupdated', 'attcontrol')); } break; case att_sessions_page_params::ACTION_DELETE: $sessionid = required_param('sessionid', PARAM_INT); $confirm = optional_param('confirm', null, PARAM_INT); if (isset($confirm) && confirm_sesskey()) { $att->delete_sessions(array($sessionid)); redirect($att->url_manage(), get_string('sessiondeleted', 'attcontrol')); } $sessinfo = $att->get_session_info($sessionid); $message = get_string('deletecheckfull', '', get_string('session', 'attcontrol'));
* * @package mod_attcontrol * @copyright 2013 José Luis Antúnez<*****@*****.**> * @copyright 2011 Artem Andreev <*****@*****.**> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once dirname(__FILE__) . '/../../config.php'; require_once dirname(__FILE__) . '/locallib.php'; $pageparams = new att_view_page_params(); $id = required_param('id', PARAM_INT); $pageparams->studentid = optional_param('studentid', null, PARAM_INT); $pageparams->view = optional_param('view', null, PARAM_INT); $pageparams->curdate = optional_param('curdate', null, PARAM_INT); $cm = get_coursemodule_from_id('attcontrol', $id, 0, false, MUST_EXIST); $course = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST); $attcontrol = $DB->get_record('attcontrol', array('id' => $cm->instance), '*', MUST_EXIST); require_login($course, true, $cm); $pageparams->init($cm); $att = new attcontrol($attcontrol, $cm, $course, $PAGE->context, $pageparams); // Redirect to appropriate page if can. if (!$pageparams->studentid) { if ($att->perm->can_manage() || $att->perm->can_take() || $att->perm->can_change()) { redirect($att->url_manage()); } else { if ($att->perm->can_view_reports()) { redirect($att->url_report()); } } } $att->perm->require_view_capability(); redirect($att->url_individualreport());