/
var
/
www
/
html
/
mogi
/
mod
/
videoaula
/
Upload File
HOME
<?php require_once("../../config.php"); require_once("reportlib.php"); $id = required_param('id', PARAM_INT); //moduleid $format = optional_param('format', VIDEOAULA_PUBLISH_NAMES, PARAM_INT); $download = optional_param('download', '', PARAM_ALPHA); $action = optional_param('action', '', PARAM_ALPHA); $attemptids = optional_param_array('attemptid', array(), PARAM_INT); //get array of responses to delete. $url = new moodle_url('/mod/videoaula/report.php', array('id'=>$id)); if ($format !== VIDEOAULA_PUBLISH_NAMES) { $url->param('format', $format); } if ($download !== '') { $url->param('download', $download); } if ($action !== '') { $url->param('action', $action); } $PAGE->set_url($url); if (! $cm = get_coursemodule_from_id('videoaula', $id)) { print_error("invalidcoursemodule"); } if (! $course = $DB->get_record("course", array("id" => $cm->course))) { print_error("coursemisconf"); } //require_login($course); $context = context_module::instance($cm->id); require_capability('mod/videoaula:addinstance', $context); if (!$videoaula = videoaula_get_videoaula($cm->instance)) { print_error('invalidcoursemodule'); } $strchoice = get_string("modulename", "videoaula"); $strchoices = get_string("modulenameplural", "videoaula"); $strresponses = get_string("listtitle", "videoaula"); /*$eventdata = array(); $eventdata['objectid'] = $videoaula->id; $eventdata['context'] = $context; $eventdata['courseid'] = $course->id; $eventdata['other']['content'] = 'videoaulareportcontentviewed'; $event = \mod_videoaula\event\report_viewed::create($eventdata); $event->trigger();*/ if (!$download) { $PAGE->navbar->add($strresponses); $PAGE->set_title(format_string($videoaula->name).": $strresponses"); $PAGE->set_heading($course->fullname); echo $OUTPUT->header(); echo $OUTPUT->heading($videoaula->name, 2, null); /// Check to see if groups are being used in this choice $groupmode = groups_get_activity_groupmode($cm); if ($groupmode) { groups_get_activity_group($cm, true); groups_print_activity_menu($cm, $CFG->wwwroot . '/mod/videoaula/report.php?id='.$id); } } else { $groupmode = groups_get_activity_groupmode($cm); } //========================================= USERS =========================================== $list = videoaula_get_response_data($videoaula, $cm, $groupmode); if ($download == "ods" && has_capability('mod/videoaula:addinstance', $context)) { require_once("$CFG->libdir/odslib.class.php"); $filename = clean_filename("$course->shortname ".strip_tags(format_string($videoaula->name,true))).'.ods'; /// Creating a workbook $workbook = new MoodleODSWorkbook("-"); /// Send HTTP headers $workbook->send($filename); /// Creating the first worksheet $myxls = $workbook->add_worksheet($strresponses); /// Print names of all the fields $myxls->write_string(0,0,get_string("firstname")); $myxls->write_string(0,1,get_string("idnumber")); $myxls->write_string(0,2,get_string("group")); $myxls->write_string(0,3,'%'); /// generate the data for the body of the spreadsheet $row=1; if ($list) { foreach($list[1] as $user) { $fullName = $user['firstname'].' '.$user['lastname']; $myxls->write_string($row,0,$fullName); $studentid=(!empty($user['idnumber']) ? $user['idnumber'] : " "); $myxls->write_string($row,1,$studentid); $ug2 = ''; if ($usergrps = groups_get_all_groups($course->id, $user->id)) { foreach ($usergrps as $ug) { $ug2 = $ug2. $ug->name; } } $myxls->write_string($row,2,$ug2); $checkpoint = ($user['checkpoints'] != 0)? ($user['checkpoints']/$list[0])*100 : 0; $myxls->write_string($row,3,format_string($checkpoint,true)); $row++; } } /// Close the workbook $workbook->close(); exit; } //print spreadsheet if one is asked for: if ($download == "xls" && has_capability('mod/videoaula:addinstance', $context)) { require_once("$CFG->libdir/excellib.class.php"); /// Calculate file name $filename = clean_filename("$course->shortname ".strip_tags(format_string($videoaula->name,true))).'.xls'; /// Creating a workbook $workbook = new MoodleExcelWorkbook("-"); /// Send HTTP headers $workbook->send($filename); /// Creating the first worksheet $myxls = $workbook->add_worksheet($strresponses); /// Print names of all the fields $myxls->write_string(0,0,get_string("firstname")); $myxls->write_string(0,1,get_string("idnumber")); $myxls->write_string(0,2,get_string("group")); $myxls->write_string(0,3,'%'); /// generate the data for the body of the spreadsheet $row=1; if ($list) { foreach($list[1] as $user) { $fullName = $user['firstname'].' '.$user['lastname']; $myxls->write_string($row,0,$fullName); $studentid=(!empty($user['idnumber']) ? $user['idnumber'] : " "); $myxls->write_string($row,1,$studentid); $ug2 = ''; if ($usergrps = groups_get_all_groups($course->id, $user->id)) { foreach ($usergrps as $ug) { $ug2 = $ug2. $ug->name; } } $myxls->write_string($row,2,$ug2); $checkpoint = ($user['checkpoints'] != 0)? ($user['checkpoints']/$list[0])*100 : 0; $myxls->write_string($row,3,format_string($checkpoint,true)); $row++; } } /// Close the workbook $workbook->close(); exit; } // print text file if ($download == "txt" && has_capability('mod/videoaula:addinstance', $context)) { $filename = clean_filename("$course->shortname ".strip_tags(format_string($videoaula->name,true))).'.txt'; header("Content-Type: application/download\n"); header("Content-Disposition: attachment; filename=\"$filename\""); header("Expires: 0"); header("Cache-Control: must-revalidate,post-check=0,pre-check=0"); header("Pragma: public"); /// Print names of all the fields echo get_string("firstname")."\t". get_string("idnumber") . "\t"; echo get_string("group"). "\t"; echo get_string("pluginname","videoaula"); echo "\r\n"; /// generate the data for the body of the spreadsheet $i=0; if ($list) { //========================================= OPTIO TEXT =========================================== foreach($list[1] as $user) { echo $user['firstname'].' '.$user['lastname']; $studentid = " "; if (!empty($user['idnumber'])) { $studentid = $user['idnumber']; } echo "\t". $studentid."\t"; $ug2 = ''; if ($usergrps = groups_get_all_groups($course->id, $user->id)) { foreach ($usergrps as $ug) { $ug2 = $ug2. $ug->name; } } echo $ug2. "\t"; $checkpoint = ($user['checkpoints'] != 0)? ($user['checkpoints']/$list[0])*100 : 0; echo $checkpoint; echo "\r\n"; } } exit; } //========================================= RESULTS =========================================== if(sizeof($list) > 0){ echo videoaula_render_list($list); }else{ echo '<h5 class="va-report-nolist">'.get_string('reportnolist','videoaula').'</h5>'; } //now give links for downloading spreadsheets. if (!empty($list) && has_capability('mod/videoaula:addinstance',$context)) { $downloadoptions = array(); $options = array(); $options["id"] = "$cm->id"; $options["download"] = "ods"; $button = $OUTPUT->single_button(new moodle_url("report.php", $options), get_string("downloadods")); $downloadoptions[] = html_writer::tag('li', $button, array('class'=>'reportoption')); $options["download"] = "xls"; $button = $OUTPUT->single_button(new moodle_url("report.php", $options), get_string("downloadexcel")); $downloadoptions[] = html_writer::tag('li', $button, array('class'=>'reportoption')); $options["download"] = "txt"; $button = $OUTPUT->single_button(new moodle_url("report.php", $options), get_string("downloadtext")); $downloadoptions[] = html_writer::tag('li', $button, array('class'=>'reportoption')); $downloadlist = html_writer::tag('ul', implode('', $downloadoptions)); $downloadlist .= html_writer::tag('div', '', array('class'=>'clearfloat')); echo html_writer::tag('div',$downloadlist, array('class'=>'downloadreport')); } echo '<link rel="stylesheet" type="text/css" href="'.$CFG->wwwroot.'/mod/videoaula/styles.css">'; echo $OUTPUT->footer();